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 |
|