Методы адресации в процессоре 8086

Методы адресации - это методы вычисления адресов для данных, находящихся в различных компонентах компьютера (в ОЗУ, вне программы, в области программы, в регистрах микропроцессора, в портах и т. д.). Эта информация передается программистом процессору через специальный синтаксис компилятора. Одна и та же команда, использующая разные методы адресации, будет отличаться по синтаксису только аргументами. В МП 8086 24 метода адресации, но мы рассмотрим только 7 основных.

1. Регистровый

2. Прямой

3. Косвенно-регистровый

4. Непосредственный

5. По базе

6. Прямой с индексированием

7. По базе с индексированием.

Все методы адресации рассмотрим на примере самой простой команды MOV - переслать.

1. Регистровый. Использует команды для записи, хранения и чтения данных в регистрах МП.

mov AX, BX - переслать данные из регистра BX в AX.

AX - приемник

BX - источник.

2. Прямой. Использует команды для доступа к данным, расположенным в оперативной памяти вне программы. Адрес прямо записан к команде.

MOV AL, [1FA7H]

MOV AL, MASS

3. Косвенно-регистровый. Аналогичный предыдущему, но адрес ячейки указан не прямо в программе, а в каком-либо регистре МП. В качестве регистров можно использовать BX, SI, DI.

MOV AL, [BX] - команда означает переписать из памяти данные в аккумулятор, а адрес ячейки памяти читать в регистре BX.

4. Непосредственный. Использует команды для доступа к данным, расположенным в самой программе.

MOV AL, 7

MOV AL, ‘A’ - переслать ASCII код A - 065.

5. По базе. Использует команды для доступа к данным структур.

MOV AL, [BX+5] - команда означает, что если в BX записать адрес начала структуры или массива, то компилятор прибавит к этому адресу число 5 и сгенерирует адрес пятого элемента массива и передаст его процессору, записав в BX адрес этого элемента.

6. Прямой с индексированием.

MOV AL, MASS [SI].

Использует команды для упорядоченного просмотра всей структуры. Если в переменную MASS записать адрес структуры, а в индексы от 0 до последнего элемента, то изменяя их в цикле, получаем адрес каждого элемента.

 

7. По базе с индексированием. Используют команды для работы с двумерными массивами.

MOV AL, MASS [BX][SI]

Если в переменную MASS записать адрес массива, а в BX и SI соответственно номер строки и столбца, то зафиксировав либо строку, либо столбец, просматривается структура либо по строкам, либо по столбцам.


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



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