Debug en
Windows 7
x64 con
DOSBox
Francisco Daniel Garcia Noriega
___Introduccién a DOSBox y practica de ensamblador con debug en Windows 7 de 64 bitsContenido
Introduccion a DOSBOX ...s.ssnmnninnnnininnineininnniininnnmnnnennnenannnnannnie 2
Atajos de teclas en DOSBox .. 3
Prictica de ensamblador con debug...Introduccion a DOSBox
Es.un emulador de DOS que utiliza librerias SDL que hacen de DOSBox muy portable para
diferentes plataformas. DOSBox ha sido creado para diferentes plataformas como Windows, BeOS,
Litmax, MacOS X.
DOSBox emula el CPU: 286/386 en modo real y protegido, sistemas de archivos XMS/EMS,
grificos 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 seccidn de descargas.
http:/www.dosbox.com/
Resumen de la introduccion 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\ creard una unidad C con el contenido de C:\archivos
(CAarchivos\ es un ejemplo, Remplézalo con tu propio directorio de archivos
Cuando esté montada completamente puedes escribir c: para ira la nueva unidad montada, Ejecutar
x para mostrar el contenido. El comando ed permitiri entrar en un directorio, Se pueden ejecutar
programas que terminen en .exe .bat y .com.
En caso de ocurrir un error DOSBox se detendra y abortara sin mostrar algim aviso.Atajos de teclas en DOSBox
Pueden ser cambiados en el keymapper
Alt + enter Pantalla completa
Alt + pause Pause DOSBox
cul + FI Inicia el keymapper
Ctrl + Fa ‘Actualiza el directorio cache para todas las.
unidades.
Ctrl + Alt + BS Empieza/Detiene creacién de una pelicula de la
pantalla
Ctl + FS Guarda una captura de pantalla
Curl +F6 Empieza/Detiene la grabacion de una salida a
un archivo de ondas.
Ctrl + Alt + F7 Empieza/Detiene la grabacién de comandos
Ctrl + Alt+ F8
Ctrl +F7
Ctrl + FS
Ctrl +E9
Curl + F10
Ctrl+ FL
Cul + F12
ALT +FI2
OPL.
Empieza/Detiene la grabacién de comandos raw
MIDI
Decrece los saltos de fotogramas
Aumenta los saltos de fotogramas
Mata DOSBox
Captura/Desactiva el mouse
Dectece los ciclos de DOSBox
Aumenta los ciclos de DOSBox
Desbloquea la velocidadPractica 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
[osaaeagS
Se debe tener el programa “debug.exe” y de preferencia tenerlo localizado en un directorio préximo
a la unidad raiz,
Para esta prictica 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 muestra carpeta “debug” se visualice como lo anterior, estar’ lista el Area de trabajo
donde se levari a cabo la practica
En DOSBox lo primero que hay que realizar es montar en una unidad la carpeta donde se ubicarin
los archivos a utilizar o una carpeta que sirva de referencia para desplazarnos en nuestro sistema de
archivos. Se procederd a ejecutar la siguiente instrucciéa:
mount d ¢:\debug)
de esta manera se montaré la catpeta “debug” ubicada en nuestra tnidad C en la unidad virtual D de
chivos. Cuando el montado es exitoso DOSBox
}OSBox y de esta manera se podra acceder a los 2
nuestra una mensaje de que se ha llevado a cabo satisfactoriamente,
Ahora hay que acceder a Ia unidad virtual D, introduciendo el siguiente comando y enter
D:
a aeEl 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 procederd a ejecutar el siguiente comando:
dir
e esta manera se puede visualizar el programa “debug.exe” esto demuestra que se mon
carpeta debug de la unidad C en la unidad virtual D de DOSBox partiendo como raiz en D.
la
Ahora, libremente se puede teclear la siguiente instr ama “debug.exe
on para
wvocar al pr
debug
Cone. eer
Eo
‘The DOSBox Team http:/ass.dosbox.com
oe
eT
wounted a3 local directory ¢:\debug
Cee)
eee
rae eee ee ET)
rei
ory‘Yen 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 demostracion de
escritura de bytes en un programa .COM, el cédigo se desensamblara con debug y se ejecutar’
A partir de ahora se empezaré
crear un programa que muestre la cadena “hola’
Se introduciré la siguiente instruecién en debug:
Como se muestra anteriormente entre Las instrucciones que soporta debug “ensambla”‘Y nos mostrara 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 prictica
En esta posicion se empezara a codificar el programa, cabe mencionar que después de cada
instruccion teclear (enter).
mov ah, 29
mov dx, 6109
int 21
int 20
db 68
db 6F
db 6c
db 61
and al, 19
hit
En la siguiente pagina se muestra como debe visualizarse al finalizaray
oy
oom
eee
Beri
ea
eerie
ees
CRIT
ean
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:
rex
se introduce el valor 10, después un enter para confirmar
Seguido de esto, se nombra el archivo a escribir de la siguiente manera:
npl.com
Finalmente, se escribe con la instruccién:
En la siguiente pagina se nmtestra el proceso finalizado.Ahora se procede a un volcado de memoria a partir de la localizacién 100 con el siguiente
procedimiento:
dds: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 comandoAhora mediante el comando dir en DOSBox se muestran los archivos en la carpeta y se debe
visualizar el programa “pl.com’
u nombre y presionando eater
ama simplemente tecleando
Ahora se procede a ejecutar el pr
pl
debe aparecer la cadena “holaFinalmente Ia carpeta de nuestra area 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 hilt 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.