我正在跟蹤一些x86代碼的任務,我想知道「cmpl」究竟做了什麼以及如何預測「jne」是否會被滿足。x86 cmpl和jne
80484bf: 83 7d f0 07 cmpl $0x7,-0x10(%ebp)
80484c3: 75 16 jne 80484db
此外,這使用英特爾語法。
謝謝。
我正在跟蹤一些x86代碼的任務,我想知道「cmpl」究竟做了什麼以及如何預測「jne」是否會被滿足。x86 cmpl和jne
80484bf: 83 7d f0 07 cmpl $0x7,-0x10(%ebp)
80484c3: 75 16 jne 80484db
此外,這使用英特爾語法。
謝謝。
CMPL從$ 0x7的減去-0x10(%EBP),並修改標誌:AF CF PF SF ZF的。
要summerize,代碼等同於:
compare A to B
jump into 80484db if they are different.
非常感謝。所以如果-0x10(%ebp)減去$ 0x7不等於零,那麼ZF被設置爲0?或者是周圍的其他方式? – Richarizard 2013-03-08 08:42:36
不客氣。是的,如果-0x10(%ebp)減去$ 0x7不相等,則ZF被設置爲0 – 2013-03-08 08:54:42
順便說一句:這是AT&T語法。 – 2013-03-08 08:09:31