Assembly/Rappresentazione dati/Operazioni logiche
Oltre ad operazioni aritmetiche, con i bit, possiamo eseguire anche operazioni logiche. Le quattro principali operazioni logiche sono AND, OR (O inclusivo), XOR (O esclusivo) e NOT.
L'operazione AND
modificaL'operazione AND, restituisce 1, solo se entrambi i valori di partenza sono impostati ad 1.
Quindi:
0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1
Se volessimo fare una tabella:
AND | 0 | 1 -----|---|--- 0 | 0 | 0 -----|---|--- 1 | 0 | 1
L'operazione OR
modificaL'operazione OR, restituisce 1, se il primo valore, il secondo, o entrambi sono settati ad 1. Altrimenti, se entrambi sono settati a 0, restituisce 0 Quindi:
0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1
In tabella:
OR | 0 | 1 ---|---|--- 0 | 0 | 1 ---|---|--- 1 | 1 | 1
L'operazione XOR
modificaL'operazione XOR, restituisce 1, se il primo valore o il secondo, ma non entrambi sono settati ad 1. Altrimenti restituisce 0. Quindi:
0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0
In tabella:
XOR | 0 | 1 -----|---|--- 0 | 0 | 1 -----|---|--- 1 | 1 | 0
Più semplicemente, si può dire che dà 1 se gli operandi sono diversi, 0 se sono uguali
L'operazione NOT
modificaL'operazione NOT, a differenza delle altre, ha un solo valore in entrata. Restituisce 1, se il valore era 0, restituisce 0, se il valore era 1 Quindi:
NOT 0 = 1 NOT 1 = 0
In tabella:
NOT | 0 | 1 | -----|---|---| | 1 | 0 |
Operazioni su bytes
modificaSe anziché dare un solo bit in entrata, diamo un intero byte (o una word o qualunque altra cosa), le operazioni logiche lavorano così:
1 0 1 0 0 1 0 1 AND 0 1 0 1 1 1 0 1 = --------------- 0 0 0 0 0 1 0 1
Oppure
1 0 1 0 0 1 0 1 OR 0 1 0 1 1 1 0 1 = --------------- 1 1 1 1 1 1 0 1
Ancora
1 0 1 0 0 1 0 1 XOR 0 1 0 1 1 1 0 1 = --------------- 1 1 1 1 1 0 0 0
Infine
NOT 1 0 1 0 0 1 0 1 = --------------- 0 1 0 1 1 0 1 0
Non è molto difficile. Esegue l'operazione su tutti i bit come se fossero separati. Questo metodo di operazione si chiama bitwise o bit-by-bit
Modulo precedente | Torna a | Modulo successivo |