martes, 17 de noviembre de 2015

TERCER CORTE

PROGRAMA DEBUG



DEBUG.EXE es un ejecutable que, hasta 2001, acompañó a todas las versiones de MS-DOS, a partir de la  2.0, y de Windows "debug" significa depurar (escrutar y eliminar fallos).El "Debug" es una utilidad de MS-DOS que permite visualizar memoria, introducir programas en ella y rastrear su ejecución. Una característica de debug es que despliega todo el código del programa en formato hexadecimal.


Debug es Útil para:
  • Ensamblar pocas líneas de código
  • Des-ensamblar código en RAM, ROM y executables
  • Correr paso-a-paso programas
  • Desplegar datos en memoria
  • Verificar estado de los registros del CPU

Estos son algunos de los comandos utilizados en el debug.
D: DUMP
D [intervalo]
Muestra el contenido de una zona de memoria en hexadecimal y en ASCII. Sin parámetros muestra los primeros 128 bytes a partir de la posición a la que se llegó en el último "d". Si se le da un rango, mostrará ese rango.
E DIRECCION: EDIT
E dirección [lista]
Permite editar, byte por byte, una zona de memoria. Muestra -en hexadecimal- el byte de esa posición y permite escribir otro valor para cambiarlo. Pulsando espacio pasa al byte siguiente, dejando como estaba el anterior si no se ha cambiado, o guardando los cambios si sí se ha hecho. Para terminar la edición se pulsa INTRO.
R: REGISTERS
R [registro]
Sin parámetros, muestra el contenido de los registros de la CPU, así como la próxima instrucción a ejecutar."R [REGISTRO]" muestra el contenido del registro especificado y cambia el prompt de "-" a ":" invitando a que se cambie su valor. Pulsando Enter sin más lo deja como estaba.
A: ASSEMBLE
A [dirección]
Sin parámetros ensambla las instrucciones que se introduzcan, guardándolas en la dirección siguiente a la que se llegó en el último "a". Cuando se utiliza este comando se le puede dar como parámetro la dirección donde se desea que se inicie el ensamblado, si se omite el parámetro el ensamblado se iniciará en la localización especificada por CS:IP, usualmente 0100H, que es la localización donde deben iniciar los programas con extensión .COM, y será la localización que utilizaremos debido a que debug solo puede crear este tipo específico de programas.
F: FILL
F [lista de intervalos]
Llena una zona de memoria con un valor determinado. Como al terminar un programa la zona de memoria en que se residía no se borra (poniéndola a cero, por ejemplo), a menudo es útil para distinguir entre lo que son datos del programa actual y lo que es basura del anterior.
Q: QUIT
Q
Salir de debug y volver al DOS.
P: STEP
P [=dirección] [número]
Trace puede ser incómodo si no se quiere depurar el código de las rutinas de interrupción o si ya se sabe el código que hay en las subrutinas y tan sólo interesa seguir avanzando sin entrar en ellas. En estos casos se usa p.
T: TRACE
T [=dirección] [valor]
Ejecuta la instrucción apuntada por cs:ip y vuelve a debug. Permite ejecutar paso a paso un programa y observar en cada instrucción el efecto producido. Si haciendo "trace" se llega a una subrutina (CALL) o a una interrupción (INT) la siguiente instrucción que se ejecutará será la primera de la subrutina o la primera de la rutina de atención de la interrupción correspondiente.

http://es.slideshare.net/Pau22/debug-paulinachacon-presentation


LENGUAJE ENSAMBLADOR


Es un lenguaje de programacion de bajo nivel, se le llama lenguaje ensamblador o Asembler.
• El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros y unos del sistema binario. 
• El lenguaje ensamblador expresa las instrucciones de una forma más natural al hombre a la vez que muy cercana al microcontrolador, ya que cada una de esas instrucciones se corresponde con otra en código máquina. 
• El lenguaje ensamblador trabaja con nemónicos, que son grupos de caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar. 
•La traducción de los nemónicos a código máquina entendible por el microcontrolador la lleva a cabo un programa ensamblador. 
• El programa escrito en lenguaje ensamblador se denomina código fuente (*.asm). El programa ensamblador proporciona a partir de este fichero el correspondiente código máquina, que suele tener la extensión *.hex.


https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Codigo_de_maquina.png/400px-Codigo_de_maquina.png

https://karenalduncin.files.wordpress.com/2012/03/ap3-2.gif


No hay comentarios:

Publicar un comentario