8086 селектор сегмента - PullRequest
       49

8086 селектор сегмента

1 голос
/ 17 декабря 2010

Есть некоторый бит супервизора, который не позволяет "пользовательскому пространству" делать что-то вроде: mov CS, 200h?

Какая защита имеет?

Спасибо

1 Ответ

2 голосов
/ 17 декабря 2010

На фактическом 8086 ЦП?Я так не думаю.Расширенные функции защиты только начали появляться с 80286. Не было никаких ограничений на то, какие программы могли бы установить сегмент кода на 8086.

На 80386 в защищенном режиме (я думаю это было первое, что предоставило это, но, возможно, это было 80286), значения в CS (и DS, ES и т. д.) изменились с регистров сегментов на селекторы, и они должны были иметь записи в таблице дескрипторов (например:ГДТ, ЛДТ).

В этот момент защита стала возможной, но я не думаю, что это была загрузка в регистр селектора, который вызвал нарушения.Скорее, это был использование селектора выше вашего уровня привилегий.

Хотя для CS это произошло бы довольно быстро после того, как вы изменили его (когда вы пытались выполнить следующую инструкцию).

См. здесь для получения дополнительной информации.

...