diff --git a/optimism/src/mips/interpreter.rs b/optimism/src/mips/interpreter.rs index 490f1fd8a5..9f02658da6 100644 --- a/optimism/src/mips/interpreter.rs +++ b/optimism/src/mips/interpreter.rs @@ -797,7 +797,13 @@ pub fn interpret_rtype(env: &mut Env, instr: RTypeInstructi RTypeInstruction::Sync => (), RTypeInstruction::MoveFromHi => (), RTypeInstruction::MoveToHi => (), - RTypeInstruction::MoveFromLo => (), + RTypeInstruction::MoveFromLo => { + let lo = env.read_register(&Env::constant(REGISTER_LO as u32)); + env.write_register(&rd, lo); + env.set_instruction_pointer(next_instruction_pointer.clone()); + env.set_next_instruction_pointer(next_instruction_pointer + Env::constant(4u32)); + return; + } RTypeInstruction::MoveToLo => (), RTypeInstruction::Multiply => (), RTypeInstruction::MultiplyUnsigned => (),