Suma de dos numeros

; FECHA : miercoles 27 septiembre 2017
;========================================================
.model small
.stack 100
.data
msj1 db 'Numero 1: ','$'
msj2 db 13,10,'Numero 2: ','$'
msj3 db 13,10,'Suma: ','$'
msj5 db 13,10,'Multiplicacion: ','$'
linea db 13,10,'$'
var1 db 0
var2 db 0
.code
.startup
    call limpia
    mov ah,09h
    lea dx, msj1 ;desplegar numero 1:
    int 21h
    call leer ;lee primer numero
    sub al,30h ;restar 30h para obtener el numero
    mov var1,al ;lo guardo en var1
    mov ah,09h
    lea dx, msj2 ;desplegar numero 2:
    int 21h
    call leer ;lee segundo numero
    sub al,30h ;restar 30h para obtener segundo valor
    mov var2,al ;guardar en var2
    mov bl,var2 ;mover a bl
    ;******************* SUMA
    add bl,var1 ; realizo la suma de var2(bl) y var1 y el resultado queda en bl
    mov ah,09h
    lea dx,msj3 ;imprimir suma
    int 21h
    mov dl,bl ;pongo en dl el numero a imprimir var2(bl)
    add dl,30h ; agrego 30h para obtener el caracter
    mov ah,02h ;imprime un caracter
    int 21h
    ;******************MULTIPLICACION
    mov ah,09h
    lea dx,msj5 ;desplegar mult
    int 21h
    mov al,var1
    mov bl,var2
    mul bl ;mult al=al*bl
    mov dl,al ;mover al a dl para imprimir
    add dl,30h ;sumar 30 para obtener caracter
    mov ah,02h ;imprimir caracter
    int 21h
.exit
; ****************PROCEDIMIENTOS
salto proc near
    mov ah,09h
    lea dx,linea
    int 21h
    mov dl,00h
    ret
salto endp
leer proc near
    mov ah,01h;leer caracter desde el teclado
    int 21h;lee primer caracter
    ret
leer endp
limpia proc near
    mov ah,00h
    mov al,03h
    int 10h
    ret
limpia endp
end

Comentarios

Entradas populares de este blog

Multiplicacion

ADMINISTRACION BASE DE DATOS PARTE 3