大会MOV指令(Assembly MOV Instruction)

2019-10-22 11:50发布

嗨,大家好进出口工作在CTF挑战,不太了解这个ASM命令:

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

林假设它:移动$edx(0x20 + $esp + $eax + 4)

然而,当我检查这个使用gdb这是不正确的。 任何人都介意解释这个指令是如何工作的?

谢谢你的帮助!

Answer 1:

AT&T语法的x86内存引用是这样的:

displacement(base,index,scale)

给予位移+碱+(指数*标度)的地址。

也就是说,目标存储器地址为您instuction是%ESP + 0×20 +(4 *%EAX)。



文章来源: Assembly MOV Instruction