From afd6dc0769ab252ff1932b5b92fee4f8b551a41e Mon Sep 17 00:00:00 2001 From: Martin Perner Date: Sat, 18 Dec 2010 00:48:39 +0100 Subject: [PATCH] [sim] corrected address calc for branch, again --- 3c_disasm/instr/branch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/3c_disasm/instr/branch.cpp b/3c_disasm/instr/branch.cpp index b797762..f1f9138 100644 --- a/3c_disasm/instr/branch.cpp +++ b/3c_disasm/instr/branch.cpp @@ -78,7 +78,7 @@ void Cbranch::evalInstr() dynamic_bitset<> immb = argbits; immb.resize(16); - this->m_imm = this->generate16ImmSign(immb.to_ulong()); + this->m_imm = this->generate16ImmSign(immb.to_ulong())*4; } @@ -96,7 +96,7 @@ void Cbranch::execInstr() } /* fall through */ case 0: - this->m_cpu->setNextPC(pc+(this->m_imm*4)); + this->m_cpu->setNextPC(pc+(this->m_imm)); break; case 2: case 3: -- 2.25.1