使用FFREE和FDECSTP的(use of FFREE and FDECSTP)

2019-10-17 09:30发布

我无法理解这样的事情:有什么用这样的命令(FFREE,FDECSTP)的? 难道已经使用弹出值了FPU堆栈,或者这是某些其他目的? 我不明白:/可能有人解释说,TNX

Answer 1:

是的,使用FFREEFINCSTPFDECSTP您可以手动管理的FPU堆栈。 需要注意的是FPU堆栈向下增长类似于CPU堆栈,所以要去除(POP)是你标记注册为自由而递增堆栈指针。

你不会看到在典型的代码这些说明,特别是因为他们只能在同一时间运行一个寄存器。 在使用CPU堆栈的情况下ADD ESP, x可以一气呵成丢弃多个项目,你不能这样做,与FPU堆栈。 因此,通常使用FSTP st(0)丢弃,而不是等效一项, FFREE + FINCSTP对。 当分配一个项目,通常要进行初始化了,所以用一些FLD变种。



文章来源: use of FFREE and FDECSTP