This commit is contained in:
Werner
2021-11-19 17:55:40 -03:00
parent 8b7501fb91
commit ae70b9db3d
11 changed files with 409 additions and 324 deletions

35
Source/Registry.rs Normal file
View File

@ -0,0 +1,35 @@
use crate::Types::*;
use crate::REGISTER_COUNT;
#[derive(Default)]
pub struct Registry {
registers: [Word; REGISTER_COUNT],
}
impl Registry {
pub fn Get(&mut self, index: u8) -> Word {
let index = index as usize;
if index < REGISTER_COUNT {
self.registers[index]
} else {
panic!("Invalid Register!")
}
}
pub fn Set(&mut self, index: u8, value: Word) {
let index = index as usize;
if index < REGISTER_COUNT {
self.registers[index] = value;
}
}
pub(crate) fn Print(&self) {
for r in self.registers.iter() {
print!("{:02X}{:02X}{:02X}{:02X} ", r[0], r[1], r[2], r[3]);
}
println!();
}
}