aboutsummaryrefslogtreecommitdiff
path: root/src/ops.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ops.h')
-rw-r--r--src/ops.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/ops.h b/src/ops.h
new file mode 100644
index 0000000..2ad2285
--- /dev/null
+++ b/src/ops.h
@@ -0,0 +1,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",
+};