Routines |
Prev: 43123 | Up: Map | Next: 43182 |
Used by the routines at Animation_OpponentThrowing, 45724, 45890, 46006, InitialiseOpponent and Animation_ThrowingDart.
|
||||
43125 | PUSH HL | Stash HL and BC on the stack. | ||
43126 | PUSH BC | |||
43127 | LD C,E | C=E. | ||
43128 | LD B,8 | B=8. | ||
43130 | LD DE,(43121) | DE=*43121. | ||
43134 | LD HL,(43123) | HL=*43123. | ||
43137 | LD A,E | A=E. | ||
43138 | AND %01001000 | Keep only bits 3, 6. | ||
43140 | ADD A,56 | A+=56. | ||
43142 | RLA | RLA. | ||
43143 | RLA | |||
43144 | RL H | Rotate H left. | ||
43146 | RL L | Rotate L left. | ||
43148 | RL D | Rotate D left. | ||
43150 | RL E | Rotate E left. | ||
43152 | DJNZ 43137 | Decrease counter by one and loop back to 43137 until counter is zero. | ||
43154 | LD (43121),DE | Write DE to *43121. | ||
43158 | LD (43123),HL | Write HL to *43123. | ||
43161 | LD A,E | A=E. | ||
43162 | LD E,C | E=C. | ||
43163 | LD D,0 | D=0. | ||
43165 | LD HL,0 | HL=0000. | ||
43168 | LD B,8 | B=8. | ||
43170 | ADD HL,HL | HL+=HL. | ||
43171 | RLC A | Rotate A left (with carry). | ||
43173 | JR NC,43176 | Jump to 43176 if the result is greater than or equal to 8. | ||
43175 | ADD HL,DE | HL+=DE. | ||
43176 | DJNZ 43170 | Decrease counter by one and loop back to 43170 until counter is zero. | ||
43178 | LD A,H | A=H. | ||
43179 | POP BC | Restore BC and HL from the stack. | ||
43180 | POP HL | |||
43181 | RET | Return. |
Prev: 43123 | Up: Map | Next: 43182 |