Está en la página 1de 2

;resta, multiplicacion sin tomar en cuenta el acarreo

; el 13,10 es un salto de linea

.model small

.stack 100

.data

msj1 db 'Numero 1: ','$'

msj2 db 13,10,'Numero 2: ','$'

msj4 db 13,10,'Resta: ','$'

msj5 db 13,10,'Multiplicacion: ','$'

linea db 13,10,'$'

var1 db 0

var2 db 0

.code

.startup

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


;RESTA

mov bl,var1

sub bl,var2

mov ah,09h

lea dx,msj4 ;desplegar resta:

int 21h

mov dl,bl ;mover resta a dl para imprimir

add dl,30h ;sumar 30 para obtener caracter

mov ah,02h ;imprimir 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

leer proc near

mov ah,01h;leer caracter desde el teclado

int 21h;lee primer caracter

ret

leer endp

También podría gustarte