Professional Documents
Culture Documents
INTRODUCCIN AL EMU8086.
Objetivos especficos
Identificar los principales elementos que conforman el ambiente Integrado de Programacin (IDE) del
programa EMU8086.
Identificar los elementos que conforman un cdigo fuente tpico, escrito con la sintaxis del lenguaje
ensamblador de la familia 8086.
Crear cdigos fuentes usando la sintaxis del lenguaje ensamblador.
Materiales y equipo
Procedimiento
1) Ejecute el programa emulador de microprocesadores EMU8086.
2) En la ventana de bienvenida seleccione la opcin new.
3) En la ventana donde elige el tipo de plantilla selecciones la opcin empty workspace y luego de clic en
OK.
4) Una vez est abierto el IDE y usando la opcin open verifique que en la sub-carpeta inc
(C:\emu8086\inc) existe el archivo IO_BAS.inc, en la opcin tipo seleccione all files (*.*). Si el archivo
no est comunqueselo al docente de laboratorio.
5) Escriba en el IDE el cdigo fuente en lenguaje ensamblador que se muestra a continuacin. Por favor no
digite los comentarios.
PROGRAMA EN LENGUAJE ENSAMBLADOR
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
9) Emule el archivo EXE, dando clic en el botn llamado emulate. Notar que se abren dos ventanas,
una que muestra el cdigo fuente original (Original Source Code) y la otra es la del emulador (emulator)
que se muestra en la Figura 1.1.
14) Describa con sus propias palabras, pero usando un buen lenguaje tcnico que es lo que hizo el
programa:
La funcin que realiz el programa fue: Obtener la direccin en la cual se encuentran almacenados los datos
correspondientes, apartir de ah hace una copia de la informacin contenida en el registro AX mandndola a
la ubicacin del resgistro DS
15) Recargue el programa usando el botn reload. En la ventana emulator observe cual es el contenido
del registro AX y antelo a continuacin:
AX= 00 00
16) Presione el botn single step, para ejecutar paso a paso el programa. Note que han sucedido varias
cosas, la instruccin resaltada ahora es mov DS, AX y el contenido de AX ha cambiado. Anote el
contenido de los registros AX y DS
AX: 07 10
DS: 07 00
17) Presione nuevamente single step, para ejecutar la siguiente lnea de instruccin. Cul es el nuevo
valor de DS? xssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssxxsxssxx
DS: 07 10
28) En la ventana emulator ubique en la parte baja el botn vars que le permite visualizar las variables
sxadeclaradas, presione este botn.
29) 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.
30)
de 1 a 51.
31)
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.
32)
Para terminar modifique el cdigo fuente para que aparezca en la pantallas los siguientes textos:
Mi nombre es: .
Que tenga un buen da
33)
Cuando este lista la modificacin muestre el resultado al docente de laboratorio. Con esto
Anlisis de Resultados
1. Qu problema se hubiera presentado si no se tuviera copia del archivo IO_BAS.INC?
Hubiera dado error desde el momento de querer guardar y por tanto no se podra compilar, debido a
que se manda a llamar la librera IO_BASIC.INC, y por tanto esta se vuelve imprescindible para continuar
la ejecucin del programa.
2. Existen diferencias entre los formatos de las variables declaradas y los textos que se imprimen en
pantalla? De ser as cules son las diferencias? y a qu se deben?
Si existe diferencia, y es que en una de las frases son agregados 0Ah y 0Dh, en la pantalla del emulador
al plasmar la primer frase no permite realizar alguna accin, en cambio la mostrar en pantalla la segunda
cadena, el programa permie la realizacin de una funcin
3.
Cuando se ejecut el programa paso a paso no todas las lneas del cdigo se ejecutaron de la
misma manera. Agrupe las lneas de instruccin en base a la forma en que se ejecutan.
mov ax, @DATA
mov ds, ax
Imprimir_Cadena frase
Imprimir_Cadena pak
Presione_Tecla_Fin
mov ax, 4C00h
int 21h
Investigacin Complementaria
1) En la variable llamada frase qu funcin cumplen los datos 0Ah y 0Dh?
Son valores cuya utilizacin en conjunto permite que se coloque el cursor al inicio de la siguiente lnea
en la pantalla del emulador;
3) En un compilador de C++ escriba y luego compile el cdigo de C del tutorial, luego compare el tamao
de los archivos fuentes y ejecutables con los obtenidos en esta prctica. Por qu hay diferencias?
Bibliografa