tdebug
-
Upload
api-3820261 -
Category
Documents
-
view
304 -
download
0
description
Transcript of tdebug
Turbo Debugger
Para Ensamblador
Instalación TD
Se selecciona el archivo TurboDebugger y se siguen los pasos de la instalación..
Instalación TD
Instalación TD
Esta ventana pregunta si quieren reemplazar el TD ya instalado, oprimen Yes to All.
Turbo Debugger
Ahora, hay dos formas de ejecutar el TD, una es: Inicio Ejecutar teclear cmd Se accede a la ventana del símbolo del sistema. Después se debe ir a la ruta C:\TASM\BIN
Turbo Debugger
Y para ejecutar el Turbo Debugger se teclea TD
Turbo Debugger O hay otra opción, por medio del editor Context, se
puede configurar una tecla o llave para tener acceso al TD mientras se teclea el programa en el editor, las modificaciones al editor son las siguientes:
Turbo Debugger
En la tecla F9 se deben modificar los parámetros en el Compilador agregando como parámetro /zi, zi, después solo se oprime “Apply”
Turbo Debugger Ahora se configura la tecla correspondiente a F11, donde solo
pondremos un acceso directo al TD, dentro de la ventana de configuración se selecciona F11 y a la derecha en el primer campo se busca el archivo del Turbo debugger en la ruta C:\TASM\BIN\TD32
Turbo Debugger En el siguiente campo “Star in” se teclea %p%p, para cualquier
modificación se guarde en la carpeta donde está el programa en ensamblador
Después en “parameters” se teclea %F.exe%F.exe, con esto le asignamos el programa en ensamblador pero sin extensión, y por lo tanto le tecleamos la extensión del archivo que debe tomar.
Se le propone una etiqueta de identificación en “Hint” Y se termina la configuración….
Turbo Debugger Después se teclea el programa en el editor, se guarda
con extensión .asm.asm Se compila Se enlaza
Turbo Debugger
En seguida, teniendo un programa que NO tiene errores, se oprime la tecla F11 para mandar llamar al Turbo Debugger:
Turbo Debugger Enseguida se puede observar que nuestro programa se encuentra
en el turbo debugger, ya se “cargó”, entonces para ir paso a paso verificando las variables y movimientos, se debe oprimir F7, en cuanto se orpimer, la linea que se indica en texto blanco se irá ejecutando
Turbo Debugger Estas son las partes del TD
Línea en ejecución, se puede ver una pequeña flecha indicando la línea.
Pila
Direcciones de memoria.
Banderas
Registros
Turbo Debugger mov eax,65hmov eax,65h
Turbo Debugger Se puede ver el registro EAX a la derecha, con su valor 65hSe puede ver el registro EAX a la derecha, con su valor 65h mov var1,eaxmov var1,eax Donde var1 tiene la dirección 00402004, que es lo que
muestra el TD
Turbo Debugger Pero como saber si realmente si la var1 tiene
el valor que se copió desde el registro EAX? Primero se va al menú, se selecciona “View” y
después se selecciona “Dump”
Turbo Debugger Aparecerá una ventana, donde muestra las direcciones
de memoria, entonces, la var1 se indica como [00402004], para ir a esa dirección se oprime el botón derecho del mouse y se selecciona “Goto”
Turbo Debugger En el recuadro que aparece, se teclea la
dirección de la variable y se orpime “OK”
Turbo Debugger Se puede observar como en la dirección
aparecerá el valor asignado a var1
Turbo Debugger La dirección indicada corresponde al primer par de Bytes
ordenados Un solo 0 (cero) indica un byte por lo tanto 00 indica dos bytes El orden es secuencial por fila
00402005 0040200A
0040206A00402066
Turbo Debugger mov ebx, OFFSET var2 OFFSET: obtener la dirección de memoria de la var2 La dirección correspondiente es [00402008]
Turbo Debugger Después se copia en el registro EBX,
entonces en EBX está la dirección de var2
Turbo Debugger mov WORD PTR[ebx],0FFhmov WORD PTR[ebx],0FFh Se copia 0FFh en el espacio equivalente a una WORD o palabra
en memoria (16 bits) PTR (apuntador) apunta a la dirección contenida en el registro
EBX, donde buscará copiar el numero hexadecimal en 16 bits Se realiza lo mismo que con la var1, se selecciona “Dump” y se
busca la dirección de que se copió en el contenido de EBX (var2) que es [0040200800402008]
Turbo Debugger
En la dirección de var2 o bien ahora el contenido de EBX [0040200800402008] se encuentra FFh
Turbo Debugger
mov WORD PTR[ebxmov WORD PTR[ebx+2+2],03Fh],03Fh Se copia 03Fh en el espacio equivalente a una
WORD o palabra en memoria (16 bits) PTR (apuntador) apunta a la dirección
contenida en el registro EBX, donde buscará copiar el numero hexadecimal en 16 bits MAS 2 bytes más donde el apuntador deberá recorrerse entonces 2 bytes má sen la dirección de memoria
Se selecciona “Dump” y se busca la dirección de que se copió en el contenido de EBX (var2) + 2 bytes que es [00402008 + 200402008 + 2] = [004020A]
Turbo Debugger [00402008 + 200402008 + 2] = [004020A]
00402008 0040200A
Turbo Debugger
Después el ensamblador termina el programa
Turbo Debugger
Llama al proceso ExitProcess…..
Turbo Debugger
Para terminar la ejecución del programa se detiene con la selección en el
Menú Run Program reset (Ctrl-F2)
Turbo Debugger
Para salir del TD, solo se selecciona File Quit (Alt-x)
Turbo Debugger