x86 でコードをデバッグしていますが、結果がゼロでない場合、AND 命令で ZF フラグがクリアされないことがあります。問題のあるコードは次のとおりです。
0257A9F9 mov edx,dword ptr [ecx+18h] 0257A9FC と edx,80000h 0257AA02 整数 3 0257AA03 ジェ 0257AA2A
デバッグ用に AND の後にブレークポイントを追加しました。ブレークポイント EDX==0x80000 および ZF==1 で停止した場合。ただし、EDX!=0 の場合は ZF をクリアする必要があります。デバッガーでシングルステップを実行すると、コードは完全に正常に動作しますが、通常の実行中は一貫して失敗します。
これは、デバッガー セッションのスクリーンショットです。
ヒントはありますか?
それが問題であれば、コードは JIT によって生成されるので、データを実行しています。
前もって感謝します。