| Spectrum ROM | Routines |
| Prev: 05606 | Up: Map |
|
The subroutine is called with either an absolute value or a proper character code in the A register.
|
|||||||
| OUT_CODE | 05615 | LD E,48 | Increase the value in the A register by +30. | ||||
| 05617 | ADD A,E | ||||||
|
This entry point is used by the routine at PRINT_A_1.
|
|||||||
| PRINT_A_2 | 05618 | EXX | Save the registers. | ||||
| 05619 | PUSH HL | ||||||
| 05620 | LD HL,(23633) | Fetch the base address for the current channel (CURCHL). This will point to an output address. | |||||
|
This entry point is used by the routine at INPUT_AD.
Now call the actual subroutine. HL points to the output or the input address as directed.
|
|||||||
| CALL_SUB | 05623 | LD E,(HL) | Fetch the low byte. | ||||
| 05624 | INC HL | Fetch the high byte. | |||||
| 05625 | LD D,(HL) | ||||||
| 05626 | EX DE,HL | Move the address to the HL register pair. | |||||
| 05627 | CALL CALL_JUMP | Call the actual subroutine. | |||||
| 05630 | POP HL | Restore the registers. | |||||
| 05631 | EXX | ||||||
| 05632 | RET | Return will be from here unless an error occurred. | |||||
| Prev: 05606 | Up: Map |