Prev: 6A2F Up: Map Next: 6A68
6A3C: Action: Print Flag
Prints flag B as a decimal number followed by a space. The conversion goes through the DAA instruction, so the flag is treated as two decimal digits.
PrintFlag 6A3C CALL FlagAddress Read flag B. Zero prints as a single 0.
6A3F LD A,(HL)
6A40 OR A
6A41 JR Z,PrintFlag_High
6A43 LD B,A Count that value through DAA.
6A44 XOR A
PrintFlag_Tens 6A45 INC A Each pass through DAA builds one decimal step.
6A46 DAA
6A47 DJNZ PrintFlag_Tens
PrintFlag_High 6A49 PUSH AF The high digit is the tens.
6A4A OR A
6A4B JR Z,PrintFlag_Units
6A4D SRL A Shift the tens digit down.
6A4F SRL A
6A51 SRL A
6A53 SRL A
6A55 ADD A,$30 Print the tens digit when it is not zero.
6A57 CALL PrintCharacter
PrintFlag_Units 6A5A POP AF Print the units digit.
6A5B AND $0F
6A5D ADD A,$30
6A5F CALL PrintCharacter
6A62 LD A,$20 Print a following space.
6A64 CALL PlotCharacter
6A67 RET Return.
Prev: 6A2F Up: Map Next: 6A68