by gorilla_bas on Sun Apr 13, 2008 2:35 pm
- Code: Select all
; Tecnica di input/output Trasferimento seriale di bit
; Si ha quando i bit entranmo successivamente su una linea
; Da notare che il programma funziona sia per trasmissione "sincrona", sia per quella "asincrona"
; In pratica cosa fa, legge il conteggio delle parole, se il bit è pronto immagazina il bit e incrementa il contatore, se la parola è assemblata immagazina la parola reset
; del contatore di bit e decrementa il conteggio delle parole, se poi il conteggio è = a 0, il programma termina.
SERIAL LD C,0 ;CANCELLA LA PAROLA D'INPUT
LD A,(COUNT) ;CARICA B
LD B,A
LOOP IN A,(INPUT) ;LEGGI LA SORGENTE
BIT 7,A ;IL BIT 7 RAPPRESENTA LO STATO, IL BIT 0 RAPPRESENTA IL DATO
JR Z,LOOP ;ASPETTA UN "1"
SRL A ;SPOSTA IL BIT DEI DATI NEL RIPORTO
RL C ;SALVA L'INPUT B IN C
JR NC,LOOP ;CONTINUA FINO A QUANDO SONO DENTRO 8 BIT
PUSH BC ;CONSERVA IN MEMORIA LA PAROLA
LD C,01H ;RESET
DEC B ;DECREMENTA IL CONTATORE TI BYTE
JR NZ,LOOP ;ASSEMBLA LA PROSSIMA PAROLA