logo

Главная Система команд x86 Система команд FPU FYL2X

Система команд x86

Программирование - Архитектура и система команд микропроцессоров x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

FYL2X

Вычислить y * log2(x)

Влияние команды на флаги и форматы команды:

IS

IA

D

Z

O

U

P

*

*

*

*

*

*

*

 

Код

Команда

Описание

Проц.

Пример

D9 F1

FYL2X

ST(1) = ST(1) * log2(ST(0)), верхний элемент выталкивается из регистрового стека

8087

fyl2x

Описание:

Команда FYL2X вычисляет ST(1)* log2(ST), помещает результирующее значение в ST(1) и выталкивает из регистрового стека верхний элемент ST.

Операция умножения введена в команду FYL2X для оптимизации вычисления логарифмов с произвольным положительным основанием: logbx = (log2b)-1* log2x. Команды FLDL2T и FLDL2E загружают константы log210 и log2e соответственно.

В таблице 6.198. приведены возвращаемые командой FYL2X значения для различных классов операндов, а также случаи, когда возникают исключения #IA и #Z.

Таблица 6.198. Значения, возвращаемые командой FYL2X для различных классов операндов

ST(1)ST(0)

-INF

-F

±0

+0<+F<+1

+1

+F

+INF

NaN

-INF

#IA

#IA

+INF

+INF

#IA

-INF

-INF

NaN

-F

#IA

#IA

#Z

+F

-0

-F

-INF

NaN

-0

#IA

#IA

#IA

+0

-0

-0

#IA

NaN

+0

#IA

#IA

#IA

-0

+0

+0

#IA

NaN

+F

#IA

#IA

#Z

-F

+0

+F

+INF

NaN

+INF

#IA

#IA

-INF

-INF

#IA

+INF

+INF

NaN

NaN

NaN

NaN

NaN

NaN

NaN

NaN

NaN

NaN

                 

F - Конечное вещественное значение

         

 

Исключение #IA возникает также, если любой из операндов SNaN или представлен в неподдерживаемом формате.

Если происходит исключение  #Z и соответствующая маска установлена, команда возвращает в качестве результата бесконечность со знаком, противоположным знаку исходного операнда (±0).

Флаги C0, C2, C3 регистра SW после выполнения команды неопределены, флаг C1 устанавливается равным 0 в случае возникновения стековой ошибки #IS, а также указывает направление округления в случае возникновения исключения #P (неточный результат): 0 – округление к меньшему, 1 – округление к большему.

Операция:

ST(1) = ST(1) * log2ST;

Pop(ST);

Особые ситуации защищенного режима:

#NM, если CR0.EM = 1 или CR0.TS = 1.

Особые ситуации режима реальной адресации:

#NM, если CR0.EM = 1 или CR0.TS = 1.

Особые ситуации режима V86:

#NM, если CR0.EM = 1 или CR0.TS = 1.


Входит в группу команд: Система команд FPU




Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Top.Mail.Ru       Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники