You are on page 1of 13

Debug en Windows 7 x64 con DOSBox

Francisco Daniel Garca Noriega


Introduccin a DOSBox y prctica de ensamblador con debug en Windows 7 de 64 bits

Contenido
Introduccin a DOSBox .................................................................................................................. 2 Atajos de teclas en DOSBox ............................................................................................................ 3 Prctica de ensamblador con debug. ............................................................................................... 4

Introduccin a DOSBox
Es un emulador de DOS que utiliza libreras SDL que hacen de DOSBox muy portable para diferentes plataformas. DOSBox ha sido creado para diferentes plataformas como Windows, BeOS, Linux, MacOS X DOSBox emula el CPU: 286/386 en modo real y protegido, sistemas de archivos XMS/EMS, grficos Tandy/Hercules/CGA/EGA/VGA/VESA, sonidos de SoundBlaster/Gravis Ultra Sound para una excelente compatibilidad con video juegos. Es OpenSource y gratis. A travs de su pgina podemos obtener los instaladores en la seccin de descargas. http://www.dosbox.com/ Resumen de la introduccin de DOSBox: Antes de empezar a usar los archivos en nuestro propio sistema de archivos hay que montar el directorio que contiene los archivos. mount C C:\archivos\ crear una unidad C con el contenido de C:\archivos C:\archivos\ es un ejemplo. Remplzalo con tu propio directorio de archivos Cuando est montada completamente puedes escribir c: para ir a la nueva unidad montada. Ejecutar dir para mostrar el contenido. El comando cd permitir entrar en un directorio. Se pueden ejecutar programas que terminen en .exe .bat y .com. En caso de ocurrir un error DOSBox se detendr y abortar sin mostrar algn aviso.

Atajos de teclas en DOSBox


Pueden ser cambiados en el keymapper Alt + enter Alt + pause Ctrl + F1 Ctrl + F4 Ctrl + Alt + F5 Ctrl + F5 Ctrl + F6 Ctrl + Alt + F7 Ctrl + Alt + F8 Ctrl + F7 Ctrl + F8 Ctrl + F9 Ctrl + F10 Ctrl + F11 Ctrl + F12 ALT + F12 Pantalla completa Pause DOSBox Inicia el keymapper Actualiza el directorio cache para todas las unidades. Empieza/Detiene creacin de una pelcula de la pantalla Guarda una captura de pantalla Empieza/Detiene la grabacin de una salida a un archivo de ondas. Empieza/Detiene la grabacin de comandos OPL Empieza/Detiene la grabacin de comandos raw MIDI Decrece los saltos de fotogramas Aumenta los saltos de fotogramas Mata DOSBox Captura/Desactiva el mouse Decrece los ciclos de DOSBox Aumenta los ciclos de DOSBox Desbloquea la velocidad

Prctica de ensamblador con debug.


Primeramente se debe instalar DOSBox con el instalador DOSBox0.74-win32-installer.exe, el procedimiento es realmente sencillo y una vez culminado se debe poder abrir sin problemas mostrando una pantalla como la siguiente:

Se debe tener el programa debug.exe y de preferencia tenerlo localizado en un directorio prximo a la unidad raz. Para esta prctica se crear un directorio llamado debug en la unidad C y en esta carpeta se almacenar el programa debug.exe. Se debe tener una vista como la siguiente:

Una vez que nuestra carpeta debug se visualice como lo anterior, estar lista el rea de trabajo donde se llevar a cabo la prctica. En DOSBox lo primero que hay que realizar es montar en una unidad la carpeta donde se ubicarn los archivos a utilizar o una carpeta que sirva de referencia para desplazarnos en nuestro sistema de archivos. Se proceder a ejecutar la siguiente instruccin: mount d c:\debug\ de esta manera se montar la carpeta debug ubicada en nuestra unidad C en la unidad virtual D de DOSBox y de esta manera se podr acceder a los archivos. Cuando el montado es exitoso DOSBox muestra una mensaje de que se ha llevado a cabo satisfactoriamente.

Ahora hay que acceder a la unidad virtual D, introduciendo el siguiente comando y enter: D:

El prompt a partir de ahora nos ubicar en la unidad D y para verificar que se ha realizado el montaje anterior de manera exitosa se proceder a ejecutar el siguiente comando: dir

De esta manera se puede visualizar el programa debug.exe esto demuestra que se mont la carpeta debug de la unidad C en la unidad virtual D de DOSBox partiendo como raz en D. Ahora, libremente se puede teclear la siguiente instruccin para invocar al programa debug.exe debug

Y en seguida aparecer el prompt (-) del debug en el lado izquierdo esperando una instruccin. Para comprobar que estamos en debug podemos listar las instrucciones disponibles en debug introduciendo el siguiente comando ? tecleamos enter.

Ahora, una vez que se han listado las instrucciones en debug se llevar a cabo la demostracin de escritura de bytes en un programa .COM, el cdigo se desensamblar con debug y se ejecutar. A partir de ahora se empezar a crear un programa que muestre la cadena hola. Se introducir la siguiente instruccin en debug: a Como se muestra anteriormente entre las instrucciones que soporta debug ensambla.

Y nos mostrar una pantalla como la siguiente:

Estaremos en la posicin 0100 lo cual es importante y la cifra a la izquierda puede ser muy diferente para lo cual es trivial en esta prctica. En esta posicin se empezar a codificar el programa, cabe mencionar que despus de cada instruccin teclear (enter). mov ah, 09 mov dx, 0109 int 21 int 20 db 68 db 6f db 6c db 61 and al, 19 hlt En la siguiente pgina se muestra cmo debe visualizarse al finalizar.

Teclear enter al terminar de codificar. Ahora se procede a escribir el programa en un archivo .com de la siguiente manera. Primero se introduce al registro CX qu capacidad ocupa nuestro programa, restando la direccin final 0110 - 0100 = 10 mediante el siguiente procedimiento: r cx se introduce el valor 10, despus un enter para confirmar. Seguido de esto, se nombra el archivo a escribir de la siguiente manera: n p1.com Finalmente, se escribe con la instruccin: w En la siguiente pgina se muestra el proceso finalizado.

Ahora se procede a un volcado de memoria a partir de la localizacin 100 con el siguiente procedimiento: d ds:100 Y nos muestra que realmente se aloj la cadena hola en nuestro programa.

Una vez confirmado lo anterior, se procede a salir de debug mediante el comando q

Ahora mediante el comando dir en DOSBox se muestran los archivos en la carpeta y se debe visualizar el programa p1.com

Ahora se procede a ejecutar el programa simplemente tecleando su nombre y presionando enter. p1 debe aparecer la cadena hola

Finalmente la carpeta de nuestra rea de trabajo debe finalizar de la siguiente manera:

Nota: Puede haber problemas con la instruccin G (Go) de debug y puede llegar a abortar la consola para dicho problema es preciso poner la instruccin hlt al final de cada programa y en caso de utilizar G utilizarlo en un cierto rango, es decir, si el programa termina en 109 indicar G 107.

You might also like