Você está na página 1de 11

Paso 2 Desarrollar el software de Microprocesadores

Presentado Por:
Alexander Guaitero Mojica
Víctor Eduardo chaparro

Tutor:

Ing. Danish Padilla

Grupo:
309696_8

Universidad Nacional Abierta Y A Distancia (UNAD)


Escuela De Ciencias Básicas, Tecnología E Ingeniería
abril Del 2019
Introducción

En el siguiente trabajo se evidencia el funcionamiento de varios ejercicios


propuestos en la guía de actividades, los cuales fueron resueltos con la ayuda
de la herramienta simuproc; además se refleja una opción de menú, con la
cual el usuario puede elegir la opción deseada, y verificar diferentes ejercicios,
ejecutando el funcionamientos que nos ofrece en menú.
Resumen

En este trabajo se describe partiendo del desarrollo de aun aplicación que es


capaz de simular el funcionamiento de un microprocesador ejecutando
programas en ensamblador mostrando paso a paso como se ejecuta una
instrucción dentro del procesador y como se obtienen resultados luego de la
ejecución del programa permitiendo a sus usuarios resolver problemas
adaptándose a las limitaciones del lenguaje de la maquina
Objetivos

 Descargar y comprender el funcionamiento el simulador simuproc


 Analizar los diferentes comandos del aplicativo
 Dar solución a los ejercicios propuestos en la guía de actividades
1. Realizar el promedio de la suma de las edades de los integrantes del
grupo (Aparte del menú, ingresar los datos de los valores por medio de
teclado)
promediar edades
mov 17,18;
msg '1. Realizar el promedio de la suma de las edades de los integrantes del
grupo'
msg '-----------------------------------------------'
msg 'ingrese la cantidad de personas que desea promediar'
ldt ;
sta 100;
mov cx,100;
cla ;
msg ' Digíte la edad del estudiante # hasta completar el numero ingresado para
promediar'
ldt ;
add 017;
sta 017;
loop 006;
div 100;
msg 'el promedio de las edades digitadas es:'
eap ;

2. Desarrollar un programa para hallar el área de una circunferencia (Aparte


del menú, ingresar los datos de los valores por medio de teclado)

; Area del circulo


msg Ingresa el Valor del Radio
in ax,1
stf 040
ldf 040
ldf 040
mulf 040
stf 020
ldf 020
mulf 090
stf 030
ldf 030
msg El area de esta circunferencia es:
out 1,ax
msg -------------
jmp 1
#090
0100000001001000
1111010111000010
;pi

3. Realizar un programa que ordene 3 números de menor a mayor (Aparte


del menú, ingresar los datos de los valores por medio de teclado)

;ordenar numero
MSG 'oredenar numero'
msg Ordenar numeros tres numeros de Menor a Mayor
ldt Ingrese el primer numero ; capturamos el numero por teclado
sta 20 ;guardamos el primer nuero
ldt Ingres el segundo numero ; capturamos el numero por teclado
sta 21 ;guardamso el segundo numero
ldt Ingrese el tercer numero ; capturamos el numero por teclado
sta 22; guardamos el tercer numero
msg ----------------------
lda 20 ;cargamos el numero guardado de esta ubicacion
cmp 21 ; comparamos el primer numero con el segundo
jma 30 ;si es mayor saltamos a la ubicacion 30
lda 20 ;cargamos el primer numero
cmp 21 ; comparamos el primer numero con el segundo
jme 33 ; si es menor saltamos a la ubicacion 33
jeq 33 ;si es igual saltamos ala ubicacion 33
#30
lda 20; cargamos el primer numero
mov 20,21; movemos datos de la ubicacion 21 a la 20
mov 21,ax ; movemos el dato ax a la 21
#33
lda 21 ;cargamos el segundo numero
cmp 22 ;comparamos el segundo numero con el tercero
jma 40 ;si es mayo saltamos a la ubicacion 40
lda 21 ;cargamos el segundo numero
cmp 22 ;comparamos el segundo numero con el tercero
jme 43; si es menor saltamos a la ubicacion 43
jeq 43; si es igual saltamos a la ubicacion 43
#40
lda 21
mov 21,22
mov 22,ax
#43
lda 20
cmp 21
jma 50
lda 20
cmp 21
jme 53
jeq 53
#50
lda 20
mov 20,21
mov 21,ax
#53
lda 21
cmp 22
jma 60
lda 21
cmp 22
jme 63
jeq 63
#60
lda 21
mov 21,22
mov 22,ax
#63
msg resultado
lda 20
eap
lda 21
eap
lda 22
eap

Código de la Compilación de los ejercicios en un menu


msg 'DESARROLLO PASO 2': ;Imprimimos menu
msg '**** MENU ****'
msg '1 = Area de una circunferencia'
msg '2 = ordenar numero de menor a mayor'
msg '3 = promedio de edades'
msg '4 = Salir'
msg
ldt 'INGRESE SELECCIÓN'; Capturamos por teclado el numero acorde a
operacion.
cmp 80 ;Comparamos con el # preestablecido en memoria 80
jeq 400 ;Si son iguales salte a la memoria 400 ejecute a partir de hay.
; de lo contrario ...
cmp 81 ;Comparamos con el numero preestablecido en memoria 81, que es 1.
jeq 500 ;Si son iguales salte a la memoria 500 ejecute a partir de hay.
; de lo contrario ...
cmp 82 ;Comparamos con el numero preestablecido en memoria 82, que es 1.
jeq 600 ;Si son iguales salte a la memoria 600 ejecute a partir de hay.
; de lo contrario ...
cmp 83 ;Comparamos con el numero preestablecido en memoria 82, que es 1.
jeq 700 ;Si son iguales salte a la memoria 600 ejecute a partir de hay.
; de lo contrario ...
msg 'numero no valido intente de nuevo';Imprima mensaje de errror
jmp 0 ;Salta incondicionalmente y presenta nuevamente el menu seleccion,
; Area del circulo
#400
msg Ingresa el Valor del Radio
in ax,1
stf 040
ldf 040
ldf 040
mulf 040
stf 020
ldf 020
mulf 090
stf 030
ldf 030
msg El area de esta circunferencia es:
out 1,ax
msg -------------
jmp 1
#090
0100000001001000
1111010111000010
;pi
;ordenar numero
#500
MSG 'oredenar numero'
msg Ordenar numeros tres numeros de Menor a Mayor
ldt Ingrese el primer numero ; capturamos el numero por teclado
sta 20 ;guardamos el primer nuero
ldt Ingres el segundo numero ; capturamos el numero por teclado
sta 21 ;guardamso el segundo numero
ldt Ingrese el tercer numero ; capturamos el numero por teclado
sta 22; guardamos el tercer numero
msg ----------------------
lda 20 ;cargamos el numero guardado de esta ubicacion
cmp 21 ; comparamos el primer numero con el segundo
jma 30 ;si es mayor saltamos a la ubicacion 30
lda 20 ;cargamos el primer numero
cmp 21 ; comparamos el primer numero con el segundo
jme 33 ; si es menor saltamos a la ubicacion 33
jeq 33 ;si es igual saltamos ala ubicacion 33
#30
lda 20; cargamos el primer numero
mov 20,21; movemos datos de la ubicacion 21 a la 20
mov 21,ax ; movemos el dato ax a la 21
#33
lda 21 ;cargamos el segundo numero
cmp 22 ;comparamos el segundo numero con el tercero
jma 40 ;si es mayo saltamos a la ubicacion 40
lda 21 ;cargamos el segundo numero
cmp 22 ;comparamos el segundo numero con el tercero
jme 43; si es menor saltamos a la ubicacion 43
jeq 43; si es igual saltamos a la ubicacion 43
#40
lda 21
mov 21,22
mov 22,ax
#43
lda 20
cmp 21
jma 50
lda 20
cmp 21
jme 53
jeq 53
#50
lda 20
mov 20,21
mov 21,ax
#53
lda 21
cmp 22
jma 60
lda 21
cmp 22
jme 63
jeq 63
#60
lda 21
mov 21,22
mov 22,ax
#63
msg resultado
lda 20
eap
lda 21
eap
lda 22
eap
msg ----------------
jmp 1
;promediar edades
#600
mov 17,18;
msg '1. Realizar el promedio de la suma de las edades de los integrantes del
grupo'
msg '-----------------------------------------------'
msg 'ingrese la cantidad de personas que desea promediar'
ldt ;
sta 100;
mov cx,100;
cla ;
msg ' Digíte la edad del estudiante # hasta completar el numero ingresado para
promediar'
ldt ;
add 017;
sta 017;
loop 006;
div 100;
msg 'el promedio de las edades digitadas es:'
eap ;
msg ----------------
jmp 1

#700
msg 'HASTA LUEGO'
hlt
; DEFINIMOS VALORES A MEMORIA
#80
1 ; Asignamos el valor de 1 a memoria 80
10 ; Asignamos el valor de 2 a memoria 81
11 ; Asignamos el valor de 3 a memoria 82
100 ; Asignamos el valor de 4 a memoria 83
Conclusiones
 Se descargo y se comprendido el uso de la herramienta simuproc
 se logro ejecutar de forma correcta los ejercicios señalados, y agregarlos
a un menú creado en simupro

Você também pode gostar