8086 селектор сегмента
Есть некоторый бит "supervisor", который не позволяет "пользовательскому пространству" делать что-то вроде: mov CS, 200h?
Какая защита имеет?
Спасибо
1 ответ
На фактическом 8086 процессоре? Я так не думаю. Расширенные функции защиты только начали появляться с 80286. Не было никаких ограничений на то, что программы могут устанавливать сегмент кода на 8086.
На 80386 в защищенном режиме (я думаю, что это был первый, кто предоставил это, но, возможно, это был 80286), значения в CS (и DS, ES и т. Д.) Изменились с регистров сегмента на селекторы, и им пришлось иметь записи в таблице дескрипторов (например: GDT, LDT).
В этот момент защита стала возможной, но я не думаю, что именно загрузка в регистр селектора вызвала нарушения. Скорее это было использование селектора выше вашего уровня привилегий.
Хотя для CS это произойдет довольно быстро после того, как вы измените его (как вы пытались выполнить следующую инструкцию).
Смотрите здесь для получения дополнительной информации.