3

我试图了解内存间接寻址在具有 AT&T 语法的汇编语言中究竟是如何工作的。

movl (%eax), %ebx

movl %eax, (%ebx)

这是一个类似的问题,解释了内存间接寻址

这是我的理解:

在第一种情况下,您load将寄存器指向的数据%eax 存储在%ebx.

在第二种情况下,你将寄存器中store的数据放到寄存器%eax指向的地址空间%ebx。我对么?

4

1 回答 1

4

基本上语法是

movl source, destination

所以movl (%eax), %ebx确实是将 %eax 指向的地址的值复制到 %ebx 中。并将movl %eax, (%ebx)寄存器 %eax 中的值复制到 %ebx 指向的地址中。

所以确实你的理解是正确的。

于 2013-06-10T09:38:24.073 回答