| コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
|---|---|---|---|---|---|---|
| BITOFF | ビット番号 | 文字フィールド | ||||
BITOFF 命令では、演算項目 2 で識別されたビットが結果フィールドでオ フに設定 (0 に設定) されます。 演算項目 2 で識別されないビットは変わりま せん。したがって、BITOFF を使用して文字を形式設定する場合には、BITON と BITOFF の両方を使用しなければなりません。ビットをオン (=1) に設定する ように指定するためには BITON、ビットをオフ (=0) に設定するように指定 するためには BITOFF を使用します。 文字のすべてのビットをオンまたはオフに明示的に設定しない限り、希望す る文字を取り出すことはできません。
文字フィールドに特定のビット・パターンを割り当てたい場合には、演算項目 2 に 16 進数リテラルを指定して MOVE (転送)命令を使用します。
結果フィールドには、1 桁の文字フィールドを指定します。 配列のそれぞれの要素が 1 桁の文字フィールドの場合には、配列要素にするこ とができます。
詳細については、ビット操作を参照してください。
* Set off bits 0,4,6 in FieldG. Leave bits 1,2,3,5,7 unchanged.
* Setting off bit 0, which is already off, results in bit 0 remaining off.
* Factor 2 = 10001010
* FieldG = 01001111 (before)
* FieldG = 01000101 (after)
C BITOFF '046' FieldG
* Set off bits 0,2,4,6 in FieldI. Leave bits 1,3,5,7 unchanged.
* Setting off bit 2, which is already off, results in bit 2 remaining off.
* Factor 2 = 10101010
* FieldI = 11001110 (before)
* FieldI = 01000100 (after)
C BITOFF BITNC FieldI
* HEXNC is equivalent to literal '4567', bit pattern 00001111.
* Set off bits 4,5,6,7 in FieldK. Leave bits 0,1,2,3 unchanged.
* Factor 2 = 11110000
* FieldK = 10000000 (before)
* FieldK = 00000000 (after)
C BITOFF HEXNC2 FieldK
C RETURN