【问题标题】:What is the meaning of MOV (%r11,%r12,1), %edx?MOV(%r11,%r12,1),%edx是什么意思?
【发布时间】:2011-02-22 10:54:03
【问题描述】:

这条指令有什么作用?

mov (%r11,%r12,1), %edx

【问题讨论】:

标签: assembly x86 att mov addressing-mode


【解决方案1】:

here。它说

在 AT&T 语法中,内存是 引用方式如下,

segment-override:signed-offset(base,index,scale)

页面下方有一些示例。我觉得这是最好的:

GAS memory operand   NASM memory operand
------------------   -------------------
(%ecx,%ebx,2)    [ecx+ebx*2]

mov source, destination 在 AT&T 语法中将值从源复制到目标。还要考虑edx的大小。你认为mov 会复制多少字节(4)?

【讨论】:

    【解决方案2】:

    mov (%r11,%r12,1), %edx该指令用于计算地址(索引寻址方式)。

    • %r11 是基本地址
    • %r12 是一个索引
    • 1 是一个乘法器

    它是这样工作的:

    adres = 基本地址 + 索引 * 倍数

    基址和倍数必须是常数(基址可以是寄存器),索引必须是寄存器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-14
      • 2013-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多