Низкоуровневое програмирование Главная - Реальный режим - Прерывания Bios - INT 02h: Немаскируемое прерывание.

INT 02h: Немаскируемое прерывание.


Немаскируемое прерывание (NMI) - это единственное прерывание, не запрещаемое командой CLI. Поэтому его можно использовать в специальных случаях, которые требуют немедленного действия.

Это прерывание спроектировано для обработки катастрофических ситуаций, таких как сбой питания. В системе, обеспечивающей целостность данных, NMI может, например, выводить образ памяти на диск с целью избежать потери данных. В стандартной системе PC BIOS, NMI аппаратно вызывается в случае "ошибки четности" памяти. Когда это происходит, PC зависает.

Сопроцессор 8087/80287 подключен к линии NMI, и вызывает прерывание, когда встречает условие исключения (например, деление на 0). Обычно вы должны читать порт 64H, чтобы выяснить, не произошел ли сбой памяти, и если нет, выполнить FNSAVE, чтобы установить причину сбоя 8087, а затем FNCLX для сброса сопроцессора.
На процессорах 80286+ следующее прерывание NMI не вызовет обработчик, пока не завершена обработка предыдущего прерывания NMI. признаком конца обработки прерывания ссчитается инструкция IRET. При этом, если поступило другое прерывание и прерывания включены, то это пришедшее прерывание будет обработанно незамедлительно