第二部 トロン仕様チップ命令詳細第十章 10進演算命令
ADDDX
10進演算命令 <<L2>>

【ニモニックとオペランド】

ADDDX src, dest

【機能】

Add decimal with carry
キャリー付き10進加算

【オプション】

なし

【命令フォーマットと表記法】

【解説】

 srcX_flagdestに符号なしパック形式10進数として加算します。
   dest10進数)+ src10進数)+ X_flagdest
 srcのサイズがdestのサイズよりも小さい場合には、srcdestのサイズにゼロ拡張してから演算を行います。
 結果がdestオペランドの長さの符号なしパック形式10進数として表現できない場合には、V_flag がセットされます。L-flagは常にクリアされ、destのサイズからのキャリーがX_flagにセットされます。Z_flagは、実行前にZ-flagがセットされており、かつ実行後destがゼロになる場合にのみセットされます。

【フラグ変化】


【発生EIT】

RIE src [Gen/ru], dest [Gen/mu]のアドレッシングモード違反
RIE sx = 11, sy = 11

【使用例】


 16ビット長の数値H'a76eを32ビットに符号拡張し(H'ffffa76e)、R1の値(H'0000003a)に加算します。この加算結果(H'ffffa7a8)で示されるメモリアドレスから32ビットのデータをフェッチします。このデータ(H'12345678)をR0に10進数として加算します。
dest (98760000) + src (12345678) = (111105678)
(11105678) → R0

 V_flagX_flagがセットされます。