FPU oprócz rejestrów danych zawiera także rejestr
kontrolny (16 bitów) i rejestr stanu (16 bitów).
W rejestrze stanu są 4 bity nazwane
C0, C1, C2 i C3. To one wskazują wynik ostatniego porównania, a układ ich jest taki sam,
jak flag procesora, co pozwala na ich szybkie przeniesienie do flag procesora.
Aby odczytać wynik porównania, należy przenieść rejestr flag z koprocesora do procesora:
fcom ; porównujemy fstsw ax ; kopiujemy rejestr flag koprocesora do ax sahf ; AH zapisane do flag
Następnie możemy używać rozkazów skoków tak jak dla liczb całkowitych bez znaku: JE, JB itp.
FCOM st(n)/[mem] - porównaj st(0) z st(n)
(lub zmienną w pamięci) bez zdejmowania st(0) ze stosu FPUFCOMP st(n)/[mem] - porównaj st(0) z st(n)
(lub zmienną w pamięci) i zdejmij st(0)FCOMPP - porównaj st(0) z st(1) i zdejmij oba ze stosuFICOM [mem] - porównaj st(0) ze zmienną
całkowitą 16- lub 32-bitową w pamięciFICOMP [mem] - porównaj st(0) ze zmienną
całkowitą 16- lub 32-bitową w pamięci, zdejmij st(0)FCOMI st(0), st(n) - porównaj st(0) z st(n)
i ustaw flagi procesora, nie tylko FPUFCOMIP st(0), st(n) - porównaj st(0) z st(n)
i ustaw flagi procesora, nie tylko FPU, zdejmij st(0)Komendy kończące się na I lub IP zapisują swój wynik bezpośrednio do flag procesora.
Można tych flag od razu używać (JZ, JA, ...). Te komendy są
dostępne od Pentium Pro.
FTST porównuje st(0) z zerem.