資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。

FrontPage

比較を行う。
比較の結果は各フラグで判定できる

できること anchor.png Edit

CMP    AX,BX              ;レジスタとレジスタを比較する

CMP    AX,[0x200]         ;レジスタとメモリの内容を比較する

CMP    AX,0x3F            ;レジスタと即値を比較する

CMP    [0x200],0x3F       ;メモリの内容と即値を比較する
Page Top

できないこと anchor.png Edit

CMP    [0x200],[0x250]    ;メモリの内容同士を直接比較する

CMP    0x3F,0xA8          ;即値同士を直接比較する

CMP    ES,[0x250]         ;セグメントレジスタが絡む比較

  • CMPで比較を行っても値はまったく変化しない。FLAGSのレジスタが変化するだけである。
  • 比較した後は各種ジャンプ命令で条件分岐を行う。詳しくはこちらを。
Page Top

ウンチク anchor.png Edit

以下は知らなくても実用上はあまり問題ではない話。

CMP命令はSUBと同じ法則でFLAGSを変化させる。いうなれば値が変化しない引き算と言える。

具体的には以下のように各フラグが変化する。

CMP  AX,BX  	
FLAGS
CMP結果NTIOPL0FDFIFTFSFZFAFPFCF
AX > BX--------0-----0
AX = BX--------1-----0
AX < BX--------0-----1

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 4094, today: 2, yesterday: 0
Last-modified: 2012-10-22 (Mon) 21:57:54 (GMT) (2929d) by