Scrivere un programma in linguaggio assembly 8085 per il contatore BCD e visualizzarlo utilizzando 8279?
ORG 100H
MVI A,10H; carica con dati
MOV B,C;B←dati
CALL BCDADC;Aggiungi i dati di Dreg con carry 1
CALL DCXDS;Decrementa DS
MVI B,D
CALL BCDADD;Aggiunge i dati di Dreg con riporto 0
CHIAMA DCXDS
OUT 12H;Carica la porta di uscita per il display
BCDADC:
LXI H,10H;Carico BC con 16(10H)
ADD M;Aggiunge i dati del registro M a BC
JC SETC;Se viene generato il riporto, allora SETC
DAD D;Aggiunge i dati del registro D con i dati della coppia HL. Questo passaggio esegue l'aggiunta dei dati di Mreg e del bit di trasporto.
SETC:;Questa etichetta viene utilizzata per impostare il flag Carry.
CMA;Crea un complemento del registro A.
JC CLEARCY;Se viene generato il carry, CLEAR CARRY
MVI A,10H
CHIAREZZA:
MOV M,A;Copia i dati del registro A in memoria
MOV A,C;Copia i dati del registro C in A
RAL;Ruota il registro A attraverso il riporto
MOV C,A;Copia i dati del registro A in C
BCDADD:
LXI H,09H;Carica BC con 9(09H)
AGGIUNGI M
PAPÀ D
MOV M, A
MOV A, C
RAL
MOV C,A
DCXDS:;Decrementa il registro DS per la visualizzazione
DCR D
DCR D
DCR D
RET
```