Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белош_Лекции_4_курс_2010г.doc
Скачиваний:
27
Добавлен:
16.07.2019
Размер:
2.92 Mб
Скачать

Режим адресации

Микропроцессор Intel имеет большие возможности по способу доступа к операнду. Операнды могут содержаться в регистрах, в самих операндах, в памяти или в портах ввода/вывода. Если рассматривать все возможные комбинации, то в этом микропроцессоре можно насчитать 24режима адресации операнда. Выделим и рассмотрим 7 основных из них:

  1. Регистровая адресация

  2. Непосредственная адресация

  3. Прямая адресация

  4. Косвенная адресация

  5. Адресация по базе

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

  7. Адресация по базе с индексированием

Микропроцессор выбирает один из семи адресаций по значению поля режима команды. Ассемблер присваивает необходимое значение полю режима команды. Ассемблер присваивает необходимое значение полю режима в зависимости от того в каком виде операнды записаны в исходном тексте программы.

Например « MOV AX, BX » - это означает, что ассемблер закодирует оба операнда для регистровой операции. Следует обратить внимание на то, что в ассемблере Intel источник записывается справа, а приемник слева. В данном примере это означает, что содержимое BX отправляется в AX-аккумулятор.

Если операнд источника в квадратных скобках, например «MOV AX, [BX]», то ассемблер закодирует операнд источника для косвенной регистровой адресации.

Таблица режимов адресации микропроцессора Intel.

регистровый

регистр

-

непосредственный

данные

-

прямая

сдвиг

метка

DS

косвенный регистровый

[BX]

DS

[BP]

SS

[DI]

DS

[SI]

DS

по базе

[BX] + сдвиг

DS

[BP] + сдвиг

CS

прямой с индексированием

[DI] + сдвиг

DS

[SI] + сдвиг

DS

по базе с индексированием

[BX] [SI] + сдвиг

DS

[BX] [DI] + сдвиг

DS

[BP][SI] + сдвиг

SS

[BP][DI] + сдвиг

SS

Обратим внимание, что во всех режимах предполагается доступ к сегменту данных т.е регистром сегмента служит регистр ДS , а в тех случаях когда для сдвига используется регистр ВР это предполагается доступ к элементу сегмента стека и тогда начало задается регистром SS.

Примечание: компонент сдвиг при адресации по базе с индексированием не обязателен. Операнд регистр может быть 8 или 16 разрядным, кроме регистра IP. Операнд данные может быть 8 или 16 разрядной константой. Компонент сдвиг может иметь 8 или 16 разрядов и может быть и положительным и отрицательным. Из приведенных режимов адресации самым быстрым яв-ся регистровый и непосредственный, т.к в этом случае операнд нах-ся либо в регистре, либо в самой команде, т.е вычислять адрес памяти и обращаться к ней не надо.