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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#pragma once
enum {
OP_NOP,
OP_LIT,
OP_POP,
OP_NIP,
OP_SWP,
OP_ROT,
OP_DUP,
OP_OVR,
OP_EQU,
OP_NEQ,
OP_GTH,
OP_LTH,
OP_JEZ,
OP_JNZ,
OP_JMP,
OP_JRT,
OP_RET,
OP_LDA,
OP_STA,
OP_RED,
OP_WRT,
OP_ADD,
OP_SUB,
OP_MUL,
OP_DIV,
OP_AND,
OP_ORA,
OP_XOR,
OP_LSF,
OP_RSF,
OP_SLP,
};
static const char ops[][4] = {
[OP_NOP] = "NOP",
[OP_LIT] = "LIT",
[OP_POP] = "POP",
[OP_NIP] = "NIP",
[OP_SWP] = "SWP",
[OP_ROT] = "ROT",
[OP_DUP] = "DUP",
[OP_OVR] = "OVR",
[OP_EQU] = "EQU",
[OP_NEQ] = "NEQ",
[OP_GTH] = "GTH",
[OP_LTH] = "LTH",
[OP_JEZ] = "JEZ",
[OP_JNZ] = "JNZ",
[OP_JMP] = "JMP",
[OP_JRT] = "JRT",
[OP_RET] = "RET",
[OP_LDA] = "LDA",
[OP_STA] = "STA",
[OP_RED] = "RED",
[OP_WRT] = "WRT",
[OP_ADD] = "ADD",
[OP_SUB] = "SUB",
[OP_MUL] = "MUL",
[OP_DIV] = "DIV",
[OP_AND] = "AND",
[OP_ORA] = "ORA",
[OP_XOR] = "XOR",
[OP_LSF] = "LSF",
[OP_RSF] = "RSF",
[OP_SLP] = "SLP",
};
|