Подробное описание системы команд микропроцессора МС68020 и способов адресации, страница 48

¦     -(An)      ¦100 ¦ном.An  ¦¦                ¦    ¦        ¦

+----------------+----+--------++----------------+----+--------+

¦   (d{16},An)   ¦101 ¦ном.An  ¦¦   (d{16},PC)   ¦ -  ¦   -    ¦

+----------------+----+--------++----------------+----+--------+

¦  (d{8},An,Xn)  ¦110 ¦ном.An  ¦¦  (d{8},PC,Xn)  ¦ -  ¦   -    ¦

+----------------+----+--------++----------------+----+--------+

¦   (bd,An,Xn)   ¦110 ¦ном.An  ¦¦   (bd,PC,Xn)   ¦ -  ¦   -    ¦

+----------------+----+--------++----------------+----+--------+

¦([bd,An,Xn],od) ¦110 ¦ном.An  ¦¦ ([bd,PC,Xn],od)¦ -  ¦   -    ¦

+----------------+----+--------++----------------+----+--------+

¦([bd,An],Xn,od) ¦110 ¦ном.An  ¦¦ ([bd,PC],Xn,od)¦ -  ¦   -    ¦

L----------------+----+---------L----------------+----+--------Поле  Непосредственных  данных (данных, непосредственно следующих за операционным словом):

если Размер = 00, данные  находятся  в  младшем  байте слова непосредственных данных.

если Размер = 01, данные находятся в слове непосредственных данных.

если Размер = 10, данные находятся в двух словах   непосредственных данных.

ORI        Дизъюнкция непосредственных данных          ORI

to CCR             с кодом условия                  to CCR

---------------------------------------------------------Операция:       Непосредственные данные v CCR  > CCR

Синтаксис:      ORI   #<данные>,CCR

Атрибуты:       Размер=(Байт)

Описание:

Вычисляется дизъюнкция Непосредственных данных и  кодов условия;  результат  помещается в младший байт регистра состояния.

Коды условия:

X   N   Z   V   C

----T---T---T---T---¬

¦ * ¦ * ¦ * ¦ * ¦ * ¦

L---+---+---+---+---N   1, если 3-й бит <данных> равен 1; иначе не меняется

Z   1, если 2-й бит <данных> равен 1; иначе не меняется

V   1, если 1-й бит <данных> равен 1; иначе не меняется

C   1, если 1-й бит <данных> равен 1; иначе не меняется

X   1, если 4-й бит <данных> равен 1; иначе не меняется

Формат команды:

15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0

----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬

¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 0¦

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+

¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦   Байт данных (8 бит)        ¦

L---+---+---+---+---+---+---+---+------------------------------ORI  Дизъюнкция непосредственных данных с регистром ORI

to SR   состояния (привилегированная команда)     to SR

------------------------------------------------------Операция:       Если режим супервизора, то   Источник v SR  > SR

иначе TRAP

Синтаксис:      ORI  #<данные>,SR

Атрибуты:       Размер=(Слово)

Описание:

Вычисляется дизъюнкция Непосредственных данных с содержимым регистра состояния; результат  помещается  в  регистр состояния. Подвержены изменениям все биты регистра состояния.

Коды условия:

X   N   Z   V   C

----T---T---T---T---¬

¦ * ¦ * ¦ * ¦ * ¦ * ¦

L---+---+---+---+---N   1, если 3-й бит <данных> равен 1; иначе не меняется

Z   1, если 2-й бит <данных> равен 1; иначе не меняется

V   1, если 1-й бит <данных> равен 1; иначе не меняется

C   1, если 0-й бит <данных> равен 1; иначе не меняется

X   1, если 4-й бит <данных> равен 1; иначе не меняется

Формат команды:

15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0

----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬

¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 0¦

+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+

¦                     Слово данных (16 бит)                    ¦

L--------------------------------------------------------------PACK                 Упаковка                         PACK

---------------------------------------------------------Операция:       Источник (неупакованное двоично-десятичное)

+ поправка

> Приемник (упакованное двоично-десятичное)

Синтаксис:      PACK -(Ax),-(Ay),#<поправка>

PACK Dx,Dy,#<поправка>

Атрибуты:       Размер не используется

Описание:

Младшие половины двух байтов  преобразуются  с  помощью

<поправки> и упаковываются в один байт.

Если оба операнда находятся в регистрах данных,  к  регистру-Источнику прибавляется <поправка>. Биты [11:8] и

[3:0] промежуточного результата конкатенируются и помещаются в биты [7:0] регистра-Приемника. Остальные  биты

Приемника не меняются.

Источник Dx

15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0

----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬

¦ X ¦ X ¦ X ¦ X ¦ a ¦ b ¦ c ¦ d ¦ X ¦ X ¦ X ¦ X ¦ e ¦ f ¦ g ¦ h¦

L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--складывается с поправкой:

---------------------------------------------------------------¬

¦                 16 - битное слово расширения                 ¦

L--------------------------------------------------------------затем промежуточный результат

15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0

----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬

¦X' ¦X' ¦X' ¦X' ¦a' ¦b' ¦c' ¦d' ¦X' ¦X' ¦X' ¦X' ¦e' ¦f' ¦g' ¦h'¦

L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--упаковывается и помещается в Приемник:

15  14  13  12  11  10   9   8   7   6   5   4   3   2   1   0

----T---T---T---T---T---T---T---T---T---T---T---T---T---T---T--¬

¦ U ¦ U ¦ U ¦ U ¦ U ¦ U ¦ U ¦ U ¦a' ¦b' ¦c' ¦d' ¦e' ¦f' ¦g' ¦h'¦

L---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--Если  используется способ адресации операндов с предекрементированием, два байта  Источника  конкатенируются, образуя слово, к которому добавляется поправка из слова расширения. Затем из каждого байта извлекаются и конкатенируются младшие половины  (биты  [3:0]).  Полученный байт записывается в Приемник.

Источник

7   6   5   4   3   2   1   0

----T---T---T---T---T---T---T---¬

¦ X ¦ X ¦ X ¦ X ¦ a ¦ b ¦ c ¦ d ¦