gpcas_isa 0.1.2

Interface and utilities for GPCAS ISA implementations.
Documentation

GPCAS isa crate

This crate provides an interface to implement for ISAs (instruction set architectures) to be supported in GPCAS. GPCAS stands for General Purpose Core Architecture Simulator, a simulator for CPUs.

Most importantly, each ISA has to provide an emulator capable of executing a program of said ISA.

Example

To properly interface with the simulator, an ISA should provide its information as so:

extern crate gpcas_isa;
use gpcas_isa::{Isa, MemoryAccessType};

pub fn get_isa(executable_data: Vec<u8>) -> Isa {
  Isa {
    emulator: Box::new(YourEmulator::new(executable_data)),
    // example
    memory_access_type: MemoryAccessType::LoadStore,
    // example
    register_bank_size: 32,
  }
}

License

gpcas_isa is distributed under the LGPLv3 license. See COPYING and COPYING.LESSER in the crate root.