Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Методика формирования 20-разрядного физического адреса в 16-разрядном МПТак как микропроцессора INTEL 8086 является 16-разрядным, то все операции при вычислении физического адреса производятся с 16-разрядными адресными объектами. Логический адрес ячейки памяти состоит из двух 16-разрядных значений: 1. начального адреса сегмента, 2. внутрисегментного смещения, которое определяет расстояние от начала сегмента до адресуемой ячейки памяти. Сегмент может начинаться только по адресу кратному 16. В сегментном регистре хранится 16 старших битов 20-разрядного начального адреса сегмента. Четыре младших бита адреса принимаются равными нулю и дописываются справа к содержимому сегментного регистра при вычислении физических адресов ячеек памяти. Изменяя содержимое сегментных регистров, можно передвигать сегменты в границах всей памяти. Внутри программы все адреса памяти относительны к началу сегмента. Для хранения относительных адресов ячеек памяти внутри сегментов (смещений относительно начала сегментов) используются регистры смещений IP, SP, BP, SI, DI. Схема формирования физического адреса ячейки памяти представлена на рисунке 4. Рисунок – Схема формирования 20-разрядного физического адреса
Выборка команд из памяти осуществляется из текущего сегмента команд по адресу, сформированному путем суммирования содержимого сегментного регистра CS и смещения, в качестве которого используется содержимое регистра указателя команд IP. После выборки из памяти программ очередного байта команды содержимое IP увеличивается на единицу. Указательные регистры SP и BP предназначены для доступа к данным в текущем сегменте стека. Стековые команды всегда обращаются к текущему сегменту стека по адресу SS : SP. Если при вычислении адреса используется регистр BP, то ячейки стекового сегмента рассматриваются как оперативная память с произвольной выборкой. Индексные регистры SI и DI содержат смещения, которые относятся к текущему сегменту данных. Сегментная организация памяти обеспечивает возможность создания позиционно независимых или динамически перемещаемых программ, что необходимо в мультипрограммной среде для эффективного использования оперативной памяти. Чтобы обеспечить позиционную независимость, все смещения в программе должны задаваться относительно фиксированных значений, содержащихся в сегментных регистрах. Это позволяет произвольно перемещать программу в адресном пространстве памяти, изменяя только содержимое сегментных регистров.
Дата добавления: 2014-08-04; просмотров: 372; Нарушение авторских прав Мы поможем в написании ваших работ! |