Red de conocimiento informático - Conocimiento sistemático - Cómo usar DEBUG para depurar programas en ensamblador

Cómo usar DEBUG para depurar programas en ensamblador

Inicia Debug, un programa que se puede utilizar para probar y depurar archivos ejecutables de MS-DOS.

Depurar [[unidad:][ruta] nombre de archivo [parámetros]]

Parámetros

[unidad:][ruta] nombre de archivo

Especifique la ubicación y el nombre del archivo ejecutable a probar.

parámetros

Especifique cualquier información de línea de comando requerida por el archivo ejecutable que se va a probar.

Instrucciones

Utilice el comando Depurar sin especificar el archivo a probar

Si utiliza el comando Depurar sin una ubicación y nombre del archivo. Luego escriba todos los comandos de depuración en respuesta al mensaje de depuración, con un guión (-).

Comandos de depuración

La siguiente es una lista de comandos de depuración: Muestra una lista de comandos de depuración.

a Compile el código de memoria 8086/8087/8088.

c Compara dos partes de la memoria.

d Muestra el contenido de parte de la memoria.

e Introduzca datos en la memoria a partir de la dirección especificada.

f llena una sección de memoria con el valor especificado.

g Un archivo ejecutable que se ejecuta en la memoria.

h realiza aritmética hexadecimal.

i Muestra un valor de 1 byte de un puerto específico.

l Carga el contenido de un archivo o sector del disco en la memoria.

m Copia el contenido de un bloque de memoria

/n Especifica un archivo para el comando l o w, o especifica un argumento para el archivo que se está probando.

o Envía un valor de 1 byte al puerto de salida.

p Ejecutar un bucle, una instrucción de cadena repetida, una interrupción de software o una subrutina.

q Detener la sesión de depuración.

r Mostrar o cambiar uno o más registros.

s Busca en una porción de la memoria un patrón de uno o más valores de bytes.

t Ejecute una instrucción y luego muestre el contenido de todos los registros, el estado de todos los indicadores y la forma decodificada de la instrucción que se ejecutará a continuación.

u desensambla los bytes y muestra la declaración original correspondiente.

w Escribe el archivo probado en el disco.

xa asigna memoria extendida.

xd libera memoria extendida.

xm asigna páginas de memoria extendida.

xs muestra el estado de la memoria extendida.

Parámetros de comando separados

Todos los comandos de depuración aceptan parámetros, excepto el comando q. Los argumentos pueden estar separados por comas o espacios, pero estos delimitadores sólo son necesarios entre dos valores hexadecimales. Por tanto, los siguientes comandos son equivalentes:

dcs: 100 110

d cs: 100 110

d,cs: 100, 110

Especifique una entrada de dirección válida

El parámetro de dirección en el comando Debug especifica la ubicación de la memoria. La dirección es un nombre de dos dígitos que contiene un registro de segmento alfabético o una dirección de campo de cuatro dígitos más un desplazamiento. Los registros de segmento o las direcciones de segmento se pueden ignorar. El segmento predeterminado para los comandos a, g, l, t, u y w es CS. El segmento predeterminado para todos los demás comandos es DS. Todos los valores están en formato hexadecimal.

Las direcciones válidas son las siguientes:

CS: 0100

04BA: 0100

Debe haber dos puntos entre el nombre del segmento y el desplazamiento.

Especificar elementos de rango válidos

El parámetro de rango en el comando Depurar especifica el rango de memoria. Puede elegir entre dos formatos de rango: dirección inicial y dirección final, o dirección inicial y rango de longitud (representado por l).

Por ejemplo, las dos sintaxis siguientes especifican un rango de 16 bytes que comienza en CS: 100:

cs: 100 10f

cs: 100 l 10

Subcomando Depurar

Seleccione el comando Depurar para obtener información detallada.

Depurar: A (Ensamblaje)

Depurar: C (Comparar)

Depurar (Volcar)

Depurar: E (Tipo)

Depurar: F (relleno)

Depurar: G (dirección)

Depurar: H (hexadecimal)

Depurar: I ( entrada)

Depurar: L (cargar)

Depurar: M (mover)

Depurar: N (nombre)

Depurar: O (salida)

Depuración: P (ejecución)

Depuración: Q (salida)

Depuración: r (registro)

Depurar: s (búsqueda)

Depurar: T (rastreo)

Depurar: U (desmontaje)

Depurar: W (escribir)

Depurar: XA (asignar memoria extendida)

Depurar: XD (desasignar memoria extendida)

Depurar: p>

Depurar: XS (mostrar estado de la memoria extendida)