Ensamblando un programa
Para crear al instante un programa en ensamblador con debugger se utiliza el comando
A (Assemble), este comando permite introducir cdigo en forma de nemnicos y su
sintaxis es A[direccin], donde direccin es la ubicacin de memoria a partir de la cual
se empezara a ensamblar, sino se especifica la direccininicial a partir de la cual se
debe ensamblar, ensambla a partir de la localidad especificada por CS:IP.
Ejecutado el comando A, debug preguntar en forma sucesiva y secuencial por la
siguiente instruccin a ensamblar, cada instruccin se ensambla en el momento de ser
digitada y cada byte generado se almacena en la memoria en la direccin inicial y en
secuencia sucesiva.
Debug despliega los registros con los resultado intermedios, se observa comparando el
estado inicial y final de los registros con respecto a AX en su parte alta, es decir, AH que
tiene un valor inicial AX=0000, pasando por AX=0800, sumando 3, AX=0B00 y restando
4, AX=0700 que es el resultado final de este programa. Debug ejecuta la interrupcin
20 int 20 termina el programa y regresa el control al DOS.
Desensamblar
Para desensamblar un programa que se acaba de escribir se utiliza el comando U que
desensambla lo que se digita partiendo de la localidad de memoria especificada y la
cantidad de bytes especificados con L que significa longitud (length), lo que muestra
tanto el cdigo digitado con nemotcnicos como el cdigo en hexadecimal de cada
instruccin.
Existe tambin un comando que ayuda a rastrear la ejecucin del programa haciendo
un paso a paso este comando es el Trace (t).
Para cargar el archivo anterior u otro archivo, se debe seguir los siguientes pasos:
1. Proporcionar el nombre del programa que se cargar usando el comando n. n c:\ primprog.com
2. Cargarlo mediante comando (L) load. -l
3. Para verificar que fue cargado, desensamble a partir de la localidad 100H. -u
100 L9.
Para estar seguro de la ubicacin antes de entrar a debug ejecute el comando dir
para mostrar los archivos presentes en el lugar donde guardo el archivo.
de
Seleccione,
analize
y
reporte
instrucciones, i.e. comando T
una
subrutina
porciones
de
mn.
de
32
Cdigo ASCII La letra A mayscula es igual a (65 decimal) y (41 en Hexadecimal) Como
debug solo usa el sistema hexadecimal usaremos A=41 Segmento de memoria de la
pantalla: Esta es igual a B800 donde la letra A se encontrara en la direccin lgica
B800:0041