Процессор i486 имеет шесть фиксированных ответов на каждое возможное условие исключения, которое он может встретить. Эти маскированные ответы на исключения разработаны для того, чтобы сделать работу процессора надежной и приемлемой для большинства вычислительных прикладных программ. Примером того, как можно автоматически и надежно обработать даже серьезные исключения, используя ответы по умолчанию на исключения, может послужить вычисление параллельного сопротивления различных резисторов с использованием всего лишь стандартной формулы (Рисунок 16-3). Если R1 будет равен нулю, то сопротивление цепи тоже будет равно нулю. При маскированных исключениях деления на ноль и точности, процессор i486 будет выдавать корректный результат.
Маскируя или немаскируя особые числовые ситуации в управляющем слове модуля обработки операций с плавающей точкой, программист может переложить ответственность за обработку большинства исключений на процессор i486, оставляя за программным обработчиком исключений обработку серьезных исключений. Написать программный продукт, обрабатывающий исключения, часто является довольно трудным делом и маскированные ответы специально приспособлены для того, чтобы достичь максимально разумного результата при каждом условии. Для большинства программных продуктов маскирование всех исключений приносит удовлетворительный результат при наименьших усилиях со стороны программиста. Конкретные исключения иногда бывает полезно оставить немаскируемыми в процессе отладочной фазы разработки программного обеспечения, а затем, как только программа отлажена, маскировать. Например, исключение недопустимой операции обычно указывает на ошибку в программе, которую следует исправить.
Флаги исключений в слове состояния модуля обработки операций с плавающей точкой предоставляют собой совокупную запись исключений, которые произошли с того времени, когда эти флаги были последний раз очищены. Установленные флаги можно очистить, только выполнив команду FCLEX (сброс исключений), переиницианализировав модуль обработки операций с плавающей точкой или переписав флаги с помощью команд FRSTOR или FLDENV. Это позволяет программисту маскировать все исключения, запустить вычисления и затем проверить слово состояния для того, чтобы посмотреть, была ли обнаружена какое-нибудь исключение в какой-либо точке вычислений.