Мегаобучалка Главная | О нас | Обратная связь


Относительная и индексная адресация



2020-02-03 174 Обсуждений (0)
Относительная и индексная адресация 0.00 из 5.00 0 оценок




 

В этом случае адрес операнда задается относительно некоторого базового адреса (Аб).

Для хранения Аб выделяется специал. регистр, который называется базовым регистром. Это может быть один из РОН.

Будем в дальнейшем обозначать такой регистр В, а его содержимое (В); D-смещение.

При относительной адресации в адресной части команды указывается номер базового регистра и смещение:

 

Коп . . . В D

 

Принцип относительной адресации поясняется схемой:


 

Схема, поясняющая формирование Аи, показана на рис.:

При реализации оптимальной адресации процессор по номеру базового регистра В, содержащегося в команде находит в РОН базовый регистр передает его содержимое на сумматор СМ, куда поступает также D. На выходе сумматора формируется исполнительный адрес Аи.

 

 

Выполнение операции сложения требует определенных затрат времени, поэтому в некоторых случаях для повышения быстродействия формирование Аи осуществляется путем совмещения базового адреса В и смещения D. В этом случае младшие биты В должны содержать нули. Количество нулевых бит должно быть равно длине смещения. Схема формирования Аи имеет вид:

Одно из основных достоинств относительной адресации возможность перемещения программы в ОП. Для этого достаточно изменить содержимое базового регистра. При использовании этой адресации в ассемблерных программах адрес операнда представляется в виде записи регистр + смещение, который помещается в [].

 

Sub AX,[EBX+8]

 

Индексная адресация.

Используется при обработке массивов и организации циклов. Массив – упорядоченная совокупность элементов одинакового типа. Различные элементы массива имеют одинаковую длину и располагаются последовательно в ОП. Положение элементов внутри массива задается с помощью индексов. Для хранения индекса при индексной адресации среди РОН выделяется индексный регистр. Значение Аи=(В)+(Х)+Р, где Х - индексный регистр, (Х) – его содержимое.

Схема формирования Аи приведена на рис.:

 

 

     
 

При выполнении команды по номерам базового и индексного регистров, содержащимся в команде, процессор обращается к соответствующим регистрам, извлекает их содержимое и передает на сумматор, куда поступает также смещение D. На выходе сумматора формируется Аи элемента массива. При индексной адресации одна и та же команда без изменения отдельных ее частей может многократно выполнятся в цикле. При этом автоматически происходит изменение содержимого индексного регистра Х путем увеличения автоинкримента на 1, либо наоборот при каждом прохождении цикла. В ассемблерных командах имя Х указывается в [] :

 

MOV     AX,[EBХ][EDX].

 

В современных 32 битных микропроцессорах допускается масштабирование Х, если операнды являются 32-битовыми. Но заключаются в умножении содержимого Х на значения 2, 4, 8. Такой прием удобен при организации обработки элементов массива, имеющих длину 2, 4, 8 байт. В этом случае ассемблерная команда:

MOV     AX,[EBХ][EDX*8], где [EDX*8] индексный регистр.

Стековая адресация

 

Используется при работе со стековой памятью и представляет собой один из безадресных (подразумеваемых) способов адресации. Это связано с тем, что в стековой памяти запись и чтение информации осуществляется через одну и ту же ячейку памяти. Называемую вершиной стека. Этот процесс иллюстрируется следующей схемой:

 

 

При работе со стековой памятью обычно используют указатель вершины стека, в котором хранится адрес последней, заполненной стековой памятью ячейки. При записи/чтении из стека содержимое указателя стека (УС) изменяется автоматически. При записи увеличивается, при чтении уменьшается, поэтому отпадает необходимость в командах указывать адреса ячеек стековой памяти. В командах, использующих стековую память указываются только номера регистров, либо номера ячеек ОП, в которых хранятся операнды, используемые в операциях со стековой памятью.

Операции со стековой памятью широко используются в современных ЭВМ для организации работы с подпрограммами.

 



2020-02-03 174 Обсуждений (0)
Относительная и индексная адресация 0.00 из 5.00 0 оценок









Обсуждение в статье: Относительная и индексная адресация

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (174)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)