77
манд. Разряды полей PE, UE, OE, ZE, DE, IE являются флагами
исключительных ситуаций, возникающих в результате выполне-
ния команд (xE – Exclusive).
Флаг IE (Invalid) – недействительная операция – устанав-
ливается в единицу при переполнении стека, извлечении из пус-
того стека, выполнении действий, приводящих
к неопределен-
ным значениям типа /, ∙ 0,
или с операндом NАN. Ес-
ли флаг IE замаскирован, результат недействительной операции
формируется следующим образом. Когда один из операндов ра-
вен NAN, результатом является NAN; когда
оба операнда NAN –
результатом является NAN с большим абсолютным значением.
Если ни один из операндов не является NAN, результатом явля-
ется код неопределенности.
Флаг DE (Denormal) – денормализованный операнд – уста-
навливается в 1, когда хотя бы один из операндов денормализо-
ван. Если флаг DE замаскирован и операнд находится в памяти,
то сопроцессор оперирует с денормализованным операндом как
с нормализованным. Если денормализованный операнд нахо-
дится в регистре, сопроцессор предварительно преобразует его в
ненормализованный путем сдвига мантиссы и изменения поряд-
ка.
Флаг ZE (Zero) – деление на нуль – устанавливается в 1, ко-
гда делимое – конечное число, не равное 0, а делитель равен 0.
Если флаг ZE замаскирован, то в качестве результата выдается
код со знаком, равным сумме по модулю два знаков операн-
дов.
Флаг ОE (Overflow) – переполнение – устанавливается в 1,
когда результат операции не может быть представлен конечным
числом, т.е. его значение превышает 1,2 ∙ 10
4932
. Если флаг ОE
замаскирован, то в качестве результата выдается код .
Флаг UE (Unoverflow) – антипереполнение устанавливает-
ся в единицу, когда результат операции не может быть пред-
ставлен нормализованным конечным числом. Если флаг UE за-
маскирован, то в качестве результата выдается денормализован-
ное число.
Флаг PЕ (unPrecise) – неточный результат – устанавлива-
ется в единицу, когда значение результата не может быть пред-