blob: 3fd467032f55b3a53299b1dbc86fb36faccda08e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#pragma once
#include <cstdint>
#include <format>
#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 {}", 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 "???";
}
}
|