Синтаксис: CMP <иа>,Dn
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Операнд-Источник вычитается из Приемника-регистра_данных и в соответствии с результатом устанавливаются коды условия. Регистр данных не изменяется. Размер операндов
- байт, слово и длинное слово.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ - ¦ * ¦ * ¦ * ¦ * ¦
L---+---+---+---+---N 1, если результат отрицателен; иначе 0
Z 1, если результат равен нулю; иначе 0
V 1, если возникло переполнение; иначе 0
C 1, если возник заем; иначе 0
X не изменяется
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T-----------T----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ Мода ¦ Исполнительный адрес ¦
¦ 1 ¦ 0 ¦ 1 ¦ 1 ¦Регистр Dn ¦ операции ¦ Мода Регистр ¦
L---+---+---+---+-----------+-----------+-----------+----------Поля команды:
Поле Регистра Dn определяет регистр данных-Приемник.
Поле Моды операции:
Байт Слово Длинное слово Операция
000 001 010 (<Dn>) - (<иа>)
Поле исполнительного адреса определяет исполнительный адрес Источника , при этом допустимы все способы адресации:
-----------------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----------------+----+--------(*) - только слово или длинное слово.
ЗАМЕЧАНИЕ:
Если Приемник находится в адресном регистре, используется команда CMPA. Если Источник задан непосредственным операндом, используется команда CMPI. Для сравнения память-память используется команда CMPM. Большинство ассемблеров автоматически различают эти случаи.
CMPA Сравнение адресов CMPA
-------------------------------------------------------Операция: Приемник - Источник
Синтаксис: CMPA <иа>,An
Атрибуты: Размер=(Слово,Длинное слово)
Описание:
Операнд-Источник вычитается из Приемника-регистра_адреса и в соответствии с результатом устанавливаются коды условия. Адресный регистр не изменяется. Размер операндов - байт, слово и длинное слово. Перед сравнением знак словных операндов распространяется до 32 бит.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ - ¦ * ¦ * ¦ * ¦ * ¦
L---+---+---+---+---N 1, если результат отрицателен; иначе 0
Z 1, если результат равен нулю; иначе 0
V 1, если возникло переполнение; иначе 0
C 1, если возник заем; иначе 0
X не изменяется
Формат команды:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
----T---T---T---T-----------T-----------T----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ Мода ¦ Исполнительный адрес ¦
¦ 1 ¦ 0 ¦ 1 ¦ 1 ¦Регистр An ¦ операции ¦ Мода Регистр ¦
L---+---+---+---+-----------+-----------+-----------+----------Поля команды:
Поле регистра An определяет Приемник-регистр_адреса.
Поле Моды операции определяет размер операндов:
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 ¦
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.