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

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

DCCMPX src1, src2

【機能】

Decimal calculation compare with extension flag
10進比較拡張演算

【オプション】

なし

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

【解説】

 DCCMPX命令は符号付きまたは符号なしパック形式10進数の上位桁を比較します。
 src1およびsrc2は符号付きまたは符号なしパック形式10進数の上位桁と解釈されます。
 S_flagが"0"の場合には、src1とX_flagをsrc2に10進加算して、その結果をフラグに反映します。
 S_flagが"1"の場合には、src1とX_flagをsrc2から10進減算して、その結果をフラグに反映します。
 10進加算または減算の結果として上位の数字からのキャリー(加算)またはボロー(減算)が発生する場合には、X_flagをセットします。
 旧Z_flagが1で、src1とX_flagがsrc2に等しい場合には、Z_flagを1にセットします。
DCCMPX命令はDCCMPUまたはDCCMPX命令に引き続いて実行され
ます。
 src1のサイズがsrc2のサイズよりも小さい場合には、比較に先立ってsrc1の上位桁に"0"が詰められます。他方、src2のサイズがsrc1のサイズよりも小さい場合には、比較に先立ってsrc2の上位桁に"0"が詰められます。

【フラグ変化】

【発生EIT】

RIE  src1 [Gen/ru], src2 [Gen-I/ru]のアドレッシングモード違反
RIE  sx = 11, sy = 11
DDT srcdestがH'0〜H'9以外の桁を含む

【使用例】



 汎用レジスタR2とX_flag(32ビット長)をR3と比較します。結果はフラグに反映されます。