ASM x86 entero desbordamiento [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Por qué EDX debe ser 0 antes de usar la instrucción DIV? [duplicar] 2 respuestas
GetLCM PROC
tryAgain:
   mov bx, 0
   inc Multiple
   mov ax, UserInputNum1              ;Move UserInputNum1 to the 16 bit Register
   mov bx, Multiple
   div bx                             ;<-------Error here
   cmp dx,0                           ;If dx is not zero then there is a remainder
   jne tryAgain                       ;If not equal jump
ret
GetLCM ENDP

Sigo recibiendo un error de desbordamiento de enteros cuando intento dividir estos dos números. Se rompe cuando trato de usar div.

Estoy tratando de encontrar el mínimo común múltiplo de dos números ingresados ​​por el usuario. Decidí tratar de dividir cada número para encontrar primero los números primos y luego comparar cada vez que se encuentra uno con el otro número que ingresó el usuario. Por supuesto que estaría haciendo los dos números al mismo tiempo, pero a partir de ahora estoy tratando de superar este error.

Esta es solo mi quinta semana en ASM, así que estoy un poco confundido de por qué sucede esto. También me gustaría agregar que también me gustaría hacer que esto funcione para números de 32 bits. Mi idea es usar punteros. ¿Es esta una buena manera de hacer esto? ¡Gracias por cualquier ayuda!

Respuestas a la pregunta(2)

Su respuesta a la pregunta