OU logique

Transcription

OU logique
Opé rations logiques
TS MAI
Opérations LOGIQUES
Dans le traitement des données en automatique il est fréquent que l’on ait à effectuer des opérations
logiques sur plusieurs bits ou sur mots.
Effectuer une opération logique entre deux mots consiste tout simplement à réaliser bit à bit cette
opération.
1 ET LOGIQUE
Rappel
a
b
0
0
0
1
1
0
1
1
a.b
0
0
0
1
Soit à réaliser l’opération logique (M1 ET M2)
avec :
M1 = 1011 0011
M2 = 1100 1010
1 0 1 1 0 0 1 1
ET 1 1 0 0 1 0 1 0
1 0 0 0 0 0 1 0
Dans la pratique, on dit que l’on applique au mot M1 un « MASQUE » représenté par le mot M2.
Un bit du mot à masquer en regard avec un bit du masque donne 0 si le bit correspondant du masque
vaut 0, il reste inchangé si le bit du masque vaut 1.
Application :
Les exemples suivants permettent de forcer à 0 les bits b0 à b7 et le bit b15 du mot %MW1 en PL7
Pro.
[%MW1 := %MW1 AND 2#0111111100000000]
ou
[%MW1 := %MW1 AND 16#7F00]
Si %MW1 = 1111101010101010
Après opération %MW1 = 0111101000000000
2 OU LOGIQUE
Rappel
a
b
0
0
0
1
1
0
1
1
a+b
0
1
1
1
Soit à réaliser l’opération logique (M1 OU M2)
avec :
M1 = 1011 0011
M2 = 1100 1010
1 0 1 1 0 0 1 1
OU 1 1 0 0 1 0 1 0
1 1 1 1 1 0 1 1
Dans la pratique, on dit que l’on applique au mot M1 un « MASQUE » représenté par le mot M2.
Un bit du mot à masquer en regard avec un bit du masque donne 1 si le bit correspondant du masque
vaut 1, il reste inchangé si le bit du masque vaut 0.
Application :
Les exemples suivants permettent de forcer à 1 les bits b0 à b7 et le bit b15 du mot %MW1 en PL7
Pro.
Philippe HOARAU
1/3
Opé rations logiques
TS MAI
[%MW1 := %MW1 OR 2#1000000011111111]
ou
[%MW1 := %MW1 OR 16#80FF
Si %MW1 = 1111101010101010
Après opération %MW1 = 1111101011111111
3 OU EXCLUSIF
Rappel
a
b
0
0
0
1
1
0
1
1
a⊕b
0
1
1
0
Soit à réaliser l’opération logique (M1 ET M2)
avec :
M1 = 1011 0011
M2 = 1100 1010
1 0 1 1 0 0 1 1
XOR 1 1 0 0 1 0 1 0
0 1 1 1 1 0 0 1
Dans la pratique, on dit que l’on applique au mot M1 un « MASQUE » représenté par le mot M2.
Un bit du mot à masquer en regard avec un bit du masque est inversé si le bit du masque est à 1. Il
est inchangé si le bit du masque est à 0.
Application :
Les exemples suivants permettent d’inverser les bits du mots %MW1 (Complément à 1) en PL7-Pro
[%MW1 := %MW1 AND 2#1111111111111111]
ou
[%MW1 := %MW1 AND 16#FFFF]
Si %MW1 = 1111101010101010
Après opération %MW1 = 0000010101010101
Philippe HOARAU
2/3
Opé rations logiques
1
2
3
ET LOGIQUE
OU LOGIQUE
OU EXCLUSIF
Philippe HOARAU
TS MAI
1
1
2
3/3