virtm 0.0.1

General purpose virtual machine
Documentation
//! # Virtual Machine
//!
//! ## Specifications
//!
//! Word Size: 32 Bits
//!
//! ## Instructions
//!

const MEM_SIZE: usize = 2_usize.pow(24);

struct Memory {
    mem: [u32; MEM_SIZE],
}

impl Default for Memory {
    fn default() -> Self {
        Self { mem: [0; MEM_SIZE] }
    }
}

#[derive(Default)]
struct Registers {
    r0: u32,
    r1: u32,
    r2: u32,
    r3: u32,
    r4: u32,
    r5: u32,
    r6: u32,
    r7: u32,
    r8: u32,
    r9: u32,
    r10: u32,
    r11: u32,
    r12: u32,
    r13: u32,
    r14: u32,
    r15: u32,
    rpc: u32,
    rcnd: u32,
}

#[derive(Default)]
pub struct VirtualMachine {
    mem: Memory,
    reg: Registers,
}