Команда помещает содержимое источника (32-, 64- или 80-битная переменная или ST(n)) и уменьшает ТОР на 1. Команда FLD ST(0) делает копию вершины стека.
Команда:
FST приемник
Назначение:
Скопировать вещественное число из стека
Команда:
FSTP приемник
Назначение:
Считать вещественное число из стека
Процессор:
8087
Копирует ST(0) в приемник (32- или 64-битную переменную или пустой ST(n) в случае FST; 32-, 64- или 80-битную переменную или пустой ST(n) в случае FSTP). FSTP после этого выталкивает число из стека (помечает ST(0) как пустой и увеличивает ТОР на один).
Команда:
FILD источник
Назначение:
Загрузить целое число в стек
Процессор:
8087
Преобразовывает целое число со знаком из источника (16-, 32- или 64-битная переменная) в вещественный формат, помещает в вершину стека и уменьшает ТОР на 1.
Команда:
FIST приемник
Назначение:
Скопировать целое число из стека
Команда:
FISTP приемник
Назначение:
Считать целое число из стека
Процессор:
8087
Преобразовывает число из вершины стека в целое со знаком и записывает его в приемник (16- или 32-битная переменная для FIST; 16-, 32- или 64-битная переменная для FISTP). FISTP после этого выталкивает число из стека (помечает ST(0) как пустой и увеличивает ТОР на один). Попытка записи слишком большого числа, бесконечности или не-числа приводит к исключению «недопустимая операция» (и записи целой неопределенности, если IM = 1).
Команда:
FBLD источник
Назначение:
Загрузить десятичное число в стек
Процессор:
8087
Преобразовывает BCD число из источника (80-битная переменная в памяти), помещает в вершину стека и уменьшает ТОР на 1.
Команда:
FBSTP приемник
Назначение:
Считать десятичное число из стека
Процессор:
8087
Преобразовывает число из вершины стека в 80-битное упакованное десятичное, записывает его в приемник (80-битная переменная) и выталкивает это число из стека (помечает ST(0) как пустой и увеличивает ТОР на один). Попытка записи слишком большого числа, бесконечности или не-числа приводит к исключению «недопустимая операция» (и записи десятичной неопределенности, если IM = 1).
Команда:
FXCH приемник
Назначение:
Обменять местами два регистра стека
Процессор:
8087
<
/p>
Обмен местами содержимого регистра ST(0) и источника (регистр ST(n)). Если операнд не указан, обменивается содержимое ST(0) и ST(1).
Команда:
FCMOVcc приемник, источник
Назначение:
Условная пересылка данных
Процессор:
P6
Это набор команд, каждая из которых копирует содержимое источника (регистр ST(n)) в приемник (только ST(0)), если выполняется соответствующее условие. Реально каждое условие соответствует тем или ным значениям флагов регистра FLAGS, но после команд
fcom (или другие команды сравнения) fstsw ax sahf
в регистр FLAGS загружаются флаги С0, С1 и С3, и последующая команда из набора FCMOVcc приобретает смысл обработки результата предыдущего сравнения (табл. 13).