+----------------+----+--------++----------------+----+--------+
¦ (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, данные находятся в двух словах непосредственных данных.
SUBQ Вычитание непосредственных данных SUBQ
в диапазоне 1-8
-----------------------------------------------------Операция: Приемник - Непосредственные данные > Приемник
Синтаксис: SUBQ #<данные>,<иа>
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Непосредственные данные вычитаются из операнда-Приемника; результат помещается в операнд-Приемник. Непосредственные данные лежат в диапазоне от 1 до 8. Размер операндов - байт, слово и длинное слово. В случае словного или длинного операнда операция может выполняться над адресным регистром. При этом операция производится над всем адресным регистром, независимо от размера операнда; код условия не изменяется.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ * ¦ * ¦ * ¦ * ¦ * ¦
L---+---+---+---+---N 1, если результат отрицателен; иначе 0
Z 1, если результат равен нулю; иначе 0
V 1, если произошло переполнение; иначе 0
C 1, если произошел заем; иначе 0
X равен C.
Если Приемник является адресным регистром, коды условия не изменяются.
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T---T-------T----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ Исполнительный адрес ¦
¦ 0 ¦ 1 ¦ 0 ¦ 1 ¦ Данные ¦ 1 ¦ Размер¦ Мода Регистр ¦
L---+---+---+---+-----------+---+-------+-----------+----------Поля команды:
Поле Данных содержит три бита непосредственных данных.
Значения 0,1,2,...7 представляют соответственно данные
8,1,2,...7.
Поле Размера определяет размер операндов:
00 - байт
01 - слово
10 - длинное слово
Поле Исполнительного адреса определяет местоположение
Приемника. Допустимы только способы адресации изменяемых операндов:
-----------------T----T--------¬-----------------T----T--------¬
¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦
+----------------+----+--------++----------------+----+--------+
¦ Dn ¦000 ¦ном.Dn ¦¦ (xxx).W ¦111 ¦ 000 ¦
+----------------+----+--------++----------------+----+--------+
¦ An (*) ¦001 ¦ном.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----------------+----+--------(*) - только слова и длинные слова.
SUBX Расширенное вычитание SUBX
-------------------------------------------------------Операция: Приемник - Источник - X > Приемник
Синтаксис: SUBX Dx,Dy
SUBX -(Ax),-(Ay)
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Из операнда-Приемника вычитается сумма операнда-Источника и бита расширения; результат помещается в операндПриемник. Операнды могут адресоваться двумя различными способами:
1. Операнды содержатся в регистрах данных, указанных в команде.
2. Операнды адресуются с предекрементированием с помощью адресных регистров, указанных в команде.
Размер операндов - байт, слово и длинное слово.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ * ¦ * ¦ * ¦ * ¦ * ¦
L---+---+---+---+---N 1, если результат отрицателен; иначе 0
Z 1, если результат не равен нулю;
иначе не меняется
V 1, если произошло переполнение; иначе 0
C 1, если произошел заем; иначе 0
X равен C.
ЗАМЕЧАНИЕ
Обычно код Z программно устанавливается в 0 перед началом некоторой операции, что позволяет обнаружить нулевой результат после завершения последовательности вычислений с многократной точностью.
Формат команды:
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----------¬
¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦Регистр Ry ¦ 1 ¦Размер ¦ 0 ¦ 0 ¦R/M¦Регистр Rx¦
L---+---+---+---+-----------+---+-------+---+---+---+----------Поля команды:
Поле регистра Ry определяет регистр Приемника:
Если R/M=0, то регистр данных Dy.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.