|
 |
Numeri
e Logica Binaria |
SCHEDA n° 09 [
10
di 20] |
 |
|
Operazioni
Logiche su Numeri Binari: la Funzione OR |
|
 | 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. |
©
2001-2010 - Studio Tecnico
ing. Giorgio OBER
Tutti i diritti sono riservati
|