2015-04-02 78 views
1

嗨,大家好進出口工作在CTF挑戰,不太瞭解這個ASM命令:大會MOV指令

mov %edx,0x20(%esp,%eax,4) 

林假設它:移動$edx(0x20 + $esp + $eax + 4)

然而,當我檢查這個使用gdb這是不正確的。任何人都介意解釋這條指令的工作原理

感謝您的幫助!

+0

英特爾語法將使這個更清晰 – 2015-04-03 03:32:21

回答

2

AT用於x86內存引用& T語法是這樣的:

displacement(base,index,scale) 

給予位移+鹼+(指數*標度)的地址。

也就是說,您的指令的目標內存地址是%ESP + 0x20 +(4 *%EAX)。