Prev: 45806 Up: Map Next: 45940
45858: Routine at B322
Used by the routine at 46064.
45858 LD L,(IX+5) L=*IX+5.
45861 LD A,(IX+6) A=*IX+6.
45864 AND %00000011 Keep only bits 0-1.
45866 OR %00111000 Set bits 3-5.
45868 LD H,A H=A.
45869 ADD HL,HL HL+=HL.
45870 LD E,(IX+1) E=*IX+1.
45873 LD D,(IX+2) D=*IX+2.
45876 LD C,(IX+3) C=*IX+3.
45879 LD B,(IX+4) B=*IX+4.
45882 PUSH BC Stash BC, DE, HL and HL on the stack.
45883 PUSH DE
45884 PUSH HL
45885 PUSH HL
45886 LD B,(HL) B=*HL.
45887 INC HL Increment HL by one.
45888 LD H,(HL) H=*HL.
45889 BIT 7,H Jump to 45934 if bit 7 of H is not set.
45891 JR Z,45934
45893 LD L,B L=B.
45894 LD B,8 B=8.
45896 LD A,(HL) A=*HL.
45897 LD (DE),A Write A to *DE.
45898 INC HL Increment HL by one.
45899 INC D Increment D by one.
45900 DJNZ 45896 Decrease counter by one and loop back to 45896 until counter is zero.
45902 DEC C Decrease C by one.
45903 JR Z,45924 Jump to 45924 if C is zero.
45905 LD A,E E+=32.
45906 ADD A,32
45908 LD E,A
45909 JR C,45915 Jump to 45915 if {} is lower.
45911 LD A,D D-=8.
45912 SUB 8
45914 LD D,A
45915 POP HL Restore HL from the stack.
45916 LD A,C A=C.
45917 LD BC,64 HL+=0064.
45920 ADD HL,BC
45921 LD C,A C=A.
45922 JR 45885 Jump to 45885.
45924 POP HL Restore HL, HL, DE and BC from the stack.
45925 POP HL
45926 POP DE
45927 POP BC
45928 INC E Increment E by one.
45929 INC L Increment L by two.
45930 INC L
45931 DJNZ 45882 Decrease counter by one and loop back to 45882 until counter is zero.
45933 RET Return.
45934 LD A,D D+=8.
45935 ADD A,8
45937 LD D,A
45938 JR 45902 Jump to 45902.
Prev: 45806 Up: Map Next: 45940