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