The arithmetic exception is "Integer overflow", from the #DE
hardware divide exception!
Which is normal or expected, because your result is bigger than 32-bit number.
Remember: the quotient of 64 bit / 32-bit division is only a 32 bit register (EAX). The EDX output is the remainder, not high half of the quotient. The operand-size of div %ebx
is 32-bit; only the dividend is 64-bit.
Intel's datasheet has a useful table: