資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。
1: 2007-11-06 (火) 15:09:00 ソース バックアップ No.1 を復元して編集 現: 2024-01-06 (土) 22:37:41 ソース 編集
Line 1: Line 1:
[[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|


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 4049, today: 2, yesterday: 1