Ich debugging meinen Code auf x86 und das Problem verfolgt bis AND Befehl manchmal ZF-Flag nicht gelöscht, wenn das Ergebnis nicht Null ist. Hier ist das problematische Stück Code:x86: ZF wird nicht immer von AND aktualisiert?
0257A9F9 mov edx,dword ptr [ecx+18h] 0257A9FC and edx,80000h 0257AA02 int 3 0257AA03 je 0257AA2A
ich einen Haltepunkt nach und für das Debuggen hinzugefügt. Wenn es auf dem Haltepunkt EDX == 0x80000 und ZF == 1 stoppt. Aber ZF sollte gelöscht werden, wenn EDX! = 0. Der Code funktioniert einwandfrei, wenn Sie den Debugger einzeln ausführen, aber er schlägt während des normalen Laufs nicht ordnungsgemäß.
Hier ist eine screenshot der Debugger-Sitzung.
Irgendwelche Hinweise?
Wenn das wichtig ist, wird der Code von JIT generiert, also führe ich Daten aus.
Vielen Dank im Voraus.
Keine Notwendigkeit zu entschuldigen, wir waren alle da :) –
+1 für die Rückkehr an den Tatort und gestehen. –