.stack 100h
.data
d1 db ?
d2 db ?
crlf db 10,13,10,13,"$"
problema db "Multiplicacion de dos numeros $"
digito1 db "Valor 1: = $ "
digito2 db "Valor 2: = $ "
result db "El resultado es: $ "
.code
inicia_operacion:
mov ax,@data
mov ds,ax
mov dx,offset crlf ; insertar linea
mov ah,09h
int 21h
mov dx,offset problema ;mensaje como titulo
mov ah,09h
int 21h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
mov dx,offset digito1
mov ah,09h
int 21h
mov ah,01h
int 21h
mov d1,al
sub d1,30h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
mov dx,offset digito2
mov ah,09h
int 21h
mov ah,01h
int 21h
mov d2,al
sub d2,30h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
;calculo de la multiplicacion-----
mov ax,0h ;limpiar el acumulador
mov al,d1
mul d2
aam ; (aam) aplicar ajuste ascii de la multiplicacion
mov bx,ax
;mostrar el resultado de la operacion
mov dx,offset result
mov ah,09h
int 21h
mov dl,bh ; mostra decenas
add dl,30h
mov ah,02h
int 21h
mov dl,bl
add dl,30h
mov ah,02h
int 21h
;insertar linea
mov dx,offset crlf
mov ah,09h
int 21h
_salir_a_modo_de_msdos:
mov ah,4ch
int 21h
end inicia_operacion
No hay comentarios:
Publicar un comentario