Inštrukcie aritmetické
Inštrukcie
fadd real32/real64
fiadd int16/int32
pripočítajú hodnotu operandu (reálnej alebo celočíselnej premennej) k
registru st(0).
Inštrukcie
fadd st(0),st(i)
fadd st(i),st(0)
spočítajú hodnoty obidvoch operandov a výsledok uložia do ľavého
operandu.
Inštrukcia
faddp st(i),st(0)
spočíta hodnoty registrov st(i) a st(0), výsledok uloží do st(i)
a odstráni položku z vrcholu zásobníka.
Inštrukcie
fadd
a
faddp
vykonajú to isté ako faddp st(1),st(0).
Pre operácie odčítania, násobenia
a delenia existujú podobné inštrukcie ako pre operáciu sčítania, len
v zápise inštrukcie zmeníme add na sub, mul alebo div. Naviac inštrukcie
pre odčítanie a delenie môžu mať reverzný tvar so zápisom subr, resp. divr, ktorý spôsobí, že operandy
v inštrukcii sa prehodia, napr. fsub urobí st(1) := st(1) – st(0) a vyberie st(0), zatiaľ čo fsubr vypočíta st(1) := st(0) – st(1)
a vyberie st(0).
Inštrukcie porovnávacie
Inštrukcie
fcom real32/real64/st(i)
ficom int16/int32
porovnajú operand s hodnotou v registri st(0) a nastavia príznaky
C0, C2 a C3 v stavovom registri.
Inštrukcie
fcomp real32/real64/st(i)
ficomp int16/int32
porovnajú operand s hodnotou v registri st(0), nastavia príznaky
C0, C2 a C3 v stavovom registri a odstránia položku
z vrcholu zásobníka.
Inštrukcia
fcom
porovná hodnoty registrov st(1) a st(0), inštrukcia
fcomp
naviac odstráni položku z vrcholu zásobníka.
Inštrukcie riadiace
Inštrukcia
finit
inicializuje FPU: stavový register nastaví na hodnotu 0, riadiaci na 37Fh, register známok na 0FFFFh.
Inštrukcia
fldcw pamäť
prenesie (riadiace) slovo z pamäti do
riadiaceho registra, inštrukcia
fstcw pamäť
naopak uloží obsah riadiaceho registra do slova v pamäti.
Inštrukcia
fstsw pamäť/AX
uloží obsah stavového registra do slova v pamäti alebo do registra AX.
1Inštrukcie fsin
a fcos patria do rozšíreného inštrukčného súboru.
Hore