• Viernes 19 de Abril de 2024, 19:38

Autor Tema:  duda con suma  (Leído 1624 veces)

ramsi

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
duda con suma
« en: Miércoles 26 de Mayo de 2010, 18:42 »
0
hola, bueno pues baje un codido d sta pagina, q realiza la suma de dos digitos, todo va bien hasta que ingreso cifras comoi 85+93, me arroja un resultado que no es, y no logro ver cual es el problema, ayudeneme porfavor

.model small
.stack
.data
    msg db "Ingresa numeros a sumar $"
.code
.startup
;Mensage
    mov dx,OFFSET msg
    mov ax,SEG msg
    mov ds,ax
    mov ah,9
    int 21h

;Sumas
    mov ah,01h ;interr. lee el caracter 1 del numero 1
    int 21h    ;ejecutamos la interrupcion
    sub al,30h ;hacemos el aguste de caracter a numero
    mov bl,al  ;guardamos el numero en bl
 

    int 21h    ;lee el caracter 2 del numero 1
    sub al,30h ;ajustamos el numero
    mov cl,al  ;copeamos a cl

 
    int 21h    ;lee el caracter 1 del numero 2
    sub al,30h ;ajustamos el numero
    add bl,al  ;lo sumamos a las decenas

 
    int 21h    ;lee el caracter 2 del numero 2
    sub al,30h ;ajustamos el numero
    add cl,al  ;sumamos a las unidades
;Fin de las sumas


    mov ax,cx  ;pasamos el resultado para convertirlo BCD
    aaa        ;convierte BCD
    mov cx,ax  ;respaldamos el resultado separado

 
    add bl,ch  ;sumamos el acarreo a las decenas
    mov ax,bx  ;pasamos ax para convertir a BCD
    aaa        ;convertimos BCD separado
    mov bx,ax  ;respaldamos el resultado
   

    mov dl,bh  ;muevo las centenas a dl
    add dl,30h ;ajusto las centenas
    mov ah,02h ;interr. mostrar un caracter
    int 21h    ;muestra las centenas en pantalla

 
    mov dl,bl  ;muevo las decenas a dl
    add dl,30h ;ajusto las decenas
    int 21h    ;muestro las decenas
 
    mov dl,cl  ;muevo las unidades a dl
    add dl,30h ;ajusto las unidades    
    int 21h    ;muestro las unidades
 
.exit
end