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.

Each ISA has to provide an emulator capable of executing a program of said ISA, and some additional properties.

Example

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

```rust extern crate gpcasisa; use gpcasisa::{Isa, MemoryAccessType};

pub fn getisa(executabledata: Vec) -> Isa { Isa { emulator: Box::new(YourEmulator::new(executabledata)), memoryaccesstype: MemoryAccessType::LoadStore, generalpurposeregistercount: 16, vectorregistercount: 0, specialregistercount: 0, instructionwordalignment: 1, } } ```

License

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