Prev: 9708 Up: Map Next: 9754
9712: Print Numbers
Input
HL
BC
PrintNumbers 9712 LD IX,$7200 IX=7200.
9716 SET 3,(IX+$00) Set bit 3 of *IX+00.
PrintNumbers_0 971A PUSH BC Stash BC on the stack.
971B LD A,$30 A=30.
PrintNumbers_1 971D PUSH BC Stash BC on the stack.
971E RLD RLD.
9720 PUSH HL Stash HL and AF on the stack.
9721 PUSH AF
9722 CP $30 Jump to PrintNumbers_2 if A is equal to 30.
9724 JR Z,PrintNumbers_2
9726 RES 3,(IX+$00) Reset bit 3 of *IX+00.
972A LD L,A Create an offset using HL.
972B LD H,$00
972D ADD HL,HL HL*=08.
972E ADD HL,HL
972F ADD HL,HL
9730 JR PrintNumbers_3 Jump to PrintNumbers_3.
PrintNumbers_2 9732 BIT 3,(IX+$00) Test bit 3 of *IX+00.
9736 LD HL,$0100 HL=0100.
9739 JR NZ,PrintNumbers_3 Jump to PrintNumbers_3 if A is not zero.
973B LD L,$80 L=80.
PrintNumbers_3 973D LD BC,$F740 HL+=F740.
9740 ADD HL,BC
9741 PUSH DE Stash DE on the stack.
9742 CALL CopyUDGToScreen Call CopyUDGToScreen.
9745 POP DE Restore DE from the stack.
9746 INC DE Increment DE by one.
9747 POP AF Restore AF, HL and BC from the stack.
9748 POP HL
9749 POP BC
974A DJNZ PrintNumbers_1 Decrease counter by one and loop back to PrintNumbers_1 until counter is zero.
974C RLD RLD.
974E POP BC Restore BC from the stack.
974F DEC HL Decrease HL by one.
9750 DEC C Decrease C by one.
9751 JR NZ,PrintNumbers_0 Jump to PrintNumbers_0 if C is not zero.
9753 RET Return.
Prev: 9708 Up: Map Next: 9754