summaryrefslogtreecommitdiff
path: root/eater_cpu/cpp/disas.h
diff options
context:
space:
mode:
authoruvok2026-01-23 21:11:02 +0100
committeruvok2026-01-23 21:11:02 +0100
commit5bd66f330d92a3329cbd689bfb2023695c042640 (patch)
treed7ffcd558dd57844c5ac42f82464e5cf70917c9f /eater_cpu/cpp/disas.h
parent57775b39a940da5e5f29b9cb2ce6611ba107c587 (diff)
eater, ncur: Put in more info, add disasmain
Diffstat (limited to 'eater_cpu/cpp/disas.h')
-rw-r--r--eater_cpu/cpp/disas.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/eater_cpu/cpp/disas.h b/eater_cpu/cpp/disas.h
index 9685e15..3fd4670 100644
--- a/eater_cpu/cpp/disas.h
+++ b/eater_cpu/cpp/disas.h
@@ -5,21 +5,22 @@
#include <string>
static std::string disas(uint8_t ins) {
+ const uint8_t arg = ins & 0x0f;
switch (ins >> 4) {
case 0:
return "nop";
case 1:
- return std::format("lda {}", ins & 0x0f);
+ return std::format("lda {}", arg);
case 2:
- return std::format("add {}", ins & 0x0f);
+ return std::format("add {}", arg);
case 3:
- return std::format("sub {}", ins & 0x0f);
+ return std::format("sub {}", arg);
case 4:
- return std::format("sta {}", ins & 0x0f);
+ return std::format("sta {}", arg);
case 5:
- return std::format("ldi {}", ins & 0x0f);
+ return std::format("ldi {}", arg);
case 6:
- return std::format("jmp");
+ return std::format("jmp {}", arg);
case 14:
return std::format("out");
case 15: