2 1
Instrucciones Lógicas y
Facultad: Estudios Tecnologicos.
Registro de Banderas Escuela: Electrónica
Asignatura: Microprocesadores
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 = mov dl, dato1 ;primera parte
mascara1 mov ah, masca1
or cx, bx:
or cx, cx:
6) Sustituya ahora por la instrucción XOR y repita el paso 4.
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
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.
10) Modifique la tercera y séptima instrucción del programa escribiendo
11xor ah, dl
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
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?
16)Ejecute hasta la instrucción TEST y conteste otra vez las preguntas del
punto 15 del procedimiento.
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é?
Porque las operaciones lógicas que se van realizando, hacen que cambien los flags Al
modificar el programa, tanto los resultados como las banderas terminaron en distintos
estados y los valores de las operaciones se almacenan al registro que les corresponde.
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 máscara seleccionada?
Tarea complementaria
Bibliografía
Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.
3
Arquitectura, programación e interfaces, Prentice Hall, México DF, 1995
Biblioteca UDB 001.6404 B847 1997
Puede consultar el material en línea del EMU8086 sobre los temas de esta actividad.
Se recomiendan: