第二部 トロン仕様チップ命令詳細|第十八章 10進演算強化命令
| DCCMP 10進演算強化命令 <<L2>> |
【ニモニックとオペランド】
DCCMP src1, src2
【機能】
Decimal calculation compare
10進比較
【オプション】
なし
【命令フォーマットと表記法】
【解説】
DCCMP命令はsrc1とsrc2を符号付きパック形式10進数として比較します。
src1とsrc2の符号が等しい場合には、src2からsrc1を10進減算して、その結果をフラグに反映します。
src1とsrc2の符号が異なる場合には、src1とsrc2を10進加算して、その結果をフラグに反映します。
10進加算または減算の結果として上位の数字からのキャリー(加算)またはボロー(減算)が発生する場合には、X_flagをセットします。
src1のサイズがsrc2のサイズよりも小さい場合には、比較に先立ってsrc1の上位桁に"0"が詰められます。他方、src2のサイズがsrc1のサイズよりも小さい場合には、比較に先立ってsrc2の上位桁に"0"が詰められます。
![]()
【フラグ変化】
<<絶対値加算の場合>>
<<絶対値減算の場合>>
【発生EIT】
RIE src1 [Gen/ru], src2 [Gen-I/ru]のアドレッシングモード違反 RIE sx = 11, sy = 11 DDT srcとdestの数字がH'0〜H'9以外の桁を含む DDT srcとdestの符号がH'a〜H'f以外
【使用例】
汎用レジスタR6で指定されたロケーションの内容(32ビット長)をR7で指定されたロケーションの内容と符号付き10進数として比較します。結果はフラグに反映されます。