資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。
1: 2007-11-06 (火) 15:09:00 |
現: 2024-01-06 (土) 22:37:41 |
| [[FrontPage]] | | [[FrontPage]] |
| | | |
- | sfssdfds | + | 比較を行う。~ |
| + | 比較の結果は各フラグで判定できる |
| + | |
| + | *できること [#p6f6d78f] |
| + | CMP AX,BX ;レジスタとレジスタを比較する |
| + | |
| + | CMP AX,[0x200] ;レジスタとメモリの内容を比較する |
| + | |
| + | CMP AX,0x3F ;レジスタと即値を比較する |
| + | |
| + | CMP [0x200],0x3F ;メモリの内容と即値を比較する |
| + | |
| + | |
| + | *できないこと [#x91ab0f2] |
| + | CMP [0x200],[0x250] ;メモリの内容同士を直接比較する |
| + | |
| + | CMP 0x3F,0xA8 ;即値同士を直接比較する |
| + | |
| + | CMP ES,[0x250] ;セグメントレジスタが絡む比較 |
| + | |
| + | ---- |
| + | -CMPで比較を行っても値はまったく変化しない。FLAGSのレジスタが変化するだけである。 |
| + | |
| + | -比較した後は各種ジャンプ命令で条件分岐を行う。詳しくは[[こちら>NASK/条件分岐]]を。 |
| + | |
| + | *ウンチク [#hd8d5049] |
| + | 以下は知らなくても実用上はあまり問題ではない話。 |
| + | |
| + | |
| + | CMP命令はSUBと同じ法則でFLAGSを変化させる。いうなれば''値が変化しない引き算''と言える。 |
| + | |
| + | |
| + | 具体的には以下のように各フラグが変化する。 |
| + | |
| + | |
| + | |
| + | CMP AX,BX |
| + | |
| + | | |>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:FLAGS|h |
| + | |~CMP結果|~ |~NT|~IOPL|~0F|~DF|~IF|~TF|~SF|~ZF|~ |~AF|~ |~PF|~ |~CF| |
| + | | AX > BX|-|-|-|-|-|-|-|-|0|-|-|-|-|-|0| |
| + | | AX = BX|-|-|-|-|-|-|-|-|1|-|-|-|-|-|0| |
| + | | AX < BX|-|-|-|-|-|-|-|-|0|-|-|-|-|-|1| |
Counter: 4049,
today: 2,
yesterday: 1