![]() |
Routines |
Prev: 2045 | Up: Map |
The various position controlling characters are considered by this subroutine.
|
||||||||||
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 |