Прерывание 19 - Исключение плавающей точки SIMD ( #XF - SIMD Floating-Point Exception )

Тип исключения - Fault (ошибка).
Описание
        Означает, что процессор обнаружил ошибку при выполнении команды SSE или SSE2. Соответствующими флагами в регистре MXCSR можно маскировать отдельные условия возникновения исключения. Есть 6 условий генерации исключения:
  •  
  • Недопустимая команда (#I)
  •  
  • Деление на нуль (#Z)
  •  
  • Денормализованный операнд (#D)
  •  
  • Числовое переполнение (#O)
  •  
  • Числовое недополнение (#U)
  •  
  • Неточный результат (Precision) (#P)

            При одновременном возникновении нескольких исключений над одним операндом, они обрабатываются согласно их приоритетам.

    Приоритет исключений SIMD
    Приоритет Описание
    1 (Высший) Недопустимый операция над операндом SNaN (или любым NaN в операциях для максимума, минимума, сравнения и преобразования).
    2 Операнд QNaN 1.
    3 Все остальные исключения недопустимых операций или деление на нуль 2.
    4 Исключение денормализованного операнда 2.
    5 Числовое переполнение или недополнение, возможно, совместно с неточным результатом 2.
    6 (Низший) Неточный результат


    Примечания:
    1. При делении QNaN на нуль будет сгенерировано это исключение, а не исключение деления на 0.
    2. Если замаскировано, то исключение не возникнет.

    Код ошибки нет.
    Указатель кода: сохранённые значения CS:EIP указывают на команду SSE или SSE2, вызвавшую исключение.
    Изменение состояния программы: нет, если исключение на замаскировано, т.к. команда, вызвавшая исключение, не была выполнена.

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

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

    Hosted by uCoz