Мои Конспекты
Главная | Обратная связь


Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Дополнительные арифметические команды



Далее перечислены команды, входящие в группу дополнительных арифметических команд:

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

FABS — вычисление модуля значения, находящегося в вершине стека сопроцессора — регистре ST(0). Команда не имеет операндов. Результат вычисления помещается в регистр ST(0);

FCHS — изменение знака значения, находящегося в вершине стека сопроцессора — регистре ST(0). Команда не имеет операндов. Результат вычисления помещается обратно в регистр ST(0). Отличие команды FCHS от команды FABS в том, что команда FCHS только инвертирует знаковый разряд значения в регистре ST(0), не меняя значения остальных битов. Команда вычисления модуля FABS при наличии отрицательного значения в регистре ST(0), наряду с инвертированием знакового разряда, выполняет изменение остальных битов значения таким образом, чтобы в ST(0) получилось соответствующее положительное число.

FXTRACT — команда выделения порядка и мантиссы значения, находящегося в вершине стека сопроцессора — регистре ST(0). Команда не имеет операндов. Результат выделения помещается в два регистра стека — мантисса в ST(0), а порядок в ST(1). При этом мантисса представляется вещественным числом с тем же знаком, что и у исходного числа, и порядком равным нулю. Порядок, помещенный в ST(1), представляется как истинный порядок, то есть без константы смещения, в виде вещественного числа со знаком и соответствует величине Р формулы (17.1).

 

Команда масштабирования

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

 

Сопроцессор имеет программно-аппаратные средства для округления тех результатов работы команд, которые не могут быть точно представлены. Но операция округления может быть проведена к значению в регистре st(0) и принудительно, для этого предназначена последняя команда в группе дополнительных команд — команда FRNDINT. Эта команда округляет до целого значение, находящееся в вершине стека сопроцессора — регистре st(0). Команда не имеет операндов.

Возможны четыре режима округления величины в ST(0), которые определяются значениями в двухразрядном поле RC управляющего регистра сопроцессора. Как изменить режим округления? С помощью двух команд FSTCWR и FLDCWR, которые, соответственно, записывают в память содержимое управляющего регистра сопроцессора и восстанавливают его обратно. Таким образом, пока содержимое этого регистра находится в памяти, вы имеете возможность установить необходимое значение поля RC.




Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.