第二部 トロン仕様チップ命令詳細|第十八章 10進演算強化命令
| DCADJX 10進演算強化命令 <<L2>> |
【ニモニックとオペランド】
【機能】
Decimal calculation adjust with borrow
10進補正拡張演算
【オプション】
なし
【命令フォーマットと表記法】
【解説】
DCADJX命令は符号付きまたは符号なしパック形式10進数の上位桁の補数を取ります。
src及びdestは符号付きまたは符号なしパック形式10進数の上位桁と解釈されます。
srcとX_flagを"0"から符号なしで10進減算して、その結果をdestと置き換えます。
上位の桁へのボローが発生する場合には、X_flagをセットします。
旧Z_flagが"1"で、新destが"0"の場合には、Z_flagを"1"にセットします。
srcのサイズがdestのサイズよりも小さい場合には、srcのサイズで補数演算した結果の値をdestの下位桁に格納し、destの上位桁には"0"が詰められます。他方、srcのサイズがdestのサイズよりも大きい場合には、srcのサイズで補数演算を行います。上位桁(destに入らない桁)はカットされます。この場合、カットされる値を検査して、srcの補数をdestのサイズ内で表現できない場合にはオーバフローを示すためにV_flagをセットします。
![]()
【フラグ変化】
【発生EIT】
RIE src [Gen/ru], dest [Gen/wu]のアドレッシングモード違反 RIE sx = 11, sy = 11 DDT srcがH'0〜H'9以外の桁を含む
【使用例】
汎用レジスタR2とX_flag(32ビット長)を"0"から符号なし10進減算します。結果はR5に32ビット長で格納されます。