1 | /*****************************************************************************/ |
2 | /* */ |
3 | /* opcm740.c */ |
4 | /* */ |
5 | /* Mitsubishi 740 series opcode description table */ |
6 | /* */ |
7 | /* A contribution from Chris Baird */ |
8 | /* EMail: cjb@brushtail.apana.org.au */ |
9 | /* */ |
10 | /* (C) 2003-2011, Ullrich von Bassewitz */ |
11 | /* Roemerstrasse 52 */ |
12 | /* D-70794 Filderstadt */ |
13 | /* EMail: uz@cc65.org */ |
14 | /* */ |
15 | /* */ |
16 | /* This software is provided 'as-is', without any expressed or implied */ |
17 | /* warranty. In no event will the authors be held liable for any damages */ |
18 | /* arising from the use of this software. */ |
19 | /* */ |
20 | /* Permission is granted to anyone to use this software for any purpose, */ |
21 | /* including commercial applications, and to alter it and redistribute it */ |
22 | /* freely, subject to the following restrictions: */ |
23 | /* */ |
24 | /* 1. The origin of this software must not be misrepresented; you must not */ |
25 | /* claim that you wrote the original software. If you use this software */ |
26 | /* in a product, an acknowledgment in the product documentation would be */ |
27 | /* appreciated but is not required. */ |
28 | /* 2. Altered source versions must be plainly marked as such, and must not */ |
29 | /* be misrepresented as being the original software. */ |
30 | /* 3. This notice may not be removed or altered from any source */ |
31 | /* distribution. */ |
32 | /* */ |
33 | /*****************************************************************************/ |
34 | |
35 | |
36 | |
37 | /* da65 */ |
38 | #include "handler.h" |
39 | #include "opcm740.h" |
40 | |
41 | |
42 | |
43 | /*****************************************************************************/ |
44 | /* Data */ |
45 | /*****************************************************************************/ |
46 | |
47 | |
48 | |
49 | /* Descriptions for all opcodes */ |
50 | const OpcDesc OpcTable_M740[256] = { |
51 | { "brk" , 1, flNone, OH_Implicit }, /* $00 */ |
52 | { "ora" , 2, flUseLabel, OH_DirectXIndirect }, /* $01 */ |
53 | { "jsr" , 2, flLabel, OH_JmpDirectIndirect }, /* $02 */ |
54 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $03 */ |
55 | { "" , 1, flIllegal, OH_Illegal }, /* $04 */ |
56 | { "ora" , 2, flUseLabel, OH_Direct }, /* $05 */ |
57 | { "asl" , 2, flUseLabel, OH_Direct }, /* $06 */ |
58 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $07 */ |
59 | { "php" , 1, flNone, OH_Implicit }, /* $08 */ |
60 | { "ora" , 2, flNone, OH_Immediate }, /* $09 */ |
61 | { "asl" , 1, flNone, OH_Accumulator }, /* $0a */ |
62 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $0b */ |
63 | { "" , 1, flIllegal, OH_Illegal, }, /* $0c */ |
64 | { "ora" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $0d */ |
65 | { "asl" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $0e */ |
66 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $0f */ |
67 | { "bpl" , 2, flLabel, OH_Relative }, /* $10 */ |
68 | { "ora" , 2, flUseLabel, OH_DirectIndirectY }, /* $11 */ |
69 | { "clt" , 1, flNone, OH_Implicit }, /* $12 */ |
70 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $13 */ |
71 | { "" , 1, flIllegal, OH_Illegal }, /* $14 */ |
72 | { "ora" , 2, flUseLabel, OH_DirectX }, /* $15 */ |
73 | { "asl" , 2, flUseLabel, OH_DirectX }, /* $16 */ |
74 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $17 */ |
75 | { "clc" , 1, flNone, OH_Implicit }, /* $18 */ |
76 | { "ora" , 3, flUseLabel, OH_AbsoluteY }, /* $19 */ |
77 | { "dec" , 1, flNone, OH_Accumulator }, /* $1a */ |
78 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $1b */ |
79 | { "" , 1, flIllegal, OH_Illegal }, /* $1c */ |
80 | { "ora" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $1d */ |
81 | { "asl" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $1e */ |
82 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $1f */ |
83 | { "jsr" , 3, flLabel, OH_Absolute }, /* $20 */ |
84 | { "and" , 2, flUseLabel, OH_DirectXIndirect }, /* $21 */ |
85 | { "jsr" , 2, flLabel, OH_SpecialPage }, /* $22 */ |
86 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $23 */ |
87 | { "bit" , 2, flUseLabel, OH_Direct }, /* $24 */ |
88 | { "and" , 2, flUseLabel, OH_Direct }, /* $25 */ |
89 | { "rol" , 2, flUseLabel, OH_Direct }, /* $26 */ |
90 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $27 */ |
91 | { "plp" , 1, flNone, OH_Implicit }, /* $28 */ |
92 | { "and" , 2, flNone, OH_Immediate }, /* $29 */ |
93 | { "rol" , 1, flNone, OH_Accumulator }, /* $2a */ |
94 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $2b */ |
95 | { "bit" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $2c */ |
96 | { "and" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $2d */ |
97 | { "rol" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $2e */ |
98 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $2f */ |
99 | { "bmi" , 2, flLabel, OH_Relative }, /* $30 */ |
100 | { "and" , 2, flUseLabel, OH_DirectIndirectY }, /* $31 */ |
101 | { "set" , 1, flNone, OH_Implicit }, /* $32 */ |
102 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $33 */ |
103 | { "" , 1, flIllegal, OH_Illegal }, /* $34 */ |
104 | { "and" , 2, flUseLabel, OH_DirectX }, /* $35 */ |
105 | { "rol" , 2, flUseLabel, OH_DirectX }, /* $36 */ |
106 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $37 */ |
107 | { "sec" , 1, flNone, OH_Implicit }, /* $38 */ |
108 | { "and" , 3, flUseLabel, OH_AbsoluteY }, /* $39 */ |
109 | { "inc" , 1, flNone, OH_Accumulator }, /* $3a */ |
110 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $3b */ |
111 | { "ldm" , 3, flLabel, OH_DirectImmediate }, /* $3c */ |
112 | { "and" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $3d */ |
113 | { "rol" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $3e */ |
114 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $3f */ |
115 | { "rti" , 1, flNone, OH_Rts }, /* $40 */ |
116 | { "eor" , 2, flUseLabel, OH_DirectXIndirect }, /* $41 */ |
117 | { "stp" , 1, flNone, OH_Implicit }, /* $42 */ |
118 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $43 */ |
119 | { "com" , 2, flUseLabel, OH_Direct }, /* $44 */ |
120 | { "eor" , 2, flUseLabel, OH_Direct }, /* $45 */ |
121 | { "lsr" , 2, flUseLabel, OH_Direct }, /* $46 */ |
122 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $47 */ |
123 | { "pha" , 1, flNone, OH_Implicit }, /* $48 */ |
124 | { "eor" , 2, flNone, OH_Immediate }, /* $49 */ |
125 | { "lsr" , 1, flNone, OH_Accumulator }, /* $4a */ |
126 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $4b */ |
127 | { "jmp" , 3, flLabel, OH_JmpAbsolute }, /* $4c */ |
128 | { "eor" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $4d */ |
129 | { "lsr" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $4e */ |
130 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $4f */ |
131 | { "bvc" , 2, flLabel, OH_Relative }, /* $50 */ |
132 | { "eor" , 2, flUseLabel, OH_DirectIndirectY }, /* $51 */ |
133 | { "" , 1, flIllegal, OH_Illegal }, /* $52 */ |
134 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $53 */ |
135 | { "" , 1, flIllegal, OH_Illegal }, /* $54 */ |
136 | { "eor" , 2, flUseLabel, OH_DirectX }, /* $55 */ |
137 | { "lsr" , 2, flUseLabel, OH_DirectX }, /* $56 */ |
138 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $57 */ |
139 | { "cli" , 1, flNone, OH_Implicit }, /* $58 */ |
140 | { "eor" , 3, flUseLabel, OH_AbsoluteY }, /* $59 */ |
141 | { "" , 1, flIllegal, OH_Illegal }, /* $5a */ |
142 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $5b */ |
143 | { "" , 1, flIllegal, OH_Illegal }, /* $5c */ |
144 | { "eor" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $5d */ |
145 | { "lsr" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $5e */ |
146 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $5f */ |
147 | { "rts" , 1, flNone, OH_Rts }, /* $60 */ |
148 | { "adc" , 2, flUseLabel, OH_DirectXIndirect }, /* $61 */ |
149 | { "mul" , 2, flUseLabel, OH_DirectX }, /* $62 */ |
150 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $63 */ |
151 | { "tst" , 2, flUseLabel, OH_Direct }, /* $64 */ |
152 | { "adc" , 2, flUseLabel, OH_Direct }, /* $65 */ |
153 | { "ror" , 2, flUseLabel, OH_Direct }, /* $66 */ |
154 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $67 */ |
155 | { "pla" , 1, flNone, OH_Implicit }, /* $68 */ |
156 | { "adc" , 2, flNone, OH_Immediate }, /* $69 */ |
157 | { "ror" , 1, flNone, OH_Accumulator }, /* $6a */ |
158 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $6b */ |
159 | { "jmp" , 3, flLabel, OH_JmpAbsoluteIndirect }, /* $6c */ |
160 | { "adc" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $6d */ |
161 | { "ror" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $6e */ |
162 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $6f */ |
163 | { "bvs" , 2, flLabel, OH_Relative }, /* $70 */ |
164 | { "adc" , 2, flUseLabel, OH_DirectIndirectY }, /* $71 */ |
165 | { "" , 1, flIllegal, OH_Illegal }, /* $72 */ |
166 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $73 */ |
167 | { "" , 1, flIllegal, OH_Illegal }, /* $74 */ |
168 | { "adc" , 2, flUseLabel, OH_DirectX }, /* $75 */ |
169 | { "ror" , 2, flUseLabel, OH_DirectX }, /* $76 */ |
170 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $77 */ |
171 | { "sei" , 1, flNone, OH_Implicit }, /* $78 */ |
172 | { "adc" , 3, flUseLabel, OH_AbsoluteY }, /* $79 */ |
173 | { "" , 1, flIllegal, OH_Illegal }, /* $7a */ |
174 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $7b */ |
175 | { "" , 1, flIllegal, OH_Illegal }, /* $7c */ |
176 | { "adc" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $7d */ |
177 | { "ror" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $7e */ |
178 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $7f */ |
179 | { "bra" , 2, flLabel, OH_Relative }, /* $80 */ |
180 | { "sta" , 2, flUseLabel, OH_DirectXIndirect }, /* $81 */ |
181 | { "rrf" , 2, flLabel, OH_Direct }, /* $82 */ |
182 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $83 */ |
183 | { "sty" , 2, flUseLabel, OH_Direct }, /* $84 */ |
184 | { "sta" , 2, flUseLabel, OH_Direct }, /* $85 */ |
185 | { "stx" , 2, flUseLabel, OH_Direct }, /* $86 */ |
186 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $87 */ |
187 | { "dey" , 1, flNone, OH_Implicit }, /* $88 */ |
188 | { "" , 1, flIllegal, OH_Illegal }, /* $89 */ |
189 | { "txa" , 1, flNone, OH_Implicit }, /* $8a */ |
190 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $8b */ |
191 | { "sty" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $8c */ |
192 | { "sta" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $8d */ |
193 | { "stx" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $8e */ |
194 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $8f */ |
195 | { "bcc" , 2, flLabel, OH_Relative }, /* $90 */ |
196 | { "sta" , 2, flUseLabel, OH_DirectIndirectY }, /* $91 */ |
197 | { "" , 1, flIllegal, OH_Illegal }, /* $92 */ |
198 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $93 */ |
199 | { "sty" , 2, flUseLabel, OH_DirectX }, /* $94 */ |
200 | { "sta" , 2, flUseLabel, OH_DirectX }, /* $95 */ |
201 | { "stx" , 2, flUseLabel, OH_DirectY }, /* $96 */ |
202 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $97 */ |
203 | { "tya" , 1, flNone, OH_Implicit }, /* $98 */ |
204 | { "sta" , 3, flUseLabel, OH_AbsoluteY }, /* $99 */ |
205 | { "txs" , 1, flNone, OH_Implicit }, /* $9a */ |
206 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $9b */ |
207 | { "" , 1, flIllegal, OH_Illegal }, /* $9c */ |
208 | { "sta" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $9d */ |
209 | { "" , 1, flIllegal, OH_Illegal }, /* $9e */ |
210 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $9f */ |
211 | { "ldy" , 2, flNone, OH_Immediate }, /* $a0 */ |
212 | { "lda" , 2, flUseLabel, OH_DirectXIndirect }, /* $a1 */ |
213 | { "ldx" , 2, flNone, OH_Immediate }, /* $a2 */ |
214 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $a3 */ |
215 | { "ldy" , 2, flUseLabel, OH_Direct }, /* $a4 */ |
216 | { "lda" , 2, flUseLabel, OH_Direct }, /* $a5 */ |
217 | { "ldx" , 2, flUseLabel, OH_Direct }, /* $a6 */ |
218 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $a7 */ |
219 | { "tay" , 1, flNone, OH_Implicit }, /* $a8 */ |
220 | { "lda" , 2, flNone, OH_Immediate }, /* $a9 */ |
221 | { "tax" , 1, flNone, OH_Implicit }, /* $aa */ |
222 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $ab */ |
223 | { "ldy" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ac */ |
224 | { "lda" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ad */ |
225 | { "ldx" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ae */ |
226 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $af */ |
227 | { "bcs" , 2, flLabel, OH_Relative }, /* $b0 */ |
228 | { "lda" , 2, flUseLabel, OH_DirectIndirectY }, /* $b1 */ |
229 | { "jmp" , 2, flLabel, OH_JmpDirectIndirect }, /* $b2 */ |
230 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $b3 */ |
231 | { "ldy" , 2, flUseLabel, OH_DirectX }, /* $b4 */ |
232 | { "lda" , 2, flUseLabel, OH_DirectX }, /* $b5 */ |
233 | { "ldx" , 2, flUseLabel, OH_DirectY }, /* $b6 */ |
234 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $b7 */ |
235 | { "clv" , 1, flNone, OH_Implicit }, /* $b8 */ |
236 | { "lda" , 3, flUseLabel, OH_AbsoluteY }, /* $b9 */ |
237 | { "tsx" , 1, flNone, OH_Implicit }, /* $ba */ |
238 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $bb */ |
239 | { "ldy" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $bc */ |
240 | { "lda" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $bd */ |
241 | { "ldx" , 3, flUseLabel|flAbsOverride, OH_AbsoluteY }, /* $be */ |
242 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $bf */ |
243 | { "cpy" , 2, flNone, OH_Immediate }, /* $c0 */ |
244 | { "cmp" , 2, flUseLabel, OH_DirectXIndirect }, /* $c1 */ |
245 | { "wit" , 1, flNone, OH_Implicit, }, /* $c2 */ |
246 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $c3 */ |
247 | { "cpy" , 2, flUseLabel, OH_Direct }, /* $c4 */ |
248 | { "cmp" , 2, flUseLabel, OH_Direct }, /* $c5 */ |
249 | { "dec" , 2, flUseLabel, OH_Direct }, /* $c6 */ |
250 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $c7 */ |
251 | { "iny" , 1, flNone, OH_Implicit }, /* $c8 */ |
252 | { "cmp" , 2, flNone, OH_Immediate }, /* $c9 */ |
253 | { "dex" , 1, flNone, OH_Implicit }, /* $ca */ |
254 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $cb */ |
255 | { "cpy" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $cc */ |
256 | { "cmp" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $cd */ |
257 | { "dec" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ce */ |
258 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $cf */ |
259 | { "bne" , 2, flLabel, OH_Relative }, /* $d0 */ |
260 | { "cmp" , 2, flUseLabel, OH_DirectIndirectY }, /* $d1 */ |
261 | { "" , 1, flIllegal, OH_Illegal }, /* $d2 */ |
262 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $d3 */ |
263 | { "" , 1, flIllegal, OH_Illegal }, /* $d4 */ |
264 | { "cmp" , 2, flUseLabel, OH_DirectX }, /* $d5 */ |
265 | { "dec" , 2, flUseLabel, OH_DirectX }, /* $d6 */ |
266 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $d7 */ |
267 | { "cld" , 1, flNone, OH_Implicit }, /* $d8 */ |
268 | { "cmp" , 3, flUseLabel, OH_AbsoluteY }, /* $d9 */ |
269 | { "" , 1, flIllegal, OH_Illegal }, /* $da */ |
270 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $db */ |
271 | { "" , 1, flIllegal, OH_Illegal }, /* $dc */ |
272 | { "cmp" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $dd */ |
273 | { "dec" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $de */ |
274 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $df */ |
275 | { "cpx" , 2, flNone, OH_Immediate }, /* $e0 */ |
276 | { "sbc" , 2, flUseLabel, OH_DirectXIndirect }, /* $e1 */ |
277 | { "div" , 2, flUseLabel, OH_DirectX }, /* $e2 */ |
278 | { "bbs" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $e3 */ |
279 | { "cpx" , 2, flUseLabel, OH_Direct }, /* $e4 */ |
280 | { "sbc" , 2, flUseLabel, OH_Direct }, /* $e5 */ |
281 | { "inc" , 2, flUseLabel, OH_Direct }, /* $e6 */ |
282 | { "bbs" , 3, flUseLabel, OH_ZeroPageBit }, /* $e7 */ |
283 | { "inx" , 1, flNone, OH_Implicit }, /* $e8 */ |
284 | { "sbc" , 2, flNone, OH_Immediate }, /* $e9 */ |
285 | { "nop" , 1, flNone, OH_Implicit }, /* $ea */ |
286 | { "seb" , 1, flNone, OH_AccumulatorBit }, /* $eb */ |
287 | { "cpx" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ec */ |
288 | { "sbc" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ed */ |
289 | { "inc" , 3, flUseLabel|flAbsOverride, OH_Absolute }, /* $ee */ |
290 | { "seb" , 2, flUseLabel, OH_ZeroPageBit }, /* $ef */ |
291 | { "beq" , 2, flLabel, OH_Relative }, /* $f0 */ |
292 | { "sbc" , 2, flUseLabel, OH_DirectIndirectY }, /* $f1 */ |
293 | { "" , 1, flIllegal, OH_Illegal }, /* $f2 */ |
294 | { "bbc" , 2, flUseLabel, OH_AccumulatorBitBranch }, /* $f3 */ |
295 | { "" , 1, flIllegal, OH_Illegal }, /* $f4 */ |
296 | { "sbc" , 2, flUseLabel, OH_DirectX }, /* $f5 */ |
297 | { "inc" , 2, flUseLabel, OH_DirectX }, /* $f6 */ |
298 | { "bbc" , 3, flUseLabel, OH_ZeroPageBit }, /* $f7 */ |
299 | { "sed" , 1, flNone, OH_Implicit }, /* $f8 */ |
300 | { "sbc" , 3, flUseLabel, OH_AbsoluteY }, /* $f9 */ |
301 | { "" , 1, flIllegal, OH_Illegal }, /* $fa */ |
302 | { "clb" , 1, flNone, OH_AccumulatorBit }, /* $fb */ |
303 | { "" , 1, flIllegal, OH_Illegal }, /* $fc */ |
304 | { "sbc" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $fd */ |
305 | { "inc" , 3, flUseLabel|flAbsOverride, OH_AbsoluteX }, /* $fe */ |
306 | { "clb" , 2, flUseLabel, OH_ZeroPageBit }, /* $ff */ |
307 | }; |
308 | |