From 6ace370b059dad7b723ae402f61b7060a1aa82c6 Mon Sep 17 00:00:00 2001 From: Oxore Date: Tue, 9 May 2023 00:13:42 +0300 Subject: Fix calculation of branch_addr in DBcc --- disasm.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'disasm.cpp') diff --git a/disasm.cpp b/disasm.cpp index 6752717..54b082d 100644 --- a/disasm.cpp +++ b/disasm.cpp @@ -1324,7 +1324,8 @@ static void disasm_dbcc(DisasmNode &node, uint16_t instr, const DataBuffer &code Condition condition = static_cast((instr >> 8) & 0xf); const char *mnemonic = dbcc_mnemonic_by_condition(condition); const int dn = (instr & 7); - const uint32_t branch_addr = static_cast(node.offset + dispmt_raw); + const uint32_t branch_addr = static_cast( + node.offset + dispmt_raw + kInstructionSizeStepBytes); node.branch_addr = branch_addr; node.has_branch_addr = true; const int32_t dispmt = dispmt_raw + kInstructionSizeStepBytes; -- cgit v1.2.3