Понятие способа адресации
Способ адресации – это правила записи в команде логического адреса и правила вычисления на его основе исполнительного адреса. Примене- ние того или иного способа адресации во многом зависит от требований к размещению программы в основной памяти.
Специализированные ЭВМ имеют фиксированный набор программ. Размещение программ в основной памяти можно спланировать заранее. Основной целью кодирования адресов является сокращение длины ко- манды.
Набор программ для ЭВМ общего назначения заранее не известен. Предварительно спланировать размещение программ в памяти невоз- можно. Кодирование адресов должно обеспечить размещение программы в любом месте памяти без внесения изменений в программу. Это свойст- во называют перемещаемостью программы. Другими словами, изменение результата вычисления АИ=F(АЛ) должно достигаться без изменения ло- гического адреса.
Дадим краткое описание наиболее используемых способов адреса- ции.
Прямая адресация. В команде указывается исполнительный адрес. Правило декодирования: АИ = АЛ. Время вычисления исполнительного адреса минимально. Перемещаемость программ не поддерживается. Длина логического адреса максимальна. Применяется для адресации данных в регистрах общего назначения
Косвенная адресация. В команде указывается адрес, по которому хранится исполнительный адрес. Правило декодирования: АИ = (АЛ). Поддерживается перемещаемость программ. При хранении исполнитель- ного адреса в основной памяти длина логического адреса максимальна. Для получения исполнительного адреса необходимо дополнительное об- ращение в память. При хранении исполнительного адреса в регистре общего назначения сокращается длина логического адреса и время по- лучения исполнительного адреса.
Относительная адресация
Относительная адресация в различных вариантах реализации являет- ся основной в ЭВМ общего значения и изначально ориентирована на поддержку перемещаемости программ. Суть относительной адресации

показана на рисунке 5.
![]()
![]()
![]()
![]()
При
составлении каждой программы
отсчет логических адресов производится с нуля. При размещении программы в выде- ленной ей памяти для программы назна- чается база. База представляет собой ис- полнительный адрес начала выделенной области памяти.
При вычислении исполнительного ад- реса логический адрес рассматривается как смещение D от базы АИ = База + D.
Рис.5.
Изменение базы при неизменных логических адресах в командах по- зволяет “привязать” программу к любому месту основной памяти.
Обычно значение базы устанавливается при загрузке программы в основную память и хранится либо в специальном программно недоступном регистре или одном из регистров общего назначения.
Разновидностью относительной адресации является индексная адре- сация:
АИ = База + Индекс + D.
Значение индекса хранится в специальном регистре индекса или одном из регистров общего назначения. Индекс позволяет обрабатывать данные в последовательно расположенных ячейках памяти без изменения команды. Для изменения исполнительного адреса достаточно изменить значение индекса.
Непосредственная адресация
Операнд записывается непосредственно в команде на месте логиче- ского адреса. Декодирование логического адреса не требуется, так как Операнд=АЛ. Непосредственная адресация применяется для записи кон- стант.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.