laboratorio de emu8086
DPTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES1
LABORATORIOS DE MAQUINAS COMPUTADORAS I
SEGUNDO LABORATORIO
E L E M U 8 0 8 6 Y E L M I C R O P R O C E S A D O R 8 0 8 6 .
Objetivos específicos
Ubicar en la memoria los diferentes segmentos que conforman un archivo EXE. Identificar los registros del modelo de programación del8086.
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.
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”
¿Cuál línea de instrucción está resaltada en amarillo? mov AX ,@data
P R I M E R P R O G R A M A
.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 enbinario BYTE4 DB 'A' ;Declara byte en formato ASCII BYTE5 DB ?
BYTE6 DB ?
BYTE7 DB ? BYTE8 DB ?
.code
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 ;hacia el microprocesador
mov CH, BYTE3
mov DL, BYTE4
mov BYTE5, AH ;Mueve los datos desde elmicro hasta mov BYTE6, BL ; la memoria
mov BYTE7, CH
mov BYTE8, DL FIN:
end
mov ax, 4c00h ;fin del programa int 21h
6) En la ventana “original source code” resalte (haga clic en) en el primero de los datos declarados
BYTE1.
7) Relacione la información de la Tabla 1 y la ventana “emulator”.
8) Resalte cada uno de los datos declarados en el códigofuente 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: inicio 07200 0720:0000 final 07207 0720:0007
3
TIPO DE DATO
DIRECCION
DATO EN MEMORIA
CODIGO BINARIO
SEGMENT:DESPLAZ
ABSOLUTA
BYTE
0720:0000
07200
7Ah
0720:0001
07201
63h0720:0002
07202
07CFh
0720:0003
07203
41h
0720:0004
07204
00h
0720:0005
07205
00h
0720:0006
07206
00h
0720:0007
07207
00h
Ta b l a 1 . S e g m e n t o d e d a t o s .
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 delsegmento 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: inicio 07210 0721:0000 Final 07239 0721:0029
12) Para ubicar el segmento de PILA escribir en la dirección “SEGMENTO:DESPLAZAMIENTO” el dato 0710:0100.
13) Suba unas cuantasdirecciones y observará que contienen los datos (código binario) 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 losdatos son transferidos al microprocesador.
4
SEGMENTO DE CÓDIGO
DIRECCIONES DE MEMORIA
Instrucciones en lenguaje máquina. Códigos binarios
almacenados en memoria
Instrucciones desensambladas
Instrucciones en lenguaje ensamblador
SEGM:DESP
ABSOLUTA
0721:0000
07210
B8
MOV AX,00720h
mov AX,@data
0721:0001
07211
20
0721:0002...
Regístrate para leer el documento completo.