-----------------------------------------------------------------|Код Команда Число Парал- Описание ||операции тактовых лельное || циклов выпол- || нение ||D9 F1 FYL2X 311(196-329) 13 Замена ST(1) на || ST(1) x log ST и извле- || 2 || чение из стека ST |----------------------------------------------------------------- Работа команды ST(1) <- ST(1) x log ST; 2извлечение из стека ST; ОписаниеКоманда FYL2X вычисляет логарифм ST по основанию 2, умножает логарифм наST(1) и возвращает полученное значение в ST(1). Операнд в ST не может бытьотрицательным. Изменяемые флаги модуля операций с плавающей точкойC1, как описано в Таблице 15-1; C0, C2, C3 не определены. Исключения числовых операцийP, U, O, Z, D, I, IS Исключения защищенного режима#NM при установленном EM или TS в CR0. Исключения режима реальных адресовПрерывание 7 при установленном EM или TS в CR0. Исключения виртуального режима 8086#NM при установленном EM или TS в CR0. ПримечанияЕсли операнд в ST отрицателен, то генерируется исключение невернойоперации.Команда FYL2X предназначена, совместно с встроенным умножением, дляоптимизации вычисления логарифмов с произвольным положительным основанием: 1 log x = (log b) x log x b 2 2 Команды FLDL2T и FLDL2E загружают константы log 10 и log e, 2 2соответственно. Центральный процессор i486 периодически во время выполнения данной командыпроверяет прерывания. Для обслуживания прерывания выполнение даннойкоманды отменяется (abort).
FYL2XP1 - Вычисление y x log2 (x+1)
-----------------------------------------------------------------|Код Команда Число Парал- Описание ||операции тактовых лельное || циклов выпол- || нение ||D9 F9 FYL2XP1 313(171-326) 13 Замена ST(1) на || ST(1) x log (ST+1.0) и || 2 || извлечение из стека ST |----------------------------------------------------------------- Работа команды ST(1) <- ST(1) x log (ST+1.0); 2извлечение из стека ST; ОписаниеКоманда FYL2X вычисляет логарифм (ST+1.0) по основанию 2, умножаетлогарифм на ST(1) и возвращает полученное значение в ST (1). Операнд в STдолжен лежать в диапазоне: -(1-(кв.корень из 2/2)) <= ST <= кв.корени из 2 - 1 Изменяемые флаги модуля операций с плавающей точкойC1, как описано в Таблице 15-1; C0, C2, C3 не определены. Исключения числовых операцийP, U, D, I, IS Исключения защищенного режима#NM при установленном EM или TS в CR0. Исключения режима реальных адресовПрерывание 7 при установленном EM или TS в CR0. Исключения виртуального режима 8086#NM при установленном EM или TS в CR0. ПримечанияЕсли операнд в ST лежит вне допустимого диапазона, то результат выполнениякоманды FYL2XP1 неопределен.Команда FYL2Xp1 обеспечивает повышенную точность сравнительно с FYL2X привычислении логарифмов чисел, очень близких к 1. При малом значении эпсилонбольшее количество значащих цифр можно получить, передав эпсилон какаргумент команды FYL2XP1, чем передав 1+эпсилон команде FYL2X.Центральный процессор i486 периодически во время выполнения данной командыпроверяет прерывания. Для обслуживания прерывания выполнение даннойкоманды отменяется (abort).