Prev: 00116 Up: Map Next: 00149
00125: THE 'SKIP-OVER' SUBROUTINE
Used by the routine at GET_CHAR.
The value brought to the subroutine in the A register is tested to see if it is printable. Various special codes lead to HL being incremented once or twice, and CH-ADD amended accordingly.
Input
A Character code
SKIP_OVER 00125 CP 33 Return with the carry flag reset if ordinary character code.
00127 RET NC
00128 CP 13 Return if the end of the line has been reached.
00130 RET Z
00131 CP 16 Return with codes 0 to 15 but with carry set.
00133 RET C
00134 CP 24 Return with codes 24 to 32 again with carry set.
00136 CCF
00137 RET C
00138 INC HL Skip over once.
00139 CP 22 Jump forward with codes 16 to 21 (INK to OVER).
00141 JR C,SKIPS
00143 INC HL Skip over once more (AT and TAB).
SKIPS 00144 SCF Return with the carry flag set and CH-ADD holding the appropriate address.
00145 LD (23645),HL
00148 RET
Prev: 00116 Up: Map Next: 00149