summaryrefslogtreecommitdiff
path: root/tables.h
blob: 16d5563c8942b2b8f450eb6a96bcb42bca4e5d5c (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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#include "enums.h"

static const uint8_t optype[0x100] = {
	[CPS_IMP ] = IMPL,
	[ADC_IMM ] = IMM,
	[ROR_IMM ] = IMM,
	[CPB_IMM ] = IMM,
	[ADC_Z   ] = ZM,
	[ROR_Z   ] = ZM,
	[CPB_Z   ] = ZM,
	[CLC_IMP ] = IMPL,
	[TAB_IMP ] = IMPL,
	[STY_Z   ] = ZM,
	[JMP_AB  ] = ABS,
	[ADC_AB  ] = ABS,
	[ROR_AB  ] = ABS,
	[CPB_AB  ] = ABS,
	[ADC_B   ] = BREG,
	[ROR_B   ] = BREG,
	[STY_AB  ] = ABS,
	[SEC_IMP ] = IMPL,
	[TBA_IMP ] = IMPL,
	[JMP_Z   ] = ZM,
	[SBC_IMM ] = IMM,
	[MUL_IMM ] = IMM,
	[CPX_IMM ] = IMM,
	[SBC_Z   ] = ZM,
	[MUL_Z   ] = ZM,
	[CPX_Z   ] = ZM,
	[CLI_IMP ] = IMPL,
	[TAY_IMP ] = IMPL,
	[STA_Z   ] = ZM,
	[STA_ZX  ] = ZMX,
	[JSR_AB  ] = ABS,
	[SBC_AB  ] = ABS,
	[MUL_AB  ] = ABS,
	[CPX_AB  ] = ABS,
	[SBC_B   ] = BREG,
	[MUL_B   ] = BREG,
	[STA_AB  ] = ABS,
	[SEI_IMP ] = IMPL,
	[TYA_IMP ] = IMPL,
	[STA_ZY  ] = ZMY,
	[STA_IX  ] = INDX,
	[JSR_Z   ] = ZM,
	[AND_IMM ] = IMM,
	[DIV_IMM ] = IMM,
	[CPY_IMM ] = IMM,
	[AND_Z   ] = ZM,
	[DIV_Z   ] = ZM,
	[CPY_Z   ] = ZM,
	[CLV_IMP ] = IMPL,
	[TAX_IMP ] = IMPL,
	[STB_Z   ] = ZM,
	[STB_ZX  ] = ZMX,
	[RTS_IMP ] = IMPL,
	[AND_AB  ] = ABS,
	[DIV_AB  ] = ABS,
	[CPY_AB  ] = ABS,
	[AND_B   ] = BREG,
	[DIV_B   ] = BREG,
	[STB_AB  ] = ABS,
	[WAI_IMP ] = IMPL,
	[TXA_IMP ] = IMPL,
	[STB_ZY  ] = ZMY,
	[STB_IX  ] = INDX,
	[RTI_IMP ] = IMPL,
	[ORA_IMM ] = IMM,
	[ASR_IMM ] = IMM,
	[LDX_IMM ] = IMM,
	[ORA_Z   ] = ZM,
	[ASR_Z   ] = ZM,
	[LDX_Z   ] = ZM,
	[BRK_IMP ] = IMPL,
	[TYX_IMP ] = IMPL,
	[STX_Z   ] = ZM,
	[PHP_IMP ] = IMPL,
	[BPO_REL ] = REL,
	[ORA_AB  ] = ABS,
	[ASR_AB  ] = ABS,
	[LDX_AB  ] = ABS,
	[ORA_B   ] = BREG,
	[ASR_B   ] = BREG,
	[STX_AB  ] = ABS,
	[DEY_IMP ] = IMPL,
	[TXY_IMP ] = IMPL,
	[CPB_IN  ] = IND,
	[PLP_IMP ] = IMPL,
	[BNG_REL ] = REL,
	[XOR_IMM ] = IMM,
	[CMP_IMM ] = IMM,
	[DEC_IMP ] = IMPL,
	[XOR_Z   ] = ZM,
	[CMP_Z   ] = ZM,
	[DEC_Z   ] = ZM,
	[INY_IMP ] = IMPL,
	[TSX_IMP ] = IMPL,
	[CMP_IN  ] = IND,
	[PHA_IMP ] = IMPL,
	[BCS_REL ] = REL,
	[XOR_AB  ] = ABS,
	[CMP_AB  ] = ABS,
	[DEC_AB  ] = ABS,
	[XOR_B   ] = BREG,
	[CMP_B   ] = BREG,
	[DEB_IMP ] = IMPL,
	[TXS_IMM ] = IMM,
	[STY_IN  ] = IND,
	[PLA_IMP ] = IMPL,
	[BCC_REL ] = REL,
	[LSL_IMM ] = IMM,
	[LDY_IMM ] = IMM,
	[INC_IMP ] = IMPL,
	[LSL_Z   ] = ZM,
	[LDY_Z   ] = ZM,
	[INC_Z   ] = ZM,
	[INB_IMP ] = IMPL,
	[CMP_IX  ] = INDX,
	[LDY_IN  ] = IND,
	[PHB_IMP ] = IMPL,
	[BEQ_REL ] = REL,
	[LSL_AB  ] = ABS,
	[LDY_AB  ] = ABS,
	[INC_AB  ] = ABS,
	[LSL_B   ] = BREG,
	[DEX_IMP ] = IMPL,
	[CPB_IX  ] = INDX,
	[LDX_IN  ] = IND,
	[PLB_IMP ] = IMPL,
	[BNE_REL ] = REL,
	[LSR_IMM ] = IMM,
	[LDA_IMM ] = IMM,
	[LDA_IN  ] = IND,
	[LSR_Z   ] = ZM,
	[LDA_Z   ] = ZM,
	[LDA_ZX  ] = ZMX,
	[INX_IMP ] = IMPL,
	[STA_IY  ] = INDY,
	[STX_IN  ] = IND,
	[PHY_IMP ] = IMPL,
	[BVS_REL ] = REL,
	[LSR_AB  ] = ABS,
	[LDA_AB  ] = ABS,
	[STA_IN  ] = IND,
	[LSR_B   ] = BREG,
	[LDA_ZY  ] = ZMY,
	[LDA_IX  ] = INDX,
	[LDA_IY  ] = INDY,
	[STB_IY  ] = INDY,
	[JSR_IN  ] = IND,
	[PLY_IMP ] = IMPL,
	[BVC_REL ] = REL,
	[ROL_IMM ] = IMM,
	[LDB_IMM ] = IMM,
	[LDB_IN  ] = IND,
	[ROL_Z   ] = ZM,
	[LDB_Z   ] = ZM,
	[LDB_ZX  ] = ZMX,
	[LDB_IY  ] = INDY,
	[NOP_IMP ] = IMPL,
	[JMP_IN  ] = IND,
	[PHX_IMP ] = IMPL,
	[BRA_REL ] = REL,
	[ROL_AB  ] = ABS,
	[LDB_AB  ] = ABS,
	[STB_IN  ] = IND,
	[ROL_B   ] = BREG,
	[LDB_ZY  ] = ZMY,
	[LDB_IX  ] = INDX,
	[CMP_IY  ] = INDY,
	[CPB_IY  ] = INDY,
	[PLX_IMP ] = IMPL
};