Sezione

Indirizzi Base Registri Interni
Area Comunicazione BIOS Funzioni BIOS Funzioni DOS
Prefazione Capitolo 1 Capitolo 2 Schede
Libreria ASM Libreria MAC Palestra Progetti ASM
Info Download INDICE

Registri Interni

Home » Programma il Computer » Tutorial Assembly

Tutorial Assembly - Registri

  Messa a Punto - SERIALE

REGISTRO DATI 3/3 [6 di 46] 

               

***** 03F8H / 02F8H / 03E8H / 02E8H - OUT / IN - Registro di Uscita Dati / Registro di Ingresso Dati [3 di 3]

               

bulletLa Ricezione Dati dalla porta seriale non è cosa limitata a questo Registro; sebbene l'interfaccia di lettura a 8 bit con il processore sia il suo indirizzo [port_8], coinvolto dall'istruzione IN, questo servizio richiede una discreta attività da parte dell'UART:
bulletil byte viene in realtà ricevuto in un buffer non accessibile da programma, un registro a scorrimento detto Receive Shift Register, RSR, nel quale viene fatto scorrere dentro (in serie, bit dopo bit) direttamente dalla linea di ricezione RD e, quando è stato completamente ricevuto, viene pulito dai bit di start e di stop e sottoposto a controllo di parità (se è prevista la presenza del bit a ciò delegato)
bulletil byte così ottenuto viene automaticamente trasferito nella locazione corrente del buffer FIFO in Ricezione (con UART 16550A) o nel nostro Receive Buffer Register, RBR (con UART 8250/16450 o con UART 16550A se il FIFO è disabilitato)
bulletnessun nuovo dato può essere accettato dalla linea prima che il precedente sia stato letto dal processore dal RBR (cioè prima che il RSR sia vuoto, con UART 8250/16450); con UART 16550A o successivi la lettura dati può continuare in blocco fino a quando il buffer FIFO in Ricezione è vuoto, senza attendere la loro effettiva assunzione dalla linea
bulletper stabilire l'esatto momento in cui il Ricevitore ha nuovi dati da leggere ogni programma può consultare un bit del Registro di Stato della Linea [port_D] (o affidarsi alle tecniche d'interruzione, discusse in altra parte):
bulletil bit0 (detto Received Data Ready, RDR) a 1 logico indica che un dato è stato completamente ricostruito dal RSR  e da esso è stato trasferito nel RBR [port_8] (o nel buffer FIFO in Ricezione); questo bit è riportato a 0 logico non appena il processore estrae il dato dal RBR (o dal FIFO) oppure se il processore azzera il contenuto del FIFO in Ricezione.
bulletaltri bit dello stesso registro possono essere consultati da programma per stabilire se i dati ricevuti sono attendibili o gravati da errori di sovrapposizione (bit1), di parità (bit2), di composizione (bit3) o di break (bit4), tutti descritti nella recensione dedicata al Registro di Stato della Linea

    

Pagina Precedente Registri Pagina Successiva REGISTRO DATI 3/3   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
6 di 46
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

    

Registri Interni » Porta Seriale | Porta Parallela | Stampanti
TUTORIAL » Indirizzi Base | Registri Interni | Area Comunicaz. BIOS | Funzioni BIOS | Funzioni DOS
Prefazione | CAP 1 | CAP 2 | Schede | Palestra
Libreria ASM | Libreria MAC | Progetti ASM | Download | Info | Indice
Home 
Pascal|Manuali|Tabelle|Schede
Tutorial Assembly|Palestra Assembler
Aggiungi Giobe®2000 ai preferiti  
Motore
Ricerca
  Rendi Giobe®2000 pagina di Default
© 2001-2010  -  Studio Tecnico ing. Giorgio OBER
Tutti i diritti sono riservati