TM

1. Syntax

1 TM(string,mask)

選択されたストリング・ビットがテストされ、それに応じて条件コードが設定されます。FASTREXX に適した類似の関数についてはFLD_TMを参照してください。

Returns
テスト済みのビットがすべて 1 であれば、TM は 1 を戻します。そうでなければ、TM は 0 を戻します。
string
リテラル・ストリング、またはストリングを表す変数。
mask
string の中のどのビットをテストするか決定する ビット・ストリング。

テストの長さは、stringmask の 2 つの引数のうちの、 短い方の長さに基づきます。mask ビットの 1 は、string の中の等価のビットがテストされることを示します。mask ビットがゼロの場合、 等価の string ビットは無視されます。

例 1

入力レコードの 3 番目のバイトをテストし、下位ビットが設定されていれば、そのレコードの 2 番目のバイトに 16 進数の FF をオーバーレイします。
If TM(FLD(3,1),'01'x) Then Do
  outrec = OVERLAY('FF'x,outrec,2)
  Return
 End
Return 'DROP'

例 2

入力レコードの 3 番目のバイトをテストし、上位ビットが設定されていれば、そのレコードの 2 番目のバイトの内容に 16 進数の 04 で論理和演算します。
If TM(FLC(3,1),'10000000'b) Then Do
  outrec = OVERLAY(BITOR(fld(2,1),'04'x),outrec,2)
  Return
End
Return 'DROP'