ビット操作

命令形式

          // 即値形式
[ IF <cond> ] <dst> = SETBIT <n> of <xop>;
[ IF <cond> ] <dst> = CLRBIT <n> of <xop>;
[ IF <cond> ] <dst> = TGLBIT <n> of <xop>;
[ IF <cond> ] <dst> = TSTBIT <n> of <xop>;

          // 即値形式
AR = SETBIT 12 of AX0;  // bit 12 を 1 に。
AR = CLRBIT 12 of AX0;  // bit 12 を 0 に。
AR = TGLBIT 12 of AX0;  // bit 12 を反転。
AR = TSTBIT 12 of AX0;  // bit 12 が 1 ならば AZ=0, 0 ならば AZ=1。
IF EQ AR = SETBIT 12 of AX0;  // 条件実行

          // TSTBIT命令の使用例
AR = TSTBIT 7 of AX0;
IF EQ JUMP foo;     // bit 7 が 0 ならばラベル foo にジャンプする

説明

ビット操作命令は、<n>で示される位置のビットを操作します。結果はARかAFに格納します。

この命令はAND, OR, XOR命令の即値形式の別名であるため、基本形式や直交形式はありません。

文法要素

<dst>  ::= AR, AF
<xop>  ::= AX0, AX1, AR, MR2, MR1, MR0, SR1, SR0
<n>    ::= 0 から 15 までの即値
<cond> ::= EQ, NE, GT, LE, LT, GE, AV, NOT AV, AC, NOT AC, 
           SWCOND, NOT SWCOND, MV, NOT MV, NOT CE, TRUE
2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |