Академический Документы
Профессиональный Документы
Культура Документы
FIEC
Laboratorio de Microprocesadores
Prctica 1
FAMILIARIZACION CON LA
ARQUITECTURA DE LOS
PROCESADORES x86
Estudiantes:
Pedro Carvajal Ruiz
Jimmy Fuentes Gonzlez
Paralelo # 1
Grupo # 2
Fecha de presentacin:
18/05/16
2016- 1er Trmino
2. Diagrama de bloques
Ejercicio 2
1. Se verifica si el valor de la IP del segmento de cdigo es 100, si no lo
es utilice R IP para poder hacerlo.
2. Se ingresa el dato 1ABF mediante el ordenamiento del pequeo indio
en la direccin 200 del segmento de datos
3. Se ensambla las instrucciones del programa con el comando A.
4. Se inicializa con la instruccin NOP que no realiza ninguna funcin.
5. Se utiliza la instruccin MOV para asignar al registro AX el dato 5A48.
6. Se asigna a BX el contenido que hay en la posicin 200 del
segmento de datos.
7. Mediante la instruccin ADD, se suma los datos de ambos registros y
se lo guarda en el registro AX.
8. Se finaliza con la instruccin NOP.
Ejercicio 3
1. Se verifica si el valor de la IP del segmento de cdigo es 100, si no lo
es utilice R IP para poder hacerlo.
2. Se instala los datos en memoria, es decir en el segmento de datos en
la posicin 150 y 151 y en 200 y 201. Se utilizan 4 casillas de
direcciones debido a que se est trabajando con 16 bits.
3. Se ensambla las instrucciones del programa con el comando A.
4. Se inicializa con la instruccin NOP que no realiza ninguna funcin.
5. Se utiliza la instruccin MOV para asignar a los registros AX y BX los
datos anteriormente almacenados, a AX se le asigna [150] y BX
[200].
6. Mediante la instruccin ADD, se suma los datos de ambos registros y
se lo guarda en el registro BX.
7. Se finaliza con la instruccin NOP.
Ejercicio 4
1. Se verifica si el valor de la IP del segmento de cdigo es 100, si no lo
es utilice R IP para poder hacerlo.
2. Se ensambla las instrucciones del programa con el comando A.
3. Se inicializa con la instruccin NOP que no realiza ninguna funcin.
4. Se asigna el valor de 02 al registro AH y 24 al registro DL.
5. Se utiliza la instruccin INT 21 que sirve para concatenar los datos
anteriores.
6. Se asigna el valor de 24 al registro DL.
7. Se utiliza nuevamente la instruccin 21 para concatenar el dato de
AH y DL.
8. Se finaliza con la instruccin NOP.
Ejercicio 5
1. Se verifica si el valor de la IP del segmento de cdigo es 100, si no lo
es utilice R IP para poder hacerlo.
2. Se ensambla las instrucciones del programa con el comando A.
3. Se inicializa con la instruccin NOP que no realiza ninguna funcin.
4. Se asigna el valor de 2 al registro AH y 2H al registro DL.
5. Se utiliza la instruccin INT 21 que sirve para concatenar los datos
anteriores.
6. Se asigna el valor de 23 al registro DL.
7. Se utiliza nuevamente la instruccin INT 21 para concatenar el dato
de AH y DL.
8. Se utiliza la instruccin INT 20 el cual al terminar de ejecutar las
instrucciones me permite el regreso al nivel de comandos del
programa Debug.
9. Se finaliza con la instruccin NOP.
Ejercicio 6
1. Cambiar el valor de la IP del segmento de cdigo a 200.
2. Se procede a ensamblar las instrucciones del programa con el
comando A.
3. Se inicializa con la instruccin NOP que no realiza ninguna funcin.
4. Se asigna el valor de 9 al registro AH y 020C al registro DX.
5. Se utiliza la instruccin INT 21 que sirve para concatenar los datos
anteriores.
6. Se asigna el valor de 0 al registro AH.
7. Se utiliza nuevamente la instruccin INT 21 para concatenar el dato
de AH y DL.
8. En la siguiente lnea de programa se escribe una cadenas de
caracteres
Ejercicio 7
1. Se verifica si el valor de la IP del segmento de cdigo es 100, si no lo
es utilice R IP para poder hacerlo.
2. En la direccin 200 del segmento de cdigo se asigna una cadena de
caracteres.
3. Se ensambla las instrucciones del programa con el comando A.
4. Se inicializa con la instruccin NOP que no realiza ninguna funcin.
5. Se asigna el valor de 9 al registro AH y 0200 al registro DX.
6. Se utiliza la instruccin INT 21 que sirve para concatenar los datos
anteriores.
7. Se utiliza la instruccin INT 20 el cual al terminar de ejecutar las
instrucciones me permite el regreso al nivel de comandos del
programa Debug.
8. Se finaliza con la instruccin NOP.
AX, 1234
MOV
BX, 28AB
ADD
AX, BX
NOP
Ejercicio 2
NOP
MOV
AX, 1234
MOV
BX, 28AB
ADD
AX, BX
NOP
Ejercicio 3
DS: 150
2E
DS: 151
BA
DS: 200
4C
DS: 201
12
NOP
MOV
AX, [150]
MOV
BX, [200]
cdigo la asigna a BX
ADD
BX, AX
NOP
Ejercicio 4
NOP
MOV
AH, 02
MOV
DL, 24
INT
21
MOV
DL, 26
INT
21
Concatena el dato de AH y DL
Concatena el contenido de AH y DL
NOP
Ejercicio 5
NOP
MOV
MOV
INT
MOV
INT
INT
NOP
Ejercicio 6
NOP
MOV
AH, 9
MOV
DX, 020C
INT
21
MOV
AH, 0
INT
21
Ejercicio 7
NOP
MOV
AH, 9
MOV
DX, 0200
INT
21
INT
20
NOP
6. Simulaciones
Ejercicio# 1
Ejercicio# 2
Ejercicio# 3
Ejercicio# 4
Ejercicio# 5
Ejercicio# 6
Ejercicio# 7
7. Conclusiones
8. Recomendaciones
9. Anexos
Ejercicio# 1
Cul es el resultado de la suma que la instruccin ADD deja en el
operando destino AX?
AX=3ADF
Ejercicio# 2
Con el comando T ejecute paso a paso las tres instrucciones. Cul es el
resultado de la suma que la instruccin ADD AX, [200] deja en su
operando destino AX?
AX= 7507
Ejercicio# 3
En el segmento de cdigo CS: 100, con comando A ensamble una
secuencia de instrucciones que sume los dos nmeros de 16 bits y deje el
resultado en el registro BX. Con T ejecute sus instrucciones paso a paso
y verifique el contenido final de BX.
Escriba el contenido final de BX = CC7A
Ejercicio# 4
Qu pasa en pantalla cuando el procesador ejecuta por primera vez la
instruccin INT 21?, luego qu pasa en pantalla cuando ejecuta INT 21
por
segunda
vez?
La funcin INT al ejecutarse por primera vez se concatena el AH&DL y
guardndolo en AX= 0224. La segunda vez se concatena el AH&DL y se
guarda en AX, como se cambi el DL=26 ahora AX= 0226.
Ejercicio# 5
Qu se visualiza en pantalla?
Se visualiza el mensaje: El programa ha terminado de forma normal
Ejercicio# 6
1) En la Funcin 9 de MSDOS, Qu papel desempea el carcter
especial $?
Sirve para finalizar el programa.
2) La directiva DB.
La directiva DB (Define byte) reserva memoria para datos de tipo
byte (8 bits), o para una variable de este tipo, inicializando o no dicho
byte y los posteriores.
3) Significado de los caracteres de control 0D y 0A.
0A: Es en smbolo el LF (linefeed) que es salto de lnea.
0D: Es el smbolo CR que es retorno de carro.
Ejercicio# 7
Qu imprime, tome foto a la pantalla?
09E: 0100 90
MOV AH, 9
INT
21
INT
20