-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopcodes.txt
259 lines (259 loc) · 11.9 KB
/
opcodes.txt
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
/* This file stores what operation and addressing mode
are associated with each opcode
(including unofficial ones) */
{Mnemonic::BRK, Addr_Mode::Immediate }, //0
{Mnemonic::ORA, Addr_Mode::Indirect_X }, //1
{Mnemonic::KIL, Addr_Mode::None }, //2
{Mnemonic::SLO, Addr_Mode::Indirect_X }, //3
{Mnemonic::NOP, Addr_Mode::Zero_Page }, //4
{Mnemonic::ORA, Addr_Mode::Zero_Page }, //5
{Mnemonic::ASL, Addr_Mode::Zero_Page }, //6
{Mnemonic::SLO, Addr_Mode::Zero_Page }, //7
{Mnemonic::PHP, Addr_Mode::Implied }, //8
{Mnemonic::ORA, Addr_Mode::Immediate }, //9
{Mnemonic::ASL, Addr_Mode::Accumulator }, //a
{Mnemonic::AAC, Addr_Mode::Immediate }, //b
{Mnemonic::NOP, Addr_Mode::Absolute }, //c
{Mnemonic::ORA, Addr_Mode::Absolute }, //d
{Mnemonic::ASL, Addr_Mode::Absolute }, //e
{Mnemonic::SLO, Addr_Mode::Absolute }, //f
{Mnemonic::BPL, Addr_Mode::Relative }, //10
{Mnemonic::ORA, Addr_Mode::Indirect_Y }, //11
{Mnemonic::KIL, Addr_Mode::None }, //12
{Mnemonic::SLO, Addr_Mode::Indirect_Y }, //13
{Mnemonic::NOP, Addr_Mode::Zero_Page_X }, //14
{Mnemonic::ORA, Addr_Mode::Zero_Page_X }, //15
{Mnemonic::ASL, Addr_Mode::Zero_Page_X }, //16
{Mnemonic::SLO, Addr_Mode::Zero_Page_X }, //17
{Mnemonic::CLC, Addr_Mode::Implied }, //18
{Mnemonic::ORA, Addr_Mode::Absolute_Y }, //19
{Mnemonic::NOP, Addr_Mode::Implied }, //1a
{Mnemonic::SLO, Addr_Mode::Absolute_Y }, //1b
{Mnemonic::NOP, Addr_Mode::Absolute_X }, //1c
{Mnemonic::ORA, Addr_Mode::Absolute_X }, //1d
{Mnemonic::ASL, Addr_Mode::Absolute_X }, //1e
{Mnemonic::SLO, Addr_Mode::Absolute_X }, //1f
{Mnemonic::JSR, Addr_Mode::Absolute }, //20
{Mnemonic::AND, Addr_Mode::Indirect_X }, //21
{Mnemonic::KIL, Addr_Mode::None }, //22
{Mnemonic::RLA, Addr_Mode::Indirect_X }, //23
{Mnemonic::BIT, Addr_Mode::Zero_Page }, //24
{Mnemonic::AND, Addr_Mode::Zero_Page }, //25
{Mnemonic::ROL, Addr_Mode::Zero_Page }, //26
{Mnemonic::RLA, Addr_Mode::Zero_Page }, //27
{Mnemonic::PLP, Addr_Mode::Implied }, //28
{Mnemonic::AND, Addr_Mode::Immediate }, //29
{Mnemonic::ROL, Addr_Mode::Accumulator }, //2a
{Mnemonic::AAC, Addr_Mode::Immediate }, //2b
{Mnemonic::BIT, Addr_Mode::Absolute }, //2c
{Mnemonic::AND, Addr_Mode::Absolute }, //2d
{Mnemonic::ROL, Addr_Mode::Absolute }, //2e
{Mnemonic::RLA, Addr_Mode::Absolute }, //2f
{Mnemonic::BMI, Addr_Mode::Relative }, //30
{Mnemonic::AND, Addr_Mode::Indirect_Y }, //31
{Mnemonic::KIL, Addr_Mode::None }, //32
{Mnemonic::RLA, Addr_Mode::Indirect_Y }, //33
{Mnemonic::NOP, Addr_Mode::Zero_Page_X }, //34
{Mnemonic::AND, Addr_Mode::Zero_Page_X }, //35
{Mnemonic::ROL, Addr_Mode::Zero_Page_X }, //36
{Mnemonic::RLA, Addr_Mode::Zero_Page_X }, //37
{Mnemonic::SEC, Addr_Mode::Implied }, //38
{Mnemonic::AND, Addr_Mode::Absolute_Y }, //39
{Mnemonic::NOP, Addr_Mode::Implied }, //3a
{Mnemonic::RLA, Addr_Mode::Absolute_Y }, //3b
{Mnemonic::NOP, Addr_Mode::Absolute_X }, //3c
{Mnemonic::AND, Addr_Mode::Absolute_X }, //3d
{Mnemonic::ROL, Addr_Mode::Absolute_X }, //3e
{Mnemonic::RLA, Addr_Mode::Absolute_X }, //3f
{Mnemonic::RTI, Addr_Mode::Implied }, //40
{Mnemonic::EOR, Addr_Mode::Indirect_X }, //41
{Mnemonic::KIL, Addr_Mode::None }, //42
{Mnemonic::SRE, Addr_Mode::Indirect_X }, //43
{Mnemonic::NOP, Addr_Mode::Zero_Page }, //44
{Mnemonic::EOR, Addr_Mode::Zero_Page }, //45
{Mnemonic::LSR, Addr_Mode::Zero_Page }, //46
{Mnemonic::SRE, Addr_Mode::Zero_Page }, //47
{Mnemonic::PHA, Addr_Mode::Implied }, //48
{Mnemonic::EOR, Addr_Mode::Immediate }, //49
{Mnemonic::LSR, Addr_Mode::Accumulator }, //4a
{Mnemonic::ASR, Addr_Mode::Immediate }, //4b
{Mnemonic::JMP, Addr_Mode::Absolute }, //4c
{Mnemonic::EOR, Addr_Mode::Absolute }, //4d
{Mnemonic::LSR, Addr_Mode::Absolute }, //4e
{Mnemonic::SRE, Addr_Mode::Absolute }, //4f
{Mnemonic::BVC, Addr_Mode::Relative }, //50
{Mnemonic::EOR, Addr_Mode::Indirect_Y }, //51
{Mnemonic::KIL, Addr_Mode::None }, //52
{Mnemonic::SRE, Addr_Mode::Indirect_Y }, //53
{Mnemonic::NOP, Addr_Mode::Zero_Page_X }, //54
{Mnemonic::EOR, Addr_Mode::Zero_Page_X }, //55
{Mnemonic::LSR, Addr_Mode::Zero_Page_X }, //56
{Mnemonic::SRE, Addr_Mode::Zero_Page_X }, //57
{Mnemonic::CLI, Addr_Mode::Implied }, //58
{Mnemonic::EOR, Addr_Mode::Absolute_Y }, //59
{Mnemonic::NOP, Addr_Mode::Implied }, //5a
{Mnemonic::SRE, Addr_Mode::Absolute_Y }, //5b
{Mnemonic::NOP, Addr_Mode::Absolute_X }, //5c
{Mnemonic::EOR, Addr_Mode::Absolute_X }, //5d
{Mnemonic::LSR, Addr_Mode::Absolute_X }, //5e
{Mnemonic::SRE, Addr_Mode::Absolute_X }, //5f
{Mnemonic::RTS, Addr_Mode::Implied }, //60
{Mnemonic::ADC, Addr_Mode::Indirect_X }, //61
{Mnemonic::ROR, Addr_Mode::Indirect_X }, //62
{Mnemonic::RRA, Addr_Mode::Indirect_X }, //63
{Mnemonic::NOP, Addr_Mode::Zero_Page }, //64
{Mnemonic::ADC, Addr_Mode::Zero_Page }, //65
{Mnemonic::ROR, Addr_Mode::Zero_Page }, //66
{Mnemonic::RRA, Addr_Mode::Zero_Page }, //67
{Mnemonic::PLA, Addr_Mode::Implied }, //68
{Mnemonic::ADC, Addr_Mode::Immediate }, //69
{Mnemonic::ROR, Addr_Mode::Accumulator }, //6a
{Mnemonic::ARR, Addr_Mode::Immediate }, //6b
{Mnemonic::JMP, Addr_Mode::Indirect }, //6c
{Mnemonic::ADC, Addr_Mode::Absolute }, //6d
{Mnemonic::ROR, Addr_Mode::Absolute }, //6e
{Mnemonic::RRA, Addr_Mode::Absolute }, //6f
{Mnemonic::BVS, Addr_Mode::Relative }, //70
{Mnemonic::ADC, Addr_Mode::Indirect_Y }, //71
{Mnemonic::KIL, Addr_Mode::None }, //72
{Mnemonic::RRA, Addr_Mode::Indirect_Y }, //73
{Mnemonic::NOP, Addr_Mode::Zero_Page_X }, //74
{Mnemonic::ADC, Addr_Mode::Zero_Page_X }, //75
{Mnemonic::ROR, Addr_Mode::Zero_Page_X }, //76
{Mnemonic::RRA, Addr_Mode::Zero_Page_X }, //77
{Mnemonic::SEI, Addr_Mode::Implied }, //78
{Mnemonic::ADC, Addr_Mode::Absolute_Y }, //79
{Mnemonic::NOP, Addr_Mode::Implied }, //7a
{Mnemonic::RRA, Addr_Mode::Absolute_Y }, //7b
{Mnemonic::NOP, Addr_Mode::Absolute_X }, //7c
{Mnemonic::ADC, Addr_Mode::Absolute_X }, //7d
{Mnemonic::ROR, Addr_Mode::Absolute_X }, //7e
{Mnemonic::RRA, Addr_Mode::Absolute_X }, //7f
{Mnemonic::NOP, Addr_Mode::Immediate }, //80
{Mnemonic::STA, Addr_Mode::Indirect_X }, //81
{Mnemonic::NOP, Addr_Mode::Immediate }, //82
{Mnemonic::SAX, Addr_Mode::Indirect_X }, //83
{Mnemonic::STY, Addr_Mode::Zero_Page }, //84
{Mnemonic::STA, Addr_Mode::Zero_Page }, //85
{Mnemonic::STX, Addr_Mode::Zero_Page }, //86
{Mnemonic::SAX, Addr_Mode::Zero_Page }, //87
{Mnemonic::DEY, Addr_Mode::Implied }, //88
{Mnemonic::NOP, Addr_Mode::Immediate }, //89
{Mnemonic::TXA, Addr_Mode::Implied }, //8a
{Mnemonic::XAA, Addr_Mode::Immediate }, //8b
{Mnemonic::STY, Addr_Mode::Absolute }, //8c
{Mnemonic::STA, Addr_Mode::Absolute }, //8d
{Mnemonic::STX, Addr_Mode::Absolute }, //8e
{Mnemonic::SAX, Addr_Mode::Absolute }, //8f
{Mnemonic::BCC, Addr_Mode::Relative }, //90
{Mnemonic::STA, Addr_Mode::Indirect_Y }, //91
{Mnemonic::KIL, Addr_Mode::None }, //92
{Mnemonic::AXA, Addr_Mode::Indirect_Y }, //93
{Mnemonic::STY, Addr_Mode::Zero_Page_X }, //94
{Mnemonic::STA, Addr_Mode::Zero_Page_X }, //95
{Mnemonic::STX, Addr_Mode::Zero_Page_Y }, //96
{Mnemonic::SAX, Addr_Mode::Zero_Page_Y }, //97
{Mnemonic::TYA, Addr_Mode::Implied }, //98
{Mnemonic::STA, Addr_Mode::Absolute_Y }, //99
{Mnemonic::TXS, Addr_Mode::Implied }, //9a
{Mnemonic::TAS, Addr_Mode::Absolute_Y }, //9b
{Mnemonic::SYA, Addr_Mode::Absolute }, //9c
{Mnemonic::STA, Addr_Mode::Absolute_X }, //9d
{Mnemonic::STX, Addr_Mode::Absolute_X }, //9e
{Mnemonic::AXA, Addr_Mode::Absolute_Y }, //9f
{Mnemonic::LDY, Addr_Mode::Immediate }, //a0
{Mnemonic::LDA, Addr_Mode::Indirect_X }, //a1
{Mnemonic::LDX, Addr_Mode::Immediate }, //a2
{Mnemonic::LAX, Addr_Mode::Indirect_X }, //a3
{Mnemonic::LDY, Addr_Mode::Zero_Page }, //a4
{Mnemonic::LDA, Addr_Mode::Zero_Page }, //a5
{Mnemonic::LDX, Addr_Mode::Zero_Page }, //a6
{Mnemonic::LAX, Addr_Mode::Zero_Page }, //a7
{Mnemonic::TAY, Addr_Mode::Implied }, //a8
{Mnemonic::LDA, Addr_Mode::Immediate }, //a9
{Mnemonic::TAX, Addr_Mode::Implied }, //aa
{Mnemonic::ATX, Addr_Mode::Immediate }, //ab
{Mnemonic::LDY, Addr_Mode::Absolute }, //ac
{Mnemonic::LDA, Addr_Mode::Absolute }, //ad
{Mnemonic::LDX, Addr_Mode::Absolute }, //ae
{Mnemonic::LAX, Addr_Mode::Absolute }, //af
{Mnemonic::BCS, Addr_Mode::Relative }, //b0
{Mnemonic::LDA, Addr_Mode::Indirect_Y }, //b1
{Mnemonic::KIL, Addr_Mode::None }, //b2
{Mnemonic::LAX, Addr_Mode::Indirect_Y }, //b3
{Mnemonic::LDY, Addr_Mode::Zero_Page_X }, //b4
{Mnemonic::LDA, Addr_Mode::Zero_Page_X }, //b5
{Mnemonic::LDX, Addr_Mode::Zero_Page_Y }, //b6
{Mnemonic::LAX, Addr_Mode::Zero_Page_Y }, //b7
{Mnemonic::CLV, Addr_Mode::Implied }, //b8
{Mnemonic::LDA, Addr_Mode::Absolute_Y }, //b9
{Mnemonic::TSX, Addr_Mode::Implied }, //ba
{Mnemonic::LAR, Addr_Mode::Absolute_Y }, //bb
{Mnemonic::LDY, Addr_Mode::Absolute_X }, //bc
{Mnemonic::LDA, Addr_Mode::Absolute_X }, //bd
{Mnemonic::LDX, Addr_Mode::Absolute_Y }, //be
{Mnemonic::LAX, Addr_Mode::Absolute_Y }, //bf
{Mnemonic::CPY, Addr_Mode::Immediate }, //c0
{Mnemonic::CMP, Addr_Mode::Indirect_X }, //c1
{Mnemonic::NOP, Addr_Mode::Immediate }, //c2
{Mnemonic::DCP, Addr_Mode::Indirect_X }, //c3
{Mnemonic::CPY, Addr_Mode::Zero_Page }, //c4
{Mnemonic::CMP, Addr_Mode::Zero_Page }, //c5
{Mnemonic::DEC, Addr_Mode::Zero_Page }, //c6
{Mnemonic::DCP, Addr_Mode::Zero_Page }, //c7
{Mnemonic::INY, Addr_Mode::Implied }, //c8
{Mnemonic::CMP, Addr_Mode::Immediate }, //c9
{Mnemonic::DEX, Addr_Mode::Implied }, //ca
{Mnemonic::AXS, Addr_Mode::Immediate }, //cb
{Mnemonic::CPY, Addr_Mode::Absolute }, //cc
{Mnemonic::CMP, Addr_Mode::Absolute }, //cd
{Mnemonic::DEC, Addr_Mode::Absolute }, //ce
{Mnemonic::DCP, Addr_Mode::Absolute }, //cf
{Mnemonic::BNE, Addr_Mode::Relative }, //d0
{Mnemonic::CMP, Addr_Mode::Indirect_Y }, //d1
{Mnemonic::KIL, Addr_Mode::None }, //d2
{Mnemonic::DCP, Addr_Mode::Indirect_Y }, //d3
{Mnemonic::NOP, Addr_Mode::Zero_Page_X }, //d4
{Mnemonic::CMP, Addr_Mode::Zero_Page_X }, //d5
{Mnemonic::DEC, Addr_Mode::Zero_Page_X }, //d6
{Mnemonic::DCP, Addr_Mode::Zero_Page_X }, //d7
{Mnemonic::CLD, Addr_Mode::Implied }, //d8
{Mnemonic::CMP, Addr_Mode::Absolute_Y }, //d9
{Mnemonic::NOP, Addr_Mode::Implied }, //da
{Mnemonic::DCP, Addr_Mode::Absolute_Y }, //db
{Mnemonic::NOP, Addr_Mode::Absolute_X }, //dc
{Mnemonic::CMP, Addr_Mode::Absolute_X }, //dd
{Mnemonic::DEC, Addr_Mode::Absolute_X }, //de
{Mnemonic::DCP, Addr_Mode::Absolute_X }, //df
{Mnemonic::CPX, Addr_Mode::Immediate }, //e0
{Mnemonic::SBC, Addr_Mode::Indirect_X }, //e1
{Mnemonic::NOP, Addr_Mode::Immediate }, //e2
{Mnemonic::ISB, Addr_Mode::Indirect_X }, //e3
{Mnemonic::CPX, Addr_Mode::Zero_Page }, //e4
{Mnemonic::SBC, Addr_Mode::Zero_Page }, //e5
{Mnemonic::INC, Addr_Mode::Zero_Page }, //e6
{Mnemonic::ISB, Addr_Mode::Zero_Page }, //e7
{Mnemonic::INX, Addr_Mode::Implied }, //e8
{Mnemonic::SBC, Addr_Mode::Immediate }, //e9
{Mnemonic::NOP, Addr_Mode::Implied }, //ea
{Mnemonic::SBC, Addr_Mode::Immediate }, //eb
{Mnemonic::CPX, Addr_Mode::Absolute }, //ec
{Mnemonic::SBC, Addr_Mode::Absolute }, //ed
{Mnemonic::INC, Addr_Mode::Absolute }, //ee
{Mnemonic::ISB, Addr_Mode::Absolute }, //ef
{Mnemonic::BEQ, Addr_Mode::Relative }, //f0
{Mnemonic::SBC, Addr_Mode::Indirect_Y }, //f1
{Mnemonic::KIL, Addr_Mode::None }, //f2
{Mnemonic::ISB, Addr_Mode::Indirect_Y }, //f3
{Mnemonic::NOP, Addr_Mode::Zero_Page_X }, //f4
{Mnemonic::SBC, Addr_Mode::Zero_Page_X }, //f5
{Mnemonic::INC, Addr_Mode::Zero_Page_X }, //f6
{Mnemonic::ISB, Addr_Mode::Zero_Page_X }, //f7
{Mnemonic::SED, Addr_Mode::Implied }, //f8
{Mnemonic::SBC, Addr_Mode::Absolute_Y }, //f9
{Mnemonic::NOP, Addr_Mode::Implied }, //fa
{Mnemonic::ISB, Addr_Mode::Absolute_Y }, //fb
{Mnemonic::NOP, Addr_Mode::Absolute_X }, //fc
{Mnemonic::SBC, Addr_Mode::Absolute_X }, //fd
{Mnemonic::INC, Addr_Mode::Absolute_X }, //fe
{Mnemonic::ISB, Addr_Mode::Absolute_X } //ff