Прерывание 16 - Исключение плавающей точки ( #MF - x87 FPU Floating-Point Error )

Тип исключения - Fault (ошибка).
Описание
        Означает, что x87 FPU обнаружил ошибку (это возможно, только если флаг NE в CR0 установлен). x87 FPU определяет 6 типов ошибок:
  •  
  • Недопустимая команда (#I)
    - Стек переполнен (#IS)
    - Недопустимая арифметическая команда (#IA)
  •  
  • Деление на нуль (#Z)
  •  
  • Денормализованный операнд (#D)
  •  
  • Численное переполнение (#O)
  •  
  • Численное недополнение (#U)
  •  
  • Неточный результат (Precision) (#P)

            Для каждого типа ошибки x87 FPU устанавливает биты в регистрах статуса и управления.
    Код ошибки: нет. Вся информация в регистрах x87 FPU.
    Указатель кода: сохранённые значения CS:EIP примерно указывают на команду, вызвавшую исключение. Точный адрес находится в регистрах FPU.
    Изменение состояния программы: не меняется, не смотря на то, что исключение возникает после того, как команда была выполнена, т.к. информация об исключении хранится в регистрах FPU.

    Вопросы? Замечания? Пишите: sasm@narod.ru

      Copyright © Александр Семенко.
    TopList

    Hosted by uCoz