Está en la página 1de 10

Microprocesadores.

Gua 2

Facultad: Ingeniera. Escuela: Electrnica. Asignatura: Microprocesadores. Lugar de ejecucin: Microprocesadores (Edificio 3, 2da planta).

EL EMU8086 Y EL MICROPROCESADOR 8086 .


Objetivos especficos
Ubicar en la memoria los diferentes segmentos que conforman un archivo EXE. Identificar los registros del modelo de programacin del 8086. Observar la relacin que existe entre los lenguajes de ensamblador y mquina. Emplear las instrucciones MOV y OUT.

Materiales y equipo
1 Computadora con el programa EMU8086. 1 Mdulo IDL-800 Digital Lab o fuente de +5V con tarjeta con switches y leds. 1 Breadboard. 1 cable para puerto paralelo con identificacin de pines. 1 Pinza y cortadora de alambre. Alambre de telefona.

Procedimiento
1) Ejecute el emulador 8086. 2) Digite el primer programa y guarde el archivo asignndole como nombre su nmero de carnet. 3) Compile el archivo. 4) Use el botn emulate para cargar el archivo ejecutable, pero no lo ejecute. 5) Observe la ventana original source code Cul lnea de instruccin est resaltada en amarillo? _____________________

Microprocesadores. Gua 2

PRIMER PROGRAMA .model small .stack .data BYTE1 DB 7Ah ;Declara byte (8 bits) en hexadecimal BYTE2 DB 99 ;Declara byte en decimal BYTE3 DB 11001111b ;Declara byte en binario BYTE4 DB 'A' ;Declara byte en formato ASCII BYTE5 DB ? BYTE6 DB ? BYTE7 DB ? BYTE8 DB ? .code mov AX,@data ;Mueve en AX la direccion donde ;esta el segmento de datos mov DS,AX ;Mueve el contenido de AX a DS mov AH, BYTE1 ;Mueve los datos desde la memoria mov BL, BYTE2 ;hacia el microprocesador mov CH, BYTE3 mov BYTE5, AH ;Mueve los datos desde el micro hasta mov BYTE6, BL ; la memoria mov BYTE7, CH mov BYTE8, DL FIN: mov ax, 4c00h int 21h end ;fin del programa

6) En la ventana original source code resalte (haga clic en) en el primero de los datos declarados BYTE1. 7) Relacione la informacin de la tabla 1 y la ventana emulator. 8) Resalte cada uno de los datos declarados en el cdigo fuente y complete la informacin de la tabla 1. Determine la direccin de inicio y final del segmento de datos, tanto en formato absoluto como en segmento:desplazamiento: __________________________________________________________ ____________________________________________________________________________________

Microprocesadores. Gua 2

SEGMENTO DE DATOS DIRECCION TIPO DE DATO SEGMENT:DESPLAZ 0720:0000 ABSOLUTA 07200

DATO EN MEMORIA CODIGO BINARIO 7Ah

BYTE

Tabla 1. Segmento de datos. 9) Resalte la primera lnea de instruccin del segmento de cdigo. 10) Relacione la informacin de la tabla 2 y la ventana emulator. 11) Resalte cada una de las lneas de instruccin del segmento de cdigo y complete la informacin de la tabla 2. Determine la direccin de inicio y final del segmento de cdigo, tanto en formato absoluto como en segmento:desplazamiento: __________________________________________________________ ____________________________________________________________________________________ 12) Para ubicar el segmento de PILA escribir en la direccin SEGMENTO:DESPLAZAMIENTO el dato 0710:0100. 13) Suba unas cuantas direcciones y observar que contienen los datos (cdigo binario) 54h. Anote en la tabla 3 la direccin del primero y del ltimo dato que contenga 54h. Estos demarcan el segmento de PILA o STACK. 14) Presione el botn reload. 15) Anote en la tabla 4 el contenido de los registros del microprocesador. 16) Ejecute la primera lnea de instruccin verificando que los datos son transferidos al microprocesador.

Microprocesadores. Gua 2

Tabla 2. Segmento de cdigo.

Microprocesadores. Gua 2

PILA O STACK PRIMER DATO ULTIMO DATO

DIRECCION SEGMENT:DESPLAZ ABSOLUTA

Tabla 3. Segmento de PILA. CS: IP: DX: BX: SI: CX: DI: Tabla 4. Contenido de los registros al inicio del cdigo. SS: SP: BP: DS: ES:

AX:

BX:

17) Ejecute la siguiente lnea de instruccin corroborando la transferencia de datos. 18) Copie nuevamente el contenido de los registros en la tabla 5. CS: DX: BX: SI: BX: CX: DI: Tabla 5. Contenido de los registros durante la ejecucin del programa. 19) Abra la ventana variables y verifique que todas las variables declaradas son visibles. 20) Contine ejecutando paso a paso hasta que los primeros cuatro datos hayan sido transferidos a sus respectivos registros dentro del microprocesador. 21) Ejecute las siguientes cuatro instrucciones verificando los cambios en las variables declaradas. 22) Cierre la ventana variables 23) Recargue el programa. 24) En la ventana emulator presione el botn aux y ah selecciones la opcin memory. Debe observar una imagen similar a la de la figura 2. 25) En el espacio de la 1 direccin escriba el valor 0720:0000 para observar el segmento de datos. 26) Ejecute nuevamente el programa paso a paso y verifique como los datos se van moviendo. IP: SS: SP: BP: DS: ES:

AX:

Microprocesadores. Gua 2

Figura 2. Ventana de memoria Random Access Memory 27) Digite el segundo programa 28) Emule el programa, pero no lo ejecute. SEGUNDO PROGRAMA .model small .stack .data BYTE1 DB 0FFh BYTE2 DB 0AAh BYTE3 DB 18h BYTE4 DB 96h .code mov AX,@data mov DS,AX mov DX, 110 mov AL, BYTE1 out DX, AL ;Mueve en AX la direccion donde esta el ;Mueve el contenido de AX a DS ;Indica a que puerto se enviaran los datos ;carga en AL el dato BYTE1

;envia el dato en AL al puerto 110 ;carga en AL el dato BYTE2

mov AL, BYTE2 out DX, AL

;envia el dato en AL al puerto 110

Microprocesadores. Gua 2

mov AL, BYTE3 out DX, AL

;carga en AL el dato BYTE3

;envia el dato en AL al puerto 110 ;carga en AL el dato BYTE4

mov AL, BYTE4 out DX, AL FIN: mov ax, 4c00h int 21h end

;envia el dato en AL al puerto 110 ;fin del programa

29) En la ventana emulator ubique virtual devices y seleccione la opcin simple.exe. Debe observar una ventana como la que se muestra en la figura 3. La direccin de este puerto es 110 (decimal) y es de 8 bits.

Figura 3. Dispositivo virtual simple io test. 30) Ejecute paso a paso el programa, verificando que todos los datos son enviados al puerto 110. 31) nase con otra persona para realizar los siguientes pasos. 32) Edite el programa para que el dato que se almacena en DX sea 0378h en lugar de 110. 33) Utilizando el cable correcto conecte el puerto paralelo de la computadora a los LEDS ya sea del mdulo IDL-800 Digital Lab o de la tarjeta con switches y leds, de forma que el MSB (etiquetado D7) se conecte con el primer LED a la izquierda y el cable GND con el GND del mdulo o de la tarjeta. 34) Encienda el mdulo Observa algn cdigo binario? Cul? ________________ 35) Compile el programa nuevamente, pero en la ventana assembler status presione el botn external y seleccione la opcin debug.exe. Debe observar en una ventana la consola de DOS y el Prompt parpadeando.

Microprocesadores. Gua 2

36) Digite R y presione ENTER. 37) Compare los datos que observa con los que tom en la tabla 4. NOTA: Para ejecutar el programa paso a paso digite P. 38) Ejecute las primeras dos instrucciones y compare el resultado con la tabla 5. 39) Ejecute los siguientes pasos hasta enviar el primer dato. Corresponde el dato que observa en los LEDS con el dato enviado? _________ 40) Ejecute el resto de programa verificando que los datos son enviados correctamente. 41) Pida a su docente de laboratorio que verifique que el programa se ejecuta correctamente. 42) Cierre las ventanas, apague la PC y deje ordenado su puesto de trabajo.

Anlisis de Resultados
1. Cuando complet la tabla 1 el primer dato declarado era 7Ah y al revisar la memoria encontr tambin 7Ah, pero el segundo dato declarado era 99 y en la memoria no encontr el mismo dato Por qu ocurre eso? 2. En la tabla 2 la primera instruccin en lenguaje ensamblador es MOV AX, @DATA pero en las instrucciones desensambladas se representa como MOV AX, 00720 Por qu ocurre eso? 3. En la tabla 2 los datos almacenados en memoria para la primera instruccin son los siguientes: B8, 20 y 07. cmo se relacionan estos cdigos y la lnea de instruccin desensamblada MOV AX, 00720 4. Al comparar la tercera lnea de instruccin MOV AH, BYTE1 con la respectiva lnea desensamblada, se sustituye la palabra BYTE1 por un dato entre corchetes Qu significa este dato? 5. En la tabla 2 la primera lnea de la columna SEGMENTO:DESPLAZAMIENTO contiene 0721:0000 Cmo se relaciona esta informacin con el contenido de CS:IP en la tabla 4? 6. En la tabla 1 la primera lnea de la columna SEGMENTO:DESPLAZAMIENTO contiene 0720:0000 Cmo se relaciona esta informacin con el contenido de DS:DX en la tabla 4? 7. Cmo se relaciona la informacin en la tabla 3 con el contenido de SS:SP en la tabla 4. 8. En el segundo programa por qu necesit cargar el dato 110 en el registro DX para enviar datos al puerto?

Microprocesadores. Gua 2

9. Cuando modific el segundo programa por qu fue necesario cambiar el dato en DX de 110 a 0378h? 10. Dibuje un mapa de memoria del micro 8086 tanto en forma absoluta como en SEGMENTO:DESPLAZAMIENTO. Inicie el mapa en la direccin 00000h (0000:0000h) hasta la 0FFFFFh (FFFF:FFFFh) y en el mapa ubique cada uno de los segmentos del primer programa.

Investigacin Complementaria
1) Esta actividad debe desarrollarse posteriormente a la ejecucin de la gua de laboratorio y tiene por objetivo complementar y ampliar la temtica desarrollada teniendo en mente las actividades futuras. 2) Investigue: Qu son los modos de direccionamiento? Cuntos y cules modos de direccionamiento tiene el microprocesador 8086? Qu modos de direccionamiento poseen las instrucciones MOV y OUT?

Bibliografa
Brey, B. B.

Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.

Arquitectura, programacin e interfaces, 3 edicin Prentice Hall, Mxico DF, 1997 Biblioteca
UDB 001.6404 B847 1997

10

Microprocesadores. Gua 2 Hoja de cotejo:

Gua 2: EL EMU8086 Y EL MICROPROCESADOR 8086.


Alumno: Docente: Puesto No: GL: Fecha:

EVALUACION %
CONOCIMIENTO

1-4 Conocimiento deficiente de los siguientes fundamentos tericos: -Funcin de las instrucciones
MOV y OUT.

5-7 Conocimiento y explicacin incompleta de los fundamentos tericos.

8-10 Conocimiento completo y explicacin clara de los fundamentos tericos.

Nota

35

-Segmentos de los que consta un archivo .EXE -Registros del microprocesador 8086.
APLICACIN DEL CONOCIMIENTO

60

Cumple slo con uno de los siguientes criterios: -Utiliza correctamente las instrucciones MOV y OUT. -Relaciona el ensamblador con el lenguaje mquina. -Ubica datos en los segmentos de memoria.

Cumple slo con dos de los criterios.

Cumple con los tres criterios.

ACTITUD

2.5

-Es un observador pasivo.

-Participa ocasionalmente pero sin coordinarse con su compaero. -Hace uso adecuado de los recursos de manera segura, pero es desordenado.

-Participa de forma propositiva e integral en toda la prctica.

2.5

-Es ordenado pero no hace uso adecuado de los recursos.

-Hace un manejo responsable y adecuado de los recursos de acuerdo a pautas de seguridad e higiene.

TOTAL

100

También podría gustarte