Если вы говорите о x86, div edx
на самом деле не имеет смысла - 32-битный div делит edx: eax на указанный целевой регистр.К счастью, чтобы разделить на 2, вам вообще не нужно использовать div
.
mov eax, 174
mov edx, 181
xor eax, edx
shr eax, 1
Если вы по какой-то причине настаиваете на использовании div
, вы хотите использовать другойрегистр.Обратите внимание, что x86 ожидает, что результат деления поместится в один регистр, поэтому перед делением вам нужно будет обнулить edx:
mov eax, 174
mov edx, 181
xor eax, edx
xor edx, edx
mov ebx, 2
div ebx