目次>7章 各種情報>(6)論理演算とPICの命令

論理演算とPICの命令

更新日2008.2.23

論理演算は、1と0の2つの値を扱う演算で、論理和(OR),論理積(AND),論理否定(NOT)があります。
ここでは、この3つに加え、排他的論理和(XOR)の4つの論理演算について説明します。

1.論理演算とは
論理演算では、下の図のように2つの値を演算して1つの結果を得ます。
これは、加減乗除の四則演算と同じですね。(1+2=3 のように)

ただし、ここから先は四則計算と全く異なります。

・まず、扱う値は、1または0の2種類です。
・そして、演算の方法が異なり、以下の4種類があります。
(1)論理和(OR)
(2)論理積(AND)
(3)論理否定(NOT)
(4)排他的論理和(XOR)
それでは、この4種類を順に説明します。
説明では、2つの値を上図の通りそれぞれx,yとします。

2.論理和(OR)
論理和は、2つの値の内どちらかが1の時、結果を1とするものです。
それ以外(2つ共0)の時は結果を0とします。

ORを「または」と考えると分かりやすいと思います。

xが1またはyが1なら結果は1

演算対象が2つでそれぞれ、1,0の値があり得ますので、組み合わせは4通りです。
4通りの組み合わせとその結果を表にすると以下のようになります。

結果

この表のように、演算対象の全ての組み合わせとその結果をまとめた表を、真理値表と言います。

3.論理積(AND)
論理積は、2つの値が両方共1の時、結果を1とするものです。
それ以外(いずれかが0)の時は結果を0とします。

ANDを「かつ」と考えると

xが1かつyが1なら結果は1

ORと同じように真理値表にすると以下の通りです。

結果

4.論理否定(NOT)
論理否定は、ORやANDと違い対象は1つで、値の逆を結果とするものです。
値をビットとすれば、ビットを反転した結果になります。

結果

5.排他的論理和(XOR)
排他的論理和は、2つの値が異なっている時、結果を1とするものです。
それ以外の(2つの値が同じ)時は結果を0とします。

真理値表にすると以下の通りです。

結果
なぜこんな演算が必要かと思われるかも知れませんが、後のPICの論理演算命令の例を見ればお分かり頂けると思います。

6.PICの論理演算命令
この先は、(暇があれば OR 要望があれば) 作成する事にしましょう。

(1)論理和(OR):IORWF,IORLW命令
(2)論理積(AND):ANDWF,ANDLW命令
(3)論理否定(NOT):COMF命令
(4)排他的論理和(XOR):XORWF,XORLW命令