Prev: AAD7 Up: Map Next: AB1E
AAE8: skip to the next TAB position
Used by the routine at AAA0.
AAE8 38 SEC set Cb for read cursor position
AAE9 20 F0 FF JSR $FFF0 read/set X,Y cursor position
AAEC 98 TYA copy cursor Y
AAED 38 SEC set carry for subtract
AAEE E9 0A SBC #$0A subtract one TAB length
AAF0 B0 FC BCS $AAEE loop if result was +ve
AAF2 49 FF EOR #$FF complement it
AAF4 69 01 ADC #$01 +1, twos complement
AAF6 D0 16 BNE $AB0E always print A spaces, result is never $00
This entry point is used by the routine at AAA0.
AAF8 08 PHP save TAB( or SPC( status
AAF9 38 SEC set Cb for read cursor position
AAFA 20 F0 FF JSR $FFF0 read/set X,Y cursor position
AAFD 84 09 STY $09 save current cursor position
AAFF 20 9B B7 JSR $B79B scan and get byte parameter
AB02 C9 29 CMP #")" compare with ")"
AB04 D0 59 BNE $AB5F if not ")" do syntax error
AB06 28 PLP restore TAB( or SPC( status
AB07 90 06 BCC $AB0F branch if was SPC(
else was TAB(
AB09 8A TXA copy TAB() byte to A
AB0A E5 09 SBC $09 subtract current cursor position
AB0C 90 05 BCC $AB13 go loop for next if already past requited position
AB0E AA TAX copy [SPACE] count to X
AB0F E8 INX increment count
AB10 CA DEX decrement count
AB11 D0 06 BNE $AB19 branch if count was not zero
This entry point is used by the routine at AAA0.
was ";" or [SPACES] printed
AB13 20 73 00 JSR $0073 increment and scan memory
AB16 4C A2 AA JMP $AAA2 continue print loop
AB19 20 3B AB JSR $AB3B print [SPACE] or [CURSOR RIGHT]
AB1C D0 F2 BNE $AB10 loop, branch always
Prev: AAD7 Up: Map Next: AB1E