小编dan*_*ila的帖子

x86:ZF并不总是由AND更新?

我在x86上调试我的代码,如果结果不为零,问题跟踪到AND指令有时不会清除ZF标志.这是一段有问题的代码:

0257A9F9  mov         edx,dword ptr [ecx+18h] 
0257A9FC  and         edx,80000h 
0257AA02  int         3    
0257AA03  je          0257AA2A 

我在AND之后添加了一个断点用于调试.当它在断点EDX == 0x80000和ZF == 1时停止.但是如果EDX!= 0,则应清除ZF.当单步进入调试器时,代码完全正常,但在正常运行期间它会一致地失败.

这是调试器会话的屏幕截图.

任何提示?

如果这很重要,代码是由JIT生成的,那么我正在执行数据.

先感谢您.

x86 assembly

7
推荐指数
1
解决办法
678
查看次数

标签 统计

assembly ×1

x86 ×1