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

Размер  операндов - слово. Изменяются все биты регистра состояния.

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

Устанавливаются в соответствии со значением Источника.

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

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

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

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

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

Поле Исполнительного адреса Источника определяет местоположение Источника. Допустимы только способы  адресации данных:

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

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

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

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

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

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

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

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

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

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

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

¦     -(An)      ¦100 ¦ном.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----------------+----+--------MOVE      Пересылка указателя стека пользователя      MOVE

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

---------------------------------------------------------Операция:       Если  режим супервизора, то    USP  > An или An  > USP

иначе TRAP

Синтаксис:      MOVE  USP,An

MOVE  An,USP

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

Описание:

Содержимое указателя стека пользователя пересылается  в адресный регистр или заменяется на содержимое адресного регистра.

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

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

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

¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 0 ¦НП ¦ Регистр ¦

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

Поле НП  указывает направление пересылки:

0 - из адресного регистра в USP.

1 - из USP в адресный регистр.

Поле Регистра определяет адресный регистр.

MOVEC         Пересылка управляющего регистра       MOVEC

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

--------------------------------------------------------Операция:       Если  режим супервизора, то    Rc  > Rn или Rn  > Rc

иначе TRAP

Синтаксис:      MOVEC  Rc,Rn

MOVEC  Rn,Rc

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

Описание:

Содержимое  указанного управляющего регистра (Rc) пересылается в указанный регистр общего назначения (Rn) или заменяется на  содержимое  указанного  регистра  общего назначения. Всегда пересылаются 32 бита (даже когда управляющий регистр имеет менее 32 бит). Недостающие биты воспринимаются как нули.

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

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

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 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 1 ¦НП¦

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

¦А/Д¦  Регистр  ¦          Управляющий регистр                 ¦

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

Поле НП указывает направление пересылки:

0 - из управляющего регистра в регистр общего назначения.

1 - из регистра общего назначения  в  управляющий  регистр.

Поле А/Д определяет тип регистра общего назначения:

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

1 - адресный регистр.

Поле  Регистра определяет номер регистр общего назначения.

Поле  Управляющего  регистра определяет управляющий регистр:

16-ичный код      Управляющий регистр

000       SFC - регистр модификации функционального кода источника (кода адресного пространства источника).

001       DFC - регистр модификации функционального кода приемника (кода адресного пространства приемника).

002       CACR - регистр управления кэш-памяти.

800       USP - указатель стека пользователя.

801       VBR - базовый регистр векторов  исключений.

802       CAAR - адресный регистр кэш-памяти.

803       MSP - указатель основного стека.

804       ISP - указатель стека прерываний.

Другие  коды  возбуждают исключение по недопустимой команде.

MOVEM        Пересылка группы регистров       MOVEM

--------------------------------------------------Операция:       Регистры  > Приемник

Источник  > Регистры

Синтаксис:      MOVEM  маска группы регистров,<иа>

MOVEM  <иа>,маска группы регистров

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

Описание:

Команда позволяет пересылать содержимое указанной группы регистров в последовательные адреса памяти,  начиная с исполнительного адреса, а  также  выполнять  обратную операцию. Пересылка  затрагивает  регистры,  отмеченные единицами в поле маски. В зависимости от  размера  операнда, при пересылке используется  все  длинное  слово, составляющее регистр, или только младшее слово  регистра.  В  случае пересылки слова в регистр предварительно выполняется распространение знака до 32 бит.