論理演算子ルーチン

論理ルーチンは、ビット単位で論理演算を実行する。CBL_NOT 以外のルーチンは、いずれも 2 つのデータ項目を使用する。

データ項目の長さ (length) がリテラルで指定されており、RETURNING 句が使用されていない場合は、ネイティブ コードがインライン コードを生成するように最適化される。

CBL_IMP 以外の 2 つのデータ項目を使用するルーチンについては、source および target を入れ替えても演算結果に変わりはない。ただし、演算結果は常に 2 番目のデータ項目 (target) に格納される。

source や target の長さが length の値より短い場合は、該当するデータ項目の後続バイトも、指定された length の長さまで使用される。

次のいずれかの構文を使用すれば、length を置換できる。

        length of source

または

        length of target

ただし、データ項目の全バイトが使用されるものとする。

論理積と論理和は、VALUE 句を使って実行することもできる。

これらのルーチンは、RETURN-CODE には影響を与えない。