我在x86上調試我的代碼,並且問題跟蹤到AND指令 如果結果不爲零,有時不會清除ZF標誌。 這裏是有問題的代碼:x86:ZF不總是用AND更新?
0257A9F9 mov edx,dword ptr [ecx+18h] 0257A9FC and edx,80000h 0257AA02 int 3 0257AA03 je 0257AA2A
我添加了一個斷點後進行調試。 當它在斷點EDX == 0x80000和ZF == 1處停止時。 但是如果EDX!= 0,ZF應該被清除。 當單步進入調試器時,代碼工作得很好, 但在正常運行期間它一直失敗。
這裏是調試器會話的screenshot。
任何提示?
如果事情的代碼是由JIT生成的,那麼我正在執行數據。
預先感謝您。
不需要道歉,我們一直在那裏:) – 2009-01-22 15:46:49