Manual de debug
MANEJO DEL AMBIENTE DE DESARROLLO DEL LENGUAJE ENSAMBLADOR
INTRODUCCIÓN
Para la programación en lenguaje ensamblador se tiene un set de instrucciones sustentada en la arquitectura del procesador, para nuestro caso trabajaremos con las instrucciones de los microprocesadores Intel de la familia 80x86, para lo cuál se debeseleccionar una herramienta de trabajo para el ensamblador basado en el funcionamiento de los recursos internos del procesador. Pasos para ensamblar un programa a través de la herramienta DEBUG
Al abrir la herramienta DEBUG, se presenta un guión para introducir el comando que se desea ejecutar, comenzamos por revisar la ayuda que ofrece DEBUG (-?) descripción de los comandos y los argumentos que debensuministrársele para su uso.
Esta ayuda puede consultarse para emplear los comandos soportados por la herramienta DEBUG. La arquitectura del computador se refiere a los atributos de un sistema que son visibles para el programador, aquellos que tienen un impacto directo en la ejecución de un programa [Stalling, Organización y Arquitectura de Computadores], como es el caso del conjunto deinstrucciones, numero de bits usados para representar varios tipos de datos. La organización del computador
LABORATORIO DE MICROPROCESADORES PROF. CECILIA SANDOVAL RUIZ
se refiere a las unidades funcionales y sus interconexiones (detalles de hardware); En el caso del lenguaje ensamblador (lenguaje de bajo nivel) estos conceptos están presentes para el diseño del programa, la herramientaseleccionada para programar en ASSEMBLER será DEBUG el cual permite ensamblar instrucciones y depurar los programas ensamblados ya que el programador puede accesar a las direcciones donde se almacenan las instrucciones del programa; el contenido de los registros y el estado de las banderas del registro status; se puede visualizar la ejecución pasos a paso, y constatar el estado de los registros durante lacorrida de un programa, recordemos el significado de estos registros
AX Acumulador BX Registro base CX Registro contador DX Registro de datos DS Registro del segmento de datos ES Registro del segmento extra SS Registro del segmento de pila CS Registro del segmento de código BP Registro de apuntadores base SI Registro índice fuente DI Registro índice destino SP Registrodel apuntador de la pila IP Registro de apuntador de instrucción F Registro de banderas
REGISTRO DE STATUS
Desbordamiento
NV = no hay OV = sí lo hay Dirección
UP = hacia adelante; DN = hacia atrás; Interrupción
DI = desactivadas; EI = activadas Signo
PL = positivo; NG = negativo Cero
NZ = no es cero; ZR = si lo es Acarreo auxiliar
NA= no hay AC = si hay Paridad
PO = paridad non; PE = paridad par; Acarreo
NC = no hay acarreo; CY = si lo hay
EJEMPLO 1 Se desea realizar un programa que escriba un string en pantalla, espere un caracter introducido por teclado, y luego escriba otro string (cadena de caracteres) en la próxima línea, se le introduzca otro caracter, este programa podrá ser tomado como basepara
LABORATORIO DE MICROPROCESADORES PROF. CECILIA SANDOVAL RUIZ
cualquier aplicación que requiera parámetros definidos por el usuario a través del teclado, manteniendo el orden de introducción de datos. 1. Definir cadena de caracteres, para ello emplearemos el comando –E dir, el cual permite introducir información a partir de la dirección especificada E , ejemplo introduciremos un string enla dirección 200 -E 200 'GRUPO#$' Para confirmar que la cadena de caracteres se encuentra allí podemos utilizar el comando display –D definiendo el intervalo de direcciones que nos interesa visualizar -D 200 206 0C7C:0200 47 52 55 50 4F 23 24 GRUPO#$ Otra forma es introducir cada caracter hexadecimal byte por byte -E 210 0C7C:0210 58. (El debug se posiciona en la dirección especificada y nos...
Regístrate para leer el documento completo.