ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Manual Debug


Enviado por   •  28 de Julio de 2013  •  5.881 Palabras (24 Páginas)  •  520 Visitas

Página 1 de 24

Licenciatura en informática

Administrativa

Materia: compiladores

Trabajo: manual debug ms dos

Asesor(a): Lic. Marcela Hernández Juárez

Asesorado: Ray Samson Medina Franco

Noveno cuatrimestre

Julio del 2013

Índice

TEMA pagina

INTRODUCCIÓN 3

JUSTIFICACIÓN 3

OBJETIVOS 3

DESARROLLO 4

ASSEMBLE

DUMP

DIRECCION: EDIT 5

7

8

GO 10

HEX

LOAD

MOVE

NAME 11

12

15

15

STEP 15

QUIT 16

REGISTERS 16

TRACE

UNASSEMBLE

WRITE

AYUDA? 18

21

22

22

EJEMPLO COMPLETO 23

CONCLUCION 33

BIBLIOGRAFÍA 33

INTRODUCCIÓN

El "Debug" es una utilidad de MS-DOS que permite visualizar memoria, introducir programas en ella y rastrear su ejecución. Una característica de debug es que despliega todo el código del programa en formato hexadecimal.

Es importante saber que muchos usos de este tipo de utilidades de bajo nivel, requieren un funcionamiento stand-alone, es decir, fuera de un Sistema Operativo multi-usuario, ya que éstos encapsulan y ocultan muchos aspectos del hardware.

Debug es Útil para:

 Ensamblar pocas líneas de código

 Des-ensamblar código en RAM, ROM y ejecutables

 Correr paso-a-paso programas

 Desplegar datos en memoria

 Verificar estado de los registros del CPU

JUSTIFICACION

El uso de debug es con la finalidad de observar el comportamiento de los registros del CPU 80386.

Recordemos que los registros de esta arquitectura son un subconjunto elemental de aquellos presentes en modelos más modernos de la familia '86.

Usando DEBUG es posible observar el comportamiento de las instrucciones, la forma cómo éstas afectan a las banderas, los contenidos de la memoria, el código de las instrucciones; además permite ensamblar código elemental usando los mnemotécnicos del 8086.

OBJETIVO

Podernos desenvolver de una forma satisfactoria con debug dentro de nuestro ordenador y así poder ejecutar los comandos y las líneas de código para poder observar el comportamiento de la memoria en un lenguaje muy bajo.

MANUAL BREVE DE “DEBUG”

Se trata de una utilidad muy poco amigable, sin menús y -sólo en versiones recientes- con ayuda

Mínima, pero una vez aprendidos unos cuantos comandos es extremadamente potente. Hay quien

Lo considera como el mejor programa que ha hecho Microsoft.

Debug, invocado sin parámetros, se carga y pasa a mostrar un lacónico guión, a la espera de

Órdenes del usuario. Todas -a excepción de las relativas a operaciones con memoria expandida,

Que no se verán aquí- constan de una única letra seguida o no de parámetros. Si se va a

Desensamblar un programa, se le puede indicar a debug que lo cargue también tras cargarse él

Escribiendo:

Debug nombre-del-programa argumentos-del-programa

C:\>Debug [Enter]

En la siguiente línea aparecerá un guión, éste es el indicador del Debug, en este momento se

Pueden introducir las instrucciones del Debug. Utilizando los comandos:

A: ASSEMBLE

Sin parámetros ensambla las instrucciones que se introduzcan, guardándolas en la dirección

Siguiente ha la que se llegó en el último "a".

Cuando se utiliza este comando se le puede dar como parámetro la dirección donde se desea que

Se inicie el ensamblado, si se omite el parámetro el ensamblado se iniciará en la localización

Especificada por CS: IP, usualmente 0100H, que es la localización donde deben iniciar los

Programas con extensión .COM, y será la localización que utilizaremos debido a que debug solo

Puede crear este tipo específico de programas.

También se le puede decir qué zona se desea ver con a <dirección>pudiendo ser la dirección

Absoluta(a segmento: desplazamiento) o relativa al segmento de código actual (a

Desplazamiento).

Parámetros: <dir_comienzo>

Resultados: se pueden escribir instrucciones en ensamblador a partir de la dirección de memoria

CS:<dir_comienzo>, hasta que se pulse INTRO. Si no especificamos el parámetro

<dir_comienzo> se toma como dirección de inicio CS: IP

Ejemplo: Vamos a usar la instrucción MOV, que como veremos más adelante, sirve para copiar

Datos de la memoria a los registros y viceversa, además de copiar datos entre registros, que es

Justo lo que vamos a usar en el ejemplo.

-a

2048:0106 movax, bx

Arquitectura y Tecnología de los Computadores.

Departamento de Automática.

Universidad de Alcalá.

Laboratorio de Estructura de Computadores - 2-

2048:0108 movbx,cx

2048:010A

-u 106 108

2048:0106 89D8 MOV AX,BX

2048:0108 89CB MOV BX,CX

Como veremos más adelante, la instrucción 'U' sirve para hacer volcados de memoria, pero no

Viendo el contenido de la misma, sino interpretándola como instrucciones en lenguaje

Ensamblador.

; Ejemplo 2

-r cs

CS 2048

: 2050

-a 200

2050:0200 movax, bx

2050:0202

-u 200 200

2050:0200 89D8 MOV AX, BX

D: DUMP

Muestra el contenido de una zona de memoria en hexadecimal y en ASCII. Sin parámetros

Muestra los primeros 128 bytes a partir de la posición a la que se llegó en el último "d". Si se le

Da un rango, mostrará ese rango.

Parámetros: <dir_1>; Dirección de comienzo del volcado [<dir_2>];

...

Descargar como (para miembros actualizados) txt (41 Kb)
Leer 23 páginas más »
Disponible sólo en Clubensayos.com