執行的指令是JE帶零標誌跳轉到1?
0044B8B8 |> F745 14 000800>TEST DWORD PTR SS:[EBP+14],800
0044B8BF |.^0F84 7BFFFFFF JE App.0044B840
EBP點0022F38C
所以+14爲哪個值00001002
而我們的800測試(是嗎?),並JE
相同JZ
(右?)寄存器在兩條指令(EIP除外)之間似乎沒有改變;
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
仍然是跳躍。誰能解釋爲什麼?
我想裝配上的底漆是不夠的..謝謝,在繼續之前我會再讀一些。 – natli 2013-02-10 19:38:14
它似乎有點反直覺...'cmp'然後'je'儘管理所當然。 – JosephH 2013-02-10 19:39:45
@natli我通常會去[本頁](http://en.wikibooks.org/wiki/X86_Assembly)快速查看各種說明,如果適合您,您可能需要查看。 – 2013-02-10 19:41:59