home *** CD-ROM | disk | FTP | other *** search
- ORG 1536¢STMTAB EQU 136¢STMCUR EQU 138¢MEMTOP EQU 144¢HIADR EQU 203¢LOADR EQU 205¢;¢;GET FIRST LINE NUMBER¢;¢ CLD¢ PLA¢ PLA¢ STA LINNBR+1¢ PLA¢ STA LINNBR¢;¢;LOCATE ADDRESS OF¢;FIRST LINE NUMBER¢;¢ LDA STMTAB¢ STA HIADR¢ LDA STMTAB+1¢ STA HIADR+1¢ JSR SRCHLN¢;¢;SAVE ADDRESS OF FIRST¢;LINE NUMBER¢;¢ LDA HIADR¢ STA LOADR¢ LDA HIADR+1¢ STA LOADR+1¢;¢;GET LAST LINE NUMER¢;PLUS 1¢;AND IT'S ADDRESS¢;¢ PLA¢ STA LINNBR+1¢ PLA¢ CLC¢ ADC #1¢ STA LINNBR¢ BCC GETTO¢ INC LINNBR+1¢GETTO JSR SRCHLN¢;¢;LENGTH TO MOVE =¢;MEMTOP -¢;ADDRESS OF LAST LINE¢;¢ SEC¢ LDA MEMTOP¢ SBC HIADR¢ STA MOVLEN¢ LDA MEMTOP+1¢ SBC HIADR+1¢ STA MOVLEN+1¢;¢;LENGTH OF POINTER¢;ADJUSTMENT =¢;HIADR - LOADR¢;¢ SEC¢ LDA HIADR¢ SBC LOADR¢ STA MEMADJ¢ LDA HIADR+1¢ SBC LOADR+1¢ STA MEMADJ+1¢;¢;REMOVE DELETED SPACE¢;¢ LDY #0¢ LDX MOVLEN+1¢ BEQ NOPG¢NXT256 LDA (HIADR),Y¢ STA (LOADR),Y¢ INY¢ BNE NXT256¢ INC HIADR+1¢ INC LOADR+1¢ DEX¢ BNE NXT256¢NOPG CPY MOVLEN¢ BEQ ADJPNT¢ LDA (HIADR),Y¢ STA (LOADR),Y¢ INY¢ BNE NOPG¢;¢;ADJUST BASIC POINTERS¢;¢ADJPNT LDX #0¢ LDY #4¢ADJLOP SEC¢ LDA STMCUR,X¢ SBC MEMADJ¢ STA STMCUR,X¢ LDA STMCUR+1,X¢ SBC MEMADJ+1¢ STA STMCUR+1,X¢ INX¢ INX¢ DEY¢ BNE ADJLOP¢;¢;RETURN TO USER¢;¢ RTS¢;¢;SEARCH BASIC'S¢;STATEMENT TABLE FOR A¢;LINE NUMBER => LINNBR¢;¢SRCHLN LDY #2¢ LDA (HIADR),Y¢ STA LINLEN¢ DEY¢ LDA (HIADR),Y¢ DEY¢ CMP #128¢ BEQ LINRET¢ CMP LINNBR+1¢ BEQ LOOKLO¢ BCS LINRET¢ BCC BMPLIN¢LOOKLO LDA (HIADR),Y¢ CMP LINNBR¢ BCS LINRET¢BMPLIN CLC¢ LDA LINLEN¢ ADC HIADR¢ STA HIADR¢ BCC SRCHLN¢ INC HIADR+1¢ BNE SRCHLN¢LINRET RTS¢;¢MOVLEN DB 0¢ DB 0¢LINNBR DB 0¢ DB 0¢MEMADJ DB 0¢ DB 0¢LINLEN DB 0¢;;; .END¢
-