summaryrefslogtreecommitdiff
path: root/src/disasm.cpp
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2024-10-04 00:06:46 +0300
committerOxore <oxore@protonmail.com>2024-11-21 00:18:24 +0300
commit220e905af625ca8e433249e2cb74dfbaa2d252c3 (patch)
treea53b02b0c13eb8f693172083b94879a2d71a24b6 /src/disasm.cpp
parent559139fce64d685708c283397033bf152afd00a3 (diff)
Add Sierra ASM68 supportsierra-support
Diffstat (limited to 'src/disasm.cpp')
-rw-r--r--src/disasm.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/disasm.cpp b/src/disasm.cpp
index 847d11d..572030d 100644
--- a/src/disasm.cpp
+++ b/src/disasm.cpp
@@ -182,8 +182,11 @@ void DisasmMap::Disasm(
} else {
node = &insertNode(at, NodeType::kTracedInstruction);
}
- if (node->op.opcode == OpCode::kNone || inside_code_span) {
- const auto size = node->Disasm(code);
+ const bool perform_disasm = node->op.opcode == OpCode::kNone ||
+ (_type == DisasmMapType::kRaw && node->op.opcode == OpCode::kRaw) ||
+ inside_code_span;
+ if (perform_disasm) {
+ const auto size = node->Disasm(code, s);
assert(size >= kInstructionSizeStepBytes);
if (canBeAllocated(*node)) {
// Spread across the size