Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Guia1 MCP

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

UNIVERSIDAD NACIONAL DE INGENIERIA

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES


LABORATORIOS DE MAQUINAS COMPUTADORAS I
PRIMER LABORATORIO

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

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 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.

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 librera 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 asignndole por nombre su nmero de carnet.


Cuntos 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 botn llamado compile . Si se encuentra con algn
mensaje de error corrjalo, 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 cdigo fuente, pero puede colocarse otro. Para este caso mantenga el
nombre por defecto.
8) Cierre la ventana assembler status (Estado del proceso de compilacin).
Cuntos bytes contiene el archivo ejecutable que se ha creado? __________
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.

Figura 1.1 Ventana emulator


10) Observe la ventana original source code
Qu lnea aparece resaltada y por qu lo est?___________________________________________
____________________________________________________________________________________
11) Ejecute el programa presionando el botn run de la ventana emulator.
12) Siga las instrucciones del programa hasta que observe una ventana con un mensaje que indica la
finalizacin 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 ejecucin del programa, si no es la
esperada realice las correcciones pertinentes.
14) Si el resultado es satisfactorio Cul es la ltima instruccin resaltada?
___________________________________________________________________________________
15) Describa con sus propias palabras, pero usando un buen lenguaje tcnico que es lo que hizo el
programa:
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
16) Recargue el programa usando el botn reload.
17) En la ventana emulator observe cual es el contenido del registro AX y antelo a continuacin:
AX=________
18) 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: __________

DS: __________

19) Presione nuevamente single step, para ejecutar la siguiente lnea de instruccin. Cul es el
nuevo valor de DS? _________
20) Ahora presione el botn step back Qu cambios observa? _____________________________
____________________________________________________________________________________
____________________________________________________________________________________
21) Presione nuevamente single step.
Cul lnea est resaltada? _____________________________________________________________
Qu diferencia hay entre esta lnea 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 accin que el programa le pide.
26) Avance un paso ms.
Se cerr el programa al ejecutar Presione_Tecla_Fin? ____________________________________
Cul lnea est resaltada? _____________________________________________________________
27) Avance un paso ms.
Qu registro cambi y cul es su nuevo valor?
___________________________________________________________________________________
28) Avance un paso ms.
Se ejecut esta instruccin como la anterior? ____________________________________________
29) Avance hasta terminar el programa.
30) En la ventana emulator ubique en la parte baja el botn vars que le permite visualizar las
variables declaradas, presione este botn.
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 visualizacin de las dos variables de hexadecimal a ASCII.

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES


LABORATORIOS DE MAQUINAS COMPUTADORAS I
6
Qu relacin hay entre las variables declaradas en el cdigo fuente y lo que observa en la
ventana de variables?
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
33) Para el caso de la variable frase cambie el nmero 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 cdigo fuente para que aparezca en la pantallas los siguientes textos:
Mi nombre es: .
Que tenga un buen da
36) Cuando este lista la modificacin muestre el resultado al docente de laboratorio. Con esto ltimo
se da por finalizado el procedimiento.

Anlisis 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 cules son las diferencias? y a qu se deben?
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________
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.
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________

DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES


LABORATORIOS DE MAQUINAS COMPUTADORAS I
7
4. Qu diferencia hay entre una instruccin, una Macro-instruccin y una Interrupcin?
____________________________________________________________________________________
____________________________________________________________________________________
____________________________________________________________________________________

Investigacin Complementaria
1) En la variable llamada frase qu funcin cumplen los datos 0Ah y 0Dh?
2) Cul es la relacin de estos datos y el cdigo ASCII?
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

Tutorial del Emu8086 (se lo proveer su docente terico).

8086 assembler tutorials que est incluido en el programa Emu8086.

También podría gustarte