![]() |
Routines |
Prev: 25108 | Up: Map | Next: 25172 |
25126 | LD A,(32765) | 32765 holds the number of the last character moved | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25129 | CALL 25141 | Move a character | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25132 | LD A,(32765) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25135 | CALL 25141 | Move another character | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25138 | LD A,(32765) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This entry point is used to move a single character. This involves the following steps:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25141 | CP 171 | Get the number of the next character to be moved (152-171) in A and copy it to 32765 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25143 | JR NZ,25147 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25145 | LD A,151 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25147 | INC A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25148 | LD (32765),A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25151 | LD H,A | H=number of character to be moved | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25152 | CALL 25266 | Stop now unless it's time to move this character | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25155 | LD L,112 | Bytes 111 and 112 of the character's buffer may contain a routine address | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25157 | LD A,(HL) | Pick up the MSB in A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25158 | AND A | Is there a routine address here? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25159 | JR NZ,25241 | Jump to it if so | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25161 | LD L,124 | Pick up in DE the routine address from bytes 124 and 125 of the character's buffer; this is set to 25247 (RET) initially by the startup routine at 26880 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25163 | LD E,(HL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25164 | INC L | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25165 | LD D,(HL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25166 | LD BC,25172 | Go to the routine address in bytes 124 and 125 of the the character's buffer, and then go to 25172 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25169 | PUSH BC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25170 | PUSH DE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
25171 | RET |
Prev: 25108 | Up: Map | Next: 25172 |