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 2/3 [5 di 46] 

               

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

               

bulletLa Trasmissione Dati verso la porta seriale non è cosa limitata a questo Registro; sebbene l'interfaccia di scrittura a 8 bit con il processore sia il suo indirizzo [port_8], coinvolto dall'istruzione OUT, questo servizio richiede una discreta attività da parte dell'UART:

 

bulletil byte viene in realtà trasmesso da un buffer non accessibile da programma, un registro a scorrimento detto Transmit Shift Register, TSR, dal quale viene fatto scorrere fuori (serializzato) direttamente sulla linea di trasmissione TD, subito dopo essere stato formattato in accordo alle scelte RS232 predisposte prima della trasmissione, inserendogli davanti un bit di start e facendogli seguire l'eventuale bit di parità e il numero desiderato di bit di stop
bulletil byte da trasmettere viene automaticamente trasferito dalla locazione corrente del buffer FIFO in Trasmissione (con UART 16550A) o dal nostro Transmit Holding Register, THR (con UART 8250/16450 o con UART 16550A se il FIFO è disabilitato)
bulletnessun nuovo dato può essere accettato (cioè scritto nel THR) prima che il precedente sia stato spedito sulla linea (cioè prima che il TSR sia vuoto, con UART 8250/16450); con UART 16550A o successivi la scrittura dati può continuare in blocco fino a quando il buffer FIFO in Trasmissione è pieno, senza attendere il loro effettivo trasferimento in linea
bulletper stabilire l'esatto momento per fornire nuovi dati ogni programma può consultare 2 bit del Registro di Stato della Linea [port_D] (o affidarsi alle tecniche d'interruzione, discusse in altra parte):
bulletil bit5 (detto Transmitter Holding Register Empty, THRE) a 1 logico indica che il THR [port_8] (o che il buffer FIFO in Trasmissione) è vuoto cioè che il dato in esso scritto in precedenza dal processore è stato trasferito al TSR; il Trasmettitore è pronto ad accettare nuovi caratteri da trasmettere e, non appena uno di essi entra nel THR (o nel FIFO), riporta a 0 logico questo bit
bulletil bit6 (detto Transmitter Shift Register Empty, TSRE) a 1 logico indica che il TSR [interno] è vuoto: il Trasmettitore è inoperoso, in attesa di dati da mettere in linea; in queste condizioni anche il THR [port_8] (o il buffer FIFO in Trasmissione) è ovviamente vuoto e, non appena un dato vi entrerà, questo bit torna a 0 logico

    

Pagina Precedente Registri Pagina Successiva REGISTRO DATI 2/3   Torna alla Home della Sezione Assembler - DownLoad Torna al Menu di "Programma il Computer"
5 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