GUÍA I. Departamento: Electrónica TEMA: INTRODUCCIÓN AL

Anuncio
GUÍA I.
TEMA: INTRODUCCIÓN AL EMU8086
Lugar de ejecución: Laboratorio Electrónica
Digital.
Tiempo de ejecución: 8 hrs.
Departamento:
Año:
Ciclo:
Electrónica
Tercero
II
Asignatura:
Microprocesadores.
I. Objetivos




Identificar los principales elementos que conforman el ambiente Integrado de
Programación (IDE) del programa EMU8086.
Identificar los elementos que conforman un código fuente típico, escrito con
la sintaxis del lenguaje ensamblador de la familia 8086.
Crear códigos fuentes usando la sintaxis del lenguaje ensamblador.
Compilar y ejecutar programas escritos en lenguaje ensamblador.
II. Introducción Teórica
El Emulador EMU8086 es el primer programa que se utiliza en el curso de
Microprocesadores que imparte la Universidad Don Bosco; se ha elegido este
emulador porque posee una interfaz de usuario muy amistosa que permite
familiarizarse con los fundamentos de la programación en lenguaje ensamblador de
forma muy intuitiva, aparte de eso brinda una serie de recursos para ejecutar y
depurar los programas. También tiene algunas desventajas como el de no soportar
algunas de las interrupciones más interesantes que posee el sistema operativo y
tampoco puede acceder a los puertos físicos (reales), sino que los emula usando
otros programas que ya están incluidos en su respectiva carpeta.
Para iniciar se debe ejecutar el archivos
EMU886.exe, que se encuentra en la
carpeta del mismo nombre, en el
directorio raíz; seguramente en la
computadora donde corra el programa
tendrá otras alternativas para activar el
programa, como un acceso directo en el
escritorio o en el menú de programas
del sistema operativo
Si está ejecutando la versión 4.05 del
EMU8086 observará primero la pantalla
de bienvenida (welcome), similar a la
que se muestra en la Figura 1.
Fig. 1
1
Se presentan cuatro diferentes opciones para elegir:



New : Le permite escribir un nuevo código en lenguaje ensamblador (al que
llamaremos “Código Fuente” y tendrá extensión .ASM)
Code examples: Le permite acceder a una serie de programas ejemplos que
pueden ayudarle a comprender funciones más complejas.
Recent File: le muestra los últimos archivos que se trabajaron en la
máquina.
Para continuar este primer contacto con el emulador, seleccioneNew. Observará una
nueva caja de dialogo “choose code template”, como se muestra en la Figura 2.
Figura 2. Caja de dialogo para seleccionar el tipo plantilla (template).
En ella se le presentan seis opciones, cuatro que le permiten usar plantillas
predefinidas con algunos de los tipo de archivo que se pueden crear en lenguaje
ensamblador: COM template, EXE template, BIN template y BOOT template (cada
uno le permite diferentes características que se abordaran a su debido tiempo en el
curso). Dos que le permiten usar un espacio vacío “empty workspace” (sin una
plantilla) o activar el emulador mismo. Selecciones la opción del espacio vacío.
Observará la ventana de edición o mejor dicho el Entorno de Desarrollo Integrado
(Integrated Development Environme IDE), como se muestra en la Figura 3, donde
escribirá sus archivos fuentes en lenguaje ensamblador, por favor lo confunda con
el lenguaje de máquina. Podrá ver una barra de menú de Windows con sus opciones
file, edit, etc. pero también vera unas opciones poco usuales como assembler,
emulator, etc. propias del emulador. También vera una serie de botones que le
permitirán crear un nuevo archivo (new), abrir un archivo que ya existe (open),
abrir un ejemplo (examples), compilar un archivo fuente (compile), emular un
archivo ejecutable (emulate) y otras opciones que irá descubriendo a medida que se
familiarice con el programa.
2
1
III. Materiales y Equipo
CANTIDAD DESCRIPCION
 Computadora con el programa
1
EMU8086 y el archivo IO_BAS.INC
OBSERVACIONES.
IV. Procedimiento
1) Ejecute el programa emulador de microprocesadores EMU8086.
2) En la ventana de bienvenida seleccione la opción “New”.
3) En la ventana donde elige el tipo de plantilla selecciones la opción “empty
workspace”.
4) Una vez esté abierto el IDE y usando la opción “open” verifique que en la
sub-carpeta “inc” (C:\emu8086\inc) existe el archivo “IO_BAS.inc”, en la
opción tipo seleccione “all files (*.*)”. SI el archivo no está comuníqueselo al
docente de laboratorio.
5) Escriba en el IDE el código fuente en lenguaje ensamblador que se encuentra
en el tutorial que estudió previamente a esta actividad. Por favor no digite los
comentarios.
6) Guarde el archivo en la carpeta “MySource” asignándole por nombre su
número de carnet. ¿Cuántos bytes contiene el archivo fuente que ha digitado?
__________.
7) Compile el archivo ASM. Si se encuentra con algún mensaje de error corríjalo,
si tiene dificultades consulte con su docente de laboratorio. Si no tiene
errores se le pedirá que asigne un nombre al archivo EXE, por defecto el
programa le asigna el mismo nombre que el código fuente, pero puede
colocarse otro. Para este caso mantenga el nombre por defecto.
8) Cierre la ventana “assembler status” (Estado del proceso de compilación).
¿Cuántos bytes contiene el archivo ejecutable que se ha creado? __________
9) Emule el archivo EXE. Notará que se abren las dos ventanas ya explicadas en
el documento: “emulator” y “original source code”.
3
10)
Observe la ventana “emulator” ¿Encuentra alguna diferencia con la
Figura 7 del tutorial?_____________________________________________
11)
Observe la ventana “original source code” ¿Qué línea aparece resaltada
y por qué lo está? _______________________________________________
12)
Ejecute el programa presionando el botón RUN.
13)
Siga las instrucciones del programa hasta que observe una ventana con
un mensaje que indica la finalización del programa.
14)
Muestre a su docente de laboratorio el resultado de la ejecución del
programa, si no es la esperada realice las correcciones pertinentes.
15)
Si el resultado es satisfactorio ¿Cuál es la última instrucción resaltada?
______________________________________________________________
16)
Describa con sus propias palabras, pero usando un buen lenguaje
técnico que es lo que hizo el programa:
______________________________________________________________
17)
Recargue el programa usando el botón “reload”.
18)
En la ventana “emulator” observe cual es el contenido del registro AX y
anótelo a continuación: _____________________________
19)
Presione el botón “single step”, para ejecutar paso a paso el programa.
Note que han sucedido varias cosas, la instrucción resaltada ahora es mov
DS, AX y el contenido de AX ha cambiado. Lo anterior comprueba lo
planteado en el primer bloque del flujo-grama en el tutorial (Figura 4). Anote
el contenido de los registros AX y DS
AX: __________ DS: __________
20)
Presione nuevamente “single step”, para ejecutar la siguiente línea de
instrucción. ¿Cuál es el nuevo valor de DS? _________
21)
Ahora presione el botón “step back” ¿Qué cambios observa?
______________________________________________________________
______________________________________________________________
22)
Presione nuevamente “single step”.
¿Cuál línea está resaltada? ________________________________________
¿Qué diferencia hay entre esta línea y las dos anteriores?
______________________________________________________________
______________________________________________________________
4
23)
Presione cuatro veces “single step”.
¿Qué ocurrió? __________________________________________________
¿Qué texto se imprimió en la pantalla? ______________________________
24)
Presione cinco veces “single step”.
¿Qué ocurrió? __________________________________________________
25)
Presione cuatro veces “single step”.
¿Qué ocurrió? __________________________________________________
26)
Realice la acción que el programa le pide.
27)
Avance un paso más.
¿Se cerró el programa al ejecutar “Presione_Tecla_Fin”? ________________
¿Cuál línea está resaltada? ________________________________________
28)
Avance un paso más. ¿Qué registro cambió y cuál es su nuevo valor?
______________________________________________________________
29)
Avance un paso más.
¿Se ejecutó esta instrucción como la anterior? _________.
30)
Avance hasta terminar el programa.
31)
En la ventana “emulador” ubique en la parte baja el botón “vars” que le
permite visualizar las variables declaradas, presione este botón.
32)
Debe observar algo similar a lo mostrado en la figura 1. En esta
ventana se le indica que se han declarado dos variables, que cada una se
está mostrando en grupos de bytes (48h y 50h), que solo se está
visualizando 1 byte de cada variable y que los datos se muestran en formato
hexadecimal.
5
Figura 1. Ventana de variables.
33)
Cambie el formato de visualización de las dos variables de hexadecimal
a ASCII.
¿Qué relación hay entre las variables declaradas en el código fuente y lo que
Observa en la ventana de variables?
____________________________________________________________
34)
Para el caso de la variable “frase” cambie el número de bytes
visualizados de 1 a 13 y en “pak” de 1 a 51.
35)
En esta ventana podrá monitorear en tiempo real los cambios en las
variables declaradas y será de gran ayuda para comprender muchos de los
programas que se desarrollen en el laboratorio.
36)
Para terminar modifique el código fuente para que aparezca en la
pantallas
Los siguientes textos:
“Mi nombre es: ………….”
“Que tenga un buen día”
37)
Cuando este lista la modificación muestre el resultado al docente de
laboratorio. Con esto último se da por finalizado el procedimiento.
6
V. Análisis de Resultados
1. En la variable llamada “frase” ¿qué función cumplen los datos 0Ah y 0Dh?
¿Cuál es la relación de estos datos y el código ASCII?
2. En un compilador de C++ escriba y luego compile el código de C del tutorial,
luego compare el tamaño de los archivos fuentes y ejecutables con los
obtenidos en esta práctica. ¿Por qué hay diferencias?
VI. Investigación Complementaria

Investigar sobre las instrucciones que permiten manipular el puerto serie y el
puerto paralelo.
VII. Bibliografía


8086 assembler tutorials que está incluido en el programa Emu8086.
http://www.scribd.com/doc/10161583/Tutorial-EMU8086
7
Documentos relacionados
Descargar