Home
  Academia
    Circuitos 4
      SimPic
        Fase 4

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