Routines |
Prev: C38D | Up: Map | Next: CB0A |
|
||||
PrintNumbers | CAB3 | LD A,$00 | A=00. | |
CAB5 | RLD | RLD. | ||
CAB7 | PUSH AF | Stash AF on the stack. | ||
CAB8 | CP $00 | Jump to PrintNumbers_1 if A is not 00. | ||
CABA | JR NZ,PrintNumbers_1 | |||
CABC | LD A,$20 | A=20. | ||
CABE | CALL PrintNumbers_Print | Call PrintNumbers_Print. | ||
CAC1 | POP AF | Restore AF from the stack. | ||
CAC2 | RLD | RLD. | ||
CAC4 | PUSH AF | Stash AF on the stack. | ||
CAC5 | CP $00 | Jump to PrintNumbers_2 if A is not 00. | ||
CAC7 | JR NZ,PrintNumbers_2 | |||
CAC9 | LD A,$20 | A=20. | ||
CACB | CALL PrintNumbers_Print | Call PrintNumbers_Print. | ||
CACE | POP AF | Restore AF from the stack. | ||
CACF | RLD | RLD. | ||
CAD1 | DEC HL | Decrease HL by one. | ||
CAD2 | DJNZ PrintNumbers | Decrease counter by one and loop back to PrintNumbers until counter is zero. | ||
CAD4 | RET | Return. | ||
PrintNumbers_0 | CAD5 | LD A,$00 | A=00. | |
CAD7 | RLD | RLD. | ||
CAD9 | PUSH AF | Stash AF on the stack. | ||
PrintNumbers_1 | CADA | ADD A,$30 | A+=30. | |
CADC | CALL PrintNumbers_Print | Call PrintNumbers_Print. | ||
CADF | POP AF | Restore AF from the stack. | ||
CAE0 | RLD | RLD. | ||
CAE2 | PUSH AF | Stash AF on the stack. | ||
PrintNumbers_2 | CAE3 | ADD A,$30 | A+=30. | |
CAE5 | CALL PrintNumbers_Print | Call PrintNumbers_Print. | ||
CAE8 | POP AF | Restore AF from the stack. | ||
CAE9 | RLD | RLD. | ||
CAEB | DEC HL | Decrease HL by one. | ||
CAEC | DJNZ PrintNumbers_0 | Decrease counter by one and loop back to PrintNumbers_0 until counter is zero. | ||
CAEE | RET | Return. | ||
This is similar in functionality to PrintString. It differs as it doesn't use a terminator rather the length is known.
|
||||
PrintNumbers_Print | CAEF | PUSH HL | Stash HL and BC on the stack. | |
CAF0 | PUSH BC | |||
CAF1 | LD L,A | L=A. | ||
CAF2 | LD H,$00 | H=00. | ||
CAF4 | ADD HL,HL | HL*=08. | ||
CAF5 | ADD HL,HL | |||
CAF6 | ADD HL,HL | |||
CAF7 | LD BC,$E417 | BC=Font. | ||
CAFA | DEC B | Decrease B by one. | ||
CAFB | ADD HL,BC | HL+=BC. | ||
CAFC | PUSH DE | Stash DE on the stack. | ||
CAFD | LD B,$08 | B=08 (counter). | ||
PrintNumbers_Print_Loop | CAFF | LD A,(HL) | A=*HL. | |
CB00 | LD (DE),A | Write A to *DE. | ||
CB01 | INC HL | Increment HL by one. | ||
CB02 | INC D | Increment D by one. | ||
CB03 | DJNZ PrintNumbers_Print_Loop | Decrease counter by one and loop back to PrintNumbers_Print_Loop until counter is zero. | ||
CB05 | POP DE | Restore DE from the stack. | ||
CB06 | INC DE | Increment DE by one. | ||
CB07 | POP BC | Restore BC and HL from the stack. | ||
CB08 | POP HL | |||
CB09 | RET | Return. |
Prev: C38D | Up: Map | Next: CB0A |