寄存器周围的括号是啥意思? [复制]
Posted
技术标签:
【中文标题】寄存器周围的括号是啥意思? [复制]【英文标题】:What do parentheses surrounding a register mean? [duplicate]寄存器周围的括号是什么意思? [复制] 【发布时间】:2020-04-03 02:42:47 【问题描述】:寄存器在操作中用括号括起来有什么区别?
例如:
movl (%edx), %eax
对
movl %edx, %eax
提前谢谢你!
【问题讨论】:
看看这个:***.com/questions/59629710/… 间接寻址方式。其中寄存器 %edx 中存储的值将被视为内存地址,并且该地址中存储的值将被复制到 %eax。 【参考方案1】:表示“存储在寄存器中的地址处的内存”。
【讨论】:
【参考方案2】:从一个寄存器移动到另一个,eax 到 edx edx 到 eax。
movl %edx, %eax
从 eax 移动到 edx 中包含的内存地址。
从 edx 中包含的内存地址移动到 eax。
movl (%edx), %eax
如何自行查找:搜索“x86 汇编语法” This page 是结果之一。
【讨论】:
你确定你没看错吗? AT&T 语法是mov source, destination
。因此,您的第一个示例会将值从edx
寄存器移动到eax
寄存器。我假设 AT&T 语法,因为 Intel 语法不会在寄存器前面加上 %
。
@JimMischel 对,感谢您的指正。以上是关于寄存器周围的括号是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章