Estoy depurando mi código en x86 y el problema rastrea hasta AND instrucción a veces no borra la bandera ZF si el resultado no es cero. Aquí está la pieza de código problemática:x86: ZF no siempre se actualiza por Y?
0257A9F9 mov edx,dword ptr [ecx+18h] 0257A9FC and edx,80000h 0257AA02 int 3 0257AA03 je 0257AA2A
que añade un punto de interrupción después de Y para la depuración. Cuando se detiene en el punto de interrupción EDX == 0x80000 y ZF == 1. Pero ZF debe borrarse si EDX! = 0. El código funciona perfectamente bien cuando se ingresa solo en el depurador, pero falla consistentemente durante la ejecución normal.
Aquí hay una sesión de depurador screenshot.
¿Alguna pista?
Si eso importa, el código es generado por JIT, entonces estoy ejecutando datos.
Gracias de antemano.
No hay necesidad de disculparse, todos hemos estado allí :) –
+1 por volver a la escena del crimen y confesar. –