Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы СПО / 8087comm.doc
Скачиваний:
31
Добавлен:
12.04.2015
Размер:
377.84 Кб
Скачать

3. Команды сравнения (действуют на флаги с0,с2,с3)

Мнемоника

Операция

Примечание

3.1. Операции с вещественными числами

FCOM ST(i)

FCOM mem

FCOM / FCOMP

ST (<>=) ST(i)

ST (<>=) [mem]

ST (<>=) ST(1), стек

mem – переменная в формате ОТ/ДТ

FCOMP ST(i)

FCOMP mem

ST (<>=) ST(i), стек

ST (<>=) [mem], стек

FCOMPP

ST (<>=) ST(i), стек, стек

FUCOM ST(i)

FUCOM / FUCOMP

ST (<>=) ST(i)

ST (<>=) ST(1), стек

начиная с i80387. В отличие от FCOM/FCOMP/FCOMPP команды не формируют особый случай недействительной операции, если один из операндов – “тихое”нечисло

FUCOMP ST(i)

ST (<>=) ST(i), стек

FUCOMPP

ST (<>=) ST(i), стек, стек

FCOMI ST(i)

ST (<>=) ST(i)

начиная с P6. Аналогичны FCOM/FCOMP, FUCOM/FUCOMP, но сразу устанавливают флаги ZF, PF, CF

FCOMIP ST(i)

ST (<>=) ST(i), стек

FUCOMI ST(i)

ST (<>=) ST(i)

FUCOMIP ST(i)

ST (<>=) ST(i), стек

3.2. Операции с целыми числами

FICOM mem

ST (<>=) [mem]

mem – переменная в формате ЦС/КЦ

FICOMP mem

ST (<>=) [mem], стек

3.3. Прочие команды

FTST

ST (<>=0)

FXAM

анализ содержимого ST:

С1sign (ST)

C3,C2,C0код

000 – неподдерживаемый формат,

001 – не-число,

010 – нормальное конечное число,

011 – бесконечность,

100 – ноль,

101 – ST пуст,

110 – денормализованное число

4. Трансцендентные операции

(для тригонометрических функций аргумент задается в радианах и должен лежать в диапазоне

от –263 до +263. Для приведения аргумента можно использовать команды FPREM/FPREM1 с масштабом ST(1)=2).

Мнемоника

Операция

Примечание

FSIN

sin(ST) ST

i80387

FCOS

cos(ST) ST

FSINCOS

x=ST:стек,cosxST,sinxST(1)

FPTAN

z=ST: стек,

i8087: 0 z /4, tg(z)=ST(1)/ST

i80387: 0 z 2, +1.0ST, tg(z)ST(1)

В i8087 и i80287 значения ST, ST(1) используются для вычисления sin 2z, cos 2z, tg z, cosec 2z, sec 2z

FPATAN

arctg(ST(1)/ST) ST(1), стек

0<ST(1)<ST(0)

результат имеет знак операнда из ST(1) и значение от – до .

F2XM1

2ST–1 ST

перед операцией –1.0 ST +1.0

FYL2X

ST(1)log2STST(1), стек

перед операцией ST>0, если ST=0, то результат =;

после операции рез-тат в ST

FYL2XP1

ST(1)log2(ST+1)ST(1), стек

перед операцией ST , – < ST(1) < +

Соседние файлы в папке Лабы СПО