| ADDDX 10進演算命令 <<L2>> |
【ニモニックとオペランド】
【機能】
Add decimal with carry
キャリー付き10進加算
【オプション】
なし
【命令フォーマットと表記法】
【解説】
srcとX_flagをdestに符号なしパック形式10進数として加算します。
dest(10進数)+ src(10進数)+ X_flag → dest
srcのサイズがdestのサイズよりも小さい場合には、srcをdestのサイズにゼロ拡張してから演算を行います。
結果が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_flagとX_flagがセットされます。