FPU - operacje na liczbach zmiennoprzecinkowych
Instrukcje kontrolne
WAIT/FWAIT - czekaj, aż FPU skończy pracę. Używane do synchronizacji z CPU.
Wiele z poniższych instrukcji wywołuje tą instrukcję niejawnie. Wersje z literką N nie wywołują WAIT
FINIT/FNINIT - inicjalizacja FPU, przywraca FPU do domyślnego stanu: ustawia flagi, czyści stos.
Dobrą praktyką jest wywoływanie go przed przystąpieniem do obliczeń (bo nie wiemy w jakim stanie inne funkcje zostawiły FPU)
FLDCW, FSTCW/FNSTCW - Load/Store control word
- zapisuje 16 kontrolnych bitów do pamięci,
gdzie można je zmieniać na przykład aby zmienić sposób zaokrąglania liczb.
FSTSW/FNSTSW - zapisz do pamięci (lub rejestru AX) słowo statusu, czyli stan FPU
FCLEX/FNCLEX - wyczyść wyjątki
FLDENV, FSTENV/FNSTENV - wczytaj/zapisz środowisko (rejestry stanu,
kontrolny i kilka innych, bez rejestrów danych). Wymaga 14 albo 28 bajtów pamięci, w zależności
od trybu pracy procesora (rzeczywisty - DOS lub chroniony - Windows/Linux).
FRSTOR, FSAVE/FNSAVE - jak wyżej, tylko że z rejestrami danych. Wymaga 94
lub 108 bajtów w pamięci, zależnie od trybu procesora.
FINCSTP, FDECSTP - zwiększ/zmniejsz wskaźnik stosu - przesuń st(0)
na st(7), st(1) na st(0) itd. oraz w drugą stronę, odpowiednio.
FFREE - zwolnij podany rejestr danych
FNOP - no operation. Nic nie robi, ale zabiera czas.
Tomasz Kapela, Kraków 2011-2020