; SOLUZIONE 6 — Interrupt del timer
LCD   = 0xD0
TIM   = 0x70
TIM_C = 0x71

        .seg CODE (abs)
        .org 0x0010
VTab:   .dw servizio

        .org 0x0100
inizio:
        ld  sp, 0xFFFF
        ld  a, 0x08
        out (TIM), a
        ld  a, VTab
        out (TIM_C), a
        ld  a, 0x83
        out (TIM_C), a
        ld  a, 0
        ld  i, a
        im  2
        ei
ciclo:
        inc a
        out (0x20), a
        jp  ciclo

servizio:
        push af
        push hl
        push bc
        ld  hl, msg
        ld  b, finemsg - msg
        ld  c, LCD
        otir                  ; messaggio sul LCD
        pop bc
        pop hl
        pop af
        ei
        reti

msg:
        .db 0x0A
        .ascii /Interrupt del timer!/
finemsg:
