  | La  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:
  
      | il 
  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 |  
      | il 
  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) |  
   
  
      | nessun 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 |  
      | per 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):
        | il 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 |  
     
    
        | il 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 |  
     
     |  
   
   |