    ;; A useful procedure to display a 8-bit number in binary
    ;;

    .txt_output equ &bb5a

    ;;------------------------------
    ;; DISPLAY A BYTE IN BINARY FORM
    ;;
    ;; Enter:
    ;; A = 8-bit value
    ;;
    ;; Exit:
    ;; AF corrupt.
    ;; B corrupt.
    ;; All other registers preserved

    .display_binary
    ld b,8                    ;number of bits to display

    .get_bit
    rlca                      ;rotate current top bit into carry

                              ;if the bit was 1, the carry is set. (i.e. carry=1)
                              ;if the bit was 0, the carry is reset. (i.e carry=0)

    push af
    ld a,"0"                  ;ASCII character for bit value
    adc a,0                   ;add carry, if carry is set A="1", otherwise A="0"
    call txt_output           ;display character onscreen
    pop af

    djnz get_bit              ;loop, until all bits have been displayed
    ret