Duda, Programa en ASM que suma 2 numeros

Iniciado por mit, 28 Mayo 2007, 18:01 PM

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

mit

model small
.stack
.data
        var1 db ?
.code
.startup
        mov ah,01h;leer caracter desde el teclado
        int 21h;lee primer caracter
        sub al,30h;resto 30H (48Dec) para obtener el numero
        mov var1,al ;lo guardo en variable var1
       
        mov ah,01h ; leer caracter desde el teclado
        int 21h ; leo el segundo caracter
        sub al,30h;resto 30H (48Dec) para obtener segundo valor
        add al,var1 ; realizo la suma de los dos valores
       
        mov dl,al;pongo en dl el numero a imprimir
        add dl,30h ; agrego 30 (48Dec) para obtener el caracter
        mov ah,02h;funcion para imprimir un caracter en pantalla
        int 21h
.exit
end


Mi duda es por que se le suma ese 30H o 48Dec?? por que no se le suma un 10H o un 15H, etc.

Gracias por leer
Saludos

»~^~«CkNU!»~^~«

Amigo, no suma, resta. 30h es el 0 en ascii. ;)
»~^~«ChiCkENURiNE»~^~«

mit

Ya entiendo muchisimas gracias hermano te lo agradezco... Tienes razon resta me equivoque.


Saludos