October 19 2017 19:11:53
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
КОМАНДЫ СПЕЦИАЛЬНЫХ ОПЕРАЦИЙ
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ

Таблица 2.36 Результаты анализа содержимого регистра ST(0)

Содержимое СЗ С2 С0
Неподдерживаемый формат 0 0 0
Не-число 0 0 1
Нормализованное число 0 1 0
Бесконечность 0 1 1
Нуль 1 0 0
Пусто 1 0 1
Денормализованное число 1 1 0

Команды FUCOM, FUCOMP, FUCOMPP производят сравнение мантисс операндов. При этом допускается сравнение не-чисел (они имеют единичные значения всех разрядов порядка). Если один или оба операнда являются не-числами, то устанавливается значение бита С2 = 1, а биты СЗ и С0 определяют соотношение между мантиссами в соответствии с табл. 2.34, где х = ST(1). Команда FUCOMP освобождает вершину стека - регистр ST(0), команда FUCOMPP -два верхних регистра стека - ST(0) и ST(1).

Команда FTST выполняет сравнение содержимого регистра ST(0) с нулем, устанавливая биты СЗ, С2, С0 в регистре FPSR в соответствии с табл. 2.34, где х = 0.

Команда FXAM производит анализ содержимого ST(0) и устанавливает соответствующие значения битов С0-СЗ в регистре FPSR. При этом бит С1 принимает значения знака, а разряды С0, С2, СЗ определяют содержимое ST(0) в соответствии с табл. 2.36.

2.4.6. КОМАНДЫ СПЕЦИАЛЬНЫХ ОПЕРАЦИЙ

К этой группе относятся команды, реализующие некоторые арифметические процедуры, и вычисление тригонометрических и трансцендентных функций. Коды и форматы команд приведены в табл. 2.37.

Команда масштабирования FSCALE прибавляет к порядку числа, хранящегося в ST(0), содержимое регистра ST(1), которое рассматривается как целое число со знаком. Если в регистре ST(1) содержится нецелое число, то его дробная часть отбрасывается.

Команда FXTRACT разлагает содержимое ST(0) на два компонента: порядок и мантиссу со знаком, которые размещаются в двух верхних регистрах арифметического стека. При этом значение поля ТОР в регистре FPSR уменьшается на единицу, и в новую вершину стека ST(0) заносится мантисса, а в регистр ST(1) [бывший ST(0)] - порядок, представленный в виде вещественного числа (формат РТ). В поле Е регистра ST(0) заносится число 3FFFh, соответствующее нулевому значению порядка. Если после команды FXTRACT выполнить команду FSCALE, то будет восстановлено исходное число.

Команда FRNDINT выполняет округление числа, хранящегося в ST(0), до целого значения в соответствии со способом, определяемым полем RC в регистре FPCR.

При выполнении тригонометрических функций sin, cos с помощью команд FSIN, FCOS, FSINCOS содержимое ST(0) воспринимается как число радианов. Значения функций, полученные с помощью команд FSIN, FCOS, заносятся в регистр ST(0). При выполнении команд FSINCOS производится уменьшение на единицу поля ТОР, и полученные значения функций sin и cos заносятся в два верхних регистра ST(0) и ST(1) [бывший ST(0)].

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.04 секунд 2,256,258 уникальных посетителей