summaryrefslogtreecommitdiff
path: root/eater_cpu/cpp/disas.h
diff options
context:
space:
mode:
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: