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

------------------------------------------------------Операция:       Если сопроцессорное условие ложно, то   (Dn - 1  > Dn;

Если Dn   -1 то PC + d  > PC)

Синтаксис:      cpDBcc  Dn,<метка>

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

Описание:

Если сопроцессорное условие истинно,  выполнение  программы продолжается со следующей  команды.  В  противном случае  младшее слово указанного регистра данных уменьшается на 1. Если результат равен -1, выполнение  программы продолжается со следующей команды. Если результат не  равен -1, выполнение программы продолжается с адреса, равного текущему значению РС плюс 16-битное  смещение с распространенным знаком. Текущее значение РС указывает  на слово смещения. Сопроцессорное условие находится в слове, следующем непосредственно  за  командой.

Оно передается сопроцессору, определяя конкретное условие, требующее проверки.

Коды условия: не изменяются.

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

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

¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦Сопроцессор¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ Регистр ¦

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

¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦         СС          ¦

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

¦              Необязательные слова расширения                ¦

¦             (определяются типом сопроцессора)               ¦

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

¦                          Смещение                           ¦

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

Поле Сопроцессора идентифицирует  сопроцессор,  который должен выполнить данную операцию.

Поле Регистра определяет регистр данных - счетчик.

Поле CC определяет  сопроцессорное  условие,  требующее проверки. Это поле передается сопроцессору, который  в свою очередь выдает примитивы для  ЦП  при  выполнении данной команды.

Поле смещения задает длину перехода в байтах.

cpGEN  Сопроцессорные функции общего назначения   cpGEM

------------------------------------------------------Операция:       Передача командного слова сопроцессору

Синтаксис:      cpGEN  <параметры в виде, определяемом конкретным сопроцессором>

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

Описание:

Команды  подобного  формата используются сопроцессорами при обработке данных и пересылках. Операция сопроцессора задается в командном слове, следующем непосредственно за командой. Набор реализуемых операций определяется системой команд конкретного сопроцессора.

Коды условия:  могут  быть  изменены сопроцессором; в противном случае не изменяются.

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

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

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

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

¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦Сопроцессор¦ 0 ¦ 0 ¦ 0 ¦  Мода       Регистр ¦

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

¦               Командное слово сопроцессора                  ¦

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

¦    Необязательные слова расширения исполнительного адреса   ¦

¦     или слова расширения, определяемые типом сопроцессора   ¦

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

Поле Сопроцессора идентифицирует  сопроцессор,  который должен выполнить данную операцию.

Поле исполнительного адреса задает местоположение внешнего (по отношению к сопроцессору) операнда.  Допустимые способы адресации определяются исполняемой  операцией.

Поле Командного слова сопроцессора определяет исполняемую операцию. Это поле передается сопроцессору,  который, в свою очередь, выдает примитивы для ЦП  при  выполнении данной команды.

cpRESTORE  Восстановление состояния сопроцессора  cpRESTORE

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

----------------------------------------------------------Операция:    Восстановление внутреннего состояния сопроцессора

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

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

Описание:

Команда  используется  для  восстановления  внутреннего состояния сопроцессора.

Коды условия: не изменяются.

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

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

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

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

¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦Сопроцессор¦ 1 ¦ 0 ¦ 1 ¦  Мода       Регистр ¦

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

Поле Сопроцессора идентифицирует  сопроцессор,  который должен выполнить данную операцию.

Поле исполнительного адреса задает  местоположение  информации о внутреннем состоянии сопроцессора. Допустимы только способы адресации  с  постинкрементированием или адресации управляющих операндов:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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