Apple II User Manual

Page of 257
3318   F889 4C 7C F8           JMP CHN1
3319   F88C AD 29 A4    CHN2   LDA STIY+2      ;GET CHAR COUNT
3320   F88F 85 E9              STA OLDLEN      ;GET READY FOR REPLAC
3321   F891 AD 15 A4           LDA CURPO2      ;PNTR TO BEGINNING OF STRING
3322   F894 48                 PHA             ;SAVE IT
3323   F895 20 2A F9           JSR ADDA        ;ADD TO NOWLN (LINE PNTR)
3324   F898 20 44 EB           JSR CLR         ;CLEAR DISP
3325   F89B A0 05              LDY #M3-M1      ;PRINT "TO"
3326   F89D 20 AF E7           JSR KEP
3327   F8A0 A0 00              LDY #0
3328   F8A2 20 7A F7           JSR IN02        ;GET NEW STRING & REPLAC
3329   F8A5 68                 PLA
3330   F8A6 AA                 TAX
3331   F8A7 F0 06              BEQ CHN4
3332   F8A9 20 1D F9    CHN3   JSR SUB         ;RESTORE NOWLN WHERE IT WAS
3333   F8AC CA                 DEX
3334   F8AD D0 FA              BNE CHN3
3335   F8AF 4C 27 F7    CHN4   JMP PLNE        ;DISPLAY THE CHANGED LINE
3336   F8B2
3337   F8B2             ;THE FOLLOWING ARE SUBROUTINES USED BY COMMANDS
3338   F8B2 A9 01       CFLG   LDA #1          ;SET FLG FOR C COMMAND
3339   F8B4 D0 02              BNE KI2
3340   F8B6 A9 00       KIFLG  LDA #0          ;CLR K OR I COMMAND FLG
3341   F8B8 8D 19 A4    KI2    STA COUNT
3342   F8BB 60                 RTS
3343   F8BC
3344   F8BC A5 E3       TOPNO  LDA TEXT        ;SET CURRENT LINE TO TOP
3345   F8BE A6 E4              LDX TEXT+1
3346   F8C0 85 DF       TPO1   STA NOWLN
3347   F8C2 86 E0              STX NOWLN+1
3348   F8C4 60                 RTS
3349   F8C5
3350   F8C5 A5 E1       SETBOT LDA BOTLN       ;SET CURRENT LINE TO BOTTOM
3351   F8C7 A6 E2              LDX BOTLN+1
3352   F8C9 85 E7              STA SAVE
3353   F8CB 86 E8              STX SAVE+1
3354   F8CD 4C C0 F8           JMP TPO1
3355   F8D0
3356   F8D0 AD 1C A4    RESNOW LDA ADDR        ;RESTORE CURRENT LINE ADDRESS
3357   F8D3 85 DF              STA NOWLN
3358   F8D5 AD 1D A4           LDA ADDR+1
3359   F8D8 85 E0              STA NOWLN+1
3360   F8DA 60                 RTS
3361   F8DB
3362   F8DB             ; SEE IF CURRENT LINE AT TOP (C SET IF SO)
3363   F8DB A5 DF       ATTOP  LDA NOWLN
3364   F8DD C5 E3              CMP TEXT
3365   F8DF D0 16              BNE AT01
3366   F8E1 A5 E0              LDA NOWLN+1
3367   F8E3 C5 E4              CMP TEXT+1
3368   F8E5 D0 10              BNE AT01
3369   F8E7 38                 SEC
3370   F8E8 60                 RTS
3371   F8E9
3372   F8E9             ; SEE IF CURRENT LINE AT BOTTOM (C SET IF SO)
3373   F8E9 A5 DF       ATBOT  LDA NOWLN
3374   F8EB A6 E0              LDX NOWLN+1
3375   F8ED C5 E1              CMP BOTLN
3376   F8EF D0 06              BNE AT01
3377   F8F1 E4 E2              CPX BOTLN+1
3378   F8F3 D0 02              BNE AT01
3379   F8F5 38          AT02   SEC