Prev: 46154 Up: Map Next: 46264
46185: Routine at B469
Used by the routines at 46102 and 46154.
46185 LD E,(IX+8) E=*IX+8.
46188 LD D,(IX+9) D=*IX+9.
46191 LD L,(IX+14) L=*IX+14.
46194 LD H,(IX+15) H=*IX+15.
46197 LD C,(IX+10) C=*IX+10.
46200 DEC C Decrease C by one.
46201 LD B,(IX+11) B=*IX+11.
46204 PUSH BC Stash BC, DE and HL on the stack.
46205 PUSH DE
46206 PUSH HL
46207 LD B,8 B=8.
46209 LD A,(DE) A=*DE.
46210 AND (HL) Merge the bits from *HL.
46211 INC HL Increment HL by one.
46212 OR (HL) Set the bits from *HL.
46213 LD (DE),A Write A to *DE.
46214 INC HL Increment HL by one.
46215 INC D Increment D by one.
46216 DJNZ 46209 Decrease counter by one and loop back to 46209 until counter is zero.
46218 DEC C Decrease C by one.
46219 JP M,46242 Jump to 46242 M.
46222 JR NZ,46230 Jump to 46230 if {} is not zero.
46224 SLA (IX+23) Shift *IX+23 left (with carry).
46228 JR C,46242 Jump to 46242 if {} is lower.
46230 LD A,E A=E.
46231 ADD A,32 A+=32.
46233 LD E,A E=A.
46234 JR C,46207 Jump to 46207 if {} is lower.
46236 LD A,D A=D.
46237 SUB 8 A-=8.
46239 LD D,A D=A.
46240 JR 46207 Jump to 46207.
46242 POP HL Restore HL from the stack.
46243 LD D,0 D=0.
46245 LD E,(IX+22) E=*IX+22.
46248 ADD HL,DE HL+=DE.
46249 POP DE Restore DE from the stack.
46250 INC E Increment E by one.
46251 POP BC Restore BC from the stack.
46252 DJNZ 46204 Decrease counter by one and loop back to 46204 until counter is zero.
46254 LD B,(IX+11) B=*IX+11.
46257 SRL (IX+23) Shift *IX+23 right.
46261 DJNZ 46257 Decrease counter by one and loop back to 46257 until counter is zero.
46263 RET Return.
Prev: 46154 Up: Map Next: 46264