; 07 — Keypad 16 tasti (0x80) verso LCD (0xD0)
; Il keypad usa il bit 7 come "dato pronto" e i bit 0-3 come numero del tasto
; (0-9, A-F). La lettura della porta fa da handshake.

KEYPAD = 0x80
LCD    = 0xD0

ciclo:
        in  a, (KEYPAD)
        bit 7, a          ; c'e' un tasto nuovo?
        jr  z, ciclo
        and 0x0F          ; numero del tasto
        cp  0x0A
        jr  c, cifra
        add a, 0x37       ; A-F -> 'A'-'F'
        jr  mostra
cifra:
        add a, 0x30       ; 0-9 -> '0'-'9'
mostra:
        out (LCD), a
        jp  ciclo
