#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 "???"; } }