ビット単位で論理演算を実行するルーチンです。CBL_NOT 以外の各ルーチンは、いずれも 2 つの作用対象を使用します。
作用対象の長さ (length) がリテラルで指定されており、RETURNING 句が使用されていない場合は、ネイティブ コードがインライン コードを生成するように最適化されます。
2 つの作用対象、つまり source および target を使用するルーチンでは、これらの作用対象を入れ替えても結果は変わりません (CBL_IMP は除く)。ただし、計算結果は常に 2 つ目の作用対象 (target) に格納されます。
source または target の長さが length の値より短い場合は、該当するデータ項目の後続バイトが、指定された length の長さまで使用されます。
次のいずれかの構文を使用すれば、length は省略できます。
length of source
または
length of target
ただし、データ項目の全バイトが使用されることが条件です。
論理積および論理和は、VALUE 句を使って実行することも可能です。
これらのルーチンは、RETURN-CODE には影響を与えません。