Duda, Programa en ASM que suma 2 numeros

(1/1)

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. ;)

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


Saludos

Navegación

[0] Índice de Mensajes