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 |