AYUDA DEL EMULADOR DE BLUE v1.6
Enviado por Emiliano Monteverdi • 2 de Diciembre de 2015 • Examen • 2.130 Palabras (9 Páginas) • 301 Visitas
AYUDA DEL EMULADOR DE BLUE v1.6
CONTENIDO
1. INFORMACIÓN GENERAL
2. COMANDOS PRINCIPALES
3. FUNCIONES ADICIONALES
4. USO DE LA BARRA DE VELOCIDAD
5. HISTORIA DE LAS VERSIONES
6. CÓMO CONTACTAR AL AUTOR
1. INFORMACIÓN GENERAL
Este emulador fue presentado a los Profesores Molina, Distéfano, Pasero y Argüello como trabajo extracurricular, quienes lo evaluaron y, tras sugerir algunas modificaciones y correcciones, decidieron publicarlo de esta forma, sustituyendo así el antiguo simulador.
El programa está escrito y desarrollado íntegramente en Borland Delphi versión 5, aunque la distribución actual está compilada en la versión 7. El código fuente está disponible para quien lo necesite. Para conseguirlo, contactar al autor.
El programa pretende emular lo más fielmente posible el funcionamiento de la máquina elemental didáctica conocida como BLUE. Sin embargo, dadas las características del entorno de programación usado, muchas cosas no se realizan internamente tal y como en la BLUE. Aún así, para la mayoría de los usos, el programa realiza todas las funciones necesarias, e incluye otras accesorias que facilitan la introducción de datos y la programación. Las características del programa son:
- Entorno visual dividido en cinco áreas (unidad de control, unidad aritmética y lógica, memoria, panel de control de la máquina y un panel de control con opciones adicionales del emulador no presentes en la máquina real).
- Ensamblador incorporado.
- Trabaja en binario, octal, decimal y hexadecimal.
- Permite cargar (y salvar) los archivos en formato COR del simulador original de la Facultad, así como también unos formatos extendidos.
- Corrige el bug presente en dicho simulador en la instrucción NOT, que en lugar de realizar un complemento a uno, realiza el complemento a dos (se incluye además, por razones de compatibilidad, una opción para mantener este comportamiento, permitiendo ejecutar los viejos programas sin modificarlos).
- Permite analizar el ciclo de búsqueda y de ejecución de las instrucciones y también de los botones del panel, regulando la longitud del pulso de reloj.
- Muestra el contenido de los registros internos durante la ejecución.
Los siguientes apartados presuponen que el usuario está familiarizado al menos un poco con la estructura de la BLUE y sus instrucciones. En caso de no ser así, se le remite a consultar otra bibliografía.
2. COMANDOS PRINCIPALES
El programa tiene un número reducido de comandos, la mayoría de ellos de uso común. A continuación se listan los del menú Archivo:
- Cargar... (CTRL+L): carga un archivo COR en memoria, sobrescribiendo las celdas ya ocupadas.
- Salvar... (CTRL+S): guarda el contenido de la memoria en un archivo COR, según las opciones disponibles en el panel:
- Octal (ALT+1): las direcciones y el contenido de cada celda de memoria son almacenadas en octal.
- Hexadecimal (ALT+2): ídem, pero en hexadecimal.
- Binario (ALT+3): ídem, pero en binario.
- Ensamblador + Octal (ALT+4): las direcciones y los operandos se almacenan en octal, pero los códigos de operación de cada instrucción se graban como códigos mnemotécnicos.
- Ensamblador + Hexadecimal (ALT+5): ídem, pero en hexadecimal.
- Ensamblador + Binario (ALT+6): ídem, pero en binario.
Si la opción "Salvar direcciones con 0 al guardar" está desactivada, sólo se volcarán al archivo las celdas cuyo contenido sea distinto de 0, pero si se activa, TODO el contenido de la memoria se volcará, lo que hace crecer de manera considerable el tamaño del archivo COR resultante.
- Salir (ALT+F4): se auto explica. Se aclara que no se pregunta si se desea conservar el contenido de la memoria, simplemente sale (todo el contenido de la memoria se pierde).
Las opciones del panel de control son:
- Start (ALT+S): comienza la ejecución del programa introducido en memoria, a partir de la posición apuntada por el contador de programa (program counter, PC).
- Stop (ALT+T): detiene la ejecución del programa. El estado interno de la máquina no se modifica, por lo que al reiniciar el programa, este continúa como si no se hubiera detenido.
- Load PC (ALT+L): carga el contenido de las llaves (switch register, SR) en el PC. Si se ha desactivado la opción "Simulación de Panel", este comando pide que se ingrese el nuevo valor.
- Examine (ALT+E): muestra en la línea de LEDs el contenido de la posición de memoria apuntada por el PC, e incrementa el PC en 1. Si se ha desactivado la opción "Simulación de Panel", pide la posición que se desea examinar y luego muestra en la ventana de memoria su contenido, sin cambiar el PC.
- Deposit (ALT+D): carga la posición de memoria apuntada por el PC con el valor contenido en el SR, e incrementa el PC en 1. Si se ha desactivado la opción "Simulación de Panel", se piden tanto la posición de memoria que se desea modificar, como el nuevo valor, dejando el PC inalterado.
- Reset (ALT+R): borra el contenido de la memoria y reinicia el estado interno de la m quina. El PC, el acumulador (accumulator, A) y todos los registros se ponen a 0, excepto el SR, que conserva su valor.
- Cargar Switch (ALT+W): permite, como alternativa a las "llaves" del panel, cargar el SR con un valor numérico en binario, octal, decimal o hexadecimal.
Como se mencionó, la carga de valores en el SR puede realizarse de dos maneras: por las "llaves" o mediante el comando "Cargar Switch". Siempre que se pida un dato, puede ingresarse en cuatro formatos diferentes:
- Binario: el número debe estar conformado por la letra "B" (en mayúscula o minúscula, es indiferente), seguida de al menos un dígito binario. Si se ingresan valores distintos a 0 y 1, resulta en un error.
- Octal: de manera análoga al formato anterior, el número debe componerse de la letra "O", seguida de al menos un dígito octal. Valores fuera de rango resultan en error.
- Decimal: en este formato el número deber ser precedido por el signo "%", y debe estar compuesto por los dígitos de 0 a 9. Caracteres fuera del rango resultan en un error.
- Hexadecimal: se antepone la letra "H" a un número hexadecimal formado por uno o más dígitos válidos (en mayúscula o minúscula). Caracteres fuera del rango resultan en un error.
Es importante destacar que los números sin formato son interpretados según el indicador elegido en el panel del formato para guardar (las opciones 4-6 se comportan igual que las 1-3). Vale aclarar que, en caso de estar elegida la opción 2 o la 5, los números hexadecimales que comiencen por "B" deben ser precedidos por un cero, ya que en otro caso será interpretado como un número binario de formato no válido.
3. FUNCIONES ADICIONALES
Dentro del menú Opciones, se encuentran varios comandos:
...