2 1
Objetivo General
Objetivos especficos
Materiales y equipos
Gua de laboratorio
Computadora PC con el programa EMU8086
Procedimiento
DL = dato1
AH =
mov dl, dato1 ;primera
mascara1 parte mov ah, masca1
DL =DL &
and dl, ah
AH
observamos el comportamiento de los flags como el flag IF tiene una valor lgico de 1
podemos observar en los flags que posterior al primer AND en los flags se activan con 1 logico los
siguientes flags: SF, PF, IF
podemos analizar el siguiente AND y el comportamiento de los flags mantiene el mismo que el estado
anterior
En
el
En
la
instruccin siguiente al primer OR observamos la activacin de los siguientes flags: SF, PF,
IF.
En
la
instruccin posterior al primer XOR observamos un cambio en la activacin de los flags los cuales
pasan a estar activos los siguientes: PF, IF
En
el
segundo XOR observamos que los flags no presentan cambios respecto a las instrucciones anteriores
En
el
ultimo XOR observamos como varia la activacin de los flags a pasar a solamente activarse el flag IF
En
la
instruccin posterior al ultimo XOR observamos un cambio de activacin en los flags los cuales
estarn activos nicamente los siguientes: ZF, PF, IF
7) Digite el SEGUNDO PROGRAMA, que est dividido en dos partes.
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.
Primera instruccin del primer bloque con solamente el flag IF activado
Segunda instruccin del primer bloque manteniendo los mismos flags activados
Ultima instruccin del primer bloque donde tambin podemos observar la variacin de los flags
activados en esta instruccin
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.
Primera instruccin del segundo bloque activando los flag SF, PF, IF
Ultima instruccin ejecutada en el segundo bloque del programa, manteniendo los mismos flags que
la instruccin ejecutada anteriormente
xor ah, dl
Programa con el cambio de la instruccin indicada
Primer bloque
Primera instruccin del primer bloque solo activando el flag IF
Segunda instruccin del primer bloque manteniendo los mismos flags activos que la instruccin
anteriormente ejecutada
Primero XOR ejecutado del primer bloque manteniendo los mismos flags activos
Ultima instruccin ejecutada en el primer bloque, a su vez activa otros flags como son PF, IF
Segundo Bloque
Primera instruccin del segundo bloque activando los siguientes flags: SF, PF, IF
Instruccin NOT la cual hizo presentar un cambio en los flags desactivando el flag SF
Como podemos observar la diferencia bsica es que el cambio de flags se hace mediante
instrucciones predeterminadas en cada bloque analizado del programa
15)Ejecute solo las primeras dos instrucciones, monitoreando las banderas Cules
se activaron?, cul fue el resultado de la operacin? cmo interpreta el
resultado?
TERCER PROGRAMA
#make_COM#
INICIO org 100h
INICIO
AH = 0B9h :
mov ah, 0B9h;En binario
AH = AH AND
40h 1011_1001 and ah, 40h ;Mascara
AL = AL OR 01 0100_0000
;Si Z=1 implica que
banderas activas
AH = AH TEST
40h
FIN
16)Ejecute hasta la instruccin 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, cmo se modific el resultado del programa? Anote su respuesta.
Anlisis de resultados
a) Primer programa.
Qu objetivos se buscan al usar la mascara1 (F0h) con las tres diferentes
instrucciones lgicas?
Cuando se ejecuta la primera instruccin AND el bit D7 termina en estado alto y se
activa la bandera S, en la segunda instruccin AND tambin termina en alto, pero esta
vez no se activa la bandera por qu?
Cuando se ejecuta la tercera instruccin lgica, ya sea AND u OR, las banderas
reaccionan de forma similar. Pero cuando se ejecuta con la instruccin XOR no por
qu ocurre eso?
En el programa se declaran datos para hacer las operaciones dnde 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 idnticos, 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 cules fueron los cambios especficos que observo?
c) Tercer programa.
Cul es la diferencia fundamental que noto a comparar las instrucciones AND y TEST?
Qu relacin existe entre los bit que deseamos probar y el valor especfico de la
mascara seleccionada?
Tarea complementaria
Bibliografa
Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.
3
Arquitectura, programacin e interfaces, Prentice Hall, Mxico DF, 1995
Biblioteca UDB 001.6404 B847 1997
Puede consultar el material en lnea del EMU8086 sobre los temas de esta actividad.
Se recomiendan: