10. Методы адресации


Download 253 Kb.
bet5/9
Sana20.10.2023
Hajmi253 Kb.
#1711393
1   2   3   4   5   6   7   8   9
Относительная адресация. При относительной адресации (ОА) для получения исполнительного адреса опе­ранда содержимое подполя АК команды складывается с содержимым счетчика ко­манд. Таким образом, адресный код в команде представляет собой сме­щение относительно адреса текущей команды. Следует отметить, что в момент вычисления исполнительного адреса операнда в счетчике команд может уже быть сформирован адрес следующей команды, что нужно учитывать при выборе вели­чины смещения. Обычно подполе АК трактуется как двоичное число в дополни­тельном коде.
Адресация относительно счетчика команд базируется на свойстве локальнос­ти, выражающемся в том, что большая часть обращений происходит к ячейкам, расположенным в непосредственной близости от выполняемой команды. Это по­зволяет сэкономить на длине адресной части команды, поскольку разрядность под­поля АК может быть небольшой. Главное достоинство данного способа адресации состоит в том, что он делает программу перемещаемой в памяти: независимо от текущего расположения программы в адресном пространстве взаимное положе­ние команды и операнда остается неизменным, поэтому адресация операнда оста­ется корректной.
Базовая регистровая адресация. В случае базовой регистровой адресации (БРА) регистр, называемый базовым, со­держит полноразрядный адрес, а подполе АС — смещение относительно этого ад­реса. Ссылка на базовый регистр может быть явной или неявной. В некоторых ВМ имеется специальный базовый регистр и его использование является неявным, то есть подполе R в команде отсутствует (рис. 10.7).

Рис. 10.7. Базовая регистровая адресация с базовым регистром.
Более типичен случай, когда в роли базового регистра выступает один из регис­тров общего назначения (РОН), тогда его номер явно указывается в подполе R команды (рис. 10.8).
Базовую регистровую адресацию обычно используют для доступа к элементам массива, положение которого в памяти в процессе вычислений может меняться. В базовый регистр заносится начальный адрес массива, а адрес элемента массива указывается в подполе АС команды в виде смещения относительно начального ад­реса массива. Достоинство данного способа адресации в том, что смещение имеет меньшую длину, чем полный адрес, и это позволяет сократить длину адресного поля команды.

Рис. 10.8. Базовая регистровая адресация.

Download 253 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling