Excesso de inteiro do ASM x86 [duplicado]

Esta questão já tem uma resposta aqui:

Por que o EDX deve ser 0 antes de usar a instrução DIV? [duplicado] 2 respostas
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

Continuo recebendo um erro de estouro de inteiro ao tentar dividir esses dois números. Ele quebra quando eu tento usar div.

Eu estou tentando encontrar o mínimo múltiplo comum de dois números digitados pelo usuário. Decidi tentar dividir cada número para encontrar os números primos primeiro e depois comparar cada vez que um deles é encontrado para o outro número que o usuário digitou. Claro que eu estaria fazendo os dois números ao mesmo tempo, mas a partir de agora eu estou tentando apenas superar esse erro.

Esta é apenas a minha quinta semana no ASM, então estou um pouco confusa porque isso está acontecendo. Também gostaria de acrescentar que eu também gostaria de fazer isso funcionar para números de 32 bits também. Minha ideia é usar ponteiros. Esta é uma boa maneira de fazer isso? Obrigado por qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion