Способы адресации операндов
(3 Билет)
Существуют следующие способы адресации операндов:
· Регистровая (операнд – в регистре данных или адреса).
·Косвенно-регистровая (операнд – в ячейке памяти, адресуемой содержимым регистра адреса).
· Косвенно-регистровая с постинкрементом (операнд – в ячейке памяти, адресуемой содержимым регистра адреса, который автоматически увеличивается после выборки операнда).
·Косвенно-регистровая с пердинкрементом (операнд – в ячейке памяти, адресуемое содержимым регистра адреса, которое автоматически уменьшается перед выбором операнда).
· Косвенно-регистровая с индексированием (операнд – в ячейке памяти, ее адрес – сумма содержимого регистра адреса, индексного регистра и задаваемого в команде 8-ми (иногда 16-ти и 32-х) разрядного смещения).
· Прямая (операнд – в ячейке памяти, адрес которой задается числом, указанным в команде).
·Относительная (операнд – в ячейке памяти, адрес которой – сумма текущего содержимого программного счетчика и данного в команде 16-ти (32-х) разрядного смещения).
· Относительная со смещением (операнд –в ячейке памяти, адрес которой – сумма содержимого программного счетчика, индексного регистра и указанного в команде 16-ти (32-х) разрядного смещения).
· Непосредственная (операнд – в команде).
Дополнительно введены следующие способы адресации:
·Косвенно-регистровая с базовым смещением и ндексированием (операнд – в ячейке памяти, адрес которой – сумма адресного базового регистра, индексного регистра (возможно масштабированного) и 32-х разрядного смещения).
·Косвенно-регистровая с постиндексированием (к содержимому адресного (базового) регистра прибавляется смещение, затем прибавляется содержимое индексного регистра и дополнительное смещение, и все это является адресом ячейки памяти, содержащий операнд).
·Косвенно-регистровая с прединдексированием (операнд – в ячейке памяти, адрес которого определяется суммированием содержимого базового регистра, индексного регистра и базового смещения, к которому впоследствии прибавляется дополнительное смещение).
· Относительное с базовым смещением и индексированием (то же, что и 10, только вместо базового регистра используется программный счетчик).
·Косвенно-относительная с постиндексированием (аналогична п. 11, но вместо базового регистра используется программный счетчик).
·Косвенно-относительная с прединдексированием (аналогична п. 12, но вместо базового регистра используется программный счетчик).
Как правило, другой операнд должен присутствовать в регистре адреса или данных