Assembly/Rappresentazione dati/Operazioni logiche: differenze tra le versioni
fix cat |
m +formattazione |
||
Riga 63: | Riga 63: | ||
==Operazioni su bytes== |
==Operazioni su bytes== |
||
Se |
Se 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 |
1 0 1 0 0 1 0 1 AND |
Versione delle 06:42, 30 lug 2007
Template:Linguaggio Assembly 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
L'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
L'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
L'operazione XOR, restituisce 1, se il primo valore O il secondo, ma non entrambi sono settati ad 1. Altrimenti restituisce 0. Quindi:
0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 0
In tabella:
XOR | 0 | 1 -----|---|--- 0 | 0 | 1 -----|---|--- 1 | 1 | 0
L'operazione NOT
L'operazione NOT, a differenza delle altre, hanno 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
Se 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 |