9Peddle::registerCallback(u8 opcode,
const char *mnemonic,
10 AddressingMode mode, MicroInstruction mInstr)
13 assert(mInstr == JAM || actionFunc[opcode] == JAM);
15 this->actionFunc[opcode] = mInstr;
16 this->mnemonic[opcode] = mnemonic;
17 this->addressingMode[opcode] = mode;
21Peddle::registerInstructions()
23 if (mnemonic[0] ==
nullptr) {
25 for (isize i = 0; i < 256; i++) {
26 registerCallback((u8)i,
"???", ADDR_IMPLIED, JAM);
28 registerLegalInstructions();
29 registerIllegalInstructions();
34Peddle::registerLegalInstructions()
36 registerCallback(0x69,
"ADC", ADDR_IMMEDIATE, ADC_imm);
37 registerCallback(0x65,
"ADC", ADDR_ZERO_PAGE, ADC_zpg);
38 registerCallback(0x75,
"ADC", ADDR_ZERO_PAGE_X, ADC_zpg_x);
39 registerCallback(0x6D,
"ADC", ADDR_ABSOLUTE, ADC_abs);
40 registerCallback(0x7D,
"ADC", ADDR_ABSOLUTE_X, ADC_abs_x);
41 registerCallback(0x79,
"ADC", ADDR_ABSOLUTE_Y, ADC_abs_y);
42 registerCallback(0x61,
"ADC", ADDR_INDIRECT_X, ADC_ind_x);
43 registerCallback(0x71,
"ADC", ADDR_INDIRECT_Y, ADC_ind_y);
45 registerCallback(0x29,
"AND", ADDR_IMMEDIATE, AND_imm);
46 registerCallback(0x25,
"AND", ADDR_ZERO_PAGE, AND_zpg);
47 registerCallback(0x35,
"AND", ADDR_ZERO_PAGE_X, AND_zpg_x);
48 registerCallback(0x2D,
"AND", ADDR_ABSOLUTE, AND_abs);
49 registerCallback(0x3D,
"AND", ADDR_ABSOLUTE_X, AND_abs_x);
50 registerCallback(0x39,
"AND", ADDR_ABSOLUTE_Y, AND_abs_y);
51 registerCallback(0x21,
"AND", ADDR_INDIRECT_X, AND_ind_x);
52 registerCallback(0x31,
"AND", ADDR_INDIRECT_Y, AND_ind_y);
54 registerCallback(0x0A,
"ASL", ADDR_ACCUMULATOR, ASL_acc);
55 registerCallback(0x06,
"ASL", ADDR_ZERO_PAGE, ASL_zpg);
56 registerCallback(0x16,
"ASL", ADDR_ZERO_PAGE_X, ASL_zpg_x);
57 registerCallback(0x0E,
"ASL", ADDR_ABSOLUTE, ASL_abs);
58 registerCallback(0x1E,
"ASL", ADDR_ABSOLUTE_X, ASL_abs_x);
60 registerCallback(0x90,
"BCC", ADDR_RELATIVE, BCC_rel);
61 registerCallback(0xB0,
"BCS", ADDR_RELATIVE, BCS_rel);
62 registerCallback(0xF0,
"BEQ", ADDR_RELATIVE, BEQ_rel);
64 registerCallback(0x24,
"BIT", ADDR_ZERO_PAGE, BIT_zpg);
65 registerCallback(0x2C,
"BIT", ADDR_ABSOLUTE, BIT_abs);
67 registerCallback(0x30,
"BMI", ADDR_RELATIVE, BMI_rel);
68 registerCallback(0xD0,
"BNE", ADDR_RELATIVE, BNE_rel);
69 registerCallback(0x10,
"BPL", ADDR_RELATIVE, BPL_rel);
70 registerCallback(0x00,
"BRK", ADDR_IMPLIED, BRK);
71 registerCallback(0x50,
"BVC", ADDR_RELATIVE, BVC_rel);
72 registerCallback(0x70,
"BVS", ADDR_RELATIVE, BVS_rel);
74 registerCallback(0x18,
"CLC", ADDR_IMPLIED, CLC);
75 registerCallback(0xD8,
"CLD", ADDR_IMPLIED, CLD);
76 registerCallback(0x58,
"CLI", ADDR_IMPLIED, CLI);
77 registerCallback(0xB8,
"CLV", ADDR_IMPLIED, CLV);
79 registerCallback(0xC9,
"CMP", ADDR_IMMEDIATE, CMP_imm);
80 registerCallback(0xC5,
"CMP", ADDR_ZERO_PAGE, CMP_zpg);
81 registerCallback(0xD5,
"CMP", ADDR_ZERO_PAGE_X, CMP_zpg_x);
82 registerCallback(0xCD,
"CMP", ADDR_ABSOLUTE, CMP_abs);
83 registerCallback(0xDD,
"CMP", ADDR_ABSOLUTE_X, CMP_abs_x);
84 registerCallback(0xD9,
"CMP", ADDR_ABSOLUTE_Y, CMP_abs_y);
85 registerCallback(0xC1,
"CMP", ADDR_INDIRECT_X, CMP_ind_x);
86 registerCallback(0xD1,
"CMP", ADDR_INDIRECT_Y, CMP_ind_y);
88 registerCallback(0xE0,
"CPX", ADDR_IMMEDIATE, CPX_imm);
89 registerCallback(0xE4,
"CPX", ADDR_ZERO_PAGE, CPX_zpg);
90 registerCallback(0xEC,
"CPX", ADDR_ABSOLUTE, CPX_abs);
92 registerCallback(0xC0,
"CPY", ADDR_IMMEDIATE, CPY_imm);
93 registerCallback(0xC4,
"CPY", ADDR_ZERO_PAGE, CPY_zpg);
94 registerCallback(0xCC,
"CPY", ADDR_ABSOLUTE, CPY_abs);
96 registerCallback(0xC6,
"DEC", ADDR_ZERO_PAGE, DEC_zpg);
97 registerCallback(0xD6,
"DEC", ADDR_ZERO_PAGE_X, DEC_zpg_x);
98 registerCallback(0xCE,
"DEC", ADDR_ABSOLUTE, DEC_abs);
99 registerCallback(0xDE,
"DEC", ADDR_ABSOLUTE_X, DEC_abs_x);
101 registerCallback(0xCA,
"DEX", ADDR_IMPLIED, DEX);
102 registerCallback(0x88,
"DEY", ADDR_IMPLIED, DEY);
104 registerCallback(0x49,
"EOR", ADDR_IMMEDIATE, EOR_imm);
105 registerCallback(0x45,
"EOR", ADDR_ZERO_PAGE, EOR_zpg);
106 registerCallback(0x55,
"EOR", ADDR_ZERO_PAGE_X, EOR_zpg_x);
107 registerCallback(0x4D,
"EOR", ADDR_ABSOLUTE, EOR_abs);
108 registerCallback(0x5D,
"EOR", ADDR_ABSOLUTE_X, EOR_abs_x);
109 registerCallback(0x59,
"EOR", ADDR_ABSOLUTE_Y, EOR_abs_y);
110 registerCallback(0x41,
"EOR", ADDR_INDIRECT_X, EOR_ind_x);
111 registerCallback(0x51,
"EOR", ADDR_INDIRECT_Y, EOR_ind_y);
113 registerCallback(0xE6,
"INC", ADDR_ZERO_PAGE, INC_zpg);
114 registerCallback(0xF6,
"INC", ADDR_ZERO_PAGE_X, INC_zpg_x);
115 registerCallback(0xEE,
"INC", ADDR_ABSOLUTE, INC_abs);
116 registerCallback(0xFE,
"INC", ADDR_ABSOLUTE_X, INC_abs_x);
118 registerCallback(0xE8,
"INX", ADDR_IMPLIED, INX);
119 registerCallback(0xC8,
"INY", ADDR_IMPLIED, INY);
121 registerCallback(0x4C,
"JMP", ADDR_DIRECT, JMP_abs);
122 registerCallback(0x6C,
"JMP", ADDR_INDIRECT, JMP_abs_ind);
124 registerCallback(0x20,
"JSR", ADDR_DIRECT, JSR);
126 registerCallback(0xA9,
"LDA", ADDR_IMMEDIATE, LDA_imm);
127 registerCallback(0xA5,
"LDA", ADDR_ZERO_PAGE, LDA_zpg);
128 registerCallback(0xB5,
"LDA", ADDR_ZERO_PAGE_X, LDA_zpg_x);
129 registerCallback(0xAD,
"LDA", ADDR_ABSOLUTE, LDA_abs);
130 registerCallback(0xBD,
"LDA", ADDR_ABSOLUTE_X, LDA_abs_x);
131 registerCallback(0xB9,
"LDA", ADDR_ABSOLUTE_Y, LDA_abs_y);
132 registerCallback(0xA1,
"LDA", ADDR_INDIRECT_X, LDA_ind_x);
133 registerCallback(0xB1,
"LDA", ADDR_INDIRECT_Y, LDA_ind_y);
135 registerCallback(0xA2,
"LDX", ADDR_IMMEDIATE, LDX_imm);
136 registerCallback(0xA6,
"LDX", ADDR_ZERO_PAGE, LDX_zpg);
137 registerCallback(0xB6,
"LDX", ADDR_ZERO_PAGE_Y,LDX_zpg_y);
138 registerCallback(0xAE,
"LDX", ADDR_ABSOLUTE, LDX_abs);
139 registerCallback(0xBE,
"LDX", ADDR_ABSOLUTE_Y, LDX_abs_y);
141 registerCallback(0xA0,
"LDY", ADDR_IMMEDIATE, LDY_imm);
142 registerCallback(0xA4,
"LDY", ADDR_ZERO_PAGE, LDY_zpg);
143 registerCallback(0xB4,
"LDY", ADDR_ZERO_PAGE_X, LDY_zpg_x);
144 registerCallback(0xAC,
"LDY", ADDR_ABSOLUTE, LDY_abs);
145 registerCallback(0xBC,
"LDY", ADDR_ABSOLUTE_X, LDY_abs_x);
147 registerCallback(0x4A,
"LSR", ADDR_ACCUMULATOR, LSR_acc);
148 registerCallback(0x46,
"LSR", ADDR_ZERO_PAGE, LSR_zpg);
149 registerCallback(0x56,
"LSR", ADDR_ZERO_PAGE_X, LSR_zpg_x);
150 registerCallback(0x4E,
"LSR", ADDR_ABSOLUTE, LSR_abs);
151 registerCallback(0x5E,
"LSR", ADDR_ABSOLUTE_X, LSR_abs_x);
153 registerCallback(0xEA,
"NOP", ADDR_IMPLIED, NOP);
155 registerCallback(0x09,
"ORA", ADDR_IMMEDIATE, ORA_imm);
156 registerCallback(0x05,
"ORA", ADDR_ZERO_PAGE, ORA_zpg);
157 registerCallback(0x15,
"ORA", ADDR_ZERO_PAGE_X, ORA_zpg_x);
158 registerCallback(0x0D,
"ORA", ADDR_ABSOLUTE, ORA_abs);
159 registerCallback(0x1D,
"ORA", ADDR_ABSOLUTE_X, ORA_abs_x);
160 registerCallback(0x19,
"ORA", ADDR_ABSOLUTE_Y, ORA_abs_y);
161 registerCallback(0x01,
"ORA", ADDR_INDIRECT_X, ORA_ind_x);
162 registerCallback(0x11,
"ORA", ADDR_INDIRECT_Y, ORA_ind_y);
164 registerCallback(0x48,
"PHA", ADDR_IMPLIED, PHA);
165 registerCallback(0x08,
"PHP", ADDR_IMPLIED, PHP);
166 registerCallback(0x68,
"PLA", ADDR_IMPLIED, PLA);
167 registerCallback(0x28,
"PLP", ADDR_IMPLIED, PLP);
169 registerCallback(0x2A,
"ROL", ADDR_ACCUMULATOR, ROL_acc);
170 registerCallback(0x26,
"ROL", ADDR_ZERO_PAGE, ROL_zpg);
171 registerCallback(0x36,
"ROL", ADDR_ZERO_PAGE_X, ROL_zpg_x);
172 registerCallback(0x2E,
"ROL", ADDR_ABSOLUTE, ROL_abs);
173 registerCallback(0x3E,
"ROL", ADDR_ABSOLUTE_X, ROL_abs_x);
175 registerCallback(0x6A,
"ROR", ADDR_ACCUMULATOR, ROR_acc);
176 registerCallback(0x66,
"ROR", ADDR_ZERO_PAGE, ROR_zpg);
177 registerCallback(0x76,
"ROR", ADDR_ZERO_PAGE_X, ROR_zpg_x);
178 registerCallback(0x6E,
"ROR", ADDR_ABSOLUTE, ROR_abs);
179 registerCallback(0x7E,
"ROR", ADDR_ABSOLUTE_X, ROR_abs_x);
181 registerCallback(0x40,
"RTI", ADDR_IMPLIED, RTI);
182 registerCallback(0x60,
"RTS", ADDR_IMPLIED, RTS);
184 registerCallback(0xE9,
"SBC", ADDR_IMMEDIATE, SBC_imm);
185 registerCallback(0xE5,
"SBC", ADDR_ZERO_PAGE, SBC_zpg);
186 registerCallback(0xF5,
"SBC", ADDR_ZERO_PAGE_X, SBC_zpg_x);
187 registerCallback(0xED,
"SBC", ADDR_ABSOLUTE, SBC_abs);
188 registerCallback(0xFD,
"SBC", ADDR_ABSOLUTE_X, SBC_abs_x);
189 registerCallback(0xF9,
"SBC", ADDR_ABSOLUTE_Y, SBC_abs_y);
190 registerCallback(0xE1,
"SBC", ADDR_INDIRECT_X, SBC_ind_x);
191 registerCallback(0xF1,
"SBC", ADDR_INDIRECT_Y, SBC_ind_y);
193 registerCallback(0x38,
"SEC", ADDR_IMPLIED, SEC);
194 registerCallback(0xF8,
"SED", ADDR_IMPLIED, SED);
195 registerCallback(0x78,
"SEI", ADDR_IMPLIED, SEI);
197 registerCallback(0x85,
"STA", ADDR_ZERO_PAGE, STA_zpg);
198 registerCallback(0x95,
"STA", ADDR_ZERO_PAGE_X, STA_zpg_x);
199 registerCallback(0x8D,
"STA", ADDR_ABSOLUTE, STA_abs);
200 registerCallback(0x9D,
"STA", ADDR_ABSOLUTE_X, STA_abs_x);
201 registerCallback(0x99,
"STA", ADDR_ABSOLUTE_Y, STA_abs_y);
202 registerCallback(0x81,
"STA", ADDR_INDIRECT_X, STA_ind_x);
203 registerCallback(0x91,
"STA", ADDR_INDIRECT_Y, STA_ind_y);
205 registerCallback(0x86,
"STX", ADDR_ZERO_PAGE, STX_zpg);
206 registerCallback(0x96,
"STX", ADDR_ZERO_PAGE_Y, STX_zpg_y);
207 registerCallback(0x8E,
"STX", ADDR_ABSOLUTE, STX_abs);
209 registerCallback(0x84,
"STY", ADDR_ZERO_PAGE, STY_zpg);
210 registerCallback(0x94,
"STY", ADDR_ZERO_PAGE_X, STY_zpg_x);
211 registerCallback(0x8C,
"STY", ADDR_ABSOLUTE, STY_abs);
213 registerCallback(0xAA,
"TAX", ADDR_IMPLIED, TAX);
214 registerCallback(0xA8,
"TAY", ADDR_IMPLIED, TAY);
215 registerCallback(0xBA,
"TSX", ADDR_IMPLIED, TSX);
216 registerCallback(0x8A,
"TXA", ADDR_IMPLIED, TXA);
217 registerCallback(0x9A,
"TXS", ADDR_IMPLIED, TXS);
218 registerCallback(0x98,
"TYA", ADDR_IMPLIED, TYA);
222Peddle::registerIllegalInstructions()
224 registerCallback(0x93,
"SHA*", ADDR_INDIRECT_Y, SHA_ind_y);
225 registerCallback(0x9F,
"SHA*", ADDR_ABSOLUTE_Y, SHA_abs_y);
227 registerCallback(0x4B,
"ALR*", ADDR_IMMEDIATE, ALR_imm);
229 registerCallback(0x0B,
"ANC*", ADDR_IMMEDIATE, ANC_imm);
230 registerCallback(0x2B,
"ANC*", ADDR_IMMEDIATE, ANC_imm);
232 registerCallback(0x8B,
"ANE*", ADDR_IMMEDIATE, ANE_imm);
234 registerCallback(0x6B,
"ARR*", ADDR_IMMEDIATE, ARR_imm);
235 registerCallback(0xCB,
"AXS*", ADDR_IMMEDIATE, AXS_imm);
237 registerCallback(0xC7,
"DCP*", ADDR_ZERO_PAGE, DCP_zpg);
238 registerCallback(0xD7,
"DCP*", ADDR_ZERO_PAGE_X, DCP_zpg_x);
239 registerCallback(0xC3,
"DCP*", ADDR_INDIRECT_X, DCP_ind_x);
240 registerCallback(0xD3,
"DCP*", ADDR_INDIRECT_Y, DCP_ind_y);
241 registerCallback(0xCF,
"DCP*", ADDR_ABSOLUTE, DCP_abs);
242 registerCallback(0xDF,
"DCP*", ADDR_ABSOLUTE_X, DCP_abs_x);
243 registerCallback(0xDB,
"DCP*", ADDR_ABSOLUTE_Y, DCP_abs_y);
245 registerCallback(0xE7,
"ISC*", ADDR_ZERO_PAGE, ISC_zpg);
246 registerCallback(0xF7,
"ISC*", ADDR_ZERO_PAGE_X, ISC_zpg_x);
247 registerCallback(0xE3,
"ISC*", ADDR_INDIRECT_X, ISC_ind_x);
248 registerCallback(0xF3,
"ISC*", ADDR_INDIRECT_Y, ISC_ind_y);
249 registerCallback(0xEF,
"ISC*", ADDR_ABSOLUTE, ISC_abs);
250 registerCallback(0xFF,
"ISC*", ADDR_ABSOLUTE_X, ISC_abs_x);
251 registerCallback(0xFB,
"ISC*", ADDR_ABSOLUTE_Y, ISC_abs_y);
253 registerCallback(0xBB,
"LAS*", ADDR_ABSOLUTE_Y, LAS_abs_y);
255 registerCallback(0xA7,
"LAX*", ADDR_ZERO_PAGE, LAX_zpg);
256 registerCallback(0xB7,
"LAX*", ADDR_ZERO_PAGE_Y, LAX_zpg_y);
257 registerCallback(0xA3,
"LAX*", ADDR_INDIRECT_X, LAX_ind_x);
258 registerCallback(0xB3,
"LAX*", ADDR_INDIRECT_Y, LAX_ind_y);
259 registerCallback(0xAF,
"LAX*", ADDR_ABSOLUTE, LAX_abs);
260 registerCallback(0xBF,
"LAX*", ADDR_ABSOLUTE_Y, LAX_abs_y);
262 registerCallback(0xAB,
"LXA*", ADDR_IMMEDIATE, LXA_imm);
264 registerCallback(0x80,
"NOP*", ADDR_IMMEDIATE, NOP_imm);
265 registerCallback(0x82,
"NOP*", ADDR_IMMEDIATE, NOP_imm);
266 registerCallback(0x89,
"NOP*", ADDR_IMMEDIATE, NOP_imm);
267 registerCallback(0xC2,
"NOP*", ADDR_IMMEDIATE, NOP_imm);
268 registerCallback(0xE2,
"NOP*", ADDR_IMMEDIATE, NOP_imm);
269 registerCallback(0x1A,
"NOP*", ADDR_IMPLIED, NOP);
270 registerCallback(0x3A,
"NOP*", ADDR_IMPLIED, NOP);
271 registerCallback(0x5A,
"NOP*", ADDR_IMPLIED, NOP);
272 registerCallback(0x7A,
"NOP*", ADDR_IMPLIED, NOP);
273 registerCallback(0xDA,
"NOP*", ADDR_IMPLIED, NOP);
274 registerCallback(0xFA,
"NOP*", ADDR_IMPLIED, NOP);
275 registerCallback(0x04,
"NOP*", ADDR_ZERO_PAGE, NOP_zpg);
276 registerCallback(0x44,
"NOP*", ADDR_ZERO_PAGE, NOP_zpg);
277 registerCallback(0x64,
"NOP*", ADDR_ZERO_PAGE, NOP_zpg);
278 registerCallback(0x0C,
"NOP*", ADDR_ABSOLUTE, NOP_abs);
279 registerCallback(0x14,
"NOP*", ADDR_ZERO_PAGE_X, NOP_zpg_x);
280 registerCallback(0x34,
"NOP*", ADDR_ZERO_PAGE_X, NOP_zpg_x);
281 registerCallback(0x54,
"NOP*", ADDR_ZERO_PAGE_X, NOP_zpg_x);
282 registerCallback(0x74,
"NOP*", ADDR_ZERO_PAGE_X, NOP_zpg_x);
283 registerCallback(0xD4,
"NOP*", ADDR_ZERO_PAGE_X, NOP_zpg_x);
284 registerCallback(0xF4,
"NOP*", ADDR_ZERO_PAGE_X, NOP_zpg_x);
285 registerCallback(0x1C,
"NOP*", ADDR_ABSOLUTE_X, NOP_abs_x);
286 registerCallback(0x3C,
"NOP*", ADDR_ABSOLUTE_X, NOP_abs_x);
287 registerCallback(0x5C,
"NOP*", ADDR_ABSOLUTE_X, NOP_abs_x);
288 registerCallback(0x7C,
"NOP*", ADDR_ABSOLUTE_X, NOP_abs_x);
289 registerCallback(0xDC,
"NOP*", ADDR_ABSOLUTE_X, NOP_abs_x);
290 registerCallback(0xFC,
"NOP*", ADDR_ABSOLUTE_X, NOP_abs_x);
292 registerCallback(0x27,
"RLA*", ADDR_ZERO_PAGE, RLA_zpg);
293 registerCallback(0x37,
"RLA*", ADDR_ZERO_PAGE_X, RLA_zpg_x);
294 registerCallback(0x23,
"RLA*", ADDR_INDIRECT_X, RLA_ind_x);
295 registerCallback(0x33,
"RLA*", ADDR_INDIRECT_Y, RLA_ind_y);
296 registerCallback(0x2F,
"RLA*", ADDR_ABSOLUTE, RLA_abs);
297 registerCallback(0x3F,
"RLA*", ADDR_ABSOLUTE_X, RLA_abs_x);
298 registerCallback(0x3B,
"RLA*", ADDR_ABSOLUTE_Y, RLA_abs_y);
300 registerCallback(0x67,
"RRA*", ADDR_ZERO_PAGE, RRA_zpg);
301 registerCallback(0x77,
"RRA*", ADDR_ZERO_PAGE_X, RRA_zpg_x);
302 registerCallback(0x63,
"RRA*", ADDR_INDIRECT_X, RRA_ind_x);
303 registerCallback(0x73,
"RRA*", ADDR_INDIRECT_Y, RRA_ind_y);
304 registerCallback(0x6F,
"RRA*", ADDR_ABSOLUTE, RRA_abs);
305 registerCallback(0x7F,
"RRA*", ADDR_ABSOLUTE_X, RRA_abs_x);
306 registerCallback(0x7B,
"RRA*", ADDR_ABSOLUTE_Y, RRA_abs_y);
308 registerCallback(0x87,
"SAX*", ADDR_ZERO_PAGE, SAX_zpg);
309 registerCallback(0x97,
"SAX*", ADDR_ZERO_PAGE_Y, SAX_zpg_y);
310 registerCallback(0x83,
"SAX*", ADDR_INDIRECT_X, SAX_ind_x);
311 registerCallback(0x8F,
"SAX*", ADDR_ABSOLUTE, SAX_abs);
313 registerCallback(0xEB,
"SBC*", ADDR_IMMEDIATE, SBC_imm);
315 registerCallback(0x9E,
"SHX*", ADDR_ABSOLUTE_Y, SHX_abs_y);
316 registerCallback(0x9C,
"SHY*", ADDR_ABSOLUTE_X, SHY_abs_x);
318 registerCallback(0x07,
"SLO*", ADDR_ZERO_PAGE, SLO_zpg);
319 registerCallback(0x17,
"SLO*", ADDR_ZERO_PAGE_X, SLO_zpg_x);
320 registerCallback(0x03,
"SLO*", ADDR_INDIRECT_X, SLO_ind_x);
321 registerCallback(0x13,
"SLO*", ADDR_INDIRECT_Y, SLO_ind_y);
322 registerCallback(0x0F,
"SLO*", ADDR_ABSOLUTE, SLO_abs);
323 registerCallback(0x1F,
"SLO*", ADDR_ABSOLUTE_X, SLO_abs_x);
324 registerCallback(0x1B,
"SLO*", ADDR_ABSOLUTE_Y, SLO_abs_y);
326 registerCallback(0x47,
"SRE*", ADDR_ZERO_PAGE, SRE_zpg);
327 registerCallback(0x57,
"SRE*", ADDR_ZERO_PAGE_X, SRE_zpg_x);
328 registerCallback(0x43,
"SRE*", ADDR_INDIRECT_X, SRE_ind_x);
329 registerCallback(0x53,
"SRE*", ADDR_INDIRECT_Y, SRE_ind_y);
330 registerCallback(0x4F,
"SRE*", ADDR_ABSOLUTE, SRE_abs);
331 registerCallback(0x5F,
"SRE*", ADDR_ABSOLUTE_X, SRE_abs_x);
332 registerCallback(0x5B,
"SRE*", ADDR_ABSOLUTE_Y, SRE_abs_y);
334 registerCallback(0x9B,
"TAS*", ADDR_ABSOLUTE_Y, TAS_abs_y);