TM
選択されたストリング・ビットがテストされ、それに応じて条件コードが設定されます。
テストの長さは、string と mask の 2 つの引数のうちの、 短い方の長さに基づきます。mask ビットの 1 は、string の中の等価のビットがテストされることを示します。mask ビットがゼロの場合、 等価の string ビットは無視されます。テスト済みのビットがすべて 1 であれば、TM は 1 を戻します。そうでなければ、TM は 0 を戻します。
例 1
入力レコードの 3 番目のバイトをテストし、下位ビットが設定されていれば、そのレコードの 2 番目のバイトに 16 進数の FF をオーバーレイします。
if TM(fld(3,1),'01'x) then do
outrec = OVERLAY('FF'x,outrec,2)
exit
end
exit drop例 2
入力レコードの 3 番目のバイトをテストし、上位ビットが設定されていれば、そのレコードの 2 番目のバイトの内容に 16 進数の 04 で論理和演算します。
if TM(fld(3,1),'10000000'b) then do
outrec = OVERLAY(BITOR(fld(2,1),'04'x),outrec,2)
exit
end
exit drop