aboutsummaryrefslogtreecommitdiff
path: root/src/ops.h
blob: 6119c2f383ec009f1768bfab965ea995907910ab (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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#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_GTE,
	OP_LTH,
	OP_LTE,
	OP_JEZ,
	OP_JNZ,
	OP_JMP,
	OP_JRT,
	OP_RET,
	OP_LDA,
	OP_STA,
	OP_RED,
	OP_WRT,
	OP_ERR,
	OP_ADD,
	OP_SUB,
	OP_MUL,
	OP_DIV,
	OP_MOD,
	OP_AND,
	OP_ORA,
	OP_XOR,
	OP_LSF,
	OP_RSF,
	OP_SLP,
	OP_INC,
	OP_DEC,
	OP_DBG,
};

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_GTE] = "GTE",
	[OP_LTH] = "LTH",
	[OP_LTE] = "LTE",
	[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_ERR] = "ERR",
	[OP_ADD] = "ADD",
	[OP_SUB] = "SUB",
	[OP_MUL] = "MUL",
	[OP_DIV] = "DIV",
	[OP_MOD] = "MOD",
	[OP_AND] = "AND",
	[OP_ORA] = "ORA",
	[OP_XOR] = "XOR",
	[OP_LSF] = "LSF",
	[OP_RSF] = "RSF",
	[OP_SLP] = "SLP",
	[OP_INC] = "INC",
	[OP_DEC] = "DEC",
	[OP_DBG] = "DBG",
};