Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
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.
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.
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
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.