Косвенные регистровые способы адресации включают возможности постинкрементирования, предекрементирования, смещения и индексирования. Способ адресации относительно программного счетчика также допускает индексирование и смещение. Оба способа расширены в MC68020 и обеспечивают косвенную ссылку через память. Помимо перечисленных способов адресации операндов, многие команды неявно предусматривают также использование регистра состояний, указателя стека и/или программного счетчика.
Таблица 1-1. Способы адресации
--------------------------------------------------T-----------¬
¦ Способы адресации ¦ Синтаксис ¦
+-------------------------------------------------+-----------+
¦ Прямые регистровые способы адресации ¦ ¦
¦ ¦ ¦
¦ Прямая адресация регистра данных ¦ Dn ¦
¦ Прямая адресация адресного регистра ¦ An ¦
+-------------------------------------------------+-----------+
¦ Косвенные способы адресации через регистр ¦ ¦
¦ ¦ ¦
¦ Косвенная адресация через адресный регистр ¦ (An) ¦
¦ Косвенная адресация через адресный регистр ¦ ¦
¦ с постинкрементированием ¦ (An)+ ¦
¦ Косвенная адресация через адресный регистр ¦ ¦
¦ с предекрементированием ¦ -(An) ¦
¦ Косвенная адресация через адресный регистр ¦ ¦
¦ со смещением ¦ (d16,An) ¦
+-------------------------------------------------+-----------+
¦ Косвенные способы адресации через регистр ¦ ¦
¦ с индексированием ¦ ¦
¦ ¦ ¦
¦ Косвенная адресация через адресный регистр ¦ ¦
¦ с индексированием (8-битное смещение) ¦ (d8,An,Xn)¦
¦ Косвенная адресация через адресный регистр ¦ ¦
¦ с индексированием (базовое смещение) ¦ (bd,An,Xn)¦
+-------------------------------------------------+-----------+
¦ Косвенные способы адресации через память ¦ ¦
¦ ¦ ¦
¦ Косвенная адресация через память ¦ ([bd,An], ¦
¦ с постиндексированием ¦ Xn,od)¦
¦ Косвенная адресация через память ¦ ([bd,An, ¦
¦ с преиндексированием ¦ Xn],od)¦
+-------------------------------------------------+-----------+
¦ Косвенная адресация через программный счетчик ¦ (d16,PC) ¦
¦ со смещением ¦ ¦
+-------------------------------------------------+-----------+
¦ Косвенные способы адресации через программный ¦ ¦
¦ счетчик с индексированием ¦ ¦
¦ ¦ ¦
¦ Косвенная адресация через программный счетчик ¦ ¦
¦ с индексированием (8-битное смещение) ¦ (d8,PC,Xn)¦
¦ Косвенная адресация через программный счетчик ¦ ¦
¦ с индексированием (базовое смещение) ¦ (bd,PC,Xn)¦
+-------------------------------------------------+-----------+
¦ Косвенные способы адресации через ¦ ¦
¦ программный_счетчик/память ¦ ¦
¦ ¦ ¦
¦ Косвенная адресация через ¦ ¦
¦ программный_счетчик/память ¦ ([bd,PC], ¦
¦ с постиндексированием ¦ Xn,od) ¦
¦ Косвенная адресация через ¦ ¦
¦ программный_счетчик/память ¦ ([bd,PC, ¦
¦ с преиндексированием ¦ Xn],od)¦
+-------------------------------------------------+-----------+
¦ Абсолютные способы адресации ¦ ¦
¦ ¦ ¦
¦ Абсолютный короткий адрес ¦ (xxx).W ¦
¦ Абсолютный длинный адрес ¦ (xxx).L ¦
+-------------------------------------------------+-----------+
¦ Непосредственные данные ¦ #<данные> ¦
L-------------------------------------------------+-----------ПРИМЕЧАНИЯ:
Dn = регистр данных, D0-D7
An = адресный регистр, A0-A7
d8,d16 = смещение в двоичном дополнительном коде или с распространенным знаком, используемое как аддитивная константа при вычислении исполнительного адреса; размер равен 8 и 16 битам соответственно для d8 и d16. Если смещение не указано, ассемблер использует нулевое значение.
Xn = адресный регистр или регистр данных, используемый в качестве индексного регистра; имеет формат Xn.SIZE*SCALE, где SIZE принимает значения .W и .L (определяя размер индексного регистра), а SCALE принимает значения 1,2,4 и
8 (значение индексного регистра умножается на SCALE).
Использование SIZE и/или SCALE необязательно.
bd = базовое смещение в двоичном дополнительном коде; в случае, если оно указано, его размер составляет 16 или 32
бита.
od = внешнее смещение, добавляемое при вычислении исполнительного адреса после выборки косвенного адреса из памяти; его использование необязательно, в случае, если оно указано, его размер составляет 16 или 32 бита.
PC = программный счетчик
<данные> = непосредственное значение размером в 8, 16 или 32
бита
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.