EL EMU8086 Y EL MICROPROCESADOR 8086.



Documentos relacionados
INSTRUCCIONES ARITMÉTICAS.

USO DE INSTRUMENTOS DE LABORATORIO

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

INSTRUCCIONES LÓGICAS Y EL REGISTRO DE BANDERAS.

Introducción al EMU8086

Tema: Administración y respaldo de información.

Tema: Configuración de Access Point

6-REGISTROS DEL 8086 Y DEL 80286

Tema: Introducción a packet tracer

Tema: Analizador de tráfico

Tema: Analizador de tráfico

Tema: Instrumentación Virtual II

OSCILADOR DE RELAJACIÓN

Mod. I, Unid. 1, Obj. 1 CRITERIO DE DOMINIO 1/1

Tema: Configuración de red AD-HOC

INTRODUCCIÓN AL EMU8086.

Transferir datos por medio del puerto paralelo utilizando un lenguaje de bajo nivel. (Lenguaje ensamblador auxiliándose del macroensamblador MASM)

Práctica de laboratorio : Cómo establecer una sesión de consola con HyperTerminal

Introducción al NASM. Convenciones de colores

Tema: Instalación de Linux.

BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN

Utilizar el CX-Supervisor para comunicarse con un PLC OMRON mediante un servidor OPC.

Sensor de Imagen ivu Series TG

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Tema: Central telefónica (central office)

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Matemática de redes Representación binaria de datos Bits y bytes

Manual del Módulo Externo Impresión de Códigos de Barra para Impresoras SATO

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Ante todo es necesario crear una cuenta. Para crearla siga las siguientes indicaciones:

Guía de Instalación Proscai

forma de entrenar a la nuerona en su aprendizaje.

Cómo utilizar P-touch Transfer Manager

CONFIGURACIÓN PARA CORREO ELECTRÓNICO SEGURO CON MOZILLA

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Manual para el uso del Correo Electrónico Institucional Via Webmail

PARTE I. Subneteo con mascara de subred fija (igual cantidad de host por subred).

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Manual de uso: Map Source

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Práctica 8 - DMA y Almacenamiento Masivo

Tema: Cableado estructurado

I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

Actividad 4: Comunicación entre PLC s vía Ethernet

Tema: Desfibrilador. Tenga orden y aseo para trabajar. Todas las piezas y componentes que se quiten se deben de ir guardando en forma ordenada

GUIA DE LABORATORIO # Nombre de la Practica: Antivirus Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos

Tema: Introducción al Router

Tema: Legacy Generic Traffic Shaping y Legacy Commited Access Rate

ELECTRONIC ENGINEERING LTD. CS47 GSM REV. A SOFTWARE VERSION 1 12/07/04

DEBUG Y USO DE CADENAS.

Tema: INTRODUCCIÓN AL HARDWARE Y CONFIGURACIÓN DE UNA PC.

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Tema: Introducción al Router

Universidad Católica del Táchira Vicerrectorado Académico Coordinación de Educación Virtual. Guia Rapida para Estudiantes

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52

AMPLIFICADOR PUSH PULL BJT.

Manual del Profesor Campus Virtual UNIVO

GUÍA PARA LA CONEXIÓN DE DOS ROUTER POR CONSOLA REDES II

Inducción al Laboratorio de Informática

UNIDADES DE ALMACENAMIENTO DE DATOS

Cómo usar P-touch Transfer Manager

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI)

Introducción a la Firma Electrónica en MIDAS

Práctica de laboratorio Conexión y configuración de hosts

Instructivo Interno UNIVERSIDAD. Popular del cesar

Laboratorio práctico 5.5.3: Desarrollo de las ACL para implementar conjuntos de reglas de firewall

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Comisión Nacional de Bancos y Seguros

DOCUMENTOS COMPARTIDOS CON GOOGLE DOCS

Internet Information Server

Manual para el profesor

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN PROYECTO DE CÁTEDRA. MATERIA: Introducción a la Programación

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

CONFEDERACIÓN DE EMPRESARIOS DE MÁLAGA

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes:

Características. Especificaciones técnicas

Manual de Usuario del Sistema de Declaración de Emisiones de Fuentes Fijas Versión en desarrollo

Arquitectura intel Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

MANUAL BASICO DE LA NUBE (OWNCLOUD)

Aporta. Manual de uso para administradores de contenido Este manual le enseñará rápidamente a usar las distintas herramientas de su sitio web

GUÍA 10 Tema: Animación.

GUÍA PASO A PASO. Manejo Avanzado de . Pasos a Seguir

Calculadora virtual HP Prime

Entorno de Ejecución del Procesador Intel Pentium

La arquitectura del 8086/8088

MÓDULO III PROGRAMACIÓN DEL MICROPROCESADOR

Modulo 1 El lenguaje Java

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS

Usar Epoptes en Huayra

Microsoft Access proporciona dos métodos para crear una Base de datos.

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki

Introducción a los sitios de SharePoint en Office 365

Certificado Cumplimiento de Obligaciones en línea.

Aplicación práctica de la visión artificial en el control de procesos industriales

Universidad Evangélica de El Salvador Facultad de Ingeniería Protocolo de Comunicación de Red Ing. Oscar H. Díaz Jurado


Práctica 2. Registros y posiciones de memoria

Manual de Usuario Comprador Módulo de Compras

CAPITULO 6 GUIA DE USUARIO

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Transcripción:

1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Lugar de ejecución: Microprocesadores (Edificio 3, 2da planta). EL EMU8086 Y EL MICROPROCESADOR 8086. Objetivos específicos Ubicar en la memoria los diferentes segmentos que conforman un archivo EXE. Identificar los registros del modelo de programación del 8086. Observar la relación que existe entre los lenguajes de ensamblador y máquina. Emplear las instrucciones MOV y OUT. Materiales y equipo 1 Computadora con el programa EMU8086. 1 Módulo IDL-800 Digital Lab o fuente de +5V con tarjeta con switches y leds. 1 Breadboard. 1 cable para puerto paralelo con identificación de pines. 1 Pinza y cortadora de alambre. Alambre de telefonía. Procedimiento 1) Ejecute el emulador 8086. 2) Digite el primer programa y guarde el archivo asignándole como nombre su número de carnet. 3) Compile el archivo. 4) Use el botón emulate para cargar el archivo ejecutable, pero no lo ejecute. 5) Observe la ventana original source code Anote la línea de instrucción que está resaltada en amarillo

2 Microprocesadores. Guía 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 DL, BYTE4 mov BYTE5, AH ;Mueve los datos desde el micro hasta mov BYTE6, BL ; la memoria mov BYTE7, CH mov BYTE8, DL FIN: end mov ax, 4c00h int 21h ;fin del programa

3 En la ventana emulator se presenta la información que se muestra en la Figura 1. Figura 1. Ventana emulator 6) En la ventana original source code resalte (haga clic en) en el primero de los datos declarados BYTE1. 7) Observe la ventana emulator y compare con la información de la Tabla 1. 8) Resalte cada uno de los datos declarados en el código fuente y complete la información de la Tabla 1. Determine la dirección de inicio y final del segmento de datos, tanto en formato absoluto como en segmento:desplazamiento: SEGMENTO DE DATOS TIPO DE DATO DIRECCION CÓDIGO DEL DATO SEGMENT:DESPLAZ ABSOLUTA EN HEXADECIMAL 0720:0000 07200 7Ah BYTE Tabla 1. Segmento de datos.

4 Microprocesadores. Guía 2 9) Resalte la primera línea de instrucción del segmento de código. 10) Relacione la información de la Tabla 2 y la ventana emulator. 11) Resalte cada una de las líneas de instrucción del segmento de código y complete la información que hace falta en la Tabla 2. Determine la dirección de inicio y final del segmento de código, tanto en formato absoluto como en segmento:desplazamiento: 12) Para ubicar el segmento de PILA escribir en la dirección SEGMENTO:DESPLAZAMIENTO el dato 0710:0100. 13) Suba unas cuantas direcciones y observará que contienen los datos (código hexadecimal) 54h. Anote en la Tabla 3 la dirección del primero y del último dato que contenga 54h. Estos demarcan el segmento de PILA o STACK. 14) Presione el botón reload. 15) Anote en la Tabla 4 el contenido de los registros del microprocesador. 16) Ejecute la primera línea de instrucción verificando que los datos son transferidos al microprocesador.

5 SEGMENTO DE CÓDIGO DIRECCIONES DE MEMORIA SEGM:DESP ABSOLUTA Instrucciones en lenguaje máquina. Códigos Hexadecimal almacenados en memoria 0721:0000 07210 B8 0721:0001 07211 20 0721:0002 07212 07 0721:0005 07215 8A 0721:0006 07216 26 0721:0007 07217 00 0721:0008 07218 00 0721:0009 07219 8A 0721:000A 0721A 1E 0721:000B 0721B 01 0721:000C 0721C 00 Instrucciones desensambladas MOV AX,00720h MOV DS,AX MOV BL,[00001h] Instrucciones en lenguaje ensamblador mov AX,@data mov DS,AX mov BL, BYTE2 07221 8A 07222 16 07223 03 07224 00 0721:0015 07225 88 0721:0016 07226 26 0721:0017 07227 04 0721:0018 07228 00 0721:0019 07229 88 0721:001A 0722A 1E 0721:001B 0722B 05 0721:001C 0722C 00 MOV [00004h],AH mov BYTE5, AH mov BYTE6, BL MOV [00006h],CH mov BYTE7, CH MOV [00007h],DL 0721:0025 07235 B8 0721:0026 07236 00 0721:0027 07237 4C MOV AX,4C00h INT 021h mov ax, 4c00h Tabla 2. Segmento de código.

6 Microprocesadores. Guía 2 PILA O STACK PRIMER DATO ULTIMO DATO DIRECCION SEGMENT:DESPLAZ ABSOLUTA Tabla 3. Segmento de PILA. AX: BX: CX: DX: CS: IP: SS: SP: BP: SI: DI: DS: Tabla 4. Contenido de los registros al inicio del código. 17) Ejecute la siguiente línea de instrucción corroborando la transferencia de datos. 18) Copie nuevamente el contenido de los registros en la Tabla 5. AX: BX: CX: DX: CS: IP: SS: SP: BP: SI: DI: DS: Tabla 5. Contenido de los registros durante la ejecución del programa. 19) Abra la ventana variables y verifique que todas las variables declaradas son visibles. 20) Continúe 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 botón aux y ahí selecciones la opción memory. Debe observar una imagen similar a la de la Figura 2. 25) En el espacio de la 1ª dirección 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. 27) Digite el segundo programa Figura 2. Ventana de memoria Random Access Memory 28) Emule el programa, pero no lo ejecute.

7 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 ;Mueve en AX la direccion donde esta el ;Mueve el contenido de AX a DS ;Indica a que puerto se enviaran los datos mov AL, BYTE1 ;carga en AL el dato BYTE1 out DX, AL ;envia el dato en AL al puerto 110 mov AL, BYTE2 ;carga en AL el dato BYTE2 out DX, AL ;envia el dato en AL al puerto 110 mov AL, BYTE3 ;carga en AL el dato BYTE3 out DX, AL ;envia el dato en AL al puerto 110 mov AL, BYTE4 ;carga en AL el dato BYTE4 out DX, AL ;envia el dato en AL al puerto 110 FIN: mov ax, 4c00h ;fin del programa int 21h end 29) En la ventana emulator ubique virtual devices y seleccione la opción simple.exe. Debe observar una ventana como la que se muestra en la Figura 3. La dirección de este puerto es 110 (decimal) y es de 8 bits.

8 Microprocesadores. Guía 2 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 módulo 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 módulo o de la tarjeta. 34) Encienda el módulo Observa algún código binario? Cuál? 35) Compile el programa nuevamente, pero en la ventana assembler status presione el botón external y seleccione la opción debug.exe. Debe observar en una ventana la consola de DOS y el Prompt parpadeando. 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.

9 Análisis de Resultados 1. Cuando completó la Tabla 1 el primer dato declarado era 7Ah y al revisar la memoria encontró también 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 instrucción 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 instrucción son los siguientes: B8, 20 y 07. cómo se relacionan estos códigos y la línea de instrucción desensamblada MOV AX, 00720 4. Al comparar la tercera línea de instrucción MOV AH, BYTE1 con la respectiva línea desensamblada, se sustituye la palabra BYTE1 por un dato entre corchetes Qué significa este dato? 5. En la Tabla 2 la primera línea de la columna SEGMENTO:DESPLAZAMIENTO contiene 0721:0000 Cómo se relaciona esta información con el contenido de CS:IP en la Tabla 4? 6. En la Tabla 1 la primera línea de la columna SEGMENTO:DESPLAZAMIENTO contiene 0720:0000 Cómo se relaciona esta información con el contenido de DS:DX en la Tabla 4? 7. Cómo se relaciona la información 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? 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 dirección 00000h (0000:0000h) hasta la 0FFFFFh (FFFF:FFFFh) y en el mapa ubique cada uno de los segmentos del primer programa. Investigación Complementaria 1) Esta actividad debe desarrollarse posteriormente a la ejecución de la guía de laboratorio y tiene por objetivo complementar y ampliar la temática desarrollada teniendo en mente las actividades futuras.

10 Microprocesadores. Guía 2 2) Investigue: Qué son los modos de direccionamiento? Cuántos y cuáles modos de direccionamiento tiene el microprocesador 8086? Qué modos de direccionamiento poseen las instrucciones MOV y OUT? Bibliografía Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486. Arquitectura, programación e interfaces, 3 edición Prentice Hall, México DF, 1997 Biblioteca UDB 001.6404 B847 1997

11 Hoja de cotejo: 2 Guía 2: EL EMU8086 Y EL MICROPROCESADOR 8086. Alumno: Puesto No: Docente: GL: Fecha: EVALUACION % 1-4 5-7 8-10 Nota CONOCIMIENTO 35 Conocimiento deficiente de los siguientes fundamentos teóricos: APLICACIÓN DEL CONOCIMIENTO -Función de las instrucciones MOV y OUT. -Segmentos de los que consta un archivo.exe -Registros del microprocesador 8086. 60 Cumple sólo con uno o ninguno de los siguientes criterios: -Utiliza correctamente las instrucciones MOV y OUT. -Relaciona el ensamblador con el lenguaje máquina. -Ubica datos en los segmentos de memoria. Conocimiento y explicación incompleta de los fundamentos teóricos. Cumple sólo con dos de los criterios. ACTITUD 2.5 -Es un observador pasivo. -Participa ocasionalmente pero sin coordinarse con su compañero. Conocimiento completo y explicación clara de los fundamentos teóricos. Cumple con los tres criterios. -Participa de forma propositiva e integral en toda la práctica. TOTAL 100 2.5 -Es ordenado pero no hace uso adecuado de los recursos. -Hace uso adecuado de los recursos de manera segura, pero es desordenado. -Hace un manejo responsable y adecuado de los recursos de acuerdo a pautas de seguridad e higiene.