2012-10-16 158 views
-2

正在执行相同的操作这两个指令:困惑与AT&T的汇编语法

mov $0x80000000, %esp 
mov $0x80000000, (%esp) 
mov $0x80000000, 0(%esp) 

而且,这是什么的指示进行操作:

mov (%eax), %eax 

回答

2

1:esp = 0x80000000的

第二和第三:4个字节的内存地址从esp = 0x80000000。

最后:eax =地址从eax的4个字节的内存。

顺便说一句,后缀l可能会丢失。我通常看到这些指令为movl,意思是移动一个long值值(= 4字节)。

查找(g)as或AT & T汇编语法教程。你不是第一个问这种问题的人。

+0

谢谢。但下一次只是回答这个问题。 – user904832

+0

我请你原谅? –