Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Полный текст учебника.docx
Скачиваний:
26
Добавлен:
17.04.2019
Размер:
10.83 Mб
Скачать

Команды деления

Команды деления — одноадресные, указывается только SRC (делитель); делимое задается строго определенным образом.

  • DIV src — деление (divide — деление без знака). Выполняет деление беззнакового делимого (16 или 32 бита) на беззнаковый делитель (8 или 16 битов). Команда одноадресная — указывается только SRC (делитель); делимое берется строго определенным образом. SRC может быть представлен операндом типа r или m (i— нельзя). Если формат SRC — байт, то делимое (слово) находится в AX, частное от деления (байт) будет в AL, остаток от деления (байт) помещается в AH; если формат SRC — слово, то делимое (двойное слово)заносится в DX:AX (старшие два байта в DX, младшие — в AX), частное от деления (слово) – в AX, остаток от деления (слово) сохраняется в DX. Команда DIV формирует флаг IF: IF =1 при делении на 0 и при делении большого числа на очень малое, если частное вне диапазона (флаги AF, CF, OF, PF, SF, ZF не определены).

  • IDIV src — деление целых чисел со знаком (integer divide — деление целых чисел со знаком). Выполняет деление знакового делимого (16 или 32 бита) на знаковый делитель (8 или 16 битов). Команда одноадресная — указывается только SRC (делитель); делимое берется строго определенным образом. SRC может быть представлен операндом типа r или m (i — нельзя). Если формат SRC — байт, то делимое (слово) — в AX, частное от деления (байт) будет в AL, остаток от деления (байт)— в AH; если формат SRC — слово, то делимое (двойное слово) попадает в DX:AX (старшие два байта в DX, младшие в AX), частное от деления (слово) — в AX, остаток от деления (байт) — в DL. Команда IDIV формирует флаг IF: IF = 1 при делении на 0 и при делении большого числа на очень малое, если частное вне диапазона).

Логические команды

Эти команды используются для сравнения, сброса и установки битов операнда в операциях преобразования кодов и при выполнении арифметических операции в кодах ASCII.

  • OR dst, src — логическое сложение (or — или). Команда выполняет поразрядную дизъюнкцию (логическое сложение — операцию «ИЛИ») битов двух операндов; устанавливает 1 в тех битах операнда dst, в которых была 1 хотя бы у одного из исходных операндов. Операнды dst и src должны иметь одинаковый формат (оба или байт, или слово) и могут быть: src типа r, m, i; dst типа r, m (невозможно rseg,m и нельзя, чтобы оба операнда были типа m). Команда OR сбрасывает флаги OF = 0 и CF = 0; формирует флаги PF, SF, ZF.

  • AND dst, src — логическое умножение (and — и). Команда выполняет поразрядную конъюнкцию (логическое умножение — операцию «И») битов двух операндов; устанавливает 1 в тех битах операнда dst, в которых у обоих исходных операндов были 1. Операнды dst и src должны иметь одинаковый формат (оба или байт или слово) и могут быть: src типа r, m, i; dst типа r, m (невозможно rseg,m и нельзя, чтобы оба операнда были типа m). Флаги: OF = 0 и CF = 0; команда формирует PF, SF, ZF; значение AF не определено.