Использование FFREE и FDECSTP

Я не могу понять это: для чего нужны такие команды (FFREE, FDECSTP)? Может ли он использовать для выталкивания значения из стека fpu, или это для какой-то другой цели? Я не понимаю:/ Может кто-то объяснить это, TNX

1 ответ

Решение

Да, используя FFREE, FINCSTP а также FDECSTP Вы можете управлять стеком FPU вручную. Обратите внимание, что стек FPU растет аналогично стеку ЦП, поэтому для удаления (выталкивания) чего-либо вы помечаете регистр как свободный и увеличиваете указатель стека.

Вы не увидите эти инструкции в типичном коде, тем более что они могут работать только с одним регистром за раз. В случае использования процессора ADD ESP, x вы можете сбросить несколько элементов за один раз, вы не можете сделать это с помощью стека FPU. Таким образом, обычно вы используете FSTP st(0) отказаться от одного предмета вместо эквивалентного FFREE + FINCSTP пара. При выделении элемента вы обычно тоже хотите инициализировать, поэтому используйте некоторые FLD вариант.

Другие вопросы по тегам