执行的指令是
0044B8B8 |> F745 14 000800>TEST DWORD PTR SS:[EBP+14],800
0044B8BF |.^0F84 7BFFFFFF JE App.0044B840
EBP 指向0022F38C
所以 +14 是我们测试 800 时的0022F3A0
哪个值(对吗?)并且与(对吗?)寄存器似乎在两条指令之间没有改变(EIP 除外);00001002
JE
JZ
EAX 00000039
ECX 00000000
EDX 00000000
EBX 0022F3C9
ESP 0022F37C ASCII "XY"
EBP 0022F38C
ESI CCCCCCCD
EDI 004597E6 ASCII "XYZ"
EIP 0044B8BF App.0044B8BF
C 0 ES 0023 32bit 0(FFFFFFFF)
P 1 CS 001B 32bit 0(FFFFFFFF)
A 0 SS 0023 32bit 0(FFFFFFFF)
Z 1 DS 0023 32bit 0(FFFFFFFF)
S 0 FS 003B 32bit 7FFDD000(FFF)
T 0 GS 0000 NULL
D 0
O 0 LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -??? FFFF 00700070 00700070
ST1 empty -??? FFFF 00F000F0 00F000F0
ST2 empty -??? FFFF 005A0040 004E006A
ST3 empty -??? FFFF 000E0005 006000EB
ST4 empty -??? FFFF 1D0A67F9 E9A7BEF0
ST5 empty 0.0000000000000006002
ST6 empty 0.0000000000000006002
ST7 empty 0.0000000000000006002
3 2 1 0 E S P U O Z D I
FST 4000 Cond 1 0 0 0 Err 0 0 0 0 0 0 0 0 (EQ)
FCW 037F Prec NEAR,64 Mask 1 1 1 1 1 1
然而,仍然进行了跳跃。谁能解释为什么?