I am trying to run the following code in assembly:
mov %si, %ax
mov $15, %si
div %si
mov %eax, %esi
Whe
The div instruction divides the two-word parameter dx/ax by the operand. If the quotient is too large to fit into a word, it will throw that exception.
Reference: http://siyobik.info.gf/main/reference/instruction/DIV
What do you have in the dx register? Most likely dx/ax divided by 15 does not fit in a 16-bit word.