CMPW 命令 (Compare 16bit Value) |
指定された2つの16ビット値を比較し、結果をステータスフラグへ返します。
CMPオーバーロード
オペコード |
構文 |
アドレッシングモード |
バイト数 |
命令サイクル |
注 |
5A
|
CMPW YA, dp CMP.w dp
|
Direct Page
|
2
|
4
|
|
フラグ変化
n----zc
n: 比較結果のMSBがセットされる
z: 比較結果が0の場合にセットされる
c:
比較結果において符号なしボロー(桁下がり)が発生しない場合にセットされる (これは内部演算で算術オーバーフローが発生した場合と等価)
解説
CMPW命令はYAペアとダイレクトページ内の16ビット値を比較し、その結果をステータスフラグへ返します。
比較には減算が用いられ、第1オペランドから第2オペランドの値を引いて評価します。この命令によってステータスフラグ以外のレジスタおよびメモリの状態は変更されません。
結果が0の場合、すなわち、2つのの値が等しい場合にはZフラグがセットされます。また、ボローが発生しない場合、すなわち第1オペランドの値が第2オペランドの値以上である場合はキャリーフラグがセットされます。
参照