Arquitectura de Computadoras II Práctica 1 INSTITUTO TECNOLOGICO DE SAN LUIS POTOSI Departamento de Eléctrica-Electrónica Profesor: Carlos E. Canto Quintal M.I. Arquitectura de computadoras II PRÁCTICA 1: NOMBRE DEL EXPERIMENTO: EXPLORANDO LA ARQUITECTURA DE PROGRAMACIÓN DEL MICROPROCESADOR 8086 OBJETIVO: Aprender como: 1. Usar el DEBUG 2. Examinar y modificar los contenidos de los registros internos del 8088 3. examinar y modificar los contenidos de los segmentos de memoria de código, datos y de stack del 8086. 4. calcular la dirección física de localidades de almacenamiento del espacio de direcciones de memoria. 5. examinar los contenidos de las partes dedicadas del espacio de las direcciones de memoria del 8086. DESARROLLO DEL EXPERIMENTO: I.- CARGADO DEL PROGRAMA DEBUG. Aprenderemos como entrar y salir del programa DEBUG desde el teclado de la PC. 1.-Entre a la opción MS-DOS y desde ahí cargue el debug usando: C> debug [enter] ¿ Qué “prompt” se ve en la pantalla? Respuesta:______________________ 2.- regrese al sistema operativo tecleando el comando -Q [enter] ¿Qué se despliega en la pantalla ahora? Respuesta:____________________ II.- EXAMINAR Y MODIFICAR LOS CONTENIDOS DE LOS REGISTROS INTERNOS DEL 8086. Usando el comando REGISTER (R) , primero, vamos a examinar los contenidos iniciales de los registros internos del 8086 y después modificar los valores de los mismos incluyendo al registro de banderas de estado (PSW). 1.-Use el comando REGISTER para desplegar los contenidos actuales de los registros internos del CPU. Liste los valores iniciales de CS, DS, SS y ES 1 Carlos E. Canto Quintal M.I. Arquitectura de Computadoras II Práctica 1 CS:_______, DS:________,SS:________, ES:_______ ¿ Qué significado tienen estos valores iniciales? R:____________________________________________________ Calcule la dirección física de la siguiente instrucción a ser ejecutada Dirección física:______________ 2.- teclee el comando -R AH [enter] ¿Qué sucede? Respuesta:_________________________________________________ 3.- Use el comando R para primero desplegar el contenido de CX y después cambie su valor a 10H 4.- Use el comando R para primero desplegar el contenido de IP y después cambie su valor a 0200H 5.-Use el comando R para primero desplegar el contenido actual del registro de banderas y después cambie el estado de la bandera de paridad para representar paridad PAR. 6.- de nuevo despliegue el contenido de los registros internos y compárelos con los contenidos que se obtuvieron inicialmente en el paso 1. Haga una lista de los registros cuyos contenidos han cambiado Respuesta:____________________________________________________ III.-EXAMINADO Y MODIFICANDO EL CONTENIDO DE LA MEMORIA Ahora exploraremos el subsistema de la PC y operación de los comandos DUMP, ENTER, FILL, COMPARE y SEARCH 1.-use el comando DUMP para desplegar los primeros 256 bytes del segmento de datos en curso. 2.-despliegue los siguientes 128 bytes del segmento de código 3.-use el comando DUMP para mostrar la 6 últimas palabras cargadas al stack. 4.- con el comando ENTER, cargue los primeros 16 bytes del segmento de datos en curso con el valor FFh. Verifique que los contenidos hayan cambiado. 5.-use el comando FILL para cargar las 16 localidades de memoria a partir de DS:10 con el valor 55h y las 16 localidades a partir de DS:30H con 00H. 6.-con el comando MOVE, copie el contenido de las 16 localidades a partir de DS:00 a las 16 localidades a partir de DS:20H. 7.-Usando el comando DUMP, despliegue los contenidos de los primeros 128 bytes del segmento de datos en curso. 8.- Use el comando COMPARE para comparar el contenido de las 16 localidades a partir de DS:00 con las que están localizadas a partir de DS:20h. 9.-Ejecute el comando SEARCH para determinar que localidades entre DS:00 y DS:FFh contiene el valor FFh. 10.-Imprima y reporte todo lo registrado en esta sección. IV.-EXPLORANDO PARTE DEL EPACIO DE MEMORIA. 2 Carlos E. Canto Quintal M.I. Arquitectura de Computadoras II Práctica 1 La figura de abajo identifica ciertas partes del espacio de memoria del 8086 que tienen funciones dedicadas. Aquí determinaremos el contenido de estas regiones dedicadas. FFFFF FFFF FFFF0 003FF 00000 Reservado Dedicado Reservado para productos futuros RESET Abierto Reservado Dedicado Reservado para almacenar los apuntadores de las rutinas de servicio de las Interrupciones (tabla de vectores de Interrupción) 1.- cambie el contenido del registro DS a 0000H. 2.- Despliegue los vectores de interrupción almacenados en las direcciones 0000h a 0015H de la tabla de VECTORES DE INTERRUPCIÓN 3.- Despliegue el contenido de los 8 bytes a partir de la dirección F000:FFF5 . ¿Qué observó? R:_________________________________ esta es la fecha de emisión de la ROM BIOS de su PC Consulte el tutorial del DEBUG para la realización de esta práctica en la página: http://thestarman.dan123.com/asm/debug/debug2.htm 3 Carlos E. Canto Quintal M.I.