Прерывание 0Ah - Исключение недопустимого TSS (#TS - Invalid TSS Exception)

Тип исключения - Fault (ошибка).
Описание
        Означает, что при переключении на задачу была обнаружена ошибка в TSS (как правило, в дескрипторах сегментов). В таблице 1 приведены условия генерации этого исключения:

Таблица 1. Условия недопустимого TSS
Поле индекса кода ошибки Условие
Селектор сегмента TSS Предел сегмента TSS меньше, чем 67H для 32-разрядного TSS либо меньше, чем 2CH для 16-разрядного TSS.
Селектор сегмента LDT Недопустимая LDT или LDT не присутствует
Селектор сегмента стека Селектор ссылается на дескриптор вне дескрипторной таблицы
Селектор сегмента стека Сегмент стека не записываемый
Селектор сегмента стека У сегмента стека DPL ¹ CPL
Селектор сегмента стека У селектора сегмента стека RPL ¹ CPL
Селектор сегмента кода Селектор сегмента кода ссылается на дескриптор вне дескрипторной таблицы
Селектор сегмента кода Сегмент кода не является выполняемым
Селектор сегмента кода У несогласованного сегмента кода DPL ¹ CPL
Селектор сегмента кода У согласованного сегмента кода DPL > CPL
Селектор сегмента данных Селектор сегмента данных ссылается на дескриптор вне дескрипторной таблицы
Селектор сегмента данных Сегмент данных не читается

        Это исключение может генерироваться как в контексте старой задачи, пока проверяется её TSS, так и в контексте новой, при проверке и загрузке новой TSS.
        Это исключение рекомендуется обрабатывать в отдельной задаче.
Код ошибки: содержит индекс селектора дескриптора сегмента, нарушившего условия защиты. Если флаг EXT установлен, то это значит, что исключение вызвано внешним событием, например, ошибка при переключении на обработчик внешнего прерывания, находящегося в отдельной задаче.
Указатель кода: сохранённые значения CS:EIP относятся к задаче, в которой произошло исключение и указывают на команду, вызвавшую это исключение.
Изменение состояния программы: зависит от ошибки. См. Section 6.3., "Task Switching".
        Для новой задачи процессор сначала загружает регистры из TSS, а потом их по очереди проверяет. Если возникает ошибка, он генерирует это исключение, но остальные регистры остаются не проверенными.

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

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

Hosted by uCoz