Por que EDX deve ser 0 antes de usar a instrução DIV? [duplicado

Esta pergunta já tem uma resposta aqui:

Quando e por que assinamos estender e usar o cdq com mul / div? 1 resposta

Notei quando o EDX contém algum valor padrão aleatório como 00401000 e, em seguida, uso uma instrução DIV como esta:

mov eax,10
mov ebx,5
div ebx

it causa um erro de excesso de fluxo INTEGER. No entanto, se eu definiredx a 0 e faça o mesmo que funciona. Eu acreditava que usandodiv resultaria na substituição do quocienteeax e o restante sobrescrevendoedx.

Obter este erro de excesso de fluxo INTEGER realmente me confund

questionAnswers(2)

yourAnswerToTheQuestion