-
Notifications
You must be signed in to change notification settings - Fork 0
/
mos6510.c
executable file
·266 lines (264 loc) · 13.5 KB
/
mos6510.c
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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
/*
* Copyright (c) 2020 Erwin Rol <erwin@erwinrol.com
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#include "mos6510.h"
const struct mos6510_opcode mos6510_opcode_table[256] = {
/* 0x00 */ {MOS6510_TYPE_BRK, MOS6510_MODE_IMP },
/* 0x01 */ {MOS6510_TYPE_ORA, MOS6510_MODE_INDX },
/* 0x02 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x03 */ {MOS6510_TYPE_SLO, MOS6510_MODE_INDX },
/* 0x04 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZP },
/* 0x05 */ {MOS6510_TYPE_ORA, MOS6510_MODE_ZP },
/* 0x06 */ {MOS6510_TYPE_ASL, MOS6510_MODE_ZP },
/* 0x07 */ {MOS6510_TYPE_SLO, MOS6510_MODE_ZP },
/* 0x08 */ {MOS6510_TYPE_PHP, MOS6510_MODE_IMP },
/* 0x09 */ {MOS6510_TYPE_ORA, MOS6510_MODE_IMM },
/* 0x0a */ {MOS6510_TYPE_ASL, MOS6510_MODE_ACC },
/* 0x0b */ {MOS6510_TYPE_ANC, MOS6510_MODE_IMM },
/* 0x0c */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABS },
/* 0x0d */ {MOS6510_TYPE_ORA, MOS6510_MODE_ABS },
/* 0x0e */ {MOS6510_TYPE_ASL, MOS6510_MODE_ABS },
/* 0x0f */ {MOS6510_TYPE_SLO, MOS6510_MODE_ABS },
/* 0x10 */ {MOS6510_TYPE_BPL, MOS6510_MODE_REL },
/* 0x11 */ {MOS6510_TYPE_ORA, MOS6510_MODE_INDY },
/* 0x12 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x13 */ {MOS6510_TYPE_SLO, MOS6510_MODE_INDY },
/* 0x14 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZPX },
/* 0x15 */ {MOS6510_TYPE_ORA, MOS6510_MODE_ZPX },
/* 0x16 */ {MOS6510_TYPE_ASL, MOS6510_MODE_ZPX },
/* 0x17 */ {MOS6510_TYPE_SLO, MOS6510_MODE_ZPX },
/* 0x18 */ {MOS6510_TYPE_CLC, MOS6510_MODE_IMP },
/* 0x19 */ {MOS6510_TYPE_ORA, MOS6510_MODE_ABSY },
/* 0x1a */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0x1b */ {MOS6510_TYPE_SLO, MOS6510_MODE_ABSY },
/* 0x1c */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABSX },
/* 0x1d */ {MOS6510_TYPE_ORA, MOS6510_MODE_ABSX },
/* 0x1e */ {MOS6510_TYPE_ASL, MOS6510_MODE_ABSX },
/* 0x1f */ {MOS6510_TYPE_SLO, MOS6510_MODE_ABSX },
/* 0x20 */ {MOS6510_TYPE_JSR, MOS6510_MODE_ABS },
/* 0x21 */ {MOS6510_TYPE_AND, MOS6510_MODE_INDX },
/* 0x22 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x23 */ {MOS6510_TYPE_RLA, MOS6510_MODE_INDX },
/* 0x24 */ {MOS6510_TYPE_BIT, MOS6510_MODE_ZP },
/* 0x25 */ {MOS6510_TYPE_AND, MOS6510_MODE_ZP },
/* 0x26 */ {MOS6510_TYPE_ROL, MOS6510_MODE_ZP },
/* 0x27 */ {MOS6510_TYPE_RLA, MOS6510_MODE_ZP },
/* 0x28 */ {MOS6510_TYPE_PLP, MOS6510_MODE_IMP },
/* 0x29 */ {MOS6510_TYPE_AND, MOS6510_MODE_IMM },
/* 0x2a */ {MOS6510_TYPE_ROL, MOS6510_MODE_ACC },
/* 0x2b */ {MOS6510_TYPE_ANC, MOS6510_MODE_IMM },
/* 0x2c */ {MOS6510_TYPE_BIT, MOS6510_MODE_ABS },
/* 0x2d */ {MOS6510_TYPE_AND, MOS6510_MODE_ABS },
/* 0x2e */ {MOS6510_TYPE_ROL, MOS6510_MODE_ABS },
/* 0x2f */ {MOS6510_TYPE_RLA, MOS6510_MODE_ABS },
/* 0x30 */ {MOS6510_TYPE_BMI, MOS6510_MODE_REL },
/* 0x31 */ {MOS6510_TYPE_AND, MOS6510_MODE_INDY },
/* 0x32 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x33 */ {MOS6510_TYPE_RLA, MOS6510_MODE_INDY },
/* 0x34 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZPX },
/* 0x35 */ {MOS6510_TYPE_AND, MOS6510_MODE_ZPX },
/* 0x36 */ {MOS6510_TYPE_ROL, MOS6510_MODE_ZPX },
/* 0x37 */ {MOS6510_TYPE_RLA, MOS6510_MODE_ZPX },
/* 0x38 */ {MOS6510_TYPE_SEC, MOS6510_MODE_IMP },
/* 0x39 */ {MOS6510_TYPE_AND, MOS6510_MODE_ABSY },
/* 0x3A */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0x3B */ {MOS6510_TYPE_RLA, MOS6510_MODE_ABSY },
/* 0x3C */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABSX },
/* 0x3D */ {MOS6510_TYPE_AND, MOS6510_MODE_ABSX },
/* 0x3E */ {MOS6510_TYPE_ROL, MOS6510_MODE_ABSX },
/* 0x3F */ {MOS6510_TYPE_RLA, MOS6510_MODE_ABSX },
/* 0x40 */ {MOS6510_TYPE_RTI, MOS6510_MODE_IMP },
/* 0x41 */ {MOS6510_TYPE_EOR, MOS6510_MODE_INDX },
/* 0x42 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x43 */ {MOS6510_TYPE_SRE, MOS6510_MODE_INDX },
/* 0x44 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZP },
/* 0x45 */ {MOS6510_TYPE_EOR, MOS6510_MODE_ZP },
/* 0x46 */ {MOS6510_TYPE_LSR, MOS6510_MODE_ZP },
/* 0x47 */ {MOS6510_TYPE_SRE, MOS6510_MODE_ZP },
/* 0x48 */ {MOS6510_TYPE_PHA, MOS6510_MODE_IMP },
/* 0x49 */ {MOS6510_TYPE_EOR, MOS6510_MODE_IMM },
/* 0x4A */ {MOS6510_TYPE_LSR, MOS6510_MODE_ACC },
/* 0x4B */ {MOS6510_TYPE_ALR, MOS6510_MODE_IMM },
/* 0x4C */ {MOS6510_TYPE_JMP, MOS6510_MODE_ABS },
/* 0x4D */ {MOS6510_TYPE_EOR, MOS6510_MODE_ABS },
/* 0x4E */ {MOS6510_TYPE_LSR, MOS6510_MODE_ABS },
/* 0x4F */ {MOS6510_TYPE_SRE, MOS6510_MODE_ABS },
/* 0x50 */ {MOS6510_TYPE_BVC, MOS6510_MODE_REL },
/* 0x51 */ {MOS6510_TYPE_EOR, MOS6510_MODE_INDY },
/* 0x52 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x53 */ {MOS6510_TYPE_SRE, MOS6510_MODE_INDY },
/* 0x54 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZPX },
/* 0x55 */ {MOS6510_TYPE_EOR, MOS6510_MODE_ZPX },
/* 0x56 */ {MOS6510_TYPE_LSR, MOS6510_MODE_ZPX },
/* 0x57 */ {MOS6510_TYPE_SRE, MOS6510_MODE_ZPX },
/* 0x58 */ {MOS6510_TYPE_CLI, MOS6510_MODE_IMP },
/* 0x59 */ {MOS6510_TYPE_EOR, MOS6510_MODE_ABSY },
/* 0x5A */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0x5B */ {MOS6510_TYPE_SRE, MOS6510_MODE_ABSY },
/* 0x5C */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABSX },
/* 0x5D */ {MOS6510_TYPE_EOR, MOS6510_MODE_ABSX },
/* 0x5E */ {MOS6510_TYPE_LSR, MOS6510_MODE_ABSX },
/* 0x5F */ {MOS6510_TYPE_SRE, MOS6510_MODE_ABSX },
/* 0x60 */ {MOS6510_TYPE_RTS, MOS6510_MODE_IMP },
/* 0x61 */ {MOS6510_TYPE_ADC, MOS6510_MODE_INDX },
/* 0x62 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x63 */ {MOS6510_TYPE_RRA, MOS6510_MODE_INDX },
/* 0x64 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZP },
/* 0x65 */ {MOS6510_TYPE_ADC, MOS6510_MODE_ZP },
/* 0x66 */ {MOS6510_TYPE_ROR, MOS6510_MODE_ZP },
/* 0x67 */ {MOS6510_TYPE_RRA, MOS6510_MODE_ZP },
/* 0x68 */ {MOS6510_TYPE_PLA, MOS6510_MODE_IMP },
/* 0x69 */ {MOS6510_TYPE_ADC, MOS6510_MODE_IMM },
/* 0x6A */ {MOS6510_TYPE_ROR, MOS6510_MODE_ACC },
/* 0x6B */ {MOS6510_TYPE_ARR, MOS6510_MODE_IMM },
/* 0x6C */ {MOS6510_TYPE_JMP, MOS6510_MODE_IND },
/* 0x6D */ {MOS6510_TYPE_ADC, MOS6510_MODE_ABS },
/* 0x6E */ {MOS6510_TYPE_ROR, MOS6510_MODE_ABS },
/* 0x6F */ {MOS6510_TYPE_RRA, MOS6510_MODE_ABS },
/* 0x70 */ {MOS6510_TYPE_BVS, MOS6510_MODE_REL },
/* 0x71 */ {MOS6510_TYPE_ADC, MOS6510_MODE_INDY },
/* 0x72 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x73 */ {MOS6510_TYPE_RRA, MOS6510_MODE_INDY },
/* 0x74 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZPX },
/* 0x75 */ {MOS6510_TYPE_ADC, MOS6510_MODE_ZPX },
/* 0x76 */ {MOS6510_TYPE_ROR, MOS6510_MODE_ZPX },
/* 0x77 */ {MOS6510_TYPE_RRA, MOS6510_MODE_ZPX },
/* 0x78 */ {MOS6510_TYPE_SEI, MOS6510_MODE_IMP },
/* 0x79 */ {MOS6510_TYPE_ADC, MOS6510_MODE_ABSY },
/* 0x7A */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0x7B */ {MOS6510_TYPE_RRA, MOS6510_MODE_ABSY },
/* 0x7C */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABSX },
/* 0x7D */ {MOS6510_TYPE_ADC, MOS6510_MODE_ABSX },
/* 0x7E */ {MOS6510_TYPE_ROR, MOS6510_MODE_ABSX },
/* 0x7F */ {MOS6510_TYPE_RRA, MOS6510_MODE_ABSX },
/* 0x80 */ {MOS6510_TYPE_NOP, MOS6510_MODE_IMM },
/* 0x81 */ {MOS6510_TYPE_STA, MOS6510_MODE_INDX },
/* 0x82 */ {MOS6510_TYPE_NOP, MOS6510_MODE_IMM },
/* 0x83 */ {MOS6510_TYPE_SAX, MOS6510_MODE_INDX },
/* 0x84 */ {MOS6510_TYPE_STY, MOS6510_MODE_ZP },
/* 0x85 */ {MOS6510_TYPE_STA, MOS6510_MODE_ZP },
/* 0x86 */ {MOS6510_TYPE_STX, MOS6510_MODE_ZP },
/* 0x87 */ {MOS6510_TYPE_SAX, MOS6510_MODE_ZP },
/* 0x88 */ {MOS6510_TYPE_DEY, MOS6510_MODE_IMP },
/* 0x89 */ {MOS6510_TYPE_NOP, MOS6510_MODE_IMM },
/* 0x8A */ {MOS6510_TYPE_TXA, MOS6510_MODE_ACC },
/* 0x8B */ {MOS6510_TYPE_XAA, MOS6510_MODE_IMM },
/* 0x8C */ {MOS6510_TYPE_STY, MOS6510_MODE_ABS },
/* 0x8D */ {MOS6510_TYPE_STA, MOS6510_MODE_ABS },
/* 0x8E */ {MOS6510_TYPE_STX, MOS6510_MODE_ABS },
/* 0x8F */ {MOS6510_TYPE_SAX, MOS6510_MODE_ABS },
/* 0x90 */ {MOS6510_TYPE_BCC, MOS6510_MODE_REL },
/* 0x91 */ {MOS6510_TYPE_STA, MOS6510_MODE_INDY },
/* 0x92 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0x93 */ {MOS6510_TYPE_AHX, MOS6510_MODE_INDY },
/* 0x94 */ {MOS6510_TYPE_STY, MOS6510_MODE_ZPX },
/* 0x95 */ {MOS6510_TYPE_STA, MOS6510_MODE_ZPX },
/* 0x96 */ {MOS6510_TYPE_STX, MOS6510_MODE_ZPY },
/* 0x97 */ {MOS6510_TYPE_SAX, MOS6510_MODE_ZPY },
/* 0x98 */ {MOS6510_TYPE_TYA, MOS6510_MODE_IMP },
/* 0x99 */ {MOS6510_TYPE_STA, MOS6510_MODE_ABSY },
/* 0x9A */ {MOS6510_TYPE_TXS, MOS6510_MODE_ACC },
/* 0x9B */ {MOS6510_TYPE_TAS, MOS6510_MODE_ABSY },
/* 0x9C */ {MOS6510_TYPE_SHY, MOS6510_MODE_ABSX },
/* 0x9D */ {MOS6510_TYPE_STA, MOS6510_MODE_ABSX },
/* 0x9E */ {MOS6510_TYPE_SHX, MOS6510_MODE_ABSY },
/* 0x9F */ {MOS6510_TYPE_AHX, MOS6510_MODE_ABSY },
/* 0xA0 */ {MOS6510_TYPE_LDY, MOS6510_MODE_IMM },
/* 0xA1 */ {MOS6510_TYPE_LDA, MOS6510_MODE_INDX },
/* 0xA2 */ {MOS6510_TYPE_LDX, MOS6510_MODE_IMM },
/* 0xA3 */ {MOS6510_TYPE_LAX, MOS6510_MODE_INDX },
/* 0xA4 */ {MOS6510_TYPE_LDY, MOS6510_MODE_ZP },
/* 0xA5 */ {MOS6510_TYPE_LDA, MOS6510_MODE_ZP },
/* 0xA6 */ {MOS6510_TYPE_LDX, MOS6510_MODE_ZP },
/* 0xA7 */ {MOS6510_TYPE_LAX, MOS6510_MODE_ZP },
/* 0xA8 */ {MOS6510_TYPE_TAY, MOS6510_MODE_IMP },
/* 0xA9 */ {MOS6510_TYPE_LDA, MOS6510_MODE_IMM },
/* 0xAA */ {MOS6510_TYPE_TAX, MOS6510_MODE_ACC },
/* 0xAB */ {MOS6510_TYPE_LAX, MOS6510_MODE_IMM },
/* 0xAC */ {MOS6510_TYPE_LDY, MOS6510_MODE_ABS },
/* 0xAD */ {MOS6510_TYPE_LDA, MOS6510_MODE_ABS },
/* 0xAE */ {MOS6510_TYPE_LDX, MOS6510_MODE_ABS },
/* 0xAF */ {MOS6510_TYPE_LAX, MOS6510_MODE_ABS },
/* 0xB0 */ {MOS6510_TYPE_BCS, MOS6510_MODE_REL },
/* 0xB1 */ {MOS6510_TYPE_LDA, MOS6510_MODE_INDY },
/* 0xB2 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0xB3 */ {MOS6510_TYPE_LAX, MOS6510_MODE_INDY },
/* 0xB4 */ {MOS6510_TYPE_LDY, MOS6510_MODE_ZPX },
/* 0xB5 */ {MOS6510_TYPE_LDA, MOS6510_MODE_ZPX },
/* 0xB6 */ {MOS6510_TYPE_LDX, MOS6510_MODE_ZPY },
/* 0xB7 */ {MOS6510_TYPE_LAX, MOS6510_MODE_ZPY },
/* 0xB8 */ {MOS6510_TYPE_CLV, MOS6510_MODE_IMP },
/* 0xB9 */ {MOS6510_TYPE_LDA, MOS6510_MODE_ABSY },
/* 0xBA */ {MOS6510_TYPE_TSX, MOS6510_MODE_ACC },
/* 0xBB */ {MOS6510_TYPE_LAS, MOS6510_MODE_ABSY },
/* 0xBC */ {MOS6510_TYPE_LDY, MOS6510_MODE_ABSX },
/* 0xBD */ {MOS6510_TYPE_LDA, MOS6510_MODE_ABSX },
/* 0xBE */ {MOS6510_TYPE_LDX, MOS6510_MODE_ABSY },
/* 0xBF */ {MOS6510_TYPE_LAX, MOS6510_MODE_ABSY },
/* 0xC0 */ {MOS6510_TYPE_CPY, MOS6510_MODE_IMM },
/* 0xC1 */ {MOS6510_TYPE_CMP, MOS6510_MODE_INDX },
/* 0xC2 */ {MOS6510_TYPE_NOP, MOS6510_MODE_IMM },
/* 0xC3 */ {MOS6510_TYPE_DCP, MOS6510_MODE_INDX },
/* 0xC4 */ {MOS6510_TYPE_CPY, MOS6510_MODE_ZP },
/* 0xC5 */ {MOS6510_TYPE_CMP, MOS6510_MODE_ZP },
/* 0xC6 */ {MOS6510_TYPE_DEC, MOS6510_MODE_ZP },
/* 0xC7 */ {MOS6510_TYPE_DCP, MOS6510_MODE_ZP },
/* 0xC8 */ {MOS6510_TYPE_INY, MOS6510_MODE_IMP },
/* 0xC9 */ {MOS6510_TYPE_CMP, MOS6510_MODE_IMM },
/* 0xCA */ {MOS6510_TYPE_DEX, MOS6510_MODE_ACC },
/* 0xCB */ {MOS6510_TYPE_AXS, MOS6510_MODE_IMM },
/* 0xCC */ {MOS6510_TYPE_CPY, MOS6510_MODE_ABS },
/* 0xCD */ {MOS6510_TYPE_CMP, MOS6510_MODE_ABS },
/* 0xCE */ {MOS6510_TYPE_DEC, MOS6510_MODE_ABS },
/* 0xCF */ {MOS6510_TYPE_DCP, MOS6510_MODE_ABS },
/* 0xD0 */ {MOS6510_TYPE_BNE, MOS6510_MODE_REL },
/* 0xD1 */ {MOS6510_TYPE_CMP, MOS6510_MODE_INDY },
/* 0xD2 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0xD3 */ {MOS6510_TYPE_DCP, MOS6510_MODE_INDY },
/* 0xD4 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZPX },
/* 0xD5 */ {MOS6510_TYPE_CMP, MOS6510_MODE_ZPX },
/* 0xD6 */ {MOS6510_TYPE_DEC, MOS6510_MODE_ZPX },
/* 0xD7 */ {MOS6510_TYPE_DCP, MOS6510_MODE_ZPX },
/* 0xD8 */ {MOS6510_TYPE_CLD, MOS6510_MODE_IMP },
/* 0xD9 */ {MOS6510_TYPE_CMP, MOS6510_MODE_ABSY },
/* 0xDA */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0xDB */ {MOS6510_TYPE_DCP, MOS6510_MODE_ABSY },
/* 0xDC */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABSX },
/* 0xDD */ {MOS6510_TYPE_CMP, MOS6510_MODE_ABSX },
/* 0xDE */ {MOS6510_TYPE_DEC, MOS6510_MODE_ABSX },
/* 0xDF */ {MOS6510_TYPE_DCP, MOS6510_MODE_ABSX },
/* 0xE0 */ {MOS6510_TYPE_CPX, MOS6510_MODE_IMM },
/* 0xE1 */ {MOS6510_TYPE_SBC, MOS6510_MODE_INDX },
/* 0xE2 */ {MOS6510_TYPE_NOP, MOS6510_MODE_IMM },
/* 0xE3 */ {MOS6510_TYPE_ISC, MOS6510_MODE_INDX },
/* 0xE4 */ {MOS6510_TYPE_CPX, MOS6510_MODE_ZP },
/* 0xE5 */ {MOS6510_TYPE_SBC, MOS6510_MODE_ZP },
/* 0xE6 */ {MOS6510_TYPE_INC, MOS6510_MODE_ZP },
/* 0xE7 */ {MOS6510_TYPE_ISC, MOS6510_MODE_ZP },
/* 0xE8 */ {MOS6510_TYPE_INX, MOS6510_MODE_IMP },
/* 0xE9 */ {MOS6510_TYPE_SBC, MOS6510_MODE_IMM },
/* 0xEA */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0xEB */ {MOS6510_TYPE_SBC, MOS6510_MODE_IMM },
/* 0xEC */ {MOS6510_TYPE_CPX, MOS6510_MODE_ABS },
/* 0xED */ {MOS6510_TYPE_SBC, MOS6510_MODE_ABS },
/* 0xEE */ {MOS6510_TYPE_INC, MOS6510_MODE_ABS },
/* 0xEF */ {MOS6510_TYPE_ISC, MOS6510_MODE_ABS },
/* 0xF0 */ {MOS6510_TYPE_BEQ, MOS6510_MODE_REL },
/* 0xF1 */ {MOS6510_TYPE_SBC, MOS6510_MODE_INDY },
/* 0xF2 */ {MOS6510_TYPE_XXX, MOS6510_MODE_XXX },
/* 0xF3 */ {MOS6510_TYPE_ISC, MOS6510_MODE_INDY },
/* 0xF4 */ {MOS6510_TYPE_NOP, MOS6510_MODE_ZPX },
/* 0xF5 */ {MOS6510_TYPE_SBC, MOS6510_MODE_ZPX },
/* 0xF6 */ {MOS6510_TYPE_INC, MOS6510_MODE_ZPX },
/* 0xF7 */ {MOS6510_TYPE_ISC, MOS6510_MODE_ZPX },
/* 0xF8 */ {MOS6510_TYPE_SED, MOS6510_MODE_IMP },
/* 0xF9 */ {MOS6510_TYPE_SBC, MOS6510_MODE_ABSY },
/* 0xFA */ {MOS6510_TYPE_NOP, MOS6510_MODE_ACC },
/* 0xFB */ {MOS6510_TYPE_ISC, MOS6510_MODE_ABSY },
/* 0xFC */ {MOS6510_TYPE_NOP, MOS6510_MODE_ABSX },
/* 0xFD */ {MOS6510_TYPE_SBC, MOS6510_MODE_ABSX },
/* 0xFE */ {MOS6510_TYPE_INC, MOS6510_MODE_ABSX },
/* 0xFF */ {MOS6510_TYPE_ISC, MOS6510_MODE_ABSX },
};