BigEdu.ru

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

Контрольная работа по теме: ДОПОЛНИТЕЛЬНЫЕ АРИФМЕТИЧЕСКИЕ КОМАНДЫ

Введение

Дополнительные арифметические команды без явных операндов выполняют действия над содержимым вершины стека, результат помещают туда же БЕЗ МОДИФИКАЦИИ УКАЗАТЕЛЯ СТЕКА.

- FABS – нахождение абсолютной величины.

- FCHS – изменение знака операнда.

- FRNDINT – округление операнда до целого в формате с плавающей точкой.

- FSQRT – извлечение квадратного корня.

- FPREM – вычисляет остаток от деления содержимого ST(0) на число из ST(1). Остаток замещает число в ST(0).

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

- FXTRACT – разлагает содержимое ST(0) на два числа: несмещенный порядок (замещает старое значение в ST(0)) и знаковую мантиссу (включаемую сверху, т.е. в ST(7)).

Команда FSCALE, находящаяся после команды FXTRACT, восстанавливает исходное число.

Все дополнительные арифметические команды группируются в три группы:

- команды сравнений:

- трансцендентные команды;

- команды управления сопроцессора х87.


1. КОМАНДЫ СРАВНЕНИЙ

Команды сравнений включают:

- FCOM ST(i)/mem – сравнивает содержимое ST(0) с операндом "x" (в численном регистре или в памяти), т.е. производит вычитание операндов без запоминания результата и устанавливает коды условий в регистре состояния (таблица 1).

Таблица 1 – Коды условий после сравнения

С3 С0 Условие

0

0

1

1

0

1

0

1

ST(0) > x

ST(0) < x

ST(0) = x

ST(0) и x – несравнимы

- FICOM mem – сравнивает содержи мое вершины стека ST(0) с целым числом в памяти.

- FCOMPST(i)/mem – аналогична команде FCOM, но после сравнения производит извлечение операнда из вершины стека.

- FCOMPP ST(i) – сравнивает ST(0) c ST(i) и извлекает из стека оба операнда.

- FTST – сравнивает вершину стека с нулем.

- FXAM – сравнивает вершину стека с нулем, но выставляет 4 флага условий (в частности, определяется ненормализованная мантисса, бесконечность, нечисло и др.).

- FCOMIST(0),ST(i) – сравнение вещественных чисел и установка флагов в EFLAGS (P6+).

- FCOMIР ST(0),ST(i) – сравнение вещественных чисел и установка флагов в EFLAGSи извлечение операнда из вершины стека (P6+).

Флаги условий (С0, С3) сопроцессора х87 используются для организации условных переходов микропроцессором х86. Для этого командой – FSTSW AX – содержимое регистра состояния х87 копируется в аккумулятор АХ микропроцессора х86. После этого командой – SAHF – старший байт аккумулятора (АН) передается в младший байт регистра флагов. При этом условию С0 соответствует флаг СF, а условию С3 - флаг ZF.

2. ТРАНСЦЕНДЕНТНЫЕ КОМАНДЫ

К элементарным трансцендентным функциям относятся:

- тригонометрические функции (sin, cos, tg и др.),

- обратные тригонометрические функции (arcsin, arctg и др.),

- логарифмические функции (log2 (x), log10 (x), loge (x)),

- показательные функции (xy , 2x , 10x , ex ),

- гиперболические функции (sh, ch, th и др.),

- обратные гиперболические функции (arsh, arch, arth и др.).

Таблица 2 – Трансцендентные команды

Мнемоника Описание команды Вычисляемая функция
FPTAN Частичный тангенс ST(1) / ST(0) = tg (ST(0))
FSIN Синус(387+) ST(0) = sin (ST(0))
FCOS Косинус (387+) ST(0) = cos (ST(0))
FSINCOS Синус, косинус (387+)

ST(7) = sin (ST(0));

ST(0) = cos (ST(0))

FPATAN Частичный арктангенс ST(0) = arctg (ST(1)/ST(0)
FYL2X Двоичный логарифм ST(0) = ST(1) * log2 (ST(0))
FYL2XP1 Двоичный логарифм ST(0) = ST(1) * log2 (ST(0)+1)
F2XM1 Показательная функция ST(0) = 2( ST (0)) – 1

Сопроцессор х87 вычисляет любую из элементарных трансцендентных функций от аргументов двойной точности, давая результат двойной точности с ошибкой младшего разряда округления. Аргументы трансцендентных команд должны быть нормализованными.

Команда FPTAN нахождения частичного тангенса в качестве результата выдает два числа (сопроцессоры 87/287):


y / x = tg (ST(0)).

Число «y» заменяет старое содержимое ST(0), а число «x» включается сверху. Поэтому, после выполнения команды указатель стека уменьшится на 1, число «х» будет записано в новую вершину стека ST(0), а число «y» – в регистр ST(1).

Для получения значения тангенса необходимо выполнить команду FDIV. Две команды FPTAN и FDIV выбирают аргумент из вершины стека и туда же помещают значение тангенса (БЕЗ МОДИФИКАЦИИ УКАЗАТЕЛЯ

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Контрольные работы по информатике и программированию Контрольная работа по теме: ДОПОЛНИТЕЛЬНЫЕ АРИФМЕТИЧЕСКИЕ КОМАНДЫ Введение Дополнительные арифметические команды без явных операндов выполняют
Оценок: 1001 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru