-3
我正在嘗試反彙編Hex「8B EC」。反彙編器給我mov ebp, esp
在x86反彙編中「EC」的含義
- 「8B」 -
MOV
指令; - 「EC」 - ???;
反彙編程序如何知道「EC」是ebp, esp
?
我正在嘗試反彙編Hex「8B EC」。反彙編器給我mov ebp, esp
在x86反彙編中「EC」的含義
MOV
指令;反彙編程序如何知道「EC」是ebp, esp
?
EC
不是特別的ebp, esp
,它可能意味着各種事情取決於它前面的操作碼。
這可能意味着
/5 esp
(例如,在83 EC 10 sub esp, 16
)esp, ebp
(例如,在89 EC mov esp, ebp
)ebp, esp
(例如,在8B EC mov ebp, esp
)ah, ch
(例如,在00 EC add ah, ch
)ch, ah
(for例如,在02 EC add ch, ah
)mm5, mm4
(例如,在0F FC EC paddb mm5, mm4
)xmm5, xmm4
(例如,在66 0F FC EC paddb xmm5, xmm4
)sp, gs
(例如,在8C EC mov sp, gs
)gs, sp
(例如,在8E EC mov gs, sp
)st, st(4)
(例如在DB EC fucomi st, st(4)
中)st(4), st
(例如在中)實際上還有更多。所以,我建議不要單獨爲ModRM指定太多的含義,它的操作碼(和前綴)非常重要。
這就是所謂的「ModR/M」字節。它在[Intel架構手冊](https://www-ssl.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html)的第2A卷中有記載。看看[這個問題](https://stackoverflow.com/questions/3829602/hex-values-of-registers-x86?lq=1)有幫助。 – DCoder
反彙編器的知道方式與執行CPU的知道方式完全相同 - 該字節包含兩個3位寄存器代碼和按體系結構定義的某種方式打包的2位尋址模式。 – Notlikethat