B | C3 | ST | C2 | C1 | C0 | ES | SF | PE | UE | OE | ZE | DE | IF | |||
Флагстека | флаги особых случаев ¬¾¾¾¾¾¾¾¾¾¾¾¾¾® | |||||||||||||||
Флаги (0-6 биты):
IE - недействительная операция;
DE - денормализованный операнд;
ZE - деление на нуль;
OE – переполнение;
UE – антипереполнение;
PE - точность (неточный результат);
SF- флаг стека (с 80387 сопроцессора).
При возникновении особого случая, не зависимо от того, замаскирован он или нет, автоматически выставляется флаг особого случая, равный единице. Явно сбросить флаги должен программист, загружая в регистр состояния новое значение соответствующих флагов.
ES - бит суммарной ошибки, устанавливается в единицу, когда команда порождает любой особый случай. C0, C1, C2, C3 - коды условий, являющиеся результатом сравнения или команды нахождения остатка. Интерпретация кодов условий зависит от конкретной команды.
ST - поле вершины стека, содержит физический номер регистра, являющийся вершиной стека.
B - бит занятости, равен единице, когда процессор выполняет команду или сигнализирует прерывание, если сопроцессор свободен, то B равен нулю. Бит занятости показывает занятость численного операционного устройства сопроцессора, в которое входит числовой стек и регистр тэгов.