#pragma once #include #include #include 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 {}", arg); case 2: return std::format("add {}", arg); case 3: return std::format("sub {}", arg); case 4: return std::format("sta {}", arg); case 5: return std::format("ldi {}", arg); case 6: return std::format("jmp {}", arg); case 14: return std::format("out"); case 15: return std::format("halt"); default: return "???"; } }