Почему EDX должен быть 0 перед использованием инструкции DIV? [Дубликат]

На этот вопрос уже есть ответ:

Когда и почему мы подписываем расширение и используем cdq с mul / div? 1 ответ

Я заметил, что EDX содержит случайное значение по умолчанию, например 00401000, и затем я использую инструкцию DIV, например:

mov eax,10
mov ebx,5
div ebx

it вызывает ошибку INTEGER OVERFLOW. Однако, если я установлюedx до 0 и сделать то же самое, что работает. Я считал, что используяdiv приведет к частному перезаписиeax и остаток перезаписываетсяedx.

Получение этой ОШИБКИ INTEGER OVERFLOW действительно смущает меня.