Routines |
Prev: 25484 | Up: Map | Next: 25520 |
Used by the routines at 27904, 31952, 31969, 32497, 61440, 61533, 61555, 61631, 61696, 62032 and 62815. Drops the return address from the stack and copies it into bytes 3 and 4 of the character's buffer (where the address of the primary command routine is held), copies the address of the interruptible subcommand routine from BC into bytes 9 and 10 of the character's buffer, and then jumps to that routine.
|
||||||||||
25503 | LD L,9 | Copy the routine address from BC into bytes 9 and 10 of the character's buffer | ||||||||
25505 | LD (HL),C | |||||||||
25506 | INC L | |||||||||
25507 | LD (HL),B | |||||||||
25508 | LD A,H | A=character number | ||||||||
25509 | POP HL | Drop the return address from the stack into HL | ||||||||
25510 | PUSH BC | Push the routine address in BC onto the stack | ||||||||
25511 | LD C,L | |||||||||
25512 | LD L,3 | |||||||||
This entry point is used by the (unused) routine at 25525 with L=9.
|
||||||||||
25514 | LD B,H | Now BC=address of the instruction after the CALL that got us here | ||||||||
25515 | LD H,A | H=character number | ||||||||
25516 | LD (HL),C | Copy the routine address in BC into bytes 3 and 4 (or 9 and 10) of the character's buffer | ||||||||
25517 | INC L | |||||||||
25518 | LD (HL),B | |||||||||
25519 | RET | Make an indirect jump to the interruptible subcommand routine |
Prev: 25484 | Up: Map | Next: 25520 |