From 57775b39a940da5e5f29b9cb2ce6611ba107c587 Mon Sep 17 00:00:00 2001 From: uvok Date: Fri, 23 Jan 2026 20:32:19 +0100 Subject: Add ncurses and disassembly --- eater_cpu/cpp/disas.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 eater_cpu/cpp/disas.h (limited to 'eater_cpu/cpp/disas.h') diff --git a/eater_cpu/cpp/disas.h b/eater_cpu/cpp/disas.h new file mode 100644 index 0000000..9685e15 --- /dev/null +++ b/eater_cpu/cpp/disas.h @@ -0,0 +1,30 @@ +#pragma once + +#include +#include +#include + +static std::string disas(uint8_t ins) { + switch (ins >> 4) { + case 0: + return "nop"; + case 1: + return std::format("lda {}", ins & 0x0f); + case 2: + return std::format("add {}", ins & 0x0f); + case 3: + return std::format("sub {}", ins & 0x0f); + case 4: + return std::format("sta {}", ins & 0x0f); + case 5: + return std::format("ldi {}", ins & 0x0f); + case 6: + return std::format("jmp"); + case 14: + return std::format("out"); + case 15: + return std::format("halt"); + default: + return "???"; + } +} -- cgit v1.2.3