¦([bd,An,Xn],od) ¦110 ¦ном.An ¦¦ ([bd,PC,Xn],od)¦ - ¦ - ¦
+----------------+----+--------++----------------+----+--------+
¦([bd,An],Xn,od) ¦110 ¦ном.An ¦¦ ([bd,PC],Xn,od)¦ - ¦ - ¦
L----------------+----+---------L----------------+----+--------ЗАМЕЧАНИЯ:
1. Если Приемником является регистр данных, то его нельзя определить, используя поле Моды Исполнительного адреса (т.е. по формату SUB Dn,<иа> ),- следует просто указать номер регистра в поле Dn (т.е. по формату SUB <иа>,Dn ).
2. Если Приемником является регистр адреса, используется команда SUBA. Если Источником служат непосредственные данные, используются команды SUBI и SUBQ.
Большинство ассемблеров автоматически обрабатывают такие случаи.
SUBA Вычитание из адреса SUBA
-----------------------------------------------------Операция: Приемник - Источник > Приемник
Синтаксис: SUBA <иа>,An
Атрибуты: Размер=(Слово,Длинное слово)
Описание:
Из адресного регистра-Приемника вычитается адресный регистр-Источник; результат помещается в Приемник. Размер операндов - слово и длинное слово. Знак словного операнда-Источника перед вычитанием распространяется до 32
битов.
Коды условия: не изменяются.
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T-----------T----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ Мода ¦ Исполнительный адрес ¦
¦ 1 ¦ 0 ¦ 0 ¦ 1 ¦Регистр An ¦ операции ¦ Мода Регистр ¦
L---+---+---+---+-----------+-----------+-----------+----------Поля команды:
Поле Регистра An определяет любой из 8 регистров адреса, который всегда является Приемником.
Поле Моды операции кодирует размер операндов:
011 - слово. Знак Источника распространяется для получения длинного операнда и операция производится над всеми 32 битами адресного регистра.
111 - длинное слово.
Поле Исполнительного адреса определяет способ адресации
Источника. Допустимы все способы адресации:
-----------------T----T--------¬-----------------T----T--------¬
¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦
+----------------+----+--------++----------------+----+--------+
¦ Dn ¦000 ¦ном.Dn ¦¦ (xxx).W ¦111 ¦ 000 ¦
+----------------+----+--------++----------------+----+--------+
¦ An ¦001 ¦ном.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----------------+----+--------SUBI Вычитание непосредственных данных SUBI
------------------------------------------------------Операция: Приемник - Непосредственные данные > Приемник
Синтаксис: SUBI #<данные>,<иа>
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Из операнда-Приемника вычитаются Непосредственные данные; результат помещается в операнд-Приемник. Размер операндов - байт, слово и длинное слово. Размер <данных> приводится к заданному размеру операндов.
Коды условия:
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---T-------T----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ Исполнительный адрес ¦
¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 1 ¦ 0 ¦ 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 ¦¦ ¦ ¦ ¦
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.