UNIVERSIDAD POLITÉCNICA DE MADRID
E.U.I.T. TELECOMUNICACIÓN
DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURAS TELEMÁTICAS

Rubén de Diego Martínez
email:
rdiego@diatel.upm.es, URL: http://verne.diatel.upm.es/MSX88/

BREVE MANUAL DE MSX88

 

1.- RESUMEN

Cuando se aborda la enseñanza de la estructura y funcionamiento de los ordenadores en sus aspectos básicos y primarios, el profesor se encuentra con la dificultad de tener que realizar modelos dinámicos que permitan visualizar y hacer entender lo que ocurre dentro de una Unidad Central de Proceso (CPU), o en el propio ordenador.

MSX88 permite solucionar en parte el problema, dado que es un simulador gráfico de un ordenador didáctico basado en la familia Intel iAPx86, que muestra los flujos de información existentes entre los diversos elementos que lo componen.

MSX88 permite al profesor, bien a través de la utilización de las modernas aulas informatizadas, bien utilizando los nuevos recursos audiovisuales (pantallas de cuarzo líquido para retroproyector, cañones de video...), plantear sus clases pudiendo analizar de forma cómoda la estructura y funcionamiento del ordenador. La herramienta permite igualmente al alumno repasar las clases del profesor y realizar prácticas, dirigidas o no dirigidas, tendentes a reforzar lo aprendido en las clases teóricas.

 

2.- ¿POR QUÉ USO MSX88?.

2.1.- ¿Por qué prefiero MSX88 en vez de un libro o película?

MSX88 nació en 1985 en la Escuela Universitaria de Ingeniería Técnica de Telecomunicación de la Universidad Politécnica de Madrid como respuesta a las necesidades docentes en el área de la Arquitectura de Ordenadores. El estudio de la arquitectura de los ordenadores suele implicar la creación de modelos que en una primera instancia son difíciles de entender dado que deben representar flujos dinámicos de datos entre los distintos elementos presentes.

Enseñar este modelo únicamente mediante un libro, o con clases de pizarra, resulta igualmente difícil. Los vídeos o películas son muy útiles. MSX88 sustituye a ambos, al tiempo que presenta la funcionalidad y flexibilidad de un ordenador real. Tratando deextractar la característica fundamental de MSX88 se puede decir que: "MSX88 hace visible lo invisible".

2.2.- ¿Por qué el programa es innovador? ¿Existen programas similares? ¿Es MSX88 mejor que los otros programas equivalentes?

MSX88 es un programa viejo, pero su utilidad no ha caducado, dado que se sigue empleando para la docencia en varias universidades e institutos.

En la actualidad estamos trabajando en la versión windows, que no aportará nuevas características, si no que se limitará básicamente a portar la aplicación a este sistema operativo. Lógicamente se tendrán que modificar algunos aspectos de interfaz, pero en lo básico se ha considerado que MSX88 consigue lo que pretende y por tanto no son necesarias modificaciones sustanciales.

Internamente MSX88 es un programa que ha exigido diseñar una plataforma multitarea interna para solucionar los requisitos de ejecución en tiempo real presentes en la aplicación.

Existe algún programa similar, pero orientado a arquitecturas de Motorola. El aporte fundamental que hace MSX88 es el de permitir recrear de forma gráfica lo que ocurre dentro del ordenador. No se conocen programas con esta característica.

MSX88 ofrece una distribución gratuita, para estudiantes e instituciones sin ánimo de lucro, vía internet y también se da servicio de mantenimiento y consulta 'on line', igualmente por internet.

2.3.- ¿Cual es el escenario típico de utilización de MSX88? ¿Ha sido el programa usado/probado en esa situación?

MSX88 puede ser utilizado en los siguientes escenarios:

MSX88 se usa desde hace 12 años en la Escuela Universitaria de Ingeniería Técnica de Telecomunicación de la Universidad Politécnica de Madrid en asignaturas relacionadas con la enseñanza de Arquitectura de Ordenadores. También se ha usado de manera satisfactoria en la E.U.I.T. de Telecomunicación de la Universidad de las Palmas de Gran Canaria. Igualmente ha sido, y es, usado en la Escuela de Informática de Orense, perteneciente a la Universidad de Vigo.

Desde hace 4 años se distribuye en internet y ha despertado bastante interés en Centro y Sudamérica.

MSX88 fue seleccionado como finalista en los "European Academic Software Award 96" celebrado en Klagenfurt, Austria.

 

3.- INSTALACIÓN DEL PROGRAMA.

La instalación del programa contiene los siguientes subdirectorios:

DOC_EPS ---> Contiene el manual de usuario y otra documentacion de MSX88 directamente imprimible en una impresora postcript.
EXE ---> Ejecutables del entorno MSX88 V3.0 y demo V4.0.
EJEMPLOS ---> Diversos ejemplos de programas en lenguaje de ensamble, ensamblados y montados para MSX88.
DOC ---> Diversos articulos y ponencias sobre MSX88.

En el directorio EXE se tiene lo siguiente:

README.TXT ---> El fichero que está  visualizando.
MSX88ARJ.EXE ---> Fichero comprimido con "arj" autodescomprimible. Ejecutándolo (teclee msx88arj en el prompt del MS-DOS) obtendrá los ejecutables del MSX88.

Los ficheros que se obtienen al ejecutar msx88arj.exe son:

ASM88 EXE 33693 22/10/93 13:00 --> Ensamblador
DEMO EXE 369628 23/05/95 12:59 --> Programa de demostración
LINK88 EXE 13667 12/12/90 17:22 --> Linkador del MSX88
MSX88 EXE 370284 19/09/97 14:43 --> Programa MSX88
DEMODMA EJE 306 15/03/95 8:55 --> Ejecutable de MSX88 para DEMO
DEMOMEMO EJE 120 26/12/94 20:33 --> Ejecutable de MSX88 para DEMO
DEMOPIO EJE 64 26/12/94 20:40 --> Ejecutable de MSX88 para DEMO

Junto con la version 3.0 se distribuye una demo de la v4.0, contenida en el fichero:

DEMOV40.EXE 423.000 28/09/96 18:35 --> Demo de la version 4.0

En el resto de subdirectorios del disco de distribución existe un fichero README.TXT que indica su contenido.

 

4.- COMO EJECUTAR Y COMENZAR A USAR EL PROGRAMA.

Par tener una primera toma de contacto con el programa se recomienda arrancar la demostración incluida en el disco de distribución de MSX88. Asegúrese que los ficheros DEMOMEMO.EJE, DEMOPIO.EJE y DEMODMA.EJE estén en el mismo directorio que DEMO.EXE. Para arrancarla demo se debe teclear:

MS-DOS> DEMO <CR> donde: <CR> Significa pulsar Intro

Este programa ofrece una introducción muy detallada a las características principales de MSX88.

Le contaré un secreto: si ejecutando el programa DEMO, comienza a aburrirse (espero que no sea así) puede finalizar la ejecución del programa y hacer otras cosas más interesantes, pulsando varias veces la tecla 2.

4.1.- ANALIZANDO MSX88 CON MÁS DETALLE.

MSX88 tiene un programa monitor que controla todas las partes de la máquina virtual. El primer comando que se debe conocer es, como en la mayoría de los sistemas operativos, el de help. Para invocar al help del monitor puede pulsar la tecla F1, teclear "help", o simplemente "h" que aparecerán escritos en la ventana de comandos del monitor.

Por supuesto, para poder hacer lo que se indica en el apartado anterior, deberá arrancar el programa MSX88, lo cual se consigue con el comando DOS:

MS-DOS>MSX88<CR>

4.1.1.- CÓMO CARGAR UN PROGRAMA EJECUTABLE

Antes de poderlo cargar, es necesario haber obtenido un programa que se pueda ejecutar en MSX88. Para ello deberá editar el programa, escrito en el Lenguaje de Ensamble de MSX88, y ensamblarlo con el ensamblador del entorno: el ASM88. ASM88 produce ficheros objeto con extensión ".O" y, opcionalmente ficheros listado con extensión ".LST".

Cuando haya conseguido ensamblar sin errores deberá utilizar el programa enlzador del entorno, MSX88, para generar el programa ejecutable de extensión ".EJE". LINK88 no es realmente un enlazador, dado que no presenta funcionalidades de tal, pero se ha considerado interesante que el alumno vaya adquiriendo unos hábitos que le ayuden en su trabajo con las herramientas profesionales.

Supongamos que ya se han dado todos los pasos indicados anteriormente y que se tiene, en el mismo directorio que MSX88, el fichero DEMOMEMO.EJE. Para cargarlo en la memoria de MSX88 se ha de ejecutar el comando del monitor de MSX88:

>L DEMOMEMO<CR>

La dirección de comienzo de este programa se ha fijado en la posición de memoria 2000H (puede consultarlo en el fichero en lenguaje de ensamble DEMOMEMO.ASM de la distribución de MSX88). Inicialmente MSX88 pone en su IP (contador de programa) el valor 2000H.

Ahora, como Vd ha visto en la DEMO, se debe escoger, entre los diversos que ofrece MSX88, un modo de ejecución. Escoja uno de ellos (+, -, +r, +l or +p) y a continuación ejecute el comando GO o TRACE.

Por ejemplo ejecute los siguiente comandos del monitor:

> - <CR>
> T <CR>

El primer comando activa la ejecución en modo visualización (modo lento), el segundo hace que se ejecute la primera instrucción.

Ahora use el siguiente comando:

> G <CR>

MSX88 arranca la ejecución del programa completo. Se puede incrementar la velocidad con la que MSX88 presenta el flujo de datos presionando la tecla "+" (sólo en ejecución). Si considera que la información es presentada de forma muy rápida, puede decrementar la velocidad presionando la tecla "-". Observe que en la esquina inferior derecha de la pantalla se representa, en el recuadro etiquetado con V, la velocidad de presentación de los datos. Puede variar entre 0 y 31.

¿Está aburrido de ver como MSX88 presenta los flujos de datos? Si, entonces presione la tecla ESC. MSX88 detiene la ejecución del programa retornando el control al programa monitor.

Los ordenadores usualmente fragmentan la ejecución de sus instrucciones. MSX88 ofrece las siguientes posibilidades:

Si MSX88 está en el programa monitor, presione la tecla F6 (ciclo a ciclo). Cada vez que presione esta tecla MSX88 ejecuta la parte de la instrucción correspondiente a un ciclo de reloj. Presione ESC para finalizar la ejecución de la instrucción.

Si presiona la tecla F7 conseguirá que MSX88 ejecute uno de los ciclos de instrucción expuestos más arriba.

Opcionalmente se puede eliminar la información relacionada con los nombres de los ciclos de instrucción con los comandos:

> F6-<CR>
> F7-<CR>

MSX88 puede actuar como un simple depurador de programas, por favor, introduzca los comandos:

> D D 1004 <CR>
> + <CR>
> G <CR>

Estos comandos consiguen que se visualice la ventana derecha de la memoria, activan el modo rápido (sin presentación de flujo de datos) y arrancan la ejecución del programa.

Ponga ahora el registro IP apuntando de nuevo a la posición de memoria 2000H, teclee el comando para visualizar sólo la evolución del contenido de los registros en ejecución, ponga a cero 10 posiciones de memoria a partir de la 1000H y ejecute de nuevo el programa. Todo esto se consigue con los siguientes comandos:

> R IP 2000 <CR>
> +R <CR>
> E 1000 00 00 00 00 00 00 00 00 00 00 <CR>
> G <CR>

Se observa como MSX88 calcula los múltiplos de tres, en posiciones de memoria consecutiva a partir de la 1000H, usando un sencillo algoritmo.

Si desea modificar el contenido de los registros o de la memoria de una manera más sencilla puede hacerlo tecleando ALT-R o ALT-D. En combinación con las teclas de tabulación, las flechas y ESC (para finalizar) se consigue cargar nuevos valores de una forma cómoda.

4.1.2- USO AVANZADO DE MSX88

MSX88 ofrece, además de la visión centrada en la CPU, una panorámica más amplia de un ordenador. Por favor teclee:

>P 1<CR>

Este comando ofrece la posibilidad de mostrar una nueva cara de MSX88 que permite abordar el estudio de la interconexión de la CPU con los periféricos. MSX88 tiene tres configuraciones distintas en las que se interconectan distintos periféricos. Éstas configuraciones se obtienen tecleando:

> c 0<CR>
> c 1<CR>
> c 2<CR>
> c 3<CR>

En la ventana de estado puede ver el número de conexionado que se está utilizando.

Permítame que le sugiera otro ejemplo. Por favor cargue el programa de demostración del PIO en el conexionado más básico tecleando:

> c 0<CR>
> l demopio<CR>
> reset<CR>
> r ip 2000<CR>
> g <CR>

Este programa ilustra los aspectos relacionados con el funcionamiento de un PIO. Al ejecutarse se programa adecuadamente el periférico y una vez hecho se entra en un bucle en el que se lee el contenido del puerto conectado los microswitchs y lo escribe en el puerto asociado a los leds.

Si se está ejecutando el programa pruebe a modificar el contenido de los microswitchs con las teclas numéricas "1".."7". Observará como se reflejan los cambios también en los leds. Para salir del programa teclee ESC.

Ahora puede probar a ejecutar el programa en otro modo de ejecución (estoy considerando que Vd. está en el modo "+R"). Puede probar el modo lento ("-") o mejor que ese, pruebe el modo "+P". Este modo, pensado específicamente para el estudio de los periféricos, muestra sólo el flujo de datos relacionado con éstos. Teclee:> reset<CR>

> rip 2000<CR>
> +P <CR>
> g <CR>

La última prueba que le aconsejamos hacer en este breve recorrido por MSX88 es la ejecución en el modo "+L". En este modo se filtra aun más la información de flujos que presenta MSX88, ciñendose a la presentación de las señales de control de los periféricos y los datos asociados. Por favor teclee:

> c 3<CR>
> l demodma<CR>
> reset<CR>
> +l <CR>
> r ip 2000<CR>
> g <CR>

Si ahora Vd pulsa F5, verá aparecer en la impresora centronics de MSX88 las palabras: "MSX88 V3.0".

 

5.- NUEVAS VERSIONES

En el disco se distribución se acompaña una demo de la versión 4 del programa. Ésta se sirve bajo pedido. Igualmente se puede obtener una demo de la versión beta de windows.