Beruflich Dokumente
Kultur Dokumente
CUI: 20103197
Contenido
Usando el DEBUG .......................................................................................................................... 2
Programa de suma y promedio: .................................................................................................... 4
Programa de ordenamiento .......................................................................................................... 8
Bibliografa: ................................................................................................................................. 11
Usando el DEBUG
Usamos mquina virtual con Windows XP o usamos el programa DOSbox que est en el CD del
curso.
En este caso usamos el programa DOSbox, para ello hay que seguir los siguientes pasos:
1) Instalar el programa:
2) Obtener el archivo Debug.exe, en este caso lo obtuvimos de una mquina virtual con
Windows XP, tambin puede ser descargado de internet.
4) Ahora que ya tenemos el archivo debug.exe en la PC, debemos ejecutarlo, para ello
arrancamos el DOSbox.
-mount D: D:\
-D:
-debug
LOOP lazo
MOV
POP
DIV
mov
mov
[BX+09h],AL
cx
cx
[BX+0A],AL
[BX+0B],DX
Desarrollo:
1) Primero cargamos los nmeros a memoria:
Para ello usamos el comando e del debug.
Para finalizar la escritura del cdigo, apretamos enter una vez al final sin escribir ninguna
instruccin
3) Ahora vamos a ejecutar nuestro programa
Para ello usamos el comando t [=xxxx:xxxx] donde xxxx:xxxx es la direccion de inicio de las
instrucciones del cdigo
En nuestro caso es 0769:0100
Podemos ir viendo como AX va incrementando en cada bucle, ya que es all donde se almacena
la suma de los nmeros, cuando se hayan terminado las 9 sumas, AX tendr el valor de 26h
(verde), CX el valor de 0h (Rojo) y SI el valor de 9h (Azul)
Al finalizar, el programa, usaremos D 200 para volver a revisar los valores de las memorias,
recordemos que la suma debe estar en 0209h (verde), el cociente (promedio) debe estar en
020Ah (rojo), y el resto de dicha divisin debe estar en 020Bh (azul).
Con esto habramos probado con xito el programa de suma y promedio de 9 nmeros.
7
Programa de ordenamiento
E. Programa, codificacin lenguaje mquina, ordenamiento de 9 numeros (8, 2, 2, 6, 7, 4, 3, 1,
5) usando bucles, inicio de direccin de datos [200]
Cdigo a usar:
setea_numeros:
MOV
[0200h],08h
MOV
[0202h],02h
MOV
[0204h],02h
MOV
[0206h],06h
MOV
[0208h],07h
MOV
[020Ah],04h
MOV
[020Ch],03h
MOV
[020Eh],01h
MOV
[0210h],05h
MOV BX,0200h
MOV CX,9
lazo1:
PUSH CX
MOV CX,8
MOV AX,[BX]
XOR SI,SI
Lazo2:
CMP AX,[BX+SI+2]
JA No_cambia
PUSH [BX+SI+2]
MOV [BX+SI+2],AX
POP [BX+SI]
No_cambia:
ADD SI,2
MOV AX,[BX+SI]
LOOP lazo2
POP CX
LOOP lazo1
Desarrollo:
1) Primero cargamos los nmeros a memoria:
Para ello usamos el comando e del debug.
10
Se har un barrido una y otra vez para encontrar valores menores a la izquierda de un valor
mayor, en caso suceda, se har un intercambio de valores.
La secuencia original es: 8 2 2 6 7 4 3 1 5, entonces el primer cambio que encontraremos ser
entre el 2 y el 6, siendo la secuencia cambiada a 8 2 6 2 7 4 3 1 5
Avanzaremos hasta el final del programa, el cual nos debe dar como resultado la secuencia
876543221
Podemos observar que la secuencia ha sido ordenada, por lo que queda demostrado la
funcionabilidad de este programa mediante la herramienta debug.
Bibliografa:
Maicol Blas - https://www.youtube.com/watch?v=CESBFuP5aHw
Maicol Blas - https://www.youtube.com/watch?v=3GVV8ncgeVU
http://kipirvine.com/asm/debug/debug_tutorial.pdf
11