![]() |
Routines |
| Prev: 2045 | Up: Map | Next: 2070 |
|
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 | Next: 2070 |