【问题标题】:What do parentheses surrounding a register mean? [duplicate]寄存器周围的括号是什么意思? [复制]
【发布时间】:2020-04-03 02:42:47
【问题描述】:

寄存器在操作中用括号括起来有什么区别?

例如:

movl (%edx), %eax

movl %edx, %eax

提前谢谢你!

【问题讨论】:

标签: assembly x86 cpu-registers att addressing-mode


【解决方案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 对,感谢您的指正。
    猜你喜欢
    • 2021-10-23
    • 2012-11-16
    • 1970-01-01
    • 2010-10-01
    • 2014-10-01
    • 2011-04-02
    相关资源
    最近更新 更多