2013-02-14 681 views
1

以下流水線中的0x4是什麼意思?從cmp 0x4(%esi),%ebx彙編指令表示的0x4是什麼意思?

cmp 0x4(%esi),%ebx 
je ... 

當這種比較收益相等,則執行該跳中,寄存器中的值: %esi0xe944d6d0 %ebx0xe94ceccc

對不起,問這麼簡單的問題,但我有一個困難時期,例如搜索paranthesis notation with google。在時間壓力下花了半個多小時。

+1

如果您不熟悉AT&T語法,則可以切換到英特爾語法。 http://stackoverflow.com/a/972614/1354557 – user1354557 2013-02-14 16:22:06

回答

3

即AT & T語法,在Intel語句這將是:

cmp ebx,[esi+4] 

注意操作數的順序是相反的。

在Intel語法中,它是dest,src。在AT &它是src,dest。

所以基本上是與指令減去ebx存儲在[esi+4] DWORD值存儲在[esi+4] DWORD值比較ebx,就像sub會做,但只有cmp更新的標誌,它不結果存儲在任何地方。

相關問題