![]() |
Routines |
| Prev: 42726 | Up: Map | Next: 42810 |
|
Used by the routine at CopyFloatingHandToScreen.
|
||||
| DrawFloatingHand | 42772 | PUSH HL | Stash HL on the stack. | |
| 42773 | EX AF,AF' | Exchange the AF register with the shadow AF register. | ||
|
On return from CalculateScreenBuffer HL will contain the screen buffer destination.
|
||||
| 42774 | CALL CalculateScreenBuffer | Call CalculateScreenBuffer. | ||
| 42777 | EX AF,AF' | Exchange the shadow AF register with the AF register. | ||
| 42778 | EX DE,HL | Exchange the DE and HL registers. | ||
| 42779 | POP HL | Restore HL from the stack. | ||
| 42780 | DEC E | Decrease E by one. | ||
| 42781 | LD B,8 | B=8. | ||
| DrawFloatingHand_0 | 42783 | PUSH BC | Stash BC and DE on the stack. | |
| 42784 | PUSH DE | |||
| 42785 | LD C,A | C=A. | ||
| 42786 | LD B,0 | B=0. | ||
| 42788 | LDIR | LDIR. | ||
| 42790 | CP 8 | Jump to DrawFloatingHand_1 if A is equal to 8. | ||
| 42792 | JR Z,DrawFloatingHand_1 | |||
| 42794 | PUSH AF | Stash AF on the stack. | ||
| 42795 | LD C,A | C=A. | ||
| 42796 | LD A,8 | A=8. | ||
| 42798 | SUB C | A-=C. | ||
| 42799 | LD B,0 | B=0. | ||
| 42801 | LD C,A | C=A. | ||
| 42802 | POP AF | Restore AF from the stack. | ||
| 42803 | ADD HL,BC | HL+=BC. | ||
| DrawFloatingHand_1 | 42804 | POP DE | Restore DE from the stack. | |
| 42805 | INC D | Increment D by one. | ||
| 42806 | POP BC | Restore BC from the stack. | ||
| 42807 | DJNZ DrawFloatingHand_0 | Decrease counter by one and loop back to DrawFloatingHand_0 until counter is zero. | ||
| 42809 | RET | Return. | ||
| Prev: 42726 | Up: Map | Next: 42810 |