
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), стек |
перед
операцией
|