| Routines

204E: 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 | 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