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

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

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

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

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: