Circuitos IV: Arquitectura de Computadoras |
Simulador de procesador PIC - fase 4: Funciona! |
Como �ltimo paso: el propio simulador. Quiz�s el 'coraz�n' del programa completo, pero lo dem�s era necesario para que coraz�n funcione!
El simulador fue encargado a los alumnos como trabajo pr�ctico, y durante clases se present� otra soluci�n, que quiz�s no fue la �ptima por su falta de velocidad, pero que muestra algunas t�cnicas de programaci�n que hasta este momento no se ense�aron, como el uso de procedimientos como argumentos y valores.
tPic es el objeto que implementa dos m�todos importantes: Step (ejecuci�n de un solo paso del programa) y Reset (que inicializa los registros internos al estado especificado para esta condici�n).
Ficha t�cnica del objeto tSource:
Descripcion El objeto tPic contiene las partes criticas del procesador. Todavia no es configurable, pero tratamos de disenar las partes para que sea facilmente adaptable a diferentes PICs. Metodos: <p>.Reset vuelve el micro a su estado de reset. Una buena extension seria agregar un parametro para indicar si el reset fue por hardware, watchdog u otro motivo. <p>.Step(Opc: word) Ejecuta el Opc provisto a la instruccion. <p>.GetFile(Nr: byte): byte Acceso al contenido de los files - simula IND, timer, puertos etc. Tambien toma en cuenta los bancos de registros. <p>.SetFile(Nr, V: byte); Modificar los registros - mismas observaciones que GetRec Datos: PC: word Program counter actual Opcode: byte Ultima instruccion ejecutada Files: array Arreglo con los registros W: byte El acumulador |
Las unidades de la fase 4:
Unidad | Descripci�n |
test.pas | Programa principal |
config.pas | Unidad de configuraci�n de la fase 2 |
screen.pas | Unidad de manejo de 'paneles' (actualizado) |
strings.pas | Utilitarios para manejo de strings |
pic.pas | La unidad con el simulador propio. |
defin.pas | Unidad de definiciones (y alguna rutina que no entr� en otra unidad...) |
Licencia GPL | Licencia bajo la cual se libera el c�digo fuente |
(c) John Coppens ON6JC/LW3HAZ | correo |