TESTB (ビットのテスト)

自由形式構文 (許可されていない - %BITAND 組み込み関数を使用。 図 174 を参照。)
コード 演算項目 1 演算項目 2 結果フィールド 標識
TESTB ビット番号 文字フィールド OF ON EQ

TESTB では、演算項目 2 で識別されるビットが結果フィールドとして指定さ れたフィールドの対応するビットと比較されます。 結果フィールドは 1 桁の文 字フィールドでなければなりません。 71 から 76 桁目の結果の 標識は、結果フィールドのビットの状況を反映します。 演算項目 2 は、常に結果フィールドの元となるビットです。

演算項目 2 には以下のものを入れることができます。

図 359 に、TESTB 命令の使用法を示します。

71 から 76 桁目に割り当てられた標識は、結果フィールドのビットの状況を反映 します。 1 つの命令に少なくとも 1 つの標識を割り当てなければならず、最大 3 つまで割り当ていることができます。 TESTB 命令では、結果の標識は次のように設定されます。

詳細については、ビット操作または テスト命令を参照してください。

図 359. TESTB 命令
*...1....+....2....+....3....+....4....+....5....+....6....+....7...+....
CL0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
 *
 *  The field bit settings are FieldF = 00000001, and FieldG = 11110001.
 *
 *  Indicator 16 is set on because bit 3 is off (0) in FieldF.
 *  Indicator 17 is set off.
C                   TESTB     '3'           FieldF               16  17
 *
 *  Indicator 16 is set on because both bits 3 and 6 are off (0) in
 *  FieldF.  Indicators 17 and 18 are set off.
C                   TESTB     '36'          FieldF               161718
 *
 *  Indicator 17 is set on because bit 3 is off (0) and bit 7 is on
 *  (1) in FLDF.  Indicators 16 and 18 are set off.
C                   TESTB     '37'          FieldF               161718
 *
 *  Indicator 17 is set on because bit 7 is on (1) in FLDF.
 *  Indicator 16 is set off.
C                   TESTB     '7'            FieldF              16  17
 *
 *  Indicator 17 is set on because bits 0,1,2, and 3 are off (0) and
 *  bit 7 is on (1).  Indicators 16 and 18 are set off.
C                   TESTB     FieldG         FieldF              161718
 *
 *  The hexadecimal literal X'88' (10001000) is used in factor 2.
 *  Indicator 17 is set on because at least one bit (bit 0) is on
 *  Indicators 16 and 18 are set off.
C                   TESTB     X'88'          FieldG              161718