ХАНДЫФАР
Знаковое деление
__IDIV reg/mem8 - Знаковое деление с сохранением результата в AL = Частное, AH = Остаток.
__IDIV reg/mem16 - Знаковое деление DX:AX с сохранением результата в AX = Частное, DX = Остаток.
Делит значение со знаком в ax, dx:ax (делимое) на исходный операнд (делитель) и сохраняет результат в регистрах ax (ah:al), dx:ax. Исходным операндом может быть регистр общего назначения или ячейка памяти. Действие этой инструкции зависит от размера операнда (делимое/делитель).
Нецелочисленные результаты усекаются до 0. Остаток всегда меньше делителя по величине. Переполнение обозначается исключением #DE (ошибка деления), а не флагом CF.
Флаги CF, OF, SF, ZF, AF и PF не определены.
Предположим, что регистр ax содержит 610, (000616), регистр bx содержит 210, (000216). После выполнения cwd регистр dx будет содержать 0. После выполнения idiv bx регистр ax будет содержать 310, (000316) а регистр dx будет равен 0.