170419 彙編 cmp指令

2021-07-30 20:30:16 字數 578 閱讀 7116

1625-5 王子昂 總結《2023年4月19日》 【連續第200天總結】

a.組合語言十一章

b.cmp指令是比較指令,相當於減法,但不儲存結果

它執行後對標準暫存器產生影響,其他相關指令通過讀取flag來得知結果

eg: cmp ax,ax

結果:zf=1,pf=1,sf=0,cf=0,of=0

對cmp ax,bx

若ax=bx,則zf=1

若ax!=bx,則zf=0

若ax若ax>=bx,則ax-bx不借位,所以cf=0

若ax>bx,則既不必借位結果也不為0,所以cf=0,zf=0

若ax<=bx,則有可能借位,也有可能結果為0,所以cf=1或zf=1

依據上面的推導結果,可以反過來由flag的狀態得知ax和bx的比較結果

當有符號數之間進行運算發生溢位(8位:-128~127)的時候,將會導致符號標誌位異常,此時需要結合of溢位標誌位進行判斷。即當of為1時,sf取反,of為0時,sf取正。

因此使用cmp後的結果,需要結合多個標誌位仔細分析。

c.明日計畫

組合語言 依據cmp的條件轉移指令

彙編基礎 cmp彙編指令

cmp是比較指令,cmp的功能相當於減法指令。它不儲存結果,只是影響相應的標誌位。其他的指令通過識別這些被影響的標誌位來得知比較結果。cmp指令格式 cmp 操作物件1,操作物件2 計算 操作物件1 操作物件2 但不儲存結果,只是根據結果修改相應的標誌位。舉例假如此時eax 0h 那麼cmp eax...

彙編cmp比較指令詳解

剛剛看到了cmp指令,一開始有點暈。後來上網找了些資料,終於看明白了,為了方便初學者,我就簡單寫下我的思路吧。高手繞過,謝謝!cmp compare 指令進行比較兩個運算元的大小 例 cmp oprd1,oprd2 為第乙個操作減去第二個運算元,但不影響第兩個運算元的值 它影響flag的cf,zf,...

彙編cmp比較指令詳解

剛剛看到了cmp指令,一開始有點暈。後來上網找了些資料,終於看明白了,為了方便初學者,我就簡單寫下我的思路吧。高手繞過,謝謝!cmp compare 指令進行比較兩個運算元的大小 例 cmp oprd1,oprd2 為第乙個操作減去第二個運算元,但不影響第兩個運算元的值,它影響flag的cf,zf,...