Хелпикс

Главная

Контакты

Случайная статья





Прямая адресация.. Косвенная адресация.. Индексная адресация.



Прямая адресация.

 

При прямой адресации обращение за операндом производится по адресному коду в поле команды. При этом исполнительный адрес совпадает с адресом кода команды.

 

Косвенная адресация.

 

При косвенной адресации код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а его адрес, называемый указателем.


Индексная адресация.

 

Используется для работы программ с массивами, требующими однотипных операций над элементами массива.

Адрес i-того операнда в массиве определяется как сумма начального адреса массива операнда, задаваемого смещением S, и индекса I, записанного в одном из регистров регистровой памяти, называемым индексным регистром.

Адрес индексного регистра задается в команде полем адреса индекса Аи.

В каждом i-том цикле содержимое индексного регистра изменяется на постоянную величину, как правило, это 1.

В некоторых моделях ЭВМ относительная адресация выполняется без суммирования по следующей схеме:

 

Автоиндексная адресация

 

При автоиндексации косвенный адрес, находящийся в регистре РП, автоматически увеличивается (автоинкрементная адресация), или уменьшается (автодекрементная адресация) на постоянную величину до или после выполнения операции.

 

Существует достаточное количество способов адресации с использованием базы и смещения. В этом случае исполнительный адрес формируется путем сложения двух компонент – базового адреса и смещения. Базовый адрес загружается в специальный регистр базы. Для определения смещения используют уже перечисленные способы адресации.

       Разновидностью прямой и косвенной адресации является регистровая – адресное поле команды указывает не на ячейку памяти, а на регистр:

  1. Прямая регистровая – операнд непосредственно размещается в регистре;
  2. Косвенная регистровая – регистр содержит адрес операнда памяти.

 

Стековая адресация.

Стековая память широко используется в современных ЭВМ. Хотя адрес обращения в стек отсутствует в команде, он формируется схемой управления:

 

 

Для чтения записи доступен только один регистр v вершина стека. Этот способ адресации используется, в частности, системой прерывания программ при вложенных вызовах подпрограмм.

Стековая память реализуется на основе обычной памяти с использованием указателя стека и автоиндексной адресации.

Запись в стек производится с использованием автодекрементной адресации, а чтение - с использованием автоинкрементной адресации.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.