Micro
Instrucciones Lógicas y Registro de
Banderas
2
Facultad: Estudios Tecnologicos.
Escuela: Electrónica
Asignatura: Microprocesadores
Objetivo General
Analizar la forma en que se ejecutan algunas instrucciones lógicas observando como
éstas afectan al registro de estados.
Objetivos específicos
Examinar detenidamente la manera en que se ejecutan algunasinstrucciones
lógicas
Analizar la manera en que se modifica el registro de banderas, dependiendo del
tipo de operación y los datos que operen.
Identificar las características propias de las máscaras que se utilizan junto con
las instrucciones lógicas.
Materiales y equipos
Guía de laboratorio
Computadora PC con el programa EMU8086
Procedimiento
1) Ejecute el programa emulador demicroprocesadores EMU8086, haciendo doble
clic en el icono del escritorio.
2) Cree un nuevo documento tipo COM
3) Digite el PRIMER PROGRAMA, recuerde que el encabezado es necesario para
crear un archivo COM.
En esta guía de laboratorio se declararán datos de diferentes maneras, no los
pierda de vista.
1
Guía
2
PRIMER PROGRAMA
NOTA: en este programa se están usando la instrucción conregistros de 8 y
16 bits, así como las directivas DB y DW.
#make_COM#
org 100h
INICIO
INICIO:
mov dl, dato1 ;primera parte
mov ah, masca1
DL = dato1
AH = mascara1
and dl, ah
DL =DL & AH
mov cx, dato2 ; segunda parte
mov bx, masca2
DX = dato2
BX = mascara2
and cx, bx
CX =CX & BX
CX =CX & CX
FIN
dato1
dato2
mascara1
mascara2
END
and cx, cx
ret
db
9Ahdw
02CC2h
db
0F0h
dw
0F0Fh
4) Compile y ejecute el programa paso a paso, monitoreando el registro de
estados (FLAGS) luego de cada operación AND. Anote los datos con los que se
opera, los resultados y las banderas que se activan.
__________________________________________________________________
__________________________________________________________________
5) Modifique las líneasque contienen la instrucción AND, sustituyéndola por la
instrucción OR. Repita desde el paso 4.
__________________________________________________________________
__________________________________________________________________
6) Sustituya ahora por la instrucción XOR y repita el paso 4.
____________________________________________________________________________________________________________________________________
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.
__________________________________________________________________
2Guía
2
__________________________________________________________________
SEGUNDO PROGRAMA
#make_COM#
org 100h
INICIO
INICIO:
mov dl, 1Ah
mov ax, 02CC2h
DL = 1Ah
AX = 02CC2h
;primer bloque
xor dl, ah
DL = DL XOR AH
xor dl, 0FFh
DL = DL XOR 0FFh
mov dl, 1Ah
mov ax, 2CC2h
DL = 1Ah
AX = 02CC2h
;segundo bloque
xor dl, ah
DL = DL XOR AH
not dlDL = 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.
__________________________________________________________________
__________________________________________________________________
10) Modifique la tercera y séptima instrucción del programa escribiendo
xor ah, dl11) Repita los pasos 8 y 9 ¿qué diferencias nota?
__________________________________________________________________
__________________________________________________________________
3
Guía
2
12) Como se ha visto en los programas anteriores, algunas de las banderas se
activan del resultado de una instrucción. Pero también algunas banderas se
pueden activar o desactivar mediante...
Regístrate para leer el documento completo.