Относительная адресация ячейки ОП Базирование способом суммирования
В команде адресный код Ак разделяется на две составляющие: Aб - адрес регистра в регистровой памяти , в котором хранится база Б (базовый адрес); С - код смещения относительно базового адреса (рис. 2.7).
![](image/otnositelnaja-adresacija-jachejki-op-bazirovanie_1.jpg)
Рис. 2.7. Схема формирования относительного адреса способом суммирования кодов базы и смещения: СМ - сумматор; РАОП - регистр адреса ОП;
Б - база (базовый адрес); С - смещение; Aб- адрес регистра базы;
nб - длина кода базы; nc - длина поля смешения
Для определения максимальной емкости ОП, адресуемой с помощью базирования, способом суммирования, определим длину кода исполнительного адреса
![](image/otnositelnaja-adresacija-jachejki-op-bazirovanie_2.jpg)
Так как nб
= mрп и обычно больше, чем Пс, то справедливо следующее выражение:
![](image/otnositelnaja-adresacija-jachejki-op-bazirovanie_3.jpg)
т. е. максимальная адресуемая емкость ОП определяется разрядностью РП. Длина NаБ
поля кода команды, задающего адрес регистра базы Aб, определяется через емкость РП Мрп, по формуле
![](image/otnositelnaja-adresacija-jachejki-op-bazirovanie_4.jpg)
Таким образом, можно определить количество NаБ
двоичных разрядов в адресном поле команды, необходимое для формирования Аи с размещением базы в РП:
![](image/index-image016.jpg)
Приведенные выражения позволяют определить числовые значения параметров относительной адресации (базирование способов суммирования). Для того, чтобы увеличить Моп, необходимо выполнить условие:
![](image/otnositelnaja-adresacija-jachejki-op-bazirovanie_5.jpg)
С помощью метода относительной адресации удается получить так называемый перемещаемый программный модуль, который одинаково выполняется процессором независимо от адресов, в которых он расположен. Начальный адрес программного модуля (база) загружается, при входе в модуль, в базовый регистр. Все остальные адреса программного модуля формируются через смещение относительно начального адреса (базы) модуля. Таким образом, одна и та же программа может работать с данными, расположенными в любой области памяти, без перемещения данных и без изменения текста программы только за счет изменения содержания всего одного базового регистра. Однако время выполнения каждой операции при этом возрастает.