I2S disp (32)
SS:esp I2S SS:esp I2S disp (16)SS:esp I2S disp (32)
DS:disp (32 бита)DS:ebp I2S disp (16)DS:ebp I2S disp (32)
DS:esi I2S DS:esi I2S disp (16)DS:esi I2S disp (32)
DS:edi I2S DS:edi I2S disp (16)DS:edi I2S disp (32)
Примечание:
В качестве индексного регистра может быть указан любой РОН, кроме указателя стека (100).
Когда поле индекса содержит 100, указывающее, что индексный регистр не используется, поле SS должно содержать 00, иначе линейный адрес, будет считаться неопределенным
Трансляция сегментов в защищенном режиме МП IA-32
Дескрипторы сегментов, кроме функций аппаратной системы защиты программ от взаимных помех, используются для процедур трансляции сегментов при каждом обращении к оперативной памяти.
Для решения этой проблемы процессор содержит шесть сегментных регистров. С каждым 16-битным сегментным регистром ассоциативно связаны по одному из шести программно-недоступных 64-битных регистров дескрипторов (см. рис. 3. 12). Эти регистры предназначены для хранения шести дескрипторов сегментов после их активизации.
Активизация дескрипторов осуществляется командами загрузки сегментного регистра (кроме CS) или командами межсегментных передач управления (для активизации сегментов программ). При этом в дескрипторном регистре запоминается дескриптор, а в 16-битном регистре – адрес его расположения в таблице дескрипторов.
Схема трансляции сегментов
МП содержит 6 регистров сегментов. Это означает, что одновременно могут быть активными и участвовать в процедуре трансляции только 6 сегментов. Для загрузки сегментов данных, включая сегмент стека, имеются специальные команды "загрузить сегмент".
В работе механизма защиты при обращении к данным можно выделить два этапа:
з
Страницы: << < 34 | 35 | 36 | 37 | 38 > >>