logo search
стр 103-113

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

При прямой адресации (линейной) каждый адрес (его еще называют исполнительным адресом) соответствует определенной физической ячейке данных и является ее номером.. Другими словами, обращение за операндом в ОП производится по адресному коду в поле команды, т.е. исполнительный адрес операнда (номер ячейки) совпадает с адресным кодом команды (код адресного поля команды). При этом адресное пространство памяти ограничено адресным полем команды, что существенно ограничивает общий объем оперативной памяти. Встречаются приложения, когда в команде целесообразнее размещать не сам адрес операнда (результата или перехода), а его указатель, т.е. адрес ячейки ОП в которой сохраняется адрес операнда. Идея метода состоит в том, что адрес памяти (номер ячейки) предварительно заносится в один из регистров процессора или в ячейку памяти. При этом команда (адресное поле команды) содержит лишь ссылку на этот регистр или ячейку памяти.

Адресация к операнду через цепочку указателей (косвенных адресов) называется косвенной. Такое косвенное адресование упрощает построение циклических программ, а также создает условия для расширения адресного пространства памяти. Рассмотрим пример такой адресации при использовании 11 разрядной шины адреса и 16 разрядной шины данных:

К оманда: ADD (25)

Ф ормат команды: 0100 1 000 0001 1001 адрес

КОП бит косвенной адресации

поле адреса поле данных

Ш

  1. 53

53 407

аг 1.

И з ячейки памяти по адресу 25

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

Ш аг 2.

И з ячейки памяти с адресом 53

и звлекается значение операнда 407.

Ш аг 3.