B:BD[
3.3245] → [
3.3245:3601]
match self.fetch() {
0x0 => TranslatedOpCode::Noop,
0xC3 => {
let mut address = u16::from(self.next().fetch()) << 8;
address |= u16::from(self.next().fetch());
TranslatedOpCode::Jmp(address)
}
e => {
error!("Unknown Op Code {:#X}", e);
let op = self.fetch();
match op & 0xF0 {
0x00 =>
match op & 0xF {
0x0 => TranslatedOpCode::Noop,
_ => {error!("Unkown Op Code {:#X}", op); todo!();}
},
0xC0 =>
match op & 0xF {
0x3 => {
let immediate1 = self.inc_pc().fetch();
let immediate2 = self.inc_pc().fetch();
TranslatedOpCode::Jmp(immediate1, immediate2)
},
0xE => {
let immediate = self.inc_pc().fetch();
TranslatedOpCode::AccummulatorAdd(immediate)
}
_ => {error!("Unkown Op Code {:#X}", op); todo!();}
},
_ => {
error!("Unknown Op Code {:#X}", op);