summaryrefslogtreecommitdiff
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 2a060df..7ce10fa 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -595,17 +595,10 @@ static bool EmitDisassembly(
ctx.output = output;
}
for (size_t address = 0; address < code.size;) {
- const DisasmNode raw = DisasmNode{
- /* .type = */ NodeType::kTracedInstruction,
- /* .address = */ static_cast<uint32_t>(address),
- /* .size = */ 2,
- /* .ref_kinds = */ 0,
- /* .ref1_addr = */ 0,
- /* .ref2_addr = */ 0,
- /* .ref_by = */ nullptr,
- /* .last_ref_by = */ nullptr,
- /* .op = */ Op::Raw(GetU16BE(code.buffer + address)),
- };
+ const DisasmNode raw = (address & 1)
+ ? DisasmNode::DataRaw8(static_cast<uint32_t>(address), GetU8(code.buffer + address))
+ : DisasmNode::TracedRaw(
+ static_cast<uint32_t>(address), GetU16BE(code.buffer + address));
const DisasmNode *node = disasm_map.FindNodeByAddress(address);
const bool traced = node;
if (node == nullptr) {