Регистр состояния.

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 равен нулю. Бит занятости показывает занятость численного операционного устройства сопроцессора, в которое входит числовой стек и регистр тэгов.