Prev: 2045 Up: Map Next: 2070
204E: THE 'PRINT POSITION' SUBROUTINE
Used by the routines at PRINT_2 and INPUT.
The various position controlling characters are considered by this subroutine.
Input
Output
F Zero flag set if a position controlling character is found
PR_POSN_1 204E RST $18 Get the present character.
204F CP ";" Jump forward if it is a ';'.
2051 JR Z,PR_POSN_3
2053 CP "," Also jump forward with a character other than a ',', but do not actually print the character if checking syntax.
2055 JR NZ,PR_POSN_2
2057 CALL SYNTAX_Z
205A JR Z,PR_POSN_3
205C LD A,$06 Load the A register with the 'comma' control code and print it, then jump forward.
205E RST $10
205F JR PR_POSN_3
PR_POSN_2 2061 CP "'" Is it a '''?
2063 RET NZ Return now (with the zero flag reset) if not any of the position controllers.
2064 CALL PRINT_CR Print 'carriage return' unless checking syntax.
PR_POSN_3 2067 RST $20 Fetch the next character.
2068 CALL PR_END_Z If not at the end of a print statement then jump forward.
206B JR NZ,PR_POSN_4
206D POP BC Otherwise drop the return address from the stack.
PR_POSN_4 206E CP A Set the zero flag and return.
206F RET
Prev: 2045 Up: Map Next: 2070