You are on page 1of 7

\

UNIVERSIDAD NACIONAL AUTONOMA DE NICARAGUA


UNAN - MANAGUA
RURD
Facultad de Ciencias E Ingeniaras
Departamento de Tecnologa

Laboratorio No 1: emulador msx86 para procesadores 8086

1. Objetivos
La prctica consiste en mostrar al alumno cmo opera un ordenador
internamente. Para ello, Se le mostrarn una serie de programas
ensamblador, que deber de introducir, ensamblar y enlazar para su
posterior
empleo en un simulador de un
computador.

2. Medios
Para la simulacin se emplea un programa freeware llamado MSX88
(http://msx88.diatel.upm.es/) que muestra el funcionamiento interno, aunque
limitado, de un i8088. Entre sus caractersticas podemos destacar las
siguientes:
El simulador es una versin simplificada del i8088.
Cuenta con una memoria RAM de 64 kb.
Permite la conexin de perifricos.
Dispone de un programa monitor para el MSX88.
Las instrucciones que ofrece esta CPU son una parte real de las
ofrecidas por los microprocesadores i8086 / 8088.
Dispone de las herramientas ASM88 (ensamblador) y LINK88 (montador
de programas)
El software viene acompaado de un programa ensamblador (ASM88) y su
correspondiente enlazador (LINK88) que generar un fichero ejecutable (.EJE)
que ser el que podr ser simulado. Para que se pueda pasar de un fichero
en ensamblador al ejecutable se deben seguir los pasos siguientes:
Editar el fichero con el programa ensamblador (NombreFichero)
Abrir una ventana del Intrprete de Comandos
Ejecutar "ASM88 NombreFichero"
Ejecutar "LINK88 NombreFichero"

3. Prcticas
3.1. Prctica 1
Explicacin del programa:
Escribir un programa que realice la suma de dos datos inmediatos (el 10h y el
20h) que se encuentran en los registros AX y DX del procesador. El resultado
lo almacenar en AX.
Pasos a seguir:
1. Abrir una sesin del Intrprete de Comandos.
2. Crese un directorio de trabajo.
3. Crear un fichero llamado PR1.ASM con el siguiente cdigo en ensamblador:
Teclear en la lnea de comandos "EDIT PR1.ASM". Una vez que se haya
abierto el programa teclear el cdigo siguiente, guardar y salir del editor.

4. Ensamblar el fichero anterior. Para ello, en la lnea de rdenes teclear:


"ASM88 PR1.ASM";
5. Enlazar el fichero PR1.O creado. Desde la lnea de rdenes escribir:
"LINK88 PR1.O";
6. Ejecutar el programa MSX88. Para ello escribir en la lnea de rdenes
"MSX88"
7. Cargar el programa PR1.EJE en el simulador, para ello en la pantalla de
rdenes, escribir "L PR1"
Una vez en el simulador, podremos pulsar la tecla F6 para ejecutar instruccin
a instruccin el programa anterior, o mediante la tecla F7 para ejecutar cada
instruccin en cada uno de sus ciclos de mquina.
3.2. Prctica 1b
Cambiar los datos que se suman por los datos 1234h y 1000h. Repetir los
pasos de la prctica 1a hasta terminar la simulacin.
3.3. Prctica 1c
Cambiar la operacin aritmtica. En vez de sumar se desea restar. Para
ello, cambiar la instruccin "ADD AX, DX" por "SUB AX, DX" en el cdigo.
Repetir los pasos de la prctica 1a hasta terminar la simulacin.
3.4. Prctica 1d
Cambiar el orden de los operandos en la prctica anterior. Escribir "SUB
DX,AX" y observar qu pasa con los flags de estado del computador.

3.5. Prctica 1e
Crear un fichero llamado PR2.ASM con el siguiente cdigo en ensamblador.
Teclear en la lnea de comandos "EDIT PR2.ASM". Una vez que se haya
abierto el programa teclear el cdigo siguiente, guardar y salir del editor.

Explique qu es lo que ocurre.

Qu registros se ven afectados?, por qu?

3.6. Prctica 1f
Crear un fichero llamado PR3.ASM con el siguiente cdigo en ensamblador.
Teclear en la lnea de comandos "EDIT PR3.ASM". Una vez que se haya
abierto el programa teclear el cdigo siguiente, guardar y salir del editor.

Explique qu es lo que ocurre.

3.7. Prctica 1g
Crear un fichero llamado PR4.ASM con el siguiente cdigo en ensamblador.
Teclear en la lnea de comandos "EDIT PR4.ASM". Una vez que se haya
abierto el programa teclear el cdigo siguiente, guardar y salir del editor.

Explique qu es lo que ocurre.

3.8. Prctica 1h
Crear un fichero llamado PR5.ASM con el siguiente cdigo en ensamblador:

Cunto vale la variable dato despus de ejecutar todas las instrucciones?,


cuntos bytes ocupa la variable dato?

3.9. Prctica 1i
Crear un fichero llamado PR6.ASM con el siguiente cdigo en ensamblador:

Cunto vale la variable dato y el registro AX despus de ejecutar todas


las instrucciones?

3.10. Prctica 1j
Realice un programa que efecte un total de 1000 sumas del registro BX
consigo mismo. Inicialmente el registro BX vale 0001H. Cunto vale BX al
final de la ejecucin del programa?, por qu?

You might also like