Sei sulla pagina 1di 17

MICROPROCESADORES Y MICROCONTROLADORES

Paso 2

Presentado por:
Fabio Andrés Reina Carreño COD: 1073236955
Jefferson Leonardo Ariza COD:1072719380
Manuel Ignacio García COD: 11442329
Wilmer Rominguer Cortes COD:1070968240
Yerferson Danilo Salamanca COD:

Tutor
NOEL JAIRO ZAMBRANO

Grupo: 309696_1

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA

SEPTIEMBRE 2018
TABLA DE CONTENIDO

TABLA DE CONTENIDO ........................................................................................................................ 2


RESUMEN ............................................................................................................................................ 4
OBJETIVOS ........................................................................................................................................... 5
MARCO METODOLÓGICO.................................................................................................................... 6
MARCO TEÓRICO: ....................................................................................................................... 6
ACTIVIDADES A DESARROLLAR ............................................................................................ 7
Ejercicio N° 1 desarrollado por Manuel Ignacio García Suárez. .................................................... 7
Enlace al video explicando la aplicación del código del ejercicio 1 en SIMUPROC .................. 7
Ejercicio N. 2 desarrollado por Wilmer Rominguer Cortes ............................................................. 8
Enlace al video explicando la aplicación del código del ejercicio 2 en SIMUPROC:
https://www.youtube.com/watch?v=lG9DA1SKdr8&feature=youtu.be ................................. 10
Ejercicio N. 3 desarrollado por JEFERSON LEONARDO ARIZA ....................................................... 10
Enlace al video explicando la aplicación del código del ejercicio 3 en SIMUPROC:
https://youtu.be/B1LbJv14i0s................................................................................................... 11
Ejercicio N°4 desarrollado por Fabio Andrés Reina Carreño ....................................................... 11
Enlace al video explicando la aplicación del código del ejercicio 4 en SIMUPROC ................ 12
LINK DE SUSTENTACIÓN GENERAL DE LA ACTIVIDAD DESARROLLADA EN EL PASO 2..................... 15
CONCLUSIONES ................................................................................................................................. 16
BIBLIOGRAFÍA .................................................................................................................................... 17
INTRODUCCIÓN

En el siguiente trabajo se presenta el desarrollo de cinco (5) diferentes programas, mediante


el uso del simulador SimuProc, permitiéndole al estudiante entender de una forma más
práctica el funcionamiento de un microprocesador, por tal razón, en el contenido de este
documento se podrá apreciar además del archivo de simulación de cada uno de los ejercicios
de la guía, los correspondientes códigos, junto con los comentarios que explican cada
instrucción dada en el código, además de 5 vídeos en forma de tutorial que sustentan el
funcionamiento de cada programa y muestran su respectiva ejecución.
RESUMEN

El desarrollo de esta actividad se encuentra conformado por la generación de cinco


programas, utilizando el simulador Simuproc, además de la sustentación de los mismos
mediante cinco vídeos independientes, en los cuales se puede apreciar cómo fueron
desarrollados y su proceso de ejecución. Lo anterior permitiendo a cada participante del
grupo colaborativo apropiarse a de los conocimientos básicos para el desarrollo de este curso,
tales como:
 Qué es un microprocesador?
 Cómo funciona un microprocesador?
 Realizar un primer acercamiento al lenguaje ensamblador.
 Arquitectura de un Microprocesador?
Utilizando una estrategia de autoaprendizaje, en la cual el estudiante se apropia del entorno
de simulación de un microprocesador, aprovechando los recursos expuestos en el curso de
microprocesadores y microcontroladores.
OBJETIVOS

 Reconocer y entender el funcionamiento interno de un microprocesador, su


propósito y su arquitectura.

 Reconocer y entender el lenguaje ensamblador como un lenguaje de bajo nivel, que


lo conforman un conjunto de instrucciones básicas para diferentes circuitos
integrados programables.

 Apropiarse del entorno de simulación SimuProc, con el fin de que el estudiante


logre dar solución a diversos problemas mediante su uso.
MARCO METODOLÓGICO

MARCO TEÓRICO:

MICROPROCESADOR
Es un sistema integrado complejo, el cual se encarga de ejecutar los programas dentro de un
ordenador, mediante instrucciones programadas en lenguaje de bajo nivel, realizando
operaciones aritméticas y lógicas simples, tales como sumar, restar, multiplicar, dividir, las
lógicas binarias y accesos a memoria.

FUNCIONAMIENTO DE UN MICROPROCESADOR:
El microprocesador ejecuta instrucciones almacenadas como números binarios organizados
secuencialmente en la memoria principal. La ejecución de las instrucciones se puede
realizar en varias fases:
 Prelectura de la instrucción desde la memoria principal.
 Envío de la instrucción al decodificador
 Decodificación de la instrucción, es decir, determinar qué instrucción es y por tanto
qué se debe hacer.
 Lectura de operandos (si los hay).
 Ejecución, lanzamiento de las máquinas de estado que llevan a cabo el
procesamiento.
 Escritura de los resultados en la memoria principal o en los registros.

ARQUITECTURA:
La estructura básica de un microprocesador, cuenta con los siguientes elementos:
 La Unidad Aritmética Lógica (ALU), que ejecuta todas las operaciones solicitadas.
 Registros donde se almacenan temporalmente los datos. De aquí, la ALU extrae las
instrucciones sobre las operaciones específicas a realizar y sobre el segmento de la
memoria RAM donde vaciará sus resultados una vez ejecutadas las instrucciones.
 Bloques de control (direcciones, datos, memoria), para comunicarse con el exterior.
Estos bloques controlan el flujo de información y el orden de ejecu-ción del
programa.
 El circuito de reloj o Timer, que sincroniza la ejecución de las operaciones señaladas
en los tres puntos an-teriores.
LENGUAJE ENSAMBALDOR:
Es un lenguaje de programación de bajo nivel, que consiste en un conjunto de códigos de
operación que representan instrucciones básicas para los computadores, microprocesadores,
microcontroladores y otros circuitos integrados programables. Implementa una
representación simbólica de los códigos de máquina, como los binarios que necesarios para
programar una arquitectura de procesador.

ACTIVIDADES A DESARROLLAR

El estudiante junto con el grupo de trabajo colaborativo desarrolla los siguientes puntos,
cada uno de ellos debe tener presentación y un menú contextual donde se solicite al usuario
la selección del punto de interés, estos hacen parte del paso 2 y evidencian el uso de los
Microprocesadores, Tengan en cuenta que cada estudiante selecciona uno de estos y realiza
su desarrollo:
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)
Ejercicio N° 1 desarrollado por Manuel Ignacio García Suárez.
a) Descripción de los comandos usados para la realización del ejercicio número 1.
COMANDO DESCRIPCION
MOV 17, 18; (Lee de la posición 18 de la memoria el valor que se va a mover a la posición 17)
MSG; (Mensaje en pantalla de interfaz)
LDT; (Lee un valor de teclado para luego llevarlo a ax)
STA 100; (Guarda el contenido de ax en la posición e memoria especifica)
MOV CX, 100; (Lee el valor de la posición de memoria 100)
CLA (Convierte ax igual a cero)
MSG (Comando de mensaje interfaz)
LDT (Lee un valor de teclado para luego llevarlo a ax)
ADD 017; (Suma en ax el contenido de la dirección de memoria)
STA 017; (Guarda el contenido en la dirección de memoria)
LOOP 006; (Decrece cx y salta a la siguiente posición de memoria si no es igual a cero)
DIV 100; (Divide el valor contenido en al posición de memoria 100)
MSG; (Comando de mensaje interfaz)
EAP; (Escribe en pantalla el contenido del registro en ax)
HLT; (Indica la terminación del programa)

Enlace al video explicando la aplicación del código del ejercicio 1 en SIMUPROC


https://www.youtube.com/watch?v=2ksS1zJLzcE
2. Desarrollar un programa para hallar el área de un trapezoide (Aparte del menú,
ingresar los datos de los valores por medio de teclado)
Ejercicio N. 2 desarrollado por Wilmer Rominguer Cortes
CLC
MSG 'El area del trapezoide: a=8, b=5, c=12 d=7'
MSG '.....................................'
LDT 'Ingrese el valor de a para el area1 triangulo1'
MOV 01F,AX
LDT 'Ingrese el valor de b para el area1 triangulo1'
MOV 020,AX
LDT 'Ingrese el valor de c para el area2 triangulo2'
MOV 021,AX
LDT 'Ingrese el valor de d para el area2 triangulo2'
MOV 022,AX

;Calculo del triangulo areal


MOV AX,01F ;Muevo el valor de (a) al reg. AX
MUL 020 ;multiplico (a)*(b)
EAP 'El producto (a)*(b) es: '
DIV 030 ;Dividido el producto en 2.
EAP 'El area del triangulo1 es:'
MOV 031,AX ;Muevo el valor del area1 a la dir 031

;calculo del triangulo area2


MOV AX,021 ;Muevo el vlor de (a) al reg. AX
MUL 022 ;Multiplico (a)*(b)
EAP 'El producto (c)*(d) es: '
DIV 030 ;Divido el producto en 2.
EAP 'El area del triangulo2 es: '
;sumo las areas del triangulo1 y 2 para obtener el area del trapezoide
ADD 031
EAP 'El area del trapezoide es: '
HLT
#030
10
EXPLICACION DEL TRABAJO
Es posible calcular el área de un trapezoide por medio de la suma de las áreas de sus dos
triángulos
A=(b*h)/2
Donde:
b= es la base
h= es la altura
A_1+ A_2= es el área del trapezoide

Para triangulo 1 A_(1 )=(c*d)/2 ((8)(5))/2 40/2=20〖cm〗^2

Para triangulo 2 A_(2 )=(c*d)/2 ((12)(7))/2 84/2=42〖cm〗^2


Para el trapezoide

A= A_1+A_2=20+42=62〖CM〗^2

LDT 'Ingrese el valor de a para el area1 triangulo1'


C. solicita al usuario ingresar los valores coda valor ingresado se va almacenar lo recibe el
registro x y lo va almacenar la posición de memoria y a si sucesiva mente
MOV 01F,AX

Calcular el área del triángulo 1 lo primero mover el valor de (A) a registro x luego lon que
tiene a e x lo vamos a multiplicar por lo que hay en 020 en 020 tenemos la constante b
luego ese resultado lo vamos a dividir entre 2 por que en esta posición de memoria tengo el
número 2 en binario.
Luego obtenemos entonces el área del triángulo 1 y lo movemos a la dirección 031.
El cálculo del triángulo del área 2 se procede de la misma manera
Se mueve de la posición 021 que es donde está la constante c al registro AX luego lo que se
tiene en AX se multiplica en la dirección 022 y 022 tenemos el valor de (d) luego se
procede a realizar el producto a dividir entre 2 el resultado del número 2 luego procedemos
a sumar las áreas, sumamos el valor obtenido con lo que hay en la dirección 031
En 031 guardamos el resultado del triángulo del área 1 sumamos esas dos áreas y nos da el
área del trapezoide.

Enlace al video explicando la aplicación del código del ejercicio 2 en SIMUPROC:


https://www.youtube.com/watch?v=lG9DA1SKdr8&feature=youtu.be

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


menú, ingresar los datos de los valores por medio de teclado)
Ejercicio N. 3 desarrollado por JEFERSON LEONARDO ARIZA
Msg “creado por Jefferson Leonardo Ariza”

Msg ”------------------------------------------------------”

Msg”ingrese el diámetro e la circunferencia”

In ax ,1 ; lleva el valor a un puerto

Stf 010 ; guarda el valor ingresado

Sdf 010 ; carga el valor en bx y ax

Mulf 010 ; multiplica el resultado

Stf 020 ; carga el valor en ax ybx

Sdf 020 ;carga el valor multiplicado

Mulf 030 ; multiplicación por variable

Stf 070; carguarda el valor

Ldf 070 ; carga el valor de 070

Msg “el área de la circunferencia es ”

Out 1 ax; muestra el valor de loperacion

Htl

#30
0100000001001000

1111010111000010

Link del video https://youtu.be/B1LbJv14i0s


Enlace al video explicando la aplicación del código del ejercicio 3 en SIMUPROC:
https://youtu.be/B1LbJv14i0s

4. 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)

Ejercicio N°4 desarrollado por Fabio Andrés Reina Carreño

MSG ORDENAS 3 NUMEROS DE MENOR A MAYOR


MSG
MSG FABIO ANDRES REINA CARRENO
MSG
LDT Primer numero ; pedir el primer número.
STA 50 ;Guarada el primer número en la memoria 50
LDT Segundo numero pedir el segundo número.
STA 51 ;Guarada el segundo número en la memoria 51
LDT Tercer numero ;pedir el tercer número.
STA 52 ;Guarada el tercer número en la memoria 52
LDA 50 ;Carga en AX la información de la memoria 50
CMP 51 ;Compara la información cargada en AX de la memoria 50 con la memoria 51
JMA 20 ;Si AX es mayor salta a la memoria 20
LDA 51 ;Carga en AX la información de la memoria 51
CMP 52 ;Compara la información cargada en AX de la memoria 51 con la memoria 52
JMA 30 ;Si AX es mayor salta a la memoria 30
LDA 50 ;Carga en AX la información de la memoria 50
CMP 51 ;Compara la información cargada en AX de la memoria 50 con la memoria 51
JMA 20 ;Si AX es mayor salta a la memoria 20
MSG El orden de los numeros de menor a mayor es:
LDA 50 ;Carga en AX memoria 50
EAP ;Escribe en pantalla el contenido de AX
LDA 51 ;Carga en AX lo memoria 51
EAP ;Escribe en pantalla el contenido de AX
LDA 52 ;Carga en AX memoria 52
EAP ;Escribe en pantalla el contenido de AX
HLT
#20
MOV 53,50 ;Copia el valor de la memoria 50 en la memoria 53
MOV 50,51 ;Copia el valor de la memoria 51 en la memoria 50
MOV 51,53 ;Copia el valor de la memoria 53 en la memoria 51
JMP C ;Salta a la memoria C
HLT

#30
MOV 53,51 ;Copia el valor de la memoria 51 en la memoria 53
MOV 51,52 ;Copia el valor de la memoria 52 en la memoria 51
MOV 52,53 ;Copia el valor de la memoria 53 en la memoria 52
JMP F ;Salta a la memoria F
HLT
Enlace al video explicando la aplicación del código del ejercicio 4 en SIMUPROC
https://youtu.be/NEl_665POIA

5. Realizar un programa que identifique las calificaciones de 10 estudiantes y muestre


la probabilidad de aprobación y reprobación, como también los que no ingresaron con
notas inferiores a 1.0, junto con la cantidad de estudiantes que aprobaron y perdieron,
tengan en cuenta que la nota aprobatoria es de 3.0 (Aparte del menú, ingresar los
datos de los valores por medio de teclado)
Ejercicio N°5 desarrollado por YERFERSON DANILO SALAMANCA
#SimuProc 1.4.2.0
msg "10 Calificaciones" ;esta instrucción nos permite mandar un mensaje a la pantalla
ldt "Digite el valor 1" ;lee un valor desde el teclado y lo guarda en AX
sta 01B ;envia el valor que esta en AX y la manda a la posición de memoria indicada
LDA 01B
sta 02B
LDA 01B
sta 03B
ldt "Digite la calificacion de aprobacion" ;lee un valor desde el teclado y lo guarda en
AX
sta 01A ;envia el valor que esta en AX y la manda a la posición de memoria indicada
ldt "Digite la primera calificacion" ; esta instrucción nos permite mandar un mensaje a la
pantalla
sta 02A ;guarda el valor de AX en la posición de memoria
cmp 01A
jma 100 ; salto si la Instruccion anterior da mayor
jme 110 ; salto si la Instruccion es menor

ldt "Digite la segunda calificacion" ; esta instrucción nos permite mandar un mensaje a la
pantalla
sta 03A ;guarda el valor de AX en la posición de memoria
cmp 01A
jma 100 ; salto si la Instruccion anterior da mayor
jme 110 ; salto si la Instruccion es menor

ldt "Digite la tercera calificacion" ; esta instrucción nos permite mandar un mensaje a la
pantalla
sta 04A ;guarda el valor de AX en la posición de memoria
cmp 01A
jma 100 ; salto si la Instruccion anterior da mayor
jme 110 ; salto si la Instruccion es menor

ldt "Digite la cuarta calificacion" ; esta instrucción nos permite mandar un mensaje a la
pantalla
sta 05A ;guarda el valor de AX en la posición de memoria
cmp 01A
jma 100 ; salto si la Instruccion anterior da mayor
jme 110 ; salto si la Instruccion es menor
ldt "Digite la quinta calificacion" ; esta instrucción nos permite mandar un mensaje a
la pantalla
sta 06A ;guarda el valor de AX en la posición de memoria
cmp 01A
jma 100 ; salto si la Instruccion anterior da mayor
jme 110 ; salto si la Instruccion es menor
msg "pasaron"
LDA 02B
SUB 01B
EAP
msg "perdieron"
LDA 03B
SUB 01B
EAP
HLT ;finaliza programa
#100
LDA 02B
ADD 01B
STA 02B
#110
LDA 03B
ADD 01B
STA 03B

LINK DE SUSTENTACIÓN GENERAL DE LA ACTIVIDAD DESARROLLADA


EN EL PASO 2
https://youtu.be/Dd2CHAnwrPs
CONCLUSIONES

A través del estudio de esta unidad se han reconocido las partes y funcionamiento interno
de un Microprocesador como registros de propósito general y específico, compuertas
lógicas, ALU, RAM, ROM y otros propios de su arquitectura, mediante la programación y
uso de lenguaje de bajo nivel Assembler.

Se dio desarrollo a los pasos contenidos en la guía.

- Informar: Recopilar información para la resolución de problema


- Planificar: Elaboración del plan de trabajo
- Decidir: Decidir cuáles son las variables o estrategias se van a seguir
- Realizar el proyecto: Se lleva a cabo el desarrollo del proyecto en conjunto
- Controlar: Fase de autocontrol para evaluar nuestro trabajo
- Valorar, reflexionar: Se discutió entre los participantes del foro el desarrollo del proyecto.
BIBLIOGRAFÍA

Ingreso a Campus Virtual - Universidad Nacional Abierta y a Distancia UNAD. (2018).


Retrieved from campus07.unad.edu.co/ecbti42/mod/page/view.php?id=4939

Ingreso a Campus Virtual - Universidad Nacional Abierta y a Distancia UNAD. (2018).


Guía de actividades y rubrica de evaluación - Paso 2
http://campus07.unad.edu.co/ecbti42/mod/folder/view.php?id=4951

Hernández, E. (2009). Microprocesadores. Ed. El Cid Editor. (Pp. 5 -23) Recuperado de:
http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=3&docID=3183363
&tm=1527288594447

Otras referencias.
 https://sites.google.com/site/arquitecturadecomputadorass4a/home/unidad-1
 https://es.wikipedia.org/wiki/Lenguaje_ensamblador
 https://es.wikipedia.org/wiki/Microprocesador#Funcionamiento
 https://sites.google.com/site/simuproc/instrucciones-soportadas

Potrebbero piacerti anche