физический адрес 0100016 может быть
Например, физический адрес 0100016 может быть получен при селекторе 000016 и смещении 100016, селекторе 010016 и смещении 000016, а также при множестве других значений селекторов и смещений. Подобный подход к формированию физического адреса оказался весьма неудобным и способствует возникновению трудноуловимых ошибок.
Программист работает с логическими адресами, состоящими из селекторов и смещений. Логический адрес записывается в виде “селектор
: смещение”. Большинство машинных инструкций, обращающихся к памяти, позволяют задать только смещение требуемого операнда, а селектор находится в том или ином сегментном регистре. Смещение в таких инструкциях называется эффективным адресом и вычисляется в процессе выполнения команды. Подробно правила вычисления эффективного адреса описаны в подразделе 2.4.1 “Адресация операндов”.
Если данные размещаются в сегменте, селектор которого не загружен в требуемый сегментный регистр, перед выполнением доступа к этим данным необходимо загрузить селектор содержащего их сегмента в тот или иной сегментный регистр.
Команды переходов позволяют указать либо только смещение инструкции, которая должна выполняться следующей, либо и селектор сегмента, и смещение следующей инструкции. В первом случае говорят о ближнем (near) переходе – новая инструкция находится в том же сегменте, что и команда перехода. Во втором случае переход будет дальним (far) – новая инструкция находится в другом сегменте.
В языках высокого уровня имеются понятия ближних и дальних указателей. Ближние указатели состоят только из смещения; подразумевается, что это смещение относится к текущему сегменту данных. Дальние указатели состоят из селектора сегмента и смещения; компилятор, обрабатывая дальние указатели, должен обеспечить загрузку селектора в требуемый сегментный регистр.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий