我正在试图弄清楚汇编指令实际上做了什么
addsd -8(%rbp), %xmm0
我知道它是带有SSE2的x86-64机器上的浮点运算。另外,我知道%xmm0是一个寄存器。但是,我不确定的是-8(%rbp)的含义。手册有点令人困惑。
基本上,问题是,-8(%rbp)是指从寄存器中获取值(可能是rbp的最后8个字节),还是从内存中获取值(浮点值为偏移量) -8来自rbp中包含的地址)。
答案 0 :(得分:8)
你的第二个猜测是正确的。它正在访问距离地址-8
偏移rbp
个字节的值。
假设有AT& T语法,该指令从地址double
加载一个8字节rbp - 8
,并将其添加到xmm0
下半部分的值。