Абсолютные способы формирования исполнительного адреса
Абсолютные способы формирования предполагают, что двоичный
код адреса ячейки памяти (А
И) может быть извлечен целиком из адрес-
ного поля команды или из какой-либо другой ячейки (регистра), ника-
ких преобразований
над кодом
адреса
не производится.
К
абсолютным способам относятся непосредственная, прямая
и
косвенная
адресации,
которые
имеют
различную
кратность
обращения
-
к памяти.
Непосредственная адресация операнда
При этом способе операнд располагается в адресном поле команды.
Обращение к регистровой памяти (РП) или ОП за операндом не произ-
водится
(
R=
0),
он
выбирается
вместе
с
командой.
Таким
образом,
уменьшается время выполнения операции, сокращается объем памяти.
Непосредственная адресация удобна для задания констант, длина кото-
рых меньше или
равна длине адресного
поля команды.
Прямая адресация операндов
При
этом
способе
(рис.
2.19)
адресации
обращение
за
операндом
в РП или ОП производится по адресному коду в поле команды (
R = 1),
т.е. исполнительный адрес операнда совпадает с адресным кодом ко-
манды
(А
И = А
К).
РК
аА
И РП
mРП
mР
РП
б
МРП
АИ ОП
mОП
ОП
МОП
Рис. 2.19. Схема прямой адресации:
а– к регистровой памяти; б– к основной памяти
Обеспечивая простоту программирования, этот метод имеет суще- ственный недостаток. Для адресации к ячейкам памяти большой емко- сти требуется «длинное» адресное поле в команде. Прямая адресация широко используется в сочетании с другими способами адресации. В частности, вся адресация к «малой» регистровой памяти ведется толь- ко с помощью прямой адресации.
Косвенная адресация операндов
При этом способе адресный код команды указывает адрес ячейки
(регистра) памяти, в которой находится не сам операнд, а лишь адрес
операнда,
называемый
указателем
операнда.
Адресация
к
операнду
через
цепочку
указателей
(косвенных
адресов)
называется
косвенной
(
R
2).
Адрес
указателя,
задаваемый
программой,
остается
неизменным,
а косвенный адрес может изменяться в процессе выполнения програм-
мы. Косвенная адресация, таким образом, обеспечивает переадресацию
данных, т.е. упрощает обработку массивов и списковых структур дан-
ных, упрощает передачу параметров подпрограммам, но не обеспечива-
ет
перемещаемость
программ в
памяти.
Косвенная адресация также широко используется в ЭВМ, имеющих
короткое
машинное
слово,
для
преодоления
ограничений
короткого
формата. В этом случае первый указатель должен располагаться в РП
(рис.
2.20).
Адрес
указателя
РП
ОП
А
иОП
М
=2
mРП
оп
А
иОП=m
РП
Рис. 2.20. Схема косвенной адресации
-
Относительные способы формирования исполнительных адресов ячеек памяти
Относительные способы формирования
А
И предполагают,
что
двоичный код адреса ячейки памяти образуется из нескольких состав-
ляющих: Б
– код базы, И
– код индекса, С
– код смещения, используе-
мых
в
сочетаниях
(Б
и С),
(И
и С),
(Б,
И
и С).
При относительной адресации применяются два способа вычисле-
ния
адреса А
И: