这个指令有什么作用?
mov (%r11,%r12,1), %edx
看这里。它说
在 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)?
mov (%r11,%r12,1), %edx
该指令用于计算地址(索引寻址模式)。
%r11
是基址%r12
是一个索引1
是倍数它的工作是这样的:
地址 = 基地址 + 索引 * 倍数
基地址和倍数必须是常量(基地址可以是寄存器),索引必须是寄存器。