INSTITUTO DE ESTUDIOS SUPERIORES DE CHIAPAS CHACÓN AGUIRRE PAULINA YANNETH Salazar Narváez Ing. Sistemas Computacionales 4...
DEBUG es un programa que se utiliza para depurar programas, para conocer lo que realiza la computadora a nivel de hardware...
Introducción. En la siguiente presentación se hablara del programa DEBUG que es un programa que se encarga de probar y dep...
El programa DEBUG. <ul><li>El DOS viene con un programa llamado DEBUG que es utilizado para probar y depurar programas eje...
Comandos de DEBUG Los comandos que proporciona DEBUG nos permiten realizar diferentes operaciones útiles. La mayoría de lo...
<ul><li>Reglas de los comandos de DEBUG. </li></ul><ul><li>No distingue entre letras minúsculas y mayúsculas. </li></ul><u...
El despliegue del DEBUG Consiste en tres partes: 1.  La dirección hexadecimal del ultimo byte de la izquierda que se despl...
Inicio con DEBUG. Para empezar con DEBUG, coloque el sistema en el directorio del disco duro que contenga DEBUG. Para inic...
Visualización de las localidades de memoria. El único comando por el cual nos interesaremos es D (Display, mostrar), el cu...
Ahora agarramos la primera línea algo así: 0040:0010 23 C8 F0 80 .. .. .. .. En este ejemplo, los dos bytes en la palabra ...
Verificar el tamaño de la memoria. Aquí se calculara la cantidad de memoria que el DOS piensa que tiene instalada. Depende...
Aparecerá 0040:0010 .. .. .. 80 02 .. .. .. Los dos primeros bytes mostrados en el desplazamiento 0010H son los kilobytes ...
Verificación del número de serie y de la nota de derechos reservados. El numero de la serie de la computadora está alojado...
Verificación de la fecha en la ROM BIOS La fecha de fabricación de su ROM BIOS inicia en la totalidad FFFF5H, registrada c...
Verificación de la identidad del modelo. Ya después de la fecha de fabricación del ROM BIOS está la identificación del mod...
Ejercicio 1 de lenguaje máquina: DATOS INMEDIATOS. A continuación se usara DEBUG para introducir un programa directamente ...
Las instrucciones de máquina pueden tener uno, dos o tres bytes de longitud. El primer byte es la operación real y cualesq...
Para iniciar. Teclee el comando DEBUG y presione Enter. Cuando DEBUG este cargado por completo, despliega su indicador (-)...
El siguiente comando E almacena 6 bytes, empezando en CS:106 a 107, 108, 109, 10A y 10B: E CS:106 8B D8 03 D8 8B CB El ult...
Rastreo de la instrucción de máquina. Formato hexadecimal Comandos Registros de banderas Registro IP Regresar
Ejecución de instrucción de programa. Es algo sencillo ejecutar las instrucciones anteriores, una a la vez. Los comandos D...
<ul><li>El comando R también muestra el desplazamiento 0100H la primera instrucción que es ejecutada. Note que en la figur...
DEBUG muestra los resultados en los registros. El contenido del registro IP es 0103H, que indica la ubicación del desplaza...
 
Mostrar el contenido de memoria Para mostrar la ultima instrucción NOP presione T, pero esta instrucción no realiza cosa a...
Corregir una entrada. Si se introduce un valor erróneo en el segmento de datos o en el segmento de código, reintroducir el...
Introducir un programa simbólico en ensamblador. El ejercicio de programa fue en formato de lenguaje máquina, también pued...
A continuación se teclea cada una e las siguientes instrucciones seguido de un Enter. MOV AL,25 MOV BL,32 ADD AL,BL NOP DE...
El comando U Muestra el código de máquina para sus instrucciones en lenguaje ensamblador. Se puede usar este comando para ...
La instrucción INT A continuación se muestra como accesar el DOS y el BIOS para enviar información acerca del sistema, por...
Para rastrear la ejecución de las instrucciones primero ingresar R para ver los registros y T para rastrear MOV. En lugar ...
<ul><li>Guardar un programa desde DEBUG </li></ul><ul><li>Se puede guardar un programa en disco bajo dos circunstancias: <...
<ul><li>Usar DEBUG para escribir un pequeño programa en lenguaje de máquina  </li></ul><ul><li>que ahora quiera guardar: <...
Lenguaje ensamblador: Operador PTR Aquí otro programa que introduce algunas características nuevas, donde se mueven y se s...
Una explicación de las instrucciones es: Se sigue el mismo procedimiento teclear A 100, después todas las instrucciones y ...
Conclusión. DEBUG puede ser uno de los programas  mas antiguas que hay pero todavía realiza lo que se le indica. Como se d...
Bibliografía. Libro: Lenguaje ensamblador y programación para IBM PC compatibles. Autor: Abel Peter Editorial: Pearson Edu...
Upcoming SlideShare
Loading in...5
×

Debug PaulinaChacon

14,373

Published on

Published in: Travel, Business
4 Comments
4 Likes
Statistics
Notes
  • muy buen material, muchas gracias
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • gracias que buena investigacion...
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ufff
    buenisimo
    ahora podre hacer mi examen XD
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • gracias me fue de mucha utilidad
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
14,373
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
449
Comments
4
Likes
4
Embeds 0
No embeds

No notes for slide

Debug PaulinaChacon

  1. 1. INSTITUTO DE ESTUDIOS SUPERIORES DE CHIAPAS CHACÓN AGUIRRE PAULINA YANNETH Salazar Narváez Ing. Sistemas Computacionales 4to “A” Catedrático: Lic. Enrique Martínez Gutiérrez Asignatura: Lenguaje Ensamblador
  2. 2. DEBUG es un programa que se utiliza para depurar programas, para conocer lo que realiza la computadora a nivel de hardware todo lo que ocurre cuando ejecuta un programa, porque te va mostrando los valores de los registros, localidad de memoria, etc
  3. 3. Introducción. En la siguiente presentación se hablara del programa DEBUG que es un programa que se encarga de probar y depurar programas ejecutables desde DOS. Se hablara de sus características principales cuales son los comandos mas utilizados y su función, cual es su estructura, como inicializa entre otras utilerías que ofrece DEBUG.
  4. 4. El programa DEBUG. <ul><li>El DOS viene con un programa llamado DEBUG que es utilizado para probar y depurar programas ejecutables. </li></ul><ul><li>Características de DEBUG: </li></ul><ul><ul><li>Despliega todo el código del programa y los datos en forma hexadecimal. </li></ul></ul><ul><ul><li>Permite ejecutar un programa en modo de paso sencillo (un paso a la vez) de manera que se pueda ver el efecto de cada instrucción sobre las localidades de memoria y los registros. </li></ul></ul>
  5. 5. Comandos de DEBUG Los comandos que proporciona DEBUG nos permiten realizar diferentes operaciones útiles. La mayoría de los comandos de DEBUG ejecutan una acción y vuelven al indicador, pero si es un comando largo, como puede ser mostrar un trozo grande de código, puede detenerse pulsando CTRL-Pausa o interrumpirse con CTRL-C para volver. Mostrar estados de la memoria expandida. XS Asignar páginas de memoria expandida. XM Desasignar memoria expandida. XD Asignar memoria expandida. XA Escribir o grabar un programa en disco. W “ Desensamblar” código máquina y pasarlo a código simbólico. U Rastrear la ejecución de una instrucción. T Mostrar el contenido de uno o más registros. R Salir de la selección con DEBUG. Q Proceder a ejecutar un conjunto de instrucciones relacionadas. P Nombrar un programa. N Correr el programa ejecutable que se encuentra en memoria. G Introducir datos en memoria, iniciando en una localidad especifica. E Mostrar el contenido de un área de memoria. D Ensamblar instrucciones simbólicas y pasarlas a código de maquina. A Descripción. Comando.
  6. 6. <ul><li>Reglas de los comandos de DEBUG. </li></ul><ul><li>No distingue entre letras minúsculas y mayúsculas. </li></ul><ul><li>Solo se introduce un solo espacio en donde sea necesario separar parámetros en un comando. </li></ul><ul><li>Ejemplos: </li></ul><ul><li>Utilizado el comando D de DEBUG para mostrar la misma área de memoria, iniciando en el desplazamiento 200h en el segmento de datos (SD). </li></ul><ul><li>D DS:200 (comando en mayúscula, con un espacio en blanco después de él) </li></ul><ul><li>DDS:200 (comando en mayúscula, sin espacio en blanco después de él) </li></ul><ul><li>dds:200 (comando en minúsculas, sin espacio en blanco después de él) </li></ul><ul><li>Note que especifica segmentos y desplazamientos con dos puntos (:). Además, DEBUG supone que todos los números están en formato hexadecimal. </li></ul>
  7. 7. El despliegue del DEBUG Consiste en tres partes: 1. La dirección hexadecimal del ultimo byte de la izquierda que se despliega en la forma segmento:desplazamiento. 2. Representación hexadecimal del área desplegada. 3. Representación en ASCII de los bytes que contienen características desplegables . x……….x xx ……………. xx-xx ……………. xx xxxx:xx30 x……….x xx ……………. xx-xx ……………. xx xxxx:xx20 x……….x xx ……………. xx-xx ……………. xx xxxx:xx10 <--ASCII--> <----- Representación Hexadecimal -----> Dirección
  8. 8. Inicio con DEBUG. Para empezar con DEBUG, coloque el sistema en el directorio del disco duro que contenga DEBUG. Para iniciar el programa, teclee la palabra DEBUG y presione un Enter. DEBUG debe cargarse al disco de la memoria. Cuando el indicador (-), aparezca en la pantalla. DEBUG está listo para recibir sus comando.
  9. 9. Visualización de las localidades de memoria. El único comando por el cual nos interesaremos es D (Display, mostrar), el cual lista ocho líneas de 16 bytes cada una y muestra su representación hexadecimal y ASCCI Verificación del equipo del sistema. Vamos a determinar el BIOS que tiene instalado su equipo. Estas palabra está en las localidades 410H-411H, que puede ver desde DEBUG por medio de una dirección de dos partes: 40 para la dirección de segmentos y 10 para el desplazamiento desde la dirección del segmento. Teclear correctamente 40:10
  10. 10. Ahora agarramos la primera línea algo así: 0040:0010 23 C8 F0 80 .. .. .. .. En este ejemplo, los dos bytes en la palabra del estado del equipo contienen los valores hexadecimales 23 C8. invierta los bytes (C8 23) y conviértalos a binario: A continuación está una explicación del código hexadecimal. 1 1 0 0 0 1 0 0 0 0 0 1 0 0 1 1 Binario: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Bit: 1 = unidad de disco flexible está presente 0 1 = coprocesador matemático está presente 1 Modo inicial de video = 10 (donde 01 = 40 X 25 en color, 10 = 80 X 12 25 en color y 11 = 80 X 12 25 monocromático. 5, 4 Número de dispositivos de disco flexible = 1 (donde 00 = 1, 01 = 2, 10 = 3 y 11 = 4) 7, 6 Número de puertos seriales conectados = 4 (binario 100) 11, 9 Número de puertos paralelos para impresora conectados = 3 (binario 11) 15, 14 Dispositivo Bits
  11. 11. Verificar el tamaño de la memoria. Aquí se calculara la cantidad de memoria que el DOS piensa que tiene instalada. Depende del modelo de la computadora, el valor puede estar basado en interrupciones internos y puede indicar menos memoria de la que realmente este instalada. El valor esta en área de la BIOS en las localidades 413H y 414H. Teclee correctamente D 40:13
  12. 12. Aparecerá 0040:0010 .. .. .. 80 02 .. .. .. Los dos primeros bytes mostrados en el desplazamiento 0010H son los kilobytes de memoria en hexadecimal, con los bytes en secuencia inversa. Ejemplo: 640 02 80 80 02 Decimal (k) Hexadecimal Corregido Hexadecimal Inverso
  13. 13. Verificación del número de serie y de la nota de derechos reservados. El numero de la serie de la computadora está alojado en el ROM de BIOS en la localidad FE000H. Para visualizarlo teclee D FE00:0 La pantalla muestra un número de series de siete dígitos seguido , en maquinas convencionales, de una nota de derechos reservados. Para seguir checando los derechos reservado basta con poner D y un Enter.
  14. 14. Verificación de la fecha en la ROM BIOS La fecha de fabricación de su ROM BIOS inicia en la totalidad FFFF5H, registrada como mm/dd/aa. Par verla teclee: D FFFF:5 (Enter) Esta fecha nos puede determinar la edad de la computadora y su modelo.
  15. 15. Verificación de la identidad del modelo. Ya después de la fecha de fabricación del ROM BIOS está la identificación del modelo en la localidad FFFFEH ó FFFF:E Aquí algunos de los modelos. Primera IBM PC FF PC-XT (1982), Portátil (1982) FE PC-AT (1984), PC-XT Modelo 286 PS/2 Modelos 50 y 60, etc. FC PC-XT (1986) FB PS/2 Modelo 30 FA PC Convertible F9 PS/2 Modelos 70 y 80 F8 Modelo Código
  16. 16. Ejercicio 1 de lenguaje máquina: DATOS INMEDIATOS. A continuación se usara DEBUG para introducir un programa directamente en memoria y rastrear su ejecución. Este programa mostrara un sencillo código de lenguaje maquina, como aparece en el almacenamiento principal y los efectos de su ejecución. Programa Datos Inmediatos, datos definidos como parte de una instrucción. Se muestra el lenguaje máquina en formato hexadecimal y para legibilidad en código simbólico, junto con explicación . Para la primera instrucción, el código simbólico es MOV AX,0123, lo cual mueve (o copia) el valor 0123H al registro AX. MOV es la instrucción, el registro AX es el primer operando y el valor inmediato 0123H es el segundo operando. No operación (no hace nada) NOP 90 Restar AX de AX (limpiar AX) SBU AX,AX 2BC0 Restar el contenido de AX a CX SUB CX,AX 2BC8 Mover el contenido de BX a CX MOV CX,BX 8BCB Sumar el contenido de AX a BX ADD BX,AX 03D8 Mover el contenido de AX a BX MOV BX,AX BD8 Sumar el valor 0025H a AX ADD AX,0025 052500 Mover el valor 0123H a AX MOV AX,0123 B82301 Explicación Código simbólico Instrucción de máquina
  17. 17. Las instrucciones de máquina pueden tener uno, dos o tres bytes de longitud. El primer byte es la operación real y cualesquiera otros bytes, si están presentes, son operandos: referencia a un valor de inmediato, un registro o una localidad de memoria. La ejecución del programa empieza con la primera instrucción de máquina y avanza por cada instrucción, una después de otra. Al llegar ha este punto no esperamos que tenga mucho sentido el código de máquina.
  18. 18. Para iniciar. Teclee el comando DEBUG y presione Enter. Cuando DEBUG este cargado por completo, despliega su indicador (-). Introducir instrucciones de programa. Para introducir el programa directamente en memoria, solo teclee la parte del lenguaje máquina pero no el código simbólico o la explicación. Teclee el siguiente comando E (Enter) con los espacios en blanco que se indican. E CS:100 B8 23 01 05 25 00 CS:100 indica la dirección de memoria inicial donde se almacenaran los datos -100H (256) bytes siguiendo al inicio del segmento de código. El comando E hace que DEBUG cada par de dígitos hexadecimales en un byte de memoria, desde CS:100 hasta CS:105.
  19. 19. El siguiente comando E almacena 6 bytes, empezando en CS:106 a 107, 108, 109, 10A y 10B: E CS:106 8B D8 03 D8 8B CB El ultimo comando E almacena 5 bytes, empezando en CS:10C a 10D, 10E, 10F y 110: E CS:10C 2B C8 2B C0 90 Si teclea algún comando de manera incorrecta, solo repítalo con los valores correctos.
  20. 20. Rastreo de la instrucción de máquina. Formato hexadecimal Comandos Registros de banderas Registro IP Regresar
  21. 21. Ejecución de instrucción de programa. Es algo sencillo ejecutar las instrucciones anteriores, una a la vez. Los comandos DEBUG que nos conciernen aquí son R (registro) y T (rastreo). Para ver los contenidos iniciales de los registros y las banderas. Teclee el comando R. DEBUG muestra el contenido de los registros en forma hexadecimal. El registro IP muestra IP=0100, indicando que la ejecución de la instrucción inicia 100H bytes después del inicio del segmento del código. En el registro de las banderas muestra la siguiente configuración: NV UP EI PL NZ NA PO NC Esta configuración significa: no desbordamiento, dirección hacia arriba/abajo, interrupción habilitada, signo positivo, no cero, no acarreo auxiliar, paridad impar y no acarreo. Ver figura.
  22. 22. <ul><li>El comando R también muestra el desplazamiento 0100H la primera instrucción que es ejecutada. Note que en la figura el registro CS contiene 21C1. Ya que es seguro que su dirección de segmento CS, difiera de esta, la mostramos como xxxx para las instrucciones: </li></ul><ul><li>xxxx:0100 B82301 MOV AX,0123 </li></ul><ul><ul><li>xxxx indica el inicio del segmento del código como xxxx[0]. El valor xxxx:0100 significa desplazarse 100H bytes después de la dirección del segmento CS xxxx[0]. </li></ul></ul><ul><ul><li>B82301 es el código de máquina que usted introdujo en CS:100. </li></ul></ul><ul><ul><li>MOV AX,0123 es la instrucción simbólica en ensamblador para el código máquina. Esta instrucción significa, en realidad, mover el valor inmediato 0123H al registro AX. </li></ul></ul><ul><li>En este momento, la instrucción MOV no ha sido ejecutada. Para ese propósito se teclea T, luego Enter. El código de maquina es B8 (mover al registro AX) seguido por 2301. la operación mueve el 23 a la mitad baja (AL) del registro AX y el 01 a la mitad alta (AH) del registro AX: </li></ul><ul><li>AH AL </li></ul><ul><li>AX </li></ul>23 01
  23. 23. DEBUG muestra los resultados en los registros. El contenido del registro IP es 0103H, que indica la ubicación del desplazamiento en el segmento del código de la siguiente instrucción que será ejecutada a saber: xxxx:0103 052500 ADD AX,0025 Para ejecutar esta instrucción, introduzca otra T. la instrucción ADD suma 25H a la mitad baja del registro AX y 00H a la mitad alta, en realidad suma 0025H al AX. Ahora AX contiene 0148H y el IP contiene 016H para la siguiente instrucción que se ejecutara: xxxx:0106 8BD8 MOV BX,AX. Teclee T. la instrucción MOV mueve el contenido del registro AX a BX. Después de mover BX contiene 0148H AX aun contiene 0148H ya que MOV copia en el lugar de mover los datos de esa localidad a otra. Ahora teclee T hasta pasar por el resto de las instrucciones. La instrucción ADD suma el contenido de AX a BX, dando 0290H en BX. Después el programa mueve el contenido de BX a CX, resta a AX de CX y resta AX de el mismo. Después de la ultima operación la bandera de cero se cambia de NZ a ZR para indicar que el resultado de la ultima operación fue cero. A continuacion se muetra todos los pasos.
  24. 25. Mostrar el contenido de memoria Para mostrar la ultima instrucción NOP presione T, pero esta instrucción no realiza cosa alguna. En lugar de eso para ver el programa en lenguaje de máquina en el segmento del código requiere el siguiente despliegue: D CS:100 DEBUG muestra 16 bytes de datos en cada línea. A la derecha esta la representación ASCII de cada byte. La primera línea del despliegue inicia en el desplazamiento 100H del segmento del código y representa el contenido de CS:100 hasta CS:10F. La segunda línea representa el contenido CS:110 hasta CS:11F.
  25. 26. Corregir una entrada. Si se introduce un valor erróneo en el segmento de datos o en el segmento de código, reintroducir el comando E para corregirlo. También se reanuda la ejecución en la primera instrucción indicando el registro IP con 0100. se teclea el comando R seguido por el registro designado, esto es, R IP [Enter]. DEBUG muestra el contenido de IP y espera por una entrada. Se teclea el valor 0100, Enter, después se teclea R. DEBUG muestra los registros, banderas y la primera instrucción que será ejecutada. Ya se puede usar T para volver a rastrear las instrucciones paso a paso.
  26. 27. Introducir un programa simbólico en ensamblador. El ejercicio de programa fue en formato de lenguaje máquina, también puede utilizar DEBUG para ingresar instrucciones simbólicas en lenguaje ensamblador. Ahora examinaremos como introducir enunciados en lenguaje ensamblador. El comando A. A (ensamblar) le dice a DEBUG que acepte instrucciones simbólicas en ensamblador y las convierte en lenguaje maquina. Inicialice la dirección de inicio en el segmento de código con desplazamiento 100H para sus instrucciones como: A 100 (Enter) DEBUG muestra el valor del segmento de código y el desplazamiento como xxxx:0100
  27. 28. A continuación se teclea cada una e las siguientes instrucciones seguido de un Enter. MOV AL,25 MOV BL,32 ADD AL,BL NOP DEBUG muestra lo siguiente: Puede ver que DEBUG ha terminado la localidad de inicio de cada instrucción. Pero antes de ejecutar el programa usemos el comando U (desensamblar) de DEBUG para examinar el lenguaje de máquina generado.
  28. 29. El comando U Muestra el código de máquina para sus instrucciones en lenguaje ensamblador. Se puede usar este comando para indicarle a DEBUG las localidades de la primera y ultima instrucción que quiere ver, en este caso, 100H y 106H. Teclee U 100,106 (Enter) Y la pantalla muestra: Ahora rastree le ejecución del programa, el código de máquina es lo que realmente se ejecuta. Introducir R para desplegar los registros y la primera instrucción , después T sucesivamente para rastrear las instrucciones subsecuentes. Cuando se llega a NOP se puede continuar con la siguiente instrucción si no presionar Q para salir.
  29. 30. La instrucción INT A continuación se muestra como accesar el DOS y el BIOS para enviar información acerca del sistema, por el cual se utiliza la instrucción INT (interrupción) la cual sale de un programa, ingresa una rutina del DOS o de BIOS, realiza la función solicitada y regresa a su programa. Usaremos el comando P (proceder) de DEBUG para ejecutar toda la rutina de interrupción. Obtener el numero de versión del DOS. A veces es necesario saber cual es la versión del DOS que la computadora esta corriendo. La instrucción que entrega el numero de versión es INT 21H del DOS, función 30H; esto es, cargue 30H en el registro AH y solicite INT 21H. Ingrese A 100 de DEBUG y las siguientes instrucciones en ensamblador: MOV AH,30 INT 21 NOP (Enter adicional)
  30. 31. Para rastrear la ejecución de las instrucciones primero ingresar R para ver los registros y T para rastrear MOV. En lugar de rastrear la instrucción INT, ingrese P para ejecutar toda la rutina del DOS. El proceso termina con la instrucción NOP. Ahora se ve el AL el numero principal de la versión DOS como X en DOS X.20, y en el AH el numero secundario de la versión, como 14H (o 20) en DOS X.20
  31. 32. <ul><li>Guardar un programa desde DEBUG </li></ul><ul><li>Se puede guardar un programa en disco bajo dos circunstancias: </li></ul><ul><li>Para leer el programa, modificarlo y después guardarlo: </li></ul><ul><li>Lea el programa bajo su nombre: DEBUG n:nombredearchivo. </li></ul><ul><li>Utilice el comando D para ver el programa en lenguaje de maquina y use E para ingresar los cambios. </li></ul><ul><li>Utilice el comando W (escribir) para grabar el programa revisado. </li></ul>
  32. 33. <ul><li>Usar DEBUG para escribir un pequeño programa en lenguaje de máquina </li></ul><ul><li>que ahora quiera guardar: </li></ul><ul><li>Solicite el programa DEBUG. </li></ul><ul><li>Utilice A (ensamblar) y E (ingresar) para crear el programa. </li></ul><ul><li>Ponga nombre al programa N nombredearchivo.COM la extensión del </li></ul><ul><li>programa debe ser .COM </li></ul><ul><li>Cuando termine el programa en realidad, indique a DEBUG el tamaño del </li></ul><ul><li>programa en bytes </li></ul><ul><li>Utilice R BX para mostrar el BX, e ingrese 0 para limpiarlo </li></ul><ul><li>Ahora use R CX para mostrar el registro CX </li></ul><ul><li>Grabe el programa revisado: W (Enter) </li></ul>
  33. 34. Lenguaje ensamblador: Operador PTR Aquí otro programa que introduce algunas características nuevas, donde se mueven y se suman datos entre las localidades de memoria y registro. Instrucciones: 00 00 00 DB 120 00 00 DB 11E 05 00 DB 11C 14 23 DB 11A   NOP 119   NOP 118 BYTE PTR [122],30 MOV 113 WORD PTR [120],25 MOV 10D [11E],AX MOV 10A AX,25 ADD 107 AX,[11C] ADD 103 AX,[11A] MOV 100
  34. 35. Una explicación de las instrucciones es: Se sigue el mismo procedimiento teclear A 100, después todas las instrucciones y un Enter de más. Se introduce R para mostrar el registro y la primera instrucción, después T sucesivamente. Salir de la ejecución cuando se llega a NOP en 118. teclear D 110 para mostrar los contenidos combinados de AX (233E) y de las localidades 11EH-11EF (3e23), 120H-121H (2500) y 122H (30) Define otros valores de bytes para uso en el programa. 11C, 11E y 120 Define los valores de bytes 14H y 23H. DB (definir bytes) le permite definir datos que sus instrucciones están referenciado. 11A Mueve el valor inmediato 30H a la localidad de memoria 122H. Queremos mover un byte y el operador BYTE PTR indica longitud. 113 Mueve el valor inmediato 25H a las localidades de memoria 120h-121H. El operador WORD PTR indica a DEBUG que debe mover el 25H a una palabra de memoria 10D Mueve el contenido de AX a las localidades de memoria 11EH-11EF 10A Suma el valor inmediato 25H al AX 107 Suma el contenido de todas las localidades de memoria 11CH-1DH al AX 103 Mueve el contenido de las localidades de memoria 11AH-11BH al AX. Los corchetes indican una dirección de memoria y no valores 100
  35. 36. Conclusión. DEBUG puede ser uno de los programas mas antiguas que hay pero todavía realiza lo que se le indica. Como se dijo es útil para probar y depurar programas escritos en lenguaje máquina y en lenguaje ensamblador. Se espera que lo investigado sea de gran utilidad para investigaciones futuras.
  36. 37. Bibliografía. Libro: Lenguaje ensamblador y programación para IBM PC compatibles. Autor: Abel Peter Editorial: Pearson Educación
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×