Вопрос по ассемблеру

gaRRyk

http://xaa.su/7RY
Расскажите пожалуйста максимально доходчиво, как работает команда DIV, что на что делится, откуда берется и т.д...спасибо
 

PainKiller

Пастафарианец
Команда форуму
Супер Модератор
У разных процессоров могут быть разные наборы команд и разная логика работы одних и тех же. Потому для того, чтобы рассказать принципы работы чего-либо нужно понимать, что это.
 
  • Like
Реакції: Stam

Vitus

аматор
DIV делит регистр AX или связку DX:AX на операнд (EAX или EDX:EAX для 32-битной команды).
Если операнд 8-ми битовый, на него делится AX, если 16-ти - DX:AX.
Результат (частное-остаток) заностится для 8b в AL-AH, для 16b в DX-AX
Например делим 401 на 200
mov ax, 401
mov bl, 200
div bl
в результате в AL получаем 2 (частное), AH=1 (остаток)

Например делим 65537 на 32768
mov dx,1 ;старшая часть делимого (65537 = 10001h)
mov ax, 1 ;младшая часть
mov bx, 32768
div bx
в результате в AX получаем 2 (частное), DX=1 (остаток)
 

gaRRyk

http://xaa.su/7RY
Процессор 386, если я правильно понял. Спасибо уже разобрался.
 
Зверху