INTRODUCCIÓN AL EMU8086 PDF

Title INTRODUCCIÓN AL EMU8086
Author Argelys Rocha
Pages 8
File Size 600.6 KB
File Type PDF
Total Downloads 35
Total Views 295

Summary

UNIVERSIDAD NACIONAL DE INGENIERIA DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I PRIMER LABORATORIO INTRODUCCIÓN AL EMU8086 . Objetivos específicos • Identificar los principales elementos que conforman el ambiente Integrado de Programación (IDE) del programa...


Description

Accelerat ing t he world's research.

INTRODUCCIÓN AL EMU8086 Argelys Rocha

Related papers

Download a PDF Pack of t he best relat ed papers 

Lenguaje Ensamblador y Macroensamblador.docx Christ ian Frías Dávila

309696 – MICROPROCESADORES Y MICROCONT ROLADORES INDICE DE CONT ENIDO Carolina Gonzalez Mplab t ecnologia de alt a especialidad medica

UNIVERSIDAD NACIONAL DE INGENIERIA DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I PRIMER LABORATORIO

INTRODUCCIÓN AL EMU8086 . Objetivos específicos • • •

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.

Materiales y equipo •

1 Computadora con el programa EMU8086 y el archivo IO_BAS.INC

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” y luego de clic en OK. 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 muestra a continuación. Por favor no digite los comentarios.

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I 2

PROGRAMA EN LENGUAJE ENSAMBLADOR include IO_BAS.INC ;Indica al compilador que incluya la librería respectiva. ;El archivo IO_bas.INC debe estar almacenado en ;la carpeta inc del emulador .model small ;Indica al compilador el modelo de memoria que se usara ;en este caso se usa un modelo pequeno ;===================================================== ;ZONA PARA DECLARAR LAS VARIABLE Y CONSTANTES DEL PROGRAMA ; ;SE LE CONOCE COMO SEGMENTO DE DATOS ; ;Inicia con la directiva simplificada .data ;===================================================== .data frase db 'HOLA MUNDO',0Ah,0Dh,'$' ;Declara cadena que se va a imprimir pak db 'Presione cualquier tecla para terminar el programa$' ;=========================================================== ;ZONA PARA ESCRIBIR LAS INSTRUCCIONES, MACRO-INSTRUCCIONES ;Y PROCDIMIENTOS QUE SE EJECUTARAN. ; ;SE LE CONOCE COMO SEGMENTO DE CODIGO ; ;Inicia con la directiva simplificada .code ;========================================================== .code INICIO: mov ax, @DATA ;Bloque de instrucciones que ubica la zona de ;memoria donde estan almacenados los datos ;con los que el programa va a trabajar. ;Se utiliza la instruccion MOV (mover) para ;trasladar al registro AX la direccion de memoria ;donde inicia este bloque mov ds, ax ;Transfiere (en realidad copia) el contenido del ;registro AX al registro DS Imprimir_Cadena frase

;Macro-Instruccion que imprime la cadena llamada frase

Imprimir_Cadena pak

;Macro-Instruccion que imprime la cadena llamada fin

Presione_Tecla_Fin ;Macro-Instruccion que espera a que se ;presione cualquier tecla para seguir adelante FIN: mov ax, 4C00h ;Bloque de instrucciones que terminan el programa int 21h ;========================================================== ;ZONA DE MEMORIA DONDE SE ALMACENAN DATOS INTERMEDIOS QUE SE CREAN ;DURANTE LA EJECUCION DEL PROGRAMA. ; ;SE LE CONOCE COMO SEGMENTO DE PILA ; ; Inicia con la directiva simplificada .stack ;========================================================== .stack end INICIO

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? ___________________________

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I 3

7) Compile el archivo ASM, dando clic en el botón llamado “compile” . 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, dando clic en el botón llamado “emulate”. Notará que se abren dos ventanas, una que muestra el código fuente original (Original Source Code) y la otra es la del emulador (emulator) que se muestra en la Figura 1.1.

Figura 1.1 Ventana “emulator” 10) Observe la ventana “original source code” ¿Qué línea aparece resaltada y por qué lo está?___________________________________________ ____________________________________________________________________________________ 11) Ejecute el programa presionando el botón “run” de la ventana “emulator”. 12) Siga las instrucciones del programa hasta que observe una ventana con un mensaje que indica la finalización del programa.

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I 4 13) Muestre a su docente de laboratorio el resultado de la ejecución del programa, si no es la esperada realice las correcciones pertinentes. 14) Si el resultado es satisfactorio ¿Cuál es la última instrucción resaltada? ___________________________________________________________________________________ 15) Describa con sus propias palabras, pero usando un buen lenguaje técnico que es lo que hizo el programa: ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ 16) Recargue el programa usando el botón “reload”. 17) En la ventana “emulator” observe cual es el contenido del registro AX y anótelo a continuación: AX=________ 18) 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. Anote el contenido de los registros AX y DS AX: __________

DS: __________

19) Presione nuevamente “single step”, para ejecutar la siguiente línea de instrucción. ¿Cuál es el nuevo valor de DS? _________

20) Ahora presione el botón “step back” ¿Qué cambios observa? _____________________________ ____________________________________________________________________________________ ____________________________________________________________________________________

21) Presione nuevamente “single step”. ¿Cuál línea está resaltada? _____________________________________________________________ ¿Qué diferencia hay entre esta línea y las dos anteriores? ____________________________________________________________________________________ ____________________________________________________________________________________ 22) Presione cuatro veces “single step”. ¿Qué ocurrió? _______________________________________________________________________ ¿Qué texto se imprimió en la pantalla? __________________________________________________

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I 5 23) Presione cinco veces “single step”. ¿Qué ocurrió? _______________________________________________________________________ 24) Presione cuatro veces “single step”. ¿Qué ocurrió? _______________________________________________________________________ 25) Realice la acción que el programa le pide. 26) Avance un paso más. ¿Se cerró el programa al ejecutar “Presione_Tecla_Fin”? ____________________________________ ¿Cuál línea está resaltada? _____________________________________________________________ 27) Avance un paso más. ¿Qué registro cambió y cuál es su nuevo valor? ___________________________________________________________________________________ 28) Avance un paso más. ¿Se ejecutó esta instrucción como la anterior? ____________________________________________ 29) Avance hasta terminar el programa. 30) En la ventana “emulator” ubique en la parte baja el botón “vars” que le permite visualizar las variables declaradas, presione este botón. 31) Debe observar algo similar a lo mostrado en la Figura 1.2. 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.

Figura 1.2. Ventana de variables. 32) Cambie el formato de visualización de las dos variables de hexadecimal a ASCII.

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I 6 ¿Qué relación hay entre las variables declaradas en el código fuente y lo que observa en la ventana de variables? ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________

33) 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. 34) 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. 35) 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”

36) Cuando este lista la modificación muestre el resultado al docente de laboratorio. Con esto último se da por finalizado el procedimiento.

Análisis de Resultados 1. ¿Qué problema se hubiera presentado si no se tuviera copia del archivo IO_BAS.INC? ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ 2. ¿Existen diferencias entre los formatos de las variables declaradas y los textos que se imprimen en pantalla? De ser así ¿cuáles son las diferencias? y ¿a qué se deben? ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________ 3. Cuando se ejecutó el programa paso a paso no todas las líneas del código se ejecutaron de la misma manera. Agrupe las líneas de instrucción en base a la forma en que se ejecutan. ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES LABORATORIOS DE MAQUINAS COMPUTADORAS I 7 4. ¿Qué diferencia hay entre una instrucción, una Macro-instrucción y una Interrupción? ____________________________________________________________________________________ ____________________________________________________________________________________ ____________________________________________________________________________________

Investigación Complementaria 1) En la variable llamada “frase” ¿qué función cumplen los datos 0Ah y 0Dh? 2) ¿Cuál es la relación de estos datos y el código ASCII? 3) 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?

Bibliografía •

Tutorial del Emu8086 (se lo proveerá su docente teórico).



8086 assembler tutorials que está incluido en el programa Emu8086....


Similar Free PDFs