1. SUMA
org 100h
.model small
.stack 64
.data
n1 db 0
n2 db 0
resta db 0
msg1 db "Ingrese el primer valor:", '$'
msg2 db 10,13, "Ingrese el segundo valor:", '$'
msg3 db 10,13, "Resta=", '$'
.code
begin proc far
;direccionamos al segmentos de datos
mov ax,@data
mov ds,ax
;solicitamos el primer digito
mov ah,09
lea dx,msg1
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,30h;convierte el caracter en numero
mov n2,al
;operacion
mov al,n1 ;lo que esta en n1 lo asigna a al
sub al,n2
add al,30h;convierte a caracter
mov resta,al
mov ah,09
lea dx,msg3
int 21h
;se imprime el caracter con el servicio 02 de la int 21h
mov ah,02 ;valor que se usa para poner algo en pantalla
mov dl,resta
int 21h
mov ah,4ch
begin endp
end
ret
2. RESTA
org 100h
.model small
.stack 64
.data
n1 db 0
n2 db 0
s db 0
msg1 db "Dame el primer valor: ", "$"
msg2 db "Dame el segundo valor: ", "$"
msg3 db "Suma = ", "$"
.code
begin proc far
;direccionamos al segmentos de datos
mov ax, @data
mov ds, ax
;solicitamos el primer digito
mov ah, 09
lea dx, msg1
int 21h
;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, 30h; convierte el caracter en numero
mov n2, al
;operacion
mov al, n1
add al, n2
add al, 30h ;convierte a caracter
mov s, 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, s
int 21h
mov ah, 4ch
int 21h
Begin endp
end
ret
No hay comentarios:
Publicar un comentario