Duda con el modulo en asm

Iniciado por ragde, 11 Abril 2017, 23:11 PM

0 Miembros y 1 Visitante están viendo este tema.

ragde

Que tal amigos tengo una duda, resulta que tengo un codigo que  resuelve el modulo el cual si le ingresa los valores 3 y 2 me da como resultado 1 lo cual es correcto pero si le ingreso 5 y 3 me da como resultado 0 cuando deberia de ser 2, el codigo es el siguiente

Código (asm) [Seleccionar]
.model small
.stack 64
.data

num1 db 0
num2 db 0
modulo db 0

msg1 db 10,13, 'Introduce el numero 1: ','$'
msg2 db 10,13, 'Introduce el numero 2: ','$'
msg3 db 10,13, 'El modulo es: ','$'

.code
begin proc far
   
   mov ax,@data
   mov ds,ax
   
   mov ah,09
   lea dx,msg1
   int 21h
   mov ah,01
   int 21h
   sub al,30h
   mov num1,al
   
   mov ah,09
   lea dx,msg2
   int 21h
   mov ah,01
   int 21h
   sub al,30h
   mov num2,al
   
   mov al,num1
   div num2
   mov modulo,ah
   
   mov ah,09
   lea dx,msg3
   int 21h
   mov dl,modulo
   add dl,30h
   mov ah,02
   int 21h
   
   mov ah,4ch
   int 21h
   
   begin endp
end
   
   




· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex

pkj

Creo que es porque la division se hace usando AX completo.
Pon AH = 0 antes de dividir a ver...
Saludos