0% encontró este documento útil (0 votos)
343 vistas6 páginas

Emu 8086 PDF

Este documento presenta una guía de laboratorio para analizar cómo se ejecutan las instrucciones lógicas en un microprocesador y cómo afectan al registro de banderas. Incluye tres programas que utilizan instrucciones lógicas como AND, OR y XOR para operar datos y observar el estado de las banderas. El objetivo es examinar cómo modifican el registro de banderas dependiendo del tipo de operación y datos.

Cargado por

Andres Felipe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
343 vistas6 páginas

Emu 8086 PDF

Este documento presenta una guía de laboratorio para analizar cómo se ejecutan las instrucciones lógicas en un microprocesador y cómo afectan al registro de banderas. Incluye tres programas que utilizan instrucciones lógicas como AND, OR y XOR para operar datos y observar el estado de las banderas. El objetivo es examinar cómo modifican el registro de banderas dependiendo del tipo de operación y datos.

Cargado por

Andres Felipe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Gua

Instrucciones Lgicas y Registro de


Banderas

Facultad: Estudios Tecnologicos.


Escuela: Electrnica
Asignatura: Microprocesadores

Objetivo General
Analizar la forma en que se ejecutan algunas instrucciones lgicas observando como
stas afectan al registro de estados.

Objetivos especficos

Examinar detenidamente la manera en que se ejecutan algunas instrucciones


lgicas
Analizar la manera en que se modifica el registro de banderas, dependiendo del
tipo de operacin y los datos que operen.
Identificar las caractersticas propias de las mscaras que se utilizan junto con
las instrucciones lgicas.

Materiales y equipos

Gua de laboratorio
Computadora PC con el programa EMU8086

Procedimiento
1) Ejecute el programa emulador de microprocesadores 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 gua de laboratorio se declararn datos de diferentes maneras, no los
pierda de vista.

Gua

PRIMER PROGRAMA
NOTA: en este programa se estn usando la instruccin con registros 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
9Ah
dw
02CC2h
db
0F0h
dw
0F0Fh

4) Compile y ejecute el programa paso a paso, monitoreando el registro de


estados (FLAGS) luego de cada operacin AND. Anote los datos con los que se
opera, los resultados y las banderas que se activan.
__________________________________________________________________
__________________________________________________________________
5) Modifique las lneas que contienen la instruccin AND, sustituyndola por la
instruccin OR. Repita desde el paso 4.
__________________________________________________________________
__________________________________________________________________
6) Sustituya ahora por la instruccin 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.
__________________________________________________________________

Gua

__________________________________________________________________
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 dl

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.
__________________________________________________________________
__________________________________________________________________
10) Modifique la tercera y sptima instruccin del programa escribiendo
xor ah, dl
11) Repita los pasos 8 y 9 qu diferencias nota?
__________________________________________________________________
__________________________________________________________________

Gua

12) Como se ha visto en los programas anteriores, algunas de las banderas se


activan del resultado de una instruccin. Pero tambin algunas banderas se
pueden activar o desactivar mediante instrucciones especficas, sin tomar en
cuenta el resultado de alguna operacin. Como un ejemplo inserte la siguiente
modificacin en el SEGUNDO PROGRAMA:
mov dl, 1Ah
mov ax, 02CC2h
xor dl, ah
xor dl, 0FFh
stc
;Activa la bandera C
std
;Activa la bandera D
cli
;Desactiva la bandera I
mov dl, 1Ah
mov ax, 2CC2
clc
;Desactiva la bandera C
cld
;Desactiva la bandera D
sti
;Activa la bandera I
xor dl, ah
13) Ejecute paso a paso el programa monitoreando simultneamente el estado de
las banderas, note como se activan o desactivan.
Cules son sus conclusiones?
__________________________________________________________________
__________________________________________________________________
__________________________________________________________________
14) Digite el TERCER 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?
__________________________________________________________________
__________________________________________________________________

Gua

TERCER PROGRAMA

INICIO

#make_COM#
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

or ah, 01

;borra las banderas activas

AL = AL OR 01

AH = 0B9h

mov ah, 0B9h

AH = AH TEST 40h

test ah, 40h

FIN

ret
END

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?

Gua

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
En el programa se declaran algunos datos que sern operados dnde se almacenan
estos datos?
Investigue que son las directivas DB y DW
Escriba un programa que dado un dato almacenado en AX invierta el estado de los bits
impares desde el D5 hasta el D1, borre los bits pares desde el D6 hasta el D2 y
coloque en 1 los bits D7 y D0

Bibliografa
Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.
Arquitectura, programacin e interfaces, Prentice Hall, Mxico DF, 19953
Biblioteca UDB 001.6404 B847 1997
Puede consultar el material en lnea del EMU8086 sobre los temas de esta actividad. Se
recomiendan:

Arithmetic and logic instructions ,


http://www.emu8086.com/assembly_language_tutorial_assembler_reference/a
sm_tutorial_06.html

También podría gustarte