Prev: 08261 Up: Map Next: 08304
08270: THE 'PRINT POSITION' SUBROUTINE
Used by the routines at PRINT_2 and INPUT.
The various position controlling characters are considered by this subroutine.
Output
F Zero flag set if a position controlling character is found
PR_POSN_1 08270 RST 24 Get the present character.
08271 CP ";" Jump forward if it is a ';'.
08273 JR Z,PR_POSN_3
08275 CP "," Also jump forward with a character other than a ',', but do not actually print the character if checking syntax.
08277 JR NZ,PR_POSN_2
08279 CALL SYNTAX_Z
08282 JR Z,PR_POSN_3
08284 LD A,6 Load the A register with the 'comma' control code and print it, then jump forward.
08286 RST 16
08287 JR PR_POSN_3
PR_POSN_2 08289 CP "'" Is it a '''?
08291 RET NZ Return now (with the zero flag reset) if not any of the position controllers.
08292 CALL PRINT_CR Print 'carriage return' unless checking syntax.
PR_POSN_3 08295 RST 32 Fetch the next character.
08296 CALL PR_END_Z If not at the end of a print statement then jump forward.
08299 JR NZ,PR_POSN_4
08301 POP BC Otherwise drop the return address from the stack.
PR_POSN_4 08302 CP A Set the zero flag and return.
08303 RET
Prev: 08261 Up: Map Next: 08304