Apple II User Manual

Page of 257
3256   F80C             ;***** F COMMAND-FIND STRING *****
3257   F80C             ;FIND STRING AND PRINT LINE TO TERMINAL
3258   F80C 20 1E F8    FCHAR  JSR FCH
3259   F80F AD 15 A4    FCHA1  LDA CURPO2      ;SAVE BUFFER PNTR
3260   F812 48                 PHA
3261   F813 20 44 EB           JSR CLR         ;CLEAR DISP PNTR
3262   F816 20 27 F7           JSR PLNE
3263   F819 68                 PLA
3264   F81A 8D 15 A4           STA CURPO2
3265   F81D 60                 RTS
3266   F81E             ;FIND A CHARACTER STRING
3267   F81E A0 00       FCH    LDY #0
3268   F820 20 BD E7           JSR PROMPT
3269   F823 20 5F E9    FC1    JSR RDRUP       ;GET THE CHARACTER
3270   F826 C9 0D              CMP #CR         ;REUSE OLD ARGUMENT??
3271   F828 D0 0A              BNE FC3
3272   F82A C0 00              CPY #0          ;FIRST CHAR?
3273   F82C D0 06              BNE FC3
3274   F82E 20 09 F7    FC2    JSR UPNO        ;NEXT LINE DOWN
3275   F831 4C 49 F8           JMP FC5
3276   F834 C9 0D       FC3    CMP #CR         ;DONE
3277   F836 F0 0B              BEQ FC4
3278   F838 99 EB 00           STA STRING,Y
3279   F83B C8                 INY
3280   F83C C0 14              CPY #20         ;MAX LENGTH
3281   F83E D0 E3              BNE FC1
3282   F840 4C 72 FA           JMP ERROR
3283   F843 20 24 EA    FC4    JSR CRCK        ;CLEAR DISPLAY
3284   F846 8C 29 A4           STY STIY+2      ;COUNT OF CHARACTERS
3285   F849 A0 00       FC5    LDY #0
3286   F84B 8C 15 A4           STY CURPO2      ;START AT BEGINNING OF LINENTR IS
3287   F84E AC 15 A4    FC6    LDY CURPO2      ;CLOBBER
3288   F851 A2 00              LDX #0
3289   F853 B1 DF       FC7    LDA (NOWLN),Y   ;GET THE CHARACTER
3290   F855 D0 03              BNE FC8         ;NOT AT END
3291   F857 4C 5C FA           JMP ENDERR
3292   F85A C9 0D       FC8    CMP #CR         ;END OF LINE
3293   F85C F0 D0              BEQ FC2
3294   F85E D5 EB              CMP STRING,X
3295   F860 F0 06              BEQ FC9
3296   F862 EE 15 A4           INC CURPO2
3297   F865 4C 4E F8           JMP FC6
3298   F868 C8          FC9    INY
3299   F869 E8                 INX
3300   F86A EC 29 A4           CPX STIY+2      ;DONE?
3301   F86D D0 E4              BNE FC7
3302   F86F 60                 RTS
3303   F870
3304   F870             ;***** Q COMMAND-EXIT EDITOR *****
3305   F870             ; EXIT THE TEXT EDITOR NEATLY
3306   F870 20 13 EA    STOP   JSR CRLOW
3307   F873 4C A1 E1           JMP COMIN
3308   F876
3309   F876             ;***** C COMMAND-CHANGE STRING *****
3310   F876             ;CHANGE STRING TO ANOTHER STRING IN A LINE
3311   F876 20 B2 F8    CHNG   JSR CFLG        ;SET C COMMAND FLG
3312   F879 20 0C F8           JSR FCHAR       ;FIND CORRECT LINE
3313   F87C 20 3C E9    CHN1   JSR READ        ;IS <CR> IF OK
3314   F87F C9 0D              CMP #CR
3315   F881 F0 09              BEQ CHN2
3316   F883 20 2E F8           JSR FC2         ;TRY NEXT ONE
3317   F886 20 0F F8           JSR FCHA1       ; SHOW LINE