2

我必须将浮点寄存器保存到堆栈中。
我尝试使用 fsave 指令。
我执行以下操作:

fsave (%esp)

但作为参数 fsave 使用 16 字节对齐的地址。

我不知道如何使 %esp 中的地址对齐 16 字节。

4

1 回答 1

4

使用英特尔风格的语法:

    push    ebp             ;save ebp
    mov     ebp,esp         ;save esp in ebp
    and     esp,0fffffff0h  ;round esp down to 16 byte boundary
    sub     esp,128         ;allocate multiple of 16 bytes
于 2014-02-17T14:18:21.490 回答