Использование FFREE и FDECSTP
Я не могу понять это: для чего нужны такие команды (FFREE, FDECSTP)? Может ли он использовать для выталкивания значения из стека fpu, или это для какой-то другой цели? Я не понимаю:/ Может кто-то объяснить это, TNX
1 ответ
Да, используя FFREE
, FINCSTP
а также FDECSTP
Вы можете управлять стеком FPU вручную. Обратите внимание, что стек FPU растет аналогично стеку ЦП, поэтому для удаления (выталкивания) чего-либо вы помечаете регистр как свободный и увеличиваете указатель стека.
Вы не увидите эти инструкции в типичном коде, тем более что они могут работать только с одним регистром за раз. В случае использования процессора ADD ESP, x
вы можете сбросить несколько элементов за один раз, вы не можете сделать это с помощью стека FPU. Таким образом, обычно вы используете FSTP st(0)
отказаться от одного предмета вместо эквивалентного FFREE
+ FINCSTP
пара. При выделении элемента вы обычно тоже хотите инициализировать, поэтому используйте некоторые FLD
вариант.