絶対値

命令形式

          // 直交形式
<dst> = ABS <dreg>;

          // 基本形式
[ IF <cond> ] <dst> = ABS <xop>;

          // 直交形式
AR = ABS MY0;

          // 基本形式
AR = ABS AX0;
IF GE AR = ABS AX1;  // 条件実行

説明

オペランドの絶対値を計算します。結果はARかAFに格納します。なお、オペランドが-1ちょうどの場合はASTATのAVフラグが1になります。

実チップ(Rev 0.1)で試したところオペランドが-1(0x8000)だと結果も-1(0x8000)となりました。妥当な値だと思われます。ABS(-1)も参考にしてください。なお、AR_SATモードの場合は結果は0x7FFFとなります。

文法要素

<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
<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 |