Защищенный режим процессоров Intel


Исключения в защищённом режиме


Для обработки особых ситуаций - исключений - разработчики процессора i80286 зарезервировали 31 номер прерывания. В таблице 3 приведён полный список зарезервированных прерываний защищённого режима.

Таблица 4. Зарезервированные прерывания защищённого режима.

00h Ошибка при выполнении команды деления.
01h Прерывание для пошаговой работы, используется отладчиками.
02h Немаскируемое прерывание.
03h Прерывание по точке останова для отладчиков.
04h Переполнение, генерируется командой INTO, если установлен флаг OF.
05h Генерируется при выполнении машинной команды BOUND, если проверяемое значение вышло за пределы заданного диапазона.
06h Недействительный код операции, или длина команды больше 10 байт.
07h Отсутствие арифметического сопроцессора.
08h Двойная ошибка, вырабатывается в том случае, если при обработке исключения возникло ещё одно исключение. Если во время обработки этого прерывания возникает третье исключение, процессор переходит в состояние отключения, что приводит к перезапуску процессора.
09h Превышение сегмента арифметическим сопроцессором.
0Ah Недействительный сегмент состояния задачи TSS.
0Bh Отсутствие сегмента. Вырабатывается при попытке использовать для адресации дескриптор, у которого бит присуствия сегмента в памяти P сброшен в 0. Это прерывание используется для реализации механизма виртуальной памяти. В этом случае по прерыванию 0Bh операционная система может выполнить подкачку отсутствующего сегмента в память.
0Ch Исключение при работе со стеком. Может возникать в случае отсутствия сегмента стека в памяти или в случае переполнения (антипереполнения) стека.
0Dh Исключение по защите памяти. Возникает при любых попытках получения доступа к сегментам памяти, если программа обладает недостаточным уровнем привилегий.
0Eh Отказ страницы для процессоров i80386 или i80486, зарезервировано для i80286.
0Fh Зарезервировано.
10h Исключение сопроцессора.
11h - 1Ah Зарезервированы.

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


- Начало -  - Назад -  - Вперед -