Prev: 38664 Up: Map Next: 38740
38674: Print Numbers
Input
HL
BC
PrintNumbers 38674 LD IX,29184 IX=29184.
38678 SET 3,(IX+0) Set bit 3 of *IX+0.
PrintNumbers_0 38682 PUSH BC Stash BC on the stack.
38683 LD A,48 A=48.
PrintNumbers_1 38685 PUSH BC Stash BC on the stack.
38686 RLD RLD.
38688 PUSH HL Stash HL and AF on the stack.
38689 PUSH AF
38690 CP 48 Jump to PrintNumbers_2 if A is equal to 48.
38692 JR Z,PrintNumbers_2
38694 RES 3,(IX+0) Reset bit 3 of *IX+0.
38698 LD L,A Create an offset using HL.
38699 LD H,0
38701 ADD HL,HL HL*=8.
38702 ADD HL,HL
38703 ADD HL,HL
38704 JR PrintNumbers_3 Jump to PrintNumbers_3.
PrintNumbers_2 38706 BIT 3,(IX+0) Test bit 3 of *IX+0.
38710 LD HL,256 HL=0256.
38713 JR NZ,PrintNumbers_3 Jump to PrintNumbers_3 if A is not zero.
38715 LD L,128 L=128.
PrintNumbers_3 38717 LD BC,63296 HL+=63296.
38720 ADD HL,BC
38721 PUSH DE Stash DE on the stack.
38722 CALL CopyUDGToScreen Call CopyUDGToScreen.
38725 POP DE Restore DE from the stack.
38726 INC DE Increment DE by one.
38727 POP AF Restore AF, HL and BC from the stack.
38728 POP HL
38729 POP BC
38730 DJNZ PrintNumbers_1 Decrease counter by one and loop back to PrintNumbers_1 until counter is zero.
38732 RLD RLD.
38734 POP BC Restore BC from the stack.
38735 DEC HL Decrease HL by one.
38736 DEC C Decrease C by one.
38737 JR NZ,PrintNumbers_0 Jump to PrintNumbers_0 if C is not zero.
38739 RET Return.
Prev: 38664 Up: Map Next: 38740