Está en la página 1de 6

Universidad De El Salvador

Facultad de Ingeniería y Arquitectura


Escuela de Ingeniería Eléctrica
Sistemas Digitales Programables

Guía de laboratorio # 1.

“Introducción al software EMU8086”

Docente: Ing. Ricardo E. Cortez

Instructores:
Br. David Martínez
Br. Cesar Escobar
Br. Carlos Luna
Objetivos:

 Que el estudiante comprenda el funcionamiento y se familiarice con el simulador EMU8086


 Aprender a ensamblar, enlazar y correr programas usando el simulador EMU8086.
 Comprender las ventajas que brinda una herramienta de simulación en la depuración de
programas.

EMU8086
El emulador o simulador EMU8086 es una herramienta muy poderosa y útil para nuestro
aprendizaje de lenguaje ensamblador ya que combina un editor avanzado de código, ensamblador,
desensamblador, emulador (PC virtual) con depurador y muchos tutoriales en un ambiente
amigable, todo para aprender el lenguaje en un solo paquete. La fuerza de este programa se basa
en que podemos compilar nuestro código y ejecutarlo en el emulador pasó a paso. Entre las muchas
características de este programa podemos mencionar las más importantes:

 La interface visual es muy fácil de utilizar y muy intuitiva.


 Podemos observar los registros, banderas y memoria mientras se ejecuta el programa es
decir que podemos visualizar el trabajo interno de la CPU.
 La PC virtual evita que los programas se ejecuten y accedan al hardware real de nuestra
computadora.
 Podemos cargar ya sea archivos con extensiones .COM, .EXE, .BIN, etc.
 Posee dispositivos virtuales con los cuales podemos experimentar fácilmente como lo son
visualizadores LCD, luces de tráfico del sistema, motores de paso, emulación de impresión,
etc.
 Además de poder crear nuestros propios dispositivos.

1
Sistemas Digitales Programables 2017
Desarrollo de la práctica:
El emulador emu8086 es una potente e importante herramienta, que nos ayudara comúnmente en
la simulación de periféricos y depuración de los programas que realicemos para el 8086. A
continuación se realizara una revisión general de las partes que componen este emulador.
Al ejecutar el emulador nos encontramos con la pantalla de inicio que nos permite elegir entre
diferentes opciones del emulado, desde la cual podemos seleccionar si ingresar a escribir un
programa nuevo o bien navegar entre los códigos de ejemplo ya existente, así como también
ingresar a una guía completa sobre el emulador y las diferentes funciones e instrucciones del
microprocesador 8086 lo cual nos será de vital importancia para el desarrollo de programas.

Como primer acercamiento en el laboratorio procederemos a revisar tutorial rápido de inicio


haciendo click en el icono que se presenta en la figura anterior.

2
Sistemas Digitales Programables 2017
Con lo cual se abrirá el navegador por defecto del sistema y nos presentara una página web con la
información básica y necesaria para comenzar a trabajar con este emulador. En la parte superior
izquierda de esta página web se encuentran 5 links que nos brindan información sobre la licencia de
adquisición del software y diversos tutoriales entre otros, pero para nosotros será de vital
importancia los últimos dos apartados referentes al uso y funcionamiento del microprocesador
8086, en las cuales son el set de instrucciones del 8086 y el set de interrupciones que se pueden
ocupar en el mismo, respectivamente, estos presentan entonces una importante referencia para el
desarrollo de programas para este microprocesador.

Luego de ahondar en las instrucciones básicas que se pueden utilizar en el 8086, procederemos a
regresar al menú de inicio y seleccionar la opción NEW y luego seleccionar la opción Empty
workspace, desde la cual podremos escribir nuevos programas para poder ser ejecutados y
depurados de una forma metódica y muy eficiente.

La ventana principal del emulador se presenta a continuación:

Debemos denotar algunas opciones en especial que serán muy útiles para el desarrollo de
programas y la depuración de los mismos, algunas de las más destacadas son las siguientes:

Examples: nos permite abrir códigos de ejemplos, que nos muestran una idea más específica
respecto a la lógica de programación en lenguaje ensamblador y el uso adecuado de las
instrucciones básicas.
Compile: permite compilar el programa escrito y generar un archivo “.COM” con el cual podremos
realizar diferentes acciones que se estudiaran posteriormente en el curso.
Emulate: esta opción nos llevara al emulador del 8086 desde el cual podremos ser capaces de
realizar una corrida del programa, o realizar una corrida paso a paso del mismo, y verificar como las
diferentes instrucciones alteran y modifican los diversos registros con los que cuenta el 8086 así
como verificar el estado de su registro de banderas o del Stack

3
Sistemas Digitales Programables 2017
Como primera práctica se ejecutará un programa de ejemplo que está incluido en la carpeta de
instalación del simulador. Siga los siguientes pasos:

1. Acceder al programa EMU8086, ya sea desde el icono en el escritorio o desde el menú Inicio
de Windows.
2. En el menú [FILE] seleccione la viñeta [SAMPLES] y elija el ejemplo llamado “HELLO WORLD”.
3. Dentro del menú [COMPILE], presione [COMPILE AND EMULATE] o en su defecto presione
F5 desde el teclado.
4. Presione la viñeta [SINGLE STEP] o la tecla F8 y observe con atención como se ejecuta el
código del programa.
5. Hacer diferentes pruebas con este u otros ejemplos.
6. Diseñar el programa para sumar dos números que se encuentran a partir de la dirección
1000H dejando el resultado en 1002H.

4
Sistemas Digitales Programables 2017
Asignaciones

 Ejecute en el EMU8086 el programa que se encuentra en el anexo, y explique cada uno de


los pasos que lo conforman, colocando cada una de las ventanas que se alteran en el
EMU8086.

 Diseñe un programa el cual solicite el ingreso de 10 caracteres (5 números de un digito y 5


letras, las cuales deben de ser vocales), los números deben ser almacenados en la tabla
NUMS y las vocales en la tabla VCLS, y luego se deben de mostrarse en pantalla los
elementos de la tabla NUMS y de la tabla VCLS, en el orden que fueron ingresado.

 Diseñar un programa que almacene 4 números, 2 en la tabla NUMS1 y 2 en otra tabla


NUMS2. Posteriormente realizar la suma, resta, multiplicación y división. Entre los
elementos de las tablas y los resultados deben de ser almacenados en la tabla RESUL de la
siguiente manera.

 Diseñe un programa que almacene 5 números en una tabla llamada NUMS, que los
compare, y muestre en pantalla cual es el promedio, y cuál es el número menor.

 Defina el registro de banderas y explique la función de cada bit que lo conforma

 Investigar el uso de las siguientes instrucciones y realizar un pequeño ejemplo con cada una
de ellas.

 XCHG  BSWAP  ROL


 LAHF  CMOV  RCR
 SAHF  SHL  ROR
 XLAT  SHR
 MOVZX  RCL

5
Sistemas Digitales Programables 2017
ANEXO
Programa que se utilizara en la práctica.

; This example prints out


; "HELLO WORLD!"
; by writing directly to
; Video Memory.

#make_BIN#

; set segment register:


MOV AX, 0B800h
MOV DS, AX

; print "HELLO" using DS


; as segment:

MOV [52h], 'H'


MOV [54h], 'E'
MOV [56h], 'L'
MOV [58h], 'L'
MOV [5Ah], 'O'

; print "WORD!" using ES


; as segment (better since
; this way you won't loose
; access to variables declared
; in code segment).

; set segment registers:


PUSH CS
POP DS ; DS = CS.
MOV AX, 0B800h
MOV ES, AX

MOV ES:[5Eh], 'W'


MOV ES:[60h], 'O'
MOV ES:[62h], 'R'
MOV ES:[64h], 'L'
MOV ES:[66h], 'D'
MOV ES:[68h], '!'

HLT

6
Sistemas Digitales Programables 2017

También podría gustarte