Вход в систему

Лекции по курсу "Проектирование ассемблеров, компоновщиков, макропроцессоров

8. Адресация операндов

 

Есть команды, и есть операнды. Операнд – тот объект, над которым будет производиться операция. В команде мы указываем адрес.

При регистровой адресации эффективный адрес операнда может находиться в любом из регистров общего назначения, кроме SP и ВР (это специальные регистры для работы с сегментом стека).

При прямой адресации эффективный адрес содержится в самой команде и для его формирования не используется никаких дополнительных источников или регистров. Эффективный адрес берется непосредственно из поля смещения машинной команды.

При косвенной адресации в самой команде может находиться лишь часть эффективного адреса, а остальные его компоненты находятся в регистрах, на которые указывает своим cодержимым байт mod r/m. Квадратные скобки - признак косвенной адресации.

При непосредственной адресации эффективный адрес является частью машинной команды, но формируется этот адрес только из значения поля смещения в команде. Для формирования физического адреса операнда в памяти процессор складывает это поле со сдвинутым на четыре бита значением сегментного регистра.

Смешанная адресация представляет собой совокупность прямой и косвенной адресаций.

Эффективный адрес (EA) применим к прямой, косвенной и смешанной адресациям.

   
В четвертом случае EA будет равен bx + si + x (смещение, вычисленное в байтах от начала некоторого сегмента).

Сегментация (добавление содержимого сегментного регистра к эффективному адресу) применяется процессором автоматически при:

  • вычислении адреса команды;


  • извлечении данных из стека, занесении данных в стек;


  • извлечении данных из памяти, занесении данных в память. Можно явно задавать вид сегмента (ss, cs, ds, es).

Введение
Причины использования языка ассемблер
Причины неиспользования языка ассемблер
Синтаксис ассемблера
Системное программное обеспечение и структура ЭВМ
Программная модель процессора Intel 8086
Организация работы памяти
Операнды
Адресация операндов
Формат машинных команд
Команды переходов
Типы ассемблеров. Функции ассемблера
Ассемблер по схеме 1А / ОП
Ассемблер по схеме 1А / МД
Двухпросмотровый ассемблер
Многопросмотровый ассемблер
Загрузчик
Структура объектных файлов. Основные понятия
Идентификация модуля и атрибуты
Концепция привязки
Объектный файл. Последовательность записей
Объектный файл. Формат записей
Формат записей THEADR и LHEADR
Формат записи LNAMES
Формат записи SEGDEF
Формат записи GRPDEF
Формат записи PUBDEF
Формат записи COMDEF
Формат записи LOCSYM
Формат записи EXTDEF
Формат записи LINNUM
Формат записи LEDATA
Формат записи LIDATA
Формат записи FIXUPP
Формат записи MODEND
Формат записи комментариев


исполнялось 0,145332 c, запросов к базе 6