Команда DIV может быть представлена в трех различных форматах в зависимости от типа операнда:
Операнд служит делителем, а делимое находится в фиксированном месте (как в случае с MUL).
В 8-битной форме переменный операнд (делитель) может быть любым 8-битным регистром или адресом памяти. Делимое содержится в АХ. Результат сохраняется так: частное — в AL, остаток —- в АН.
В 16-битной форме операнд может быть любым 16-битным регистром или адресом памяти. Второй операнд всегда находится в паре DX:AX. Результат сохраняется в паре DX:AX (DX — остаток, АХ — частное).
В 32-разрядной форме делимое находится в паре EDX:EAX, а результат записывается в пару EDX:ЕАХ (частное в ЕАХ, остаток в EDX).
Команда IDIV используется для деления чисел со знаком, синтаксис ее такой же, как у команды DIV.
Пример 1:разделить 13 на 2, частное сохранить в BL, а остаток в — ВН:
Логические команды
Команда AND выполняет логическое умножение двух операндов — о1 и о2.
Результат сохраняется в операнде о1.
Следующий пример вычисляет логическое И логической единицы и логического нуля (1 AND 0).
Команда OR выполняет логическое сложение двух операндов — о1 и о2.
Результат сохраняется в операнде о1. Типы операндов такие же, как у команды AND.
OR o1 , о2
Вычисляет так называемое «исключающее ИЛИ» операндов о1 и о2. Результат сохраняется в о1. Типы операндов такие же, как у предыдущих инструкций.
Формат команды:
XOR о 1 , о2
Используется для инверсии отдельных битов единственного операнда, который может быть регистром или памятью. Соответственно команда может быть записана в трех различных форматах: