以下汇编指令添加了什么-8(%rbp),%xmm0?

时间:2012-05-01 15:28:11

标签: x86 x86-64 sse2 assembly memory-access

我正在试图弄清楚汇编指令实际上做了什么

addsd   -8(%rbp), %xmm0

我知道它是带有SSE2的x86-64机器上的浮点运算。另外,我知道%xmm0是一个寄存器。但是,我不确定的是-8(%rbp)的含义。手册有点令人困惑。

基本上,问题是,-8(%rbp)是指从寄存器中获取值(可能是rbp的最后8个字节),还是从内存中获取值(浮点值为偏移量) -8来自rbp中包含的地址)。

1 个答案:

答案 0 :(得分:8)

你的第二个猜测是正确的。它正在访问距离地址-8偏移rbp个字节的值。

假设有AT& T语法,该指令从地址double加载一个8字节rbp - 8,并将其添加到xmm0下半部分的值。