diff --git a/src/code_gen.rs b/src/code_gen.rs index 5857d3e..59a0a27 100644 --- a/src/code_gen.rs +++ b/src/code_gen.rs @@ -12,6 +12,9 @@ enum InstructionFrom { RegisterSP, RegisterSB, + + IncSP, + DecSP, } #[derive(Debug, Clone, Copy, PartialEq, Eq)] @@ -35,9 +38,6 @@ enum InstructionTo { RegisterSP, RegisterSB, - - IncSP, - DecSP, } #[derive(Debug, Clone, Copy, PartialEq, Eq)] @@ -77,12 +77,12 @@ impl From for Code { Command::PushInt(val) => vec![ I::new(IF::RegisterSP, IT::RamAddressLower, 0x00), I::new(IF::ROM, IT::RAM, val as i8), - I::new(IF::ROM, IT::IncSP, 0x00), + I::new(IF::IncSP, IT::RegisterSP, 0x00), ], Command::PushSum => vec![ I::new(IF::RegisterSP, IT::RamAddressLower, 0x00), I::new(IF::ALU, IT::RAM, 0x00), - I::new(IF::ROM, IT::IncSP, 0x00), + I::new(IF::IncSP, IT::RegisterSP, 0x00), ], _ => todo!(), }.into()