![]() |
Routines |
| Prev: B34B | Up: Map | Next: B3AB |
|
||||||||||
| B34C | PUSH HL | Store main registers. | ||||||||
| B34D | PUSH BC | |||||||||
| B34E | PUSH DE | |||||||||
| B34F | LD A,$3D | Print an equals sign. | ||||||||
| B351 | CALL $B715 | |||||||||
| B354 | INC E | Move to the next column. | ||||||||
| B355 | LD C,$42 | Set bright red on black. | ||||||||
| B357 | LD A,$26 | Print a pound symbol. | ||||||||
| B359 | CALL $B715 | |||||||||
| B35C | INC E | Move to the next column. | ||||||||
| B35D | XOR A | Set to drawing the hundreds. | ||||||||
| B35E | LD ($B34B),A | |||||||||
| B361 | LD C,$45 | Get bright cyan on black. | ||||||||
| B363 | LD B,$02 | 2 digits to draw. | ||||||||
| B365 | LD A,(HL) | Get the value. | ||||||||
| B366 | SRL A | Use the top four bits only. | ||||||||
| B368 | SRL A | |||||||||
| B36A | SRL A | |||||||||
| B36C | SRL A | |||||||||
| B36E | ADD A,$30 | Add to ASCII '0' to get the appropriate number graphic. | ||||||||
| B370 | CP $30 | Is it zero? | ||||||||
| B372 | JR NZ,$B37C | Jump forward if it isn't. | ||||||||
| B374 | LD A,($B34B) | Are the hundreds being drawn? | ||||||||
| B377 | OR A | |||||||||
| B378 | JR Z,$B384 | Jump forward if so. | ||||||||
| B37A | LD A,$30 | Print '0'. | ||||||||
| B37C | CALL $B715 | |||||||||
| B37F | LD A,$01 | Signal that the tens should be drawn next. | ||||||||
| B381 | LD ($B34B),A | |||||||||
| B384 | INC E | Move to the next character. | ||||||||
| B385 | LD A,(HL) | Get the value. | ||||||||
| B386 | AND $0F | Get the bottom four bits only. | ||||||||
| B388 | ADD A,$30 | Add to ASCII '0' to get the appropriate number graphic. | ||||||||
| B38A | CP $30 | Is it zero? | ||||||||
| B38C | JR NZ,$B39B | Jump forward if it isn't. | ||||||||
| B38E | LD A,B | Is this the "tens" digit? | ||||||||
| B38F | CP $01 | |||||||||
| B391 | JR Z,$B399 | Jump forward if it is. | ||||||||
| B393 | LD A,($B34B) | Are the hunderds being drawn? | ||||||||
| B396 | OR A | |||||||||
| B397 | JR Z,$B3A3 | Jump forward if not. | ||||||||
| B399 | LD A,$30 | Add to ASCII '0' to get the appropriate number graphic. | ||||||||
| B39B | CALL $B715 | Print the digit. | ||||||||
| B39E | LD A,$01 | Move from tens to hundreds. | ||||||||
| B3A0 | LD ($B34B),A | |||||||||
| B3A3 | INC E | Move to the next character. | ||||||||
| B3A4 | INC HL | Move to the next position in the buffer. | ||||||||
| B3A5 | DJNZ $B365 | Loop until all digits are accounted for. | ||||||||
| B3A7 | POP DE | Restore main registers and return. | ||||||||
| B3A8 | POP BC | |||||||||
| B3A9 | POP HL | |||||||||
| B3AA | RET | |||||||||
| Prev: B34B | Up: Map | Next: B3AB |