![]() |
Routines |
Prev: 15E6 | Up: Map |
|
||||||||||
OUT_CODE | 15EF | LD E,$30 | Increase the value in the A register by +30. | |||||||
15F1 | ADD A,E | |||||||||
This entry point is used by the routine at PRINT_A_1 with A holding the code of the character to be printed.
|
||||||||||
PRINT_A_2 | 15F2 | EXX | Save the registers. | |||||||
15F3 | PUSH HL | |||||||||
15F4 | LD HL,($5C51) | 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 with A holding the code of the character to be printed.
Now call the actual subroutine. HL points to the output or the input address as directed.
|
||||||||||
CALL_SUB | 15F7 | LD E,(HL) | Fetch the low byte. | |||||||
15F8 | INC HL | Fetch the high byte. | ||||||||
15F9 | LD D,(HL) | |||||||||
15FA | EX DE,HL | Move the address to the HL register pair. | ||||||||
15FB | CALL CALL_JUMP | Call the actual subroutine. | ||||||||
15FE | POP HL | Restore the registers. | ||||||||
15FF | EXX | |||||||||
1600 | RET | Return will be from here unless an error occurred. |
Prev: 15E6 | Up: Map |