Она используется в тех случаях, когда число разрядов в адресной части команды недостаточно для указания всех адресов оперативной памяти ЭВМ.
При таком способе адресации в адресном поле команды число является адре-сом R регистра Рсозу, который содержит исполнительный адрес Аисп (рис. 6.4.).
Регистр команд
При такой адресации необходимо сначала загрузить регистр R, а поэтому ее используют тогда, когда программа многократно использует один и тот же адрес ячейки.
Рассмотренные методы адресации обеспечивают адресацию переменных и констант. При решении ряда задач на ЭВМ необходимо выполнять некоторые участки программ многократно (цикличность вычислительного процесса) над различными операндами, расположенными упорядоченно в массивах ОП. Поскольку операнды, обрабатываемые при повторениях цикла, имеют разные адреса, то каждый цикл в программе можно представить виде последовательности команд, отличающихся адресными частями. Однако при таком подходе программа решения задачи оказывается слишком длинной и ее составление чрезмерно трудоемким.
Программирование вычислительных циклов существенно упрощается, если после каждого цикла обеспечить автоматическое изменение в соответствующих командах их адресных частей. Процедура изменения адреса в командах называется модификацией адреса. Модификация адресов команд основана на возможности выполнения над кодами команд или их частями арифметических и логических операций. В качестве операндов в командах вычислительного цикла могут фигурировать элементы массивов называемые переменными с индексами. Элемент массива представляется базовым адресом Аб и индекса i, указывающего, на сколько единиц должен быть изменен адрес команды перед ее выполнением.
Программный способ модификации адресов в команде значительно замедляет процесс обработки переменных с индексом и требует для этих целен большой емкости оперативной памяти. В связи с этим в современных ЭВМ для модификации адресов используют аппаратные средства. В этом случае адрес в команде (рис. 6.5) представляется двумя полями.
В поле В указывается базовый адрес массива Аб оперативной памяти. Поле Х называется индексом. Если Х=0, то адрес Аб не модифицируется, т.е. является исполнительным Аисп. Значение Х<>0 определяет адрес ячейки памяти индексов, в которой хранится индекс i. Модификация адреса сводится к вычислению исполнительного адреса Аисп=Аб+(Х), где (X) — содержимое ячейки Х индексной памяти.
В качестве индексной памяти используют в процессоре так называемые индексные регистры СОЗУ. Суммирование производится или АЛБ процессора, пли в специальном сумматоре обработки адресов, что несколько только увеличивает объем процессора.