program Instrukcie_koprocesora;
const Fakt:word=1000;
var x,y,z:extended;
pomocna:word;
BEGIN
{ ----- pozor, pri vypoctoch moze nastat 8087 stack overflow !!! ----- }
{rychlost: 2.250.000 nasobeni za sekundu
1.800.000 odcitani za sekundu (???)
1.000.000 odmocnin za sekundu
4.500.000 absolutnych hodnot za sekundu
6.000.000 sinusov za sekundu (???)
4.500.000 arcustangensov za sekundu (???)
rychlosti su zle urcene, lebo po chvíli je argument blízky k nule.}
x:=0.224;
y:=1.432;
asm
fld x
fld x
fmul {x^2}
fldpi
fdiv {(x^2)/pi}
fld y
fadd {(x^2)/pi+y}
dw 0FFD9h {cos ((x^2)/pi+y)}
fstp x {uloz hodnotu}
fldln2
fld y
fyl2x {prirodzeny logaritmus}
fstp y {uloz}
{ zoznam instrukcii: BINARNE
fadd scita dve cisla na vrchole zasobnika
fmul,fdiv,fsub analogicky
UNARNE
fld x nahra cislo do zasobnika koprocesora
fstp ulozi cislo, vyznam toho P neviem
fabs absolutna hodnota vrcholu zasobnika
fsqrt 2. odmocnina
fptan arcus tangens
dw 0FED9h sinus (LEN 386)
dw 0FFD9h cosinus (LEN 386)
BEZ OPERATOROV
fldpi pi na vrchol zasobnika
fldln2 ln(2)
fldl2e log2(e)
fld1 1
NIEKTORE DALSIE
fild,fst,fsubr,fcom,fcomp,f2xmar,fbld,fbstp,fchsr,fdecstpr,ffreeva,
fincstpr,fld1r,fldcw,fpremr,fptan,fsqrtr,fstcw}
END.