我试图通过AT& T语法了解内存间接寻址在汇编语言中是如何工作的。
movl (%eax), %ebx
movl %eax, (%ebx)
这是一个类似的问题,解释了memory indirect addressing
这就是我所理解的:
在第一种情况下,您load
注册%eax
指向的数据,并将其存储在%ebx
。
在第二种情况下,您store
寄存器%eax
中的数据到寄存器%ebx
指向的地址空间。我是对的吗?
答案 0 :(得分:4)
基本上语法是
movl source, destination
所以movl (%eax), %ebx
确实将%eax指向的地址的值复制到%ebx中。 movl %eax, (%ebx)
将寄存器%eax中的值复制到%ebx指向的地址。
所以你的理解确实是正确的。