Suma de 2 numeros hex.
.model small
.stack 64
.data
n1 db 0
n2 db 0
suma db 0
msg1 db 10,13,"Mario,por favor ingrese el primer valor: ",'$'
msg2 db 10,13,"Ingrese el segundo valor: ",'$'
msg3 db 10,13,"Suma= ",'$'
.code
begin proc far
;Direccionamos al segmento de deatos
mov ax,@data
mov ds,ax
;Solicitamos el primer digito
mov ah,09
int 21h
;Se lee el primer valor
mov ah,01
int 21h
sub al,30h;Convierte el caracter en numero
mov n1,al
;Solicitamos el segundo digito
mov ah,09
lea dx,msg2
int 21h
mov ah,01
int 21h
sub al,30 ;Conviete el caracter en numero
mov n2,al
;Operacion
mov al,n1
add al,n2
add al,30h ;Convierte a caracter
mov suma,al
mov ah,09
lea dx,msg3
int 21h
;Se imprime el caracter con el servicio 02 de la int 21h
mov ah,02
mov dl,suma
int 21h
mov ah,4ch
int 21h
Begin endp
end
.stack 64
.data
n1 db 0
n2 db 0
suma db 0
msg1 db 10,13,"Mario,por favor ingrese el primer valor: ",'$'
msg2 db 10,13,"Ingrese el segundo valor: ",'$'
msg3 db 10,13,"Suma= ",'$'
.code
begin proc far
;Direccionamos al segmento de deatos
mov ax,@data
mov ds,ax
;Solicitamos el primer digito
mov ah,09
int 21h
;Se lee el primer valor
mov ah,01
int 21h
sub al,30h;Convierte el caracter en numero
mov n1,al
;Solicitamos el segundo digito
mov ah,09
lea dx,msg2
int 21h
mov ah,01
int 21h
sub al,30 ;Conviete el caracter en numero
mov n2,al
;Operacion
mov al,n1
add al,n2
add al,30h ;Convierte a caracter
mov suma,al
mov ah,09
lea dx,msg3
int 21h
;Se imprime el caracter con el servicio 02 de la int 21h
mov ah,02
mov dl,suma
int 21h
mov ah,4ch
int 21h
Begin endp
end
Comentarios
Publicar un comentario