Debug

Solo disponible en BuenasTareas
  • Páginas : 5 (1029 palabras )
  • Descarga(s) : 47
  • Publicado : 27 de abril de 2010
Leer documento completo
Vista previa del texto
USO DE DEBUG Con el sistema operativo DOS (MS-DOS = Microsoft Disk Operating System) se incluye un programa para observar el comportamiento de los registros del CPU 80386. Recuérdese 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 formacó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.

Todos los comandos de DEBUG se invocan usando una sola letra y son los siguientes: 01) A 02) C 03) D 04) E 05) F 06) G 07) H 08) I 09) L 10) M 11) N 12) O 13) Q 14) 15) S 16) T 17) U 18) W (assemble) (compare) (dump) (enter)(fill) (go) (aritmética hexadecimal) (input) (load) (move) (name) (output) (quit) R (register) (search) (trace) (unassemble) (write)

En particular, obsérvese lo siguiente: a) DEBUG opera bajo DOS. b) Cuando se invoca (como en el ejemplo) sin argumentos, el contenido de la memoria es arbitrario. En las siguientes secciones de hace un breve resumen de los comandos de DEBUG. El lector interesadoen detalles puede consultar, por ejemplo, "USING ASSEMBLY LANGUAGE" de Allen L. Wyatt, QUE Corporation, 1987.

2.1.1. ASSEMBLE (A) El comando A se usa para introducir mnemotécnicos de ensamblador y que éstos se traduzcan directamente a lenguaje de máquina en memoria. La sintaxis es A Prácticamente cualquier mnemotécnico es soportado por DEBUG, incluyendo los especificadores de "override" desegmento (CS:, DS:, ES:, SS:). Una excepción es que DEBUG no puede diferenciar entre NEAR y FAR returns; asume que RET es "near" y RETF es "far".

2.1.2. COMPARE (C) Este comando compara y reporta diferencias entre los contenidos de dos bloques de memoria. La sintaxis es: C es la dirección de inicio y fin de un bloque o, si se preceden con "L", la dirección de inicio y la longitud del bloque;es el inicio de otro bloque. Se presupone que la longitud de ambos bloques es la misma. 2.1.3. DUMP (D) Este comando despliega el contenido de una serie de localidades de memoriaLa sintaxis es: D Ambas direcciones son opcionales. La 1a es la dirección de inicio de despliegue; la 2a es la dirección de fin. 2.1.4. ENTER (E) Este comando permite cambiar los contenidos de localidades específicas dememoria. La sintaxis es: E es el inicio de los cambios y es una lista opcional de los cambios deseados. Los cambios pueden ser especificados en la línea de comandos en cualquier combinación de números hexadecimales o caracteres ASCII; los caracteres ASCII deben estar entre comillas simples o dobles. Por ejemplo: E 100 'Buenas Tardes' Establece el patrón "42 75 65 6E 61 73 20 54 61 72 64 65 73"en memoria a partir de la localidad 100H. Cuando no se especifica se entra en un modo especial en el que DEBUG despliega los valores de . Entonces es posible teclear nuevos valores que reemplacen a los que se muestran. Si se teclea "-" DEBUG regresa a la localidad anterior. Si se activa la barra espaciadora DEBUG pasa a la siguiente localidad. 2.1.5. FILL (F) Este comando llena un bloque dememoria con un valor específico o una serie de valores. La sintaxis es: F es la dirección de inicio y final o , si se preceden con "L", la dirección de inicio y la longitud del bloque; es(son) el(los) valor(es) con los que debe de llenarse el bloque. Si representa menor bytes que los que se necesitan para llenar el bloque, la serie se repite hasta llenar el bloque. Por ejemplo, cualquiera de lassiguientes dos líneas llena (con 0s) el bloque DS:00FF: F DS:0000 DS:00FF 0

F DS:0000 LFF 0 2.1.6. GO (G) Este comando ejecuta el código en memoria. Si se está depurando un programa, permite ejecutar el código cargado en memoria. También permite establecer puntos de quiebre (breakpoints) que son direcciones en las que se detiene la ejecución del programa. La sintaxis es: G = ... es la...
tracking img