Loading AI tools
Из Википедии, свободной энциклопедии
Дескриптор шлюза — служебная структура данных, служащая для различных переходов. Используется только в защищённом режиме. В реальном режиме некоторым аналогом может служить дальний адрес. Длина дескриптора стандартна и равна восьми байтам.
Селектор и смещение составляют обычный дальний адрес точки входа в процедуру.
При выполнении дальних команд CALL, JMP с указанием селектора шлюза, значение смещения, указываемого в команде игнорируется.
Алгоритм перехода с использованием шлюза:
Теперь подробнее:
Нельзя использовать в IDT.
Характерной особенностью шлюза вызова является наличие поля WC, благодаря которому возможна передача до 25=32 слов/двойных слов вызываемой процедуре через стек. Подробнее данный тип шлюза описан в статье Сегментная защита памяти
Может использоваться в любой из трёх дескрипторных таблиц.
Единственная особенность этого шлюза состоит в том, что в качестве сегмента указан сегмент TSS. Поля смещения не используются и могут иметь любое значение.
Этот шлюз используется только в IDT.
Его особенностью является сброс флага прерываний IF при входе в процедуру обработки. Так как прежнее значение регистра флагов сохраняется в стеке, то при выходе из процедуры обработки флаг IF принимает исходное положение. Это позволяет обрабатывать некоторые прерывания в режиме CLI.
Этот шлюз используется только в IDT.
Самый простой шлюз. При поступлении прерывания просто переходит на процедуру обработки (при необходимости производится переключение стека).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.