MC68020 - первый среди микропроцессоров семейства М68000 фирмы Motorola, имеющий полностью 32-битную архитектуру, страница 3

Косвенные регистровые способы  адресации  включают  возможности постинкрементирования, предекрементирования, смещения и  индексирования. Способ адресации относительно программного  счетчика также допускает индексирование и смещение. Оба способа расширены в 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

бита