diff --git a/src/backend/core/interpreter/instructions.cpp b/src/backend/core/interpreter/instructions.cpp index 94d5033..7f3e9d3 100644 --- a/src/backend/core/interpreter/instructions.cpp +++ b/src/backend/core/interpreter/instructions.cpp @@ -602,8 +602,9 @@ void Interpreter::jal(const Instruction instr) { } void Interpreter::jalr(const Instruction instr) { + const u64 address = regs.Read(instr.rs()); regs.Write(instr.rd(), regs.nextPC); - jr(instr); + branch(true, address); } void Interpreter::jr(const Instruction instr) {