| 
      Sezione | 
      
       
   
    
      Indirizzi Base
    
    
    
      Registri Interni
    
      | 
    
| Schede del Tutorial | 
| Numeri e Logica Binaria | 
      SCHEDA n° 09 [ 10 di 20]  | 
   
  | 
| 
     | 
    
  | 
  
| La funzione OR descrive l'effetto prodotto dalla logica "o" (appunto "or" in inglese..) sulle variabili coinvolte (per esempio A e B): | 
| 
     
  | 
      
| 
         la funzione OR è vera se A o B o entrambe sono vere  | 
      
| 
     
  | 
      
| La Tabella di Verità per la funzione OR di A e B è dunque la seguente: | 
| 
     
  | 
      
| A | B | OR | 
        ![]()  | 
      |
| 0 | 0 | 0 | ||
| 0 | 1 | 1 | ||
| 1 | 0 | 1 | ||
| 1 | 1 | 1 | 
| 
     
  | 
      
| Anche in questo caso la definizione è ben rappresentata: solo se A o B o tutte e due sono a 1 (vere) la funzione OR=f(A,B) è a 1 (vera). | |
| Per capire la logica guarda lo schema allegato: la lampada (funzione OR di A e B) è accesa (1=vera) solo se l'interruttore A o l'interruttore B o tutte e due sono chiusi (1=veri). | |
| Anche la funzione OR si presta ad una ulteriore interpretazione; dalla Tabella di Verità si osserva che la funzione si può ritenere la somma delle variabili A e B, sebbene l'ultima combinazione (A=1,B=1) sembri dare 2 come risultato; ma non va dimenticato che gli operandi sono logici, non aritmetici, per cui 1+1=1 (vero+vero dà ancora vero) | |
| Per questo è detta anche somma logica. | |
| Il processore 80x86 prevede l'istruzione omonima, OR, con operandi di tutte le dimensioni (a 8, 16, 32 bit, ...); con operandi a 8 bit vale l'esempio: | 
| 
     
  | 
      
| 55H  
          0101 0101 OR F0H 1111 0000 = ------------- F5H = 1111 0101  | 
      
| 
     
  | 
      
| Il funzionamento della OR sottolinea uno degli usi più raffinati di questa istruzione: quello di mascherare alcuni bit di un determinato dato; l'esempio mostra chiaramente che i bit del primo operando (55H) che occupano la stessa posizione dei bit a 1 della maschera (F0H) sono forzati a 1 (mascherati) mentre gli altri mantengono il loro valore. | 
| 
     
  | 
      
| La tecnica appena descritta può essere facilmente utilizzata anche per forzare alti solo determinati bit di un dato binario. Supponendo di trattare con l'operando 80H, la maschera (OR) 0000 0100 (=04H) forza comunque a uno solo il bit2, lasciando gli altri al loro valore originale. | 
| 
     
  | 
      
| 
        
        80H   
        1000 0000 OR 04H 0000 0100 = ------------- 84H = 1000 0100  | 
      
| 
     
  | 
      
| Questa tecnica è molto utile quando è necessario controllare una linea hardware affidata al bit di un registro, per esempio la linea disponibile sul pin 2 del connettore della porta parallela, controllabile tramite il bit0 del Registro d'uscita 0378H/0278H; per creare su di essa un breve impulso positivo basta far seguire a questa tecnica un breve procedura di ritardo, per poi riportare a 0 il bit coinvolto con la tecnica AND discussa nella pagina precedente. | 
  | 
| 
      
       |     
    Scheda n° 09 | 
      
       | 
    Numeri e Logica Binaria | 
     | 
    
    
     | 
    
     | 
 ||
| Scheda n° 09 - 10 | 
      
  | 
    
| 
     
  | 
  
        
  | 
    
        
  | 
    
| 
      
         
        Home 
     | 
      
  | 
    |||||||
      
  | 
       
          
        Motore Ricerca  | 
      
  |