]>
Witch of Git - jade-mouse/blob - toolchain/src/cpu.rs
2 use std
::ops
::{Index
, IndexMut
};
11 impl Index
<Reg
> for RegFile
{
13 fn index(&self, index
: Reg
) -> &u8 {
15 Reg
::R0
=> &self.values
[0],
16 Reg
::R1
=> &self.values
[1],
17 Reg
::R2
=> &self.values
[2],
18 Reg
::R3
=> &self.values
[3],
23 impl IndexMut
<Reg
> for RegFile
{
24 fn index_mut(&mut self, index
: Reg
) -> &mut u8 {
26 Reg
::R0
=> &mut self.values
[0],
27 Reg
::R1
=> &mut self.values
[1],
28 Reg
::R2
=> &mut self.values
[2],
29 Reg
::R3
=> &mut self.values
[3],
42 pub fn new() -> Self {
46 reg
: RegFile
{ values
: [0; 4] },
47 memory
: vec
![0; 1 << 16],
51 pub fn mem(&self) -> &[u8] {
55 pub fn mem_mut(&mut self) -> &mut [u8] {