我在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