Está en la página 1de 13

Debug en

Windows 7
x64 con
DOSBox
Francisco Daniel García Noriega

Introducción a DOSBox y práctica de ensamblador con debug en Windows 7 de 64 bits


Contenido
Introducción a DOSBox .................................................................................................................. 2
Atajos de teclas en DOSBox ............................................................................................................ 3
Práctica de ensamblador con debug. ............................................................................................... 4
Introducción a DOSBox
Es un emulador de DOS que utiliza librerías 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,
gráficos Tandy/Hercules/CGA/EGA/VGA/VESA, sonidos de SoundBlaster/Gravis Ultra Sound
para una excelente compatibilidad con video juegos.

Es OpenSource y gratis.

A través de su página podemos obtener los instaladores en la sección de descargas.

http://www.dosbox.com/

Resumen de la introducción 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. Remplázalo 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 algún aviso.
Atajos de teclas en DOSBox
Pueden ser cambiados en el keymapper

Alt + enter Pantalla completa


Alt + pause Pause DOSBox
Ctrl + F1 Inicia el keymapper
Ctrl + F4 Actualiza el directorio cache para todas las
unidades.
Ctrl + Alt + F5 Empieza/Detiene creación de una película de la
pantalla
Ctrl + F5 Guarda una captura de pantalla
Ctrl + F6 Empieza/Detiene la grabación de una salida a
un archivo de ondas.
Ctrl + Alt + F7 Empieza/Detiene la grabación de comandos
OPL
Ctrl + Alt + F8 Empieza/Detiene la grabación de comandos raw
MIDI
Ctrl + F7 Decrece los saltos de fotogramas
Ctrl + F8 Aumenta los saltos de fotogramas
Ctrl + F9 Mata DOSBox
Ctrl + F10 Captura/Desactiva el mouse
Ctrl + F11 Decrece los ciclos de DOSBox
Ctrl + F12 Aumenta los ciclos de DOSBox
ALT + F12 Desbloquea la velocidad
Práctica 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 próximo


a la unidad raíz.

Para esta práctica 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 práctica.

En DOSBox lo primero que hay que realizar es montar en una unidad la carpeta donde se ubicarán
los archivos a utilizar o una carpeta que sirva de referencia para desplazarnos en nuestro sistema de
archivos. Se procederá a ejecutar la siguiente instrucción:

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 raíz en D.

Ahora, libremente se puede teclear la siguiente instrucción para invocar al programa “debug.exe”

debug
Y en seguida aparecerá el prompt (-) del debug en el lado izquierdo esperando una instrucción.

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 demostración de
escritura de bytes en un programa .COM, el código 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 instrucción en debug:

Como se muestra anteriormente entre las instrucciones que soporta debug “ensambla”.
Y nos mostrará una pantalla como la siguiente:

Estaremos en la posición 0100 lo cual es importante y la cifra a la izquierda puede ser muy diferente
para lo cual es trivial en esta práctica.

En esta posición se empezará a codificar el programa, cabe mencionar que después de cada
instrucción 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 página se muestra cómo 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 dirección
final 0110 - 0100 = 10 mediante el siguiente procedimiento:

r cx

se introduce el valor 10, después 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 instrucción:

En la siguiente página se muestra el proceso finalizado.


Ahora se procede a un volcado de memoria a partir de la localización 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 instrucción G (Go) de debug y puede llegar a abortar la consola para
dicho problema es preciso poner la instrucción 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.

También podría gustarte