logo

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

Система команд 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

FYL2XP1

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

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

IS

IA

D

Z

O

U

P

*

*

*

 

 

*

*

 

Код

Команда

Описание

Проц.

Пример

D9 F9

FYL2XP1

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

8087

fyl2xp1

Описание:

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

Исходный операнд в ST должен иметь значение в диапазоне: (sqrt(2)/2) ‑1 ≤ ST ≤ 1 ‑ sqrt(2)/2. Исходный операнд в ST(1) может принимать значения от -∞ до +∞.

Если операнд в ST находится вне приемлемого диапазона, то результат FYL2XP1 неопределен. Это касается и различных исключений, которые могут возникать, а могут и не возникать, когда операнд в ST не находится в диапазоне разрешенных значений.

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

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

ST(1)ST(0)

от -(1-sqrt(2)/2) до -0

-0

+0

от +0 до +(1-sqrt(2)/2)

NaN

-INF

+INF

#IA

#IA

-INF

NaN

-F

+F

+0

-0

-F

NaN

-0

+0

+0

-0

-0

NaN

+0

-0

-0

+0

+0

NaN

+F

-F

-0

+0

+F

NaN

+INF

-INF

#IA

#IA

+INF

NaN

NaN

NaN

NaN

NaN

NaN

NaN

           

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

     

 

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

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

Команда FYL2XP1 обеспечивает более высокую точность, чем FYL2X при вычислении логарифмов велчин близких к 1. Когда e мало (e — величина, логарифм которой необходимо найти, минус единица), большее количество значащих цифр может быть вычислено при применении e в качестве аргумента FYL2XP1, нежели чем при применении 1 + e в качестве аргумента FYL2X.

Операция:

ST(1) = ST(1) * log2(ST + 1.0);

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       Сервер радиолюбителей России - схемы, документация,

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