PDF de programación - Microprocesadores. Guia 2 - El EMU8086 y el microprocesador 8086

Imágen de pdf Microprocesadores. Guia 2 - El EMU8086 y el microprocesador 8086

Microprocesadores. Guia 2 - El EMU8086 y el microprocesador 8086gráfica de visualizaciones

Publicado el 14 de Enero del 2021
799 visualizaciones desde el 14 de Enero del 2021
309,0 KB
11 paginas
Creado hace 12a (11/01/2012)
Microprocesadores. Guía 2

1

Facultad: Ingeniería.
Escuela: Electrónica.
Asignatura: Microprocesadores.
Lugar de ejecución: Microprocesadores (Edificio 3, 2da
planta).

EL EMU8086 Y EL MICROPROCESADOR 8086.

Objetivos específicos

Identificar los registros del modelo de programación del 8086.

• Ubicar en la memoria los diferentes segmentos que conforman un archivo EXE.

• Observar la relación que existe entre los lenguajes de ensamblador y máquina.


Emplear las instrucciones MOV y OUT.

Materiales y equipo

1 Computadora con el programa EMU8086.
1 Módulo IDL-800 Digital Lab o fuente de +5V con tarjeta con switches y leds.
1 Breadboard.
1 cable para puerto paralelo con identificación de pines.
1 Pinza y cortadora de alambre.






• Alambre de telefonía.

Procedimiento

1) Ejecute el emulador 8086.

2) Digite el primer programa y guarde el archivo asignándole como nombre su número de carnet.

3) Compile el archivo.

4) Use el botón “emulate” para cargar el archivo ejecutable, pero no lo ejecute.

5) Observe la ventana “original source code”

Anote la línea de instrucción que está resaltada en amarillo _____________________

2

Microprocesadores. Guía 2

PRIMER PROGRAMA

.model small
.stack
.data
BYTE1 DB 7Ah ;Declara byte (8 bits) en hexadecimal
BYTE2 DB 99 ;Declara byte en decimal
BYTE3 DB 11001111b ;Declara byte en binario
BYTE4 DB 'A' ;Declara byte en formato ASCII
BYTE5 DB ?
BYTE6 DB ?
BYTE7 DB ?
BYTE8 DB ?
.code

;hacia el microprocesador

mov AX,@data ;Mueve en AX la direccion donde
;esta el segmento de datos
mov DS,AX ;Mueve el contenido de AX a DS
mov AH, BYTE1 ;Mueve los datos desde la memoria
mov BL, BYTE2
mov CH, BYTE3
mov DL, BYTE4

mov BYTE5, AH ;Mueve los datos desde el micro hasta
mov BYTE6, BL ; la memoria
mov BYTE7, CH
mov BYTE8, DL

FIN:

mov ax, 4c00h ;fin del programa

int 21h

end

Microprocesadores. Guía 2

3

En la ventana “emulator” se presenta la información que se muestra en la Figura 1.

6) En la ventana “original source code” resalte (haga clic en) en el primero de los datos declarados

Figura 1. Ventana “emulator”

BYTE1.

7) Observe la ventana “emulator” y compare con la información de la Tabla 1.

8) Resalte cada uno de los datos declarados en el código fuente y complete la información de la

Tabla 1.

Determine la dirección de inicio y final del segmento de datos, tanto en formato absoluto como

en segmento:desplazamiento: __________________________________________________________

____________________________________________________________________________________

TIPO DE DATO

SEGMENTO DE DATOS

DIRECCION

SEGMENT:DESPLAZ

0720:0000

ABSOLUTA

07200

CÓDIGO DEL DATO

EN HEXADECIMAL

7Ah

BYTE

Tabla 1. Segmento de datos.

4

Microprocesadores. Guía 2

9)

Resalte la primera línea de instrucción del segmento de código.

10) Relacione la información de la Tabla 2 y la ventana “emulator.

11) Resalte cada una de las líneas de instrucción del segmento de código y complete la información

que hace falta en la Tabla 2.

Determine la dirección de inicio y final del segmento de código, tanto en formato absoluto como

en segmento:desplazamiento: __________________________________________________________

____________________________________________________________________________________

12) Para ubicar el segmento de PILA escribir en la dirección “SEGMENTO:DESPLAZAMIENTO” el

dato 0710:0100.

13) Suba unas cuantas direcciones y observará que contienen los datos (código hexadecimal) 54h.

Anote en la Tabla 3 la dirección del primero y del último dato que contenga 54h. Estos demarcan

el segmento de PILA o STACK.

14) Presione el botón “reload”.

15) Anote en la Tabla 4 el contenido de los registros del microprocesador.

16) Ejecute la primera línea de instrucción verificando que los datos son transferidos al

microprocesador.

Microprocesadores. Guía 2

5

DIRECCIONES DE

MEMORIA

SEGM:DESP ABSOLUTA

0721:0000
0721:0001
0721:0002

0721:0005
0721:0006
0721:0007
0721:0008
0721:0009
0721:000A
0721:000B
0721:000C

0721:0015
0721:0016
0721:0017
0721:0018
0721:0019
0721:001A
0721:001B
0721:001C

07210
07211
07212

07215
07216
07217
07218
07219
0721A
0721B
0721C

07221
07222
07223
07224
07225
07226
07227
07228
07229
0722A
0722B
0722C

0721:0025
0721:0026
0721:0027

07235
07236
07237

SEGMENTO DE CÓDIGO
Instrucciones en

lenguaje
máquina.
Códigos

Instrucciones
desensambladas

Instrucciones en

lenguaje

ensamblador

Hexadecimal

almacenados en

memoria

B8
20
07

8A
26
00
00
8A
1E
01
00

8A
16
03
00
88
26
04
00
88
1E
05
00

B8
00
4C

MOV AX,00720h mov AX,@data

MOV DS,AX

mov DS,AX

MOV BL,[00001h] mov BL, BYTE2

MOV [00004h],AH mov BYTE5, AH

mov BYTE6, BL

MOV [00006h],CH mov BYTE7, CH

MOV [00007h],DL

MOV AX,4C00h mov ax, 4c00h

INT 021h

Tabla 2. Segmento de código.

6

Microprocesadores. Guía 2

PILA O STACK

PRIMER DATO
ULTIMO DATO

DIRECCION

SEGMENT:DESPLAZ

ABSOLUTA

Tabla 3. Segmento de PILA.

IP:
DS:
Tabla 4. Contenido de los registros al inicio del código.

DX:
SI:

CX:
BP:

17) Ejecute la siguiente línea de instrucción corroborando la transferencia de datos.

18) Copie nuevamente el contenido de los registros en la Tabla 5.

AX:
SS:

AX:
SS:

BX:
SP:

BX:
SP:

CS:
DI:

CS:
DI:

CX:
BP:

DX:
SI:

IP:
DS:

Tabla 5. Contenido de los registros durante la ejecución del programa.

19) Abra la ventana “variables” y verifique que todas las variables declaradas son visibles.

20) Continúe ejecutando paso a paso hasta que los primeros cuatro datos hayan sido transferidos a

sus respectivos registros dentro del microprocesador.

21) Ejecute las siguientes cuatro instrucciones verificando los cambios en las variables declaradas.

22) Cierre la ventana “variables”

23) Recargue el programa.

24) En la ventana “emulator” presione el botón “aux” y ahí selecciones la opción “memory”. Debe

observar una imagen similar a la de la Figura 2.

25) En el espacio de la 1ª dirección escriba el valor 0720:0000 para observar el segmento de datos.

26) Ejecute nuevamente el programa paso a paso y verifique como los datos se van moviendo.

Figura 2. Ventana de memoria “Random Access Memory”

27) Digite el segundo programa

28) Emule el programa, pero no lo ejecute.

Microprocesadores. Guía 2

7

SEGUNDO PROGRAMA

.model small

.stack

.data

BYTE1 DB 0FFh

BYTE2 DB 0AAh

BYTE3 DB 18h

BYTE4 DB 96h

.code

mov AX,@data ;Mueve en AX la direccion donde esta el

mov DS,AX ;Mueve el contenido de AX a DS

mov DX, 110 ;Indica a que puerto se enviaran los datos



mov AL, BYTE1 ;carga en AL el dato BYTE1

out DX, AL ;envia el dato en AL al puerto 110



mov AL, BYTE2 ;carga en AL el dato BYTE2

out DX, AL ;envia el dato en AL al puerto 110

mov AL, BYTE3 ;carga en AL el dato BYTE3

out DX, AL ;envia el dato en AL al puerto 110

mov AL, BYTE4 ;carga en AL el dato BYTE4

out DX, AL ;envia el dato en AL al puerto 110

FIN:

mov ax, 4c00h ;fin del programa

int 21h

end

29) En la ventana “emulator” ubique “virtual devices” y seleccione la opción “simple.exe”. Debe

observar una ventana como la que se muestra en la Figura 3.

La dirección de este puerto es 110 (decimal) y es de 8 bits.

8

Microprocesadores. Guía 2

Figura 3. Dispositivo virtual “simple io test”.

30) Ejecute paso a paso el programa, verificando que todos los datos son enviados al puerto 110.

31) Únase con otra persona para realizar los siguientes pasos.

32) Edite el programa para que el dato que se almacena en DX sea 0378h en lugar de 110.

33) Utilizando el cable correcto conecte el puerto paralelo de la computadora a los LEDS ya sea del

módulo IDL-800 Digital Lab o de la tarjeta con switches y leds, de forma que el MSB (etiquetado

D7) se conecte con el primer LED a la izquierda y el cable GND con el GND del módulo o de la

tarjeta.

34) Encienda el módulo ¿Observa algún código binario? ¿Cuál? ________________

35) Compile el programa nuevamente, pero en la ventana “assembler status” presione el botón

“external” y seleccione la opción debug.exe. Debe observar en una ventana la consola de DOS y

el Prompt parpadeando.

36) Digite “R” y presione ENTER.

37) Compare los datos que observa con los que tomó en la Tabla 4.

NOTA: Para ejecutar el programa paso a paso digite “P”.

38) Ejecute las primeras dos instrucciones y compare el resultado con la Tabla 5.

39) Ejecute los siguientes pasos hasta enviar el primer dato.

¿Corresponde el dato que observa en los LEDS con el dato enviado? _________

40) Ejecute el resto de programa verificando que los datos son enviados correctamente.

41) Pida a su docente de laboratorio que verifique que el programa se ejecuta correctamente.

42) Cierre las ventanas, apague la PC y deje ordenado su puesto de trabajo.

Microprocesadores. Guía 2

9

Análisis de Resultados

1. Cuando completó la Tabla 1 el primer dato declarado era 7Ah y al revisar la memoria encontró

también 7Ah, pero el segundo dato declarado era 99 y en la memoria no encontró el mismo dato

¿Por qué ocurre eso?

2. En la Tabla 2 la primera instrucción en lenguaje ensamblador es “MOV AX, @DATA” pero en las

instrucciones desensambladas se representa como “MOV AX, 00720” ¿Por qué ocurre eso?

3. En la Tabla 2 los datos almacenados en memoria para la primera instrucción son los siguientes:

B8, 20 y 07. ¿cómo se relacionan
  • Links de descarga
http://lwp-l.com/pdf18694

Comentarios de: Microprocesadores. Guia 2 - El EMU8086 y el microprocesador 8086 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad