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オペランドの値以上である場合はキャリーフラグがセットされます。

参照