summaryrefslogtreecommitdiff
path: root/disasm.cpp
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-04-29 12:40:11 +0300
committerOxore <oxore@protonmail.com>2023-04-29 12:40:11 +0300
commite8db23a8b94edad65dfede4ae2077c6788e53de0 (patch)
tree77cd1b4f3ea1a6ec5d2acceff1ec237cf6aa2764 /disasm.cpp
parent4fd3c8816225d8241b4ba8e6e87722992fa7171e (diff)
Fix some edge case for dbcc found on random tests
Diffstat (limited to 'disasm.cpp')
-rw-r--r--disasm.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/disasm.cpp b/disasm.cpp
index 2da9835..d4aaa3a 100644
--- a/disasm.cpp
+++ b/disasm.cpp
@@ -728,7 +728,7 @@ static void disasm_dbcc(DisasmNode& node, uint16_t instr, const DataBuffer &code
const uint32_t branch_addr = static_cast<uint32_t>(node.offset + dispmt_raw);
node.branch_addr = branch_addr;
node.has_branch_addr = true;
- const int16_t dispmt = dispmt_raw + kInstructionSizeStepBytes;
+ const int32_t dispmt = dispmt_raw + kInstructionSizeStepBytes;
snprintf(node.mnemonic, kMnemonicBufferSize, "%s", mnemonic);
const char * const sign = dispmt >= 0 ? "+" : "";
// FIXME support s.rel_marks option for this instruction