Если R/M=1, то регистр адреса Ay для способа адресации с предекрементированием.
Поле Размера определяет размер операндов:
00 - байт
01 - слово
10 - длинное слово.
Поле R/M определяет способ адресации операндов:
0 - операция над регистрами данных
1 - операция над памятью.
Поле регистра Rx определяет регистр Источника:
Если R/M=0, то регистр данных Dx.
Если R/M=1, то регистр адреса Ax для способа адресации с предекрементированием.
SWAP Перестановка слов регистра SWAP
------------------------------------------------------Операция: Регистр [31:16] <> Регистр [15:0]
Синтаксис: SWAP Dn
Атрибуты: Размер=(Слово)
Описание:
Старшее и младшее слова заданного регистра данных меняются местами.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ - ¦ * ¦ * ¦ 0 ¦ 0 ¦
L---+---+---+---+---N 1, если старший бит результата равен 1; иначе 0
Z 1, если результат равен нулю; иначе 0
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---T---T---T---T---------¬
¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦ Регистр ¦
L---+---+---+---+---+---+---+---+---+---+---+---+---+---------Поля команды:
Поле Регистра определяет регистр данных.
TAS Проверка и установка операнда TAS
------------------------------------------------------Операция: Проверка Приемника > Коды условия;
1 > бит 7 Приемника
Синтаксис: TAS <иа>
Атрибуты: Размер=(Байт)
Описание:
Коды условия Z и N устанавливаются в соответствии с текущим значением байта по исполнительному адресу. Затем старший бит байта-Приемника устанавливается в 1.
Команда выполняется как непрерываемая (используется цикл шины "чтение-модификация-запись"), что позволяет использовать ее для синхронизации работы нескольких процессоров.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ - ¦ * ¦ * ¦ 0 ¦ 0 ¦
L---+---+---+---+---N 1, если старший бит операнда равен 1; иначе 0
Z 1, если операнд равен нулю; иначе 0
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---T---------------------¬
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ Исполнительный адрес¦
¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 1 ¦ 0 ¦ 1 ¦ 1 ¦ Мода Регистр ¦
L---+---+---+---+---+---+---+---+---+---+-----------+---------Поля команды:
Поле Исполнительного адреса определяет местоположение байта-Приемника. Допустимы только способы адресации изменяемых данных:
-----------------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----------------+----+--------TRAP Программная ловушка TRAP
------------------------------------------------------Операция: SSP - 2 > SSP; Формат/Смещение > (SSP);
SSP - 4 > SSP; PC > (SSP);
SSP - 2 > SSP; SR > (SSP);
Адрес вектора > PC
Синтаксис: TRAP #<вектор>
Атрибуты: Размер не используется
Описание:
Процессор возбуждает обработку исключения. Операнд команды задает номер используемого вектора среди векторов исключения команды TRAP. Может быть выбран один из 16
(0-15) векторов.
Коды условия: не меняются.
Формат команды:
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--------------¬
¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 1 ¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 0 ¦ Вектор ¦
L---+---+---+---+---+---+---+---+---+---+---+---+--------------Поля команды:
Поле Вектора задает номер вектора команды TRAP, в котором лежит новое значение программного счетчика.
TRAPcc Условная программная ловушка TRAPcc
--------------------------------------------------------Операция: Если cc
то TRAP
Синтаксис: TRAPcc
TRAPcc.W #<данные>
TRAPcc.L #<данные>
Атрибуты: Размер - либо не используется, либо Размер=(Слово,Длинное слово)
Описание:
Если указанное условие выполнено, процессор возбуждает обработку исключения. Используется вектор исключения команды TRAPcc. Помещаемое в стек значение программного счетчика указывает на следующую команду. Если условие не выполнено, никаких операций не производится и выполнение продолжается со следующей команды. Одно или два слова с непосредственными данными размещаются вслед за операционным словом. Они определяются пользователем и могут быть использованы программой обработки исключения.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.