¦ 0 ¦ Регистр Dq¦ 1 ¦Рзм¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦ 0 ¦Регистр Dr¦
L---+-----------+---+---+---+---+---+---+---+---+---+----------Поля команды:
Поле исполнительного адреса определяет способ адресации
Источника. Допустимы только способы адресации данных:
-----------------T----T--------¬-----------------T----T--------¬
¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦
+----------------+----+--------++----------------+----+--------+
¦ Dn ¦000 ¦ном.Dn ¦¦ (xxx).W ¦111 ¦ 000 ¦
+----------------+----+--------++----------------+----+--------+
¦ 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----------------+----+--------Поле регистра Dq определяет Приемник - любой из 8 регистров данных. Из него извлекаются младшие 32 бита делимого и в него загружается 32-битное частное.
Поле Рзм определяет 32- или 64-битное деление:
0 - 32-битное делимое располагается в регистре Dq.
1 - 64-битное делимое располагается в регистрах Dr:Dq.
Поле регистра Dr после деления содержит 32-битный остаток (если Dr=Dq, Dr содержит частное). Если Рзм=1, поле также определяет регистр данных, содержащий старшие
32 бита делимого.
ЗАМЕЧАНИЯ:
Если частное не может быть представлено в формате
32-битного целого со знаком, происходит переполнение.
В Ассемблере ОС UNIX мнемоника DIVSL.L изображается как
TDIVS.L.
DIVU Деление без знака DIVU
DIVUL DIVUL
----------------------------------------------------------Операция: Приемник / Источник > Приемник
Синтаксис: DIVU.W <иа>,Dn 32/16 > 16r:16q
DIVU.L <иа>,Dq 32/32 > 32q
DIVU.L <иа>,Dr:Dq 64/32 > 32r:32q
DIVUL.L <иа>,Dr:Dq 32/32 > 32r:32q
(q - делимое и частное, r - остаток)
Атрибуты: Размер=(Слово,Длинное слово)
Описание:
Операнд-Приемник делится на операнд-Источник, результат запоминается в Приемнике. Используется арифметика целых чисел без знака.
Команда имеет 4 варианта: один для работы со словами и
3 для работы с длинными словами. При работе со словами
32-битный результат состоит из 16-битного частного
(младшее слово результата) и 16-битного остатка (старшее слово).
При работе с длинными словами по первому варианту Приемник и Источник являются длинными словами. Результат длинное частное, остаток отбрасывается.
При работе с длинными словами по второму варианту Приемник является квадрословом, лежащим в любых двух регистрах данных. Источник является длинным словом. Результат - длинное частное и длинный остаток.
При работе с длинными словами по третьему варианту Приемник и Источник являются длинными словами. Результат - длинное частное и длинный остаток.
При выполнении команды могут возникнуть 2 особых случая:
1. Деление на ноль инициировало TRAP.
2. До завершения команды было обнаружено переполнение.
В этом случае переполнение отмечается в коде условия, а операнды не изменяются.
Коды условия:
X N Z V C
----T---T---T---T---¬
¦ - ¦ * ¦ * ¦ * ¦ 0 ¦
L---+---+---+---+---N 1, если старший бит результата равен 1; иначе
0. При переполнении и делении на 0 бит не определен.
Z 1, если частное равно нулю; иначе 0. При переполнении и делении на 0 бит не определен.
V 1, если при делении произошло переполнение;
иначе 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----------------------¬
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ Исполнительный адрес ¦
¦ 1 ¦ 0 ¦ 0 ¦ 0 ¦Регистр Dn ¦ 0 ¦ 1 ¦ 1 ¦ Мода Регистр ¦
L---+---+---+---+-----------+---+---+---+-----------+----------Поля команды:
Поле регистра Dn определяет Приемник - любой из 8 регистров данных.
Поле исполнительного адреса определяет способ адресации
Источника. Допустимы только способы адресации данных:
-----------------T----T--------¬-----------------T----T--------¬
¦Способ адресации¦Мода¦Регист𠦦Способ адресации¦Мода¦Регистр ¦
+----------------+----+--------++----------------+----+--------+
¦ Dn ¦000 ¦ном.Dn ¦¦ (xxx).W ¦111 ¦ 000 ¦
+----------------+----+--------++----------------+----+--------+
¦ An ¦ - ¦ - ¦¦ (xxx).L ¦111 ¦ 001 ¦
+----------------+----+--------++----------------+----+--------+
¦ (An) ¦010 ¦ном.An ¦¦ #<данные> ¦111 ¦ 100 ¦
+----------------+----+--------++----------------+----+--------+
¦ (An)+ ¦011 ¦ном.An ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
¦ -(An) ¦100 ¦ном.An ¦¦ ¦ ¦ ¦
+----------------+----+--------++----------------+----+--------+
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.