From 9a6d15ce1c42473f983e4d08c0f2c0558d642f6c Mon Sep 17 00:00:00 2001 From: sBubshait Date: Wed, 12 Jun 2024 17:11:01 +0100 Subject: [PATCH] Fix Branch Bug to fix infinite loop --- src/emulator/execute.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/emulator/execute.c b/src/emulator/execute.c index 2aec368..6fb39af 100644 --- a/src/emulator/execute.c +++ b/src/emulator/execute.c @@ -371,6 +371,8 @@ void execute_Branch(Machine *state, a64inst_instruction *inst) { case a64inst_CONDITIONAL: if (isConditionMet(state, inst->data.BranchData.processOpData.conditionalData.cond)) { state->pc += signExtend(inst->data.BranchData.processOpData.conditionalData.offset * 4, 19); + } else { + state->pc += sizeof(word); } break; }