Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
FLD1
Влияние команды на флаги и форматы команды:
* |
|
|
|
|
|
|
D9 E8 |
FLD1 |
Загрузить +1.0 в регистровый стек |
8087 |
fld1 |
D9 E9 |
FLDL2T |
Загрузить log210 в регистровый стек |
8087 |
flde2t |
D9 EA |
FLDL2E |
Загрузить log2e в регистровый стек |
8087 |
fldl2e |
D9 EB |
FLDPI |
Загрузить π в регистровый стек |
8087 |
fldpi |
D9 EC |
FLDLG2 |
Загрузить log102 в регистровый стек |
8087 |
fldlg2 |
D9 ED |
FLDLN2 |
Загрузить loge2 в регистровый стек |
8087 |
fldln2 |
D9 EE |
FLDZ |
Загрузить +0.0 в регистровый стек |
8087 |
fldz |
Описание:
Каждая из команд FLD1, FLD2T, FLD2E, FLDPI, FLDLG2, FLDLN2, FLDZ помещает в стек FPU часто используемые константы (во временном вещественном формате).
Используется внутренняя 66-битная константа, округляемая к временному вещественному формату (согласно поля CW.RC), исключения #P при округлении не возникает.
Флаги C0, C2, C3 регистра SW после выполнения команды неопределены, флаг C1 устанавливается равным 0 в случае возникновения стековой ошибки #IS.
Операция:
Декремент указателя вершины стека FPU;
ST(0) = CONSTANT;
Замечание:
Управление округлением реализовано в сопроцессорах, начиная с Intel387. В Intel287 и 8087 управления округлением нет. Загружаемое значение для FLDPI, FLDLN2, FLDG2 и FLDL2E в Intel387, Intel486, … такое же, как и в Intel287 и 8087, в тех случаях, когда установлено округление к ближайшему или к +¥. Для FLD2T — когда установлено округление к ближайшему, к -¥или к нулю. Загружаемые разными процессорами значения отличны в наименьшем значащем бите мантиссы, если для FLDPI, FLDLN2, FLDG2 и FLDL2E установлено округление к -¥или к нулю, а для FLDL2T — округление к +¥. Изменения внесены в соответствии с требованиями стандарта IEEE-754.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru