混淆了AT& T汇编语法

时间:2012-10-16 10:35:45

标签: assembly syntax x86

这两条指令是否执行相同的操作:

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

此外,该指示的作用是什么:

mov (%eax), %eax

1 个答案:

答案 0 :(得分:2)

1st:esp = 0x80000000

第2和第3个:来自esp = 0x80000000的地址的4个字节的内存。

Last:eax =来自eax的地址的4个字节的内存。

顺便说一句,l后缀可能已丢失。我通常将这些指令视为movl,这意味着移动 long 值(= 4个字节)。

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