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

Dn.  Если проверяется регистр адреса и размер операндов определен как байт или слово, то операнды-границы рассматриваются со знаком, распространенным до 32 бит и полученные значения сравниваются со всем регистром An.

Если верхняя граница равна нижней, допустимый  диапазон превращается в единственное значение. Если значение регистра не попадает в допустимый диапазон и не совпадает ни с одной из границ, то процессор возбуждает обработку исключения,  при этом номер вектора равен 6, т.е. соответствует исключению по команде CHK.

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

X   N   Z   V   C

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

¦ - ¦ U ¦ * ¦ U ¦ * ¦

L---+---+---+---+---N       неопределен

Z       1, если Rn равен какой-либо из границ; иначе 0

V       неопределен

C       1, если Rn вне допустимого диапазона; иначе 0

X       не изменяется

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

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----------------------¬

¦   ¦   ¦   ¦   ¦   ¦       ¦   ¦   ¦   ¦ Исполнительный адрес ¦

¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦Размер ¦ 0 ¦ 1 ¦ 1 ¦  Мода       Регистр  ¦

+---+---+---+---+---+---T---+---+---+---+---T---T---T---T---T--+

¦Д/А¦     Rn    ¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0¦

L---+-----------+---+---+---+---+---+---+---+---+---+---+---+--Поля команды:

Поле Размера определяет размер операндов:

00 - байт

01 - слово

10 - длинное слово

Поле  Исполнительного  адреса определяет исполнительный адрес  пары  границ, при этом допустимы только способы адресации управляющих операндов:

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

¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦

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

¦       Dn       ¦ -  ¦   -    ¦¦    (xxx).W     ¦111 ¦  000   ¦

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

¦       An       ¦ -  ¦   -    ¦¦    (xxx).L     ¦111 ¦  001   ¦

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

¦      (An)      ¦010 ¦ном.An  ¦¦   #<данные>    ¦ -  ¦   -    ¦

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

¦      (An)+     ¦ -  ¦   -    ¦¦                ¦    ¦        ¦

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

¦     -(An)      ¦ -  ¦   -    ¦¦                ¦    ¦        ¦

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

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

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

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

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

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

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

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

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

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

L----------------+----+---------L----------------+----+--------Поле Д/А определяет тип проверяемого регистра:

0 - регистр данных

1 - регистр адреса.

Поле Rn определяет номер проверяемого регистра.

CLR                Очистка операнда                 CLR

------------------------------------------------------Операция:       0  > Приемник

Синтаксис:      CLR <иа>

Атрибуты:       Размер=(Байт,Слово,Длинное слово)

Описание:

Приемник заполняется нулями. Размер операндов - байт, слово и длинное слово.

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

X   N   Z   V   C

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

¦ - ¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦

L---+---+---+---+---N       всегда 0

Z       всегда 1

V       всегда 0

C       всегда 0

X       не изменяется

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

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----------------------¬

¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦   ¦       ¦ Исполнительный адрес ¦

¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦Размер ¦  Мода       Регистр  ¦

L---+---+---+---+---+---+---+---+-------+-----------+----------Поля команды:

Поле Размера определяет размер операндов:

00 - байт

01 - слово

10 - длинное слово

Поле исполнительного адреса  определяет  местоположение

Приемника, при этом допустимы только способы адресации изменяемых данных:

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

¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦

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

¦       Dn   (*) ¦000 ¦ном.Dn  ¦¦    (xxx).W     ¦111 ¦  000   ¦

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

¦       An       ¦ -  ¦   -    ¦¦    (xxx).L     ¦111 ¦  001   ¦

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

¦      (An)      ¦010 ¦ном.An  ¦¦   #<данные>    ¦ -  ¦   -    ¦

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

¦      (An)+     ¦011 ¦ном.An  ¦¦                ¦    ¦        ¦

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

¦     -(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----------------+----+--------(*) - только длинный операнд.

CMP                    Сравнение                      CMP

--------------------------------------------------------Операция:       Приемник - Источник