+----------------+----+--------++----------------+----+--------+
¦([bd,An],Xn,od) ¦110 ¦ном.An ¦¦ ([bd,PC],Xn,od)¦111 ¦ 011 ¦
L----------------+----+---------L----------------+----+--------CMPI Сравнение с непосредственным операндом CMPI
----------------------------------------------------Операция: Приемник - Непосредственные данные
Синтаксис: CMPI #<данные>,<иа>
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Непосредственные данные вычитаются из Приемника и в соответствии с результатом устанавливаются коды условия.
Размер операндов - байт, слово и длинное слово. Размер
Непосредственных данных должен соответствовать заданному размеру операндов.
Коды условия:
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---T---T-------T----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ Исполнительный адрес ¦
¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 1 ¦ 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 ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
¦ (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----------------+----+--------Поле непосредственных данных:
если Размер = 00, данные находятся в младшем байте слова непосредственных данных.
если Размер = 01, данные находятся в слове непосредственных данных.
если Размер = 10, данные находятся в двух словах непосредственных данных.
CMPM Сравнение память-память CMPM
-------------------------------------------------Операция: Приемник - Источник
Синтаксис: CMPM (Ay)+,(Ax)+
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Источник вычитается из Приемника и в соответствии с результатом устанавливаются коды условия. Приемник не изменяется. Операнды адресуются с постинкрементированием через адресные регистры, указанные в команде. Размер операндов - байт, слово и длинное слово.
Коды условия:
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-------T---T---T---T----------¬
¦ 1 ¦ 0 ¦ 1 ¦ 1 ¦ Регистр Ax¦ 1 ¦Размер ¦ 0 ¦ 0 ¦ 1 ¦Регистр Ay¦
L---+---+---+---+-----------+-----------+---+---+---+----------Поля команды:
Поле регистра Ax (это всегда Приемник) определяет адресный регистр, используемый для способа адресации с постинкрементированием
Поле размера определяет размер операндов:
00 - байт
01 - слово
10 - длинное слово
Поле регистра Ay (это всегда Источник) определяет адресный регистр, используемый для способа адресации с постинкрементированием
CMP2 Проверка попадания в диапазон CMP2
----------------------------------------------------Операция: Проверить Rn < Источник.Нижняя_граница,
Rn > Источник.Верхняя_граница и установить коды условия
Синтаксис: CMP2 <иа>,Rn
Атрибуты: Размер=(Байт,Слово,Длинное слово)
Описание:
Производится проверка попадания значения указанного регистра данных в диапазон, определяемый парой чисел, расположенных по заданному исполнительному адресу. Значение Нижней_границы находится по исполнительному адресу, адрес значения Верхней_границы превышает исполнительный адрес на размер операнда.
Множество двоичных чисел по mod 2**N (где N равно размеру_операндов в случае, если Rn - регистр данных, и
N=32 в случае, если Rn - регистр адреса) рассматривается как кольцо (положительное направление на котором задается инкрементацией на единицу), а допустимый диапазон - как дуга кольца, начинающаяся в Нижней_границе, и заканчивающаяся в Верхней. Так, к примеру, при Нижней_
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.