是的,使用,FFREE
您可以手动管理 FPU 堆栈。请注意,FPU 堆栈的增长类似于 CPU 堆栈,因此要删除(弹出)某些内容,您将寄存器标记为空闲并递增堆栈指针。FINCSTP
FDECSTP
您不会在典型代码中看到这些指令,尤其是因为它们一次只能操作一个寄存器。如果使用 CPU 堆栈ADD ESP, x
,您可以一次性丢弃多个项目,而使用 FPU 堆栈则无法做到这一点。因此,通常您使用FSTP st(0)
丢弃一个项目,而不是等效的FFREE
+FINCSTP
对。分配项目时,您通常也想初始化,所以使用一些FLD
变体。