Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: ragde en 11 Abril 2017, 23:11 pm



Título: Duda con el modulo en asm
Publicado por: ragde en 11 Abril 2017, 23:11 pm
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
  1. .model small
  2. .stack 64
  3. .data
  4.  
  5. num1 db 0
  6. num2 db 0
  7. modulo db 0
  8.  
  9. msg1 db 10,13, 'Introduce el numero 1: ','$'
  10. msg2 db 10,13, 'Introduce el numero 2: ','$'
  11. msg3 db 10,13, 'El modulo es: ','$'
  12.  
  13. .code
  14. begin proc far
  15.  
  16.    mov ax,@data
  17.    mov ds,ax
  18.  
  19.    mov ah,09
  20.    lea dx,msg1
  21.    int 21h
  22.    mov ah,01
  23.    int 21h
  24.    sub al,30h
  25.    mov num1,al
  26.  
  27.    mov ah,09
  28.    lea dx,msg2
  29.    int 21h
  30.    mov ah,01
  31.    int 21h
  32.    sub al,30h
  33.    mov num2,al
  34.  
  35.    mov al,num1
  36.    div num2
  37.    mov modulo,ah
  38.  
  39.    mov ah,09
  40.    lea dx,msg3
  41.    int 21h
  42.    mov dl,modulo
  43.    add dl,30h
  44.    mov ah,02
  45.    int 21h
  46.  
  47.    mov ah,4ch
  48.    int 21h
  49.  
  50.    begin endp
  51. end
  52.  
  53.  
  54.  
  55.  


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Duda con el modulo en asm
Publicado por: pkj en 12 Abril 2017, 09:50 am
Creo que es porque la division se hace usando AX completo.
Pon AH = 0 antes de dividir a ver...
Saludos