Routines |
Prev: 44567 | Up: Map | Next: 44654 |
Used by the routine at 44567.
|
||||
44604 | LD HL,(44893) | HL=*44893. | ||
44607 | PUSH HL | Stash HL and BC on the stack. | ||
44608 | PUSH BC | |||
44609 | LD B,3 | B=3. | ||
44611 | PUSH BC | Stash BC and DE on the stack. | ||
44612 | PUSH DE | |||
44613 | LD A,(DE) | A=*DE. | ||
44614 | CP 32 | Jump to 44635 if A is equal to 32. | ||
44616 | JR Z,44635 | |||
44618 | ADD A,A | Multiply A by 2. | ||
44619 | LD HL,44895 | HL=44895. | ||
44622 | LD E,A | Create an offset in DE. | ||
44623 | LD D,0 | |||
44625 | ADD HL,DE | HL+=DE. | ||
44626 | LD E,(HL) | Fetch the address at *HL and load it into DE. | ||
44627 | INC HL | |||
44628 | LD D,(HL) | |||
44629 | PUSH DE | IX=DE (using the stack). | ||
44630 | POP IX | |||
44632 | CALL 44654 | Call 44654. | ||
44635 | POP DE | Restore DE from the stack. | ||
44636 | INC DE | Increment DE by one. | ||
44637 | LD HL,(44893) | HL=*44893. | ||
44640 | INC L | Increment L by two. | ||
44641 | INC L | |||
44642 | LD (44893),HL | Write HL to *44893. | ||
44645 | POP BC | Restore BC from the stack. | ||
44646 | DJNZ 44611 | Decrease counter by one and loop back to 44611 until counter is zero. | ||
44648 | POP BC | Restore BC and HL from the stack. | ||
44649 | POP HL | |||
44650 | LD (44893),HL | Write HL to *44893. | ||
44653 | RET | Return. |
Prev: 44567 | Up: Map | Next: 44654 |