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

- гиперболические функции (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 выбирают аргумент из вершины стека и туда же помещают значение тангенса (БЕЗ МОДИФИКАЦИИ УКАЗАТЕЛЯ ВЕРШИНЫ СТЕКА). Две команды FPTAN и FDIVR вычисляют значение котангенса.

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

0 <= ST(0) <= 1/4.

Для СОПРОЦЕССОРОВ 387+ аргумент команды FPTAN (в радианах) может быть любым:

–263 <= ST(0) <= +264 .

Значение тангенса исходного угла tg(ST(0)) замещает аргумент и в стек включается сверху 1,0 (для программной совместимости с предыдущими сопроцессорами 87/287).

Значения остальных тригонометрических функций (для сопроцессоров 87/287) можно вычислить, используя формулы тангенса половинного угла (табл. 3). Поэтому перед началом вычисления тригонометрических функций с использованием команды FPTAN необходимо аргумент в ST(0) поделить на 2. Новое значение аргумента «z» должно также удовлетворять условию: 0 £ z £ 1/4.


Таблица 3 – Формулы для вычисления тригонометрических функций

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

В СОПРОЦЕССОРАХ 387+ появились новые команды:

- FSIN – вычисление синуса;

- FCOS – вычисление косинуса;

- FSINCOS – вычисление синуса и косинуса.

Все они воспринимают в ST(0) исходный угол, измеряемый в радианах и находящийся в диапазоне: –263 <= ST(0) <= +263 . Команды FSIN и FCOS возвращают результат на место аргумента, а команда FSINCOS возвращает значение синуса на место аргумента и включает значение косинуса в стек.

Команда FPATAN вычисляет arctg (ST(1)/ST(0)). Два операнда извлекаются из стека, а результат включается в стек. Поэтому окончательно, УКАЗАТЕЛЬ СТЕКА УВЕЛИЧИВАЕТСЯ НА 1. Операнды этой команды для сопроцессоров 8087/287 должны удовлетворять условию:

0 < ST(1) < ST(0).

В сопроцессорах 387+ ограничений на диапазон допустимых аргументов команды FPATAN не существует.

Для вычисления остальных обратных тригонометрических функций по аргументу «z» необходимо предварительно подготовить операнды в ST(0) и ST(1) в соответствии с табл. 4 (делить операнды не нужно).


Таблица 4 – Формулы для вычисления обратных тригонометрических функций

←ST(1)

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