Spectrum ROM | Routines |
Prev: 08261 | Up: Map |
The various position controlling characters are considered by this subroutine.
|
|||||||
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 |