2.6.5. Исключения

Особые ситуации при выполнении команд SSE вызывают новое системное исключение #XF (INT 19), обработчик которого может прочитать содержимое регистра MXCSR, чтобы определить тип исключения и выполнить соответствую­щие действия. Кроме того, команды SSE могут вызывать и обычные системные исключения - #UD (неопределенная команда), #NM (расширение отсутствует), #SS (переполнение стека), #GP (общая ошибка защиты), #PF (ошибка странич­ной защиты), #АС (невыровненное обращение к памяти).

Собственные исключения, вызываемые командами SSE и отраженные при помощи флагов в регистре MXCSR, - это:

Q #1 — невыполнимая команда (вызывается перед выполнением команды); Q #Z - деление на ноль (вызывается перед выполнением команды);

□ #D - денормализованный операнд (вызывается перед выполнением команды);

□ #0 - переполнение (вызывается после выполнения команды);

□ #U - антипереполнение (вызывается после выполнения команды);

□ #Р - потеря точности (вызывается после выполнения команды).