Vous êtes sur la page 1sur 6

Universidad De El Salvador

Facultad de Ingeniera y Arquitectura


Escuela de Ingeniera Elctrica
Sistemas Digitales Programables

Gua de laboratorio # 1.

Introduccin al software EMU8086

Docente: Ing. Ricardo E. Cortez

Instructores:
Br. David Martnez
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 simulacin en la depuracin 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 cdigo, 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 cdigo y ejecutarlo en el emulador pas a paso. Entre las muchas
caractersticas de este programa podemos mencionar las ms importantes:

La interface visual es muy fcil 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 fcilmente como lo son
visualizadores LCD, luces de trfico del sistema, motores de paso, emulacin de impresin,
etc.
Adems de poder crear nuestros propios dispositivos.

1
Sistemas Digitales Programables 2017
Desarrollo de la prctica:
El emulador emu8086 es una potente e importante herramienta, que nos ayudara comnmente en
la simulacin de perifricos y depuracin de los programas que realicemos para el 8086. A
continuacin se realizara una revisin 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 cdigos de ejemplo ya existente, as como tambin
ingresar a una gua 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 rpido 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 pgina web con la
informacin bsica y necesaria para comenzar a trabajar con este emulador. En la parte superior
izquierda de esta pgina web se encuentran 5 links que nos brindan informacin sobre la licencia de
adquisicin 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 bsicas que se pueden utilizar en el 8086, procederemos a
regresar al men de inicio y seleccionar la opcin NEW y luego seleccionar la opcin Empty
workspace, desde la cual podremos escribir nuevos programas para poder ser ejecutados y
depurados de una forma metdica y muy eficiente.

La ventana principal del emulador se presenta a continuacin:

Debemos denotar algunas opciones en especial que sern muy tiles para el desarrollo de
programas y la depuracin de los mismos, algunas de las ms destacadas son las siguientes:

Examples: nos permite abrir cdigos de ejemplos, que nos muestran una idea ms especfica
respecto a la lgica de programacin en lenguaje ensamblador y el uso adecuado de las
instrucciones bsicas.
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 opcin 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 prctica se ejecutar un programa de ejemplo que est incluido en la carpeta de
instalacin 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 vieta [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 vieta [SINGLE STEP] o la tecla F8 y observe con atencin como se ejecuta el
cdigo del programa.
5. Hacer diferentes pruebas con este u otros ejemplos.
6. Disear el programa para sumar dos nmeros que se encuentran a partir de la direccin
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.

Disee un programa el cual solicite el ingreso de 10 caracteres (5 nmeros de un digito y 5


letras, las cuales deben de ser vocales), los nmeros 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.

Disear un programa que almacene 4 nmeros, 2 en la tabla NUMS1 y 2 en otra tabla


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

Disee un programa que almacene 5 nmeros en una tabla llamada NUMS, que los
compare, y muestre en pantalla cual es el promedio, y cul es el nmero menor.

Defina el registro de banderas y explique la funcin de cada bit que lo conforma

Investigar el uso de las siguientes instrucciones y realizar un pequeo 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 prctica.

; 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

Vous aimerez peut-être aussi