Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 1
Objetivo General
Objetivos específicos
Materiales y equipos
Guía de laboratorio
Computadora PC con el programa EMU8086
Procedimiento
PRIMER PROGRAMA
NOTA: en este programa se están usando la instrucción con registros de 8 y
16 bits, así como las directivas DB y DW.
#make_COM#
INICIO org 100h
INICIO:
DL = dato1
AH = mascara1
mov dl, dato1 ;primera parte
mov ah, masca1
DL =DL & AH
and dl, ah
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
8) Ejecute paso a paso el primer bloque. Anote los datos con los que se realizan
las operaciones y los resultados de las mismas, los registros que intervienen en
el proceso y el estado de las banderas en cada paso del proceso.
__________________________________________________________________
Guía
2 3
__________________________________________________________________
SEGUNDO PROGRAMA
#make_COM#
INICIO org 100h
INICIO:
DL = 1Ah
AX = 02CC2h
mov dl, 1Ah ;primer bloque
mov ax, 02CC2h
DL = DL XOR 0FFh
xor dl, 0FFh
DL = NOT DL not dl
ret
FIN
END
9) Ejecute ahora el segundo bloque y anote los datos con los que se opera, los
resultados y las banderas que se activan durante el proceso.
__________________________________________________________________
__________________________________________________________________
xor ah, dl
11) Repita los pasos 8 y 9 ¿qué diferencias nota?
__________________________________________________________________
__________________________________________________________________
Guía
2 4
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
15) Ejecute solo las primeras dos instrucciones, monitoreando las banderas ¿Cuáles
se activaron?, ¿cuál fue el resultado de la operación? ¿cómo interpreta el
resultado?
__________________________________________________________________
__________________________________________________________________
Guía
2 5
TERCER PROGRAMA
#make_COM#
INICIO
org 100h
INICIO:
AH = 0B9h
mov ah, 0B9h ;En binario 1011_1001
AH = AH AND 40h
and ah, 40h ;Mascara 0100_0000
;Si Z=1 implica que D6=0
AL = AL OR 01
or ah, 01 ;borra las banderas activas
AH = 0B9h
mov ah, 0B9h
AH = AH TEST 40h
test ah, 40h
FIN ret
END
16) Ejecute hasta la instrucción TEST y conteste otra vez las preguntas del punto 15
del procedimiento.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
17) En las instrucciones 2ª y 5ª cambie los dos datos 40h por 08h y repita los pasos
del 14 al 16, ¿cómo se modificó el resultado del programa? Anote su respuesta.
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
Análisis de resultados
a) Primer programa.
¿Qué objetivos se buscan al usar la mascara1 (F0h) con las tres diferentes
instrucciones lógicas?
Cuando se ejecuta la primera instrucción AND el bit D7 termina en estado alto y se
activa la bandera S, en la segunda instrucción AND también termina en alto, pero esta
vez no se activa la bandera ¿por qué?
Guía
2 6
Cuando se ejecuta la tercera instrucción lógica, ya sea AND u OR, las banderas
reaccionan de forma similar. Pero cuando se ejecuta con la instrucción XOR no ¿por
qué ocurre eso?
En el programa se declaran datos para hacer las operaciones ¿dónde se guardan estos
datos?
b) Segundo programa.
Cuando se ejecutan el primer bloque del programa el resultado se almacena en DL, lo
mismo curre con el segundo bloque; los dos resultados son idénticos, pero el estado de
las banderas no lo es ¿por qué?
Al modificar el programa, tanto los resultados como las banderas terminaron en
distintos estados ¿cuáles fueron los cambios específicos que observo?
c) Tercer programa.
¿Cuál es la diferencia fundamental que noto a comparar las instrucciones AND y TEST?
¿Qué relación existe entre los bit que deseamos probar y el valor específico de la
mascara seleccionada?
Tarea complementaria
Bibliografía
Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.
Arquitectura, programación e interfaces, Prentice Hall, México DF, 19953
Biblioteca UDB 001.6404 B847 1997
Puede consultar el material en línea del EMU8086 sobre los temas de esta actividad. Se
recomiendan: