  | Poichè gli eventi 
  che le possono generare sono 4 e poichè la
  richiesta può pervenire contemporaneamente
  anche da più di una, è prevista una 
  codifica che associa loro una priorità, 
  cioè un numero che stabilisce quale di esse sarà servita per prima.
      | 
    Interrupt Pending: 
    se il 
    bit0
        è 0 significa che un'interruzione 
    è pendente, cioè uno o più eventi 
    hanno indotto l'UART ha generare una  
    richiesta che non è stata ancora stata servita (o 
    servita del tutto) dal processore (per sapere quale evento è attualmente 
    sottoposto all'attenzione della CPU basta interpretare i 2 bit successivi); questo bit può essere 
    interrogato (polling) da software 
    per scoprire se tutte le potenziali richieste sono state soddisfatte |  
      | 
    Interrupt ID: 
    il compito di stabilire quale dei possibili 4 eventi è 
    in attesa di essere servito è 
    affidato ai 
    bit2/bit1: 
    è prevista una codifica per ciascuno di essi che consente anche di dirimere 
    l'ordine con cui dovranno essere 
    serviti, nel caso di 2 o più richieste 
    contemporanee: la coppia di bit 
    presente di volta in volta nel registro è quella dell'evento a più alta 
    priorità e, dopo il suo completo servizio, sarà sostituita (dall'UART) 
    con quella dell'evento con la successiva più alta prioritaria. Ecco le 
    codifiche, in dettaglio:
        |  
    bit2/bit1 
    = 11: durante la ricezione di dati è 
    stata rilevata la presenza di 
    errori  (di 
    sovrapposizione, di parità 
  o
  di composizione) 
  o la presenza di un segnale 
    di break; l'UART 
    ha generato una richiesta di Receiver Line Status 
    Interrupt, di priorità massima 
    (prima), ed è in attesa di essere servito; la lettura del      
    Registro    
    di Stato della Linea
    [port_D] 
      resetta questa segnalazione |  
        |  
    bit2/bit1 
    = 10: 
    il numero di bytes ricevuti ha superato quello massimo (trigger  
    level) previsto per il FIFO 
    in Ricezione oppure  il 
  FIFO contiene bytes in misura inferiore al 
    massimo ma il tempo concesso a nuovi arrivi è terminato (timeout) oppure  nel
  Receive Buffer Register è pronto un singolo dato; l'UART 
    ha generato una richiesta di 
    Received Data Available 
    Interrupt, di seconda priorità, ed è 
    in attesa di essere servito; la lettura del  
        
    Registro    
    di Ricezione Dati [port_8] resetta questa segnalazione |  
        |  
    bit2/bit1 
    = 01: il Transmit 
  Holding Register è 
    vuoto (con UART
    8250/16450 o con UART
  16550A, se il 
  FIFO in Trasmissione 
    è disabilitato) oppure  il 
  FIFO ha posti liberi per uno o più bytes; l'UART 
    ha generato una richiesta di 
    Transmit Holding Register Empty 
    Interrupt, 
    di terza priorità, ed è in attesa di essere servito; la scrittura del 
         
    Registro    
      di Trasmissione Dati [port_8] 
      resetta questa segnalazione |  
        |  
    bit2/bit1 
    = 00: durante la comunicazione con il Modem 
    è stata rilevata la variazione dei segnali  in arrivo, direzione  
  DCE>DTE, 
    come Data Carrier Detect
        (CD, rilevato modem 
        remoto/possibile comunicare), 
        Ring Indicator  (RI, ricevuto segnale acustico 
        sul canale), Data Set Ready 
        (DSR, DCE connesso e pronto a 
        comunicare) e Clear To Send 
        (CTS, DCE Pronto a ricevere); l'UART 
    ha generato una richiesta di   Modem Status  
    Interrupt, 
    di priorità più bassa (quarta), ed è in attesa di essere servito; la lettura 
      del il  
        
    Registro    
    di Stato del Modem [port_E] 
      resetta questa segnalazione |  
     
     |  
   
   |