Calculadora Emu8086
Jesus Gonzalez TellezTarea23 de Enero de 2020
925 Palabras (4 Páginas)606 Visitas
;GONZALEZ TELLEZ JOSE DE JESUS
;Ingresar un valor de la matriz y presionar enter para agregar otro.
org 100h
include "emu8086.inc"
matriz db 9 dup (0)
matriz2 db 9 dup (0)
printn "Ingresa los numeros de tu primera matriz: "
call principal
principal proc
call Mtz1
call Mtz2
call opcion
call sumar
call restar
call multiplicar
call dividir
call diagonalPrincipal
call diagonalSecundaria
call salir
principal endp
hlt
Mtz1 proc
call scan_num
printn
mov matriz[si],cl
inc si
cmp si,9
jne Mtz1
mov si,1
mov bx,0
Mtz1 endp
mov si,0
printn "Ingresa los numeros de la segunda matriz: "
Mtz2 proc
call scan_num
printn
mov matriz2[si],cl
inc si
cmp si,9
jne Mtz2
mov si,1
mov bx,0
Mtz2 endp
opcion proc
printn "Menu"
printn ""
printn "Selecciona la opcion a realizar"
printn "1.-Suma"
printn "2.-Resta"
printn "3.-Multiplicacion"
printn "4.-Division"
printn "5.-Suma de diagonal principal"
printn "6.-Suma de diagonal secundaria"
printn "7.-Salir"
call scan_num
printn
mov bx,cx
cmp bx,1
je call suma
cmp bx,2
je call resta
cmp bx,3
je call multiplicacion
cmp bx,4
je call division
cmp bx,5
je call diagonalPrincipal
cmp bx,6
je call diagonalSecundaria
cmp bx,7
je call salir
jmp opcion
printn "Saliste"
opcion endp
suma:
mov si, 0
printn "La suma es: "
sumar proc
mov al,matriz[si]
mov bl,matriz2[si]
add al,bl
printn " "
call print_num
printn " "
inc si
cmp si,9
jne sumar
jmp call opcion
ret
sumar endp
resta:
mov si,0
printn "La resta es: "
restar proc
mov al,matriz[si]
mov bl,matriz2[si]
sub al,bl
printn " "
call print_num
printn " "
inc si
cmp si,9
jne restar
jmp call opcion
ret
restar endp
multiplicacion:
mov si,0
printn "La multiplicacion es: "
multiplicar proc
mov dl,matriz[si]
mov al,matriz2[si]
mul dl
printn " "
call print_num
printn " "
inc si
cmp si,9
jne multiplicar
jmp call opcion
ret
multiplicar endp
division:
mov si,0
printn "La division es: "
dividir proc
mov al,matriz[si]
mov bl,matriz2[si]
div bl
printn "
...