逆減算

命令形式

          // 基本形式
[ IF <cond> ] <dst> = <yop> - <xop>;
[ IF <cond> ] <dst> = <yop> - <xop> + c - 1;
[ IF <cond> ] <dst> = - <xop> + c - 1;

          // 即値形式
[ IF <cond> ] <dst> = <imm> - <xop>;
[ IF <cond> ] <dst> = <imm> - <xop> + c - 1;

          // 基本形式
AR = AY0 - AX0;
AR = AY1 - MR1 + C - 1; // ボロー補正
AR = - AX1 + C - 1;     // ボロー補正のみ
IF EQ AY0 - AX0;        // 条件実行

          // 即値形式
AR = 128 - AX0;
AR = 256 - AX1 + C - 1; // ボロー補正

説明

第一オペランドから第二オペランドを引いた結果をARまたはAFに格納します。 ただし、第一オペランドは<yop>で、第二オペランドが<xop>です。"+ C - 1 "を付け加えることで、下位からのボロー(Borrow : 桁下げ)を受け取ることができます。

文法要素

<dst>  ::= AR, AF
<dreg> ::= AX0, AX1, AY0, AY1, MX0, MX1, MY0, MY1, 
           SI, AR, MR2, MR1, MR0, SR2, SR1, SR0
<xop>  ::= AX0, AX1, AR, MR2, MR1, MR0, SR1, SR0
<yop>  ::= AY0, AY1, AF, 0
<imm>  ::= <即値>
<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 |