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

Введение

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

- 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)),

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 189
Бесплатно скачать Контрольная работа: Дополнительные арифметические команды