INTRODUCCION AL SIMULADOR AIM 65 Este programa como su propio nombre indica, es un simulador del microprocesador 6502 o del 65C02. Simula el funcionamiento de la placa con el microprocesador (AIM65) y posee todos los registros, memoria, puertos de entrada y salida (acia y via), reloj, etc..., que el microprocesador controla. Para entrar en el programa lo primero que hay que hacer es entrar en el directorio AIM6502, y luego en el programa AVSIM. CD 6502 AVSIM65 Una vez dentro del programa aparecen unas opciones que nos sirven para seleccionar el microprocesador con sus diferentes adaptadores de periféricos: VIA y ACIA. A − 6502 B − 6502 + VIA C − 6502 + ACIA D − 65C02 E − 65C02 + VIA F − 65C02 + ACIA G − 65C02 + VIA + ACIA Una vez elegida la opción deseada entraremos realmente en el programa en sí. Nosotros elegiremos la opción A. EXPLICACION DE LA PANTALLA En la parte izquierda de la pantalla se encuentran las 22 primeras direcciones de la memoria no configuradas. En la dirección 0000H se encuentra el contador de programa, representado en esta zona con una franja roja encima de la dirección donde se encuentra. En esta columna se colocan los nemónicos a continuación de la dirección de memoria. En la parte superior central tenemos el acumulador representado en forma binaria y en forma hexadecimal. Al lado de este tenemos los registros de estado: N, V, D, I, Z, C. En la parte superior derecha se encuentra: − SPD: Indica los tres modos de velocidad de ejecución del programa (low, mid, hi), con F5 se cambia la velocidad. 1 − DSP: Es el desplazamiento y se activa y desactiva con F6. − CURSOR: Nos indica si el cursor esta en el menu o en la pantalla. Nos indica si está en hexadecimal, decimal o en binario.Lo podemos cambiar con F7. − CYCLES: Nos indica los ciclos que ha ejecutado el programa. Debajo de esta última parte, tenemos las interrupciones IRQ y NMI que se encuentran activadas. Debajo de la parte central , se encuentra el contador de programa que se encuentra a 0000 y el Puntero de Stack que se encuentra a 0100.Al lado de estos se encuentra el contenido hexadecimal de unas direcciones de memoria. Tambien tenemos los registros X e Y que tienen su contenido en hexadecimal. En la parte inferior central, se encuentra dos ventanas que presentan un número de direcciones de memoria con su contenido en hexadecimal y al lado en ASCII. Estas dos ventanas pueden presentar las direcciones de memoria que nosotros queramos. En la parte inferior tenemos el menu de opciones para poder trabajar con el programa: Memory Patch Quit Reset Set Setup Vieq Execute Pulsando la barra espaciadora aparecen: Dump Expression CommandFile Help IO Load Moviendo las teclas del cursor se posiciona uno, en la opción que desee. Este es el esquema que aparece en la pantalla del ordenador: Para utilizar el programa el primer paso es abrir un fichero para grabar todos los pasos y el programa que posteriormente realizaremos, para ello: −COMMANDFILE : Opciones: Load Save : Open Close Restart Con la opcion OPEN abriremos un fichero para archivar todos los pasos que demos. Cuando terminemos de trabajar y el programa ya esté acabado, volveremos a la opción COMMANDFILE y dentro de esta elegiremos CLOSE para cerrar el fichero. Si después de cerrado queremos seguir haciendo cosas en ese fichero, elegiremos la opción RESTART y el fichero se volvera a abrir. Para recuperar el fichero elegiremos la opción LOAD. −SET : Opciones: Memory−Map Passpoint Cycles V−Drive + MEMORY−MAP : Opciones: 2 Random−Access Read− Only RANDOM− ACCESS : Con esta opcion configuramos la memoria. Primero introducimos la dirección más baja (0000H) y luego la dirección más alta (FFFFH).Esto quiere decir que entre estas dos direcciones es donde vamos a poder trabajar. READ−ONLY : Con esta opción configuramos una zona de la memoria solamente para lectura, es decir ROM. + CYCLES : Elegiremos esta opción para configurar los cyclos, poniendoles a cero. + V−DRIVE : Esta opción sirve para utilizar una memoria adicional obtenida de las unidades de disco que nosotros elijamos. −PATCH : Opciones: Patch Code Open output file Close file + PATH CODE :Esta opción nos permite introducir nemónicos en la dirección de memoria que indica el contador de programa.Si el nemónico introducido no es correcto, el programa da un mensaje de operación invalidada. Una vez introducidos todos los nemónicos, pulsaremos una vez más RETURN. −DUMP : Opciones: 12 Seleccionaremos la ventana 1 o la ventana 2. Nos pregunta modo de direccionamiento, Absoluto o Indirecto, y depués nos pregunta la dirección de memoria a partir de la cual queremos ver las otras 32 direcciones siguientes. Pulsando ESCAPE accederemos a la pantalla y dentro de ésta, a las ventanas de memoria para escribir o cambiar los contenidos de las direcciones. Al finalizar se volverá a pulsar ESCAPE. Para ejecutar el programa pondremos el contador de programa a 0000 (accediendo a la pantalla) y pulsaremos F1 para que se ejecute a la velocidad que hayamos especificado antes. Para que se ejecute paso a paso, pulsaremos F10 y así se irá ejecutando según vayamos pulsando esta tecla. EXECUTE : Con esta instrucción se ejecuta un nemónico directamente sin tener que introducirlo en una dirección de memoria, pudiendo visualizar los resultados según haya sido el nemónico. −MEMORY : Opciones: Clear Fill Move Search + CLEAR : Limpia la memoria que le indiquemos, para ello le damos la posición inicial y la final. + FILL : Escribe en las direcciones de memoria indicadas, el contenido en ASCII que queramos. El valor se introduce en decimal. + MOVE : Mueve una parte de la memoria a otras direcciones que le indiquemos. Primero se introduce la dirección inicial de la posición a mover y la dirección final, y después se introduce la dirección de comienzo en donde se quiere colocar. 3 −HELP : Opciones: Comands Display Simulation Avocet + COMANDS : Nos muestra la función de algunas teclas. + DISPLAY :Nos muestra una serie de funciones que poseen algunas teclas. + SIMULATION : Nos muestra las opciones que tienen las teclas de función. + AVOCET : Nos muestra los datos del programador. SALIR DEL PROGRAMA −QUIT : Opciones: Exit + EXIT : Esta opción nos permite salir del programa al dos. 4