]>
Witch of Git - jade-mouse/blob - toolchain/src/cpu.rs
1 use std
::ops
::{Index
, IndexMut
};
8 impl Index
<Reg
> for RegFile
{
10 fn index(&self, index
: Reg
) -> &u8 {
12 Reg
::R0
=> &self.values
[0],
13 Reg
::R1
=> &self.values
[1],
14 Reg
::R2
=> &self.values
[2],
15 Reg
::R3
=> &self.values
[3],
20 impl IndexMut
<Reg
> for RegFile
{
21 fn index_mut(&mut self, index
: Reg
) -> &mut u8 {
23 Reg
::R0
=> &mut self.values
[0],
24 Reg
::R1
=> &mut self.values
[1],
25 Reg
::R2
=> &mut self.values
[2],
26 Reg
::R3
=> &mut self.values
[3],
39 pub fn new() -> Self {
43 reg
: RegFile
{ values
: [0; 4] },
44 memory
: vec
![0; 1 << 16],
48 pub fn mem(&self) -> &[u8] {
52 pub fn mem_mut(&mut self) -> &mut [u8] {