Типы адресаций операндов


 

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

При описании различных адресаций операндов используют понятия адресного кода и исполнительного адреса. Адресный код АК – это информация об адресе операнда, содержащаяся в команде. Исполнительный адрес АИ – это номер физической ячейки памяти, к которой производится обращение.

Первая группа адресаций устанавливает АИ по значению АК. Сюда входят непосредственная, прямая, регистровая, косвенная, автоинкрементная и автодекрементная адресации.

Принепосредственной адресации операнд указывается в команде константой. Эта адресация используется только для указания исходных данных.

При прямой адресации АИ совпадает с АК.

При регистровой адресации в команде указывается имя регистра процессора, в котором хранится операнд.

Косвенная адресация используется в целях сокращения длины команды. В этом случае АК указывает имя регистра процессора, в котором находится АИ. Такой регистр называют регистром адреса..

При автоинкрементной (автодекрементной) адресации в команде указывается имя регистра процессора, содержимое которого автоматически увеличивается (уменьшается) на 1, причем изменение адреса может производиться как до (преинкремент/предекремент), так и после (постинкремент/постдекремент) выполнения основной команды. Следовательно, преинкремент/предекремент означает вычисление нового АИ перед выполнением команды, а постинкремент/постдекремент – что АИ в данной команде не изменяется.

Вторая группа адресаций устанавливает АИ по АК и содержимому регистров процессора. Сюда входят индексная и базовая адресации. Оба типа адресаций позволяют при меньшей длине адресного кода команды обеспечить доступ к любой ячейке памяти.

Индексация (указание) означает автоматическое изменение АИ без изменения содержимого регистра адреса, называемого индексом, причем АИ вычисляется как алгебраическая сумма содержимого индекса и смещения. Таким образом, содержимое индекса задает начало некоторой области ячеек памяти, а смещение – конкретную ячейку памяти в этой области. В команде АК указывает имя индекса и сравнительно короткое смещение или имя регистра процессора, в котором оно содержится. Индексация используется при работе с массивами данных.

Базирование является развитием индексации. Здесь АИ также определяется алгебраической суммой содержимого регистра адреса, называемого базой, и смещения, но с изменением содержимого базы. При этом используются постинкремент/постдекремент и преинкремент/пре-декремент на величину смещения.

 



Дата добавления: 2020-10-25; просмотров: 375;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.