Haciendo énfasis en los últimos temas con el uso de la librería emu8086.inc
He realizado un programa que al ingresar dos números, se le da al usuario un menú para que elija que se hará con esos dos números(suma,resta,multiplicación o división).
org 100h
include 'emu8086.inc'
.data
numeros db 2 dup (?) ;creacion de un arreglo
cad2 dw ?
msg dw "El resultado es: $"
.code
print 'Ingresa el primer numero:'
call scan_num //funcion para leer un numero
mov numeros[0],cl //guardamos el numero en el arreglo
printn ""
print 'Ingresa el segundo numero:'
call scan_num
mov numeros[1],cl
printn ""
printn 'Elija una operacion a realizar:'
printn '1.Suma'
printn '2.Resta'
printn '3.Multiplicacion'
printn '4.Division'
printn 'Opcion:'
call scan_num
mov cad2,cx //la opcion elegida es guardada en cad2
cmp cad2,1h //hacemos las compraciones
je suma //si cad2 tiene dentro un 1,el programa hara un salto hasta "suma"
cmp cad2,2h
je resta
cmp cad2,3h
je multi
cmp cad2,4h
je divi
resta:
xor ax,ax
mov al,numeros[0]
sub al,numeros[1]
jmp fin
suma:
xor ax,ax
add al,numeros[0]
add al,numeros[1]
jmp fin
multi:
xor ax,ax //limpiamos el registro ax
mov al,numeros[0] //movemos el primer numero a multiplicar a al
mul numeros[1] //con la funcion, realizamos la multiplicacion
jmp fin //brincamos a la funcion fin
divi:
xor ax,ax
mov al,numeros[0]
div numeros[1]
jmp fin
fin:
mov bx, ax
mov ah,09
lea dx,msg
int 21h
mov ax, bx
printn ""
call PRINT_NUM
ret
define_print_num
define_scan_num
define_print_num_uns
define_print_string
define_get_string
end
En si, el programa lo que hace de diferente a todo lo que ya hemos visto, es la elección de una opción y de esa opción el programa va a la parte indicada para hacer dicha operación.
Es una combinación de varias cosas que se vieron como el uso de un arreglo para guardar los números ingresados y también el uso de comparación, y las funciones de la librería antes mencionada.
Programa fuente usado como inspiracion o referencia: http://iscsaucedacarolina.blogspot.com/2019/02/programa-con-modulo-emu8086inc.html



No hay comentarios.:
Publicar un comentario