Está en la página 1de 6

25/09/2019

PRACTICA 4
3-1. ¿Cuál es el propósito de cada uno de los siguientes
comandos de DEBUG? (a) A; (b) D; (c) E; (d) P;(e) Q; (f) R;
(g) T; (h) U.

a) A: Ensamblar instrucciones simbólicas y pasarlas a


código máquina.
b) D: Mostrar el contenido de un área de memoria.
c) E: Introducir datos en memoria, iniciando en una
localidad especifica.
d) P: Proceder o ejecutar un conjunto de instrucciones
relacionadas.
e) Q: Salir de la sesión con DEBUG.
f) R: Mostrar el contenido de uno o más registros
g) T: Rastrear la ejecución de una instrucción.
h) U: “Desensamblar” código de maquina y pasarlo a código
simbólico.

3-2. Proporcione los comandos de DEBUG para las siguientes


necesidades.
(a) Muestre la memoria iniciando en el desplazamiento 264H
en el segmento de datos. -D CS:02 64
(b) Muestre la memoria iniciando en la localidad 410H.
(Nota: Separe esta dirección en los valores de su segmento y
del desplazamiento.)
(b) Ingrese el valor hexadecimal A8B364 en el segmento de
datos iniciando en la localidad 200H.
-E CS:200 A8 B3 64
-D CS 200
(d) Muestre el contenido de (i) todos los registros y (ii)
sólo del registro IP.
(e) Desensamble el código de máquina que se encuentra en las
localidades desde la 100H hasta 11EH.
3-3 Proporcione instrucciones en código de máquina para las
siguientes operaciones: (a) Mover el valor 4629 hexadecimal
al registro AX; (b) sumar el valor hexadecimal 036A al
registro AX
3-4. Suponga que ha utilizado DEBUG para introducir el
comando siguiente:
E CS:100 B8 45 01 05 25 00
El valor 45 hexadecimal supuestamente era 54. Codifique otro
comando E para corregir sólo el byte que está incorrecto;
esto es, cambie el 45 por el 54 de forma directa.

3-5. Suponga que ha utilizado DEBUG para introducir el


comando E siguiente:
E CS:100 B8 04 30 05 00 30 90
(a) ¿Cuáles son las tres instrucciones simbólicas
representadas aquí? (El primer programa en este capítulo da
una pista.)
(b) Al ejecutar este programa, usted descubre que el
registro AX termina con 6004 en lugar del esperado 0460.
¿Cuál es el error y cómo lo corregiría?
(c) Habiendo corregido las instrucciones, usted ahora vuelve
a ejecutar el programa desde la primera instrucción. ¿Cuáles
son los dos comandos de DEBUG que se requieren?
3-6. Considere el programa en lenguaje de máquina
B0 25 DO E0 B3 15 F6 E3 90
Este programa realiza lo siguiente:
• Mueve el valor 25 hexadecimal al registro AL.
• Recorre el contenido de AL un bit a la izquierda. (El
resultado es 4A.)
• Mueve el valor 15 hexadecimal al registro BL.
• Multiplica el AL por el BL.
3-7. Utilice el comando E de DEBUG para introducir el
siguiente programa en lenguaje de máquina:
C ó d i g o de m á q u i n a (en 100H) : A0 00 02 DO E0 F6 26
01 02 A3 02 02 90 D a t o s (en 2 0 0 H ) : 25 15 00 00
Este programa realiza lo siguiente:
• Mueve el contenido de un byte en DS:0200 (25) al registro
AL.
• Recorre el contenido de AL un bit a la izquierda. (El
resultado es 4A.)
• Multiplica el AL por un byte contenido en DS:0201 (15).
• Mueve el producto de AX a la palabra que inicia en
DS:0202.
Después de introducir el programa, teclee los comandos D para
ver el código y los datos.
Después teclee R y suficientes comandos T, de manera
sucesiva, para avanzar por el programa hasta que llegue a
NOP. Al llegar a este punto, el AX debe contener el producto
en memoria en 0612H. Teclee otro D DS:0200 y note que el
producto en DS:0202 es almacenado como 1206H.
3-10. ¿Cuál es el propósito de la instrucción INT? R:
Es una interrupción. la cual sale de su programa,
ingresa una rutina del DOS o de BIOS, realiza la función
solicitada y regresa a su programa.

También podría gustarte