rx-decode.c revision 1.1.1.3 1 1.1 christos #line 1 "rx-decode.opc"
2 1.1 christos /* -*- c -*- */
3 1.1.1.3 christos /* Copyright (C) 2012-2016 Free Software Foundation, Inc.
4 1.1 christos Contributed by Red Hat.
5 1.1 christos Written by DJ Delorie.
6 1.1 christos
7 1.1 christos This file is part of the GNU opcodes library.
8 1.1 christos
9 1.1 christos This library is free software; you can redistribute it and/or modify
10 1.1 christos it under the terms of the GNU General Public License as published by
11 1.1 christos the Free Software Foundation; either version 3, or (at your option)
12 1.1 christos any later version.
13 1.1 christos
14 1.1 christos It is distributed in the hope that it will be useful, but WITHOUT
15 1.1 christos ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 1.1 christos or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
17 1.1 christos License for more details.
18 1.1 christos
19 1.1 christos You should have received a copy of the GNU General Public License
20 1.1 christos along with this program; if not, write to the Free Software
21 1.1 christos Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
22 1.1 christos MA 02110-1301, USA. */
23 1.1 christos
24 1.1 christos #include "sysdep.h"
25 1.1 christos #include <stdio.h>
26 1.1 christos #include <stdlib.h>
27 1.1 christos #include <string.h>
28 1.1 christos #include "ansidecl.h"
29 1.1 christos #include "opcode/rx.h"
30 1.1 christos
31 1.1 christos #define RX_OPCODE_BIG_ENDIAN 0
32 1.1 christos
33 1.1 christos typedef struct
34 1.1 christos {
35 1.1 christos RX_Opcode_Decoded * rx;
36 1.1 christos int (* getbyte)(void *);
37 1.1 christos void * ptr;
38 1.1 christos unsigned char * op;
39 1.1 christos } LocalData;
40 1.1 christos
41 1.1 christos static int trace = 0;
42 1.1 christos
43 1.1 christos #define BSIZE 0
44 1.1 christos #define WSIZE 1
45 1.1 christos #define LSIZE 2
46 1.1 christos
47 1.1 christos /* These are for when the upper bits are "don't care" or "undefined". */
48 1.1 christos static int bwl[] =
49 1.1 christos {
50 1.1 christos RX_Byte,
51 1.1 christos RX_Word,
52 1.1.1.2 christos RX_Long,
53 1.1.1.3 christos RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
54 1.1 christos };
55 1.1 christos
56 1.1 christos static int sbwl[] =
57 1.1 christos {
58 1.1 christos RX_SByte,
59 1.1 christos RX_SWord,
60 1.1.1.2 christos RX_Long,
61 1.1.1.3 christos RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
62 1.1 christos };
63 1.1 christos
64 1.1.1.3 christos static int ubw[] =
65 1.1 christos {
66 1.1 christos RX_UByte,
67 1.1 christos RX_UWord,
68 1.1.1.3 christos RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
69 1.1.1.3 christos RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
70 1.1 christos };
71 1.1 christos
72 1.1 christos static int memex[] =
73 1.1 christos {
74 1.1 christos RX_SByte,
75 1.1 christos RX_SWord,
76 1.1 christos RX_Long,
77 1.1 christos RX_UWord
78 1.1 christos };
79 1.1 christos
80 1.1 christos #define ID(x) rx->id = RXO_##x
81 1.1 christos #define OP(n,t,r,a) (rx->op[n].type = t, \
82 1.1 christos rx->op[n].reg = r, \
83 1.1 christos rx->op[n].addend = a )
84 1.1 christos #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
85 1.1 christos rx->op[n].size = s )
86 1.1 christos
87 1.1 christos /* This is for the BWL and BW bitfields. */
88 1.1.1.2 christos static int SCALE[] = { 1, 2, 4, 0 };
89 1.1 christos /* This is for the prefix size enum. */
90 1.1 christos static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4 };
91 1.1 christos
92 1.1 christos static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
93 1.1 christos 16, 17, 0, 0, 0, 0, 0, 0 };
94 1.1 christos
95 1.1 christos static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
96 1.1 christos
97 1.1 christos /*
98 1.1 christos *C a constant (immediate) c
99 1.1 christos *R A register
100 1.1 christos *I Register indirect, no offset
101 1.1 christos *Is Register indirect, with offset
102 1.1 christos *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
103 1.1 christos *P standard displacement: type (r,[r]), reg, assumes UByte
104 1.1 christos *Pm memex displacement: type (r,[r]), reg, memex code
105 1.1 christos *cc condition code. */
106 1.1 christos
107 1.1 christos #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
108 1.1 christos #define DR(r) OP (0, RX_Operand_Register, r, 0)
109 1.1 christos #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
110 1.1 christos #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * SCALE[s])
111 1.1 christos #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
112 1.1 christos #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
113 1.1 christos
114 1.1 christos #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
115 1.1 christos #define SR(r) OP (1, RX_Operand_Register, r, 0)
116 1.1 christos #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
117 1.1 christos #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
118 1.1 christos #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * SCALE[s])
119 1.1 christos #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
120 1.1 christos #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
121 1.1 christos #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
122 1.1 christos #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
123 1.1 christos
124 1.1 christos #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
125 1.1 christos #define S2R(r) OP (2, RX_Operand_Register, r, 0)
126 1.1 christos #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
127 1.1 christos #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * SCALE[s])
128 1.1 christos #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
129 1.1 christos #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
130 1.1 christos #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
131 1.1 christos #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
132 1.1 christos
133 1.1 christos #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
134 1.1 christos #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
135 1.1.1.3 christos #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
136 1.1 christos #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
137 1.1 christos
138 1.1 christos #define F(f) store_flags(rx, f)
139 1.1 christos
140 1.1 christos #define AU ATTRIBUTE_UNUSED
141 1.1 christos #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
142 1.1 christos
143 1.1 christos #define SYNTAX(x) rx->syntax = x
144 1.1 christos
145 1.1 christos #define UNSUPPORTED() \
146 1.1 christos rx->syntax = "*unknown*"
147 1.1 christos
148 1.1 christos #define IMM(sf) immediate (sf, 0, ld)
149 1.1 christos #define IMMex(sf) immediate (sf, 1, ld)
150 1.1 christos
151 1.1 christos static int
152 1.1 christos immediate (int sfield, int ex, LocalData * ld)
153 1.1 christos {
154 1.1 christos unsigned long i = 0, j;
155 1.1 christos
156 1.1 christos switch (sfield)
157 1.1 christos {
158 1.1 christos #define B ((unsigned long) GETBYTE())
159 1.1 christos case 0:
160 1.1 christos #if RX_OPCODE_BIG_ENDIAN
161 1.1 christos i = B;
162 1.1 christos if (ex && (i & 0x80))
163 1.1 christos i -= 0x100;
164 1.1 christos i <<= 24;
165 1.1 christos i |= B << 16;
166 1.1 christos i |= B << 8;
167 1.1 christos i |= B;
168 1.1 christos #else
169 1.1 christos i = B;
170 1.1 christos i |= B << 8;
171 1.1 christos i |= B << 16;
172 1.1 christos j = B;
173 1.1 christos if (ex && (j & 0x80))
174 1.1 christos j -= 0x100;
175 1.1 christos i |= j << 24;
176 1.1 christos #endif
177 1.1 christos break;
178 1.1 christos case 3:
179 1.1 christos #if RX_OPCODE_BIG_ENDIAN
180 1.1 christos i = B << 16;
181 1.1 christos i |= B << 8;
182 1.1 christos i |= B;
183 1.1 christos #else
184 1.1 christos i = B;
185 1.1 christos i |= B << 8;
186 1.1 christos i |= B << 16;
187 1.1 christos #endif
188 1.1 christos if (ex && (i & 0x800000))
189 1.1 christos i -= 0x1000000;
190 1.1 christos break;
191 1.1 christos case 2:
192 1.1 christos #if RX_OPCODE_BIG_ENDIAN
193 1.1 christos i |= B << 8;
194 1.1 christos i |= B;
195 1.1 christos #else
196 1.1 christos i |= B;
197 1.1 christos i |= B << 8;
198 1.1 christos #endif
199 1.1 christos if (ex && (i & 0x8000))
200 1.1 christos i -= 0x10000;
201 1.1 christos break;
202 1.1 christos case 1:
203 1.1 christos i |= B;
204 1.1 christos if (ex && (i & 0x80))
205 1.1 christos i -= 0x100;
206 1.1 christos break;
207 1.1 christos default:
208 1.1 christos abort();
209 1.1 christos }
210 1.1 christos return i;
211 1.1 christos }
212 1.1 christos
213 1.1 christos static void
214 1.1 christos rx_disp (int n, int type, int reg, int size, LocalData * ld)
215 1.1 christos {
216 1.1 christos int disp;
217 1.1 christos
218 1.1 christos ld->rx->op[n].reg = reg;
219 1.1 christos switch (type)
220 1.1 christos {
221 1.1 christos case 3:
222 1.1 christos ld->rx->op[n].type = RX_Operand_Register;
223 1.1 christos break;
224 1.1 christos case 0:
225 1.1.1.3 christos ld->rx->op[n].type = RX_Operand_Zero_Indirect;
226 1.1 christos ld->rx->op[n].addend = 0;
227 1.1 christos break;
228 1.1 christos case 1:
229 1.1 christos ld->rx->op[n].type = RX_Operand_Indirect;
230 1.1 christos disp = GETBYTE ();
231 1.1 christos ld->rx->op[n].addend = disp * PSCALE[size];
232 1.1 christos break;
233 1.1 christos case 2:
234 1.1 christos ld->rx->op[n].type = RX_Operand_Indirect;
235 1.1 christos disp = GETBYTE ();
236 1.1 christos #if RX_OPCODE_BIG_ENDIAN
237 1.1 christos disp = disp * 256 + GETBYTE ();
238 1.1 christos #else
239 1.1 christos disp = disp + GETBYTE () * 256;
240 1.1 christos #endif
241 1.1 christos ld->rx->op[n].addend = disp * PSCALE[size];
242 1.1 christos break;
243 1.1 christos default:
244 1.1 christos abort ();
245 1.1 christos }
246 1.1 christos }
247 1.1 christos
248 1.1 christos #define xO 8
249 1.1 christos #define xS 4
250 1.1 christos #define xZ 2
251 1.1 christos #define xC 1
252 1.1 christos
253 1.1.1.3 christos #define F_____
254 1.1 christos #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
255 1.1 christos #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
256 1.1 christos #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
257 1.1 christos #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
258 1.1 christos #define F_O___ rx->flags_0 = rx->flags_s = xO;
259 1.1 christos #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
260 1.1 christos #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
261 1.1 christos #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
262 1.1 christos
263 1.1 christos int
264 1.1 christos rx_decode_opcode (unsigned long pc AU,
265 1.1 christos RX_Opcode_Decoded * rx,
266 1.1 christos int (* getbyte)(void *),
267 1.1 christos void * ptr)
268 1.1 christos {
269 1.1 christos LocalData lds, * ld = &lds;
270 1.1 christos unsigned char op[20] = {0};
271 1.1 christos
272 1.1 christos lds.rx = rx;
273 1.1 christos lds.getbyte = getbyte;
274 1.1 christos lds.ptr = ptr;
275 1.1 christos lds.op = op;
276 1.1 christos
277 1.1 christos memset (rx, 0, sizeof (*rx));
278 1.1 christos BWL(LSIZE);
279 1.1 christos
280 1.1 christos
281 1.1 christos /*----------------------------------------------------------------------*/
282 1.1 christos /* MOV */
283 1.1 christos
284 1.1 christos GETBYTE ();
285 1.1 christos switch (op[0] & 0xff)
286 1.1 christos {
287 1.1 christos case 0x00:
288 1.1 christos {
289 1.1 christos /** 0000 0000 brk */
290 1.1 christos if (trace)
291 1.1 christos {
292 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
293 1.1 christos "/** 0000 0000 brk */",
294 1.1 christos op[0]);
295 1.1 christos }
296 1.1 christos SYNTAX("brk");
297 1.1.1.3 christos #line 1025 "rx-decode.opc"
298 1.1 christos ID(brk);
299 1.1.1.3 christos
300 1.1 christos }
301 1.1 christos break;
302 1.1 christos case 0x01:
303 1.1 christos {
304 1.1 christos /** 0000 0001 dbt */
305 1.1 christos if (trace)
306 1.1 christos {
307 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
308 1.1 christos "/** 0000 0001 dbt */",
309 1.1 christos op[0]);
310 1.1 christos }
311 1.1 christos SYNTAX("dbt");
312 1.1.1.3 christos #line 1028 "rx-decode.opc"
313 1.1 christos ID(dbt);
314 1.1.1.3 christos
315 1.1 christos }
316 1.1 christos break;
317 1.1 christos case 0x02:
318 1.1 christos {
319 1.1 christos /** 0000 0010 rts */
320 1.1 christos if (trace)
321 1.1 christos {
322 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
323 1.1 christos "/** 0000 0010 rts */",
324 1.1 christos op[0]);
325 1.1 christos }
326 1.1 christos SYNTAX("rts");
327 1.1.1.3 christos #line 806 "rx-decode.opc"
328 1.1 christos ID(rts);
329 1.1.1.3 christos
330 1.1 christos /*----------------------------------------------------------------------*/
331 1.1 christos /* NOP */
332 1.1.1.3 christos
333 1.1 christos }
334 1.1 christos break;
335 1.1 christos case 0x03:
336 1.1 christos {
337 1.1 christos /** 0000 0011 nop */
338 1.1 christos if (trace)
339 1.1 christos {
340 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
341 1.1 christos "/** 0000 0011 nop */",
342 1.1 christos op[0]);
343 1.1 christos }
344 1.1 christos SYNTAX("nop");
345 1.1.1.3 christos #line 812 "rx-decode.opc"
346 1.1 christos ID(nop);
347 1.1.1.3 christos
348 1.1 christos /*----------------------------------------------------------------------*/
349 1.1 christos /* STRING FUNCTIONS */
350 1.1.1.3 christos
351 1.1 christos }
352 1.1 christos break;
353 1.1 christos case 0x04:
354 1.1 christos {
355 1.1 christos /** 0000 0100 bra.a %a0 */
356 1.1 christos if (trace)
357 1.1 christos {
358 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
359 1.1 christos "/** 0000 0100 bra.a %a0 */",
360 1.1 christos op[0]);
361 1.1 christos }
362 1.1 christos SYNTAX("bra.a %a0");
363 1.1.1.3 christos #line 784 "rx-decode.opc"
364 1.1 christos ID(branch); DC(pc + IMMex(3));
365 1.1.1.3 christos
366 1.1 christos }
367 1.1 christos break;
368 1.1 christos case 0x05:
369 1.1 christos {
370 1.1 christos /** 0000 0101 bsr.a %a0 */
371 1.1 christos if (trace)
372 1.1 christos {
373 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
374 1.1 christos "/** 0000 0101 bsr.a %a0 */",
375 1.1 christos op[0]);
376 1.1 christos }
377 1.1 christos SYNTAX("bsr.a %a0");
378 1.1.1.3 christos #line 800 "rx-decode.opc"
379 1.1 christos ID(jsr); DC(pc + IMMex(3));
380 1.1.1.3 christos
381 1.1 christos }
382 1.1 christos break;
383 1.1 christos case 0x06:
384 1.1 christos GETBYTE ();
385 1.1 christos switch (op[1] & 0xff)
386 1.1 christos {
387 1.1 christos case 0x00:
388 1.1 christos GETBYTE ();
389 1.1 christos switch (op[2] & 0x00)
390 1.1 christos {
391 1.1 christos case 0x00:
392 1.1 christos op_semantics_1:
393 1.1 christos {
394 1.1 christos /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
395 1.1.1.2 christos #line 542 "rx-decode.opc"
396 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
397 1.1.1.2 christos #line 542 "rx-decode.opc"
398 1.1 christos int ss AU = op[1] & 0x03;
399 1.1.1.2 christos #line 542 "rx-decode.opc"
400 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
401 1.1.1.2 christos #line 542 "rx-decode.opc"
402 1.1 christos int rdst AU = op[2] & 0x0f;
403 1.1 christos if (trace)
404 1.1 christos {
405 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
406 1.1 christos "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
407 1.1 christos op[0], op[1], op[2]);
408 1.1 christos printf (" mx = 0x%x,", mx);
409 1.1 christos printf (" ss = 0x%x,", ss);
410 1.1 christos printf (" rsrc = 0x%x,", rsrc);
411 1.1 christos printf (" rdst = 0x%x\n", rdst);
412 1.1 christos }
413 1.1 christos SYNTAX("sub %2%S2, %1");
414 1.1.1.2 christos #line 542 "rx-decode.opc"
415 1.1 christos ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
416 1.1.1.3 christos
417 1.1 christos }
418 1.1 christos break;
419 1.1 christos }
420 1.1 christos break;
421 1.1 christos case 0x01:
422 1.1 christos GETBYTE ();
423 1.1 christos switch (op[2] & 0x00)
424 1.1 christos {
425 1.1 christos case 0x00:
426 1.1 christos goto op_semantics_1;
427 1.1 christos break;
428 1.1 christos }
429 1.1 christos break;
430 1.1 christos case 0x02:
431 1.1 christos GETBYTE ();
432 1.1 christos switch (op[2] & 0x00)
433 1.1 christos {
434 1.1 christos case 0x00:
435 1.1 christos goto op_semantics_1;
436 1.1 christos break;
437 1.1 christos }
438 1.1 christos break;
439 1.1 christos case 0x03:
440 1.1 christos GETBYTE ();
441 1.1 christos switch (op[2] & 0x00)
442 1.1 christos {
443 1.1 christos case 0x00:
444 1.1 christos goto op_semantics_1;
445 1.1 christos break;
446 1.1 christos }
447 1.1 christos break;
448 1.1 christos case 0x04:
449 1.1 christos GETBYTE ();
450 1.1 christos switch (op[2] & 0x00)
451 1.1 christos {
452 1.1 christos case 0x00:
453 1.1 christos op_semantics_2:
454 1.1 christos {
455 1.1 christos /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
456 1.1.1.2 christos #line 530 "rx-decode.opc"
457 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
458 1.1.1.2 christos #line 530 "rx-decode.opc"
459 1.1 christos int ss AU = op[1] & 0x03;
460 1.1.1.2 christos #line 530 "rx-decode.opc"
461 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
462 1.1.1.2 christos #line 530 "rx-decode.opc"
463 1.1 christos int rdst AU = op[2] & 0x0f;
464 1.1 christos if (trace)
465 1.1 christos {
466 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
467 1.1 christos "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
468 1.1 christos op[0], op[1], op[2]);
469 1.1 christos printf (" mx = 0x%x,", mx);
470 1.1 christos printf (" ss = 0x%x,", ss);
471 1.1 christos printf (" rsrc = 0x%x,", rsrc);
472 1.1 christos printf (" rdst = 0x%x\n", rdst);
473 1.1 christos }
474 1.1 christos SYNTAX("cmp %2%S2, %1");
475 1.1.1.2 christos #line 530 "rx-decode.opc"
476 1.1 christos ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
477 1.1.1.3 christos
478 1.1 christos /*----------------------------------------------------------------------*/
479 1.1 christos /* SUB */
480 1.1.1.3 christos
481 1.1 christos }
482 1.1 christos break;
483 1.1 christos }
484 1.1 christos break;
485 1.1 christos case 0x05:
486 1.1 christos GETBYTE ();
487 1.1 christos switch (op[2] & 0x00)
488 1.1 christos {
489 1.1 christos case 0x00:
490 1.1 christos goto op_semantics_2;
491 1.1 christos break;
492 1.1 christos }
493 1.1 christos break;
494 1.1 christos case 0x06:
495 1.1 christos GETBYTE ();
496 1.1 christos switch (op[2] & 0x00)
497 1.1 christos {
498 1.1 christos case 0x00:
499 1.1 christos goto op_semantics_2;
500 1.1 christos break;
501 1.1 christos }
502 1.1 christos break;
503 1.1 christos case 0x07:
504 1.1 christos GETBYTE ();
505 1.1 christos switch (op[2] & 0x00)
506 1.1 christos {
507 1.1 christos case 0x00:
508 1.1 christos goto op_semantics_2;
509 1.1 christos break;
510 1.1 christos }
511 1.1 christos break;
512 1.1 christos case 0x08:
513 1.1 christos GETBYTE ();
514 1.1 christos switch (op[2] & 0x00)
515 1.1 christos {
516 1.1 christos case 0x00:
517 1.1 christos op_semantics_3:
518 1.1 christos {
519 1.1 christos /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
520 1.1.1.2 christos #line 506 "rx-decode.opc"
521 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
522 1.1.1.2 christos #line 506 "rx-decode.opc"
523 1.1 christos int ss AU = op[1] & 0x03;
524 1.1.1.2 christos #line 506 "rx-decode.opc"
525 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
526 1.1.1.2 christos #line 506 "rx-decode.opc"
527 1.1 christos int rdst AU = op[2] & 0x0f;
528 1.1 christos if (trace)
529 1.1 christos {
530 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
531 1.1 christos "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
532 1.1 christos op[0], op[1], op[2]);
533 1.1 christos printf (" mx = 0x%x,", mx);
534 1.1 christos printf (" ss = 0x%x,", ss);
535 1.1 christos printf (" rsrc = 0x%x,", rsrc);
536 1.1 christos printf (" rdst = 0x%x\n", rdst);
537 1.1 christos }
538 1.1 christos SYNTAX("add %1%S1, %0");
539 1.1.1.2 christos #line 506 "rx-decode.opc"
540 1.1 christos ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
541 1.1.1.3 christos
542 1.1 christos }
543 1.1 christos break;
544 1.1 christos }
545 1.1 christos break;
546 1.1 christos case 0x09:
547 1.1 christos GETBYTE ();
548 1.1 christos switch (op[2] & 0x00)
549 1.1 christos {
550 1.1 christos case 0x00:
551 1.1 christos goto op_semantics_3;
552 1.1 christos break;
553 1.1 christos }
554 1.1 christos break;
555 1.1 christos case 0x0a:
556 1.1 christos GETBYTE ();
557 1.1 christos switch (op[2] & 0x00)
558 1.1 christos {
559 1.1 christos case 0x00:
560 1.1 christos goto op_semantics_3;
561 1.1 christos break;
562 1.1 christos }
563 1.1 christos break;
564 1.1 christos case 0x0b:
565 1.1 christos GETBYTE ();
566 1.1 christos switch (op[2] & 0x00)
567 1.1 christos {
568 1.1 christos case 0x00:
569 1.1 christos goto op_semantics_3;
570 1.1 christos break;
571 1.1 christos }
572 1.1 christos break;
573 1.1 christos case 0x0c:
574 1.1 christos GETBYTE ();
575 1.1 christos switch (op[2] & 0x00)
576 1.1 christos {
577 1.1 christos case 0x00:
578 1.1 christos op_semantics_4:
579 1.1 christos {
580 1.1 christos /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
581 1.1.1.3 christos #line 649 "rx-decode.opc"
582 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
583 1.1.1.3 christos #line 649 "rx-decode.opc"
584 1.1 christos int ss AU = op[1] & 0x03;
585 1.1.1.3 christos #line 649 "rx-decode.opc"
586 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
587 1.1.1.3 christos #line 649 "rx-decode.opc"
588 1.1 christos int rdst AU = op[2] & 0x0f;
589 1.1 christos if (trace)
590 1.1 christos {
591 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
592 1.1 christos "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
593 1.1 christos op[0], op[1], op[2]);
594 1.1 christos printf (" mx = 0x%x,", mx);
595 1.1 christos printf (" ss = 0x%x,", ss);
596 1.1 christos printf (" rsrc = 0x%x,", rsrc);
597 1.1 christos printf (" rdst = 0x%x\n", rdst);
598 1.1 christos }
599 1.1 christos SYNTAX("mul %1%S1, %0");
600 1.1.1.3 christos #line 649 "rx-decode.opc"
601 1.1 christos ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
602 1.1.1.3 christos
603 1.1 christos }
604 1.1 christos break;
605 1.1 christos }
606 1.1 christos break;
607 1.1 christos case 0x0d:
608 1.1 christos GETBYTE ();
609 1.1 christos switch (op[2] & 0x00)
610 1.1 christos {
611 1.1 christos case 0x00:
612 1.1 christos goto op_semantics_4;
613 1.1 christos break;
614 1.1 christos }
615 1.1 christos break;
616 1.1 christos case 0x0e:
617 1.1 christos GETBYTE ();
618 1.1 christos switch (op[2] & 0x00)
619 1.1 christos {
620 1.1 christos case 0x00:
621 1.1 christos goto op_semantics_4;
622 1.1 christos break;
623 1.1 christos }
624 1.1 christos break;
625 1.1 christos case 0x0f:
626 1.1 christos GETBYTE ();
627 1.1 christos switch (op[2] & 0x00)
628 1.1 christos {
629 1.1 christos case 0x00:
630 1.1 christos goto op_semantics_4;
631 1.1 christos break;
632 1.1 christos }
633 1.1 christos break;
634 1.1 christos case 0x10:
635 1.1 christos GETBYTE ();
636 1.1 christos switch (op[2] & 0x00)
637 1.1 christos {
638 1.1 christos case 0x00:
639 1.1 christos op_semantics_5:
640 1.1 christos {
641 1.1 christos /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
642 1.1.1.2 christos #line 419 "rx-decode.opc"
643 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
644 1.1.1.2 christos #line 419 "rx-decode.opc"
645 1.1 christos int ss AU = op[1] & 0x03;
646 1.1.1.2 christos #line 419 "rx-decode.opc"
647 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
648 1.1.1.2 christos #line 419 "rx-decode.opc"
649 1.1 christos int rdst AU = op[2] & 0x0f;
650 1.1 christos if (trace)
651 1.1 christos {
652 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
653 1.1 christos "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
654 1.1 christos op[0], op[1], op[2]);
655 1.1 christos printf (" mx = 0x%x,", mx);
656 1.1 christos printf (" ss = 0x%x,", ss);
657 1.1 christos printf (" rsrc = 0x%x,", rsrc);
658 1.1 christos printf (" rdst = 0x%x\n", rdst);
659 1.1 christos }
660 1.1 christos SYNTAX("and %1%S1, %0");
661 1.1.1.2 christos #line 419 "rx-decode.opc"
662 1.1 christos ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
663 1.1.1.3 christos
664 1.1 christos }
665 1.1 christos break;
666 1.1 christos }
667 1.1 christos break;
668 1.1 christos case 0x11:
669 1.1 christos GETBYTE ();
670 1.1 christos switch (op[2] & 0x00)
671 1.1 christos {
672 1.1 christos case 0x00:
673 1.1 christos goto op_semantics_5;
674 1.1 christos break;
675 1.1 christos }
676 1.1 christos break;
677 1.1 christos case 0x12:
678 1.1 christos GETBYTE ();
679 1.1 christos switch (op[2] & 0x00)
680 1.1 christos {
681 1.1 christos case 0x00:
682 1.1 christos goto op_semantics_5;
683 1.1 christos break;
684 1.1 christos }
685 1.1 christos break;
686 1.1 christos case 0x13:
687 1.1 christos GETBYTE ();
688 1.1 christos switch (op[2] & 0x00)
689 1.1 christos {
690 1.1 christos case 0x00:
691 1.1 christos goto op_semantics_5;
692 1.1 christos break;
693 1.1 christos }
694 1.1 christos break;
695 1.1 christos case 0x14:
696 1.1 christos GETBYTE ();
697 1.1 christos switch (op[2] & 0x00)
698 1.1 christos {
699 1.1 christos case 0x00:
700 1.1 christos op_semantics_6:
701 1.1 christos {
702 1.1 christos /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
703 1.1.1.2 christos #line 437 "rx-decode.opc"
704 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
705 1.1.1.2 christos #line 437 "rx-decode.opc"
706 1.1 christos int ss AU = op[1] & 0x03;
707 1.1.1.2 christos #line 437 "rx-decode.opc"
708 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
709 1.1.1.2 christos #line 437 "rx-decode.opc"
710 1.1 christos int rdst AU = op[2] & 0x0f;
711 1.1 christos if (trace)
712 1.1 christos {
713 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
714 1.1 christos "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
715 1.1 christos op[0], op[1], op[2]);
716 1.1 christos printf (" mx = 0x%x,", mx);
717 1.1 christos printf (" ss = 0x%x,", ss);
718 1.1 christos printf (" rsrc = 0x%x,", rsrc);
719 1.1 christos printf (" rdst = 0x%x\n", rdst);
720 1.1 christos }
721 1.1 christos SYNTAX("or %1%S1, %0");
722 1.1.1.2 christos #line 437 "rx-decode.opc"
723 1.1 christos ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
724 1.1.1.3 christos
725 1.1 christos }
726 1.1 christos break;
727 1.1 christos }
728 1.1 christos break;
729 1.1 christos case 0x15:
730 1.1 christos GETBYTE ();
731 1.1 christos switch (op[2] & 0x00)
732 1.1 christos {
733 1.1 christos case 0x00:
734 1.1 christos goto op_semantics_6;
735 1.1 christos break;
736 1.1 christos }
737 1.1 christos break;
738 1.1 christos case 0x16:
739 1.1 christos GETBYTE ();
740 1.1 christos switch (op[2] & 0x00)
741 1.1 christos {
742 1.1 christos case 0x00:
743 1.1 christos goto op_semantics_6;
744 1.1 christos break;
745 1.1 christos }
746 1.1 christos break;
747 1.1 christos case 0x17:
748 1.1 christos GETBYTE ();
749 1.1 christos switch (op[2] & 0x00)
750 1.1 christos {
751 1.1 christos case 0x00:
752 1.1 christos goto op_semantics_6;
753 1.1 christos break;
754 1.1 christos }
755 1.1 christos break;
756 1.1 christos case 0x20:
757 1.1 christos GETBYTE ();
758 1.1 christos switch (op[2] & 0xff)
759 1.1 christos {
760 1.1 christos case 0x00:
761 1.1 christos GETBYTE ();
762 1.1 christos switch (op[3] & 0x00)
763 1.1 christos {
764 1.1 christos case 0x00:
765 1.1 christos op_semantics_7:
766 1.1 christos {
767 1.1 christos /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
768 1.1.1.2 christos #line 555 "rx-decode.opc"
769 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
770 1.1.1.2 christos #line 555 "rx-decode.opc"
771 1.1 christos int sp AU = op[1] & 0x03;
772 1.1.1.2 christos #line 555 "rx-decode.opc"
773 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
774 1.1.1.2 christos #line 555 "rx-decode.opc"
775 1.1 christos int rdst AU = op[3] & 0x0f;
776 1.1 christos if (trace)
777 1.1 christos {
778 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
779 1.1 christos "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
780 1.1 christos op[0], op[1], op[2], op[3]);
781 1.1 christos printf (" mx = 0x%x,", mx);
782 1.1 christos printf (" sp = 0x%x,", sp);
783 1.1 christos printf (" rsrc = 0x%x,", rsrc);
784 1.1 christos printf (" rdst = 0x%x\n", rdst);
785 1.1 christos }
786 1.1 christos SYNTAX("sbb %1%S1, %0");
787 1.1.1.2 christos #line 555 "rx-decode.opc"
788 1.1 christos ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
789 1.1.1.3 christos
790 1.1 christos /*----------------------------------------------------------------------*/
791 1.1 christos /* ABS */
792 1.1.1.3 christos
793 1.1 christos }
794 1.1 christos break;
795 1.1 christos }
796 1.1 christos break;
797 1.1 christos case 0x04:
798 1.1 christos GETBYTE ();
799 1.1 christos switch (op[3] & 0x00)
800 1.1 christos {
801 1.1 christos case 0x00:
802 1.1 christos op_semantics_8:
803 1.1 christos {
804 1.1 christos /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
805 1.1.1.3 christos #line 594 "rx-decode.opc"
806 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
807 1.1.1.3 christos #line 594 "rx-decode.opc"
808 1.1 christos int ss AU = op[1] & 0x03;
809 1.1.1.3 christos #line 594 "rx-decode.opc"
810 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
811 1.1.1.3 christos #line 594 "rx-decode.opc"
812 1.1 christos int rdst AU = op[3] & 0x0f;
813 1.1 christos if (trace)
814 1.1 christos {
815 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
816 1.1 christos "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
817 1.1 christos op[0], op[1], op[2], op[3]);
818 1.1 christos printf (" mx = 0x%x,", mx);
819 1.1 christos printf (" ss = 0x%x,", ss);
820 1.1 christos printf (" rsrc = 0x%x,", rsrc);
821 1.1 christos printf (" rdst = 0x%x\n", rdst);
822 1.1 christos }
823 1.1 christos SYNTAX("max %1%S1, %0");
824 1.1.1.3 christos #line 594 "rx-decode.opc"
825 1.1 christos ID(max); SPm(ss, rsrc, mx); DR(rdst);
826 1.1.1.3 christos
827 1.1 christos /*----------------------------------------------------------------------*/
828 1.1 christos /* MIN */
829 1.1.1.3 christos
830 1.1 christos }
831 1.1 christos break;
832 1.1 christos }
833 1.1 christos break;
834 1.1 christos case 0x05:
835 1.1 christos GETBYTE ();
836 1.1 christos switch (op[3] & 0x00)
837 1.1 christos {
838 1.1 christos case 0x00:
839 1.1 christos op_semantics_9:
840 1.1 christos {
841 1.1 christos /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
842 1.1.1.3 christos #line 606 "rx-decode.opc"
843 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
844 1.1.1.3 christos #line 606 "rx-decode.opc"
845 1.1 christos int ss AU = op[1] & 0x03;
846 1.1.1.3 christos #line 606 "rx-decode.opc"
847 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
848 1.1.1.3 christos #line 606 "rx-decode.opc"
849 1.1 christos int rdst AU = op[3] & 0x0f;
850 1.1 christos if (trace)
851 1.1 christos {
852 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
853 1.1 christos "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
854 1.1 christos op[0], op[1], op[2], op[3]);
855 1.1 christos printf (" mx = 0x%x,", mx);
856 1.1 christos printf (" ss = 0x%x,", ss);
857 1.1 christos printf (" rsrc = 0x%x,", rsrc);
858 1.1 christos printf (" rdst = 0x%x\n", rdst);
859 1.1 christos }
860 1.1 christos SYNTAX("min %1%S1, %0");
861 1.1.1.3 christos #line 606 "rx-decode.opc"
862 1.1 christos ID(min); SPm(ss, rsrc, mx); DR(rdst);
863 1.1.1.3 christos
864 1.1 christos /*----------------------------------------------------------------------*/
865 1.1 christos /* MUL */
866 1.1.1.3 christos
867 1.1 christos }
868 1.1 christos break;
869 1.1 christos }
870 1.1 christos break;
871 1.1 christos case 0x06:
872 1.1 christos GETBYTE ();
873 1.1 christos switch (op[3] & 0x00)
874 1.1 christos {
875 1.1 christos case 0x00:
876 1.1 christos op_semantics_10:
877 1.1 christos {
878 1.1 christos /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
879 1.1.1.3 christos #line 664 "rx-decode.opc"
880 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
881 1.1.1.3 christos #line 664 "rx-decode.opc"
882 1.1 christos int ss AU = op[1] & 0x03;
883 1.1.1.3 christos #line 664 "rx-decode.opc"
884 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
885 1.1.1.3 christos #line 664 "rx-decode.opc"
886 1.1 christos int rdst AU = op[3] & 0x0f;
887 1.1 christos if (trace)
888 1.1 christos {
889 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
890 1.1 christos "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
891 1.1 christos op[0], op[1], op[2], op[3]);
892 1.1 christos printf (" mx = 0x%x,", mx);
893 1.1 christos printf (" ss = 0x%x,", ss);
894 1.1 christos printf (" rsrc = 0x%x,", rsrc);
895 1.1 christos printf (" rdst = 0x%x\n", rdst);
896 1.1 christos }
897 1.1 christos SYNTAX("emul %1%S1, %0");
898 1.1.1.3 christos #line 664 "rx-decode.opc"
899 1.1 christos ID(emul); SPm(ss, rsrc, mx); DR(rdst);
900 1.1.1.3 christos
901 1.1 christos /*----------------------------------------------------------------------*/
902 1.1 christos /* EMULU */
903 1.1.1.3 christos
904 1.1 christos }
905 1.1 christos break;
906 1.1 christos }
907 1.1 christos break;
908 1.1 christos case 0x07:
909 1.1 christos GETBYTE ();
910 1.1 christos switch (op[3] & 0x00)
911 1.1 christos {
912 1.1 christos case 0x00:
913 1.1 christos op_semantics_11:
914 1.1 christos {
915 1.1 christos /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
916 1.1.1.3 christos #line 676 "rx-decode.opc"
917 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
918 1.1.1.3 christos #line 676 "rx-decode.opc"
919 1.1 christos int ss AU = op[1] & 0x03;
920 1.1.1.3 christos #line 676 "rx-decode.opc"
921 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
922 1.1.1.3 christos #line 676 "rx-decode.opc"
923 1.1 christos int rdst AU = op[3] & 0x0f;
924 1.1 christos if (trace)
925 1.1 christos {
926 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
927 1.1 christos "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
928 1.1 christos op[0], op[1], op[2], op[3]);
929 1.1 christos printf (" mx = 0x%x,", mx);
930 1.1 christos printf (" ss = 0x%x,", ss);
931 1.1 christos printf (" rsrc = 0x%x,", rsrc);
932 1.1 christos printf (" rdst = 0x%x\n", rdst);
933 1.1 christos }
934 1.1 christos SYNTAX("emulu %1%S1, %0");
935 1.1.1.3 christos #line 676 "rx-decode.opc"
936 1.1 christos ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
937 1.1.1.3 christos
938 1.1 christos /*----------------------------------------------------------------------*/
939 1.1 christos /* DIV */
940 1.1.1.3 christos
941 1.1 christos }
942 1.1 christos break;
943 1.1 christos }
944 1.1 christos break;
945 1.1 christos case 0x08:
946 1.1 christos GETBYTE ();
947 1.1 christos switch (op[3] & 0x00)
948 1.1 christos {
949 1.1 christos case 0x00:
950 1.1 christos op_semantics_12:
951 1.1 christos {
952 1.1 christos /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
953 1.1.1.3 christos #line 688 "rx-decode.opc"
954 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
955 1.1.1.3 christos #line 688 "rx-decode.opc"
956 1.1 christos int ss AU = op[1] & 0x03;
957 1.1.1.3 christos #line 688 "rx-decode.opc"
958 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
959 1.1.1.3 christos #line 688 "rx-decode.opc"
960 1.1 christos int rdst AU = op[3] & 0x0f;
961 1.1 christos if (trace)
962 1.1 christos {
963 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
964 1.1 christos "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
965 1.1 christos op[0], op[1], op[2], op[3]);
966 1.1 christos printf (" mx = 0x%x,", mx);
967 1.1 christos printf (" ss = 0x%x,", ss);
968 1.1 christos printf (" rsrc = 0x%x,", rsrc);
969 1.1 christos printf (" rdst = 0x%x\n", rdst);
970 1.1 christos }
971 1.1 christos SYNTAX("div %1%S1, %0");
972 1.1.1.3 christos #line 688 "rx-decode.opc"
973 1.1 christos ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
974 1.1.1.3 christos
975 1.1 christos /*----------------------------------------------------------------------*/
976 1.1 christos /* DIVU */
977 1.1.1.3 christos
978 1.1 christos }
979 1.1 christos break;
980 1.1 christos }
981 1.1 christos break;
982 1.1 christos case 0x09:
983 1.1 christos GETBYTE ();
984 1.1 christos switch (op[3] & 0x00)
985 1.1 christos {
986 1.1 christos case 0x00:
987 1.1 christos op_semantics_13:
988 1.1 christos {
989 1.1 christos /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
990 1.1.1.3 christos #line 700 "rx-decode.opc"
991 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
992 1.1.1.3 christos #line 700 "rx-decode.opc"
993 1.1 christos int ss AU = op[1] & 0x03;
994 1.1.1.3 christos #line 700 "rx-decode.opc"
995 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
996 1.1.1.3 christos #line 700 "rx-decode.opc"
997 1.1 christos int rdst AU = op[3] & 0x0f;
998 1.1 christos if (trace)
999 1.1 christos {
1000 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1001 1.1 christos "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
1002 1.1 christos op[0], op[1], op[2], op[3]);
1003 1.1 christos printf (" mx = 0x%x,", mx);
1004 1.1 christos printf (" ss = 0x%x,", ss);
1005 1.1 christos printf (" rsrc = 0x%x,", rsrc);
1006 1.1 christos printf (" rdst = 0x%x\n", rdst);
1007 1.1 christos }
1008 1.1 christos SYNTAX("divu %1%S1, %0");
1009 1.1.1.3 christos #line 700 "rx-decode.opc"
1010 1.1 christos ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
1011 1.1.1.3 christos
1012 1.1 christos /*----------------------------------------------------------------------*/
1013 1.1 christos /* SHIFT */
1014 1.1.1.3 christos
1015 1.1 christos }
1016 1.1 christos break;
1017 1.1 christos }
1018 1.1 christos break;
1019 1.1 christos case 0x0c:
1020 1.1 christos GETBYTE ();
1021 1.1 christos switch (op[3] & 0x00)
1022 1.1 christos {
1023 1.1 christos case 0x00:
1024 1.1 christos op_semantics_14:
1025 1.1 christos {
1026 1.1 christos /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
1027 1.1.1.2 christos #line 473 "rx-decode.opc"
1028 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
1029 1.1.1.2 christos #line 473 "rx-decode.opc"
1030 1.1 christos int ss AU = op[1] & 0x03;
1031 1.1.1.2 christos #line 473 "rx-decode.opc"
1032 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
1033 1.1.1.2 christos #line 473 "rx-decode.opc"
1034 1.1 christos int rdst AU = op[3] & 0x0f;
1035 1.1 christos if (trace)
1036 1.1 christos {
1037 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1038 1.1 christos "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
1039 1.1 christos op[0], op[1], op[2], op[3]);
1040 1.1 christos printf (" mx = 0x%x,", mx);
1041 1.1 christos printf (" ss = 0x%x,", ss);
1042 1.1 christos printf (" rsrc = 0x%x,", rsrc);
1043 1.1 christos printf (" rdst = 0x%x\n", rdst);
1044 1.1 christos }
1045 1.1 christos SYNTAX("tst %1%S1, %2");
1046 1.1.1.2 christos #line 473 "rx-decode.opc"
1047 1.1 christos ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
1048 1.1.1.3 christos
1049 1.1 christos /*----------------------------------------------------------------------*/
1050 1.1 christos /* NEG */
1051 1.1.1.3 christos
1052 1.1 christos }
1053 1.1 christos break;
1054 1.1 christos }
1055 1.1 christos break;
1056 1.1 christos case 0x0d:
1057 1.1 christos GETBYTE ();
1058 1.1 christos switch (op[3] & 0x00)
1059 1.1 christos {
1060 1.1 christos case 0x00:
1061 1.1 christos op_semantics_15:
1062 1.1 christos {
1063 1.1 christos /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
1064 1.1.1.2 christos #line 452 "rx-decode.opc"
1065 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
1066 1.1.1.2 christos #line 452 "rx-decode.opc"
1067 1.1 christos int ss AU = op[1] & 0x03;
1068 1.1.1.2 christos #line 452 "rx-decode.opc"
1069 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
1070 1.1.1.2 christos #line 452 "rx-decode.opc"
1071 1.1 christos int rdst AU = op[3] & 0x0f;
1072 1.1 christos if (trace)
1073 1.1 christos {
1074 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1075 1.1 christos "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
1076 1.1 christos op[0], op[1], op[2], op[3]);
1077 1.1 christos printf (" mx = 0x%x,", mx);
1078 1.1 christos printf (" ss = 0x%x,", ss);
1079 1.1 christos printf (" rsrc = 0x%x,", rsrc);
1080 1.1 christos printf (" rdst = 0x%x\n", rdst);
1081 1.1 christos }
1082 1.1 christos SYNTAX("xor %1%S1, %0");
1083 1.1.1.2 christos #line 452 "rx-decode.opc"
1084 1.1 christos ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
1085 1.1.1.3 christos
1086 1.1 christos /*----------------------------------------------------------------------*/
1087 1.1 christos /* NOT */
1088 1.1.1.3 christos
1089 1.1 christos }
1090 1.1 christos break;
1091 1.1 christos }
1092 1.1 christos break;
1093 1.1 christos case 0x10:
1094 1.1 christos GETBYTE ();
1095 1.1 christos switch (op[3] & 0x00)
1096 1.1 christos {
1097 1.1 christos case 0x00:
1098 1.1 christos op_semantics_16:
1099 1.1 christos {
1100 1.1 christos /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
1101 1.1.1.2 christos #line 386 "rx-decode.opc"
1102 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
1103 1.1.1.2 christos #line 386 "rx-decode.opc"
1104 1.1 christos int ss AU = op[1] & 0x03;
1105 1.1.1.2 christos #line 386 "rx-decode.opc"
1106 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
1107 1.1.1.2 christos #line 386 "rx-decode.opc"
1108 1.1 christos int rdst AU = op[3] & 0x0f;
1109 1.1 christos if (trace)
1110 1.1 christos {
1111 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1112 1.1 christos "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
1113 1.1 christos op[0], op[1], op[2], op[3]);
1114 1.1 christos printf (" mx = 0x%x,", mx);
1115 1.1 christos printf (" ss = 0x%x,", ss);
1116 1.1 christos printf (" rsrc = 0x%x,", rsrc);
1117 1.1 christos printf (" rdst = 0x%x\n", rdst);
1118 1.1 christos }
1119 1.1 christos SYNTAX("xchg %1%S1, %0");
1120 1.1.1.2 christos #line 386 "rx-decode.opc"
1121 1.1 christos ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
1122 1.1.1.3 christos
1123 1.1 christos /*----------------------------------------------------------------------*/
1124 1.1 christos /* STZ/STNZ */
1125 1.1.1.3 christos
1126 1.1 christos }
1127 1.1 christos break;
1128 1.1 christos }
1129 1.1 christos break;
1130 1.1 christos case 0x11:
1131 1.1 christos GETBYTE ();
1132 1.1 christos switch (op[3] & 0x00)
1133 1.1 christos {
1134 1.1 christos case 0x00:
1135 1.1 christos op_semantics_17:
1136 1.1 christos {
1137 1.1 christos /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
1138 1.1.1.3 christos #line 929 "rx-decode.opc"
1139 1.1 christos int mx AU = (op[1] >> 6) & 0x03;
1140 1.1.1.3 christos #line 929 "rx-decode.opc"
1141 1.1 christos int sd AU = op[1] & 0x03;
1142 1.1.1.3 christos #line 929 "rx-decode.opc"
1143 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
1144 1.1.1.3 christos #line 929 "rx-decode.opc"
1145 1.1 christos int rdst AU = op[3] & 0x0f;
1146 1.1 christos if (trace)
1147 1.1 christos {
1148 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1149 1.1 christos "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
1150 1.1 christos op[0], op[1], op[2], op[3]);
1151 1.1 christos printf (" mx = 0x%x,", mx);
1152 1.1 christos printf (" sd = 0x%x,", sd);
1153 1.1 christos printf (" rsrc = 0x%x,", rsrc);
1154 1.1 christos printf (" rdst = 0x%x\n", rdst);
1155 1.1 christos }
1156 1.1 christos SYNTAX("itof %1%S1, %0");
1157 1.1.1.3 christos #line 929 "rx-decode.opc"
1158 1.1 christos ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1159 1.1.1.3 christos
1160 1.1 christos /*----------------------------------------------------------------------*/
1161 1.1 christos /* BIT OPS */
1162 1.1.1.3 christos
1163 1.1.1.3 christos }
1164 1.1.1.3 christos break;
1165 1.1.1.3 christos }
1166 1.1.1.3 christos break;
1167 1.1.1.3 christos case 0x15:
1168 1.1.1.3 christos GETBYTE ();
1169 1.1.1.3 christos switch (op[3] & 0x00)
1170 1.1.1.3 christos {
1171 1.1.1.3 christos case 0x00:
1172 1.1.1.3 christos op_semantics_18:
1173 1.1.1.3 christos {
1174 1.1.1.3 christos /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
1175 1.1.1.3 christos #line 1115 "rx-decode.opc"
1176 1.1.1.3 christos int mx AU = (op[1] >> 6) & 0x03;
1177 1.1.1.3 christos #line 1115 "rx-decode.opc"
1178 1.1.1.3 christos int sd AU = op[1] & 0x03;
1179 1.1.1.3 christos #line 1115 "rx-decode.opc"
1180 1.1.1.3 christos int rsrc AU = (op[3] >> 4) & 0x0f;
1181 1.1.1.3 christos #line 1115 "rx-decode.opc"
1182 1.1.1.3 christos int rdst AU = op[3] & 0x0f;
1183 1.1.1.3 christos if (trace)
1184 1.1.1.3 christos {
1185 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
1186 1.1.1.3 christos "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
1187 1.1.1.3 christos op[0], op[1], op[2], op[3]);
1188 1.1.1.3 christos printf (" mx = 0x%x,", mx);
1189 1.1.1.3 christos printf (" sd = 0x%x,", sd);
1190 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
1191 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
1192 1.1.1.3 christos }
1193 1.1.1.3 christos SYNTAX("utof %1%S1, %0");
1194 1.1.1.3 christos #line 1115 "rx-decode.opc"
1195 1.1.1.3 christos ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
1196 1.1.1.3 christos
1197 1.1 christos }
1198 1.1 christos break;
1199 1.1 christos }
1200 1.1 christos break;
1201 1.1 christos default: UNSUPPORTED(); break;
1202 1.1 christos }
1203 1.1 christos break;
1204 1.1 christos case 0x21:
1205 1.1 christos GETBYTE ();
1206 1.1 christos switch (op[2] & 0xff)
1207 1.1 christos {
1208 1.1 christos case 0x00:
1209 1.1 christos GETBYTE ();
1210 1.1 christos switch (op[3] & 0x00)
1211 1.1 christos {
1212 1.1 christos case 0x00:
1213 1.1 christos goto op_semantics_7;
1214 1.1 christos break;
1215 1.1 christos }
1216 1.1 christos break;
1217 1.1 christos case 0x04:
1218 1.1 christos GETBYTE ();
1219 1.1 christos switch (op[3] & 0x00)
1220 1.1 christos {
1221 1.1 christos case 0x00:
1222 1.1 christos goto op_semantics_8;
1223 1.1 christos break;
1224 1.1 christos }
1225 1.1 christos break;
1226 1.1 christos case 0x05:
1227 1.1 christos GETBYTE ();
1228 1.1 christos switch (op[3] & 0x00)
1229 1.1 christos {
1230 1.1 christos case 0x00:
1231 1.1 christos goto op_semantics_9;
1232 1.1 christos break;
1233 1.1 christos }
1234 1.1 christos break;
1235 1.1 christos case 0x06:
1236 1.1 christos GETBYTE ();
1237 1.1 christos switch (op[3] & 0x00)
1238 1.1 christos {
1239 1.1 christos case 0x00:
1240 1.1 christos goto op_semantics_10;
1241 1.1 christos break;
1242 1.1 christos }
1243 1.1 christos break;
1244 1.1 christos case 0x07:
1245 1.1 christos GETBYTE ();
1246 1.1 christos switch (op[3] & 0x00)
1247 1.1 christos {
1248 1.1 christos case 0x00:
1249 1.1 christos goto op_semantics_11;
1250 1.1 christos break;
1251 1.1 christos }
1252 1.1 christos break;
1253 1.1 christos case 0x08:
1254 1.1 christos GETBYTE ();
1255 1.1 christos switch (op[3] & 0x00)
1256 1.1 christos {
1257 1.1 christos case 0x00:
1258 1.1 christos goto op_semantics_12;
1259 1.1 christos break;
1260 1.1 christos }
1261 1.1 christos break;
1262 1.1 christos case 0x09:
1263 1.1 christos GETBYTE ();
1264 1.1 christos switch (op[3] & 0x00)
1265 1.1 christos {
1266 1.1 christos case 0x00:
1267 1.1 christos goto op_semantics_13;
1268 1.1 christos break;
1269 1.1 christos }
1270 1.1 christos break;
1271 1.1 christos case 0x0c:
1272 1.1 christos GETBYTE ();
1273 1.1 christos switch (op[3] & 0x00)
1274 1.1 christos {
1275 1.1 christos case 0x00:
1276 1.1 christos goto op_semantics_14;
1277 1.1 christos break;
1278 1.1 christos }
1279 1.1 christos break;
1280 1.1 christos case 0x0d:
1281 1.1 christos GETBYTE ();
1282 1.1 christos switch (op[3] & 0x00)
1283 1.1 christos {
1284 1.1 christos case 0x00:
1285 1.1 christos goto op_semantics_15;
1286 1.1 christos break;
1287 1.1 christos }
1288 1.1 christos break;
1289 1.1 christos case 0x10:
1290 1.1 christos GETBYTE ();
1291 1.1 christos switch (op[3] & 0x00)
1292 1.1 christos {
1293 1.1 christos case 0x00:
1294 1.1 christos goto op_semantics_16;
1295 1.1 christos break;
1296 1.1 christos }
1297 1.1 christos break;
1298 1.1 christos case 0x11:
1299 1.1 christos GETBYTE ();
1300 1.1 christos switch (op[3] & 0x00)
1301 1.1 christos {
1302 1.1 christos case 0x00:
1303 1.1 christos goto op_semantics_17;
1304 1.1 christos break;
1305 1.1 christos }
1306 1.1 christos break;
1307 1.1.1.3 christos case 0x15:
1308 1.1.1.3 christos GETBYTE ();
1309 1.1.1.3 christos switch (op[3] & 0x00)
1310 1.1.1.3 christos {
1311 1.1.1.3 christos case 0x00:
1312 1.1.1.3 christos goto op_semantics_18;
1313 1.1.1.3 christos break;
1314 1.1.1.3 christos }
1315 1.1.1.3 christos break;
1316 1.1 christos default: UNSUPPORTED(); break;
1317 1.1 christos }
1318 1.1 christos break;
1319 1.1 christos case 0x22:
1320 1.1 christos GETBYTE ();
1321 1.1 christos switch (op[2] & 0xff)
1322 1.1 christos {
1323 1.1 christos case 0x00:
1324 1.1 christos GETBYTE ();
1325 1.1 christos switch (op[3] & 0x00)
1326 1.1 christos {
1327 1.1 christos case 0x00:
1328 1.1 christos goto op_semantics_7;
1329 1.1 christos break;
1330 1.1 christos }
1331 1.1 christos break;
1332 1.1 christos case 0x04:
1333 1.1 christos GETBYTE ();
1334 1.1 christos switch (op[3] & 0x00)
1335 1.1 christos {
1336 1.1 christos case 0x00:
1337 1.1 christos goto op_semantics_8;
1338 1.1 christos break;
1339 1.1 christos }
1340 1.1 christos break;
1341 1.1 christos case 0x05:
1342 1.1 christos GETBYTE ();
1343 1.1 christos switch (op[3] & 0x00)
1344 1.1 christos {
1345 1.1 christos case 0x00:
1346 1.1 christos goto op_semantics_9;
1347 1.1 christos break;
1348 1.1 christos }
1349 1.1 christos break;
1350 1.1 christos case 0x06:
1351 1.1 christos GETBYTE ();
1352 1.1 christos switch (op[3] & 0x00)
1353 1.1 christos {
1354 1.1 christos case 0x00:
1355 1.1 christos goto op_semantics_10;
1356 1.1 christos break;
1357 1.1 christos }
1358 1.1 christos break;
1359 1.1 christos case 0x07:
1360 1.1 christos GETBYTE ();
1361 1.1 christos switch (op[3] & 0x00)
1362 1.1 christos {
1363 1.1 christos case 0x00:
1364 1.1 christos goto op_semantics_11;
1365 1.1 christos break;
1366 1.1 christos }
1367 1.1 christos break;
1368 1.1 christos case 0x08:
1369 1.1 christos GETBYTE ();
1370 1.1 christos switch (op[3] & 0x00)
1371 1.1 christos {
1372 1.1 christos case 0x00:
1373 1.1 christos goto op_semantics_12;
1374 1.1 christos break;
1375 1.1 christos }
1376 1.1 christos break;
1377 1.1 christos case 0x09:
1378 1.1 christos GETBYTE ();
1379 1.1 christos switch (op[3] & 0x00)
1380 1.1 christos {
1381 1.1 christos case 0x00:
1382 1.1 christos goto op_semantics_13;
1383 1.1 christos break;
1384 1.1 christos }
1385 1.1 christos break;
1386 1.1 christos case 0x0c:
1387 1.1 christos GETBYTE ();
1388 1.1 christos switch (op[3] & 0x00)
1389 1.1 christos {
1390 1.1 christos case 0x00:
1391 1.1 christos goto op_semantics_14;
1392 1.1 christos break;
1393 1.1 christos }
1394 1.1 christos break;
1395 1.1 christos case 0x0d:
1396 1.1 christos GETBYTE ();
1397 1.1 christos switch (op[3] & 0x00)
1398 1.1 christos {
1399 1.1 christos case 0x00:
1400 1.1 christos goto op_semantics_15;
1401 1.1 christos break;
1402 1.1 christos }
1403 1.1 christos break;
1404 1.1 christos case 0x10:
1405 1.1 christos GETBYTE ();
1406 1.1 christos switch (op[3] & 0x00)
1407 1.1 christos {
1408 1.1 christos case 0x00:
1409 1.1 christos goto op_semantics_16;
1410 1.1 christos break;
1411 1.1 christos }
1412 1.1 christos break;
1413 1.1 christos case 0x11:
1414 1.1 christos GETBYTE ();
1415 1.1 christos switch (op[3] & 0x00)
1416 1.1 christos {
1417 1.1 christos case 0x00:
1418 1.1 christos goto op_semantics_17;
1419 1.1 christos break;
1420 1.1 christos }
1421 1.1 christos break;
1422 1.1.1.3 christos case 0x15:
1423 1.1.1.3 christos GETBYTE ();
1424 1.1.1.3 christos switch (op[3] & 0x00)
1425 1.1.1.3 christos {
1426 1.1.1.3 christos case 0x00:
1427 1.1.1.3 christos goto op_semantics_18;
1428 1.1.1.3 christos break;
1429 1.1.1.3 christos }
1430 1.1.1.3 christos break;
1431 1.1 christos default: UNSUPPORTED(); break;
1432 1.1 christos }
1433 1.1 christos break;
1434 1.1 christos case 0x23:
1435 1.1 christos GETBYTE ();
1436 1.1 christos switch (op[2] & 0xff)
1437 1.1 christos {
1438 1.1 christos case 0x00:
1439 1.1 christos GETBYTE ();
1440 1.1 christos switch (op[3] & 0x00)
1441 1.1 christos {
1442 1.1 christos case 0x00:
1443 1.1 christos goto op_semantics_7;
1444 1.1 christos break;
1445 1.1 christos }
1446 1.1 christos break;
1447 1.1 christos case 0x04:
1448 1.1 christos GETBYTE ();
1449 1.1 christos switch (op[3] & 0x00)
1450 1.1 christos {
1451 1.1 christos case 0x00:
1452 1.1 christos goto op_semantics_8;
1453 1.1 christos break;
1454 1.1 christos }
1455 1.1 christos break;
1456 1.1 christos case 0x05:
1457 1.1 christos GETBYTE ();
1458 1.1 christos switch (op[3] & 0x00)
1459 1.1 christos {
1460 1.1 christos case 0x00:
1461 1.1 christos goto op_semantics_9;
1462 1.1 christos break;
1463 1.1 christos }
1464 1.1 christos break;
1465 1.1 christos case 0x06:
1466 1.1 christos GETBYTE ();
1467 1.1 christos switch (op[3] & 0x00)
1468 1.1 christos {
1469 1.1 christos case 0x00:
1470 1.1 christos goto op_semantics_10;
1471 1.1 christos break;
1472 1.1 christos }
1473 1.1 christos break;
1474 1.1 christos case 0x07:
1475 1.1 christos GETBYTE ();
1476 1.1 christos switch (op[3] & 0x00)
1477 1.1 christos {
1478 1.1 christos case 0x00:
1479 1.1 christos goto op_semantics_11;
1480 1.1 christos break;
1481 1.1 christos }
1482 1.1 christos break;
1483 1.1 christos case 0x08:
1484 1.1 christos GETBYTE ();
1485 1.1 christos switch (op[3] & 0x00)
1486 1.1 christos {
1487 1.1 christos case 0x00:
1488 1.1 christos goto op_semantics_12;
1489 1.1 christos break;
1490 1.1 christos }
1491 1.1 christos break;
1492 1.1 christos case 0x09:
1493 1.1 christos GETBYTE ();
1494 1.1 christos switch (op[3] & 0x00)
1495 1.1 christos {
1496 1.1 christos case 0x00:
1497 1.1 christos goto op_semantics_13;
1498 1.1 christos break;
1499 1.1 christos }
1500 1.1 christos break;
1501 1.1 christos case 0x0c:
1502 1.1 christos GETBYTE ();
1503 1.1 christos switch (op[3] & 0x00)
1504 1.1 christos {
1505 1.1 christos case 0x00:
1506 1.1 christos goto op_semantics_14;
1507 1.1 christos break;
1508 1.1 christos }
1509 1.1 christos break;
1510 1.1 christos case 0x0d:
1511 1.1 christos GETBYTE ();
1512 1.1 christos switch (op[3] & 0x00)
1513 1.1 christos {
1514 1.1 christos case 0x00:
1515 1.1 christos goto op_semantics_15;
1516 1.1 christos break;
1517 1.1 christos }
1518 1.1 christos break;
1519 1.1 christos case 0x10:
1520 1.1 christos GETBYTE ();
1521 1.1 christos switch (op[3] & 0x00)
1522 1.1 christos {
1523 1.1 christos case 0x00:
1524 1.1 christos goto op_semantics_16;
1525 1.1 christos break;
1526 1.1 christos }
1527 1.1 christos break;
1528 1.1 christos case 0x11:
1529 1.1 christos GETBYTE ();
1530 1.1 christos switch (op[3] & 0x00)
1531 1.1 christos {
1532 1.1 christos case 0x00:
1533 1.1 christos goto op_semantics_17;
1534 1.1 christos break;
1535 1.1 christos }
1536 1.1 christos break;
1537 1.1.1.3 christos case 0x15:
1538 1.1.1.3 christos GETBYTE ();
1539 1.1.1.3 christos switch (op[3] & 0x00)
1540 1.1.1.3 christos {
1541 1.1.1.3 christos case 0x00:
1542 1.1.1.3 christos goto op_semantics_18;
1543 1.1.1.3 christos break;
1544 1.1.1.3 christos }
1545 1.1.1.3 christos break;
1546 1.1 christos default: UNSUPPORTED(); break;
1547 1.1 christos }
1548 1.1 christos break;
1549 1.1 christos case 0x40:
1550 1.1 christos GETBYTE ();
1551 1.1 christos switch (op[2] & 0x00)
1552 1.1 christos {
1553 1.1 christos case 0x00:
1554 1.1 christos goto op_semantics_1;
1555 1.1 christos break;
1556 1.1 christos }
1557 1.1 christos break;
1558 1.1 christos case 0x41:
1559 1.1 christos GETBYTE ();
1560 1.1 christos switch (op[2] & 0x00)
1561 1.1 christos {
1562 1.1 christos case 0x00:
1563 1.1 christos goto op_semantics_1;
1564 1.1 christos break;
1565 1.1 christos }
1566 1.1 christos break;
1567 1.1 christos case 0x42:
1568 1.1 christos GETBYTE ();
1569 1.1 christos switch (op[2] & 0x00)
1570 1.1 christos {
1571 1.1 christos case 0x00:
1572 1.1 christos goto op_semantics_1;
1573 1.1 christos break;
1574 1.1 christos }
1575 1.1 christos break;
1576 1.1 christos case 0x43:
1577 1.1 christos GETBYTE ();
1578 1.1 christos switch (op[2] & 0x00)
1579 1.1 christos {
1580 1.1 christos case 0x00:
1581 1.1 christos goto op_semantics_1;
1582 1.1 christos break;
1583 1.1 christos }
1584 1.1 christos break;
1585 1.1 christos case 0x44:
1586 1.1 christos GETBYTE ();
1587 1.1 christos switch (op[2] & 0x00)
1588 1.1 christos {
1589 1.1 christos case 0x00:
1590 1.1 christos goto op_semantics_2;
1591 1.1 christos break;
1592 1.1 christos }
1593 1.1 christos break;
1594 1.1 christos case 0x45:
1595 1.1 christos GETBYTE ();
1596 1.1 christos switch (op[2] & 0x00)
1597 1.1 christos {
1598 1.1 christos case 0x00:
1599 1.1 christos goto op_semantics_2;
1600 1.1 christos break;
1601 1.1 christos }
1602 1.1 christos break;
1603 1.1 christos case 0x46:
1604 1.1 christos GETBYTE ();
1605 1.1 christos switch (op[2] & 0x00)
1606 1.1 christos {
1607 1.1 christos case 0x00:
1608 1.1 christos goto op_semantics_2;
1609 1.1 christos break;
1610 1.1 christos }
1611 1.1 christos break;
1612 1.1 christos case 0x47:
1613 1.1 christos GETBYTE ();
1614 1.1 christos switch (op[2] & 0x00)
1615 1.1 christos {
1616 1.1 christos case 0x00:
1617 1.1 christos goto op_semantics_2;
1618 1.1 christos break;
1619 1.1 christos }
1620 1.1 christos break;
1621 1.1 christos case 0x48:
1622 1.1 christos GETBYTE ();
1623 1.1 christos switch (op[2] & 0x00)
1624 1.1 christos {
1625 1.1 christos case 0x00:
1626 1.1 christos goto op_semantics_3;
1627 1.1 christos break;
1628 1.1 christos }
1629 1.1 christos break;
1630 1.1 christos case 0x49:
1631 1.1 christos GETBYTE ();
1632 1.1 christos switch (op[2] & 0x00)
1633 1.1 christos {
1634 1.1 christos case 0x00:
1635 1.1 christos goto op_semantics_3;
1636 1.1 christos break;
1637 1.1 christos }
1638 1.1 christos break;
1639 1.1 christos case 0x4a:
1640 1.1 christos GETBYTE ();
1641 1.1 christos switch (op[2] & 0x00)
1642 1.1 christos {
1643 1.1 christos case 0x00:
1644 1.1 christos goto op_semantics_3;
1645 1.1 christos break;
1646 1.1 christos }
1647 1.1 christos break;
1648 1.1 christos case 0x4b:
1649 1.1 christos GETBYTE ();
1650 1.1 christos switch (op[2] & 0x00)
1651 1.1 christos {
1652 1.1 christos case 0x00:
1653 1.1 christos goto op_semantics_3;
1654 1.1 christos break;
1655 1.1 christos }
1656 1.1 christos break;
1657 1.1 christos case 0x4c:
1658 1.1 christos GETBYTE ();
1659 1.1 christos switch (op[2] & 0x00)
1660 1.1 christos {
1661 1.1 christos case 0x00:
1662 1.1 christos goto op_semantics_4;
1663 1.1 christos break;
1664 1.1 christos }
1665 1.1 christos break;
1666 1.1 christos case 0x4d:
1667 1.1 christos GETBYTE ();
1668 1.1 christos switch (op[2] & 0x00)
1669 1.1 christos {
1670 1.1 christos case 0x00:
1671 1.1 christos goto op_semantics_4;
1672 1.1 christos break;
1673 1.1 christos }
1674 1.1 christos break;
1675 1.1 christos case 0x4e:
1676 1.1 christos GETBYTE ();
1677 1.1 christos switch (op[2] & 0x00)
1678 1.1 christos {
1679 1.1 christos case 0x00:
1680 1.1 christos goto op_semantics_4;
1681 1.1 christos break;
1682 1.1 christos }
1683 1.1 christos break;
1684 1.1 christos case 0x4f:
1685 1.1 christos GETBYTE ();
1686 1.1 christos switch (op[2] & 0x00)
1687 1.1 christos {
1688 1.1 christos case 0x00:
1689 1.1 christos goto op_semantics_4;
1690 1.1 christos break;
1691 1.1 christos }
1692 1.1 christos break;
1693 1.1 christos case 0x50:
1694 1.1 christos GETBYTE ();
1695 1.1 christos switch (op[2] & 0x00)
1696 1.1 christos {
1697 1.1 christos case 0x00:
1698 1.1 christos goto op_semantics_5;
1699 1.1 christos break;
1700 1.1 christos }
1701 1.1 christos break;
1702 1.1 christos case 0x51:
1703 1.1 christos GETBYTE ();
1704 1.1 christos switch (op[2] & 0x00)
1705 1.1 christos {
1706 1.1 christos case 0x00:
1707 1.1 christos goto op_semantics_5;
1708 1.1 christos break;
1709 1.1 christos }
1710 1.1 christos break;
1711 1.1 christos case 0x52:
1712 1.1 christos GETBYTE ();
1713 1.1 christos switch (op[2] & 0x00)
1714 1.1 christos {
1715 1.1 christos case 0x00:
1716 1.1 christos goto op_semantics_5;
1717 1.1 christos break;
1718 1.1 christos }
1719 1.1 christos break;
1720 1.1 christos case 0x53:
1721 1.1 christos GETBYTE ();
1722 1.1 christos switch (op[2] & 0x00)
1723 1.1 christos {
1724 1.1 christos case 0x00:
1725 1.1 christos goto op_semantics_5;
1726 1.1 christos break;
1727 1.1 christos }
1728 1.1 christos break;
1729 1.1 christos case 0x54:
1730 1.1 christos GETBYTE ();
1731 1.1 christos switch (op[2] & 0x00)
1732 1.1 christos {
1733 1.1 christos case 0x00:
1734 1.1 christos goto op_semantics_6;
1735 1.1 christos break;
1736 1.1 christos }
1737 1.1 christos break;
1738 1.1 christos case 0x55:
1739 1.1 christos GETBYTE ();
1740 1.1 christos switch (op[2] & 0x00)
1741 1.1 christos {
1742 1.1 christos case 0x00:
1743 1.1 christos goto op_semantics_6;
1744 1.1 christos break;
1745 1.1 christos }
1746 1.1 christos break;
1747 1.1 christos case 0x56:
1748 1.1 christos GETBYTE ();
1749 1.1 christos switch (op[2] & 0x00)
1750 1.1 christos {
1751 1.1 christos case 0x00:
1752 1.1 christos goto op_semantics_6;
1753 1.1 christos break;
1754 1.1 christos }
1755 1.1 christos break;
1756 1.1 christos case 0x57:
1757 1.1 christos GETBYTE ();
1758 1.1 christos switch (op[2] & 0x00)
1759 1.1 christos {
1760 1.1 christos case 0x00:
1761 1.1 christos goto op_semantics_6;
1762 1.1 christos break;
1763 1.1 christos }
1764 1.1 christos break;
1765 1.1 christos case 0x60:
1766 1.1 christos GETBYTE ();
1767 1.1 christos switch (op[2] & 0xff)
1768 1.1 christos {
1769 1.1 christos case 0x00:
1770 1.1 christos GETBYTE ();
1771 1.1 christos switch (op[3] & 0x00)
1772 1.1 christos {
1773 1.1 christos case 0x00:
1774 1.1 christos goto op_semantics_7;
1775 1.1 christos break;
1776 1.1 christos }
1777 1.1 christos break;
1778 1.1 christos case 0x04:
1779 1.1 christos GETBYTE ();
1780 1.1 christos switch (op[3] & 0x00)
1781 1.1 christos {
1782 1.1 christos case 0x00:
1783 1.1 christos goto op_semantics_8;
1784 1.1 christos break;
1785 1.1 christos }
1786 1.1 christos break;
1787 1.1 christos case 0x05:
1788 1.1 christos GETBYTE ();
1789 1.1 christos switch (op[3] & 0x00)
1790 1.1 christos {
1791 1.1 christos case 0x00:
1792 1.1 christos goto op_semantics_9;
1793 1.1 christos break;
1794 1.1 christos }
1795 1.1 christos break;
1796 1.1 christos case 0x06:
1797 1.1 christos GETBYTE ();
1798 1.1 christos switch (op[3] & 0x00)
1799 1.1 christos {
1800 1.1 christos case 0x00:
1801 1.1 christos goto op_semantics_10;
1802 1.1 christos break;
1803 1.1 christos }
1804 1.1 christos break;
1805 1.1 christos case 0x07:
1806 1.1 christos GETBYTE ();
1807 1.1 christos switch (op[3] & 0x00)
1808 1.1 christos {
1809 1.1 christos case 0x00:
1810 1.1 christos goto op_semantics_11;
1811 1.1 christos break;
1812 1.1 christos }
1813 1.1 christos break;
1814 1.1 christos case 0x08:
1815 1.1 christos GETBYTE ();
1816 1.1 christos switch (op[3] & 0x00)
1817 1.1 christos {
1818 1.1 christos case 0x00:
1819 1.1 christos goto op_semantics_12;
1820 1.1 christos break;
1821 1.1 christos }
1822 1.1 christos break;
1823 1.1 christos case 0x09:
1824 1.1 christos GETBYTE ();
1825 1.1 christos switch (op[3] & 0x00)
1826 1.1 christos {
1827 1.1 christos case 0x00:
1828 1.1 christos goto op_semantics_13;
1829 1.1 christos break;
1830 1.1 christos }
1831 1.1 christos break;
1832 1.1 christos case 0x0c:
1833 1.1 christos GETBYTE ();
1834 1.1 christos switch (op[3] & 0x00)
1835 1.1 christos {
1836 1.1 christos case 0x00:
1837 1.1 christos goto op_semantics_14;
1838 1.1 christos break;
1839 1.1 christos }
1840 1.1 christos break;
1841 1.1 christos case 0x0d:
1842 1.1 christos GETBYTE ();
1843 1.1 christos switch (op[3] & 0x00)
1844 1.1 christos {
1845 1.1 christos case 0x00:
1846 1.1 christos goto op_semantics_15;
1847 1.1 christos break;
1848 1.1 christos }
1849 1.1 christos break;
1850 1.1 christos case 0x10:
1851 1.1 christos GETBYTE ();
1852 1.1 christos switch (op[3] & 0x00)
1853 1.1 christos {
1854 1.1 christos case 0x00:
1855 1.1 christos goto op_semantics_16;
1856 1.1 christos break;
1857 1.1 christos }
1858 1.1 christos break;
1859 1.1 christos case 0x11:
1860 1.1 christos GETBYTE ();
1861 1.1 christos switch (op[3] & 0x00)
1862 1.1 christos {
1863 1.1 christos case 0x00:
1864 1.1 christos goto op_semantics_17;
1865 1.1 christos break;
1866 1.1 christos }
1867 1.1 christos break;
1868 1.1.1.3 christos case 0x15:
1869 1.1.1.3 christos GETBYTE ();
1870 1.1.1.3 christos switch (op[3] & 0x00)
1871 1.1.1.3 christos {
1872 1.1.1.3 christos case 0x00:
1873 1.1.1.3 christos goto op_semantics_18;
1874 1.1.1.3 christos break;
1875 1.1.1.3 christos }
1876 1.1.1.3 christos break;
1877 1.1 christos default: UNSUPPORTED(); break;
1878 1.1 christos }
1879 1.1 christos break;
1880 1.1 christos case 0x61:
1881 1.1 christos GETBYTE ();
1882 1.1 christos switch (op[2] & 0xff)
1883 1.1 christos {
1884 1.1 christos case 0x00:
1885 1.1 christos GETBYTE ();
1886 1.1 christos switch (op[3] & 0x00)
1887 1.1 christos {
1888 1.1 christos case 0x00:
1889 1.1 christos goto op_semantics_7;
1890 1.1 christos break;
1891 1.1 christos }
1892 1.1 christos break;
1893 1.1 christos case 0x04:
1894 1.1 christos GETBYTE ();
1895 1.1 christos switch (op[3] & 0x00)
1896 1.1 christos {
1897 1.1 christos case 0x00:
1898 1.1 christos goto op_semantics_8;
1899 1.1 christos break;
1900 1.1 christos }
1901 1.1 christos break;
1902 1.1 christos case 0x05:
1903 1.1 christos GETBYTE ();
1904 1.1 christos switch (op[3] & 0x00)
1905 1.1 christos {
1906 1.1 christos case 0x00:
1907 1.1 christos goto op_semantics_9;
1908 1.1 christos break;
1909 1.1 christos }
1910 1.1 christos break;
1911 1.1 christos case 0x06:
1912 1.1 christos GETBYTE ();
1913 1.1 christos switch (op[3] & 0x00)
1914 1.1 christos {
1915 1.1 christos case 0x00:
1916 1.1 christos goto op_semantics_10;
1917 1.1 christos break;
1918 1.1 christos }
1919 1.1 christos break;
1920 1.1 christos case 0x07:
1921 1.1 christos GETBYTE ();
1922 1.1 christos switch (op[3] & 0x00)
1923 1.1 christos {
1924 1.1 christos case 0x00:
1925 1.1 christos goto op_semantics_11;
1926 1.1 christos break;
1927 1.1 christos }
1928 1.1 christos break;
1929 1.1 christos case 0x08:
1930 1.1 christos GETBYTE ();
1931 1.1 christos switch (op[3] & 0x00)
1932 1.1 christos {
1933 1.1 christos case 0x00:
1934 1.1 christos goto op_semantics_12;
1935 1.1 christos break;
1936 1.1 christos }
1937 1.1 christos break;
1938 1.1 christos case 0x09:
1939 1.1 christos GETBYTE ();
1940 1.1 christos switch (op[3] & 0x00)
1941 1.1 christos {
1942 1.1 christos case 0x00:
1943 1.1 christos goto op_semantics_13;
1944 1.1 christos break;
1945 1.1 christos }
1946 1.1 christos break;
1947 1.1 christos case 0x0c:
1948 1.1 christos GETBYTE ();
1949 1.1 christos switch (op[3] & 0x00)
1950 1.1 christos {
1951 1.1 christos case 0x00:
1952 1.1 christos goto op_semantics_14;
1953 1.1 christos break;
1954 1.1 christos }
1955 1.1 christos break;
1956 1.1 christos case 0x0d:
1957 1.1 christos GETBYTE ();
1958 1.1 christos switch (op[3] & 0x00)
1959 1.1 christos {
1960 1.1 christos case 0x00:
1961 1.1 christos goto op_semantics_15;
1962 1.1 christos break;
1963 1.1 christos }
1964 1.1 christos break;
1965 1.1 christos case 0x10:
1966 1.1 christos GETBYTE ();
1967 1.1 christos switch (op[3] & 0x00)
1968 1.1 christos {
1969 1.1 christos case 0x00:
1970 1.1 christos goto op_semantics_16;
1971 1.1 christos break;
1972 1.1 christos }
1973 1.1 christos break;
1974 1.1 christos case 0x11:
1975 1.1 christos GETBYTE ();
1976 1.1 christos switch (op[3] & 0x00)
1977 1.1 christos {
1978 1.1 christos case 0x00:
1979 1.1 christos goto op_semantics_17;
1980 1.1 christos break;
1981 1.1 christos }
1982 1.1 christos break;
1983 1.1.1.3 christos case 0x15:
1984 1.1.1.3 christos GETBYTE ();
1985 1.1.1.3 christos switch (op[3] & 0x00)
1986 1.1.1.3 christos {
1987 1.1.1.3 christos case 0x00:
1988 1.1.1.3 christos goto op_semantics_18;
1989 1.1.1.3 christos break;
1990 1.1.1.3 christos }
1991 1.1.1.3 christos break;
1992 1.1 christos default: UNSUPPORTED(); break;
1993 1.1 christos }
1994 1.1 christos break;
1995 1.1 christos case 0x62:
1996 1.1 christos GETBYTE ();
1997 1.1 christos switch (op[2] & 0xff)
1998 1.1 christos {
1999 1.1 christos case 0x00:
2000 1.1 christos GETBYTE ();
2001 1.1 christos switch (op[3] & 0x00)
2002 1.1 christos {
2003 1.1 christos case 0x00:
2004 1.1 christos goto op_semantics_7;
2005 1.1 christos break;
2006 1.1 christos }
2007 1.1 christos break;
2008 1.1 christos case 0x04:
2009 1.1 christos GETBYTE ();
2010 1.1 christos switch (op[3] & 0x00)
2011 1.1 christos {
2012 1.1 christos case 0x00:
2013 1.1 christos goto op_semantics_8;
2014 1.1 christos break;
2015 1.1 christos }
2016 1.1 christos break;
2017 1.1 christos case 0x05:
2018 1.1 christos GETBYTE ();
2019 1.1 christos switch (op[3] & 0x00)
2020 1.1 christos {
2021 1.1 christos case 0x00:
2022 1.1 christos goto op_semantics_9;
2023 1.1 christos break;
2024 1.1 christos }
2025 1.1 christos break;
2026 1.1 christos case 0x06:
2027 1.1 christos GETBYTE ();
2028 1.1 christos switch (op[3] & 0x00)
2029 1.1 christos {
2030 1.1 christos case 0x00:
2031 1.1 christos goto op_semantics_10;
2032 1.1 christos break;
2033 1.1 christos }
2034 1.1 christos break;
2035 1.1 christos case 0x07:
2036 1.1 christos GETBYTE ();
2037 1.1 christos switch (op[3] & 0x00)
2038 1.1 christos {
2039 1.1 christos case 0x00:
2040 1.1 christos goto op_semantics_11;
2041 1.1 christos break;
2042 1.1 christos }
2043 1.1 christos break;
2044 1.1 christos case 0x08:
2045 1.1 christos GETBYTE ();
2046 1.1 christos switch (op[3] & 0x00)
2047 1.1 christos {
2048 1.1 christos case 0x00:
2049 1.1 christos goto op_semantics_12;
2050 1.1 christos break;
2051 1.1 christos }
2052 1.1 christos break;
2053 1.1 christos case 0x09:
2054 1.1 christos GETBYTE ();
2055 1.1 christos switch (op[3] & 0x00)
2056 1.1 christos {
2057 1.1 christos case 0x00:
2058 1.1 christos goto op_semantics_13;
2059 1.1 christos break;
2060 1.1 christos }
2061 1.1 christos break;
2062 1.1 christos case 0x0c:
2063 1.1 christos GETBYTE ();
2064 1.1 christos switch (op[3] & 0x00)
2065 1.1 christos {
2066 1.1 christos case 0x00:
2067 1.1 christos goto op_semantics_14;
2068 1.1 christos break;
2069 1.1 christos }
2070 1.1 christos break;
2071 1.1 christos case 0x0d:
2072 1.1 christos GETBYTE ();
2073 1.1 christos switch (op[3] & 0x00)
2074 1.1 christos {
2075 1.1 christos case 0x00:
2076 1.1 christos goto op_semantics_15;
2077 1.1 christos break;
2078 1.1 christos }
2079 1.1 christos break;
2080 1.1 christos case 0x10:
2081 1.1 christos GETBYTE ();
2082 1.1 christos switch (op[3] & 0x00)
2083 1.1 christos {
2084 1.1 christos case 0x00:
2085 1.1 christos goto op_semantics_16;
2086 1.1 christos break;
2087 1.1 christos }
2088 1.1 christos break;
2089 1.1 christos case 0x11:
2090 1.1 christos GETBYTE ();
2091 1.1 christos switch (op[3] & 0x00)
2092 1.1 christos {
2093 1.1 christos case 0x00:
2094 1.1 christos goto op_semantics_17;
2095 1.1 christos break;
2096 1.1 christos }
2097 1.1 christos break;
2098 1.1.1.3 christos case 0x15:
2099 1.1.1.3 christos GETBYTE ();
2100 1.1.1.3 christos switch (op[3] & 0x00)
2101 1.1.1.3 christos {
2102 1.1.1.3 christos case 0x00:
2103 1.1.1.3 christos goto op_semantics_18;
2104 1.1.1.3 christos break;
2105 1.1.1.3 christos }
2106 1.1.1.3 christos break;
2107 1.1 christos default: UNSUPPORTED(); break;
2108 1.1 christos }
2109 1.1 christos break;
2110 1.1 christos case 0x63:
2111 1.1 christos GETBYTE ();
2112 1.1 christos switch (op[2] & 0xff)
2113 1.1 christos {
2114 1.1 christos case 0x00:
2115 1.1 christos GETBYTE ();
2116 1.1 christos switch (op[3] & 0x00)
2117 1.1 christos {
2118 1.1 christos case 0x00:
2119 1.1 christos goto op_semantics_7;
2120 1.1 christos break;
2121 1.1 christos }
2122 1.1 christos break;
2123 1.1 christos case 0x04:
2124 1.1 christos GETBYTE ();
2125 1.1 christos switch (op[3] & 0x00)
2126 1.1 christos {
2127 1.1 christos case 0x00:
2128 1.1 christos goto op_semantics_8;
2129 1.1 christos break;
2130 1.1 christos }
2131 1.1 christos break;
2132 1.1 christos case 0x05:
2133 1.1 christos GETBYTE ();
2134 1.1 christos switch (op[3] & 0x00)
2135 1.1 christos {
2136 1.1 christos case 0x00:
2137 1.1 christos goto op_semantics_9;
2138 1.1 christos break;
2139 1.1 christos }
2140 1.1 christos break;
2141 1.1 christos case 0x06:
2142 1.1 christos GETBYTE ();
2143 1.1 christos switch (op[3] & 0x00)
2144 1.1 christos {
2145 1.1 christos case 0x00:
2146 1.1 christos goto op_semantics_10;
2147 1.1 christos break;
2148 1.1 christos }
2149 1.1 christos break;
2150 1.1 christos case 0x07:
2151 1.1 christos GETBYTE ();
2152 1.1 christos switch (op[3] & 0x00)
2153 1.1 christos {
2154 1.1 christos case 0x00:
2155 1.1 christos goto op_semantics_11;
2156 1.1 christos break;
2157 1.1 christos }
2158 1.1 christos break;
2159 1.1 christos case 0x08:
2160 1.1 christos GETBYTE ();
2161 1.1 christos switch (op[3] & 0x00)
2162 1.1 christos {
2163 1.1 christos case 0x00:
2164 1.1 christos goto op_semantics_12;
2165 1.1 christos break;
2166 1.1 christos }
2167 1.1 christos break;
2168 1.1 christos case 0x09:
2169 1.1 christos GETBYTE ();
2170 1.1 christos switch (op[3] & 0x00)
2171 1.1 christos {
2172 1.1 christos case 0x00:
2173 1.1 christos goto op_semantics_13;
2174 1.1 christos break;
2175 1.1 christos }
2176 1.1 christos break;
2177 1.1 christos case 0x0c:
2178 1.1 christos GETBYTE ();
2179 1.1 christos switch (op[3] & 0x00)
2180 1.1 christos {
2181 1.1 christos case 0x00:
2182 1.1 christos goto op_semantics_14;
2183 1.1 christos break;
2184 1.1 christos }
2185 1.1 christos break;
2186 1.1 christos case 0x0d:
2187 1.1 christos GETBYTE ();
2188 1.1 christos switch (op[3] & 0x00)
2189 1.1 christos {
2190 1.1 christos case 0x00:
2191 1.1 christos goto op_semantics_15;
2192 1.1 christos break;
2193 1.1 christos }
2194 1.1 christos break;
2195 1.1 christos case 0x10:
2196 1.1 christos GETBYTE ();
2197 1.1 christos switch (op[3] & 0x00)
2198 1.1 christos {
2199 1.1 christos case 0x00:
2200 1.1 christos goto op_semantics_16;
2201 1.1 christos break;
2202 1.1 christos }
2203 1.1 christos break;
2204 1.1 christos case 0x11:
2205 1.1 christos GETBYTE ();
2206 1.1 christos switch (op[3] & 0x00)
2207 1.1 christos {
2208 1.1 christos case 0x00:
2209 1.1 christos goto op_semantics_17;
2210 1.1 christos break;
2211 1.1 christos }
2212 1.1 christos break;
2213 1.1.1.3 christos case 0x15:
2214 1.1.1.3 christos GETBYTE ();
2215 1.1.1.3 christos switch (op[3] & 0x00)
2216 1.1.1.3 christos {
2217 1.1.1.3 christos case 0x00:
2218 1.1.1.3 christos goto op_semantics_18;
2219 1.1.1.3 christos break;
2220 1.1.1.3 christos }
2221 1.1.1.3 christos break;
2222 1.1 christos default: UNSUPPORTED(); break;
2223 1.1 christos }
2224 1.1 christos break;
2225 1.1 christos case 0x80:
2226 1.1 christos GETBYTE ();
2227 1.1 christos switch (op[2] & 0x00)
2228 1.1 christos {
2229 1.1 christos case 0x00:
2230 1.1 christos goto op_semantics_1;
2231 1.1 christos break;
2232 1.1 christos }
2233 1.1 christos break;
2234 1.1 christos case 0x81:
2235 1.1 christos GETBYTE ();
2236 1.1 christos switch (op[2] & 0x00)
2237 1.1 christos {
2238 1.1 christos case 0x00:
2239 1.1 christos goto op_semantics_1;
2240 1.1 christos break;
2241 1.1 christos }
2242 1.1 christos break;
2243 1.1 christos case 0x82:
2244 1.1 christos GETBYTE ();
2245 1.1 christos switch (op[2] & 0x00)
2246 1.1 christos {
2247 1.1 christos case 0x00:
2248 1.1 christos goto op_semantics_1;
2249 1.1 christos break;
2250 1.1 christos }
2251 1.1 christos break;
2252 1.1 christos case 0x83:
2253 1.1 christos GETBYTE ();
2254 1.1 christos switch (op[2] & 0x00)
2255 1.1 christos {
2256 1.1 christos case 0x00:
2257 1.1 christos goto op_semantics_1;
2258 1.1 christos break;
2259 1.1 christos }
2260 1.1 christos break;
2261 1.1 christos case 0x84:
2262 1.1 christos GETBYTE ();
2263 1.1 christos switch (op[2] & 0x00)
2264 1.1 christos {
2265 1.1 christos case 0x00:
2266 1.1 christos goto op_semantics_2;
2267 1.1 christos break;
2268 1.1 christos }
2269 1.1 christos break;
2270 1.1 christos case 0x85:
2271 1.1 christos GETBYTE ();
2272 1.1 christos switch (op[2] & 0x00)
2273 1.1 christos {
2274 1.1 christos case 0x00:
2275 1.1 christos goto op_semantics_2;
2276 1.1 christos break;
2277 1.1 christos }
2278 1.1 christos break;
2279 1.1 christos case 0x86:
2280 1.1 christos GETBYTE ();
2281 1.1 christos switch (op[2] & 0x00)
2282 1.1 christos {
2283 1.1 christos case 0x00:
2284 1.1 christos goto op_semantics_2;
2285 1.1 christos break;
2286 1.1 christos }
2287 1.1 christos break;
2288 1.1 christos case 0x87:
2289 1.1 christos GETBYTE ();
2290 1.1 christos switch (op[2] & 0x00)
2291 1.1 christos {
2292 1.1 christos case 0x00:
2293 1.1 christos goto op_semantics_2;
2294 1.1 christos break;
2295 1.1 christos }
2296 1.1 christos break;
2297 1.1 christos case 0x88:
2298 1.1 christos GETBYTE ();
2299 1.1 christos switch (op[2] & 0x00)
2300 1.1 christos {
2301 1.1 christos case 0x00:
2302 1.1 christos goto op_semantics_3;
2303 1.1 christos break;
2304 1.1 christos }
2305 1.1 christos break;
2306 1.1 christos case 0x89:
2307 1.1 christos GETBYTE ();
2308 1.1 christos switch (op[2] & 0x00)
2309 1.1 christos {
2310 1.1 christos case 0x00:
2311 1.1 christos goto op_semantics_3;
2312 1.1 christos break;
2313 1.1 christos }
2314 1.1 christos break;
2315 1.1 christos case 0x8a:
2316 1.1 christos GETBYTE ();
2317 1.1 christos switch (op[2] & 0x00)
2318 1.1 christos {
2319 1.1 christos case 0x00:
2320 1.1 christos goto op_semantics_3;
2321 1.1 christos break;
2322 1.1 christos }
2323 1.1 christos break;
2324 1.1 christos case 0x8b:
2325 1.1 christos GETBYTE ();
2326 1.1 christos switch (op[2] & 0x00)
2327 1.1 christos {
2328 1.1 christos case 0x00:
2329 1.1 christos goto op_semantics_3;
2330 1.1 christos break;
2331 1.1 christos }
2332 1.1 christos break;
2333 1.1 christos case 0x8c:
2334 1.1 christos GETBYTE ();
2335 1.1 christos switch (op[2] & 0x00)
2336 1.1 christos {
2337 1.1 christos case 0x00:
2338 1.1 christos goto op_semantics_4;
2339 1.1 christos break;
2340 1.1 christos }
2341 1.1 christos break;
2342 1.1 christos case 0x8d:
2343 1.1 christos GETBYTE ();
2344 1.1 christos switch (op[2] & 0x00)
2345 1.1 christos {
2346 1.1 christos case 0x00:
2347 1.1 christos goto op_semantics_4;
2348 1.1 christos break;
2349 1.1 christos }
2350 1.1 christos break;
2351 1.1 christos case 0x8e:
2352 1.1 christos GETBYTE ();
2353 1.1 christos switch (op[2] & 0x00)
2354 1.1 christos {
2355 1.1 christos case 0x00:
2356 1.1 christos goto op_semantics_4;
2357 1.1 christos break;
2358 1.1 christos }
2359 1.1 christos break;
2360 1.1 christos case 0x8f:
2361 1.1 christos GETBYTE ();
2362 1.1 christos switch (op[2] & 0x00)
2363 1.1 christos {
2364 1.1 christos case 0x00:
2365 1.1 christos goto op_semantics_4;
2366 1.1 christos break;
2367 1.1 christos }
2368 1.1 christos break;
2369 1.1 christos case 0x90:
2370 1.1 christos GETBYTE ();
2371 1.1 christos switch (op[2] & 0x00)
2372 1.1 christos {
2373 1.1 christos case 0x00:
2374 1.1 christos goto op_semantics_5;
2375 1.1 christos break;
2376 1.1 christos }
2377 1.1 christos break;
2378 1.1 christos case 0x91:
2379 1.1 christos GETBYTE ();
2380 1.1 christos switch (op[2] & 0x00)
2381 1.1 christos {
2382 1.1 christos case 0x00:
2383 1.1 christos goto op_semantics_5;
2384 1.1 christos break;
2385 1.1 christos }
2386 1.1 christos break;
2387 1.1 christos case 0x92:
2388 1.1 christos GETBYTE ();
2389 1.1 christos switch (op[2] & 0x00)
2390 1.1 christos {
2391 1.1 christos case 0x00:
2392 1.1 christos goto op_semantics_5;
2393 1.1 christos break;
2394 1.1 christos }
2395 1.1 christos break;
2396 1.1 christos case 0x93:
2397 1.1 christos GETBYTE ();
2398 1.1 christos switch (op[2] & 0x00)
2399 1.1 christos {
2400 1.1 christos case 0x00:
2401 1.1 christos goto op_semantics_5;
2402 1.1 christos break;
2403 1.1 christos }
2404 1.1 christos break;
2405 1.1 christos case 0x94:
2406 1.1 christos GETBYTE ();
2407 1.1 christos switch (op[2] & 0x00)
2408 1.1 christos {
2409 1.1 christos case 0x00:
2410 1.1 christos goto op_semantics_6;
2411 1.1 christos break;
2412 1.1 christos }
2413 1.1 christos break;
2414 1.1 christos case 0x95:
2415 1.1 christos GETBYTE ();
2416 1.1 christos switch (op[2] & 0x00)
2417 1.1 christos {
2418 1.1 christos case 0x00:
2419 1.1 christos goto op_semantics_6;
2420 1.1 christos break;
2421 1.1 christos }
2422 1.1 christos break;
2423 1.1 christos case 0x96:
2424 1.1 christos GETBYTE ();
2425 1.1 christos switch (op[2] & 0x00)
2426 1.1 christos {
2427 1.1 christos case 0x00:
2428 1.1 christos goto op_semantics_6;
2429 1.1 christos break;
2430 1.1 christos }
2431 1.1 christos break;
2432 1.1 christos case 0x97:
2433 1.1 christos GETBYTE ();
2434 1.1 christos switch (op[2] & 0x00)
2435 1.1 christos {
2436 1.1 christos case 0x00:
2437 1.1 christos goto op_semantics_6;
2438 1.1 christos break;
2439 1.1 christos }
2440 1.1 christos break;
2441 1.1 christos case 0xa0:
2442 1.1 christos GETBYTE ();
2443 1.1 christos switch (op[2] & 0xff)
2444 1.1 christos {
2445 1.1 christos case 0x00:
2446 1.1 christos GETBYTE ();
2447 1.1 christos switch (op[3] & 0x00)
2448 1.1 christos {
2449 1.1 christos case 0x00:
2450 1.1 christos goto op_semantics_7;
2451 1.1 christos break;
2452 1.1 christos }
2453 1.1 christos break;
2454 1.1 christos case 0x02:
2455 1.1 christos GETBYTE ();
2456 1.1 christos switch (op[3] & 0x00)
2457 1.1 christos {
2458 1.1 christos case 0x00:
2459 1.1.1.3 christos op_semantics_19:
2460 1.1 christos {
2461 1.1 christos /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
2462 1.1.1.2 christos #line 494 "rx-decode.opc"
2463 1.1 christos int ss AU = op[1] & 0x03;
2464 1.1.1.2 christos #line 494 "rx-decode.opc"
2465 1.1 christos int rsrc AU = (op[3] >> 4) & 0x0f;
2466 1.1.1.2 christos #line 494 "rx-decode.opc"
2467 1.1 christos int rdst AU = op[3] & 0x0f;
2468 1.1 christos if (trace)
2469 1.1 christos {
2470 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
2471 1.1 christos "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
2472 1.1 christos op[0], op[1], op[2], op[3]);
2473 1.1 christos printf (" ss = 0x%x,", ss);
2474 1.1 christos printf (" rsrc = 0x%x,", rsrc);
2475 1.1 christos printf (" rdst = 0x%x\n", rdst);
2476 1.1 christos }
2477 1.1 christos SYNTAX("adc %1%S1, %0");
2478 1.1.1.2 christos #line 494 "rx-decode.opc"
2479 1.1 christos ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
2480 1.1.1.3 christos
2481 1.1 christos /*----------------------------------------------------------------------*/
2482 1.1 christos /* ADD */
2483 1.1.1.3 christos
2484 1.1 christos }
2485 1.1 christos break;
2486 1.1 christos }
2487 1.1 christos break;
2488 1.1 christos case 0x04:
2489 1.1 christos GETBYTE ();
2490 1.1 christos switch (op[3] & 0x00)
2491 1.1 christos {
2492 1.1 christos case 0x00:
2493 1.1 christos goto op_semantics_8;
2494 1.1 christos break;
2495 1.1 christos }
2496 1.1 christos break;
2497 1.1 christos case 0x05:
2498 1.1 christos GETBYTE ();
2499 1.1 christos switch (op[3] & 0x00)
2500 1.1 christos {
2501 1.1 christos case 0x00:
2502 1.1 christos goto op_semantics_9;
2503 1.1 christos break;
2504 1.1 christos }
2505 1.1 christos break;
2506 1.1 christos case 0x06:
2507 1.1 christos GETBYTE ();
2508 1.1 christos switch (op[3] & 0x00)
2509 1.1 christos {
2510 1.1 christos case 0x00:
2511 1.1 christos goto op_semantics_10;
2512 1.1 christos break;
2513 1.1 christos }
2514 1.1 christos break;
2515 1.1 christos case 0x07:
2516 1.1 christos GETBYTE ();
2517 1.1 christos switch (op[3] & 0x00)
2518 1.1 christos {
2519 1.1 christos case 0x00:
2520 1.1 christos goto op_semantics_11;
2521 1.1 christos break;
2522 1.1 christos }
2523 1.1 christos break;
2524 1.1 christos case 0x08:
2525 1.1 christos GETBYTE ();
2526 1.1 christos switch (op[3] & 0x00)
2527 1.1 christos {
2528 1.1 christos case 0x00:
2529 1.1 christos goto op_semantics_12;
2530 1.1 christos break;
2531 1.1 christos }
2532 1.1 christos break;
2533 1.1 christos case 0x09:
2534 1.1 christos GETBYTE ();
2535 1.1 christos switch (op[3] & 0x00)
2536 1.1 christos {
2537 1.1 christos case 0x00:
2538 1.1 christos goto op_semantics_13;
2539 1.1 christos break;
2540 1.1 christos }
2541 1.1 christos break;
2542 1.1 christos case 0x0c:
2543 1.1 christos GETBYTE ();
2544 1.1 christos switch (op[3] & 0x00)
2545 1.1 christos {
2546 1.1 christos case 0x00:
2547 1.1 christos goto op_semantics_14;
2548 1.1 christos break;
2549 1.1 christos }
2550 1.1 christos break;
2551 1.1 christos case 0x0d:
2552 1.1 christos GETBYTE ();
2553 1.1 christos switch (op[3] & 0x00)
2554 1.1 christos {
2555 1.1 christos case 0x00:
2556 1.1 christos goto op_semantics_15;
2557 1.1 christos break;
2558 1.1 christos }
2559 1.1 christos break;
2560 1.1 christos case 0x10:
2561 1.1 christos GETBYTE ();
2562 1.1 christos switch (op[3] & 0x00)
2563 1.1 christos {
2564 1.1 christos case 0x00:
2565 1.1 christos goto op_semantics_16;
2566 1.1 christos break;
2567 1.1 christos }
2568 1.1 christos break;
2569 1.1 christos case 0x11:
2570 1.1 christos GETBYTE ();
2571 1.1 christos switch (op[3] & 0x00)
2572 1.1 christos {
2573 1.1 christos case 0x00:
2574 1.1 christos goto op_semantics_17;
2575 1.1 christos break;
2576 1.1 christos }
2577 1.1 christos break;
2578 1.1.1.3 christos case 0x15:
2579 1.1.1.3 christos GETBYTE ();
2580 1.1.1.3 christos switch (op[3] & 0x00)
2581 1.1.1.3 christos {
2582 1.1.1.3 christos case 0x00:
2583 1.1.1.3 christos goto op_semantics_18;
2584 1.1.1.3 christos break;
2585 1.1.1.3 christos }
2586 1.1.1.3 christos break;
2587 1.1 christos default: UNSUPPORTED(); break;
2588 1.1 christos }
2589 1.1 christos break;
2590 1.1 christos case 0xa1:
2591 1.1 christos GETBYTE ();
2592 1.1 christos switch (op[2] & 0xff)
2593 1.1 christos {
2594 1.1 christos case 0x00:
2595 1.1 christos GETBYTE ();
2596 1.1 christos switch (op[3] & 0x00)
2597 1.1 christos {
2598 1.1 christos case 0x00:
2599 1.1 christos goto op_semantics_7;
2600 1.1 christos break;
2601 1.1 christos }
2602 1.1 christos break;
2603 1.1 christos case 0x02:
2604 1.1 christos GETBYTE ();
2605 1.1 christos switch (op[3] & 0x00)
2606 1.1 christos {
2607 1.1 christos case 0x00:
2608 1.1.1.3 christos goto op_semantics_19;
2609 1.1 christos break;
2610 1.1 christos }
2611 1.1 christos break;
2612 1.1 christos case 0x04:
2613 1.1 christos GETBYTE ();
2614 1.1 christos switch (op[3] & 0x00)
2615 1.1 christos {
2616 1.1 christos case 0x00:
2617 1.1 christos goto op_semantics_8;
2618 1.1 christos break;
2619 1.1 christos }
2620 1.1 christos break;
2621 1.1 christos case 0x05:
2622 1.1 christos GETBYTE ();
2623 1.1 christos switch (op[3] & 0x00)
2624 1.1 christos {
2625 1.1 christos case 0x00:
2626 1.1 christos goto op_semantics_9;
2627 1.1 christos break;
2628 1.1 christos }
2629 1.1 christos break;
2630 1.1 christos case 0x06:
2631 1.1 christos GETBYTE ();
2632 1.1 christos switch (op[3] & 0x00)
2633 1.1 christos {
2634 1.1 christos case 0x00:
2635 1.1 christos goto op_semantics_10;
2636 1.1 christos break;
2637 1.1 christos }
2638 1.1 christos break;
2639 1.1 christos case 0x07:
2640 1.1 christos GETBYTE ();
2641 1.1 christos switch (op[3] & 0x00)
2642 1.1 christos {
2643 1.1 christos case 0x00:
2644 1.1 christos goto op_semantics_11;
2645 1.1 christos break;
2646 1.1 christos }
2647 1.1 christos break;
2648 1.1 christos case 0x08:
2649 1.1 christos GETBYTE ();
2650 1.1 christos switch (op[3] & 0x00)
2651 1.1 christos {
2652 1.1 christos case 0x00:
2653 1.1 christos goto op_semantics_12;
2654 1.1 christos break;
2655 1.1 christos }
2656 1.1 christos break;
2657 1.1 christos case 0x09:
2658 1.1 christos GETBYTE ();
2659 1.1 christos switch (op[3] & 0x00)
2660 1.1 christos {
2661 1.1 christos case 0x00:
2662 1.1 christos goto op_semantics_13;
2663 1.1 christos break;
2664 1.1 christos }
2665 1.1 christos break;
2666 1.1 christos case 0x0c:
2667 1.1 christos GETBYTE ();
2668 1.1 christos switch (op[3] & 0x00)
2669 1.1 christos {
2670 1.1 christos case 0x00:
2671 1.1 christos goto op_semantics_14;
2672 1.1 christos break;
2673 1.1 christos }
2674 1.1 christos break;
2675 1.1 christos case 0x0d:
2676 1.1 christos GETBYTE ();
2677 1.1 christos switch (op[3] & 0x00)
2678 1.1 christos {
2679 1.1 christos case 0x00:
2680 1.1 christos goto op_semantics_15;
2681 1.1 christos break;
2682 1.1 christos }
2683 1.1 christos break;
2684 1.1 christos case 0x10:
2685 1.1 christos GETBYTE ();
2686 1.1 christos switch (op[3] & 0x00)
2687 1.1 christos {
2688 1.1 christos case 0x00:
2689 1.1 christos goto op_semantics_16;
2690 1.1 christos break;
2691 1.1 christos }
2692 1.1 christos break;
2693 1.1 christos case 0x11:
2694 1.1 christos GETBYTE ();
2695 1.1 christos switch (op[3] & 0x00)
2696 1.1 christos {
2697 1.1 christos case 0x00:
2698 1.1 christos goto op_semantics_17;
2699 1.1 christos break;
2700 1.1 christos }
2701 1.1 christos break;
2702 1.1.1.3 christos case 0x15:
2703 1.1.1.3 christos GETBYTE ();
2704 1.1.1.3 christos switch (op[3] & 0x00)
2705 1.1.1.3 christos {
2706 1.1.1.3 christos case 0x00:
2707 1.1.1.3 christos goto op_semantics_18;
2708 1.1.1.3 christos break;
2709 1.1.1.3 christos }
2710 1.1.1.3 christos break;
2711 1.1 christos default: UNSUPPORTED(); break;
2712 1.1 christos }
2713 1.1 christos break;
2714 1.1 christos case 0xa2:
2715 1.1 christos GETBYTE ();
2716 1.1 christos switch (op[2] & 0xff)
2717 1.1 christos {
2718 1.1 christos case 0x00:
2719 1.1 christos GETBYTE ();
2720 1.1 christos switch (op[3] & 0x00)
2721 1.1 christos {
2722 1.1 christos case 0x00:
2723 1.1 christos goto op_semantics_7;
2724 1.1 christos break;
2725 1.1 christos }
2726 1.1 christos break;
2727 1.1 christos case 0x02:
2728 1.1 christos GETBYTE ();
2729 1.1 christos switch (op[3] & 0x00)
2730 1.1 christos {
2731 1.1 christos case 0x00:
2732 1.1.1.3 christos goto op_semantics_19;
2733 1.1 christos break;
2734 1.1 christos }
2735 1.1 christos break;
2736 1.1 christos case 0x04:
2737 1.1 christos GETBYTE ();
2738 1.1 christos switch (op[3] & 0x00)
2739 1.1 christos {
2740 1.1 christos case 0x00:
2741 1.1 christos goto op_semantics_8;
2742 1.1 christos break;
2743 1.1 christos }
2744 1.1 christos break;
2745 1.1 christos case 0x05:
2746 1.1 christos GETBYTE ();
2747 1.1 christos switch (op[3] & 0x00)
2748 1.1 christos {
2749 1.1 christos case 0x00:
2750 1.1 christos goto op_semantics_9;
2751 1.1 christos break;
2752 1.1 christos }
2753 1.1 christos break;
2754 1.1 christos case 0x06:
2755 1.1 christos GETBYTE ();
2756 1.1 christos switch (op[3] & 0x00)
2757 1.1 christos {
2758 1.1 christos case 0x00:
2759 1.1 christos goto op_semantics_10;
2760 1.1 christos break;
2761 1.1 christos }
2762 1.1 christos break;
2763 1.1 christos case 0x07:
2764 1.1 christos GETBYTE ();
2765 1.1 christos switch (op[3] & 0x00)
2766 1.1 christos {
2767 1.1 christos case 0x00:
2768 1.1 christos goto op_semantics_11;
2769 1.1 christos break;
2770 1.1 christos }
2771 1.1 christos break;
2772 1.1 christos case 0x08:
2773 1.1 christos GETBYTE ();
2774 1.1 christos switch (op[3] & 0x00)
2775 1.1 christos {
2776 1.1 christos case 0x00:
2777 1.1 christos goto op_semantics_12;
2778 1.1 christos break;
2779 1.1 christos }
2780 1.1 christos break;
2781 1.1 christos case 0x09:
2782 1.1 christos GETBYTE ();
2783 1.1 christos switch (op[3] & 0x00)
2784 1.1 christos {
2785 1.1 christos case 0x00:
2786 1.1 christos goto op_semantics_13;
2787 1.1 christos break;
2788 1.1 christos }
2789 1.1 christos break;
2790 1.1 christos case 0x0c:
2791 1.1 christos GETBYTE ();
2792 1.1 christos switch (op[3] & 0x00)
2793 1.1 christos {
2794 1.1 christos case 0x00:
2795 1.1 christos goto op_semantics_14;
2796 1.1 christos break;
2797 1.1 christos }
2798 1.1 christos break;
2799 1.1 christos case 0x0d:
2800 1.1 christos GETBYTE ();
2801 1.1 christos switch (op[3] & 0x00)
2802 1.1 christos {
2803 1.1 christos case 0x00:
2804 1.1 christos goto op_semantics_15;
2805 1.1 christos break;
2806 1.1 christos }
2807 1.1 christos break;
2808 1.1 christos case 0x10:
2809 1.1 christos GETBYTE ();
2810 1.1 christos switch (op[3] & 0x00)
2811 1.1 christos {
2812 1.1 christos case 0x00:
2813 1.1 christos goto op_semantics_16;
2814 1.1 christos break;
2815 1.1 christos }
2816 1.1 christos break;
2817 1.1 christos case 0x11:
2818 1.1 christos GETBYTE ();
2819 1.1 christos switch (op[3] & 0x00)
2820 1.1 christos {
2821 1.1 christos case 0x00:
2822 1.1 christos goto op_semantics_17;
2823 1.1 christos break;
2824 1.1 christos }
2825 1.1 christos break;
2826 1.1.1.3 christos case 0x15:
2827 1.1.1.3 christos GETBYTE ();
2828 1.1.1.3 christos switch (op[3] & 0x00)
2829 1.1.1.3 christos {
2830 1.1.1.3 christos case 0x00:
2831 1.1.1.3 christos goto op_semantics_18;
2832 1.1.1.3 christos break;
2833 1.1.1.3 christos }
2834 1.1.1.3 christos break;
2835 1.1 christos default: UNSUPPORTED(); break;
2836 1.1 christos }
2837 1.1 christos break;
2838 1.1 christos case 0xa3:
2839 1.1 christos GETBYTE ();
2840 1.1 christos switch (op[2] & 0xff)
2841 1.1 christos {
2842 1.1 christos case 0x00:
2843 1.1 christos GETBYTE ();
2844 1.1 christos switch (op[3] & 0x00)
2845 1.1 christos {
2846 1.1 christos case 0x00:
2847 1.1 christos goto op_semantics_7;
2848 1.1 christos break;
2849 1.1 christos }
2850 1.1 christos break;
2851 1.1 christos case 0x02:
2852 1.1 christos GETBYTE ();
2853 1.1 christos switch (op[3] & 0x00)
2854 1.1 christos {
2855 1.1 christos case 0x00:
2856 1.1.1.3 christos goto op_semantics_19;
2857 1.1 christos break;
2858 1.1 christos }
2859 1.1 christos break;
2860 1.1 christos case 0x04:
2861 1.1 christos GETBYTE ();
2862 1.1 christos switch (op[3] & 0x00)
2863 1.1 christos {
2864 1.1 christos case 0x00:
2865 1.1 christos goto op_semantics_8;
2866 1.1 christos break;
2867 1.1 christos }
2868 1.1 christos break;
2869 1.1 christos case 0x05:
2870 1.1 christos GETBYTE ();
2871 1.1 christos switch (op[3] & 0x00)
2872 1.1 christos {
2873 1.1 christos case 0x00:
2874 1.1 christos goto op_semantics_9;
2875 1.1 christos break;
2876 1.1 christos }
2877 1.1 christos break;
2878 1.1 christos case 0x06:
2879 1.1 christos GETBYTE ();
2880 1.1 christos switch (op[3] & 0x00)
2881 1.1 christos {
2882 1.1 christos case 0x00:
2883 1.1 christos goto op_semantics_10;
2884 1.1 christos break;
2885 1.1 christos }
2886 1.1 christos break;
2887 1.1 christos case 0x07:
2888 1.1 christos GETBYTE ();
2889 1.1 christos switch (op[3] & 0x00)
2890 1.1 christos {
2891 1.1 christos case 0x00:
2892 1.1 christos goto op_semantics_11;
2893 1.1 christos break;
2894 1.1 christos }
2895 1.1 christos break;
2896 1.1 christos case 0x08:
2897 1.1 christos GETBYTE ();
2898 1.1 christos switch (op[3] & 0x00)
2899 1.1 christos {
2900 1.1 christos case 0x00:
2901 1.1 christos goto op_semantics_12;
2902 1.1 christos break;
2903 1.1 christos }
2904 1.1 christos break;
2905 1.1 christos case 0x09:
2906 1.1 christos GETBYTE ();
2907 1.1 christos switch (op[3] & 0x00)
2908 1.1 christos {
2909 1.1 christos case 0x00:
2910 1.1 christos goto op_semantics_13;
2911 1.1 christos break;
2912 1.1 christos }
2913 1.1 christos break;
2914 1.1 christos case 0x0c:
2915 1.1 christos GETBYTE ();
2916 1.1 christos switch (op[3] & 0x00)
2917 1.1 christos {
2918 1.1 christos case 0x00:
2919 1.1 christos goto op_semantics_14;
2920 1.1 christos break;
2921 1.1 christos }
2922 1.1 christos break;
2923 1.1 christos case 0x0d:
2924 1.1 christos GETBYTE ();
2925 1.1 christos switch (op[3] & 0x00)
2926 1.1 christos {
2927 1.1 christos case 0x00:
2928 1.1 christos goto op_semantics_15;
2929 1.1 christos break;
2930 1.1 christos }
2931 1.1 christos break;
2932 1.1 christos case 0x10:
2933 1.1 christos GETBYTE ();
2934 1.1 christos switch (op[3] & 0x00)
2935 1.1 christos {
2936 1.1 christos case 0x00:
2937 1.1 christos goto op_semantics_16;
2938 1.1 christos break;
2939 1.1 christos }
2940 1.1 christos break;
2941 1.1 christos case 0x11:
2942 1.1 christos GETBYTE ();
2943 1.1 christos switch (op[3] & 0x00)
2944 1.1 christos {
2945 1.1 christos case 0x00:
2946 1.1 christos goto op_semantics_17;
2947 1.1 christos break;
2948 1.1 christos }
2949 1.1 christos break;
2950 1.1.1.3 christos case 0x15:
2951 1.1.1.3 christos GETBYTE ();
2952 1.1.1.3 christos switch (op[3] & 0x00)
2953 1.1.1.3 christos {
2954 1.1.1.3 christos case 0x00:
2955 1.1.1.3 christos goto op_semantics_18;
2956 1.1.1.3 christos break;
2957 1.1.1.3 christos }
2958 1.1.1.3 christos break;
2959 1.1 christos default: UNSUPPORTED(); break;
2960 1.1 christos }
2961 1.1 christos break;
2962 1.1 christos case 0xc0:
2963 1.1 christos GETBYTE ();
2964 1.1 christos switch (op[2] & 0x00)
2965 1.1 christos {
2966 1.1 christos case 0x00:
2967 1.1 christos goto op_semantics_1;
2968 1.1 christos break;
2969 1.1 christos }
2970 1.1 christos break;
2971 1.1 christos case 0xc1:
2972 1.1 christos GETBYTE ();
2973 1.1 christos switch (op[2] & 0x00)
2974 1.1 christos {
2975 1.1 christos case 0x00:
2976 1.1 christos goto op_semantics_1;
2977 1.1 christos break;
2978 1.1 christos }
2979 1.1 christos break;
2980 1.1 christos case 0xc2:
2981 1.1 christos GETBYTE ();
2982 1.1 christos switch (op[2] & 0x00)
2983 1.1 christos {
2984 1.1 christos case 0x00:
2985 1.1 christos goto op_semantics_1;
2986 1.1 christos break;
2987 1.1 christos }
2988 1.1 christos break;
2989 1.1 christos case 0xc3:
2990 1.1 christos GETBYTE ();
2991 1.1 christos switch (op[2] & 0x00)
2992 1.1 christos {
2993 1.1 christos case 0x00:
2994 1.1 christos goto op_semantics_1;
2995 1.1 christos break;
2996 1.1 christos }
2997 1.1 christos break;
2998 1.1 christos case 0xc4:
2999 1.1 christos GETBYTE ();
3000 1.1 christos switch (op[2] & 0x00)
3001 1.1 christos {
3002 1.1 christos case 0x00:
3003 1.1 christos goto op_semantics_2;
3004 1.1 christos break;
3005 1.1 christos }
3006 1.1 christos break;
3007 1.1 christos case 0xc5:
3008 1.1 christos GETBYTE ();
3009 1.1 christos switch (op[2] & 0x00)
3010 1.1 christos {
3011 1.1 christos case 0x00:
3012 1.1 christos goto op_semantics_2;
3013 1.1 christos break;
3014 1.1 christos }
3015 1.1 christos break;
3016 1.1 christos case 0xc6:
3017 1.1 christos GETBYTE ();
3018 1.1 christos switch (op[2] & 0x00)
3019 1.1 christos {
3020 1.1 christos case 0x00:
3021 1.1 christos goto op_semantics_2;
3022 1.1 christos break;
3023 1.1 christos }
3024 1.1 christos break;
3025 1.1 christos case 0xc7:
3026 1.1 christos GETBYTE ();
3027 1.1 christos switch (op[2] & 0x00)
3028 1.1 christos {
3029 1.1 christos case 0x00:
3030 1.1 christos goto op_semantics_2;
3031 1.1 christos break;
3032 1.1 christos }
3033 1.1 christos break;
3034 1.1 christos case 0xc8:
3035 1.1 christos GETBYTE ();
3036 1.1 christos switch (op[2] & 0x00)
3037 1.1 christos {
3038 1.1 christos case 0x00:
3039 1.1 christos goto op_semantics_3;
3040 1.1 christos break;
3041 1.1 christos }
3042 1.1 christos break;
3043 1.1 christos case 0xc9:
3044 1.1 christos GETBYTE ();
3045 1.1 christos switch (op[2] & 0x00)
3046 1.1 christos {
3047 1.1 christos case 0x00:
3048 1.1 christos goto op_semantics_3;
3049 1.1 christos break;
3050 1.1 christos }
3051 1.1 christos break;
3052 1.1 christos case 0xca:
3053 1.1 christos GETBYTE ();
3054 1.1 christos switch (op[2] & 0x00)
3055 1.1 christos {
3056 1.1 christos case 0x00:
3057 1.1 christos goto op_semantics_3;
3058 1.1 christos break;
3059 1.1 christos }
3060 1.1 christos break;
3061 1.1 christos case 0xcb:
3062 1.1 christos GETBYTE ();
3063 1.1 christos switch (op[2] & 0x00)
3064 1.1 christos {
3065 1.1 christos case 0x00:
3066 1.1 christos goto op_semantics_3;
3067 1.1 christos break;
3068 1.1 christos }
3069 1.1 christos break;
3070 1.1 christos case 0xcc:
3071 1.1 christos GETBYTE ();
3072 1.1 christos switch (op[2] & 0x00)
3073 1.1 christos {
3074 1.1 christos case 0x00:
3075 1.1 christos goto op_semantics_4;
3076 1.1 christos break;
3077 1.1 christos }
3078 1.1 christos break;
3079 1.1 christos case 0xcd:
3080 1.1 christos GETBYTE ();
3081 1.1 christos switch (op[2] & 0x00)
3082 1.1 christos {
3083 1.1 christos case 0x00:
3084 1.1 christos goto op_semantics_4;
3085 1.1 christos break;
3086 1.1 christos }
3087 1.1 christos break;
3088 1.1 christos case 0xce:
3089 1.1 christos GETBYTE ();
3090 1.1 christos switch (op[2] & 0x00)
3091 1.1 christos {
3092 1.1 christos case 0x00:
3093 1.1 christos goto op_semantics_4;
3094 1.1 christos break;
3095 1.1 christos }
3096 1.1 christos break;
3097 1.1 christos case 0xcf:
3098 1.1 christos GETBYTE ();
3099 1.1 christos switch (op[2] & 0x00)
3100 1.1 christos {
3101 1.1 christos case 0x00:
3102 1.1 christos goto op_semantics_4;
3103 1.1 christos break;
3104 1.1 christos }
3105 1.1 christos break;
3106 1.1 christos case 0xd0:
3107 1.1 christos GETBYTE ();
3108 1.1 christos switch (op[2] & 0x00)
3109 1.1 christos {
3110 1.1 christos case 0x00:
3111 1.1 christos goto op_semantics_5;
3112 1.1 christos break;
3113 1.1 christos }
3114 1.1 christos break;
3115 1.1 christos case 0xd1:
3116 1.1 christos GETBYTE ();
3117 1.1 christos switch (op[2] & 0x00)
3118 1.1 christos {
3119 1.1 christos case 0x00:
3120 1.1 christos goto op_semantics_5;
3121 1.1 christos break;
3122 1.1 christos }
3123 1.1 christos break;
3124 1.1 christos case 0xd2:
3125 1.1 christos GETBYTE ();
3126 1.1 christos switch (op[2] & 0x00)
3127 1.1 christos {
3128 1.1 christos case 0x00:
3129 1.1 christos goto op_semantics_5;
3130 1.1 christos break;
3131 1.1 christos }
3132 1.1 christos break;
3133 1.1 christos case 0xd3:
3134 1.1 christos GETBYTE ();
3135 1.1 christos switch (op[2] & 0x00)
3136 1.1 christos {
3137 1.1 christos case 0x00:
3138 1.1 christos goto op_semantics_5;
3139 1.1 christos break;
3140 1.1 christos }
3141 1.1 christos break;
3142 1.1 christos case 0xd4:
3143 1.1 christos GETBYTE ();
3144 1.1 christos switch (op[2] & 0x00)
3145 1.1 christos {
3146 1.1 christos case 0x00:
3147 1.1 christos goto op_semantics_6;
3148 1.1 christos break;
3149 1.1 christos }
3150 1.1 christos break;
3151 1.1 christos case 0xd5:
3152 1.1 christos GETBYTE ();
3153 1.1 christos switch (op[2] & 0x00)
3154 1.1 christos {
3155 1.1 christos case 0x00:
3156 1.1 christos goto op_semantics_6;
3157 1.1 christos break;
3158 1.1 christos }
3159 1.1 christos break;
3160 1.1 christos case 0xd6:
3161 1.1 christos GETBYTE ();
3162 1.1 christos switch (op[2] & 0x00)
3163 1.1 christos {
3164 1.1 christos case 0x00:
3165 1.1 christos goto op_semantics_6;
3166 1.1 christos break;
3167 1.1 christos }
3168 1.1 christos break;
3169 1.1 christos case 0xd7:
3170 1.1 christos GETBYTE ();
3171 1.1 christos switch (op[2] & 0x00)
3172 1.1 christos {
3173 1.1 christos case 0x00:
3174 1.1 christos goto op_semantics_6;
3175 1.1 christos break;
3176 1.1 christos }
3177 1.1 christos break;
3178 1.1 christos case 0xe0:
3179 1.1 christos GETBYTE ();
3180 1.1 christos switch (op[2] & 0xff)
3181 1.1 christos {
3182 1.1 christos case 0x00:
3183 1.1 christos GETBYTE ();
3184 1.1 christos switch (op[3] & 0x00)
3185 1.1 christos {
3186 1.1 christos case 0x00:
3187 1.1 christos goto op_semantics_7;
3188 1.1 christos break;
3189 1.1 christos }
3190 1.1 christos break;
3191 1.1 christos case 0x04:
3192 1.1 christos GETBYTE ();
3193 1.1 christos switch (op[3] & 0x00)
3194 1.1 christos {
3195 1.1 christos case 0x00:
3196 1.1 christos goto op_semantics_8;
3197 1.1 christos break;
3198 1.1 christos }
3199 1.1 christos break;
3200 1.1 christos case 0x05:
3201 1.1 christos GETBYTE ();
3202 1.1 christos switch (op[3] & 0x00)
3203 1.1 christos {
3204 1.1 christos case 0x00:
3205 1.1 christos goto op_semantics_9;
3206 1.1 christos break;
3207 1.1 christos }
3208 1.1 christos break;
3209 1.1 christos case 0x06:
3210 1.1 christos GETBYTE ();
3211 1.1 christos switch (op[3] & 0x00)
3212 1.1 christos {
3213 1.1 christos case 0x00:
3214 1.1 christos goto op_semantics_10;
3215 1.1 christos break;
3216 1.1 christos }
3217 1.1 christos break;
3218 1.1 christos case 0x07:
3219 1.1 christos GETBYTE ();
3220 1.1 christos switch (op[3] & 0x00)
3221 1.1 christos {
3222 1.1 christos case 0x00:
3223 1.1 christos goto op_semantics_11;
3224 1.1 christos break;
3225 1.1 christos }
3226 1.1 christos break;
3227 1.1 christos case 0x08:
3228 1.1 christos GETBYTE ();
3229 1.1 christos switch (op[3] & 0x00)
3230 1.1 christos {
3231 1.1 christos case 0x00:
3232 1.1 christos goto op_semantics_12;
3233 1.1 christos break;
3234 1.1 christos }
3235 1.1 christos break;
3236 1.1 christos case 0x09:
3237 1.1 christos GETBYTE ();
3238 1.1 christos switch (op[3] & 0x00)
3239 1.1 christos {
3240 1.1 christos case 0x00:
3241 1.1 christos goto op_semantics_13;
3242 1.1 christos break;
3243 1.1 christos }
3244 1.1 christos break;
3245 1.1 christos case 0x0c:
3246 1.1 christos GETBYTE ();
3247 1.1 christos switch (op[3] & 0x00)
3248 1.1 christos {
3249 1.1 christos case 0x00:
3250 1.1 christos goto op_semantics_14;
3251 1.1 christos break;
3252 1.1 christos }
3253 1.1 christos break;
3254 1.1 christos case 0x0d:
3255 1.1 christos GETBYTE ();
3256 1.1 christos switch (op[3] & 0x00)
3257 1.1 christos {
3258 1.1 christos case 0x00:
3259 1.1 christos goto op_semantics_15;
3260 1.1 christos break;
3261 1.1 christos }
3262 1.1 christos break;
3263 1.1 christos case 0x10:
3264 1.1 christos GETBYTE ();
3265 1.1 christos switch (op[3] & 0x00)
3266 1.1 christos {
3267 1.1 christos case 0x00:
3268 1.1 christos goto op_semantics_16;
3269 1.1 christos break;
3270 1.1 christos }
3271 1.1 christos break;
3272 1.1 christos case 0x11:
3273 1.1 christos GETBYTE ();
3274 1.1 christos switch (op[3] & 0x00)
3275 1.1 christos {
3276 1.1 christos case 0x00:
3277 1.1 christos goto op_semantics_17;
3278 1.1 christos break;
3279 1.1 christos }
3280 1.1 christos break;
3281 1.1.1.3 christos case 0x15:
3282 1.1.1.3 christos GETBYTE ();
3283 1.1.1.3 christos switch (op[3] & 0x00)
3284 1.1.1.3 christos {
3285 1.1.1.3 christos case 0x00:
3286 1.1.1.3 christos goto op_semantics_18;
3287 1.1.1.3 christos break;
3288 1.1.1.3 christos }
3289 1.1.1.3 christos break;
3290 1.1 christos default: UNSUPPORTED(); break;
3291 1.1 christos }
3292 1.1 christos break;
3293 1.1 christos case 0xe1:
3294 1.1 christos GETBYTE ();
3295 1.1 christos switch (op[2] & 0xff)
3296 1.1 christos {
3297 1.1 christos case 0x00:
3298 1.1 christos GETBYTE ();
3299 1.1 christos switch (op[3] & 0x00)
3300 1.1 christos {
3301 1.1 christos case 0x00:
3302 1.1 christos goto op_semantics_7;
3303 1.1 christos break;
3304 1.1 christos }
3305 1.1 christos break;
3306 1.1 christos case 0x04:
3307 1.1 christos GETBYTE ();
3308 1.1 christos switch (op[3] & 0x00)
3309 1.1 christos {
3310 1.1 christos case 0x00:
3311 1.1 christos goto op_semantics_8;
3312 1.1 christos break;
3313 1.1 christos }
3314 1.1 christos break;
3315 1.1 christos case 0x05:
3316 1.1 christos GETBYTE ();
3317 1.1 christos switch (op[3] & 0x00)
3318 1.1 christos {
3319 1.1 christos case 0x00:
3320 1.1 christos goto op_semantics_9;
3321 1.1 christos break;
3322 1.1 christos }
3323 1.1 christos break;
3324 1.1 christos case 0x06:
3325 1.1 christos GETBYTE ();
3326 1.1 christos switch (op[3] & 0x00)
3327 1.1 christos {
3328 1.1 christos case 0x00:
3329 1.1 christos goto op_semantics_10;
3330 1.1 christos break;
3331 1.1 christos }
3332 1.1 christos break;
3333 1.1 christos case 0x07:
3334 1.1 christos GETBYTE ();
3335 1.1 christos switch (op[3] & 0x00)
3336 1.1 christos {
3337 1.1 christos case 0x00:
3338 1.1 christos goto op_semantics_11;
3339 1.1 christos break;
3340 1.1 christos }
3341 1.1 christos break;
3342 1.1 christos case 0x08:
3343 1.1 christos GETBYTE ();
3344 1.1 christos switch (op[3] & 0x00)
3345 1.1 christos {
3346 1.1 christos case 0x00:
3347 1.1 christos goto op_semantics_12;
3348 1.1 christos break;
3349 1.1 christos }
3350 1.1 christos break;
3351 1.1 christos case 0x09:
3352 1.1 christos GETBYTE ();
3353 1.1 christos switch (op[3] & 0x00)
3354 1.1 christos {
3355 1.1 christos case 0x00:
3356 1.1 christos goto op_semantics_13;
3357 1.1 christos break;
3358 1.1 christos }
3359 1.1 christos break;
3360 1.1 christos case 0x0c:
3361 1.1 christos GETBYTE ();
3362 1.1 christos switch (op[3] & 0x00)
3363 1.1 christos {
3364 1.1 christos case 0x00:
3365 1.1 christos goto op_semantics_14;
3366 1.1 christos break;
3367 1.1 christos }
3368 1.1 christos break;
3369 1.1 christos case 0x0d:
3370 1.1 christos GETBYTE ();
3371 1.1 christos switch (op[3] & 0x00)
3372 1.1 christos {
3373 1.1 christos case 0x00:
3374 1.1 christos goto op_semantics_15;
3375 1.1 christos break;
3376 1.1 christos }
3377 1.1 christos break;
3378 1.1 christos case 0x10:
3379 1.1 christos GETBYTE ();
3380 1.1 christos switch (op[3] & 0x00)
3381 1.1 christos {
3382 1.1 christos case 0x00:
3383 1.1 christos goto op_semantics_16;
3384 1.1 christos break;
3385 1.1 christos }
3386 1.1 christos break;
3387 1.1 christos case 0x11:
3388 1.1 christos GETBYTE ();
3389 1.1 christos switch (op[3] & 0x00)
3390 1.1 christos {
3391 1.1 christos case 0x00:
3392 1.1 christos goto op_semantics_17;
3393 1.1 christos break;
3394 1.1 christos }
3395 1.1 christos break;
3396 1.1.1.3 christos case 0x15:
3397 1.1.1.3 christos GETBYTE ();
3398 1.1.1.3 christos switch (op[3] & 0x00)
3399 1.1.1.3 christos {
3400 1.1.1.3 christos case 0x00:
3401 1.1.1.3 christos goto op_semantics_18;
3402 1.1.1.3 christos break;
3403 1.1.1.3 christos }
3404 1.1.1.3 christos break;
3405 1.1 christos default: UNSUPPORTED(); break;
3406 1.1 christos }
3407 1.1 christos break;
3408 1.1 christos case 0xe2:
3409 1.1 christos GETBYTE ();
3410 1.1 christos switch (op[2] & 0xff)
3411 1.1 christos {
3412 1.1 christos case 0x00:
3413 1.1 christos GETBYTE ();
3414 1.1 christos switch (op[3] & 0x00)
3415 1.1 christos {
3416 1.1 christos case 0x00:
3417 1.1 christos goto op_semantics_7;
3418 1.1 christos break;
3419 1.1 christos }
3420 1.1 christos break;
3421 1.1 christos case 0x04:
3422 1.1 christos GETBYTE ();
3423 1.1 christos switch (op[3] & 0x00)
3424 1.1 christos {
3425 1.1 christos case 0x00:
3426 1.1 christos goto op_semantics_8;
3427 1.1 christos break;
3428 1.1 christos }
3429 1.1 christos break;
3430 1.1 christos case 0x05:
3431 1.1 christos GETBYTE ();
3432 1.1 christos switch (op[3] & 0x00)
3433 1.1 christos {
3434 1.1 christos case 0x00:
3435 1.1 christos goto op_semantics_9;
3436 1.1 christos break;
3437 1.1 christos }
3438 1.1 christos break;
3439 1.1 christos case 0x06:
3440 1.1 christos GETBYTE ();
3441 1.1 christos switch (op[3] & 0x00)
3442 1.1 christos {
3443 1.1 christos case 0x00:
3444 1.1 christos goto op_semantics_10;
3445 1.1 christos break;
3446 1.1 christos }
3447 1.1 christos break;
3448 1.1 christos case 0x07:
3449 1.1 christos GETBYTE ();
3450 1.1 christos switch (op[3] & 0x00)
3451 1.1 christos {
3452 1.1 christos case 0x00:
3453 1.1 christos goto op_semantics_11;
3454 1.1 christos break;
3455 1.1 christos }
3456 1.1 christos break;
3457 1.1 christos case 0x08:
3458 1.1 christos GETBYTE ();
3459 1.1 christos switch (op[3] & 0x00)
3460 1.1 christos {
3461 1.1 christos case 0x00:
3462 1.1 christos goto op_semantics_12;
3463 1.1 christos break;
3464 1.1 christos }
3465 1.1 christos break;
3466 1.1 christos case 0x09:
3467 1.1 christos GETBYTE ();
3468 1.1 christos switch (op[3] & 0x00)
3469 1.1 christos {
3470 1.1 christos case 0x00:
3471 1.1 christos goto op_semantics_13;
3472 1.1 christos break;
3473 1.1 christos }
3474 1.1 christos break;
3475 1.1 christos case 0x0c:
3476 1.1 christos GETBYTE ();
3477 1.1 christos switch (op[3] & 0x00)
3478 1.1 christos {
3479 1.1 christos case 0x00:
3480 1.1 christos goto op_semantics_14;
3481 1.1 christos break;
3482 1.1 christos }
3483 1.1 christos break;
3484 1.1 christos case 0x0d:
3485 1.1 christos GETBYTE ();
3486 1.1 christos switch (op[3] & 0x00)
3487 1.1 christos {
3488 1.1 christos case 0x00:
3489 1.1 christos goto op_semantics_15;
3490 1.1 christos break;
3491 1.1 christos }
3492 1.1 christos break;
3493 1.1 christos case 0x10:
3494 1.1 christos GETBYTE ();
3495 1.1 christos switch (op[3] & 0x00)
3496 1.1 christos {
3497 1.1 christos case 0x00:
3498 1.1 christos goto op_semantics_16;
3499 1.1 christos break;
3500 1.1 christos }
3501 1.1 christos break;
3502 1.1 christos case 0x11:
3503 1.1 christos GETBYTE ();
3504 1.1 christos switch (op[3] & 0x00)
3505 1.1 christos {
3506 1.1 christos case 0x00:
3507 1.1 christos goto op_semantics_17;
3508 1.1 christos break;
3509 1.1 christos }
3510 1.1 christos break;
3511 1.1.1.3 christos case 0x15:
3512 1.1.1.3 christos GETBYTE ();
3513 1.1.1.3 christos switch (op[3] & 0x00)
3514 1.1.1.3 christos {
3515 1.1.1.3 christos case 0x00:
3516 1.1.1.3 christos goto op_semantics_18;
3517 1.1.1.3 christos break;
3518 1.1.1.3 christos }
3519 1.1.1.3 christos break;
3520 1.1 christos default: UNSUPPORTED(); break;
3521 1.1 christos }
3522 1.1 christos break;
3523 1.1 christos case 0xe3:
3524 1.1 christos GETBYTE ();
3525 1.1 christos switch (op[2] & 0xff)
3526 1.1 christos {
3527 1.1 christos case 0x00:
3528 1.1 christos GETBYTE ();
3529 1.1 christos switch (op[3] & 0x00)
3530 1.1 christos {
3531 1.1 christos case 0x00:
3532 1.1 christos goto op_semantics_7;
3533 1.1 christos break;
3534 1.1 christos }
3535 1.1 christos break;
3536 1.1 christos case 0x04:
3537 1.1 christos GETBYTE ();
3538 1.1 christos switch (op[3] & 0x00)
3539 1.1 christos {
3540 1.1 christos case 0x00:
3541 1.1 christos goto op_semantics_8;
3542 1.1 christos break;
3543 1.1 christos }
3544 1.1 christos break;
3545 1.1 christos case 0x05:
3546 1.1 christos GETBYTE ();
3547 1.1 christos switch (op[3] & 0x00)
3548 1.1 christos {
3549 1.1 christos case 0x00:
3550 1.1 christos goto op_semantics_9;
3551 1.1 christos break;
3552 1.1 christos }
3553 1.1 christos break;
3554 1.1 christos case 0x06:
3555 1.1 christos GETBYTE ();
3556 1.1 christos switch (op[3] & 0x00)
3557 1.1 christos {
3558 1.1 christos case 0x00:
3559 1.1 christos goto op_semantics_10;
3560 1.1 christos break;
3561 1.1 christos }
3562 1.1 christos break;
3563 1.1 christos case 0x07:
3564 1.1 christos GETBYTE ();
3565 1.1 christos switch (op[3] & 0x00)
3566 1.1 christos {
3567 1.1 christos case 0x00:
3568 1.1 christos goto op_semantics_11;
3569 1.1 christos break;
3570 1.1 christos }
3571 1.1 christos break;
3572 1.1 christos case 0x08:
3573 1.1 christos GETBYTE ();
3574 1.1 christos switch (op[3] & 0x00)
3575 1.1 christos {
3576 1.1 christos case 0x00:
3577 1.1 christos goto op_semantics_12;
3578 1.1 christos break;
3579 1.1 christos }
3580 1.1 christos break;
3581 1.1 christos case 0x09:
3582 1.1 christos GETBYTE ();
3583 1.1 christos switch (op[3] & 0x00)
3584 1.1 christos {
3585 1.1 christos case 0x00:
3586 1.1 christos goto op_semantics_13;
3587 1.1 christos break;
3588 1.1 christos }
3589 1.1 christos break;
3590 1.1 christos case 0x0c:
3591 1.1 christos GETBYTE ();
3592 1.1 christos switch (op[3] & 0x00)
3593 1.1 christos {
3594 1.1 christos case 0x00:
3595 1.1 christos goto op_semantics_14;
3596 1.1 christos break;
3597 1.1 christos }
3598 1.1 christos break;
3599 1.1 christos case 0x0d:
3600 1.1 christos GETBYTE ();
3601 1.1 christos switch (op[3] & 0x00)
3602 1.1 christos {
3603 1.1 christos case 0x00:
3604 1.1 christos goto op_semantics_15;
3605 1.1 christos break;
3606 1.1 christos }
3607 1.1 christos break;
3608 1.1 christos case 0x10:
3609 1.1 christos GETBYTE ();
3610 1.1 christos switch (op[3] & 0x00)
3611 1.1 christos {
3612 1.1 christos case 0x00:
3613 1.1 christos goto op_semantics_16;
3614 1.1 christos break;
3615 1.1 christos }
3616 1.1 christos break;
3617 1.1 christos case 0x11:
3618 1.1 christos GETBYTE ();
3619 1.1 christos switch (op[3] & 0x00)
3620 1.1 christos {
3621 1.1 christos case 0x00:
3622 1.1 christos goto op_semantics_17;
3623 1.1 christos break;
3624 1.1 christos }
3625 1.1 christos break;
3626 1.1.1.3 christos case 0x15:
3627 1.1.1.3 christos GETBYTE ();
3628 1.1.1.3 christos switch (op[3] & 0x00)
3629 1.1.1.3 christos {
3630 1.1.1.3 christos case 0x00:
3631 1.1.1.3 christos goto op_semantics_18;
3632 1.1.1.3 christos break;
3633 1.1.1.3 christos }
3634 1.1.1.3 christos break;
3635 1.1 christos default: UNSUPPORTED(); break;
3636 1.1 christos }
3637 1.1 christos break;
3638 1.1 christos default: UNSUPPORTED(); break;
3639 1.1 christos }
3640 1.1 christos break;
3641 1.1 christos case 0x08:
3642 1.1 christos case 0x09:
3643 1.1 christos case 0x0a:
3644 1.1 christos case 0x0b:
3645 1.1 christos case 0x0c:
3646 1.1 christos case 0x0d:
3647 1.1 christos case 0x0e:
3648 1.1 christos case 0x0f:
3649 1.1 christos {
3650 1.1 christos /** 0000 1dsp bra.s %a0 */
3651 1.1.1.3 christos #line 775 "rx-decode.opc"
3652 1.1 christos int dsp AU = op[0] & 0x07;
3653 1.1 christos if (trace)
3654 1.1 christos {
3655 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3656 1.1 christos "/** 0000 1dsp bra.s %a0 */",
3657 1.1 christos op[0]);
3658 1.1 christos printf (" dsp = 0x%x\n", dsp);
3659 1.1 christos }
3660 1.1 christos SYNTAX("bra.s %a0");
3661 1.1.1.3 christos #line 775 "rx-decode.opc"
3662 1.1 christos ID(branch); DC(pc + dsp3map[dsp]);
3663 1.1.1.3 christos
3664 1.1 christos }
3665 1.1 christos break;
3666 1.1 christos case 0x10:
3667 1.1 christos case 0x11:
3668 1.1 christos case 0x12:
3669 1.1 christos case 0x13:
3670 1.1 christos case 0x14:
3671 1.1 christos case 0x15:
3672 1.1 christos case 0x16:
3673 1.1 christos case 0x17:
3674 1.1 christos case 0x18:
3675 1.1 christos case 0x19:
3676 1.1 christos case 0x1a:
3677 1.1 christos case 0x1b:
3678 1.1 christos case 0x1c:
3679 1.1 christos case 0x1d:
3680 1.1 christos case 0x1e:
3681 1.1 christos case 0x1f:
3682 1.1 christos {
3683 1.1 christos /** 0001 n dsp b%1.s %a0 */
3684 1.1.1.3 christos #line 765 "rx-decode.opc"
3685 1.1 christos int n AU = (op[0] >> 3) & 0x01;
3686 1.1.1.3 christos #line 765 "rx-decode.opc"
3687 1.1 christos int dsp AU = op[0] & 0x07;
3688 1.1 christos if (trace)
3689 1.1 christos {
3690 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3691 1.1 christos "/** 0001 n dsp b%1.s %a0 */",
3692 1.1 christos op[0]);
3693 1.1 christos printf (" n = 0x%x,", n);
3694 1.1 christos printf (" dsp = 0x%x\n", dsp);
3695 1.1 christos }
3696 1.1 christos SYNTAX("b%1.s %a0");
3697 1.1.1.3 christos #line 765 "rx-decode.opc"
3698 1.1 christos ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
3699 1.1.1.3 christos
3700 1.1 christos }
3701 1.1 christos break;
3702 1.1 christos case 0x20:
3703 1.1 christos case 0x21:
3704 1.1 christos case 0x22:
3705 1.1 christos case 0x23:
3706 1.1 christos case 0x24:
3707 1.1 christos case 0x25:
3708 1.1 christos case 0x26:
3709 1.1 christos case 0x27:
3710 1.1 christos case 0x28:
3711 1.1 christos case 0x29:
3712 1.1 christos case 0x2a:
3713 1.1 christos case 0x2b:
3714 1.1 christos case 0x2c:
3715 1.1 christos case 0x2d:
3716 1.1 christos case 0x2f:
3717 1.1 christos {
3718 1.1 christos /** 0010 cond b%1.b %a0 */
3719 1.1.1.3 christos #line 768 "rx-decode.opc"
3720 1.1 christos int cond AU = op[0] & 0x0f;
3721 1.1 christos if (trace)
3722 1.1 christos {
3723 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3724 1.1 christos "/** 0010 cond b%1.b %a0 */",
3725 1.1 christos op[0]);
3726 1.1 christos printf (" cond = 0x%x\n", cond);
3727 1.1 christos }
3728 1.1 christos SYNTAX("b%1.b %a0");
3729 1.1.1.3 christos #line 768 "rx-decode.opc"
3730 1.1 christos ID(branch); Scc(cond); DC(pc + IMMex (1));
3731 1.1.1.3 christos
3732 1.1 christos }
3733 1.1 christos break;
3734 1.1 christos case 0x2e:
3735 1.1 christos {
3736 1.1 christos /** 0010 1110 bra.b %a0 */
3737 1.1 christos if (trace)
3738 1.1 christos {
3739 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3740 1.1 christos "/** 0010 1110 bra.b %a0 */",
3741 1.1 christos op[0]);
3742 1.1 christos }
3743 1.1 christos SYNTAX("bra.b %a0");
3744 1.1.1.3 christos #line 778 "rx-decode.opc"
3745 1.1 christos ID(branch); DC(pc + IMMex(1));
3746 1.1.1.3 christos
3747 1.1 christos }
3748 1.1 christos break;
3749 1.1 christos case 0x38:
3750 1.1 christos {
3751 1.1 christos /** 0011 1000 bra.w %a0 */
3752 1.1 christos if (trace)
3753 1.1 christos {
3754 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3755 1.1 christos "/** 0011 1000 bra.w %a0 */",
3756 1.1 christos op[0]);
3757 1.1 christos }
3758 1.1 christos SYNTAX("bra.w %a0");
3759 1.1.1.3 christos #line 781 "rx-decode.opc"
3760 1.1 christos ID(branch); DC(pc + IMMex(2));
3761 1.1.1.3 christos
3762 1.1 christos }
3763 1.1 christos break;
3764 1.1 christos case 0x39:
3765 1.1 christos {
3766 1.1 christos /** 0011 1001 bsr.w %a0 */
3767 1.1 christos if (trace)
3768 1.1 christos {
3769 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3770 1.1 christos "/** 0011 1001 bsr.w %a0 */",
3771 1.1 christos op[0]);
3772 1.1 christos }
3773 1.1 christos SYNTAX("bsr.w %a0");
3774 1.1.1.3 christos #line 797 "rx-decode.opc"
3775 1.1 christos ID(jsr); DC(pc + IMMex(2));
3776 1.1.1.3 christos
3777 1.1 christos }
3778 1.1 christos break;
3779 1.1 christos case 0x3a:
3780 1.1 christos case 0x3b:
3781 1.1 christos {
3782 1.1 christos /** 0011 101c b%1.w %a0 */
3783 1.1.1.3 christos #line 771 "rx-decode.opc"
3784 1.1 christos int c AU = op[0] & 0x01;
3785 1.1 christos if (trace)
3786 1.1 christos {
3787 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
3788 1.1 christos "/** 0011 101c b%1.w %a0 */",
3789 1.1 christos op[0]);
3790 1.1 christos printf (" c = 0x%x\n", c);
3791 1.1 christos }
3792 1.1 christos SYNTAX("b%1.w %a0");
3793 1.1.1.3 christos #line 771 "rx-decode.opc"
3794 1.1 christos ID(branch); Scc(c); DC(pc + IMMex (2));
3795 1.1.1.3 christos
3796 1.1.1.3 christos
3797 1.1 christos }
3798 1.1 christos break;
3799 1.1 christos case 0x3c:
3800 1.1 christos GETBYTE ();
3801 1.1 christos switch (op[1] & 0x00)
3802 1.1 christos {
3803 1.1 christos case 0x00:
3804 1.1.1.3 christos op_semantics_20:
3805 1.1 christos {
3806 1.1 christos /** 0011 11sz d dst sppp mov%s #%1, %0 */
3807 1.1.1.2 christos #line 307 "rx-decode.opc"
3808 1.1 christos int sz AU = op[0] & 0x03;
3809 1.1.1.2 christos #line 307 "rx-decode.opc"
3810 1.1 christos int d AU = (op[1] >> 7) & 0x01;
3811 1.1.1.2 christos #line 307 "rx-decode.opc"
3812 1.1 christos int dst AU = (op[1] >> 4) & 0x07;
3813 1.1.1.2 christos #line 307 "rx-decode.opc"
3814 1.1 christos int sppp AU = op[1] & 0x0f;
3815 1.1 christos if (trace)
3816 1.1 christos {
3817 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
3818 1.1 christos "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
3819 1.1 christos op[0], op[1]);
3820 1.1 christos printf (" sz = 0x%x,", sz);
3821 1.1 christos printf (" d = 0x%x,", d);
3822 1.1 christos printf (" dst = 0x%x,", dst);
3823 1.1 christos printf (" sppp = 0x%x\n", sppp);
3824 1.1 christos }
3825 1.1 christos SYNTAX("mov%s #%1, %0");
3826 1.1.1.2 christos #line 307 "rx-decode.opc"
3827 1.1 christos ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
3828 1.1.1.3 christos
3829 1.1 christos }
3830 1.1 christos break;
3831 1.1 christos }
3832 1.1 christos break;
3833 1.1 christos case 0x3d:
3834 1.1 christos GETBYTE ();
3835 1.1 christos switch (op[1] & 0x00)
3836 1.1 christos {
3837 1.1 christos case 0x00:
3838 1.1.1.3 christos goto op_semantics_20;
3839 1.1 christos break;
3840 1.1 christos }
3841 1.1 christos break;
3842 1.1 christos case 0x3e:
3843 1.1 christos GETBYTE ();
3844 1.1 christos switch (op[1] & 0x00)
3845 1.1 christos {
3846 1.1 christos case 0x00:
3847 1.1.1.3 christos goto op_semantics_20;
3848 1.1 christos break;
3849 1.1 christos }
3850 1.1 christos break;
3851 1.1 christos case 0x3f:
3852 1.1 christos GETBYTE ();
3853 1.1 christos switch (op[1] & 0x00)
3854 1.1 christos {
3855 1.1 christos case 0x00:
3856 1.1 christos {
3857 1.1 christos /** 0011 1111 rega regb rtsd #%1, %2-%0 */
3858 1.1.1.2 christos #line 404 "rx-decode.opc"
3859 1.1 christos int rega AU = (op[1] >> 4) & 0x0f;
3860 1.1.1.2 christos #line 404 "rx-decode.opc"
3861 1.1 christos int regb AU = op[1] & 0x0f;
3862 1.1 christos if (trace)
3863 1.1 christos {
3864 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
3865 1.1 christos "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
3866 1.1 christos op[0], op[1]);
3867 1.1 christos printf (" rega = 0x%x,", rega);
3868 1.1 christos printf (" regb = 0x%x\n", regb);
3869 1.1 christos }
3870 1.1 christos SYNTAX("rtsd #%1, %2-%0");
3871 1.1.1.2 christos #line 404 "rx-decode.opc"
3872 1.1 christos ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
3873 1.1.1.3 christos
3874 1.1 christos /*----------------------------------------------------------------------*/
3875 1.1 christos /* AND */
3876 1.1.1.3 christos
3877 1.1 christos }
3878 1.1 christos break;
3879 1.1 christos }
3880 1.1 christos break;
3881 1.1 christos case 0x40:
3882 1.1 christos GETBYTE ();
3883 1.1 christos switch (op[1] & 0x00)
3884 1.1 christos {
3885 1.1 christos case 0x00:
3886 1.1.1.3 christos op_semantics_21:
3887 1.1 christos {
3888 1.1 christos /** 0100 00ss rsrc rdst sub %2%S2, %1 */
3889 1.1.1.2 christos #line 539 "rx-decode.opc"
3890 1.1 christos int ss AU = op[0] & 0x03;
3891 1.1.1.2 christos #line 539 "rx-decode.opc"
3892 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
3893 1.1.1.2 christos #line 539 "rx-decode.opc"
3894 1.1 christos int rdst AU = op[1] & 0x0f;
3895 1.1 christos if (trace)
3896 1.1 christos {
3897 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
3898 1.1 christos "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
3899 1.1 christos op[0], op[1]);
3900 1.1 christos printf (" ss = 0x%x,", ss);
3901 1.1 christos printf (" rsrc = 0x%x,", rsrc);
3902 1.1 christos printf (" rdst = 0x%x\n", rdst);
3903 1.1 christos }
3904 1.1 christos SYNTAX("sub %2%S2, %1");
3905 1.1.1.2 christos #line 539 "rx-decode.opc"
3906 1.1 christos ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
3907 1.1.1.3 christos
3908 1.1 christos }
3909 1.1 christos break;
3910 1.1 christos }
3911 1.1 christos break;
3912 1.1 christos case 0x41:
3913 1.1 christos GETBYTE ();
3914 1.1 christos switch (op[1] & 0x00)
3915 1.1 christos {
3916 1.1 christos case 0x00:
3917 1.1.1.3 christos goto op_semantics_21;
3918 1.1 christos break;
3919 1.1 christos }
3920 1.1 christos break;
3921 1.1 christos case 0x42:
3922 1.1 christos GETBYTE ();
3923 1.1 christos switch (op[1] & 0x00)
3924 1.1 christos {
3925 1.1 christos case 0x00:
3926 1.1.1.3 christos goto op_semantics_21;
3927 1.1 christos break;
3928 1.1 christos }
3929 1.1 christos break;
3930 1.1 christos case 0x43:
3931 1.1 christos GETBYTE ();
3932 1.1 christos switch (op[1] & 0x00)
3933 1.1 christos {
3934 1.1 christos case 0x00:
3935 1.1.1.3 christos goto op_semantics_21;
3936 1.1 christos break;
3937 1.1 christos }
3938 1.1 christos break;
3939 1.1 christos case 0x44:
3940 1.1 christos GETBYTE ();
3941 1.1 christos switch (op[1] & 0x00)
3942 1.1 christos {
3943 1.1 christos case 0x00:
3944 1.1.1.3 christos op_semantics_22:
3945 1.1 christos {
3946 1.1 christos /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
3947 1.1.1.2 christos #line 527 "rx-decode.opc"
3948 1.1 christos int ss AU = op[0] & 0x03;
3949 1.1.1.2 christos #line 527 "rx-decode.opc"
3950 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
3951 1.1.1.2 christos #line 527 "rx-decode.opc"
3952 1.1 christos int rdst AU = op[1] & 0x0f;
3953 1.1 christos if (trace)
3954 1.1 christos {
3955 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
3956 1.1 christos "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
3957 1.1 christos op[0], op[1]);
3958 1.1 christos printf (" ss = 0x%x,", ss);
3959 1.1 christos printf (" rsrc = 0x%x,", rsrc);
3960 1.1 christos printf (" rdst = 0x%x\n", rdst);
3961 1.1 christos }
3962 1.1 christos SYNTAX("cmp %2%S2, %1");
3963 1.1.1.2 christos #line 527 "rx-decode.opc"
3964 1.1 christos ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
3965 1.1.1.3 christos
3966 1.1 christos }
3967 1.1 christos break;
3968 1.1 christos }
3969 1.1 christos break;
3970 1.1 christos case 0x45:
3971 1.1 christos GETBYTE ();
3972 1.1 christos switch (op[1] & 0x00)
3973 1.1 christos {
3974 1.1 christos case 0x00:
3975 1.1.1.3 christos goto op_semantics_22;
3976 1.1 christos break;
3977 1.1 christos }
3978 1.1 christos break;
3979 1.1 christos case 0x46:
3980 1.1 christos GETBYTE ();
3981 1.1 christos switch (op[1] & 0x00)
3982 1.1 christos {
3983 1.1 christos case 0x00:
3984 1.1.1.3 christos goto op_semantics_22;
3985 1.1 christos break;
3986 1.1 christos }
3987 1.1 christos break;
3988 1.1 christos case 0x47:
3989 1.1 christos GETBYTE ();
3990 1.1 christos switch (op[1] & 0x00)
3991 1.1 christos {
3992 1.1 christos case 0x00:
3993 1.1.1.3 christos goto op_semantics_22;
3994 1.1 christos break;
3995 1.1 christos }
3996 1.1 christos break;
3997 1.1 christos case 0x48:
3998 1.1 christos GETBYTE ();
3999 1.1 christos switch (op[1] & 0x00)
4000 1.1 christos {
4001 1.1 christos case 0x00:
4002 1.1.1.3 christos op_semantics_23:
4003 1.1 christos {
4004 1.1 christos /** 0100 10ss rsrc rdst add %1%S1, %0 */
4005 1.1.1.2 christos #line 503 "rx-decode.opc"
4006 1.1 christos int ss AU = op[0] & 0x03;
4007 1.1.1.2 christos #line 503 "rx-decode.opc"
4008 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
4009 1.1.1.2 christos #line 503 "rx-decode.opc"
4010 1.1 christos int rdst AU = op[1] & 0x0f;
4011 1.1 christos if (trace)
4012 1.1 christos {
4013 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4014 1.1 christos "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
4015 1.1 christos op[0], op[1]);
4016 1.1 christos printf (" ss = 0x%x,", ss);
4017 1.1 christos printf (" rsrc = 0x%x,", rsrc);
4018 1.1 christos printf (" rdst = 0x%x\n", rdst);
4019 1.1 christos }
4020 1.1 christos SYNTAX("add %1%S1, %0");
4021 1.1.1.2 christos #line 503 "rx-decode.opc"
4022 1.1 christos ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
4023 1.1.1.3 christos
4024 1.1 christos }
4025 1.1 christos break;
4026 1.1 christos }
4027 1.1 christos break;
4028 1.1 christos case 0x49:
4029 1.1 christos GETBYTE ();
4030 1.1 christos switch (op[1] & 0x00)
4031 1.1 christos {
4032 1.1 christos case 0x00:
4033 1.1.1.3 christos goto op_semantics_23;
4034 1.1 christos break;
4035 1.1 christos }
4036 1.1 christos break;
4037 1.1 christos case 0x4a:
4038 1.1 christos GETBYTE ();
4039 1.1 christos switch (op[1] & 0x00)
4040 1.1 christos {
4041 1.1 christos case 0x00:
4042 1.1.1.3 christos goto op_semantics_23;
4043 1.1 christos break;
4044 1.1 christos }
4045 1.1 christos break;
4046 1.1 christos case 0x4b:
4047 1.1 christos GETBYTE ();
4048 1.1 christos switch (op[1] & 0x00)
4049 1.1 christos {
4050 1.1 christos case 0x00:
4051 1.1.1.3 christos goto op_semantics_23;
4052 1.1 christos break;
4053 1.1 christos }
4054 1.1 christos break;
4055 1.1 christos case 0x4c:
4056 1.1 christos GETBYTE ();
4057 1.1 christos switch (op[1] & 0x00)
4058 1.1 christos {
4059 1.1 christos case 0x00:
4060 1.1.1.3 christos op_semantics_24:
4061 1.1 christos {
4062 1.1 christos /** 0100 11ss rsrc rdst mul %1%S1, %0 */
4063 1.1.1.3 christos #line 646 "rx-decode.opc"
4064 1.1 christos int ss AU = op[0] & 0x03;
4065 1.1.1.3 christos #line 646 "rx-decode.opc"
4066 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
4067 1.1.1.3 christos #line 646 "rx-decode.opc"
4068 1.1 christos int rdst AU = op[1] & 0x0f;
4069 1.1 christos if (trace)
4070 1.1 christos {
4071 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4072 1.1 christos "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
4073 1.1 christos op[0], op[1]);
4074 1.1 christos printf (" ss = 0x%x,", ss);
4075 1.1 christos printf (" rsrc = 0x%x,", rsrc);
4076 1.1 christos printf (" rdst = 0x%x\n", rdst);
4077 1.1 christos }
4078 1.1 christos SYNTAX("mul %1%S1, %0");
4079 1.1.1.3 christos #line 646 "rx-decode.opc"
4080 1.1 christos ID(mul); SP(ss, rsrc); DR(rdst); F_____;
4081 1.1.1.3 christos
4082 1.1 christos }
4083 1.1 christos break;
4084 1.1 christos }
4085 1.1 christos break;
4086 1.1 christos case 0x4d:
4087 1.1 christos GETBYTE ();
4088 1.1 christos switch (op[1] & 0x00)
4089 1.1 christos {
4090 1.1 christos case 0x00:
4091 1.1.1.3 christos goto op_semantics_24;
4092 1.1 christos break;
4093 1.1 christos }
4094 1.1 christos break;
4095 1.1 christos case 0x4e:
4096 1.1 christos GETBYTE ();
4097 1.1 christos switch (op[1] & 0x00)
4098 1.1 christos {
4099 1.1 christos case 0x00:
4100 1.1.1.3 christos goto op_semantics_24;
4101 1.1 christos break;
4102 1.1 christos }
4103 1.1 christos break;
4104 1.1 christos case 0x4f:
4105 1.1 christos GETBYTE ();
4106 1.1 christos switch (op[1] & 0x00)
4107 1.1 christos {
4108 1.1 christos case 0x00:
4109 1.1.1.3 christos goto op_semantics_24;
4110 1.1 christos break;
4111 1.1 christos }
4112 1.1 christos break;
4113 1.1 christos case 0x50:
4114 1.1 christos GETBYTE ();
4115 1.1 christos switch (op[1] & 0x00)
4116 1.1 christos {
4117 1.1 christos case 0x00:
4118 1.1.1.3 christos op_semantics_25:
4119 1.1 christos {
4120 1.1 christos /** 0101 00ss rsrc rdst and %1%S1, %0 */
4121 1.1.1.2 christos #line 416 "rx-decode.opc"
4122 1.1 christos int ss AU = op[0] & 0x03;
4123 1.1.1.2 christos #line 416 "rx-decode.opc"
4124 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
4125 1.1.1.2 christos #line 416 "rx-decode.opc"
4126 1.1 christos int rdst AU = op[1] & 0x0f;
4127 1.1 christos if (trace)
4128 1.1 christos {
4129 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4130 1.1 christos "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
4131 1.1 christos op[0], op[1]);
4132 1.1 christos printf (" ss = 0x%x,", ss);
4133 1.1 christos printf (" rsrc = 0x%x,", rsrc);
4134 1.1 christos printf (" rdst = 0x%x\n", rdst);
4135 1.1 christos }
4136 1.1 christos SYNTAX("and %1%S1, %0");
4137 1.1.1.2 christos #line 416 "rx-decode.opc"
4138 1.1 christos ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
4139 1.1.1.3 christos
4140 1.1 christos }
4141 1.1 christos break;
4142 1.1 christos }
4143 1.1 christos break;
4144 1.1 christos case 0x51:
4145 1.1 christos GETBYTE ();
4146 1.1 christos switch (op[1] & 0x00)
4147 1.1 christos {
4148 1.1 christos case 0x00:
4149 1.1.1.3 christos goto op_semantics_25;
4150 1.1 christos break;
4151 1.1 christos }
4152 1.1 christos break;
4153 1.1 christos case 0x52:
4154 1.1 christos GETBYTE ();
4155 1.1 christos switch (op[1] & 0x00)
4156 1.1 christos {
4157 1.1 christos case 0x00:
4158 1.1.1.3 christos goto op_semantics_25;
4159 1.1 christos break;
4160 1.1 christos }
4161 1.1 christos break;
4162 1.1 christos case 0x53:
4163 1.1 christos GETBYTE ();
4164 1.1 christos switch (op[1] & 0x00)
4165 1.1 christos {
4166 1.1 christos case 0x00:
4167 1.1.1.3 christos goto op_semantics_25;
4168 1.1 christos break;
4169 1.1 christos }
4170 1.1 christos break;
4171 1.1 christos case 0x54:
4172 1.1 christos GETBYTE ();
4173 1.1 christos switch (op[1] & 0x00)
4174 1.1 christos {
4175 1.1 christos case 0x00:
4176 1.1.1.3 christos op_semantics_26:
4177 1.1 christos {
4178 1.1 christos /** 0101 01ss rsrc rdst or %1%S1, %0 */
4179 1.1.1.2 christos #line 434 "rx-decode.opc"
4180 1.1 christos int ss AU = op[0] & 0x03;
4181 1.1.1.2 christos #line 434 "rx-decode.opc"
4182 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
4183 1.1.1.2 christos #line 434 "rx-decode.opc"
4184 1.1 christos int rdst AU = op[1] & 0x0f;
4185 1.1 christos if (trace)
4186 1.1 christos {
4187 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4188 1.1 christos "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
4189 1.1 christos op[0], op[1]);
4190 1.1 christos printf (" ss = 0x%x,", ss);
4191 1.1 christos printf (" rsrc = 0x%x,", rsrc);
4192 1.1 christos printf (" rdst = 0x%x\n", rdst);
4193 1.1 christos }
4194 1.1 christos SYNTAX("or %1%S1, %0");
4195 1.1.1.2 christos #line 434 "rx-decode.opc"
4196 1.1 christos ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
4197 1.1.1.3 christos
4198 1.1 christos }
4199 1.1 christos break;
4200 1.1 christos }
4201 1.1 christos break;
4202 1.1 christos case 0x55:
4203 1.1 christos GETBYTE ();
4204 1.1 christos switch (op[1] & 0x00)
4205 1.1 christos {
4206 1.1 christos case 0x00:
4207 1.1.1.3 christos goto op_semantics_26;
4208 1.1 christos break;
4209 1.1 christos }
4210 1.1 christos break;
4211 1.1 christos case 0x56:
4212 1.1 christos GETBYTE ();
4213 1.1 christos switch (op[1] & 0x00)
4214 1.1 christos {
4215 1.1 christos case 0x00:
4216 1.1.1.3 christos goto op_semantics_26;
4217 1.1 christos break;
4218 1.1 christos }
4219 1.1 christos break;
4220 1.1 christos case 0x57:
4221 1.1 christos GETBYTE ();
4222 1.1 christos switch (op[1] & 0x00)
4223 1.1 christos {
4224 1.1 christos case 0x00:
4225 1.1.1.3 christos goto op_semantics_26;
4226 1.1 christos break;
4227 1.1 christos }
4228 1.1 christos break;
4229 1.1 christos case 0x58:
4230 1.1 christos GETBYTE ();
4231 1.1 christos switch (op[1] & 0x00)
4232 1.1 christos {
4233 1.1 christos case 0x00:
4234 1.1.1.3 christos op_semantics_27:
4235 1.1 christos {
4236 1.1 christos /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
4237 1.1.1.2 christos #line 355 "rx-decode.opc"
4238 1.1 christos int s AU = (op[0] >> 2) & 0x01;
4239 1.1.1.2 christos #line 355 "rx-decode.opc"
4240 1.1 christos int ss AU = op[0] & 0x03;
4241 1.1.1.2 christos #line 355 "rx-decode.opc"
4242 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
4243 1.1.1.2 christos #line 355 "rx-decode.opc"
4244 1.1 christos int rdst AU = op[1] & 0x0f;
4245 1.1 christos if (trace)
4246 1.1 christos {
4247 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4248 1.1 christos "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
4249 1.1 christos op[0], op[1]);
4250 1.1 christos printf (" s = 0x%x,", s);
4251 1.1 christos printf (" ss = 0x%x,", ss);
4252 1.1 christos printf (" rsrc = 0x%x,", rsrc);
4253 1.1 christos printf (" rdst = 0x%x\n", rdst);
4254 1.1 christos }
4255 1.1 christos SYNTAX("movu%s %1, %0");
4256 1.1.1.2 christos #line 355 "rx-decode.opc"
4257 1.1.1.3 christos ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
4258 1.1.1.3 christos
4259 1.1 christos }
4260 1.1 christos break;
4261 1.1 christos }
4262 1.1 christos break;
4263 1.1 christos case 0x59:
4264 1.1 christos GETBYTE ();
4265 1.1 christos switch (op[1] & 0x00)
4266 1.1 christos {
4267 1.1 christos case 0x00:
4268 1.1.1.3 christos goto op_semantics_27;
4269 1.1 christos break;
4270 1.1 christos }
4271 1.1 christos break;
4272 1.1 christos case 0x5a:
4273 1.1 christos GETBYTE ();
4274 1.1 christos switch (op[1] & 0x00)
4275 1.1 christos {
4276 1.1 christos case 0x00:
4277 1.1.1.3 christos goto op_semantics_27;
4278 1.1 christos break;
4279 1.1 christos }
4280 1.1 christos break;
4281 1.1 christos case 0x5b:
4282 1.1 christos GETBYTE ();
4283 1.1 christos switch (op[1] & 0x00)
4284 1.1 christos {
4285 1.1 christos case 0x00:
4286 1.1.1.3 christos goto op_semantics_27;
4287 1.1 christos break;
4288 1.1 christos }
4289 1.1 christos break;
4290 1.1 christos case 0x5c:
4291 1.1 christos GETBYTE ();
4292 1.1 christos switch (op[1] & 0x00)
4293 1.1 christos {
4294 1.1 christos case 0x00:
4295 1.1.1.3 christos goto op_semantics_27;
4296 1.1 christos break;
4297 1.1 christos }
4298 1.1 christos break;
4299 1.1 christos case 0x5d:
4300 1.1 christos GETBYTE ();
4301 1.1 christos switch (op[1] & 0x00)
4302 1.1 christos {
4303 1.1 christos case 0x00:
4304 1.1.1.3 christos goto op_semantics_27;
4305 1.1 christos break;
4306 1.1 christos }
4307 1.1 christos break;
4308 1.1 christos case 0x5e:
4309 1.1 christos GETBYTE ();
4310 1.1 christos switch (op[1] & 0x00)
4311 1.1 christos {
4312 1.1 christos case 0x00:
4313 1.1.1.3 christos goto op_semantics_27;
4314 1.1 christos break;
4315 1.1 christos }
4316 1.1 christos break;
4317 1.1 christos case 0x5f:
4318 1.1 christos GETBYTE ();
4319 1.1 christos switch (op[1] & 0x00)
4320 1.1 christos {
4321 1.1 christos case 0x00:
4322 1.1.1.3 christos goto op_semantics_27;
4323 1.1 christos break;
4324 1.1 christos }
4325 1.1 christos break;
4326 1.1 christos case 0x60:
4327 1.1 christos GETBYTE ();
4328 1.1 christos switch (op[1] & 0x00)
4329 1.1 christos {
4330 1.1 christos case 0x00:
4331 1.1 christos {
4332 1.1 christos /** 0110 0000 immm rdst sub #%2, %0 */
4333 1.1.1.2 christos #line 536 "rx-decode.opc"
4334 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4335 1.1.1.2 christos #line 536 "rx-decode.opc"
4336 1.1 christos int rdst AU = op[1] & 0x0f;
4337 1.1 christos if (trace)
4338 1.1 christos {
4339 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4340 1.1 christos "/** 0110 0000 immm rdst sub #%2, %0 */",
4341 1.1 christos op[0], op[1]);
4342 1.1 christos printf (" immm = 0x%x,", immm);
4343 1.1 christos printf (" rdst = 0x%x\n", rdst);
4344 1.1 christos }
4345 1.1 christos SYNTAX("sub #%2, %0");
4346 1.1.1.2 christos #line 536 "rx-decode.opc"
4347 1.1 christos ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
4348 1.1.1.3 christos
4349 1.1 christos }
4350 1.1 christos break;
4351 1.1 christos }
4352 1.1 christos break;
4353 1.1 christos case 0x61:
4354 1.1 christos GETBYTE ();
4355 1.1 christos switch (op[1] & 0x00)
4356 1.1 christos {
4357 1.1 christos case 0x00:
4358 1.1 christos {
4359 1.1 christos /** 0110 0001 immm rdst cmp #%2, %1 */
4360 1.1.1.2 christos #line 518 "rx-decode.opc"
4361 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4362 1.1.1.2 christos #line 518 "rx-decode.opc"
4363 1.1 christos int rdst AU = op[1] & 0x0f;
4364 1.1 christos if (trace)
4365 1.1 christos {
4366 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4367 1.1 christos "/** 0110 0001 immm rdst cmp #%2, %1 */",
4368 1.1 christos op[0], op[1]);
4369 1.1 christos printf (" immm = 0x%x,", immm);
4370 1.1 christos printf (" rdst = 0x%x\n", rdst);
4371 1.1 christos }
4372 1.1 christos SYNTAX("cmp #%2, %1");
4373 1.1.1.2 christos #line 518 "rx-decode.opc"
4374 1.1 christos ID(sub); S2C(immm); SR(rdst); F_OSZC;
4375 1.1.1.3 christos
4376 1.1 christos }
4377 1.1 christos break;
4378 1.1 christos }
4379 1.1 christos break;
4380 1.1 christos case 0x62:
4381 1.1 christos GETBYTE ();
4382 1.1 christos switch (op[1] & 0x00)
4383 1.1 christos {
4384 1.1 christos case 0x00:
4385 1.1 christos {
4386 1.1 christos /** 0110 0010 immm rdst add #%1, %0 */
4387 1.1.1.2 christos #line 500 "rx-decode.opc"
4388 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4389 1.1.1.2 christos #line 500 "rx-decode.opc"
4390 1.1 christos int rdst AU = op[1] & 0x0f;
4391 1.1 christos if (trace)
4392 1.1 christos {
4393 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4394 1.1 christos "/** 0110 0010 immm rdst add #%1, %0 */",
4395 1.1 christos op[0], op[1]);
4396 1.1 christos printf (" immm = 0x%x,", immm);
4397 1.1 christos printf (" rdst = 0x%x\n", rdst);
4398 1.1 christos }
4399 1.1 christos SYNTAX("add #%1, %0");
4400 1.1.1.2 christos #line 500 "rx-decode.opc"
4401 1.1 christos ID(add); SC(immm); DR(rdst); F_OSZC;
4402 1.1.1.3 christos
4403 1.1 christos }
4404 1.1 christos break;
4405 1.1 christos }
4406 1.1 christos break;
4407 1.1 christos case 0x63:
4408 1.1 christos GETBYTE ();
4409 1.1 christos switch (op[1] & 0x00)
4410 1.1 christos {
4411 1.1 christos case 0x00:
4412 1.1 christos {
4413 1.1 christos /** 0110 0011 immm rdst mul #%1, %0 */
4414 1.1.1.3 christos #line 612 "rx-decode.opc"
4415 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4416 1.1.1.3 christos #line 612 "rx-decode.opc"
4417 1.1 christos int rdst AU = op[1] & 0x0f;
4418 1.1 christos if (trace)
4419 1.1 christos {
4420 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4421 1.1 christos "/** 0110 0011 immm rdst mul #%1, %0 */",
4422 1.1 christos op[0], op[1]);
4423 1.1 christos printf (" immm = 0x%x,", immm);
4424 1.1 christos printf (" rdst = 0x%x\n", rdst);
4425 1.1 christos }
4426 1.1 christos SYNTAX("mul #%1, %0");
4427 1.1.1.3 christos #line 612 "rx-decode.opc"
4428 1.1.1.3 christos if (immm == 1 && rdst == 0)
4429 1.1.1.3 christos {
4430 1.1.1.3 christos ID(nop2);
4431 1.1.1.3 christos SYNTAX ("nop\t; mul\t#1, r0");
4432 1.1.1.3 christos }
4433 1.1.1.3 christos else
4434 1.1.1.3 christos {
4435 1.1.1.3 christos ID(mul);
4436 1.1.1.3 christos }
4437 1.1.1.3 christos DR(rdst); SC(immm); F_____;
4438 1.1.1.3 christos
4439 1.1 christos }
4440 1.1 christos break;
4441 1.1 christos }
4442 1.1 christos break;
4443 1.1 christos case 0x64:
4444 1.1 christos GETBYTE ();
4445 1.1 christos switch (op[1] & 0x00)
4446 1.1 christos {
4447 1.1 christos case 0x00:
4448 1.1 christos {
4449 1.1 christos /** 0110 0100 immm rdst and #%1, %0 */
4450 1.1.1.2 christos #line 410 "rx-decode.opc"
4451 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4452 1.1.1.2 christos #line 410 "rx-decode.opc"
4453 1.1 christos int rdst AU = op[1] & 0x0f;
4454 1.1 christos if (trace)
4455 1.1 christos {
4456 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4457 1.1 christos "/** 0110 0100 immm rdst and #%1, %0 */",
4458 1.1 christos op[0], op[1]);
4459 1.1 christos printf (" immm = 0x%x,", immm);
4460 1.1 christos printf (" rdst = 0x%x\n", rdst);
4461 1.1 christos }
4462 1.1 christos SYNTAX("and #%1, %0");
4463 1.1.1.2 christos #line 410 "rx-decode.opc"
4464 1.1 christos ID(and); SC(immm); DR(rdst); F__SZ_;
4465 1.1.1.3 christos
4466 1.1 christos }
4467 1.1 christos break;
4468 1.1 christos }
4469 1.1 christos break;
4470 1.1 christos case 0x65:
4471 1.1 christos GETBYTE ();
4472 1.1 christos switch (op[1] & 0x00)
4473 1.1 christos {
4474 1.1 christos case 0x00:
4475 1.1 christos {
4476 1.1 christos /** 0110 0101 immm rdst or #%1, %0 */
4477 1.1.1.2 christos #line 428 "rx-decode.opc"
4478 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4479 1.1.1.2 christos #line 428 "rx-decode.opc"
4480 1.1 christos int rdst AU = op[1] & 0x0f;
4481 1.1 christos if (trace)
4482 1.1 christos {
4483 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4484 1.1 christos "/** 0110 0101 immm rdst or #%1, %0 */",
4485 1.1 christos op[0], op[1]);
4486 1.1 christos printf (" immm = 0x%x,", immm);
4487 1.1 christos printf (" rdst = 0x%x\n", rdst);
4488 1.1 christos }
4489 1.1 christos SYNTAX("or #%1, %0");
4490 1.1.1.2 christos #line 428 "rx-decode.opc"
4491 1.1 christos ID(or); SC(immm); DR(rdst); F__SZ_;
4492 1.1.1.3 christos
4493 1.1 christos }
4494 1.1 christos break;
4495 1.1 christos }
4496 1.1 christos break;
4497 1.1 christos case 0x66:
4498 1.1 christos GETBYTE ();
4499 1.1 christos switch (op[1] & 0x00)
4500 1.1 christos {
4501 1.1 christos case 0x00:
4502 1.1 christos {
4503 1.1 christos /** 0110 0110 immm rdst mov%s #%1, %0 */
4504 1.1.1.2 christos #line 304 "rx-decode.opc"
4505 1.1 christos int immm AU = (op[1] >> 4) & 0x0f;
4506 1.1.1.2 christos #line 304 "rx-decode.opc"
4507 1.1 christos int rdst AU = op[1] & 0x0f;
4508 1.1 christos if (trace)
4509 1.1 christos {
4510 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4511 1.1 christos "/** 0110 0110 immm rdst mov%s #%1, %0 */",
4512 1.1 christos op[0], op[1]);
4513 1.1 christos printf (" immm = 0x%x,", immm);
4514 1.1 christos printf (" rdst = 0x%x\n", rdst);
4515 1.1 christos }
4516 1.1 christos SYNTAX("mov%s #%1, %0");
4517 1.1.1.2 christos #line 304 "rx-decode.opc"
4518 1.1 christos ID(mov); DR(rdst); SC(immm); F_____;
4519 1.1.1.3 christos
4520 1.1 christos }
4521 1.1 christos break;
4522 1.1 christos }
4523 1.1 christos break;
4524 1.1 christos case 0x67:
4525 1.1 christos {
4526 1.1 christos /** 0110 0111 rtsd #%1 */
4527 1.1 christos if (trace)
4528 1.1 christos {
4529 1.1 christos printf ("\033[33m%s\033[0m %02x\n",
4530 1.1 christos "/** 0110 0111 rtsd #%1 */",
4531 1.1 christos op[0]);
4532 1.1 christos }
4533 1.1 christos SYNTAX("rtsd #%1");
4534 1.1.1.2 christos #line 401 "rx-decode.opc"
4535 1.1 christos ID(rtsd); SC(IMM(1) * 4);
4536 1.1.1.3 christos
4537 1.1 christos }
4538 1.1 christos break;
4539 1.1 christos case 0x68:
4540 1.1 christos GETBYTE ();
4541 1.1 christos switch (op[1] & 0x00)
4542 1.1 christos {
4543 1.1 christos case 0x00:
4544 1.1.1.3 christos op_semantics_28:
4545 1.1 christos {
4546 1.1 christos /** 0110 100i mmmm rdst shlr #%2, %0 */
4547 1.1.1.3 christos #line 726 "rx-decode.opc"
4548 1.1 christos int i AU = op[0] & 0x01;
4549 1.1.1.3 christos #line 726 "rx-decode.opc"
4550 1.1 christos int mmmm AU = (op[1] >> 4) & 0x0f;
4551 1.1.1.3 christos #line 726 "rx-decode.opc"
4552 1.1 christos int rdst AU = op[1] & 0x0f;
4553 1.1 christos if (trace)
4554 1.1 christos {
4555 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4556 1.1 christos "/** 0110 100i mmmm rdst shlr #%2, %0 */",
4557 1.1 christos op[0], op[1]);
4558 1.1 christos printf (" i = 0x%x,", i);
4559 1.1 christos printf (" mmmm = 0x%x,", mmmm);
4560 1.1 christos printf (" rdst = 0x%x\n", rdst);
4561 1.1 christos }
4562 1.1 christos SYNTAX("shlr #%2, %0");
4563 1.1.1.3 christos #line 726 "rx-decode.opc"
4564 1.1 christos ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
4565 1.1.1.3 christos
4566 1.1 christos }
4567 1.1 christos break;
4568 1.1 christos }
4569 1.1 christos break;
4570 1.1 christos case 0x69:
4571 1.1 christos GETBYTE ();
4572 1.1 christos switch (op[1] & 0x00)
4573 1.1 christos {
4574 1.1 christos case 0x00:
4575 1.1.1.3 christos goto op_semantics_28;
4576 1.1 christos break;
4577 1.1 christos }
4578 1.1 christos break;
4579 1.1 christos case 0x6a:
4580 1.1 christos GETBYTE ();
4581 1.1 christos switch (op[1] & 0x00)
4582 1.1 christos {
4583 1.1 christos case 0x00:
4584 1.1.1.3 christos op_semantics_29:
4585 1.1 christos {
4586 1.1 christos /** 0110 101i mmmm rdst shar #%2, %0 */
4587 1.1.1.3 christos #line 716 "rx-decode.opc"
4588 1.1 christos int i AU = op[0] & 0x01;
4589 1.1.1.3 christos #line 716 "rx-decode.opc"
4590 1.1 christos int mmmm AU = (op[1] >> 4) & 0x0f;
4591 1.1.1.3 christos #line 716 "rx-decode.opc"
4592 1.1 christos int rdst AU = op[1] & 0x0f;
4593 1.1 christos if (trace)
4594 1.1 christos {
4595 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4596 1.1 christos "/** 0110 101i mmmm rdst shar #%2, %0 */",
4597 1.1 christos op[0], op[1]);
4598 1.1 christos printf (" i = 0x%x,", i);
4599 1.1 christos printf (" mmmm = 0x%x,", mmmm);
4600 1.1 christos printf (" rdst = 0x%x\n", rdst);
4601 1.1 christos }
4602 1.1 christos SYNTAX("shar #%2, %0");
4603 1.1.1.3 christos #line 716 "rx-decode.opc"
4604 1.1 christos ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
4605 1.1.1.3 christos
4606 1.1 christos }
4607 1.1 christos break;
4608 1.1 christos }
4609 1.1 christos break;
4610 1.1 christos case 0x6b:
4611 1.1 christos GETBYTE ();
4612 1.1 christos switch (op[1] & 0x00)
4613 1.1 christos {
4614 1.1 christos case 0x00:
4615 1.1.1.3 christos goto op_semantics_29;
4616 1.1 christos break;
4617 1.1 christos }
4618 1.1 christos break;
4619 1.1 christos case 0x6c:
4620 1.1 christos GETBYTE ();
4621 1.1 christos switch (op[1] & 0x00)
4622 1.1 christos {
4623 1.1 christos case 0x00:
4624 1.1.1.3 christos op_semantics_30:
4625 1.1 christos {
4626 1.1 christos /** 0110 110i mmmm rdst shll #%2, %0 */
4627 1.1.1.3 christos #line 706 "rx-decode.opc"
4628 1.1 christos int i AU = op[0] & 0x01;
4629 1.1.1.3 christos #line 706 "rx-decode.opc"
4630 1.1 christos int mmmm AU = (op[1] >> 4) & 0x0f;
4631 1.1.1.3 christos #line 706 "rx-decode.opc"
4632 1.1 christos int rdst AU = op[1] & 0x0f;
4633 1.1 christos if (trace)
4634 1.1 christos {
4635 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4636 1.1 christos "/** 0110 110i mmmm rdst shll #%2, %0 */",
4637 1.1 christos op[0], op[1]);
4638 1.1 christos printf (" i = 0x%x,", i);
4639 1.1 christos printf (" mmmm = 0x%x,", mmmm);
4640 1.1 christos printf (" rdst = 0x%x\n", rdst);
4641 1.1 christos }
4642 1.1 christos SYNTAX("shll #%2, %0");
4643 1.1.1.3 christos #line 706 "rx-decode.opc"
4644 1.1 christos ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
4645 1.1.1.3 christos
4646 1.1 christos }
4647 1.1 christos break;
4648 1.1 christos }
4649 1.1 christos break;
4650 1.1 christos case 0x6d:
4651 1.1 christos GETBYTE ();
4652 1.1 christos switch (op[1] & 0x00)
4653 1.1 christos {
4654 1.1 christos case 0x00:
4655 1.1.1.3 christos goto op_semantics_30;
4656 1.1 christos break;
4657 1.1 christos }
4658 1.1 christos break;
4659 1.1 christos case 0x6e:
4660 1.1 christos GETBYTE ();
4661 1.1 christos switch (op[1] & 0x00)
4662 1.1 christos {
4663 1.1 christos case 0x00:
4664 1.1 christos {
4665 1.1 christos /** 0110 1110 dsta dstb pushm %1-%2 */
4666 1.1.1.2 christos #line 368 "rx-decode.opc"
4667 1.1 christos int dsta AU = (op[1] >> 4) & 0x0f;
4668 1.1.1.2 christos #line 368 "rx-decode.opc"
4669 1.1 christos int dstb AU = op[1] & 0x0f;
4670 1.1 christos if (trace)
4671 1.1 christos {
4672 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4673 1.1 christos "/** 0110 1110 dsta dstb pushm %1-%2 */",
4674 1.1 christos op[0], op[1]);
4675 1.1 christos printf (" dsta = 0x%x,", dsta);
4676 1.1 christos printf (" dstb = 0x%x\n", dstb);
4677 1.1 christos }
4678 1.1 christos SYNTAX("pushm %1-%2");
4679 1.1.1.2 christos #line 368 "rx-decode.opc"
4680 1.1 christos ID(pushm); SR(dsta); S2R(dstb); F_____;
4681 1.1.1.3 christos
4682 1.1 christos }
4683 1.1 christos break;
4684 1.1 christos }
4685 1.1 christos break;
4686 1.1 christos case 0x6f:
4687 1.1 christos GETBYTE ();
4688 1.1 christos switch (op[1] & 0x00)
4689 1.1 christos {
4690 1.1 christos case 0x00:
4691 1.1 christos {
4692 1.1 christos /** 0110 1111 dsta dstb popm %1-%2 */
4693 1.1.1.2 christos #line 365 "rx-decode.opc"
4694 1.1 christos int dsta AU = (op[1] >> 4) & 0x0f;
4695 1.1.1.2 christos #line 365 "rx-decode.opc"
4696 1.1 christos int dstb AU = op[1] & 0x0f;
4697 1.1 christos if (trace)
4698 1.1 christos {
4699 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4700 1.1 christos "/** 0110 1111 dsta dstb popm %1-%2 */",
4701 1.1 christos op[0], op[1]);
4702 1.1 christos printf (" dsta = 0x%x,", dsta);
4703 1.1 christos printf (" dstb = 0x%x\n", dstb);
4704 1.1 christos }
4705 1.1 christos SYNTAX("popm %1-%2");
4706 1.1.1.2 christos #line 365 "rx-decode.opc"
4707 1.1 christos ID(popm); SR(dsta); S2R(dstb); F_____;
4708 1.1.1.3 christos
4709 1.1 christos }
4710 1.1 christos break;
4711 1.1 christos }
4712 1.1 christos break;
4713 1.1 christos case 0x70:
4714 1.1 christos GETBYTE ();
4715 1.1 christos switch (op[1] & 0x00)
4716 1.1 christos {
4717 1.1 christos case 0x00:
4718 1.1.1.3 christos op_semantics_31:
4719 1.1 christos {
4720 1.1 christos /** 0111 00im rsrc rdst add #%1, %2, %0 */
4721 1.1.1.2 christos #line 509 "rx-decode.opc"
4722 1.1 christos int im AU = op[0] & 0x03;
4723 1.1.1.2 christos #line 509 "rx-decode.opc"
4724 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
4725 1.1.1.2 christos #line 509 "rx-decode.opc"
4726 1.1 christos int rdst AU = op[1] & 0x0f;
4727 1.1 christos if (trace)
4728 1.1 christos {
4729 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4730 1.1 christos "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
4731 1.1 christos op[0], op[1]);
4732 1.1 christos printf (" im = 0x%x,", im);
4733 1.1 christos printf (" rsrc = 0x%x,", rsrc);
4734 1.1 christos printf (" rdst = 0x%x\n", rdst);
4735 1.1 christos }
4736 1.1 christos SYNTAX("add #%1, %2, %0");
4737 1.1.1.2 christos #line 509 "rx-decode.opc"
4738 1.1 christos ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
4739 1.1.1.3 christos
4740 1.1 christos }
4741 1.1 christos break;
4742 1.1 christos }
4743 1.1 christos break;
4744 1.1 christos case 0x71:
4745 1.1 christos GETBYTE ();
4746 1.1 christos switch (op[1] & 0x00)
4747 1.1 christos {
4748 1.1 christos case 0x00:
4749 1.1.1.3 christos goto op_semantics_31;
4750 1.1 christos break;
4751 1.1 christos }
4752 1.1 christos break;
4753 1.1 christos case 0x72:
4754 1.1 christos GETBYTE ();
4755 1.1 christos switch (op[1] & 0x00)
4756 1.1 christos {
4757 1.1 christos case 0x00:
4758 1.1.1.3 christos goto op_semantics_31;
4759 1.1 christos break;
4760 1.1 christos }
4761 1.1 christos break;
4762 1.1 christos case 0x73:
4763 1.1 christos GETBYTE ();
4764 1.1 christos switch (op[1] & 0x00)
4765 1.1 christos {
4766 1.1 christos case 0x00:
4767 1.1.1.3 christos goto op_semantics_31;
4768 1.1 christos break;
4769 1.1 christos }
4770 1.1 christos break;
4771 1.1 christos case 0x74:
4772 1.1 christos GETBYTE ();
4773 1.1 christos switch (op[1] & 0xf0)
4774 1.1 christos {
4775 1.1 christos case 0x00:
4776 1.1.1.3 christos op_semantics_32:
4777 1.1 christos {
4778 1.1 christos /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
4779 1.1.1.2 christos #line 521 "rx-decode.opc"
4780 1.1 christos int im AU = op[0] & 0x03;
4781 1.1.1.2 christos #line 521 "rx-decode.opc"
4782 1.1 christos int rsrc AU = op[1] & 0x0f;
4783 1.1 christos if (trace)
4784 1.1 christos {
4785 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4786 1.1 christos "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
4787 1.1 christos op[0], op[1]);
4788 1.1 christos printf (" im = 0x%x,", im);
4789 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
4790 1.1 christos }
4791 1.1 christos SYNTAX("cmp #%2, %1%S1");
4792 1.1.1.2 christos #line 521 "rx-decode.opc"
4793 1.1 christos ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
4794 1.1.1.3 christos
4795 1.1 christos }
4796 1.1 christos break;
4797 1.1 christos case 0x10:
4798 1.1.1.3 christos op_semantics_33:
4799 1.1 christos {
4800 1.1 christos /** 0111 01im 0001rdst mul #%1, %0 */
4801 1.1.1.3 christos #line 624 "rx-decode.opc"
4802 1.1 christos int im AU = op[0] & 0x03;
4803 1.1.1.3 christos #line 624 "rx-decode.opc"
4804 1.1 christos int rdst AU = op[1] & 0x0f;
4805 1.1 christos if (trace)
4806 1.1 christos {
4807 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4808 1.1 christos "/** 0111 01im 0001rdst mul #%1, %0 */",
4809 1.1 christos op[0], op[1]);
4810 1.1 christos printf (" im = 0x%x,", im);
4811 1.1 christos printf (" rdst = 0x%x\n", rdst);
4812 1.1 christos }
4813 1.1 christos SYNTAX("mul #%1, %0");
4814 1.1.1.3 christos #line 624 "rx-decode.opc"
4815 1.1.1.3 christos int val = IMMex(im);
4816 1.1.1.3 christos if (val == 1 && rdst == 0)
4817 1.1.1.3 christos {
4818 1.1.1.3 christos SYNTAX("nop\t; mul\t#1, r0");
4819 1.1.1.3 christos switch (im)
4820 1.1.1.3 christos {
4821 1.1.1.3 christos case 2: ID(nop4); break;
4822 1.1.1.3 christos case 3: ID(nop5); break;
4823 1.1.1.3 christos case 0: ID(nop6); break;
4824 1.1.1.3 christos default:
4825 1.1.1.3 christos ID(mul);
4826 1.1.1.3 christos SYNTAX("mul #%1, %0");
4827 1.1.1.3 christos break;
4828 1.1.1.3 christos }
4829 1.1.1.3 christos }
4830 1.1.1.3 christos else
4831 1.1.1.3 christos {
4832 1.1.1.3 christos ID(mul);
4833 1.1.1.3 christos }
4834 1.1.1.3 christos DR(rdst); SC(val); F_____;
4835 1.1.1.3 christos
4836 1.1 christos }
4837 1.1 christos break;
4838 1.1 christos case 0x20:
4839 1.1.1.3 christos op_semantics_34:
4840 1.1 christos {
4841 1.1 christos /** 0111 01im 0010 rdst and #%1, %0 */
4842 1.1.1.2 christos #line 413 "rx-decode.opc"
4843 1.1 christos int im AU = op[0] & 0x03;
4844 1.1.1.2 christos #line 413 "rx-decode.opc"
4845 1.1 christos int rdst AU = op[1] & 0x0f;
4846 1.1 christos if (trace)
4847 1.1 christos {
4848 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4849 1.1 christos "/** 0111 01im 0010 rdst and #%1, %0 */",
4850 1.1 christos op[0], op[1]);
4851 1.1 christos printf (" im = 0x%x,", im);
4852 1.1 christos printf (" rdst = 0x%x\n", rdst);
4853 1.1 christos }
4854 1.1 christos SYNTAX("and #%1, %0");
4855 1.1.1.2 christos #line 413 "rx-decode.opc"
4856 1.1 christos ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
4857 1.1.1.3 christos
4858 1.1 christos }
4859 1.1 christos break;
4860 1.1 christos case 0x30:
4861 1.1.1.3 christos op_semantics_35:
4862 1.1 christos {
4863 1.1 christos /** 0111 01im 0011 rdst or #%1, %0 */
4864 1.1.1.2 christos #line 431 "rx-decode.opc"
4865 1.1 christos int im AU = op[0] & 0x03;
4866 1.1.1.2 christos #line 431 "rx-decode.opc"
4867 1.1 christos int rdst AU = op[1] & 0x0f;
4868 1.1 christos if (trace)
4869 1.1 christos {
4870 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4871 1.1 christos "/** 0111 01im 0011 rdst or #%1, %0 */",
4872 1.1 christos op[0], op[1]);
4873 1.1 christos printf (" im = 0x%x,", im);
4874 1.1 christos printf (" rdst = 0x%x\n", rdst);
4875 1.1 christos }
4876 1.1 christos SYNTAX("or #%1, %0");
4877 1.1.1.2 christos #line 431 "rx-decode.opc"
4878 1.1 christos ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
4879 1.1.1.3 christos
4880 1.1 christos }
4881 1.1 christos break;
4882 1.1 christos default: UNSUPPORTED(); break;
4883 1.1 christos }
4884 1.1 christos break;
4885 1.1 christos case 0x75:
4886 1.1 christos GETBYTE ();
4887 1.1 christos switch (op[1] & 0xff)
4888 1.1 christos {
4889 1.1 christos case 0x00:
4890 1.1 christos case 0x01:
4891 1.1 christos case 0x02:
4892 1.1 christos case 0x03:
4893 1.1 christos case 0x04:
4894 1.1 christos case 0x05:
4895 1.1 christos case 0x06:
4896 1.1 christos case 0x07:
4897 1.1 christos case 0x08:
4898 1.1 christos case 0x09:
4899 1.1 christos case 0x0a:
4900 1.1 christos case 0x0b:
4901 1.1 christos case 0x0c:
4902 1.1 christos case 0x0d:
4903 1.1 christos case 0x0e:
4904 1.1 christos case 0x0f:
4905 1.1.1.3 christos goto op_semantics_32;
4906 1.1 christos break;
4907 1.1 christos case 0x10:
4908 1.1 christos case 0x11:
4909 1.1 christos case 0x12:
4910 1.1 christos case 0x13:
4911 1.1 christos case 0x14:
4912 1.1 christos case 0x15:
4913 1.1 christos case 0x16:
4914 1.1 christos case 0x17:
4915 1.1 christos case 0x18:
4916 1.1 christos case 0x19:
4917 1.1 christos case 0x1a:
4918 1.1 christos case 0x1b:
4919 1.1 christos case 0x1c:
4920 1.1 christos case 0x1d:
4921 1.1 christos case 0x1e:
4922 1.1 christos case 0x1f:
4923 1.1.1.3 christos goto op_semantics_33;
4924 1.1 christos break;
4925 1.1 christos case 0x20:
4926 1.1 christos case 0x21:
4927 1.1 christos case 0x22:
4928 1.1 christos case 0x23:
4929 1.1 christos case 0x24:
4930 1.1 christos case 0x25:
4931 1.1 christos case 0x26:
4932 1.1 christos case 0x27:
4933 1.1 christos case 0x28:
4934 1.1 christos case 0x29:
4935 1.1 christos case 0x2a:
4936 1.1 christos case 0x2b:
4937 1.1 christos case 0x2c:
4938 1.1 christos case 0x2d:
4939 1.1 christos case 0x2e:
4940 1.1 christos case 0x2f:
4941 1.1.1.3 christos goto op_semantics_34;
4942 1.1 christos break;
4943 1.1 christos case 0x30:
4944 1.1 christos case 0x31:
4945 1.1 christos case 0x32:
4946 1.1 christos case 0x33:
4947 1.1 christos case 0x34:
4948 1.1 christos case 0x35:
4949 1.1 christos case 0x36:
4950 1.1 christos case 0x37:
4951 1.1 christos case 0x38:
4952 1.1 christos case 0x39:
4953 1.1 christos case 0x3a:
4954 1.1 christos case 0x3b:
4955 1.1 christos case 0x3c:
4956 1.1 christos case 0x3d:
4957 1.1 christos case 0x3e:
4958 1.1 christos case 0x3f:
4959 1.1.1.3 christos goto op_semantics_35;
4960 1.1 christos break;
4961 1.1 christos case 0x40:
4962 1.1 christos case 0x41:
4963 1.1 christos case 0x42:
4964 1.1 christos case 0x43:
4965 1.1 christos case 0x44:
4966 1.1 christos case 0x45:
4967 1.1 christos case 0x46:
4968 1.1 christos case 0x47:
4969 1.1 christos case 0x48:
4970 1.1 christos case 0x49:
4971 1.1 christos case 0x4a:
4972 1.1 christos case 0x4b:
4973 1.1 christos case 0x4c:
4974 1.1 christos case 0x4d:
4975 1.1 christos case 0x4e:
4976 1.1 christos case 0x4f:
4977 1.1 christos {
4978 1.1 christos /** 0111 0101 0100 rdst mov%s #%1, %0 */
4979 1.1.1.2 christos #line 285 "rx-decode.opc"
4980 1.1 christos int rdst AU = op[1] & 0x0f;
4981 1.1 christos if (trace)
4982 1.1 christos {
4983 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
4984 1.1 christos "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
4985 1.1 christos op[0], op[1]);
4986 1.1 christos printf (" rdst = 0x%x\n", rdst);
4987 1.1 christos }
4988 1.1 christos SYNTAX("mov%s #%1, %0");
4989 1.1.1.2 christos #line 285 "rx-decode.opc"
4990 1.1 christos ID(mov); DR(rdst); SC(IMM (1)); F_____;
4991 1.1.1.3 christos
4992 1.1 christos }
4993 1.1 christos break;
4994 1.1 christos case 0x50:
4995 1.1 christos case 0x51:
4996 1.1 christos case 0x52:
4997 1.1 christos case 0x53:
4998 1.1 christos case 0x54:
4999 1.1 christos case 0x55:
5000 1.1 christos case 0x56:
5001 1.1 christos case 0x57:
5002 1.1 christos case 0x58:
5003 1.1 christos case 0x59:
5004 1.1 christos case 0x5a:
5005 1.1 christos case 0x5b:
5006 1.1 christos case 0x5c:
5007 1.1 christos case 0x5d:
5008 1.1 christos case 0x5e:
5009 1.1 christos case 0x5f:
5010 1.1 christos {
5011 1.1 christos /** 0111 0101 0101 rsrc cmp #%2, %1 */
5012 1.1.1.2 christos #line 524 "rx-decode.opc"
5013 1.1 christos int rsrc AU = op[1] & 0x0f;
5014 1.1 christos if (trace)
5015 1.1 christos {
5016 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5017 1.1 christos "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
5018 1.1 christos op[0], op[1]);
5019 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
5020 1.1 christos }
5021 1.1 christos SYNTAX("cmp #%2, %1");
5022 1.1.1.2 christos #line 524 "rx-decode.opc"
5023 1.1 christos ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
5024 1.1.1.3 christos
5025 1.1 christos }
5026 1.1 christos break;
5027 1.1 christos case 0x60:
5028 1.1 christos {
5029 1.1 christos /** 0111 0101 0110 0000 int #%1 */
5030 1.1 christos if (trace)
5031 1.1 christos {
5032 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5033 1.1 christos "/** 0111 0101 0110 0000 int #%1 */",
5034 1.1 christos op[0], op[1]);
5035 1.1 christos }
5036 1.1 christos SYNTAX("int #%1");
5037 1.1.1.3 christos #line 1031 "rx-decode.opc"
5038 1.1 christos ID(int); SC(IMM(1));
5039 1.1.1.3 christos
5040 1.1 christos }
5041 1.1 christos break;
5042 1.1 christos case 0x70:
5043 1.1 christos GETBYTE ();
5044 1.1 christos switch (op[2] & 0xf0)
5045 1.1 christos {
5046 1.1 christos case 0x00:
5047 1.1 christos {
5048 1.1 christos /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
5049 1.1.1.3 christos #line 998 "rx-decode.opc"
5050 1.1 christos int immm AU = op[2] & 0x0f;
5051 1.1 christos if (trace)
5052 1.1 christos {
5053 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
5054 1.1 christos "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
5055 1.1 christos op[0], op[1], op[2]);
5056 1.1 christos printf (" immm = 0x%x\n", immm);
5057 1.1 christos }
5058 1.1 christos SYNTAX("mvtipl #%1");
5059 1.1.1.3 christos #line 998 "rx-decode.opc"
5060 1.1 christos ID(mvtipl); SC(immm);
5061 1.1.1.3 christos
5062 1.1 christos }
5063 1.1 christos break;
5064 1.1 christos default: UNSUPPORTED(); break;
5065 1.1 christos }
5066 1.1 christos break;
5067 1.1 christos default: UNSUPPORTED(); break;
5068 1.1 christos }
5069 1.1 christos break;
5070 1.1 christos case 0x76:
5071 1.1 christos GETBYTE ();
5072 1.1 christos switch (op[1] & 0xf0)
5073 1.1 christos {
5074 1.1 christos case 0x00:
5075 1.1.1.3 christos goto op_semantics_32;
5076 1.1 christos break;
5077 1.1 christos case 0x10:
5078 1.1.1.3 christos goto op_semantics_33;
5079 1.1 christos break;
5080 1.1 christos case 0x20:
5081 1.1.1.3 christos goto op_semantics_34;
5082 1.1 christos break;
5083 1.1 christos case 0x30:
5084 1.1.1.3 christos goto op_semantics_35;
5085 1.1 christos break;
5086 1.1 christos default: UNSUPPORTED(); break;
5087 1.1 christos }
5088 1.1 christos break;
5089 1.1 christos case 0x77:
5090 1.1 christos GETBYTE ();
5091 1.1 christos switch (op[1] & 0xf0)
5092 1.1 christos {
5093 1.1 christos case 0x00:
5094 1.1.1.3 christos goto op_semantics_32;
5095 1.1 christos break;
5096 1.1 christos case 0x10:
5097 1.1.1.3 christos goto op_semantics_33;
5098 1.1 christos break;
5099 1.1 christos case 0x20:
5100 1.1.1.3 christos goto op_semantics_34;
5101 1.1 christos break;
5102 1.1 christos case 0x30:
5103 1.1.1.3 christos goto op_semantics_35;
5104 1.1 christos break;
5105 1.1 christos default: UNSUPPORTED(); break;
5106 1.1 christos }
5107 1.1 christos break;
5108 1.1 christos case 0x78:
5109 1.1 christos GETBYTE ();
5110 1.1 christos switch (op[1] & 0x00)
5111 1.1 christos {
5112 1.1 christos case 0x00:
5113 1.1.1.3 christos op_semantics_36:
5114 1.1 christos {
5115 1.1 christos /** 0111 100b ittt rdst bset #%1, %0 */
5116 1.1.1.3 christos #line 943 "rx-decode.opc"
5117 1.1 christos int b AU = op[0] & 0x01;
5118 1.1.1.3 christos #line 943 "rx-decode.opc"
5119 1.1 christos int ittt AU = (op[1] >> 4) & 0x0f;
5120 1.1.1.3 christos #line 943 "rx-decode.opc"
5121 1.1 christos int rdst AU = op[1] & 0x0f;
5122 1.1 christos if (trace)
5123 1.1 christos {
5124 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5125 1.1 christos "/** 0111 100b ittt rdst bset #%1, %0 */",
5126 1.1 christos op[0], op[1]);
5127 1.1 christos printf (" b = 0x%x,", b);
5128 1.1 christos printf (" ittt = 0x%x,", ittt);
5129 1.1 christos printf (" rdst = 0x%x\n", rdst);
5130 1.1 christos }
5131 1.1 christos SYNTAX("bset #%1, %0");
5132 1.1.1.3 christos #line 943 "rx-decode.opc"
5133 1.1 christos ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5134 1.1.1.3 christos
5135 1.1.1.3 christos
5136 1.1 christos }
5137 1.1 christos break;
5138 1.1 christos }
5139 1.1 christos break;
5140 1.1 christos case 0x79:
5141 1.1 christos GETBYTE ();
5142 1.1 christos switch (op[1] & 0x00)
5143 1.1 christos {
5144 1.1 christos case 0x00:
5145 1.1.1.3 christos goto op_semantics_36;
5146 1.1 christos break;
5147 1.1 christos }
5148 1.1 christos break;
5149 1.1 christos case 0x7a:
5150 1.1 christos GETBYTE ();
5151 1.1 christos switch (op[1] & 0x00)
5152 1.1 christos {
5153 1.1 christos case 0x00:
5154 1.1.1.3 christos op_semantics_37:
5155 1.1 christos {
5156 1.1 christos /** 0111 101b ittt rdst bclr #%1, %0 */
5157 1.1.1.3 christos #line 955 "rx-decode.opc"
5158 1.1 christos int b AU = op[0] & 0x01;
5159 1.1.1.3 christos #line 955 "rx-decode.opc"
5160 1.1 christos int ittt AU = (op[1] >> 4) & 0x0f;
5161 1.1.1.3 christos #line 955 "rx-decode.opc"
5162 1.1 christos int rdst AU = op[1] & 0x0f;
5163 1.1 christos if (trace)
5164 1.1 christos {
5165 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5166 1.1 christos "/** 0111 101b ittt rdst bclr #%1, %0 */",
5167 1.1 christos op[0], op[1]);
5168 1.1 christos printf (" b = 0x%x,", b);
5169 1.1 christos printf (" ittt = 0x%x,", ittt);
5170 1.1 christos printf (" rdst = 0x%x\n", rdst);
5171 1.1 christos }
5172 1.1 christos SYNTAX("bclr #%1, %0");
5173 1.1.1.3 christos #line 955 "rx-decode.opc"
5174 1.1 christos ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
5175 1.1.1.3 christos
5176 1.1.1.3 christos
5177 1.1 christos }
5178 1.1 christos break;
5179 1.1 christos }
5180 1.1 christos break;
5181 1.1 christos case 0x7b:
5182 1.1 christos GETBYTE ();
5183 1.1 christos switch (op[1] & 0x00)
5184 1.1 christos {
5185 1.1 christos case 0x00:
5186 1.1.1.3 christos goto op_semantics_37;
5187 1.1 christos break;
5188 1.1 christos }
5189 1.1 christos break;
5190 1.1 christos case 0x7c:
5191 1.1 christos GETBYTE ();
5192 1.1 christos switch (op[1] & 0x00)
5193 1.1 christos {
5194 1.1 christos case 0x00:
5195 1.1.1.3 christos op_semantics_38:
5196 1.1 christos {
5197 1.1 christos /** 0111 110b ittt rdst btst #%2, %1 */
5198 1.1.1.3 christos #line 967 "rx-decode.opc"
5199 1.1 christos int b AU = op[0] & 0x01;
5200 1.1.1.3 christos #line 967 "rx-decode.opc"
5201 1.1 christos int ittt AU = (op[1] >> 4) & 0x0f;
5202 1.1.1.3 christos #line 967 "rx-decode.opc"
5203 1.1 christos int rdst AU = op[1] & 0x0f;
5204 1.1 christos if (trace)
5205 1.1 christos {
5206 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5207 1.1 christos "/** 0111 110b ittt rdst btst #%2, %1 */",
5208 1.1 christos op[0], op[1]);
5209 1.1 christos printf (" b = 0x%x,", b);
5210 1.1 christos printf (" ittt = 0x%x,", ittt);
5211 1.1 christos printf (" rdst = 0x%x\n", rdst);
5212 1.1 christos }
5213 1.1 christos SYNTAX("btst #%2, %1");
5214 1.1.1.3 christos #line 967 "rx-decode.opc"
5215 1.1 christos ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
5216 1.1.1.3 christos
5217 1.1.1.3 christos
5218 1.1 christos }
5219 1.1 christos break;
5220 1.1 christos }
5221 1.1 christos break;
5222 1.1 christos case 0x7d:
5223 1.1 christos GETBYTE ();
5224 1.1 christos switch (op[1] & 0x00)
5225 1.1 christos {
5226 1.1 christos case 0x00:
5227 1.1.1.3 christos goto op_semantics_38;
5228 1.1 christos break;
5229 1.1 christos }
5230 1.1 christos break;
5231 1.1 christos case 0x7e:
5232 1.1 christos GETBYTE ();
5233 1.1 christos switch (op[1] & 0xf0)
5234 1.1 christos {
5235 1.1 christos case 0x00:
5236 1.1 christos {
5237 1.1 christos /** 0111 1110 0000 rdst not %0 */
5238 1.1.1.2 christos #line 458 "rx-decode.opc"
5239 1.1 christos int rdst AU = op[1] & 0x0f;
5240 1.1 christos if (trace)
5241 1.1 christos {
5242 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5243 1.1 christos "/** 0111 1110 0000 rdst not %0 */",
5244 1.1 christos op[0], op[1]);
5245 1.1 christos printf (" rdst = 0x%x\n", rdst);
5246 1.1 christos }
5247 1.1 christos SYNTAX("not %0");
5248 1.1.1.2 christos #line 458 "rx-decode.opc"
5249 1.1 christos ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
5250 1.1.1.3 christos
5251 1.1 christos }
5252 1.1 christos break;
5253 1.1 christos case 0x10:
5254 1.1 christos {
5255 1.1 christos /** 0111 1110 0001 rdst neg %0 */
5256 1.1.1.2 christos #line 479 "rx-decode.opc"
5257 1.1 christos int rdst AU = op[1] & 0x0f;
5258 1.1 christos if (trace)
5259 1.1 christos {
5260 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5261 1.1 christos "/** 0111 1110 0001 rdst neg %0 */",
5262 1.1 christos op[0], op[1]);
5263 1.1 christos printf (" rdst = 0x%x\n", rdst);
5264 1.1 christos }
5265 1.1 christos SYNTAX("neg %0");
5266 1.1.1.2 christos #line 479 "rx-decode.opc"
5267 1.1 christos ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
5268 1.1.1.3 christos
5269 1.1 christos }
5270 1.1 christos break;
5271 1.1 christos case 0x20:
5272 1.1 christos {
5273 1.1 christos /** 0111 1110 0010 rdst abs %0 */
5274 1.1.1.2 christos #line 561 "rx-decode.opc"
5275 1.1 christos int rdst AU = op[1] & 0x0f;
5276 1.1 christos if (trace)
5277 1.1 christos {
5278 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5279 1.1 christos "/** 0111 1110 0010 rdst abs %0 */",
5280 1.1 christos op[0], op[1]);
5281 1.1 christos printf (" rdst = 0x%x\n", rdst);
5282 1.1 christos }
5283 1.1 christos SYNTAX("abs %0");
5284 1.1.1.2 christos #line 561 "rx-decode.opc"
5285 1.1 christos ID(abs); DR(rdst); SR(rdst); F_OSZ_;
5286 1.1.1.3 christos
5287 1.1 christos }
5288 1.1 christos break;
5289 1.1 christos case 0x30:
5290 1.1 christos {
5291 1.1 christos /** 0111 1110 0011 rdst sat %0 */
5292 1.1.1.3 christos #line 881 "rx-decode.opc"
5293 1.1 christos int rdst AU = op[1] & 0x0f;
5294 1.1 christos if (trace)
5295 1.1 christos {
5296 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5297 1.1 christos "/** 0111 1110 0011 rdst sat %0 */",
5298 1.1 christos op[0], op[1]);
5299 1.1 christos printf (" rdst = 0x%x\n", rdst);
5300 1.1 christos }
5301 1.1 christos SYNTAX("sat %0");
5302 1.1.1.3 christos #line 881 "rx-decode.opc"
5303 1.1 christos ID(sat); DR (rdst);
5304 1.1.1.3 christos
5305 1.1 christos }
5306 1.1 christos break;
5307 1.1 christos case 0x40:
5308 1.1 christos {
5309 1.1 christos /** 0111 1110 0100 rdst rorc %0 */
5310 1.1.1.3 christos #line 741 "rx-decode.opc"
5311 1.1 christos int rdst AU = op[1] & 0x0f;
5312 1.1 christos if (trace)
5313 1.1 christos {
5314 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5315 1.1 christos "/** 0111 1110 0100 rdst rorc %0 */",
5316 1.1 christos op[0], op[1]);
5317 1.1 christos printf (" rdst = 0x%x\n", rdst);
5318 1.1 christos }
5319 1.1 christos SYNTAX("rorc %0");
5320 1.1.1.3 christos #line 741 "rx-decode.opc"
5321 1.1 christos ID(rorc); DR(rdst); F__SZC;
5322 1.1.1.3 christos
5323 1.1 christos }
5324 1.1 christos break;
5325 1.1 christos case 0x50:
5326 1.1 christos {
5327 1.1 christos /** 0111 1110 0101 rdst rolc %0 */
5328 1.1.1.3 christos #line 738 "rx-decode.opc"
5329 1.1 christos int rdst AU = op[1] & 0x0f;
5330 1.1 christos if (trace)
5331 1.1 christos {
5332 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5333 1.1 christos "/** 0111 1110 0101 rdst rolc %0 */",
5334 1.1 christos op[0], op[1]);
5335 1.1 christos printf (" rdst = 0x%x\n", rdst);
5336 1.1 christos }
5337 1.1 christos SYNTAX("rolc %0");
5338 1.1.1.3 christos #line 738 "rx-decode.opc"
5339 1.1 christos ID(rolc); DR(rdst); F__SZC;
5340 1.1.1.3 christos
5341 1.1 christos }
5342 1.1 christos break;
5343 1.1 christos case 0x80:
5344 1.1 christos case 0x90:
5345 1.1 christos case 0xa0:
5346 1.1 christos {
5347 1.1 christos /** 0111 1110 10sz rsrc push%s %1 */
5348 1.1.1.2 christos #line 374 "rx-decode.opc"
5349 1.1 christos int sz AU = (op[1] >> 4) & 0x03;
5350 1.1.1.2 christos #line 374 "rx-decode.opc"
5351 1.1 christos int rsrc AU = op[1] & 0x0f;
5352 1.1 christos if (trace)
5353 1.1 christos {
5354 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5355 1.1 christos "/** 0111 1110 10sz rsrc push%s %1 */",
5356 1.1 christos op[0], op[1]);
5357 1.1 christos printf (" sz = 0x%x,", sz);
5358 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
5359 1.1 christos }
5360 1.1 christos SYNTAX("push%s %1");
5361 1.1.1.2 christos #line 374 "rx-decode.opc"
5362 1.1 christos ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
5363 1.1.1.3 christos
5364 1.1 christos }
5365 1.1 christos break;
5366 1.1 christos case 0xb0:
5367 1.1 christos {
5368 1.1 christos /** 0111 1110 1011 rdst pop %0 */
5369 1.1.1.2 christos #line 371 "rx-decode.opc"
5370 1.1 christos int rdst AU = op[1] & 0x0f;
5371 1.1 christos if (trace)
5372 1.1 christos {
5373 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5374 1.1 christos "/** 0111 1110 1011 rdst pop %0 */",
5375 1.1 christos op[0], op[1]);
5376 1.1 christos printf (" rdst = 0x%x\n", rdst);
5377 1.1 christos }
5378 1.1 christos SYNTAX("pop %0");
5379 1.1.1.2 christos #line 371 "rx-decode.opc"
5380 1.1 christos ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
5381 1.1.1.3 christos
5382 1.1 christos }
5383 1.1 christos break;
5384 1.1 christos case 0xc0:
5385 1.1 christos case 0xd0:
5386 1.1 christos {
5387 1.1 christos /** 0111 1110 110 crsrc pushc %1 */
5388 1.1.1.3 christos #line 1004 "rx-decode.opc"
5389 1.1 christos int crsrc AU = op[1] & 0x1f;
5390 1.1 christos if (trace)
5391 1.1 christos {
5392 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5393 1.1 christos "/** 0111 1110 110 crsrc pushc %1 */",
5394 1.1 christos op[0], op[1]);
5395 1.1 christos printf (" crsrc = 0x%x\n", crsrc);
5396 1.1 christos }
5397 1.1 christos SYNTAX("pushc %1");
5398 1.1.1.3 christos #line 1004 "rx-decode.opc"
5399 1.1 christos ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
5400 1.1.1.3 christos
5401 1.1 christos }
5402 1.1 christos break;
5403 1.1 christos case 0xe0:
5404 1.1 christos case 0xf0:
5405 1.1 christos {
5406 1.1 christos /** 0111 1110 111 crdst popc %0 */
5407 1.1.1.3 christos #line 1001 "rx-decode.opc"
5408 1.1 christos int crdst AU = op[1] & 0x1f;
5409 1.1 christos if (trace)
5410 1.1 christos {
5411 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5412 1.1 christos "/** 0111 1110 111 crdst popc %0 */",
5413 1.1 christos op[0], op[1]);
5414 1.1 christos printf (" crdst = 0x%x\n", crdst);
5415 1.1 christos }
5416 1.1 christos SYNTAX("popc %0");
5417 1.1.1.3 christos #line 1001 "rx-decode.opc"
5418 1.1 christos ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
5419 1.1.1.3 christos
5420 1.1 christos }
5421 1.1 christos break;
5422 1.1 christos default: UNSUPPORTED(); break;
5423 1.1 christos }
5424 1.1 christos break;
5425 1.1 christos case 0x7f:
5426 1.1 christos GETBYTE ();
5427 1.1 christos switch (op[1] & 0xff)
5428 1.1 christos {
5429 1.1 christos case 0x00:
5430 1.1 christos case 0x01:
5431 1.1 christos case 0x02:
5432 1.1 christos case 0x03:
5433 1.1 christos case 0x04:
5434 1.1 christos case 0x05:
5435 1.1 christos case 0x06:
5436 1.1 christos case 0x07:
5437 1.1 christos case 0x08:
5438 1.1 christos case 0x09:
5439 1.1 christos case 0x0a:
5440 1.1 christos case 0x0b:
5441 1.1 christos case 0x0c:
5442 1.1 christos case 0x0d:
5443 1.1 christos case 0x0e:
5444 1.1 christos case 0x0f:
5445 1.1 christos {
5446 1.1 christos /** 0111 1111 0000 rsrc jmp %0 */
5447 1.1.1.3 christos #line 791 "rx-decode.opc"
5448 1.1 christos int rsrc AU = op[1] & 0x0f;
5449 1.1 christos if (trace)
5450 1.1 christos {
5451 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5452 1.1 christos "/** 0111 1111 0000 rsrc jmp %0 */",
5453 1.1 christos op[0], op[1]);
5454 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
5455 1.1 christos }
5456 1.1 christos SYNTAX("jmp %0");
5457 1.1.1.3 christos #line 791 "rx-decode.opc"
5458 1.1 christos ID(branch); DR(rsrc);
5459 1.1.1.3 christos
5460 1.1 christos }
5461 1.1 christos break;
5462 1.1 christos case 0x10:
5463 1.1 christos case 0x11:
5464 1.1 christos case 0x12:
5465 1.1 christos case 0x13:
5466 1.1 christos case 0x14:
5467 1.1 christos case 0x15:
5468 1.1 christos case 0x16:
5469 1.1 christos case 0x17:
5470 1.1 christos case 0x18:
5471 1.1 christos case 0x19:
5472 1.1 christos case 0x1a:
5473 1.1 christos case 0x1b:
5474 1.1 christos case 0x1c:
5475 1.1 christos case 0x1d:
5476 1.1 christos case 0x1e:
5477 1.1 christos case 0x1f:
5478 1.1 christos {
5479 1.1 christos /** 0111 1111 0001 rsrc jsr %0 */
5480 1.1.1.3 christos #line 794 "rx-decode.opc"
5481 1.1 christos int rsrc AU = op[1] & 0x0f;
5482 1.1 christos if (trace)
5483 1.1 christos {
5484 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5485 1.1 christos "/** 0111 1111 0001 rsrc jsr %0 */",
5486 1.1 christos op[0], op[1]);
5487 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
5488 1.1 christos }
5489 1.1 christos SYNTAX("jsr %0");
5490 1.1.1.3 christos #line 794 "rx-decode.opc"
5491 1.1 christos ID(jsr); DR(rsrc);
5492 1.1.1.3 christos
5493 1.1 christos }
5494 1.1 christos break;
5495 1.1 christos case 0x40:
5496 1.1 christos case 0x41:
5497 1.1 christos case 0x42:
5498 1.1 christos case 0x43:
5499 1.1 christos case 0x44:
5500 1.1 christos case 0x45:
5501 1.1 christos case 0x46:
5502 1.1 christos case 0x47:
5503 1.1 christos case 0x48:
5504 1.1 christos case 0x49:
5505 1.1 christos case 0x4a:
5506 1.1 christos case 0x4b:
5507 1.1 christos case 0x4c:
5508 1.1 christos case 0x4d:
5509 1.1 christos case 0x4e:
5510 1.1 christos case 0x4f:
5511 1.1 christos {
5512 1.1 christos /** 0111 1111 0100 rsrc bra.l %0 */
5513 1.1.1.3 christos #line 787 "rx-decode.opc"
5514 1.1 christos int rsrc AU = op[1] & 0x0f;
5515 1.1 christos if (trace)
5516 1.1 christos {
5517 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5518 1.1 christos "/** 0111 1111 0100 rsrc bra.l %0 */",
5519 1.1 christos op[0], op[1]);
5520 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
5521 1.1 christos }
5522 1.1 christos SYNTAX("bra.l %0");
5523 1.1.1.3 christos #line 787 "rx-decode.opc"
5524 1.1 christos ID(branchrel); DR(rsrc);
5525 1.1.1.3 christos
5526 1.1.1.3 christos
5527 1.1 christos }
5528 1.1 christos break;
5529 1.1 christos case 0x50:
5530 1.1 christos case 0x51:
5531 1.1 christos case 0x52:
5532 1.1 christos case 0x53:
5533 1.1 christos case 0x54:
5534 1.1 christos case 0x55:
5535 1.1 christos case 0x56:
5536 1.1 christos case 0x57:
5537 1.1 christos case 0x58:
5538 1.1 christos case 0x59:
5539 1.1 christos case 0x5a:
5540 1.1 christos case 0x5b:
5541 1.1 christos case 0x5c:
5542 1.1 christos case 0x5d:
5543 1.1 christos case 0x5e:
5544 1.1 christos case 0x5f:
5545 1.1 christos {
5546 1.1 christos /** 0111 1111 0101 rsrc bsr.l %0 */
5547 1.1.1.3 christos #line 803 "rx-decode.opc"
5548 1.1 christos int rsrc AU = op[1] & 0x0f;
5549 1.1 christos if (trace)
5550 1.1 christos {
5551 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5552 1.1 christos "/** 0111 1111 0101 rsrc bsr.l %0 */",
5553 1.1 christos op[0], op[1]);
5554 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
5555 1.1 christos }
5556 1.1 christos SYNTAX("bsr.l %0");
5557 1.1.1.3 christos #line 803 "rx-decode.opc"
5558 1.1 christos ID(jsrrel); DR(rsrc);
5559 1.1.1.3 christos
5560 1.1 christos }
5561 1.1 christos break;
5562 1.1 christos case 0x80:
5563 1.1 christos case 0x81:
5564 1.1 christos case 0x82:
5565 1.1 christos {
5566 1.1 christos /** 0111 1111 1000 00sz suntil%s */
5567 1.1.1.3 christos #line 827 "rx-decode.opc"
5568 1.1 christos int sz AU = op[1] & 0x03;
5569 1.1 christos if (trace)
5570 1.1 christos {
5571 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5572 1.1 christos "/** 0111 1111 1000 00sz suntil%s */",
5573 1.1 christos op[0], op[1]);
5574 1.1 christos printf (" sz = 0x%x\n", sz);
5575 1.1 christos }
5576 1.1 christos SYNTAX("suntil%s");
5577 1.1.1.3 christos #line 827 "rx-decode.opc"
5578 1.1 christos ID(suntil); BWL(sz); F___ZC;
5579 1.1.1.3 christos
5580 1.1 christos }
5581 1.1 christos break;
5582 1.1 christos case 0x83:
5583 1.1 christos {
5584 1.1 christos /** 0111 1111 1000 0011 scmpu */
5585 1.1 christos if (trace)
5586 1.1 christos {
5587 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5588 1.1 christos "/** 0111 1111 1000 0011 scmpu */",
5589 1.1 christos op[0], op[1]);
5590 1.1 christos }
5591 1.1 christos SYNTAX("scmpu");
5592 1.1.1.3 christos #line 818 "rx-decode.opc"
5593 1.1 christos ID(scmpu); F___ZC;
5594 1.1.1.3 christos
5595 1.1 christos }
5596 1.1 christos break;
5597 1.1 christos case 0x84:
5598 1.1 christos case 0x85:
5599 1.1 christos case 0x86:
5600 1.1 christos {
5601 1.1 christos /** 0111 1111 1000 01sz swhile%s */
5602 1.1.1.3 christos #line 830 "rx-decode.opc"
5603 1.1 christos int sz AU = op[1] & 0x03;
5604 1.1 christos if (trace)
5605 1.1 christos {
5606 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5607 1.1 christos "/** 0111 1111 1000 01sz swhile%s */",
5608 1.1 christos op[0], op[1]);
5609 1.1 christos printf (" sz = 0x%x\n", sz);
5610 1.1 christos }
5611 1.1 christos SYNTAX("swhile%s");
5612 1.1.1.3 christos #line 830 "rx-decode.opc"
5613 1.1 christos ID(swhile); BWL(sz); F___ZC;
5614 1.1.1.3 christos
5615 1.1 christos }
5616 1.1 christos break;
5617 1.1 christos case 0x87:
5618 1.1 christos {
5619 1.1 christos /** 0111 1111 1000 0111 smovu */
5620 1.1 christos if (trace)
5621 1.1 christos {
5622 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5623 1.1 christos "/** 0111 1111 1000 0111 smovu */",
5624 1.1 christos op[0], op[1]);
5625 1.1 christos }
5626 1.1 christos SYNTAX("smovu");
5627 1.1.1.3 christos #line 821 "rx-decode.opc"
5628 1.1 christos ID(smovu);
5629 1.1.1.3 christos
5630 1.1 christos }
5631 1.1 christos break;
5632 1.1 christos case 0x88:
5633 1.1 christos case 0x89:
5634 1.1 christos case 0x8a:
5635 1.1 christos {
5636 1.1 christos /** 0111 1111 1000 10sz sstr%s */
5637 1.1.1.3 christos #line 836 "rx-decode.opc"
5638 1.1 christos int sz AU = op[1] & 0x03;
5639 1.1 christos if (trace)
5640 1.1 christos {
5641 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5642 1.1 christos "/** 0111 1111 1000 10sz sstr%s */",
5643 1.1 christos op[0], op[1]);
5644 1.1 christos printf (" sz = 0x%x\n", sz);
5645 1.1 christos }
5646 1.1 christos SYNTAX("sstr%s");
5647 1.1.1.3 christos #line 836 "rx-decode.opc"
5648 1.1 christos ID(sstr); BWL(sz);
5649 1.1.1.3 christos
5650 1.1 christos /*----------------------------------------------------------------------*/
5651 1.1 christos /* RMPA */
5652 1.1.1.3 christos
5653 1.1 christos }
5654 1.1 christos break;
5655 1.1 christos case 0x8b:
5656 1.1 christos {
5657 1.1 christos /** 0111 1111 1000 1011 smovb */
5658 1.1 christos if (trace)
5659 1.1 christos {
5660 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5661 1.1 christos "/** 0111 1111 1000 1011 smovb */",
5662 1.1 christos op[0], op[1]);
5663 1.1 christos }
5664 1.1 christos SYNTAX("smovb");
5665 1.1.1.3 christos #line 824 "rx-decode.opc"
5666 1.1 christos ID(smovb);
5667 1.1.1.3 christos
5668 1.1 christos }
5669 1.1 christos break;
5670 1.1 christos case 0x8c:
5671 1.1 christos case 0x8d:
5672 1.1 christos case 0x8e:
5673 1.1 christos {
5674 1.1 christos /** 0111 1111 1000 11sz rmpa%s */
5675 1.1.1.3 christos #line 842 "rx-decode.opc"
5676 1.1 christos int sz AU = op[1] & 0x03;
5677 1.1 christos if (trace)
5678 1.1 christos {
5679 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5680 1.1 christos "/** 0111 1111 1000 11sz rmpa%s */",
5681 1.1 christos op[0], op[1]);
5682 1.1 christos printf (" sz = 0x%x\n", sz);
5683 1.1 christos }
5684 1.1 christos SYNTAX("rmpa%s");
5685 1.1.1.3 christos #line 842 "rx-decode.opc"
5686 1.1 christos ID(rmpa); BWL(sz); F_OS__;
5687 1.1.1.3 christos
5688 1.1 christos /*----------------------------------------------------------------------*/
5689 1.1 christos /* HI/LO stuff */
5690 1.1.1.3 christos
5691 1.1 christos }
5692 1.1 christos break;
5693 1.1 christos case 0x8f:
5694 1.1 christos {
5695 1.1 christos /** 0111 1111 1000 1111 smovf */
5696 1.1 christos if (trace)
5697 1.1 christos {
5698 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5699 1.1 christos "/** 0111 1111 1000 1111 smovf */",
5700 1.1 christos op[0], op[1]);
5701 1.1 christos }
5702 1.1 christos SYNTAX("smovf");
5703 1.1.1.3 christos #line 833 "rx-decode.opc"
5704 1.1 christos ID(smovf);
5705 1.1.1.3 christos
5706 1.1 christos }
5707 1.1 christos break;
5708 1.1 christos case 0x93:
5709 1.1 christos {
5710 1.1 christos /** 0111 1111 1001 0011 satr */
5711 1.1 christos if (trace)
5712 1.1 christos {
5713 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5714 1.1 christos "/** 0111 1111 1001 0011 satr */",
5715 1.1 christos op[0], op[1]);
5716 1.1 christos }
5717 1.1 christos SYNTAX("satr");
5718 1.1.1.3 christos #line 884 "rx-decode.opc"
5719 1.1 christos ID(satr);
5720 1.1.1.3 christos
5721 1.1 christos /*----------------------------------------------------------------------*/
5722 1.1 christos /* FLOAT */
5723 1.1.1.3 christos
5724 1.1 christos }
5725 1.1 christos break;
5726 1.1 christos case 0x94:
5727 1.1 christos {
5728 1.1 christos /** 0111 1111 1001 0100 rtfi */
5729 1.1 christos if (trace)
5730 1.1 christos {
5731 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5732 1.1 christos "/** 0111 1111 1001 0100 rtfi */",
5733 1.1 christos op[0], op[1]);
5734 1.1 christos }
5735 1.1 christos SYNTAX("rtfi");
5736 1.1.1.3 christos #line 1019 "rx-decode.opc"
5737 1.1 christos ID(rtfi);
5738 1.1.1.3 christos
5739 1.1 christos }
5740 1.1 christos break;
5741 1.1 christos case 0x95:
5742 1.1 christos {
5743 1.1 christos /** 0111 1111 1001 0101 rte */
5744 1.1 christos if (trace)
5745 1.1 christos {
5746 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5747 1.1 christos "/** 0111 1111 1001 0101 rte */",
5748 1.1 christos op[0], op[1]);
5749 1.1 christos }
5750 1.1 christos SYNTAX("rte");
5751 1.1.1.3 christos #line 1022 "rx-decode.opc"
5752 1.1 christos ID(rte);
5753 1.1.1.3 christos
5754 1.1 christos }
5755 1.1 christos break;
5756 1.1 christos case 0x96:
5757 1.1 christos {
5758 1.1 christos /** 0111 1111 1001 0110 wait */
5759 1.1 christos if (trace)
5760 1.1 christos {
5761 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5762 1.1 christos "/** 0111 1111 1001 0110 wait */",
5763 1.1 christos op[0], op[1]);
5764 1.1 christos }
5765 1.1 christos SYNTAX("wait");
5766 1.1.1.3 christos #line 1034 "rx-decode.opc"
5767 1.1 christos ID(wait);
5768 1.1.1.3 christos
5769 1.1 christos /*----------------------------------------------------------------------*/
5770 1.1 christos /* SCcnd */
5771 1.1.1.3 christos
5772 1.1 christos }
5773 1.1 christos break;
5774 1.1 christos case 0xa0:
5775 1.1 christos case 0xa1:
5776 1.1 christos case 0xa2:
5777 1.1 christos case 0xa3:
5778 1.1 christos case 0xa4:
5779 1.1 christos case 0xa5:
5780 1.1 christos case 0xa6:
5781 1.1 christos case 0xa7:
5782 1.1 christos case 0xa8:
5783 1.1 christos case 0xa9:
5784 1.1 christos case 0xaa:
5785 1.1 christos case 0xab:
5786 1.1 christos case 0xac:
5787 1.1 christos case 0xad:
5788 1.1 christos case 0xae:
5789 1.1 christos case 0xaf:
5790 1.1 christos {
5791 1.1 christos /** 0111 1111 1010 rdst setpsw %0 */
5792 1.1.1.3 christos #line 995 "rx-decode.opc"
5793 1.1 christos int rdst AU = op[1] & 0x0f;
5794 1.1 christos if (trace)
5795 1.1 christos {
5796 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5797 1.1 christos "/** 0111 1111 1010 rdst setpsw %0 */",
5798 1.1 christos op[0], op[1]);
5799 1.1 christos printf (" rdst = 0x%x\n", rdst);
5800 1.1 christos }
5801 1.1 christos SYNTAX("setpsw %0");
5802 1.1.1.3 christos #line 995 "rx-decode.opc"
5803 1.1 christos ID(setpsw); DF(rdst);
5804 1.1.1.3 christos
5805 1.1 christos }
5806 1.1 christos break;
5807 1.1 christos case 0xb0:
5808 1.1 christos case 0xb1:
5809 1.1 christos case 0xb2:
5810 1.1 christos case 0xb3:
5811 1.1 christos case 0xb4:
5812 1.1 christos case 0xb5:
5813 1.1 christos case 0xb6:
5814 1.1 christos case 0xb7:
5815 1.1 christos case 0xb8:
5816 1.1 christos case 0xb9:
5817 1.1 christos case 0xba:
5818 1.1 christos case 0xbb:
5819 1.1 christos case 0xbc:
5820 1.1 christos case 0xbd:
5821 1.1 christos case 0xbe:
5822 1.1 christos case 0xbf:
5823 1.1 christos {
5824 1.1 christos /** 0111 1111 1011 rdst clrpsw %0 */
5825 1.1.1.3 christos #line 992 "rx-decode.opc"
5826 1.1 christos int rdst AU = op[1] & 0x0f;
5827 1.1 christos if (trace)
5828 1.1 christos {
5829 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5830 1.1 christos "/** 0111 1111 1011 rdst clrpsw %0 */",
5831 1.1 christos op[0], op[1]);
5832 1.1 christos printf (" rdst = 0x%x\n", rdst);
5833 1.1 christos }
5834 1.1 christos SYNTAX("clrpsw %0");
5835 1.1.1.3 christos #line 992 "rx-decode.opc"
5836 1.1 christos ID(clrpsw); DF(rdst);
5837 1.1.1.3 christos
5838 1.1 christos }
5839 1.1 christos break;
5840 1.1 christos default: UNSUPPORTED(); break;
5841 1.1 christos }
5842 1.1 christos break;
5843 1.1 christos case 0x80:
5844 1.1 christos GETBYTE ();
5845 1.1 christos switch (op[1] & 0x00)
5846 1.1 christos {
5847 1.1 christos case 0x00:
5848 1.1.1.3 christos op_semantics_39:
5849 1.1 christos {
5850 1.1 christos /** 10sz 0dsp a dst b src mov%s %1, %0 */
5851 1.1.1.2 christos #line 332 "rx-decode.opc"
5852 1.1 christos int sz AU = (op[0] >> 4) & 0x03;
5853 1.1.1.2 christos #line 332 "rx-decode.opc"
5854 1.1 christos int dsp AU = op[0] & 0x07;
5855 1.1.1.2 christos #line 332 "rx-decode.opc"
5856 1.1 christos int a AU = (op[1] >> 7) & 0x01;
5857 1.1.1.2 christos #line 332 "rx-decode.opc"
5858 1.1 christos int dst AU = (op[1] >> 4) & 0x07;
5859 1.1.1.2 christos #line 332 "rx-decode.opc"
5860 1.1 christos int b AU = (op[1] >> 3) & 0x01;
5861 1.1.1.2 christos #line 332 "rx-decode.opc"
5862 1.1 christos int src AU = op[1] & 0x07;
5863 1.1 christos if (trace)
5864 1.1 christos {
5865 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5866 1.1 christos "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
5867 1.1 christos op[0], op[1]);
5868 1.1 christos printf (" sz = 0x%x,", sz);
5869 1.1 christos printf (" dsp = 0x%x,", dsp);
5870 1.1 christos printf (" a = 0x%x,", a);
5871 1.1 christos printf (" dst = 0x%x,", dst);
5872 1.1 christos printf (" b = 0x%x,", b);
5873 1.1 christos printf (" src = 0x%x\n", src);
5874 1.1 christos }
5875 1.1 christos SYNTAX("mov%s %1, %0");
5876 1.1.1.2 christos #line 332 "rx-decode.opc"
5877 1.1 christos ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
5878 1.1.1.3 christos
5879 1.1 christos }
5880 1.1 christos break;
5881 1.1 christos }
5882 1.1 christos break;
5883 1.1 christos case 0x81:
5884 1.1 christos GETBYTE ();
5885 1.1 christos switch (op[1] & 0x00)
5886 1.1 christos {
5887 1.1 christos case 0x00:
5888 1.1.1.3 christos goto op_semantics_39;
5889 1.1 christos break;
5890 1.1 christos }
5891 1.1 christos break;
5892 1.1 christos case 0x82:
5893 1.1 christos GETBYTE ();
5894 1.1 christos switch (op[1] & 0x00)
5895 1.1 christos {
5896 1.1 christos case 0x00:
5897 1.1.1.3 christos goto op_semantics_39;
5898 1.1 christos break;
5899 1.1 christos }
5900 1.1 christos break;
5901 1.1 christos case 0x83:
5902 1.1 christos GETBYTE ();
5903 1.1 christos switch (op[1] & 0x00)
5904 1.1 christos {
5905 1.1 christos case 0x00:
5906 1.1.1.3 christos goto op_semantics_39;
5907 1.1 christos break;
5908 1.1 christos }
5909 1.1 christos break;
5910 1.1 christos case 0x84:
5911 1.1 christos GETBYTE ();
5912 1.1 christos switch (op[1] & 0x00)
5913 1.1 christos {
5914 1.1 christos case 0x00:
5915 1.1.1.3 christos goto op_semantics_39;
5916 1.1 christos break;
5917 1.1 christos }
5918 1.1 christos break;
5919 1.1 christos case 0x85:
5920 1.1 christos GETBYTE ();
5921 1.1 christos switch (op[1] & 0x00)
5922 1.1 christos {
5923 1.1 christos case 0x00:
5924 1.1.1.3 christos goto op_semantics_39;
5925 1.1 christos break;
5926 1.1 christos }
5927 1.1 christos break;
5928 1.1 christos case 0x86:
5929 1.1 christos GETBYTE ();
5930 1.1 christos switch (op[1] & 0x00)
5931 1.1 christos {
5932 1.1 christos case 0x00:
5933 1.1.1.3 christos goto op_semantics_39;
5934 1.1 christos break;
5935 1.1 christos }
5936 1.1 christos break;
5937 1.1 christos case 0x87:
5938 1.1 christos GETBYTE ();
5939 1.1 christos switch (op[1] & 0x00)
5940 1.1 christos {
5941 1.1 christos case 0x00:
5942 1.1.1.3 christos goto op_semantics_39;
5943 1.1 christos break;
5944 1.1 christos }
5945 1.1 christos break;
5946 1.1 christos case 0x88:
5947 1.1 christos GETBYTE ();
5948 1.1 christos switch (op[1] & 0x00)
5949 1.1 christos {
5950 1.1 christos case 0x00:
5951 1.1.1.3 christos op_semantics_40:
5952 1.1 christos {
5953 1.1 christos /** 10sz 1dsp a src b dst mov%s %1, %0 */
5954 1.1.1.2 christos #line 329 "rx-decode.opc"
5955 1.1 christos int sz AU = (op[0] >> 4) & 0x03;
5956 1.1.1.2 christos #line 329 "rx-decode.opc"
5957 1.1 christos int dsp AU = op[0] & 0x07;
5958 1.1.1.2 christos #line 329 "rx-decode.opc"
5959 1.1 christos int a AU = (op[1] >> 7) & 0x01;
5960 1.1.1.2 christos #line 329 "rx-decode.opc"
5961 1.1 christos int src AU = (op[1] >> 4) & 0x07;
5962 1.1.1.2 christos #line 329 "rx-decode.opc"
5963 1.1 christos int b AU = (op[1] >> 3) & 0x01;
5964 1.1.1.2 christos #line 329 "rx-decode.opc"
5965 1.1 christos int dst AU = op[1] & 0x07;
5966 1.1 christos if (trace)
5967 1.1 christos {
5968 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
5969 1.1 christos "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
5970 1.1 christos op[0], op[1]);
5971 1.1 christos printf (" sz = 0x%x,", sz);
5972 1.1 christos printf (" dsp = 0x%x,", dsp);
5973 1.1 christos printf (" a = 0x%x,", a);
5974 1.1 christos printf (" src = 0x%x,", src);
5975 1.1 christos printf (" b = 0x%x,", b);
5976 1.1 christos printf (" dst = 0x%x\n", dst);
5977 1.1 christos }
5978 1.1 christos SYNTAX("mov%s %1, %0");
5979 1.1.1.2 christos #line 329 "rx-decode.opc"
5980 1.1 christos ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
5981 1.1.1.3 christos
5982 1.1 christos }
5983 1.1 christos break;
5984 1.1 christos }
5985 1.1 christos break;
5986 1.1 christos case 0x89:
5987 1.1 christos GETBYTE ();
5988 1.1 christos switch (op[1] & 0x00)
5989 1.1 christos {
5990 1.1 christos case 0x00:
5991 1.1.1.3 christos goto op_semantics_40;
5992 1.1 christos break;
5993 1.1 christos }
5994 1.1 christos break;
5995 1.1 christos case 0x8a:
5996 1.1 christos GETBYTE ();
5997 1.1 christos switch (op[1] & 0x00)
5998 1.1 christos {
5999 1.1 christos case 0x00:
6000 1.1.1.3 christos goto op_semantics_40;
6001 1.1 christos break;
6002 1.1 christos }
6003 1.1 christos break;
6004 1.1 christos case 0x8b:
6005 1.1 christos GETBYTE ();
6006 1.1 christos switch (op[1] & 0x00)
6007 1.1 christos {
6008 1.1 christos case 0x00:
6009 1.1.1.3 christos goto op_semantics_40;
6010 1.1 christos break;
6011 1.1 christos }
6012 1.1 christos break;
6013 1.1 christos case 0x8c:
6014 1.1 christos GETBYTE ();
6015 1.1 christos switch (op[1] & 0x00)
6016 1.1 christos {
6017 1.1 christos case 0x00:
6018 1.1.1.3 christos goto op_semantics_40;
6019 1.1 christos break;
6020 1.1 christos }
6021 1.1 christos break;
6022 1.1 christos case 0x8d:
6023 1.1 christos GETBYTE ();
6024 1.1 christos switch (op[1] & 0x00)
6025 1.1 christos {
6026 1.1 christos case 0x00:
6027 1.1.1.3 christos goto op_semantics_40;
6028 1.1 christos break;
6029 1.1 christos }
6030 1.1 christos break;
6031 1.1 christos case 0x8e:
6032 1.1 christos GETBYTE ();
6033 1.1 christos switch (op[1] & 0x00)
6034 1.1 christos {
6035 1.1 christos case 0x00:
6036 1.1.1.3 christos goto op_semantics_40;
6037 1.1 christos break;
6038 1.1 christos }
6039 1.1 christos break;
6040 1.1 christos case 0x8f:
6041 1.1 christos GETBYTE ();
6042 1.1 christos switch (op[1] & 0x00)
6043 1.1 christos {
6044 1.1 christos case 0x00:
6045 1.1.1.3 christos goto op_semantics_40;
6046 1.1 christos break;
6047 1.1 christos }
6048 1.1 christos break;
6049 1.1 christos case 0x90:
6050 1.1 christos GETBYTE ();
6051 1.1 christos switch (op[1] & 0x00)
6052 1.1 christos {
6053 1.1 christos case 0x00:
6054 1.1.1.3 christos goto op_semantics_39;
6055 1.1 christos break;
6056 1.1 christos }
6057 1.1 christos break;
6058 1.1 christos case 0x91:
6059 1.1 christos GETBYTE ();
6060 1.1 christos switch (op[1] & 0x00)
6061 1.1 christos {
6062 1.1 christos case 0x00:
6063 1.1.1.3 christos goto op_semantics_39;
6064 1.1 christos break;
6065 1.1 christos }
6066 1.1 christos break;
6067 1.1 christos case 0x92:
6068 1.1 christos GETBYTE ();
6069 1.1 christos switch (op[1] & 0x00)
6070 1.1 christos {
6071 1.1 christos case 0x00:
6072 1.1.1.3 christos goto op_semantics_39;
6073 1.1 christos break;
6074 1.1 christos }
6075 1.1 christos break;
6076 1.1 christos case 0x93:
6077 1.1 christos GETBYTE ();
6078 1.1 christos switch (op[1] & 0x00)
6079 1.1 christos {
6080 1.1 christos case 0x00:
6081 1.1.1.3 christos goto op_semantics_39;
6082 1.1 christos break;
6083 1.1 christos }
6084 1.1 christos break;
6085 1.1 christos case 0x94:
6086 1.1 christos GETBYTE ();
6087 1.1 christos switch (op[1] & 0x00)
6088 1.1 christos {
6089 1.1 christos case 0x00:
6090 1.1.1.3 christos goto op_semantics_39;
6091 1.1 christos break;
6092 1.1 christos }
6093 1.1 christos break;
6094 1.1 christos case 0x95:
6095 1.1 christos GETBYTE ();
6096 1.1 christos switch (op[1] & 0x00)
6097 1.1 christos {
6098 1.1 christos case 0x00:
6099 1.1.1.3 christos goto op_semantics_39;
6100 1.1 christos break;
6101 1.1 christos }
6102 1.1 christos break;
6103 1.1 christos case 0x96:
6104 1.1 christos GETBYTE ();
6105 1.1 christos switch (op[1] & 0x00)
6106 1.1 christos {
6107 1.1 christos case 0x00:
6108 1.1.1.3 christos goto op_semantics_39;
6109 1.1 christos break;
6110 1.1 christos }
6111 1.1 christos break;
6112 1.1 christos case 0x97:
6113 1.1 christos GETBYTE ();
6114 1.1 christos switch (op[1] & 0x00)
6115 1.1 christos {
6116 1.1 christos case 0x00:
6117 1.1.1.3 christos goto op_semantics_39;
6118 1.1 christos break;
6119 1.1 christos }
6120 1.1 christos break;
6121 1.1 christos case 0x98:
6122 1.1 christos GETBYTE ();
6123 1.1 christos switch (op[1] & 0x00)
6124 1.1 christos {
6125 1.1 christos case 0x00:
6126 1.1.1.3 christos goto op_semantics_40;
6127 1.1 christos break;
6128 1.1 christos }
6129 1.1 christos break;
6130 1.1 christos case 0x99:
6131 1.1 christos GETBYTE ();
6132 1.1 christos switch (op[1] & 0x00)
6133 1.1 christos {
6134 1.1 christos case 0x00:
6135 1.1.1.3 christos goto op_semantics_40;
6136 1.1 christos break;
6137 1.1 christos }
6138 1.1 christos break;
6139 1.1 christos case 0x9a:
6140 1.1 christos GETBYTE ();
6141 1.1 christos switch (op[1] & 0x00)
6142 1.1 christos {
6143 1.1 christos case 0x00:
6144 1.1.1.3 christos goto op_semantics_40;
6145 1.1 christos break;
6146 1.1 christos }
6147 1.1 christos break;
6148 1.1 christos case 0x9b:
6149 1.1 christos GETBYTE ();
6150 1.1 christos switch (op[1] & 0x00)
6151 1.1 christos {
6152 1.1 christos case 0x00:
6153 1.1.1.3 christos goto op_semantics_40;
6154 1.1 christos break;
6155 1.1 christos }
6156 1.1 christos break;
6157 1.1 christos case 0x9c:
6158 1.1 christos GETBYTE ();
6159 1.1 christos switch (op[1] & 0x00)
6160 1.1 christos {
6161 1.1 christos case 0x00:
6162 1.1.1.3 christos goto op_semantics_40;
6163 1.1 christos break;
6164 1.1 christos }
6165 1.1 christos break;
6166 1.1 christos case 0x9d:
6167 1.1 christos GETBYTE ();
6168 1.1 christos switch (op[1] & 0x00)
6169 1.1 christos {
6170 1.1 christos case 0x00:
6171 1.1.1.3 christos goto op_semantics_40;
6172 1.1 christos break;
6173 1.1 christos }
6174 1.1 christos break;
6175 1.1 christos case 0x9e:
6176 1.1 christos GETBYTE ();
6177 1.1 christos switch (op[1] & 0x00)
6178 1.1 christos {
6179 1.1 christos case 0x00:
6180 1.1.1.3 christos goto op_semantics_40;
6181 1.1 christos break;
6182 1.1 christos }
6183 1.1 christos break;
6184 1.1 christos case 0x9f:
6185 1.1 christos GETBYTE ();
6186 1.1 christos switch (op[1] & 0x00)
6187 1.1 christos {
6188 1.1 christos case 0x00:
6189 1.1.1.3 christos goto op_semantics_40;
6190 1.1 christos break;
6191 1.1 christos }
6192 1.1 christos break;
6193 1.1 christos case 0xa0:
6194 1.1 christos GETBYTE ();
6195 1.1 christos switch (op[1] & 0x00)
6196 1.1 christos {
6197 1.1 christos case 0x00:
6198 1.1.1.3 christos goto op_semantics_39;
6199 1.1 christos break;
6200 1.1 christos }
6201 1.1 christos break;
6202 1.1 christos case 0xa1:
6203 1.1 christos GETBYTE ();
6204 1.1 christos switch (op[1] & 0x00)
6205 1.1 christos {
6206 1.1 christos case 0x00:
6207 1.1.1.3 christos goto op_semantics_39;
6208 1.1 christos break;
6209 1.1 christos }
6210 1.1 christos break;
6211 1.1 christos case 0xa2:
6212 1.1 christos GETBYTE ();
6213 1.1 christos switch (op[1] & 0x00)
6214 1.1 christos {
6215 1.1 christos case 0x00:
6216 1.1.1.3 christos goto op_semantics_39;
6217 1.1 christos break;
6218 1.1 christos }
6219 1.1 christos break;
6220 1.1 christos case 0xa3:
6221 1.1 christos GETBYTE ();
6222 1.1 christos switch (op[1] & 0x00)
6223 1.1 christos {
6224 1.1 christos case 0x00:
6225 1.1.1.3 christos goto op_semantics_39;
6226 1.1 christos break;
6227 1.1 christos }
6228 1.1 christos break;
6229 1.1 christos case 0xa4:
6230 1.1 christos GETBYTE ();
6231 1.1 christos switch (op[1] & 0x00)
6232 1.1 christos {
6233 1.1 christos case 0x00:
6234 1.1.1.3 christos goto op_semantics_39;
6235 1.1 christos break;
6236 1.1 christos }
6237 1.1 christos break;
6238 1.1 christos case 0xa5:
6239 1.1 christos GETBYTE ();
6240 1.1 christos switch (op[1] & 0x00)
6241 1.1 christos {
6242 1.1 christos case 0x00:
6243 1.1.1.3 christos goto op_semantics_39;
6244 1.1 christos break;
6245 1.1 christos }
6246 1.1 christos break;
6247 1.1 christos case 0xa6:
6248 1.1 christos GETBYTE ();
6249 1.1 christos switch (op[1] & 0x00)
6250 1.1 christos {
6251 1.1 christos case 0x00:
6252 1.1.1.3 christos goto op_semantics_39;
6253 1.1 christos break;
6254 1.1 christos }
6255 1.1 christos break;
6256 1.1 christos case 0xa7:
6257 1.1 christos GETBYTE ();
6258 1.1 christos switch (op[1] & 0x00)
6259 1.1 christos {
6260 1.1 christos case 0x00:
6261 1.1.1.3 christos goto op_semantics_39;
6262 1.1 christos break;
6263 1.1 christos }
6264 1.1 christos break;
6265 1.1 christos case 0xa8:
6266 1.1 christos GETBYTE ();
6267 1.1 christos switch (op[1] & 0x00)
6268 1.1 christos {
6269 1.1 christos case 0x00:
6270 1.1.1.3 christos goto op_semantics_40;
6271 1.1 christos break;
6272 1.1 christos }
6273 1.1 christos break;
6274 1.1 christos case 0xa9:
6275 1.1 christos GETBYTE ();
6276 1.1 christos switch (op[1] & 0x00)
6277 1.1 christos {
6278 1.1 christos case 0x00:
6279 1.1.1.3 christos goto op_semantics_40;
6280 1.1 christos break;
6281 1.1 christos }
6282 1.1 christos break;
6283 1.1 christos case 0xaa:
6284 1.1 christos GETBYTE ();
6285 1.1 christos switch (op[1] & 0x00)
6286 1.1 christos {
6287 1.1 christos case 0x00:
6288 1.1.1.3 christos goto op_semantics_40;
6289 1.1 christos break;
6290 1.1 christos }
6291 1.1 christos break;
6292 1.1 christos case 0xab:
6293 1.1 christos GETBYTE ();
6294 1.1 christos switch (op[1] & 0x00)
6295 1.1 christos {
6296 1.1 christos case 0x00:
6297 1.1.1.3 christos goto op_semantics_40;
6298 1.1 christos break;
6299 1.1 christos }
6300 1.1 christos break;
6301 1.1 christos case 0xac:
6302 1.1 christos GETBYTE ();
6303 1.1 christos switch (op[1] & 0x00)
6304 1.1 christos {
6305 1.1 christos case 0x00:
6306 1.1.1.3 christos goto op_semantics_40;
6307 1.1 christos break;
6308 1.1 christos }
6309 1.1 christos break;
6310 1.1 christos case 0xad:
6311 1.1 christos GETBYTE ();
6312 1.1 christos switch (op[1] & 0x00)
6313 1.1 christos {
6314 1.1 christos case 0x00:
6315 1.1.1.3 christos goto op_semantics_40;
6316 1.1 christos break;
6317 1.1 christos }
6318 1.1 christos break;
6319 1.1 christos case 0xae:
6320 1.1 christos GETBYTE ();
6321 1.1 christos switch (op[1] & 0x00)
6322 1.1 christos {
6323 1.1 christos case 0x00:
6324 1.1.1.3 christos goto op_semantics_40;
6325 1.1 christos break;
6326 1.1 christos }
6327 1.1 christos break;
6328 1.1 christos case 0xaf:
6329 1.1 christos GETBYTE ();
6330 1.1 christos switch (op[1] & 0x00)
6331 1.1 christos {
6332 1.1 christos case 0x00:
6333 1.1.1.3 christos goto op_semantics_40;
6334 1.1 christos break;
6335 1.1 christos }
6336 1.1 christos break;
6337 1.1 christos case 0xb0:
6338 1.1 christos GETBYTE ();
6339 1.1 christos switch (op[1] & 0x00)
6340 1.1 christos {
6341 1.1 christos case 0x00:
6342 1.1.1.3 christos op_semantics_41:
6343 1.1 christos {
6344 1.1 christos /** 1011 w dsp a src b dst movu%s %1, %0 */
6345 1.1.1.2 christos #line 352 "rx-decode.opc"
6346 1.1 christos int w AU = (op[0] >> 3) & 0x01;
6347 1.1.1.2 christos #line 352 "rx-decode.opc"
6348 1.1 christos int dsp AU = op[0] & 0x07;
6349 1.1.1.2 christos #line 352 "rx-decode.opc"
6350 1.1 christos int a AU = (op[1] >> 7) & 0x01;
6351 1.1.1.2 christos #line 352 "rx-decode.opc"
6352 1.1 christos int src AU = (op[1] >> 4) & 0x07;
6353 1.1.1.2 christos #line 352 "rx-decode.opc"
6354 1.1 christos int b AU = (op[1] >> 3) & 0x01;
6355 1.1.1.2 christos #line 352 "rx-decode.opc"
6356 1.1 christos int dst AU = op[1] & 0x07;
6357 1.1 christos if (trace)
6358 1.1 christos {
6359 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
6360 1.1 christos "/** 1011 w dsp a src b dst movu%s %1, %0 */",
6361 1.1 christos op[0], op[1]);
6362 1.1 christos printf (" w = 0x%x,", w);
6363 1.1 christos printf (" dsp = 0x%x,", dsp);
6364 1.1 christos printf (" a = 0x%x,", a);
6365 1.1 christos printf (" src = 0x%x,", src);
6366 1.1 christos printf (" b = 0x%x,", b);
6367 1.1 christos printf (" dst = 0x%x\n", dst);
6368 1.1 christos }
6369 1.1 christos SYNTAX("movu%s %1, %0");
6370 1.1.1.2 christos #line 352 "rx-decode.opc"
6371 1.1.1.3 christos ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
6372 1.1.1.3 christos
6373 1.1 christos }
6374 1.1 christos break;
6375 1.1 christos }
6376 1.1 christos break;
6377 1.1 christos case 0xb1:
6378 1.1 christos GETBYTE ();
6379 1.1 christos switch (op[1] & 0x00)
6380 1.1 christos {
6381 1.1 christos case 0x00:
6382 1.1.1.3 christos goto op_semantics_41;
6383 1.1 christos break;
6384 1.1 christos }
6385 1.1 christos break;
6386 1.1 christos case 0xb2:
6387 1.1 christos GETBYTE ();
6388 1.1 christos switch (op[1] & 0x00)
6389 1.1 christos {
6390 1.1 christos case 0x00:
6391 1.1.1.3 christos goto op_semantics_41;
6392 1.1 christos break;
6393 1.1 christos }
6394 1.1 christos break;
6395 1.1 christos case 0xb3:
6396 1.1 christos GETBYTE ();
6397 1.1 christos switch (op[1] & 0x00)
6398 1.1 christos {
6399 1.1 christos case 0x00:
6400 1.1.1.3 christos goto op_semantics_41;
6401 1.1 christos break;
6402 1.1 christos }
6403 1.1 christos break;
6404 1.1 christos case 0xb4:
6405 1.1 christos GETBYTE ();
6406 1.1 christos switch (op[1] & 0x00)
6407 1.1 christos {
6408 1.1 christos case 0x00:
6409 1.1.1.3 christos goto op_semantics_41;
6410 1.1 christos break;
6411 1.1 christos }
6412 1.1 christos break;
6413 1.1 christos case 0xb5:
6414 1.1 christos GETBYTE ();
6415 1.1 christos switch (op[1] & 0x00)
6416 1.1 christos {
6417 1.1 christos case 0x00:
6418 1.1.1.3 christos goto op_semantics_41;
6419 1.1 christos break;
6420 1.1 christos }
6421 1.1 christos break;
6422 1.1 christos case 0xb6:
6423 1.1 christos GETBYTE ();
6424 1.1 christos switch (op[1] & 0x00)
6425 1.1 christos {
6426 1.1 christos case 0x00:
6427 1.1.1.3 christos goto op_semantics_41;
6428 1.1 christos break;
6429 1.1 christos }
6430 1.1 christos break;
6431 1.1 christos case 0xb7:
6432 1.1 christos GETBYTE ();
6433 1.1 christos switch (op[1] & 0x00)
6434 1.1 christos {
6435 1.1 christos case 0x00:
6436 1.1.1.3 christos goto op_semantics_41;
6437 1.1 christos break;
6438 1.1 christos }
6439 1.1 christos break;
6440 1.1 christos case 0xb8:
6441 1.1 christos GETBYTE ();
6442 1.1 christos switch (op[1] & 0x00)
6443 1.1 christos {
6444 1.1 christos case 0x00:
6445 1.1.1.3 christos goto op_semantics_41;
6446 1.1 christos break;
6447 1.1 christos }
6448 1.1 christos break;
6449 1.1 christos case 0xb9:
6450 1.1 christos GETBYTE ();
6451 1.1 christos switch (op[1] & 0x00)
6452 1.1 christos {
6453 1.1 christos case 0x00:
6454 1.1.1.3 christos goto op_semantics_41;
6455 1.1 christos break;
6456 1.1 christos }
6457 1.1 christos break;
6458 1.1 christos case 0xba:
6459 1.1 christos GETBYTE ();
6460 1.1 christos switch (op[1] & 0x00)
6461 1.1 christos {
6462 1.1 christos case 0x00:
6463 1.1.1.3 christos goto op_semantics_41;
6464 1.1 christos break;
6465 1.1 christos }
6466 1.1 christos break;
6467 1.1 christos case 0xbb:
6468 1.1 christos GETBYTE ();
6469 1.1 christos switch (op[1] & 0x00)
6470 1.1 christos {
6471 1.1 christos case 0x00:
6472 1.1.1.3 christos goto op_semantics_41;
6473 1.1 christos break;
6474 1.1 christos }
6475 1.1 christos break;
6476 1.1 christos case 0xbc:
6477 1.1 christos GETBYTE ();
6478 1.1 christos switch (op[1] & 0x00)
6479 1.1 christos {
6480 1.1 christos case 0x00:
6481 1.1.1.3 christos goto op_semantics_41;
6482 1.1 christos break;
6483 1.1 christos }
6484 1.1 christos break;
6485 1.1 christos case 0xbd:
6486 1.1 christos GETBYTE ();
6487 1.1 christos switch (op[1] & 0x00)
6488 1.1 christos {
6489 1.1 christos case 0x00:
6490 1.1.1.3 christos goto op_semantics_41;
6491 1.1 christos break;
6492 1.1 christos }
6493 1.1 christos break;
6494 1.1 christos case 0xbe:
6495 1.1 christos GETBYTE ();
6496 1.1 christos switch (op[1] & 0x00)
6497 1.1 christos {
6498 1.1 christos case 0x00:
6499 1.1.1.3 christos goto op_semantics_41;
6500 1.1 christos break;
6501 1.1 christos }
6502 1.1 christos break;
6503 1.1 christos case 0xbf:
6504 1.1 christos GETBYTE ();
6505 1.1 christos switch (op[1] & 0x00)
6506 1.1 christos {
6507 1.1 christos case 0x00:
6508 1.1.1.3 christos goto op_semantics_41;
6509 1.1 christos break;
6510 1.1 christos }
6511 1.1 christos break;
6512 1.1 christos case 0xc0:
6513 1.1 christos GETBYTE ();
6514 1.1 christos switch (op[1] & 0x00)
6515 1.1 christos {
6516 1.1 christos case 0x00:
6517 1.1.1.3 christos op_semantics_42:
6518 1.1 christos {
6519 1.1 christos /** 11sz sd ss rsrc rdst mov%s %1, %0 */
6520 1.1.1.2 christos #line 310 "rx-decode.opc"
6521 1.1 christos int sz AU = (op[0] >> 4) & 0x03;
6522 1.1.1.2 christos #line 310 "rx-decode.opc"
6523 1.1 christos int sd AU = (op[0] >> 2) & 0x03;
6524 1.1.1.2 christos #line 310 "rx-decode.opc"
6525 1.1 christos int ss AU = op[0] & 0x03;
6526 1.1.1.2 christos #line 310 "rx-decode.opc"
6527 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
6528 1.1.1.2 christos #line 310 "rx-decode.opc"
6529 1.1 christos int rdst AU = op[1] & 0x0f;
6530 1.1 christos if (trace)
6531 1.1 christos {
6532 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
6533 1.1 christos "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
6534 1.1 christos op[0], op[1]);
6535 1.1 christos printf (" sz = 0x%x,", sz);
6536 1.1 christos printf (" sd = 0x%x,", sd);
6537 1.1 christos printf (" ss = 0x%x,", ss);
6538 1.1 christos printf (" rsrc = 0x%x,", rsrc);
6539 1.1 christos printf (" rdst = 0x%x\n", rdst);
6540 1.1 christos }
6541 1.1 christos SYNTAX("mov%s %1, %0");
6542 1.1.1.2 christos #line 310 "rx-decode.opc"
6543 1.1 christos if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
6544 1.1 christos {
6545 1.1 christos ID(nop2);
6546 1.1.1.3 christos SYNTAX ("nop\t; mov.l\tr0, r0");
6547 1.1 christos }
6548 1.1 christos else
6549 1.1 christos {
6550 1.1 christos ID(mov); sBWL(sz); F_____;
6551 1.1 christos if ((ss == 3) && (sd != 3))
6552 1.1 christos {
6553 1.1 christos SD(ss, rdst, sz); DD(sd, rsrc, sz);
6554 1.1 christos }
6555 1.1 christos else
6556 1.1 christos {
6557 1.1 christos SD(ss, rsrc, sz); DD(sd, rdst, sz);
6558 1.1 christos }
6559 1.1 christos }
6560 1.1.1.3 christos
6561 1.1 christos }
6562 1.1 christos break;
6563 1.1 christos }
6564 1.1 christos break;
6565 1.1 christos case 0xc1:
6566 1.1 christos GETBYTE ();
6567 1.1 christos switch (op[1] & 0x00)
6568 1.1 christos {
6569 1.1 christos case 0x00:
6570 1.1.1.3 christos goto op_semantics_42;
6571 1.1 christos break;
6572 1.1 christos }
6573 1.1 christos break;
6574 1.1 christos case 0xc2:
6575 1.1 christos GETBYTE ();
6576 1.1 christos switch (op[1] & 0x00)
6577 1.1 christos {
6578 1.1 christos case 0x00:
6579 1.1.1.3 christos goto op_semantics_42;
6580 1.1 christos break;
6581 1.1 christos }
6582 1.1 christos break;
6583 1.1 christos case 0xc3:
6584 1.1 christos GETBYTE ();
6585 1.1 christos switch (op[1] & 0x00)
6586 1.1 christos {
6587 1.1 christos case 0x00:
6588 1.1.1.3 christos goto op_semantics_42;
6589 1.1 christos break;
6590 1.1 christos }
6591 1.1 christos break;
6592 1.1 christos case 0xc4:
6593 1.1 christos GETBYTE ();
6594 1.1 christos switch (op[1] & 0x00)
6595 1.1 christos {
6596 1.1 christos case 0x00:
6597 1.1.1.3 christos goto op_semantics_42;
6598 1.1 christos break;
6599 1.1 christos }
6600 1.1 christos break;
6601 1.1 christos case 0xc5:
6602 1.1 christos GETBYTE ();
6603 1.1 christos switch (op[1] & 0x00)
6604 1.1 christos {
6605 1.1 christos case 0x00:
6606 1.1.1.3 christos goto op_semantics_42;
6607 1.1 christos break;
6608 1.1 christos }
6609 1.1 christos break;
6610 1.1 christos case 0xc6:
6611 1.1 christos GETBYTE ();
6612 1.1 christos switch (op[1] & 0x00)
6613 1.1 christos {
6614 1.1 christos case 0x00:
6615 1.1.1.3 christos goto op_semantics_42;
6616 1.1 christos break;
6617 1.1 christos }
6618 1.1 christos break;
6619 1.1 christos case 0xc7:
6620 1.1 christos GETBYTE ();
6621 1.1 christos switch (op[1] & 0x00)
6622 1.1 christos {
6623 1.1 christos case 0x00:
6624 1.1.1.3 christos goto op_semantics_42;
6625 1.1 christos break;
6626 1.1 christos }
6627 1.1 christos break;
6628 1.1 christos case 0xc8:
6629 1.1 christos GETBYTE ();
6630 1.1 christos switch (op[1] & 0x00)
6631 1.1 christos {
6632 1.1 christos case 0x00:
6633 1.1.1.3 christos goto op_semantics_42;
6634 1.1 christos break;
6635 1.1 christos }
6636 1.1 christos break;
6637 1.1 christos case 0xc9:
6638 1.1 christos GETBYTE ();
6639 1.1 christos switch (op[1] & 0x00)
6640 1.1 christos {
6641 1.1 christos case 0x00:
6642 1.1.1.3 christos goto op_semantics_42;
6643 1.1 christos break;
6644 1.1 christos }
6645 1.1 christos break;
6646 1.1 christos case 0xca:
6647 1.1 christos GETBYTE ();
6648 1.1 christos switch (op[1] & 0x00)
6649 1.1 christos {
6650 1.1 christos case 0x00:
6651 1.1.1.3 christos goto op_semantics_42;
6652 1.1 christos break;
6653 1.1 christos }
6654 1.1 christos break;
6655 1.1 christos case 0xcb:
6656 1.1 christos GETBYTE ();
6657 1.1 christos switch (op[1] & 0x00)
6658 1.1 christos {
6659 1.1 christos case 0x00:
6660 1.1.1.3 christos goto op_semantics_42;
6661 1.1 christos break;
6662 1.1 christos }
6663 1.1 christos break;
6664 1.1 christos case 0xcc:
6665 1.1 christos GETBYTE ();
6666 1.1 christos switch (op[1] & 0x00)
6667 1.1 christos {
6668 1.1 christos case 0x00:
6669 1.1.1.3 christos goto op_semantics_42;
6670 1.1 christos break;
6671 1.1 christos }
6672 1.1 christos break;
6673 1.1 christos case 0xcd:
6674 1.1 christos GETBYTE ();
6675 1.1 christos switch (op[1] & 0x00)
6676 1.1 christos {
6677 1.1 christos case 0x00:
6678 1.1.1.3 christos goto op_semantics_42;
6679 1.1 christos break;
6680 1.1 christos }
6681 1.1 christos break;
6682 1.1 christos case 0xce:
6683 1.1 christos GETBYTE ();
6684 1.1 christos switch (op[1] & 0x00)
6685 1.1 christos {
6686 1.1 christos case 0x00:
6687 1.1.1.3 christos goto op_semantics_42;
6688 1.1 christos break;
6689 1.1 christos }
6690 1.1 christos break;
6691 1.1 christos case 0xcf:
6692 1.1 christos GETBYTE ();
6693 1.1 christos switch (op[1] & 0x00)
6694 1.1 christos {
6695 1.1 christos case 0x00:
6696 1.1.1.3 christos goto op_semantics_42;
6697 1.1 christos break;
6698 1.1 christos }
6699 1.1 christos break;
6700 1.1 christos case 0xd0:
6701 1.1 christos GETBYTE ();
6702 1.1 christos switch (op[1] & 0x00)
6703 1.1 christos {
6704 1.1 christos case 0x00:
6705 1.1.1.3 christos goto op_semantics_42;
6706 1.1 christos break;
6707 1.1 christos }
6708 1.1 christos break;
6709 1.1 christos case 0xd1:
6710 1.1 christos GETBYTE ();
6711 1.1 christos switch (op[1] & 0x00)
6712 1.1 christos {
6713 1.1 christos case 0x00:
6714 1.1.1.3 christos goto op_semantics_42;
6715 1.1 christos break;
6716 1.1 christos }
6717 1.1 christos break;
6718 1.1 christos case 0xd2:
6719 1.1 christos GETBYTE ();
6720 1.1 christos switch (op[1] & 0x00)
6721 1.1 christos {
6722 1.1 christos case 0x00:
6723 1.1.1.3 christos goto op_semantics_42;
6724 1.1 christos break;
6725 1.1 christos }
6726 1.1 christos break;
6727 1.1 christos case 0xd3:
6728 1.1 christos GETBYTE ();
6729 1.1 christos switch (op[1] & 0x00)
6730 1.1 christos {
6731 1.1 christos case 0x00:
6732 1.1.1.3 christos goto op_semantics_42;
6733 1.1 christos break;
6734 1.1 christos }
6735 1.1 christos break;
6736 1.1 christos case 0xd4:
6737 1.1 christos GETBYTE ();
6738 1.1 christos switch (op[1] & 0x00)
6739 1.1 christos {
6740 1.1 christos case 0x00:
6741 1.1.1.3 christos goto op_semantics_42;
6742 1.1 christos break;
6743 1.1 christos }
6744 1.1 christos break;
6745 1.1 christos case 0xd5:
6746 1.1 christos GETBYTE ();
6747 1.1 christos switch (op[1] & 0x00)
6748 1.1 christos {
6749 1.1 christos case 0x00:
6750 1.1.1.3 christos goto op_semantics_42;
6751 1.1 christos break;
6752 1.1 christos }
6753 1.1 christos break;
6754 1.1 christos case 0xd6:
6755 1.1 christos GETBYTE ();
6756 1.1 christos switch (op[1] & 0x00)
6757 1.1 christos {
6758 1.1 christos case 0x00:
6759 1.1.1.3 christos goto op_semantics_42;
6760 1.1 christos break;
6761 1.1 christos }
6762 1.1 christos break;
6763 1.1 christos case 0xd7:
6764 1.1 christos GETBYTE ();
6765 1.1 christos switch (op[1] & 0x00)
6766 1.1 christos {
6767 1.1 christos case 0x00:
6768 1.1.1.3 christos goto op_semantics_42;
6769 1.1 christos break;
6770 1.1 christos }
6771 1.1 christos break;
6772 1.1 christos case 0xd8:
6773 1.1 christos GETBYTE ();
6774 1.1 christos switch (op[1] & 0x00)
6775 1.1 christos {
6776 1.1 christos case 0x00:
6777 1.1.1.3 christos goto op_semantics_42;
6778 1.1 christos break;
6779 1.1 christos }
6780 1.1 christos break;
6781 1.1 christos case 0xd9:
6782 1.1 christos GETBYTE ();
6783 1.1 christos switch (op[1] & 0x00)
6784 1.1 christos {
6785 1.1 christos case 0x00:
6786 1.1.1.3 christos goto op_semantics_42;
6787 1.1 christos break;
6788 1.1 christos }
6789 1.1 christos break;
6790 1.1 christos case 0xda:
6791 1.1 christos GETBYTE ();
6792 1.1 christos switch (op[1] & 0x00)
6793 1.1 christos {
6794 1.1 christos case 0x00:
6795 1.1.1.3 christos goto op_semantics_42;
6796 1.1 christos break;
6797 1.1 christos }
6798 1.1 christos break;
6799 1.1 christos case 0xdb:
6800 1.1 christos GETBYTE ();
6801 1.1 christos switch (op[1] & 0x00)
6802 1.1 christos {
6803 1.1 christos case 0x00:
6804 1.1.1.3 christos goto op_semantics_42;
6805 1.1 christos break;
6806 1.1 christos }
6807 1.1 christos break;
6808 1.1 christos case 0xdc:
6809 1.1 christos GETBYTE ();
6810 1.1 christos switch (op[1] & 0x00)
6811 1.1 christos {
6812 1.1 christos case 0x00:
6813 1.1.1.3 christos goto op_semantics_42;
6814 1.1 christos break;
6815 1.1 christos }
6816 1.1 christos break;
6817 1.1 christos case 0xdd:
6818 1.1 christos GETBYTE ();
6819 1.1 christos switch (op[1] & 0x00)
6820 1.1 christos {
6821 1.1 christos case 0x00:
6822 1.1.1.3 christos goto op_semantics_42;
6823 1.1 christos break;
6824 1.1 christos }
6825 1.1 christos break;
6826 1.1 christos case 0xde:
6827 1.1 christos GETBYTE ();
6828 1.1 christos switch (op[1] & 0x00)
6829 1.1 christos {
6830 1.1 christos case 0x00:
6831 1.1.1.3 christos goto op_semantics_42;
6832 1.1 christos break;
6833 1.1 christos }
6834 1.1 christos break;
6835 1.1 christos case 0xdf:
6836 1.1 christos GETBYTE ();
6837 1.1 christos switch (op[1] & 0x00)
6838 1.1 christos {
6839 1.1 christos case 0x00:
6840 1.1.1.3 christos goto op_semantics_42;
6841 1.1 christos break;
6842 1.1 christos }
6843 1.1 christos break;
6844 1.1 christos case 0xe0:
6845 1.1 christos GETBYTE ();
6846 1.1 christos switch (op[1] & 0x00)
6847 1.1 christos {
6848 1.1 christos case 0x00:
6849 1.1.1.3 christos goto op_semantics_42;
6850 1.1 christos break;
6851 1.1 christos }
6852 1.1 christos break;
6853 1.1 christos case 0xe1:
6854 1.1 christos GETBYTE ();
6855 1.1 christos switch (op[1] & 0x00)
6856 1.1 christos {
6857 1.1 christos case 0x00:
6858 1.1.1.3 christos goto op_semantics_42;
6859 1.1 christos break;
6860 1.1 christos }
6861 1.1 christos break;
6862 1.1 christos case 0xe2:
6863 1.1 christos GETBYTE ();
6864 1.1 christos switch (op[1] & 0x00)
6865 1.1 christos {
6866 1.1 christos case 0x00:
6867 1.1.1.3 christos goto op_semantics_42;
6868 1.1 christos break;
6869 1.1 christos }
6870 1.1 christos break;
6871 1.1 christos case 0xe3:
6872 1.1 christos GETBYTE ();
6873 1.1 christos switch (op[1] & 0x00)
6874 1.1 christos {
6875 1.1 christos case 0x00:
6876 1.1.1.3 christos goto op_semantics_42;
6877 1.1 christos break;
6878 1.1 christos }
6879 1.1 christos break;
6880 1.1 christos case 0xe4:
6881 1.1 christos GETBYTE ();
6882 1.1 christos switch (op[1] & 0x00)
6883 1.1 christos {
6884 1.1 christos case 0x00:
6885 1.1.1.3 christos goto op_semantics_42;
6886 1.1 christos break;
6887 1.1 christos }
6888 1.1 christos break;
6889 1.1 christos case 0xe5:
6890 1.1 christos GETBYTE ();
6891 1.1 christos switch (op[1] & 0x00)
6892 1.1 christos {
6893 1.1 christos case 0x00:
6894 1.1.1.3 christos goto op_semantics_42;
6895 1.1 christos break;
6896 1.1 christos }
6897 1.1 christos break;
6898 1.1 christos case 0xe6:
6899 1.1 christos GETBYTE ();
6900 1.1 christos switch (op[1] & 0x00)
6901 1.1 christos {
6902 1.1 christos case 0x00:
6903 1.1.1.3 christos goto op_semantics_42;
6904 1.1 christos break;
6905 1.1 christos }
6906 1.1 christos break;
6907 1.1 christos case 0xe7:
6908 1.1 christos GETBYTE ();
6909 1.1 christos switch (op[1] & 0x00)
6910 1.1 christos {
6911 1.1 christos case 0x00:
6912 1.1.1.3 christos goto op_semantics_42;
6913 1.1 christos break;
6914 1.1 christos }
6915 1.1 christos break;
6916 1.1 christos case 0xe8:
6917 1.1 christos GETBYTE ();
6918 1.1 christos switch (op[1] & 0x00)
6919 1.1 christos {
6920 1.1 christos case 0x00:
6921 1.1.1.3 christos goto op_semantics_42;
6922 1.1 christos break;
6923 1.1 christos }
6924 1.1 christos break;
6925 1.1 christos case 0xe9:
6926 1.1 christos GETBYTE ();
6927 1.1 christos switch (op[1] & 0x00)
6928 1.1 christos {
6929 1.1 christos case 0x00:
6930 1.1.1.3 christos goto op_semantics_42;
6931 1.1 christos break;
6932 1.1 christos }
6933 1.1 christos break;
6934 1.1 christos case 0xea:
6935 1.1 christos GETBYTE ();
6936 1.1 christos switch (op[1] & 0x00)
6937 1.1 christos {
6938 1.1 christos case 0x00:
6939 1.1.1.3 christos goto op_semantics_42;
6940 1.1 christos break;
6941 1.1 christos }
6942 1.1 christos break;
6943 1.1 christos case 0xeb:
6944 1.1 christos GETBYTE ();
6945 1.1 christos switch (op[1] & 0x00)
6946 1.1 christos {
6947 1.1 christos case 0x00:
6948 1.1.1.3 christos goto op_semantics_42;
6949 1.1 christos break;
6950 1.1 christos }
6951 1.1 christos break;
6952 1.1 christos case 0xec:
6953 1.1 christos GETBYTE ();
6954 1.1 christos switch (op[1] & 0x00)
6955 1.1 christos {
6956 1.1 christos case 0x00:
6957 1.1.1.3 christos goto op_semantics_42;
6958 1.1 christos break;
6959 1.1 christos }
6960 1.1 christos break;
6961 1.1 christos case 0xed:
6962 1.1 christos GETBYTE ();
6963 1.1 christos switch (op[1] & 0x00)
6964 1.1 christos {
6965 1.1 christos case 0x00:
6966 1.1.1.3 christos goto op_semantics_42;
6967 1.1 christos break;
6968 1.1 christos }
6969 1.1 christos break;
6970 1.1 christos case 0xee:
6971 1.1 christos GETBYTE ();
6972 1.1 christos switch (op[1] & 0x00)
6973 1.1 christos {
6974 1.1 christos case 0x00:
6975 1.1.1.3 christos goto op_semantics_42;
6976 1.1 christos break;
6977 1.1 christos }
6978 1.1 christos break;
6979 1.1 christos case 0xef:
6980 1.1 christos GETBYTE ();
6981 1.1 christos switch (op[1] & 0x00)
6982 1.1 christos {
6983 1.1 christos case 0x00:
6984 1.1.1.3 christos goto op_semantics_42;
6985 1.1 christos break;
6986 1.1 christos }
6987 1.1 christos break;
6988 1.1 christos case 0xf0:
6989 1.1 christos GETBYTE ();
6990 1.1 christos switch (op[1] & 0x08)
6991 1.1 christos {
6992 1.1 christos case 0x00:
6993 1.1.1.3 christos op_semantics_43:
6994 1.1 christos {
6995 1.1 christos /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
6996 1.1.1.3 christos #line 935 "rx-decode.opc"
6997 1.1 christos int sd AU = op[0] & 0x03;
6998 1.1.1.3 christos #line 935 "rx-decode.opc"
6999 1.1 christos int rdst AU = (op[1] >> 4) & 0x0f;
7000 1.1.1.3 christos #line 935 "rx-decode.opc"
7001 1.1 christos int bit AU = op[1] & 0x07;
7002 1.1 christos if (trace)
7003 1.1 christos {
7004 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
7005 1.1 christos "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
7006 1.1 christos op[0], op[1]);
7007 1.1 christos printf (" sd = 0x%x,", sd);
7008 1.1 christos printf (" rdst = 0x%x,", rdst);
7009 1.1 christos printf (" bit = 0x%x\n", bit);
7010 1.1 christos }
7011 1.1 christos SYNTAX("bset #%1, %0%S0");
7012 1.1.1.3 christos #line 935 "rx-decode.opc"
7013 1.1 christos ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7014 1.1.1.3 christos
7015 1.1 christos }
7016 1.1 christos break;
7017 1.1 christos case 0x08:
7018 1.1.1.3 christos op_semantics_44:
7019 1.1 christos {
7020 1.1 christos /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
7021 1.1.1.3 christos #line 947 "rx-decode.opc"
7022 1.1 christos int sd AU = op[0] & 0x03;
7023 1.1.1.3 christos #line 947 "rx-decode.opc"
7024 1.1 christos int rdst AU = (op[1] >> 4) & 0x0f;
7025 1.1.1.3 christos #line 947 "rx-decode.opc"
7026 1.1 christos int bit AU = op[1] & 0x07;
7027 1.1 christos if (trace)
7028 1.1 christos {
7029 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
7030 1.1 christos "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
7031 1.1 christos op[0], op[1]);
7032 1.1 christos printf (" sd = 0x%x,", sd);
7033 1.1 christos printf (" rdst = 0x%x,", rdst);
7034 1.1 christos printf (" bit = 0x%x\n", bit);
7035 1.1 christos }
7036 1.1 christos SYNTAX("bclr #%1, %0%S0");
7037 1.1.1.3 christos #line 947 "rx-decode.opc"
7038 1.1 christos ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
7039 1.1.1.3 christos
7040 1.1 christos }
7041 1.1 christos break;
7042 1.1 christos }
7043 1.1 christos break;
7044 1.1 christos case 0xf1:
7045 1.1 christos GETBYTE ();
7046 1.1 christos switch (op[1] & 0x08)
7047 1.1 christos {
7048 1.1 christos case 0x00:
7049 1.1.1.3 christos goto op_semantics_43;
7050 1.1 christos break;
7051 1.1 christos case 0x08:
7052 1.1.1.3 christos goto op_semantics_44;
7053 1.1 christos break;
7054 1.1 christos }
7055 1.1 christos break;
7056 1.1 christos case 0xf2:
7057 1.1 christos GETBYTE ();
7058 1.1 christos switch (op[1] & 0x08)
7059 1.1 christos {
7060 1.1 christos case 0x00:
7061 1.1.1.3 christos goto op_semantics_43;
7062 1.1 christos break;
7063 1.1 christos case 0x08:
7064 1.1.1.3 christos goto op_semantics_44;
7065 1.1 christos break;
7066 1.1 christos }
7067 1.1 christos break;
7068 1.1 christos case 0xf3:
7069 1.1 christos GETBYTE ();
7070 1.1 christos switch (op[1] & 0x08)
7071 1.1 christos {
7072 1.1 christos case 0x00:
7073 1.1.1.3 christos goto op_semantics_43;
7074 1.1 christos break;
7075 1.1 christos case 0x08:
7076 1.1.1.3 christos goto op_semantics_44;
7077 1.1 christos break;
7078 1.1 christos }
7079 1.1 christos break;
7080 1.1 christos case 0xf4:
7081 1.1 christos GETBYTE ();
7082 1.1 christos switch (op[1] & 0x0c)
7083 1.1 christos {
7084 1.1 christos case 0x00:
7085 1.1 christos case 0x04:
7086 1.1.1.3 christos op_semantics_45:
7087 1.1 christos {
7088 1.1 christos /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
7089 1.1.1.3 christos #line 959 "rx-decode.opc"
7090 1.1 christos int sd AU = op[0] & 0x03;
7091 1.1.1.3 christos #line 959 "rx-decode.opc"
7092 1.1 christos int rdst AU = (op[1] >> 4) & 0x0f;
7093 1.1.1.3 christos #line 959 "rx-decode.opc"
7094 1.1 christos int bit AU = op[1] & 0x07;
7095 1.1 christos if (trace)
7096 1.1 christos {
7097 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
7098 1.1 christos "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
7099 1.1 christos op[0], op[1]);
7100 1.1 christos printf (" sd = 0x%x,", sd);
7101 1.1 christos printf (" rdst = 0x%x,", rdst);
7102 1.1 christos printf (" bit = 0x%x\n", bit);
7103 1.1 christos }
7104 1.1 christos SYNTAX("btst #%2, %1%S1");
7105 1.1.1.3 christos #line 959 "rx-decode.opc"
7106 1.1 christos ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
7107 1.1.1.3 christos
7108 1.1 christos }
7109 1.1 christos break;
7110 1.1 christos case 0x08:
7111 1.1.1.3 christos op_semantics_46:
7112 1.1 christos {
7113 1.1 christos /** 1111 01ss rsrc 10sz push%s %1 */
7114 1.1.1.2 christos #line 377 "rx-decode.opc"
7115 1.1 christos int ss AU = op[0] & 0x03;
7116 1.1.1.2 christos #line 377 "rx-decode.opc"
7117 1.1 christos int rsrc AU = (op[1] >> 4) & 0x0f;
7118 1.1.1.2 christos #line 377 "rx-decode.opc"
7119 1.1 christos int sz AU = op[1] & 0x03;
7120 1.1 christos if (trace)
7121 1.1 christos {
7122 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
7123 1.1 christos "/** 1111 01ss rsrc 10sz push%s %1 */",
7124 1.1 christos op[0], op[1]);
7125 1.1 christos printf (" ss = 0x%x,", ss);
7126 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7127 1.1 christos printf (" sz = 0x%x\n", sz);
7128 1.1 christos }
7129 1.1 christos SYNTAX("push%s %1");
7130 1.1.1.2 christos #line 377 "rx-decode.opc"
7131 1.1 christos ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
7132 1.1.1.3 christos
7133 1.1 christos /*----------------------------------------------------------------------*/
7134 1.1 christos /* XCHG */
7135 1.1.1.3 christos
7136 1.1 christos }
7137 1.1 christos break;
7138 1.1 christos default: UNSUPPORTED(); break;
7139 1.1 christos }
7140 1.1 christos break;
7141 1.1 christos case 0xf5:
7142 1.1 christos GETBYTE ();
7143 1.1 christos switch (op[1] & 0x0c)
7144 1.1 christos {
7145 1.1 christos case 0x00:
7146 1.1 christos case 0x04:
7147 1.1.1.3 christos goto op_semantics_45;
7148 1.1 christos break;
7149 1.1 christos case 0x08:
7150 1.1.1.3 christos goto op_semantics_46;
7151 1.1 christos break;
7152 1.1 christos default: UNSUPPORTED(); break;
7153 1.1 christos }
7154 1.1 christos break;
7155 1.1 christos case 0xf6:
7156 1.1 christos GETBYTE ();
7157 1.1 christos switch (op[1] & 0x0c)
7158 1.1 christos {
7159 1.1 christos case 0x00:
7160 1.1 christos case 0x04:
7161 1.1.1.3 christos goto op_semantics_45;
7162 1.1 christos break;
7163 1.1 christos case 0x08:
7164 1.1.1.3 christos goto op_semantics_46;
7165 1.1 christos break;
7166 1.1 christos default: UNSUPPORTED(); break;
7167 1.1 christos }
7168 1.1 christos break;
7169 1.1 christos case 0xf7:
7170 1.1 christos GETBYTE ();
7171 1.1 christos switch (op[1] & 0x0c)
7172 1.1 christos {
7173 1.1 christos case 0x00:
7174 1.1 christos case 0x04:
7175 1.1.1.3 christos goto op_semantics_45;
7176 1.1 christos break;
7177 1.1 christos case 0x08:
7178 1.1.1.3 christos goto op_semantics_46;
7179 1.1 christos break;
7180 1.1 christos default: UNSUPPORTED(); break;
7181 1.1 christos }
7182 1.1 christos break;
7183 1.1 christos case 0xf8:
7184 1.1 christos GETBYTE ();
7185 1.1 christos switch (op[1] & 0x00)
7186 1.1 christos {
7187 1.1 christos case 0x00:
7188 1.1.1.3 christos op_semantics_47:
7189 1.1 christos {
7190 1.1 christos /** 1111 10sd rdst im sz mov%s #%1, %0 */
7191 1.1.1.2 christos #line 288 "rx-decode.opc"
7192 1.1 christos int sd AU = op[0] & 0x03;
7193 1.1.1.2 christos #line 288 "rx-decode.opc"
7194 1.1 christos int rdst AU = (op[1] >> 4) & 0x0f;
7195 1.1.1.2 christos #line 288 "rx-decode.opc"
7196 1.1 christos int im AU = (op[1] >> 2) & 0x03;
7197 1.1.1.2 christos #line 288 "rx-decode.opc"
7198 1.1 christos int sz AU = op[1] & 0x03;
7199 1.1 christos if (trace)
7200 1.1 christos {
7201 1.1 christos printf ("\033[33m%s\033[0m %02x %02x\n",
7202 1.1 christos "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
7203 1.1 christos op[0], op[1]);
7204 1.1 christos printf (" sd = 0x%x,", sd);
7205 1.1 christos printf (" rdst = 0x%x,", rdst);
7206 1.1 christos printf (" im = 0x%x,", im);
7207 1.1 christos printf (" sz = 0x%x\n", sz);
7208 1.1 christos }
7209 1.1 christos SYNTAX("mov%s #%1, %0");
7210 1.1.1.2 christos #line 288 "rx-decode.opc"
7211 1.1 christos ID(mov); DD(sd, rdst, sz);
7212 1.1 christos if ((im == 1 && sz == 0)
7213 1.1 christos || (im == 2 && sz == 1)
7214 1.1 christos || (im == 0 && sz == 2))
7215 1.1 christos {
7216 1.1 christos BWL (sz);
7217 1.1 christos SC(IMM(im));
7218 1.1 christos }
7219 1.1 christos else
7220 1.1 christos {
7221 1.1 christos sBWL (sz);
7222 1.1 christos SC(IMMex(im));
7223 1.1 christos }
7224 1.1 christos F_____;
7225 1.1.1.3 christos
7226 1.1 christos }
7227 1.1 christos break;
7228 1.1 christos }
7229 1.1 christos break;
7230 1.1 christos case 0xf9:
7231 1.1 christos GETBYTE ();
7232 1.1 christos switch (op[1] & 0x00)
7233 1.1 christos {
7234 1.1 christos case 0x00:
7235 1.1.1.3 christos goto op_semantics_47;
7236 1.1 christos break;
7237 1.1 christos }
7238 1.1 christos break;
7239 1.1 christos case 0xfa:
7240 1.1 christos GETBYTE ();
7241 1.1 christos switch (op[1] & 0x00)
7242 1.1 christos {
7243 1.1 christos case 0x00:
7244 1.1.1.3 christos goto op_semantics_47;
7245 1.1 christos break;
7246 1.1 christos }
7247 1.1 christos break;
7248 1.1 christos case 0xfb:
7249 1.1 christos GETBYTE ();
7250 1.1 christos switch (op[1] & 0x00)
7251 1.1 christos {
7252 1.1 christos case 0x00:
7253 1.1.1.3 christos goto op_semantics_47;
7254 1.1 christos break;
7255 1.1 christos }
7256 1.1 christos break;
7257 1.1 christos case 0xfc:
7258 1.1 christos GETBYTE ();
7259 1.1 christos switch (op[1] & 0xff)
7260 1.1 christos {
7261 1.1 christos case 0x03:
7262 1.1 christos GETBYTE ();
7263 1.1 christos switch (op[2] & 0x00)
7264 1.1 christos {
7265 1.1 christos case 0x00:
7266 1.1 christos {
7267 1.1 christos /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
7268 1.1.1.2 christos #line 551 "rx-decode.opc"
7269 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7270 1.1.1.2 christos #line 551 "rx-decode.opc"
7271 1.1 christos int rdst AU = op[2] & 0x0f;
7272 1.1 christos if (trace)
7273 1.1 christos {
7274 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7275 1.1 christos "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
7276 1.1 christos op[0], op[1], op[2]);
7277 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7278 1.1 christos printf (" rdst = 0x%x\n", rdst);
7279 1.1 christos }
7280 1.1 christos SYNTAX("sbb %1, %0");
7281 1.1.1.2 christos #line 551 "rx-decode.opc"
7282 1.1 christos ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
7283 1.1.1.3 christos
7284 1.1 christos /* FIXME: only supports .L */
7285 1.1 christos }
7286 1.1 christos break;
7287 1.1 christos }
7288 1.1 christos break;
7289 1.1 christos case 0x07:
7290 1.1 christos GETBYTE ();
7291 1.1 christos switch (op[2] & 0x00)
7292 1.1 christos {
7293 1.1 christos case 0x00:
7294 1.1 christos {
7295 1.1 christos /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
7296 1.1.1.2 christos #line 482 "rx-decode.opc"
7297 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7298 1.1.1.2 christos #line 482 "rx-decode.opc"
7299 1.1 christos int rdst AU = op[2] & 0x0f;
7300 1.1 christos if (trace)
7301 1.1 christos {
7302 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7303 1.1 christos "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
7304 1.1 christos op[0], op[1], op[2]);
7305 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7306 1.1 christos printf (" rdst = 0x%x\n", rdst);
7307 1.1 christos }
7308 1.1 christos SYNTAX("neg %2, %0");
7309 1.1.1.2 christos #line 482 "rx-decode.opc"
7310 1.1 christos ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
7311 1.1.1.3 christos
7312 1.1 christos /*----------------------------------------------------------------------*/
7313 1.1 christos /* ADC */
7314 1.1.1.3 christos
7315 1.1 christos }
7316 1.1 christos break;
7317 1.1 christos }
7318 1.1 christos break;
7319 1.1 christos case 0x0b:
7320 1.1 christos GETBYTE ();
7321 1.1 christos switch (op[2] & 0x00)
7322 1.1 christos {
7323 1.1 christos case 0x00:
7324 1.1 christos {
7325 1.1 christos /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
7326 1.1.1.2 christos #line 491 "rx-decode.opc"
7327 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7328 1.1.1.2 christos #line 491 "rx-decode.opc"
7329 1.1 christos int rdst AU = op[2] & 0x0f;
7330 1.1 christos if (trace)
7331 1.1 christos {
7332 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7333 1.1 christos "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
7334 1.1 christos op[0], op[1], op[2]);
7335 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7336 1.1 christos printf (" rdst = 0x%x\n", rdst);
7337 1.1 christos }
7338 1.1 christos SYNTAX("adc %1, %0");
7339 1.1.1.2 christos #line 491 "rx-decode.opc"
7340 1.1 christos ID(adc); SR(rsrc); DR(rdst); F_OSZC;
7341 1.1.1.3 christos
7342 1.1 christos }
7343 1.1 christos break;
7344 1.1 christos }
7345 1.1 christos break;
7346 1.1 christos case 0x0f:
7347 1.1 christos GETBYTE ();
7348 1.1 christos switch (op[2] & 0x00)
7349 1.1 christos {
7350 1.1 christos case 0x00:
7351 1.1 christos {
7352 1.1 christos /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
7353 1.1.1.2 christos #line 564 "rx-decode.opc"
7354 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7355 1.1.1.2 christos #line 564 "rx-decode.opc"
7356 1.1 christos int rdst AU = op[2] & 0x0f;
7357 1.1 christos if (trace)
7358 1.1 christos {
7359 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7360 1.1 christos "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
7361 1.1 christos op[0], op[1], op[2]);
7362 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7363 1.1 christos printf (" rdst = 0x%x\n", rdst);
7364 1.1 christos }
7365 1.1 christos SYNTAX("abs %1, %0");
7366 1.1.1.2 christos #line 564 "rx-decode.opc"
7367 1.1 christos ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
7368 1.1.1.3 christos
7369 1.1 christos /*----------------------------------------------------------------------*/
7370 1.1 christos /* MAX */
7371 1.1.1.3 christos
7372 1.1 christos }
7373 1.1 christos break;
7374 1.1 christos }
7375 1.1 christos break;
7376 1.1 christos case 0x10:
7377 1.1 christos GETBYTE ();
7378 1.1 christos switch (op[2] & 0x00)
7379 1.1 christos {
7380 1.1 christos case 0x00:
7381 1.1.1.3 christos op_semantics_48:
7382 1.1 christos {
7383 1.1 christos /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
7384 1.1.1.3 christos #line 583 "rx-decode.opc"
7385 1.1 christos int ss AU = op[1] & 0x03;
7386 1.1.1.3 christos #line 583 "rx-decode.opc"
7387 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7388 1.1.1.3 christos #line 583 "rx-decode.opc"
7389 1.1 christos int rdst AU = op[2] & 0x0f;
7390 1.1 christos if (trace)
7391 1.1 christos {
7392 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7393 1.1 christos "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
7394 1.1 christos op[0], op[1], op[2]);
7395 1.1 christos printf (" ss = 0x%x,", ss);
7396 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7397 1.1 christos printf (" rdst = 0x%x\n", rdst);
7398 1.1 christos }
7399 1.1 christos SYNTAX("max %1%S1, %0");
7400 1.1.1.3 christos #line 583 "rx-decode.opc"
7401 1.1 christos if (ss == 3 && rsrc == 0 && rdst == 0)
7402 1.1 christos {
7403 1.1 christos ID(nop3);
7404 1.1.1.3 christos SYNTAX("nop\t; max\tr0, r0");
7405 1.1 christos }
7406 1.1 christos else
7407 1.1 christos {
7408 1.1 christos ID(max); SP(ss, rsrc); DR(rdst);
7409 1.1 christos }
7410 1.1.1.3 christos
7411 1.1 christos }
7412 1.1 christos break;
7413 1.1 christos }
7414 1.1 christos break;
7415 1.1 christos case 0x11:
7416 1.1 christos GETBYTE ();
7417 1.1 christos switch (op[2] & 0x00)
7418 1.1 christos {
7419 1.1 christos case 0x00:
7420 1.1.1.3 christos goto op_semantics_48;
7421 1.1 christos break;
7422 1.1 christos }
7423 1.1 christos break;
7424 1.1 christos case 0x12:
7425 1.1 christos GETBYTE ();
7426 1.1 christos switch (op[2] & 0x00)
7427 1.1 christos {
7428 1.1 christos case 0x00:
7429 1.1.1.3 christos goto op_semantics_48;
7430 1.1 christos break;
7431 1.1 christos }
7432 1.1 christos break;
7433 1.1 christos case 0x13:
7434 1.1 christos GETBYTE ();
7435 1.1 christos switch (op[2] & 0x00)
7436 1.1 christos {
7437 1.1 christos case 0x00:
7438 1.1.1.3 christos goto op_semantics_48;
7439 1.1 christos break;
7440 1.1 christos }
7441 1.1 christos break;
7442 1.1 christos case 0x14:
7443 1.1 christos GETBYTE ();
7444 1.1 christos switch (op[2] & 0x00)
7445 1.1 christos {
7446 1.1 christos case 0x00:
7447 1.1.1.3 christos op_semantics_49:
7448 1.1 christos {
7449 1.1 christos /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
7450 1.1.1.3 christos #line 603 "rx-decode.opc"
7451 1.1 christos int ss AU = op[1] & 0x03;
7452 1.1.1.3 christos #line 603 "rx-decode.opc"
7453 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7454 1.1.1.3 christos #line 603 "rx-decode.opc"
7455 1.1 christos int rdst AU = op[2] & 0x0f;
7456 1.1 christos if (trace)
7457 1.1 christos {
7458 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7459 1.1 christos "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
7460 1.1 christos op[0], op[1], op[2]);
7461 1.1 christos printf (" ss = 0x%x,", ss);
7462 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7463 1.1 christos printf (" rdst = 0x%x\n", rdst);
7464 1.1 christos }
7465 1.1 christos SYNTAX("min %1%S1, %0");
7466 1.1.1.3 christos #line 603 "rx-decode.opc"
7467 1.1 christos ID(min); SP(ss, rsrc); DR(rdst);
7468 1.1.1.3 christos
7469 1.1 christos }
7470 1.1 christos break;
7471 1.1 christos }
7472 1.1 christos break;
7473 1.1 christos case 0x15:
7474 1.1 christos GETBYTE ();
7475 1.1 christos switch (op[2] & 0x00)
7476 1.1 christos {
7477 1.1 christos case 0x00:
7478 1.1.1.3 christos goto op_semantics_49;
7479 1.1 christos break;
7480 1.1 christos }
7481 1.1 christos break;
7482 1.1 christos case 0x16:
7483 1.1 christos GETBYTE ();
7484 1.1 christos switch (op[2] & 0x00)
7485 1.1 christos {
7486 1.1 christos case 0x00:
7487 1.1.1.3 christos goto op_semantics_49;
7488 1.1 christos break;
7489 1.1 christos }
7490 1.1 christos break;
7491 1.1 christos case 0x17:
7492 1.1 christos GETBYTE ();
7493 1.1 christos switch (op[2] & 0x00)
7494 1.1 christos {
7495 1.1 christos case 0x00:
7496 1.1.1.3 christos goto op_semantics_49;
7497 1.1 christos break;
7498 1.1 christos }
7499 1.1 christos break;
7500 1.1 christos case 0x18:
7501 1.1 christos GETBYTE ();
7502 1.1 christos switch (op[2] & 0x00)
7503 1.1 christos {
7504 1.1 christos case 0x00:
7505 1.1.1.3 christos op_semantics_50:
7506 1.1 christos {
7507 1.1 christos /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
7508 1.1.1.3 christos #line 661 "rx-decode.opc"
7509 1.1 christos int ss AU = op[1] & 0x03;
7510 1.1.1.3 christos #line 661 "rx-decode.opc"
7511 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7512 1.1.1.3 christos #line 661 "rx-decode.opc"
7513 1.1 christos int rdst AU = op[2] & 0x0f;
7514 1.1 christos if (trace)
7515 1.1 christos {
7516 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7517 1.1 christos "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
7518 1.1 christos op[0], op[1], op[2]);
7519 1.1 christos printf (" ss = 0x%x,", ss);
7520 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7521 1.1 christos printf (" rdst = 0x%x\n", rdst);
7522 1.1 christos }
7523 1.1 christos SYNTAX("emul %1%S1, %0");
7524 1.1.1.3 christos #line 661 "rx-decode.opc"
7525 1.1 christos ID(emul); SP(ss, rsrc); DR(rdst);
7526 1.1.1.3 christos
7527 1.1 christos }
7528 1.1 christos break;
7529 1.1 christos }
7530 1.1 christos break;
7531 1.1 christos case 0x19:
7532 1.1 christos GETBYTE ();
7533 1.1 christos switch (op[2] & 0x00)
7534 1.1 christos {
7535 1.1 christos case 0x00:
7536 1.1.1.3 christos goto op_semantics_50;
7537 1.1 christos break;
7538 1.1 christos }
7539 1.1 christos break;
7540 1.1 christos case 0x1a:
7541 1.1 christos GETBYTE ();
7542 1.1 christos switch (op[2] & 0x00)
7543 1.1 christos {
7544 1.1 christos case 0x00:
7545 1.1.1.3 christos goto op_semantics_50;
7546 1.1 christos break;
7547 1.1 christos }
7548 1.1 christos break;
7549 1.1 christos case 0x1b:
7550 1.1 christos GETBYTE ();
7551 1.1 christos switch (op[2] & 0x00)
7552 1.1 christos {
7553 1.1 christos case 0x00:
7554 1.1.1.3 christos goto op_semantics_50;
7555 1.1 christos break;
7556 1.1 christos }
7557 1.1 christos break;
7558 1.1 christos case 0x1c:
7559 1.1 christos GETBYTE ();
7560 1.1 christos switch (op[2] & 0x00)
7561 1.1 christos {
7562 1.1 christos case 0x00:
7563 1.1.1.3 christos op_semantics_51:
7564 1.1 christos {
7565 1.1 christos /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
7566 1.1.1.3 christos #line 673 "rx-decode.opc"
7567 1.1 christos int ss AU = op[1] & 0x03;
7568 1.1.1.3 christos #line 673 "rx-decode.opc"
7569 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7570 1.1.1.3 christos #line 673 "rx-decode.opc"
7571 1.1 christos int rdst AU = op[2] & 0x0f;
7572 1.1 christos if (trace)
7573 1.1 christos {
7574 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7575 1.1 christos "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
7576 1.1 christos op[0], op[1], op[2]);
7577 1.1 christos printf (" ss = 0x%x,", ss);
7578 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7579 1.1 christos printf (" rdst = 0x%x\n", rdst);
7580 1.1 christos }
7581 1.1 christos SYNTAX("emulu %1%S1, %0");
7582 1.1.1.3 christos #line 673 "rx-decode.opc"
7583 1.1 christos ID(emulu); SP(ss, rsrc); DR(rdst);
7584 1.1.1.3 christos
7585 1.1 christos }
7586 1.1 christos break;
7587 1.1 christos }
7588 1.1 christos break;
7589 1.1 christos case 0x1d:
7590 1.1 christos GETBYTE ();
7591 1.1 christos switch (op[2] & 0x00)
7592 1.1 christos {
7593 1.1 christos case 0x00:
7594 1.1.1.3 christos goto op_semantics_51;
7595 1.1 christos break;
7596 1.1 christos }
7597 1.1 christos break;
7598 1.1 christos case 0x1e:
7599 1.1 christos GETBYTE ();
7600 1.1 christos switch (op[2] & 0x00)
7601 1.1 christos {
7602 1.1 christos case 0x00:
7603 1.1.1.3 christos goto op_semantics_51;
7604 1.1 christos break;
7605 1.1 christos }
7606 1.1 christos break;
7607 1.1 christos case 0x1f:
7608 1.1 christos GETBYTE ();
7609 1.1 christos switch (op[2] & 0x00)
7610 1.1 christos {
7611 1.1 christos case 0x00:
7612 1.1.1.3 christos goto op_semantics_51;
7613 1.1 christos break;
7614 1.1 christos }
7615 1.1 christos break;
7616 1.1 christos case 0x20:
7617 1.1 christos GETBYTE ();
7618 1.1 christos switch (op[2] & 0x00)
7619 1.1 christos {
7620 1.1 christos case 0x00:
7621 1.1.1.3 christos op_semantics_52:
7622 1.1 christos {
7623 1.1 christos /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
7624 1.1.1.3 christos #line 685 "rx-decode.opc"
7625 1.1 christos int ss AU = op[1] & 0x03;
7626 1.1.1.3 christos #line 685 "rx-decode.opc"
7627 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7628 1.1.1.3 christos #line 685 "rx-decode.opc"
7629 1.1 christos int rdst AU = op[2] & 0x0f;
7630 1.1 christos if (trace)
7631 1.1 christos {
7632 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7633 1.1 christos "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
7634 1.1 christos op[0], op[1], op[2]);
7635 1.1 christos printf (" ss = 0x%x,", ss);
7636 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7637 1.1 christos printf (" rdst = 0x%x\n", rdst);
7638 1.1 christos }
7639 1.1 christos SYNTAX("div %1%S1, %0");
7640 1.1.1.3 christos #line 685 "rx-decode.opc"
7641 1.1 christos ID(div); SP(ss, rsrc); DR(rdst); F_O___;
7642 1.1.1.3 christos
7643 1.1 christos }
7644 1.1 christos break;
7645 1.1 christos }
7646 1.1 christos break;
7647 1.1 christos case 0x21:
7648 1.1 christos GETBYTE ();
7649 1.1 christos switch (op[2] & 0x00)
7650 1.1 christos {
7651 1.1 christos case 0x00:
7652 1.1.1.3 christos goto op_semantics_52;
7653 1.1 christos break;
7654 1.1 christos }
7655 1.1 christos break;
7656 1.1 christos case 0x22:
7657 1.1 christos GETBYTE ();
7658 1.1 christos switch (op[2] & 0x00)
7659 1.1 christos {
7660 1.1 christos case 0x00:
7661 1.1.1.3 christos goto op_semantics_52;
7662 1.1 christos break;
7663 1.1 christos }
7664 1.1 christos break;
7665 1.1 christos case 0x23:
7666 1.1 christos GETBYTE ();
7667 1.1 christos switch (op[2] & 0x00)
7668 1.1 christos {
7669 1.1 christos case 0x00:
7670 1.1.1.3 christos goto op_semantics_52;
7671 1.1 christos break;
7672 1.1 christos }
7673 1.1 christos break;
7674 1.1 christos case 0x24:
7675 1.1 christos GETBYTE ();
7676 1.1 christos switch (op[2] & 0x00)
7677 1.1 christos {
7678 1.1 christos case 0x00:
7679 1.1.1.3 christos op_semantics_53:
7680 1.1 christos {
7681 1.1 christos /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
7682 1.1.1.3 christos #line 697 "rx-decode.opc"
7683 1.1 christos int ss AU = op[1] & 0x03;
7684 1.1.1.3 christos #line 697 "rx-decode.opc"
7685 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7686 1.1.1.3 christos #line 697 "rx-decode.opc"
7687 1.1 christos int rdst AU = op[2] & 0x0f;
7688 1.1 christos if (trace)
7689 1.1 christos {
7690 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7691 1.1 christos "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
7692 1.1 christos op[0], op[1], op[2]);
7693 1.1 christos printf (" ss = 0x%x,", ss);
7694 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7695 1.1 christos printf (" rdst = 0x%x\n", rdst);
7696 1.1 christos }
7697 1.1 christos SYNTAX("divu %1%S1, %0");
7698 1.1.1.3 christos #line 697 "rx-decode.opc"
7699 1.1 christos ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
7700 1.1.1.3 christos
7701 1.1 christos }
7702 1.1 christos break;
7703 1.1 christos }
7704 1.1 christos break;
7705 1.1 christos case 0x25:
7706 1.1 christos GETBYTE ();
7707 1.1 christos switch (op[2] & 0x00)
7708 1.1 christos {
7709 1.1 christos case 0x00:
7710 1.1.1.3 christos goto op_semantics_53;
7711 1.1 christos break;
7712 1.1 christos }
7713 1.1 christos break;
7714 1.1 christos case 0x26:
7715 1.1 christos GETBYTE ();
7716 1.1 christos switch (op[2] & 0x00)
7717 1.1 christos {
7718 1.1 christos case 0x00:
7719 1.1.1.3 christos goto op_semantics_53;
7720 1.1 christos break;
7721 1.1 christos }
7722 1.1 christos break;
7723 1.1 christos case 0x27:
7724 1.1 christos GETBYTE ();
7725 1.1 christos switch (op[2] & 0x00)
7726 1.1 christos {
7727 1.1 christos case 0x00:
7728 1.1.1.3 christos goto op_semantics_53;
7729 1.1 christos break;
7730 1.1 christos }
7731 1.1 christos break;
7732 1.1 christos case 0x30:
7733 1.1 christos GETBYTE ();
7734 1.1 christos switch (op[2] & 0x00)
7735 1.1 christos {
7736 1.1 christos case 0x00:
7737 1.1.1.3 christos op_semantics_54:
7738 1.1 christos {
7739 1.1 christos /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
7740 1.1.1.2 christos #line 470 "rx-decode.opc"
7741 1.1 christos int ss AU = op[1] & 0x03;
7742 1.1.1.2 christos #line 470 "rx-decode.opc"
7743 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7744 1.1.1.2 christos #line 470 "rx-decode.opc"
7745 1.1 christos int rdst AU = op[2] & 0x0f;
7746 1.1 christos if (trace)
7747 1.1 christos {
7748 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7749 1.1 christos "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
7750 1.1 christos op[0], op[1], op[2]);
7751 1.1 christos printf (" ss = 0x%x,", ss);
7752 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7753 1.1 christos printf (" rdst = 0x%x\n", rdst);
7754 1.1 christos }
7755 1.1 christos SYNTAX("tst %1%S1, %2");
7756 1.1.1.2 christos #line 470 "rx-decode.opc"
7757 1.1 christos ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
7758 1.1.1.3 christos
7759 1.1 christos }
7760 1.1 christos break;
7761 1.1 christos }
7762 1.1 christos break;
7763 1.1 christos case 0x31:
7764 1.1 christos GETBYTE ();
7765 1.1 christos switch (op[2] & 0x00)
7766 1.1 christos {
7767 1.1 christos case 0x00:
7768 1.1.1.3 christos goto op_semantics_54;
7769 1.1 christos break;
7770 1.1 christos }
7771 1.1 christos break;
7772 1.1 christos case 0x32:
7773 1.1 christos GETBYTE ();
7774 1.1 christos switch (op[2] & 0x00)
7775 1.1 christos {
7776 1.1 christos case 0x00:
7777 1.1.1.3 christos goto op_semantics_54;
7778 1.1 christos break;
7779 1.1 christos }
7780 1.1 christos break;
7781 1.1 christos case 0x33:
7782 1.1 christos GETBYTE ();
7783 1.1 christos switch (op[2] & 0x00)
7784 1.1 christos {
7785 1.1 christos case 0x00:
7786 1.1.1.3 christos goto op_semantics_54;
7787 1.1 christos break;
7788 1.1 christos }
7789 1.1 christos break;
7790 1.1 christos case 0x34:
7791 1.1 christos GETBYTE ();
7792 1.1 christos switch (op[2] & 0x00)
7793 1.1 christos {
7794 1.1 christos case 0x00:
7795 1.1.1.3 christos op_semantics_55:
7796 1.1 christos {
7797 1.1 christos /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
7798 1.1.1.2 christos #line 449 "rx-decode.opc"
7799 1.1 christos int ss AU = op[1] & 0x03;
7800 1.1.1.2 christos #line 449 "rx-decode.opc"
7801 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7802 1.1.1.2 christos #line 449 "rx-decode.opc"
7803 1.1 christos int rdst AU = op[2] & 0x0f;
7804 1.1 christos if (trace)
7805 1.1 christos {
7806 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7807 1.1 christos "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
7808 1.1 christos op[0], op[1], op[2]);
7809 1.1 christos printf (" ss = 0x%x,", ss);
7810 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7811 1.1 christos printf (" rdst = 0x%x\n", rdst);
7812 1.1 christos }
7813 1.1 christos SYNTAX("xor %1%S1, %0");
7814 1.1.1.2 christos #line 449 "rx-decode.opc"
7815 1.1 christos ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
7816 1.1.1.3 christos
7817 1.1 christos }
7818 1.1 christos break;
7819 1.1 christos }
7820 1.1 christos break;
7821 1.1 christos case 0x35:
7822 1.1 christos GETBYTE ();
7823 1.1 christos switch (op[2] & 0x00)
7824 1.1 christos {
7825 1.1 christos case 0x00:
7826 1.1.1.3 christos goto op_semantics_55;
7827 1.1 christos break;
7828 1.1 christos }
7829 1.1 christos break;
7830 1.1 christos case 0x36:
7831 1.1 christos GETBYTE ();
7832 1.1 christos switch (op[2] & 0x00)
7833 1.1 christos {
7834 1.1 christos case 0x00:
7835 1.1.1.3 christos goto op_semantics_55;
7836 1.1 christos break;
7837 1.1 christos }
7838 1.1 christos break;
7839 1.1 christos case 0x37:
7840 1.1 christos GETBYTE ();
7841 1.1 christos switch (op[2] & 0x00)
7842 1.1 christos {
7843 1.1 christos case 0x00:
7844 1.1.1.3 christos goto op_semantics_55;
7845 1.1 christos break;
7846 1.1 christos }
7847 1.1 christos break;
7848 1.1 christos case 0x3b:
7849 1.1 christos GETBYTE ();
7850 1.1 christos switch (op[2] & 0x00)
7851 1.1 christos {
7852 1.1 christos case 0x00:
7853 1.1 christos {
7854 1.1 christos /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
7855 1.1.1.2 christos #line 461 "rx-decode.opc"
7856 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7857 1.1.1.2 christos #line 461 "rx-decode.opc"
7858 1.1 christos int rdst AU = op[2] & 0x0f;
7859 1.1 christos if (trace)
7860 1.1 christos {
7861 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7862 1.1 christos "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
7863 1.1 christos op[0], op[1], op[2]);
7864 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7865 1.1 christos printf (" rdst = 0x%x\n", rdst);
7866 1.1 christos }
7867 1.1 christos SYNTAX("not %1, %0");
7868 1.1.1.2 christos #line 461 "rx-decode.opc"
7869 1.1 christos ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
7870 1.1.1.3 christos
7871 1.1 christos /*----------------------------------------------------------------------*/
7872 1.1 christos /* TST */
7873 1.1.1.3 christos
7874 1.1 christos }
7875 1.1 christos break;
7876 1.1 christos }
7877 1.1 christos break;
7878 1.1 christos case 0x40:
7879 1.1 christos GETBYTE ();
7880 1.1 christos switch (op[2] & 0x00)
7881 1.1 christos {
7882 1.1 christos case 0x00:
7883 1.1.1.3 christos op_semantics_56:
7884 1.1 christos {
7885 1.1 christos /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
7886 1.1.1.2 christos #line 383 "rx-decode.opc"
7887 1.1 christos int ss AU = op[1] & 0x03;
7888 1.1.1.2 christos #line 383 "rx-decode.opc"
7889 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7890 1.1.1.2 christos #line 383 "rx-decode.opc"
7891 1.1 christos int rdst AU = op[2] & 0x0f;
7892 1.1 christos if (trace)
7893 1.1 christos {
7894 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7895 1.1 christos "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
7896 1.1 christos op[0], op[1], op[2]);
7897 1.1 christos printf (" ss = 0x%x,", ss);
7898 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7899 1.1 christos printf (" rdst = 0x%x\n", rdst);
7900 1.1 christos }
7901 1.1 christos SYNTAX("xchg %1%S1, %0");
7902 1.1.1.2 christos #line 383 "rx-decode.opc"
7903 1.1 christos ID(xchg); DR(rdst); SP(ss, rsrc);
7904 1.1.1.3 christos
7905 1.1 christos }
7906 1.1 christos break;
7907 1.1 christos }
7908 1.1 christos break;
7909 1.1 christos case 0x41:
7910 1.1 christos GETBYTE ();
7911 1.1 christos switch (op[2] & 0x00)
7912 1.1 christos {
7913 1.1 christos case 0x00:
7914 1.1.1.3 christos goto op_semantics_56;
7915 1.1 christos break;
7916 1.1 christos }
7917 1.1 christos break;
7918 1.1 christos case 0x42:
7919 1.1 christos GETBYTE ();
7920 1.1 christos switch (op[2] & 0x00)
7921 1.1 christos {
7922 1.1 christos case 0x00:
7923 1.1.1.3 christos goto op_semantics_56;
7924 1.1 christos break;
7925 1.1 christos }
7926 1.1 christos break;
7927 1.1 christos case 0x43:
7928 1.1 christos GETBYTE ();
7929 1.1 christos switch (op[2] & 0x00)
7930 1.1 christos {
7931 1.1 christos case 0x00:
7932 1.1.1.3 christos goto op_semantics_56;
7933 1.1 christos break;
7934 1.1 christos }
7935 1.1 christos break;
7936 1.1 christos case 0x44:
7937 1.1 christos GETBYTE ();
7938 1.1 christos switch (op[2] & 0x00)
7939 1.1 christos {
7940 1.1 christos case 0x00:
7941 1.1.1.3 christos op_semantics_57:
7942 1.1 christos {
7943 1.1 christos /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
7944 1.1.1.3 christos #line 926 "rx-decode.opc"
7945 1.1 christos int sd AU = op[1] & 0x03;
7946 1.1.1.3 christos #line 926 "rx-decode.opc"
7947 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
7948 1.1.1.3 christos #line 926 "rx-decode.opc"
7949 1.1 christos int rdst AU = op[2] & 0x0f;
7950 1.1 christos if (trace)
7951 1.1 christos {
7952 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
7953 1.1 christos "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
7954 1.1 christos op[0], op[1], op[2]);
7955 1.1 christos printf (" sd = 0x%x,", sd);
7956 1.1 christos printf (" rsrc = 0x%x,", rsrc);
7957 1.1 christos printf (" rdst = 0x%x\n", rdst);
7958 1.1 christos }
7959 1.1 christos SYNTAX("itof %1%S1, %0");
7960 1.1.1.3 christos #line 926 "rx-decode.opc"
7961 1.1 christos ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
7962 1.1.1.3 christos
7963 1.1 christos }
7964 1.1 christos break;
7965 1.1 christos }
7966 1.1 christos break;
7967 1.1 christos case 0x45:
7968 1.1 christos GETBYTE ();
7969 1.1 christos switch (op[2] & 0x00)
7970 1.1 christos {
7971 1.1 christos case 0x00:
7972 1.1.1.3 christos goto op_semantics_57;
7973 1.1 christos break;
7974 1.1 christos }
7975 1.1 christos break;
7976 1.1 christos case 0x46:
7977 1.1 christos GETBYTE ();
7978 1.1 christos switch (op[2] & 0x00)
7979 1.1 christos {
7980 1.1 christos case 0x00:
7981 1.1.1.3 christos goto op_semantics_57;
7982 1.1 christos break;
7983 1.1 christos }
7984 1.1 christos break;
7985 1.1 christos case 0x47:
7986 1.1 christos GETBYTE ();
7987 1.1 christos switch (op[2] & 0x00)
7988 1.1 christos {
7989 1.1 christos case 0x00:
7990 1.1.1.3 christos goto op_semantics_57;
7991 1.1.1.3 christos break;
7992 1.1.1.3 christos }
7993 1.1.1.3 christos break;
7994 1.1.1.3 christos case 0x4b:
7995 1.1.1.3 christos GETBYTE ();
7996 1.1.1.3 christos switch (op[2] & 0x00)
7997 1.1.1.3 christos {
7998 1.1.1.3 christos case 0x00:
7999 1.1.1.3 christos {
8000 1.1.1.3 christos /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
8001 1.1.1.3 christos #line 1052 "rx-decode.opc"
8002 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8003 1.1.1.3 christos #line 1052 "rx-decode.opc"
8004 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
8005 1.1.1.3 christos if (trace)
8006 1.1.1.3 christos {
8007 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8008 1.1.1.3 christos "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
8009 1.1.1.3 christos op[0], op[1], op[2]);
8010 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
8011 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
8012 1.1.1.3 christos }
8013 1.1.1.3 christos SYNTAX("stz %1, %0");
8014 1.1.1.3 christos #line 1052 "rx-decode.opc"
8015 1.1.1.3 christos ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
8016 1.1.1.3 christos
8017 1.1.1.3 christos }
8018 1.1.1.3 christos break;
8019 1.1.1.3 christos }
8020 1.1.1.3 christos break;
8021 1.1.1.3 christos case 0x4f:
8022 1.1.1.3 christos GETBYTE ();
8023 1.1.1.3 christos switch (op[2] & 0x00)
8024 1.1.1.3 christos {
8025 1.1.1.3 christos case 0x00:
8026 1.1.1.3 christos {
8027 1.1.1.3 christos /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
8028 1.1.1.3 christos #line 1055 "rx-decode.opc"
8029 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8030 1.1.1.3 christos #line 1055 "rx-decode.opc"
8031 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
8032 1.1.1.3 christos if (trace)
8033 1.1.1.3 christos {
8034 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8035 1.1.1.3 christos "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
8036 1.1.1.3 christos op[0], op[1], op[2]);
8037 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
8038 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
8039 1.1.1.3 christos }
8040 1.1.1.3 christos SYNTAX("stnz %1, %0");
8041 1.1.1.3 christos #line 1055 "rx-decode.opc"
8042 1.1.1.3 christos ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz);
8043 1.1.1.3 christos
8044 1.1.1.3 christos }
8045 1.1.1.3 christos break;
8046 1.1.1.3 christos }
8047 1.1.1.3 christos break;
8048 1.1.1.3 christos case 0x54:
8049 1.1.1.3 christos GETBYTE ();
8050 1.1.1.3 christos switch (op[2] & 0x00)
8051 1.1.1.3 christos {
8052 1.1.1.3 christos case 0x00:
8053 1.1.1.3 christos op_semantics_58:
8054 1.1.1.3 christos {
8055 1.1.1.3 christos /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
8056 1.1.1.3 christos #line 1112 "rx-decode.opc"
8057 1.1.1.3 christos int sd AU = op[1] & 0x03;
8058 1.1.1.3 christos #line 1112 "rx-decode.opc"
8059 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8060 1.1.1.3 christos #line 1112 "rx-decode.opc"
8061 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
8062 1.1.1.3 christos if (trace)
8063 1.1.1.3 christos {
8064 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8065 1.1.1.3 christos "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
8066 1.1.1.3 christos op[0], op[1], op[2]);
8067 1.1.1.3 christos printf (" sd = 0x%x,", sd);
8068 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
8069 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
8070 1.1.1.3 christos }
8071 1.1.1.3 christos SYNTAX("utof %1%S1, %0");
8072 1.1.1.3 christos #line 1112 "rx-decode.opc"
8073 1.1.1.3 christos ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
8074 1.1.1.3 christos
8075 1.1.1.3 christos }
8076 1.1.1.3 christos break;
8077 1.1.1.3 christos }
8078 1.1.1.3 christos break;
8079 1.1.1.3 christos case 0x55:
8080 1.1.1.3 christos GETBYTE ();
8081 1.1.1.3 christos switch (op[2] & 0x00)
8082 1.1.1.3 christos {
8083 1.1.1.3 christos case 0x00:
8084 1.1.1.3 christos goto op_semantics_58;
8085 1.1.1.3 christos break;
8086 1.1.1.3 christos }
8087 1.1.1.3 christos break;
8088 1.1.1.3 christos case 0x56:
8089 1.1.1.3 christos GETBYTE ();
8090 1.1.1.3 christos switch (op[2] & 0x00)
8091 1.1.1.3 christos {
8092 1.1.1.3 christos case 0x00:
8093 1.1.1.3 christos goto op_semantics_58;
8094 1.1.1.3 christos break;
8095 1.1.1.3 christos }
8096 1.1.1.3 christos break;
8097 1.1.1.3 christos case 0x57:
8098 1.1.1.3 christos GETBYTE ();
8099 1.1.1.3 christos switch (op[2] & 0x00)
8100 1.1.1.3 christos {
8101 1.1.1.3 christos case 0x00:
8102 1.1.1.3 christos goto op_semantics_58;
8103 1.1 christos break;
8104 1.1 christos }
8105 1.1 christos break;
8106 1.1 christos case 0x60:
8107 1.1 christos GETBYTE ();
8108 1.1 christos switch (op[2] & 0x00)
8109 1.1 christos {
8110 1.1 christos case 0x00:
8111 1.1.1.3 christos op_semantics_59:
8112 1.1 christos {
8113 1.1 christos /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
8114 1.1.1.3 christos #line 938 "rx-decode.opc"
8115 1.1 christos int sd AU = op[1] & 0x03;
8116 1.1.1.3 christos #line 938 "rx-decode.opc"
8117 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
8118 1.1.1.3 christos #line 938 "rx-decode.opc"
8119 1.1 christos int rsrc AU = op[2] & 0x0f;
8120 1.1 christos if (trace)
8121 1.1 christos {
8122 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8123 1.1 christos "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
8124 1.1 christos op[0], op[1], op[2]);
8125 1.1 christos printf (" sd = 0x%x,", sd);
8126 1.1 christos printf (" rdst = 0x%x,", rdst);
8127 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
8128 1.1 christos }
8129 1.1 christos SYNTAX("bset %1, %0%S0");
8130 1.1.1.3 christos #line 938 "rx-decode.opc"
8131 1.1 christos ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8132 1.1 christos if (sd == 3) /* bset reg,reg */
8133 1.1 christos BWL(LSIZE);
8134 1.1.1.3 christos
8135 1.1 christos }
8136 1.1 christos break;
8137 1.1 christos }
8138 1.1 christos break;
8139 1.1 christos case 0x61:
8140 1.1 christos GETBYTE ();
8141 1.1 christos switch (op[2] & 0x00)
8142 1.1 christos {
8143 1.1 christos case 0x00:
8144 1.1.1.3 christos goto op_semantics_59;
8145 1.1 christos break;
8146 1.1 christos }
8147 1.1 christos break;
8148 1.1 christos case 0x62:
8149 1.1 christos GETBYTE ();
8150 1.1 christos switch (op[2] & 0x00)
8151 1.1 christos {
8152 1.1 christos case 0x00:
8153 1.1.1.3 christos goto op_semantics_59;
8154 1.1 christos break;
8155 1.1 christos }
8156 1.1 christos break;
8157 1.1 christos case 0x63:
8158 1.1 christos GETBYTE ();
8159 1.1 christos switch (op[2] & 0x00)
8160 1.1 christos {
8161 1.1 christos case 0x00:
8162 1.1.1.3 christos goto op_semantics_59;
8163 1.1 christos break;
8164 1.1 christos }
8165 1.1 christos break;
8166 1.1 christos case 0x64:
8167 1.1 christos GETBYTE ();
8168 1.1 christos switch (op[2] & 0x00)
8169 1.1 christos {
8170 1.1 christos case 0x00:
8171 1.1.1.3 christos op_semantics_60:
8172 1.1 christos {
8173 1.1 christos /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
8174 1.1.1.3 christos #line 950 "rx-decode.opc"
8175 1.1 christos int sd AU = op[1] & 0x03;
8176 1.1.1.3 christos #line 950 "rx-decode.opc"
8177 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
8178 1.1.1.3 christos #line 950 "rx-decode.opc"
8179 1.1 christos int rsrc AU = op[2] & 0x0f;
8180 1.1 christos if (trace)
8181 1.1 christos {
8182 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8183 1.1 christos "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
8184 1.1 christos op[0], op[1], op[2]);
8185 1.1 christos printf (" sd = 0x%x,", sd);
8186 1.1 christos printf (" rdst = 0x%x,", rdst);
8187 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
8188 1.1 christos }
8189 1.1 christos SYNTAX("bclr %1, %0%S0");
8190 1.1.1.3 christos #line 950 "rx-decode.opc"
8191 1.1 christos ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
8192 1.1 christos if (sd == 3) /* bset reg,reg */
8193 1.1 christos BWL(LSIZE);
8194 1.1.1.3 christos
8195 1.1 christos }
8196 1.1 christos break;
8197 1.1 christos }
8198 1.1 christos break;
8199 1.1 christos case 0x65:
8200 1.1 christos GETBYTE ();
8201 1.1 christos switch (op[2] & 0x00)
8202 1.1 christos {
8203 1.1 christos case 0x00:
8204 1.1.1.3 christos goto op_semantics_60;
8205 1.1 christos break;
8206 1.1 christos }
8207 1.1 christos break;
8208 1.1 christos case 0x66:
8209 1.1 christos GETBYTE ();
8210 1.1 christos switch (op[2] & 0x00)
8211 1.1 christos {
8212 1.1 christos case 0x00:
8213 1.1.1.3 christos goto op_semantics_60;
8214 1.1 christos break;
8215 1.1 christos }
8216 1.1 christos break;
8217 1.1 christos case 0x67:
8218 1.1 christos GETBYTE ();
8219 1.1 christos switch (op[2] & 0x00)
8220 1.1 christos {
8221 1.1 christos case 0x00:
8222 1.1.1.3 christos goto op_semantics_60;
8223 1.1 christos break;
8224 1.1 christos }
8225 1.1 christos break;
8226 1.1 christos case 0x68:
8227 1.1 christos GETBYTE ();
8228 1.1 christos switch (op[2] & 0x00)
8229 1.1 christos {
8230 1.1 christos case 0x00:
8231 1.1.1.3 christos op_semantics_61:
8232 1.1 christos {
8233 1.1 christos /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
8234 1.1.1.3 christos #line 962 "rx-decode.opc"
8235 1.1 christos int sd AU = op[1] & 0x03;
8236 1.1.1.3 christos #line 962 "rx-decode.opc"
8237 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
8238 1.1.1.3 christos #line 962 "rx-decode.opc"
8239 1.1 christos int rsrc AU = op[2] & 0x0f;
8240 1.1 christos if (trace)
8241 1.1 christos {
8242 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8243 1.1 christos "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
8244 1.1 christos op[0], op[1], op[2]);
8245 1.1 christos printf (" sd = 0x%x,", sd);
8246 1.1 christos printf (" rdst = 0x%x,", rdst);
8247 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
8248 1.1 christos }
8249 1.1 christos SYNTAX("btst %2, %1%S1");
8250 1.1.1.3 christos #line 962 "rx-decode.opc"
8251 1.1 christos ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
8252 1.1 christos if (sd == 3) /* bset reg,reg */
8253 1.1 christos BWL(LSIZE);
8254 1.1.1.3 christos
8255 1.1 christos }
8256 1.1 christos break;
8257 1.1 christos }
8258 1.1 christos break;
8259 1.1 christos case 0x69:
8260 1.1 christos GETBYTE ();
8261 1.1 christos switch (op[2] & 0x00)
8262 1.1 christos {
8263 1.1 christos case 0x00:
8264 1.1.1.3 christos goto op_semantics_61;
8265 1.1 christos break;
8266 1.1 christos }
8267 1.1 christos break;
8268 1.1 christos case 0x6a:
8269 1.1 christos GETBYTE ();
8270 1.1 christos switch (op[2] & 0x00)
8271 1.1 christos {
8272 1.1 christos case 0x00:
8273 1.1.1.3 christos goto op_semantics_61;
8274 1.1 christos break;
8275 1.1 christos }
8276 1.1 christos break;
8277 1.1 christos case 0x6b:
8278 1.1 christos GETBYTE ();
8279 1.1 christos switch (op[2] & 0x00)
8280 1.1 christos {
8281 1.1 christos case 0x00:
8282 1.1.1.3 christos goto op_semantics_61;
8283 1.1 christos break;
8284 1.1 christos }
8285 1.1 christos break;
8286 1.1 christos case 0x6c:
8287 1.1 christos GETBYTE ();
8288 1.1 christos switch (op[2] & 0x00)
8289 1.1 christos {
8290 1.1 christos case 0x00:
8291 1.1.1.3 christos op_semantics_62:
8292 1.1 christos {
8293 1.1 christos /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
8294 1.1.1.3 christos #line 974 "rx-decode.opc"
8295 1.1 christos int sd AU = op[1] & 0x03;
8296 1.1.1.3 christos #line 974 "rx-decode.opc"
8297 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
8298 1.1.1.3 christos #line 974 "rx-decode.opc"
8299 1.1 christos int rsrc AU = op[2] & 0x0f;
8300 1.1 christos if (trace)
8301 1.1 christos {
8302 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8303 1.1 christos "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
8304 1.1 christos op[0], op[1], op[2]);
8305 1.1 christos printf (" sd = 0x%x,", sd);
8306 1.1 christos printf (" rdst = 0x%x,", rdst);
8307 1.1 christos printf (" rsrc = 0x%x\n", rsrc);
8308 1.1 christos }
8309 1.1 christos SYNTAX("bnot %1, %0%S0");
8310 1.1.1.3 christos #line 974 "rx-decode.opc"
8311 1.1 christos ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
8312 1.1 christos if (sd == 3) /* bset reg,reg */
8313 1.1 christos BWL(LSIZE);
8314 1.1.1.3 christos
8315 1.1 christos }
8316 1.1 christos break;
8317 1.1 christos }
8318 1.1 christos break;
8319 1.1 christos case 0x6d:
8320 1.1 christos GETBYTE ();
8321 1.1 christos switch (op[2] & 0x00)
8322 1.1 christos {
8323 1.1 christos case 0x00:
8324 1.1.1.3 christos goto op_semantics_62;
8325 1.1 christos break;
8326 1.1 christos }
8327 1.1 christos break;
8328 1.1 christos case 0x6e:
8329 1.1 christos GETBYTE ();
8330 1.1 christos switch (op[2] & 0x00)
8331 1.1 christos {
8332 1.1 christos case 0x00:
8333 1.1.1.3 christos goto op_semantics_62;
8334 1.1 christos break;
8335 1.1 christos }
8336 1.1 christos break;
8337 1.1 christos case 0x6f:
8338 1.1 christos GETBYTE ();
8339 1.1 christos switch (op[2] & 0x00)
8340 1.1 christos {
8341 1.1 christos case 0x00:
8342 1.1.1.3 christos goto op_semantics_62;
8343 1.1 christos break;
8344 1.1 christos }
8345 1.1 christos break;
8346 1.1 christos case 0x80:
8347 1.1 christos GETBYTE ();
8348 1.1 christos switch (op[2] & 0x00)
8349 1.1 christos {
8350 1.1 christos case 0x00:
8351 1.1.1.3 christos op_semantics_63:
8352 1.1 christos {
8353 1.1 christos /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
8354 1.1.1.3 christos #line 905 "rx-decode.opc"
8355 1.1 christos int sd AU = op[1] & 0x03;
8356 1.1.1.3 christos #line 905 "rx-decode.opc"
8357 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8358 1.1.1.3 christos #line 905 "rx-decode.opc"
8359 1.1 christos int rdst AU = op[2] & 0x0f;
8360 1.1 christos if (trace)
8361 1.1 christos {
8362 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8363 1.1 christos "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
8364 1.1 christos op[0], op[1], op[2]);
8365 1.1 christos printf (" sd = 0x%x,", sd);
8366 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8367 1.1 christos printf (" rdst = 0x%x\n", rdst);
8368 1.1 christos }
8369 1.1 christos SYNTAX("fsub %1%S1, %0");
8370 1.1.1.3 christos #line 905 "rx-decode.opc"
8371 1.1 christos ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8372 1.1.1.3 christos
8373 1.1 christos }
8374 1.1 christos break;
8375 1.1 christos }
8376 1.1 christos break;
8377 1.1 christos case 0x81:
8378 1.1 christos GETBYTE ();
8379 1.1 christos switch (op[2] & 0x00)
8380 1.1 christos {
8381 1.1 christos case 0x00:
8382 1.1.1.3 christos goto op_semantics_63;
8383 1.1 christos break;
8384 1.1 christos }
8385 1.1 christos break;
8386 1.1 christos case 0x82:
8387 1.1 christos GETBYTE ();
8388 1.1 christos switch (op[2] & 0x00)
8389 1.1 christos {
8390 1.1 christos case 0x00:
8391 1.1.1.3 christos goto op_semantics_63;
8392 1.1 christos break;
8393 1.1 christos }
8394 1.1 christos break;
8395 1.1 christos case 0x83:
8396 1.1 christos GETBYTE ();
8397 1.1 christos switch (op[2] & 0x00)
8398 1.1 christos {
8399 1.1 christos case 0x00:
8400 1.1.1.3 christos goto op_semantics_63;
8401 1.1 christos break;
8402 1.1 christos }
8403 1.1 christos break;
8404 1.1 christos case 0x84:
8405 1.1 christos GETBYTE ();
8406 1.1 christos switch (op[2] & 0x00)
8407 1.1 christos {
8408 1.1 christos case 0x00:
8409 1.1.1.3 christos op_semantics_64:
8410 1.1 christos {
8411 1.1 christos /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
8412 1.1.1.3 christos #line 899 "rx-decode.opc"
8413 1.1 christos int sd AU = op[1] & 0x03;
8414 1.1.1.3 christos #line 899 "rx-decode.opc"
8415 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8416 1.1.1.3 christos #line 899 "rx-decode.opc"
8417 1.1 christos int rdst AU = op[2] & 0x0f;
8418 1.1 christos if (trace)
8419 1.1 christos {
8420 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8421 1.1 christos "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
8422 1.1 christos op[0], op[1], op[2]);
8423 1.1 christos printf (" sd = 0x%x,", sd);
8424 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8425 1.1 christos printf (" rdst = 0x%x\n", rdst);
8426 1.1 christos }
8427 1.1 christos SYNTAX("fcmp %1%S1, %0");
8428 1.1.1.3 christos #line 899 "rx-decode.opc"
8429 1.1 christos ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
8430 1.1.1.3 christos
8431 1.1 christos }
8432 1.1 christos break;
8433 1.1 christos }
8434 1.1 christos break;
8435 1.1 christos case 0x85:
8436 1.1 christos GETBYTE ();
8437 1.1 christos switch (op[2] & 0x00)
8438 1.1 christos {
8439 1.1 christos case 0x00:
8440 1.1.1.3 christos goto op_semantics_64;
8441 1.1 christos break;
8442 1.1 christos }
8443 1.1 christos break;
8444 1.1 christos case 0x86:
8445 1.1 christos GETBYTE ();
8446 1.1 christos switch (op[2] & 0x00)
8447 1.1 christos {
8448 1.1 christos case 0x00:
8449 1.1.1.3 christos goto op_semantics_64;
8450 1.1 christos break;
8451 1.1 christos }
8452 1.1 christos break;
8453 1.1 christos case 0x87:
8454 1.1 christos GETBYTE ();
8455 1.1 christos switch (op[2] & 0x00)
8456 1.1 christos {
8457 1.1 christos case 0x00:
8458 1.1.1.3 christos goto op_semantics_64;
8459 1.1 christos break;
8460 1.1 christos }
8461 1.1 christos break;
8462 1.1 christos case 0x88:
8463 1.1 christos GETBYTE ();
8464 1.1 christos switch (op[2] & 0x00)
8465 1.1 christos {
8466 1.1 christos case 0x00:
8467 1.1.1.3 christos op_semantics_65:
8468 1.1 christos {
8469 1.1 christos /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
8470 1.1.1.3 christos #line 893 "rx-decode.opc"
8471 1.1 christos int sd AU = op[1] & 0x03;
8472 1.1.1.3 christos #line 893 "rx-decode.opc"
8473 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8474 1.1.1.3 christos #line 893 "rx-decode.opc"
8475 1.1 christos int rdst AU = op[2] & 0x0f;
8476 1.1 christos if (trace)
8477 1.1 christos {
8478 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8479 1.1 christos "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
8480 1.1 christos op[0], op[1], op[2]);
8481 1.1 christos printf (" sd = 0x%x,", sd);
8482 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8483 1.1 christos printf (" rdst = 0x%x\n", rdst);
8484 1.1 christos }
8485 1.1 christos SYNTAX("fadd %1%S1, %0");
8486 1.1.1.3 christos #line 893 "rx-decode.opc"
8487 1.1 christos ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8488 1.1.1.3 christos
8489 1.1 christos }
8490 1.1 christos break;
8491 1.1 christos }
8492 1.1 christos break;
8493 1.1 christos case 0x89:
8494 1.1 christos GETBYTE ();
8495 1.1 christos switch (op[2] & 0x00)
8496 1.1 christos {
8497 1.1 christos case 0x00:
8498 1.1.1.3 christos goto op_semantics_65;
8499 1.1 christos break;
8500 1.1 christos }
8501 1.1 christos break;
8502 1.1 christos case 0x8a:
8503 1.1 christos GETBYTE ();
8504 1.1 christos switch (op[2] & 0x00)
8505 1.1 christos {
8506 1.1 christos case 0x00:
8507 1.1.1.3 christos goto op_semantics_65;
8508 1.1 christos break;
8509 1.1 christos }
8510 1.1 christos break;
8511 1.1 christos case 0x8b:
8512 1.1 christos GETBYTE ();
8513 1.1 christos switch (op[2] & 0x00)
8514 1.1 christos {
8515 1.1 christos case 0x00:
8516 1.1.1.3 christos goto op_semantics_65;
8517 1.1 christos break;
8518 1.1 christos }
8519 1.1 christos break;
8520 1.1 christos case 0x8c:
8521 1.1 christos GETBYTE ();
8522 1.1 christos switch (op[2] & 0x00)
8523 1.1 christos {
8524 1.1 christos case 0x00:
8525 1.1.1.3 christos op_semantics_66:
8526 1.1 christos {
8527 1.1 christos /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
8528 1.1.1.3 christos #line 914 "rx-decode.opc"
8529 1.1 christos int sd AU = op[1] & 0x03;
8530 1.1.1.3 christos #line 914 "rx-decode.opc"
8531 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8532 1.1.1.3 christos #line 914 "rx-decode.opc"
8533 1.1 christos int rdst AU = op[2] & 0x0f;
8534 1.1 christos if (trace)
8535 1.1 christos {
8536 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8537 1.1 christos "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
8538 1.1 christos op[0], op[1], op[2]);
8539 1.1 christos printf (" sd = 0x%x,", sd);
8540 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8541 1.1 christos printf (" rdst = 0x%x\n", rdst);
8542 1.1 christos }
8543 1.1 christos SYNTAX("fmul %1%S1, %0");
8544 1.1.1.3 christos #line 914 "rx-decode.opc"
8545 1.1 christos ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8546 1.1.1.3 christos
8547 1.1 christos }
8548 1.1 christos break;
8549 1.1 christos }
8550 1.1 christos break;
8551 1.1 christos case 0x8d:
8552 1.1 christos GETBYTE ();
8553 1.1 christos switch (op[2] & 0x00)
8554 1.1 christos {
8555 1.1 christos case 0x00:
8556 1.1.1.3 christos goto op_semantics_66;
8557 1.1 christos break;
8558 1.1 christos }
8559 1.1 christos break;
8560 1.1 christos case 0x8e:
8561 1.1 christos GETBYTE ();
8562 1.1 christos switch (op[2] & 0x00)
8563 1.1 christos {
8564 1.1 christos case 0x00:
8565 1.1.1.3 christos goto op_semantics_66;
8566 1.1 christos break;
8567 1.1 christos }
8568 1.1 christos break;
8569 1.1 christos case 0x8f:
8570 1.1 christos GETBYTE ();
8571 1.1 christos switch (op[2] & 0x00)
8572 1.1 christos {
8573 1.1 christos case 0x00:
8574 1.1.1.3 christos goto op_semantics_66;
8575 1.1 christos break;
8576 1.1 christos }
8577 1.1 christos break;
8578 1.1 christos case 0x90:
8579 1.1 christos GETBYTE ();
8580 1.1 christos switch (op[2] & 0x00)
8581 1.1 christos {
8582 1.1 christos case 0x00:
8583 1.1.1.3 christos op_semantics_67:
8584 1.1 christos {
8585 1.1 christos /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
8586 1.1.1.3 christos #line 920 "rx-decode.opc"
8587 1.1 christos int sd AU = op[1] & 0x03;
8588 1.1.1.3 christos #line 920 "rx-decode.opc"
8589 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8590 1.1.1.3 christos #line 920 "rx-decode.opc"
8591 1.1 christos int rdst AU = op[2] & 0x0f;
8592 1.1 christos if (trace)
8593 1.1 christos {
8594 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8595 1.1 christos "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
8596 1.1 christos op[0], op[1], op[2]);
8597 1.1 christos printf (" sd = 0x%x,", sd);
8598 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8599 1.1 christos printf (" rdst = 0x%x\n", rdst);
8600 1.1 christos }
8601 1.1 christos SYNTAX("fdiv %1%S1, %0");
8602 1.1.1.3 christos #line 920 "rx-decode.opc"
8603 1.1 christos ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8604 1.1.1.3 christos
8605 1.1 christos }
8606 1.1 christos break;
8607 1.1 christos }
8608 1.1 christos break;
8609 1.1 christos case 0x91:
8610 1.1 christos GETBYTE ();
8611 1.1 christos switch (op[2] & 0x00)
8612 1.1 christos {
8613 1.1 christos case 0x00:
8614 1.1.1.3 christos goto op_semantics_67;
8615 1.1 christos break;
8616 1.1 christos }
8617 1.1 christos break;
8618 1.1 christos case 0x92:
8619 1.1 christos GETBYTE ();
8620 1.1 christos switch (op[2] & 0x00)
8621 1.1 christos {
8622 1.1 christos case 0x00:
8623 1.1.1.3 christos goto op_semantics_67;
8624 1.1 christos break;
8625 1.1 christos }
8626 1.1 christos break;
8627 1.1 christos case 0x93:
8628 1.1 christos GETBYTE ();
8629 1.1 christos switch (op[2] & 0x00)
8630 1.1 christos {
8631 1.1 christos case 0x00:
8632 1.1.1.3 christos goto op_semantics_67;
8633 1.1 christos break;
8634 1.1 christos }
8635 1.1 christos break;
8636 1.1 christos case 0x94:
8637 1.1 christos GETBYTE ();
8638 1.1 christos switch (op[2] & 0x00)
8639 1.1 christos {
8640 1.1 christos case 0x00:
8641 1.1.1.3 christos op_semantics_68:
8642 1.1 christos {
8643 1.1 christos /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
8644 1.1.1.3 christos #line 908 "rx-decode.opc"
8645 1.1 christos int sd AU = op[1] & 0x03;
8646 1.1.1.3 christos #line 908 "rx-decode.opc"
8647 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8648 1.1.1.3 christos #line 908 "rx-decode.opc"
8649 1.1 christos int rdst AU = op[2] & 0x0f;
8650 1.1 christos if (trace)
8651 1.1 christos {
8652 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8653 1.1 christos "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
8654 1.1 christos op[0], op[1], op[2]);
8655 1.1 christos printf (" sd = 0x%x,", sd);
8656 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8657 1.1 christos printf (" rdst = 0x%x\n", rdst);
8658 1.1 christos }
8659 1.1 christos SYNTAX("ftoi %1%S1, %0");
8660 1.1.1.3 christos #line 908 "rx-decode.opc"
8661 1.1 christos ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8662 1.1.1.3 christos
8663 1.1 christos }
8664 1.1 christos break;
8665 1.1 christos }
8666 1.1 christos break;
8667 1.1 christos case 0x95:
8668 1.1 christos GETBYTE ();
8669 1.1 christos switch (op[2] & 0x00)
8670 1.1 christos {
8671 1.1 christos case 0x00:
8672 1.1.1.3 christos goto op_semantics_68;
8673 1.1 christos break;
8674 1.1 christos }
8675 1.1 christos break;
8676 1.1 christos case 0x96:
8677 1.1 christos GETBYTE ();
8678 1.1 christos switch (op[2] & 0x00)
8679 1.1 christos {
8680 1.1 christos case 0x00:
8681 1.1.1.3 christos goto op_semantics_68;
8682 1.1 christos break;
8683 1.1 christos }
8684 1.1 christos break;
8685 1.1 christos case 0x97:
8686 1.1 christos GETBYTE ();
8687 1.1 christos switch (op[2] & 0x00)
8688 1.1 christos {
8689 1.1 christos case 0x00:
8690 1.1.1.3 christos goto op_semantics_68;
8691 1.1 christos break;
8692 1.1 christos }
8693 1.1 christos break;
8694 1.1 christos case 0x98:
8695 1.1 christos GETBYTE ();
8696 1.1 christos switch (op[2] & 0x00)
8697 1.1 christos {
8698 1.1 christos case 0x00:
8699 1.1.1.3 christos op_semantics_69:
8700 1.1 christos {
8701 1.1 christos /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
8702 1.1.1.3 christos #line 923 "rx-decode.opc"
8703 1.1 christos int sd AU = op[1] & 0x03;
8704 1.1.1.3 christos #line 923 "rx-decode.opc"
8705 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8706 1.1.1.3 christos #line 923 "rx-decode.opc"
8707 1.1 christos int rdst AU = op[2] & 0x0f;
8708 1.1 christos if (trace)
8709 1.1 christos {
8710 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8711 1.1 christos "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
8712 1.1 christos op[0], op[1], op[2]);
8713 1.1 christos printf (" sd = 0x%x,", sd);
8714 1.1 christos printf (" rsrc = 0x%x,", rsrc);
8715 1.1 christos printf (" rdst = 0x%x\n", rdst);
8716 1.1 christos }
8717 1.1 christos SYNTAX("round %1%S1, %0");
8718 1.1.1.3 christos #line 923 "rx-decode.opc"
8719 1.1 christos ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8720 1.1.1.3 christos
8721 1.1 christos }
8722 1.1 christos break;
8723 1.1 christos }
8724 1.1 christos break;
8725 1.1 christos case 0x99:
8726 1.1 christos GETBYTE ();
8727 1.1 christos switch (op[2] & 0x00)
8728 1.1 christos {
8729 1.1 christos case 0x00:
8730 1.1.1.3 christos goto op_semantics_69;
8731 1.1 christos break;
8732 1.1 christos }
8733 1.1 christos break;
8734 1.1 christos case 0x9a:
8735 1.1 christos GETBYTE ();
8736 1.1 christos switch (op[2] & 0x00)
8737 1.1 christos {
8738 1.1 christos case 0x00:
8739 1.1.1.3 christos goto op_semantics_69;
8740 1.1 christos break;
8741 1.1 christos }
8742 1.1 christos break;
8743 1.1 christos case 0x9b:
8744 1.1 christos GETBYTE ();
8745 1.1 christos switch (op[2] & 0x00)
8746 1.1 christos {
8747 1.1 christos case 0x00:
8748 1.1.1.3 christos goto op_semantics_69;
8749 1.1 christos break;
8750 1.1 christos }
8751 1.1 christos break;
8752 1.1.1.3 christos case 0xa0:
8753 1.1 christos GETBYTE ();
8754 1.1 christos switch (op[2] & 0x00)
8755 1.1 christos {
8756 1.1 christos case 0x00:
8757 1.1.1.3 christos op_semantics_70:
8758 1.1 christos {
8759 1.1.1.3 christos /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
8760 1.1.1.3 christos #line 1106 "rx-decode.opc"
8761 1.1.1.3 christos int sd AU = op[1] & 0x03;
8762 1.1.1.3 christos #line 1106 "rx-decode.opc"
8763 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8764 1.1.1.3 christos #line 1106 "rx-decode.opc"
8765 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
8766 1.1.1.3 christos if (trace)
8767 1.1.1.3 christos {
8768 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8769 1.1.1.3 christos "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
8770 1.1.1.3 christos op[0], op[1], op[2]);
8771 1.1.1.3 christos printf (" sd = 0x%x,", sd);
8772 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
8773 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
8774 1.1.1.3 christos }
8775 1.1.1.3 christos SYNTAX("fsqrt %1%S1, %0");
8776 1.1.1.3 christos #line 1106 "rx-decode.opc"
8777 1.1.1.3 christos ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8778 1.1.1.3 christos
8779 1.1.1.3 christos }
8780 1.1.1.3 christos break;
8781 1.1.1.3 christos }
8782 1.1.1.3 christos break;
8783 1.1.1.3 christos case 0xa1:
8784 1.1.1.3 christos GETBYTE ();
8785 1.1.1.3 christos switch (op[2] & 0x00)
8786 1.1.1.3 christos {
8787 1.1.1.3 christos case 0x00:
8788 1.1.1.3 christos goto op_semantics_70;
8789 1.1.1.3 christos break;
8790 1.1.1.3 christos }
8791 1.1.1.3 christos break;
8792 1.1.1.3 christos case 0xa2:
8793 1.1.1.3 christos GETBYTE ();
8794 1.1.1.3 christos switch (op[2] & 0x00)
8795 1.1.1.3 christos {
8796 1.1.1.3 christos case 0x00:
8797 1.1.1.3 christos goto op_semantics_70;
8798 1.1.1.3 christos break;
8799 1.1.1.3 christos }
8800 1.1.1.3 christos break;
8801 1.1.1.3 christos case 0xa3:
8802 1.1.1.3 christos GETBYTE ();
8803 1.1.1.3 christos switch (op[2] & 0x00)
8804 1.1.1.3 christos {
8805 1.1.1.3 christos case 0x00:
8806 1.1.1.3 christos goto op_semantics_70;
8807 1.1.1.3 christos break;
8808 1.1.1.3 christos }
8809 1.1.1.3 christos break;
8810 1.1.1.3 christos case 0xa4:
8811 1.1.1.3 christos GETBYTE ();
8812 1.1.1.3 christos switch (op[2] & 0x00)
8813 1.1.1.3 christos {
8814 1.1.1.3 christos case 0x00:
8815 1.1.1.3 christos op_semantics_71:
8816 1.1.1.3 christos {
8817 1.1.1.3 christos /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
8818 1.1.1.3 christos #line 1109 "rx-decode.opc"
8819 1.1.1.3 christos int sd AU = op[1] & 0x03;
8820 1.1.1.3 christos #line 1109 "rx-decode.opc"
8821 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
8822 1.1.1.3 christos #line 1109 "rx-decode.opc"
8823 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
8824 1.1.1.3 christos if (trace)
8825 1.1.1.3 christos {
8826 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8827 1.1.1.3 christos "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
8828 1.1.1.3 christos op[0], op[1], op[2]);
8829 1.1.1.3 christos printf (" sd = 0x%x,", sd);
8830 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
8831 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
8832 1.1.1.3 christos }
8833 1.1.1.3 christos SYNTAX("ftou %1%S1, %0");
8834 1.1.1.3 christos #line 1109 "rx-decode.opc"
8835 1.1.1.3 christos ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
8836 1.1.1.3 christos
8837 1.1.1.3 christos }
8838 1.1.1.3 christos break;
8839 1.1.1.3 christos }
8840 1.1.1.3 christos break;
8841 1.1.1.3 christos case 0xa5:
8842 1.1.1.3 christos GETBYTE ();
8843 1.1.1.3 christos switch (op[2] & 0x00)
8844 1.1.1.3 christos {
8845 1.1.1.3 christos case 0x00:
8846 1.1.1.3 christos goto op_semantics_71;
8847 1.1.1.3 christos break;
8848 1.1.1.3 christos }
8849 1.1.1.3 christos break;
8850 1.1.1.3 christos case 0xa6:
8851 1.1.1.3 christos GETBYTE ();
8852 1.1.1.3 christos switch (op[2] & 0x00)
8853 1.1.1.3 christos {
8854 1.1.1.3 christos case 0x00:
8855 1.1.1.3 christos goto op_semantics_71;
8856 1.1.1.3 christos break;
8857 1.1.1.3 christos }
8858 1.1.1.3 christos break;
8859 1.1.1.3 christos case 0xa7:
8860 1.1.1.3 christos GETBYTE ();
8861 1.1.1.3 christos switch (op[2] & 0x00)
8862 1.1.1.3 christos {
8863 1.1.1.3 christos case 0x00:
8864 1.1.1.3 christos goto op_semantics_71;
8865 1.1.1.3 christos break;
8866 1.1.1.3 christos }
8867 1.1.1.3 christos break;
8868 1.1.1.3 christos case 0xd0:
8869 1.1.1.3 christos GETBYTE ();
8870 1.1.1.3 christos switch (op[2] & 0x00)
8871 1.1.1.3 christos {
8872 1.1.1.3 christos case 0x00:
8873 1.1.1.3 christos op_semantics_72:
8874 1.1.1.3 christos {
8875 1.1.1.3 christos /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
8876 1.1.1.3 christos #line 1040 "rx-decode.opc"
8877 1.1 christos int sz AU = (op[1] >> 2) & 0x03;
8878 1.1.1.3 christos #line 1040 "rx-decode.opc"
8879 1.1 christos int sd AU = op[1] & 0x03;
8880 1.1.1.3 christos #line 1040 "rx-decode.opc"
8881 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
8882 1.1.1.3 christos #line 1040 "rx-decode.opc"
8883 1.1 christos int cond AU = op[2] & 0x0f;
8884 1.1 christos if (trace)
8885 1.1 christos {
8886 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
8887 1.1 christos "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
8888 1.1 christos op[0], op[1], op[2]);
8889 1.1 christos printf (" sz = 0x%x,", sz);
8890 1.1 christos printf (" sd = 0x%x,", sd);
8891 1.1 christos printf (" rdst = 0x%x,", rdst);
8892 1.1 christos printf (" cond = 0x%x\n", cond);
8893 1.1 christos }
8894 1.1 christos SYNTAX("sc%1%s %0");
8895 1.1.1.3 christos #line 1040 "rx-decode.opc"
8896 1.1 christos ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
8897 1.1.1.3 christos
8898 1.1.1.3 christos /*----------------------------------------------------------------------*/
8899 1.1.1.3 christos /* RXv2 enhanced */
8900 1.1.1.3 christos
8901 1.1 christos }
8902 1.1 christos break;
8903 1.1 christos }
8904 1.1 christos break;
8905 1.1 christos case 0xd1:
8906 1.1 christos GETBYTE ();
8907 1.1 christos switch (op[2] & 0x00)
8908 1.1 christos {
8909 1.1 christos case 0x00:
8910 1.1.1.3 christos goto op_semantics_72;
8911 1.1 christos break;
8912 1.1 christos }
8913 1.1 christos break;
8914 1.1 christos case 0xd2:
8915 1.1 christos GETBYTE ();
8916 1.1 christos switch (op[2] & 0x00)
8917 1.1 christos {
8918 1.1 christos case 0x00:
8919 1.1.1.3 christos goto op_semantics_72;
8920 1.1 christos break;
8921 1.1 christos }
8922 1.1 christos break;
8923 1.1 christos case 0xd3:
8924 1.1 christos GETBYTE ();
8925 1.1 christos switch (op[2] & 0x00)
8926 1.1 christos {
8927 1.1 christos case 0x00:
8928 1.1.1.3 christos goto op_semantics_72;
8929 1.1 christos break;
8930 1.1 christos }
8931 1.1 christos break;
8932 1.1 christos case 0xd4:
8933 1.1 christos GETBYTE ();
8934 1.1 christos switch (op[2] & 0x00)
8935 1.1 christos {
8936 1.1 christos case 0x00:
8937 1.1.1.3 christos goto op_semantics_72;
8938 1.1 christos break;
8939 1.1 christos }
8940 1.1 christos break;
8941 1.1 christos case 0xd5:
8942 1.1 christos GETBYTE ();
8943 1.1 christos switch (op[2] & 0x00)
8944 1.1 christos {
8945 1.1 christos case 0x00:
8946 1.1.1.3 christos goto op_semantics_72;
8947 1.1 christos break;
8948 1.1 christos }
8949 1.1 christos break;
8950 1.1 christos case 0xd6:
8951 1.1 christos GETBYTE ();
8952 1.1 christos switch (op[2] & 0x00)
8953 1.1 christos {
8954 1.1 christos case 0x00:
8955 1.1.1.3 christos goto op_semantics_72;
8956 1.1 christos break;
8957 1.1 christos }
8958 1.1 christos break;
8959 1.1 christos case 0xd7:
8960 1.1 christos GETBYTE ();
8961 1.1 christos switch (op[2] & 0x00)
8962 1.1 christos {
8963 1.1 christos case 0x00:
8964 1.1.1.3 christos goto op_semantics_72;
8965 1.1 christos break;
8966 1.1 christos }
8967 1.1 christos break;
8968 1.1 christos case 0xd8:
8969 1.1 christos GETBYTE ();
8970 1.1 christos switch (op[2] & 0x00)
8971 1.1 christos {
8972 1.1 christos case 0x00:
8973 1.1.1.3 christos goto op_semantics_72;
8974 1.1 christos break;
8975 1.1 christos }
8976 1.1 christos break;
8977 1.1 christos case 0xd9:
8978 1.1 christos GETBYTE ();
8979 1.1 christos switch (op[2] & 0x00)
8980 1.1 christos {
8981 1.1 christos case 0x00:
8982 1.1.1.3 christos goto op_semantics_72;
8983 1.1 christos break;
8984 1.1 christos }
8985 1.1 christos break;
8986 1.1 christos case 0xda:
8987 1.1 christos GETBYTE ();
8988 1.1 christos switch (op[2] & 0x00)
8989 1.1 christos {
8990 1.1 christos case 0x00:
8991 1.1.1.3 christos goto op_semantics_72;
8992 1.1 christos break;
8993 1.1 christos }
8994 1.1 christos break;
8995 1.1 christos case 0xdb:
8996 1.1 christos GETBYTE ();
8997 1.1 christos switch (op[2] & 0x00)
8998 1.1 christos {
8999 1.1 christos case 0x00:
9000 1.1.1.3 christos goto op_semantics_72;
9001 1.1 christos break;
9002 1.1 christos }
9003 1.1 christos break;
9004 1.1 christos case 0xe0:
9005 1.1 christos GETBYTE ();
9006 1.1 christos switch (op[2] & 0x0f)
9007 1.1 christos {
9008 1.1 christos case 0x00:
9009 1.1 christos case 0x01:
9010 1.1 christos case 0x02:
9011 1.1 christos case 0x03:
9012 1.1 christos case 0x04:
9013 1.1 christos case 0x05:
9014 1.1 christos case 0x06:
9015 1.1 christos case 0x07:
9016 1.1 christos case 0x08:
9017 1.1 christos case 0x09:
9018 1.1 christos case 0x0a:
9019 1.1 christos case 0x0b:
9020 1.1 christos case 0x0c:
9021 1.1 christos case 0x0d:
9022 1.1 christos case 0x0e:
9023 1.1.1.3 christos op_semantics_73:
9024 1.1 christos {
9025 1.1 christos /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
9026 1.1.1.3 christos #line 983 "rx-decode.opc"
9027 1.1 christos int bit AU = (op[1] >> 2) & 0x07;
9028 1.1.1.3 christos #line 983 "rx-decode.opc"
9029 1.1 christos int sd AU = op[1] & 0x03;
9030 1.1.1.3 christos #line 983 "rx-decode.opc"
9031 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
9032 1.1.1.3 christos #line 983 "rx-decode.opc"
9033 1.1 christos int cond AU = op[2] & 0x0f;
9034 1.1 christos if (trace)
9035 1.1 christos {
9036 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9037 1.1 christos "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
9038 1.1 christos op[0], op[1], op[2]);
9039 1.1 christos printf (" bit = 0x%x,", bit);
9040 1.1 christos printf (" sd = 0x%x,", sd);
9041 1.1 christos printf (" rdst = 0x%x,", rdst);
9042 1.1 christos printf (" cond = 0x%x\n", cond);
9043 1.1 christos }
9044 1.1 christos SYNTAX("bm%2 #%1, %0%S0");
9045 1.1.1.3 christos #line 983 "rx-decode.opc"
9046 1.1 christos ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
9047 1.1.1.3 christos
9048 1.1 christos }
9049 1.1 christos break;
9050 1.1 christos case 0x0f:
9051 1.1.1.3 christos op_semantics_74:
9052 1.1 christos {
9053 1.1 christos /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
9054 1.1.1.3 christos #line 971 "rx-decode.opc"
9055 1.1 christos int bit AU = (op[1] >> 2) & 0x07;
9056 1.1.1.3 christos #line 971 "rx-decode.opc"
9057 1.1 christos int sd AU = op[1] & 0x03;
9058 1.1.1.3 christos #line 971 "rx-decode.opc"
9059 1.1 christos int rdst AU = (op[2] >> 4) & 0x0f;
9060 1.1 christos if (trace)
9061 1.1 christos {
9062 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9063 1.1 christos "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
9064 1.1 christos op[0], op[1], op[2]);
9065 1.1 christos printf (" bit = 0x%x,", bit);
9066 1.1 christos printf (" sd = 0x%x,", sd);
9067 1.1 christos printf (" rdst = 0x%x\n", rdst);
9068 1.1 christos }
9069 1.1 christos SYNTAX("bnot #%1, %0%S0");
9070 1.1.1.3 christos #line 971 "rx-decode.opc"
9071 1.1 christos ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
9072 1.1.1.3 christos
9073 1.1 christos }
9074 1.1 christos break;
9075 1.1 christos }
9076 1.1 christos break;
9077 1.1 christos case 0xe1:
9078 1.1 christos GETBYTE ();
9079 1.1 christos switch (op[2] & 0x0f)
9080 1.1 christos {
9081 1.1 christos case 0x00:
9082 1.1 christos case 0x01:
9083 1.1 christos case 0x02:
9084 1.1 christos case 0x03:
9085 1.1 christos case 0x04:
9086 1.1 christos case 0x05:
9087 1.1 christos case 0x06:
9088 1.1 christos case 0x07:
9089 1.1 christos case 0x08:
9090 1.1 christos case 0x09:
9091 1.1 christos case 0x0a:
9092 1.1 christos case 0x0b:
9093 1.1 christos case 0x0c:
9094 1.1 christos case 0x0d:
9095 1.1 christos case 0x0e:
9096 1.1.1.3 christos goto op_semantics_73;
9097 1.1 christos break;
9098 1.1 christos case 0x0f:
9099 1.1.1.3 christos goto op_semantics_74;
9100 1.1 christos break;
9101 1.1 christos }
9102 1.1 christos break;
9103 1.1 christos case 0xe2:
9104 1.1 christos GETBYTE ();
9105 1.1 christos switch (op[2] & 0x0f)
9106 1.1 christos {
9107 1.1 christos case 0x00:
9108 1.1 christos case 0x01:
9109 1.1 christos case 0x02:
9110 1.1 christos case 0x03:
9111 1.1 christos case 0x04:
9112 1.1 christos case 0x05:
9113 1.1 christos case 0x06:
9114 1.1 christos case 0x07:
9115 1.1 christos case 0x08:
9116 1.1 christos case 0x09:
9117 1.1 christos case 0x0a:
9118 1.1 christos case 0x0b:
9119 1.1 christos case 0x0c:
9120 1.1 christos case 0x0d:
9121 1.1 christos case 0x0e:
9122 1.1.1.3 christos goto op_semantics_73;
9123 1.1 christos break;
9124 1.1 christos case 0x0f:
9125 1.1.1.3 christos goto op_semantics_74;
9126 1.1 christos break;
9127 1.1 christos }
9128 1.1 christos break;
9129 1.1 christos case 0xe3:
9130 1.1 christos GETBYTE ();
9131 1.1 christos switch (op[2] & 0x0f)
9132 1.1 christos {
9133 1.1 christos case 0x00:
9134 1.1 christos case 0x01:
9135 1.1 christos case 0x02:
9136 1.1 christos case 0x03:
9137 1.1 christos case 0x04:
9138 1.1 christos case 0x05:
9139 1.1 christos case 0x06:
9140 1.1 christos case 0x07:
9141 1.1 christos case 0x08:
9142 1.1 christos case 0x09:
9143 1.1 christos case 0x0a:
9144 1.1 christos case 0x0b:
9145 1.1 christos case 0x0c:
9146 1.1 christos case 0x0d:
9147 1.1 christos case 0x0e:
9148 1.1.1.3 christos goto op_semantics_73;
9149 1.1 christos break;
9150 1.1 christos case 0x0f:
9151 1.1.1.3 christos goto op_semantics_74;
9152 1.1 christos break;
9153 1.1 christos }
9154 1.1 christos break;
9155 1.1 christos case 0xe4:
9156 1.1 christos GETBYTE ();
9157 1.1 christos switch (op[2] & 0x0f)
9158 1.1 christos {
9159 1.1 christos case 0x00:
9160 1.1 christos case 0x01:
9161 1.1 christos case 0x02:
9162 1.1 christos case 0x03:
9163 1.1 christos case 0x04:
9164 1.1 christos case 0x05:
9165 1.1 christos case 0x06:
9166 1.1 christos case 0x07:
9167 1.1 christos case 0x08:
9168 1.1 christos case 0x09:
9169 1.1 christos case 0x0a:
9170 1.1 christos case 0x0b:
9171 1.1 christos case 0x0c:
9172 1.1 christos case 0x0d:
9173 1.1 christos case 0x0e:
9174 1.1.1.3 christos goto op_semantics_73;
9175 1.1 christos break;
9176 1.1 christos case 0x0f:
9177 1.1.1.3 christos goto op_semantics_74;
9178 1.1 christos break;
9179 1.1 christos }
9180 1.1 christos break;
9181 1.1 christos case 0xe5:
9182 1.1 christos GETBYTE ();
9183 1.1 christos switch (op[2] & 0x0f)
9184 1.1 christos {
9185 1.1 christos case 0x00:
9186 1.1 christos case 0x01:
9187 1.1 christos case 0x02:
9188 1.1 christos case 0x03:
9189 1.1 christos case 0x04:
9190 1.1 christos case 0x05:
9191 1.1 christos case 0x06:
9192 1.1 christos case 0x07:
9193 1.1 christos case 0x08:
9194 1.1 christos case 0x09:
9195 1.1 christos case 0x0a:
9196 1.1 christos case 0x0b:
9197 1.1 christos case 0x0c:
9198 1.1 christos case 0x0d:
9199 1.1 christos case 0x0e:
9200 1.1.1.3 christos goto op_semantics_73;
9201 1.1 christos break;
9202 1.1 christos case 0x0f:
9203 1.1.1.3 christos goto op_semantics_74;
9204 1.1 christos break;
9205 1.1 christos }
9206 1.1 christos break;
9207 1.1 christos case 0xe6:
9208 1.1 christos GETBYTE ();
9209 1.1 christos switch (op[2] & 0x0f)
9210 1.1 christos {
9211 1.1 christos case 0x00:
9212 1.1 christos case 0x01:
9213 1.1 christos case 0x02:
9214 1.1 christos case 0x03:
9215 1.1 christos case 0x04:
9216 1.1 christos case 0x05:
9217 1.1 christos case 0x06:
9218 1.1 christos case 0x07:
9219 1.1 christos case 0x08:
9220 1.1 christos case 0x09:
9221 1.1 christos case 0x0a:
9222 1.1 christos case 0x0b:
9223 1.1 christos case 0x0c:
9224 1.1 christos case 0x0d:
9225 1.1 christos case 0x0e:
9226 1.1.1.3 christos goto op_semantics_73;
9227 1.1 christos break;
9228 1.1 christos case 0x0f:
9229 1.1.1.3 christos goto op_semantics_74;
9230 1.1 christos break;
9231 1.1 christos }
9232 1.1 christos break;
9233 1.1 christos case 0xe7:
9234 1.1 christos GETBYTE ();
9235 1.1 christos switch (op[2] & 0x0f)
9236 1.1 christos {
9237 1.1 christos case 0x00:
9238 1.1 christos case 0x01:
9239 1.1 christos case 0x02:
9240 1.1 christos case 0x03:
9241 1.1 christos case 0x04:
9242 1.1 christos case 0x05:
9243 1.1 christos case 0x06:
9244 1.1 christos case 0x07:
9245 1.1 christos case 0x08:
9246 1.1 christos case 0x09:
9247 1.1 christos case 0x0a:
9248 1.1 christos case 0x0b:
9249 1.1 christos case 0x0c:
9250 1.1 christos case 0x0d:
9251 1.1 christos case 0x0e:
9252 1.1.1.3 christos goto op_semantics_73;
9253 1.1 christos break;
9254 1.1 christos case 0x0f:
9255 1.1.1.3 christos goto op_semantics_74;
9256 1.1 christos break;
9257 1.1 christos }
9258 1.1 christos break;
9259 1.1 christos case 0xe8:
9260 1.1 christos GETBYTE ();
9261 1.1 christos switch (op[2] & 0x0f)
9262 1.1 christos {
9263 1.1 christos case 0x00:
9264 1.1 christos case 0x01:
9265 1.1 christos case 0x02:
9266 1.1 christos case 0x03:
9267 1.1 christos case 0x04:
9268 1.1 christos case 0x05:
9269 1.1 christos case 0x06:
9270 1.1 christos case 0x07:
9271 1.1 christos case 0x08:
9272 1.1 christos case 0x09:
9273 1.1 christos case 0x0a:
9274 1.1 christos case 0x0b:
9275 1.1 christos case 0x0c:
9276 1.1 christos case 0x0d:
9277 1.1 christos case 0x0e:
9278 1.1.1.3 christos goto op_semantics_73;
9279 1.1 christos break;
9280 1.1 christos case 0x0f:
9281 1.1.1.3 christos goto op_semantics_74;
9282 1.1 christos break;
9283 1.1 christos }
9284 1.1 christos break;
9285 1.1 christos case 0xe9:
9286 1.1 christos GETBYTE ();
9287 1.1 christos switch (op[2] & 0x0f)
9288 1.1 christos {
9289 1.1 christos case 0x00:
9290 1.1 christos case 0x01:
9291 1.1 christos case 0x02:
9292 1.1 christos case 0x03:
9293 1.1 christos case 0x04:
9294 1.1 christos case 0x05:
9295 1.1 christos case 0x06:
9296 1.1 christos case 0x07:
9297 1.1 christos case 0x08:
9298 1.1 christos case 0x09:
9299 1.1 christos case 0x0a:
9300 1.1 christos case 0x0b:
9301 1.1 christos case 0x0c:
9302 1.1 christos case 0x0d:
9303 1.1 christos case 0x0e:
9304 1.1.1.3 christos goto op_semantics_73;
9305 1.1 christos break;
9306 1.1 christos case 0x0f:
9307 1.1.1.3 christos goto op_semantics_74;
9308 1.1 christos break;
9309 1.1 christos }
9310 1.1 christos break;
9311 1.1 christos case 0xea:
9312 1.1 christos GETBYTE ();
9313 1.1 christos switch (op[2] & 0x0f)
9314 1.1 christos {
9315 1.1 christos case 0x00:
9316 1.1 christos case 0x01:
9317 1.1 christos case 0x02:
9318 1.1 christos case 0x03:
9319 1.1 christos case 0x04:
9320 1.1 christos case 0x05:
9321 1.1 christos case 0x06:
9322 1.1 christos case 0x07:
9323 1.1 christos case 0x08:
9324 1.1 christos case 0x09:
9325 1.1 christos case 0x0a:
9326 1.1 christos case 0x0b:
9327 1.1 christos case 0x0c:
9328 1.1 christos case 0x0d:
9329 1.1 christos case 0x0e:
9330 1.1.1.3 christos goto op_semantics_73;
9331 1.1 christos break;
9332 1.1 christos case 0x0f:
9333 1.1.1.3 christos goto op_semantics_74;
9334 1.1 christos break;
9335 1.1 christos }
9336 1.1 christos break;
9337 1.1 christos case 0xeb:
9338 1.1 christos GETBYTE ();
9339 1.1 christos switch (op[2] & 0x0f)
9340 1.1 christos {
9341 1.1 christos case 0x00:
9342 1.1 christos case 0x01:
9343 1.1 christos case 0x02:
9344 1.1 christos case 0x03:
9345 1.1 christos case 0x04:
9346 1.1 christos case 0x05:
9347 1.1 christos case 0x06:
9348 1.1 christos case 0x07:
9349 1.1 christos case 0x08:
9350 1.1 christos case 0x09:
9351 1.1 christos case 0x0a:
9352 1.1 christos case 0x0b:
9353 1.1 christos case 0x0c:
9354 1.1 christos case 0x0d:
9355 1.1 christos case 0x0e:
9356 1.1.1.3 christos goto op_semantics_73;
9357 1.1 christos break;
9358 1.1 christos case 0x0f:
9359 1.1.1.3 christos goto op_semantics_74;
9360 1.1 christos break;
9361 1.1 christos }
9362 1.1 christos break;
9363 1.1 christos case 0xec:
9364 1.1 christos GETBYTE ();
9365 1.1 christos switch (op[2] & 0x0f)
9366 1.1 christos {
9367 1.1 christos case 0x00:
9368 1.1 christos case 0x01:
9369 1.1 christos case 0x02:
9370 1.1 christos case 0x03:
9371 1.1 christos case 0x04:
9372 1.1 christos case 0x05:
9373 1.1 christos case 0x06:
9374 1.1 christos case 0x07:
9375 1.1 christos case 0x08:
9376 1.1 christos case 0x09:
9377 1.1 christos case 0x0a:
9378 1.1 christos case 0x0b:
9379 1.1 christos case 0x0c:
9380 1.1 christos case 0x0d:
9381 1.1 christos case 0x0e:
9382 1.1.1.3 christos goto op_semantics_73;
9383 1.1 christos break;
9384 1.1 christos case 0x0f:
9385 1.1.1.3 christos goto op_semantics_74;
9386 1.1 christos break;
9387 1.1 christos }
9388 1.1 christos break;
9389 1.1 christos case 0xed:
9390 1.1 christos GETBYTE ();
9391 1.1 christos switch (op[2] & 0x0f)
9392 1.1 christos {
9393 1.1 christos case 0x00:
9394 1.1 christos case 0x01:
9395 1.1 christos case 0x02:
9396 1.1 christos case 0x03:
9397 1.1 christos case 0x04:
9398 1.1 christos case 0x05:
9399 1.1 christos case 0x06:
9400 1.1 christos case 0x07:
9401 1.1 christos case 0x08:
9402 1.1 christos case 0x09:
9403 1.1 christos case 0x0a:
9404 1.1 christos case 0x0b:
9405 1.1 christos case 0x0c:
9406 1.1 christos case 0x0d:
9407 1.1 christos case 0x0e:
9408 1.1.1.3 christos goto op_semantics_73;
9409 1.1 christos break;
9410 1.1 christos case 0x0f:
9411 1.1.1.3 christos goto op_semantics_74;
9412 1.1 christos break;
9413 1.1 christos }
9414 1.1 christos break;
9415 1.1 christos case 0xee:
9416 1.1 christos GETBYTE ();
9417 1.1 christos switch (op[2] & 0x0f)
9418 1.1 christos {
9419 1.1 christos case 0x00:
9420 1.1 christos case 0x01:
9421 1.1 christos case 0x02:
9422 1.1 christos case 0x03:
9423 1.1 christos case 0x04:
9424 1.1 christos case 0x05:
9425 1.1 christos case 0x06:
9426 1.1 christos case 0x07:
9427 1.1 christos case 0x08:
9428 1.1 christos case 0x09:
9429 1.1 christos case 0x0a:
9430 1.1 christos case 0x0b:
9431 1.1 christos case 0x0c:
9432 1.1 christos case 0x0d:
9433 1.1 christos case 0x0e:
9434 1.1.1.3 christos goto op_semantics_73;
9435 1.1 christos break;
9436 1.1 christos case 0x0f:
9437 1.1.1.3 christos goto op_semantics_74;
9438 1.1 christos break;
9439 1.1 christos }
9440 1.1 christos break;
9441 1.1 christos case 0xef:
9442 1.1 christos GETBYTE ();
9443 1.1 christos switch (op[2] & 0x0f)
9444 1.1 christos {
9445 1.1 christos case 0x00:
9446 1.1 christos case 0x01:
9447 1.1 christos case 0x02:
9448 1.1 christos case 0x03:
9449 1.1 christos case 0x04:
9450 1.1 christos case 0x05:
9451 1.1 christos case 0x06:
9452 1.1 christos case 0x07:
9453 1.1 christos case 0x08:
9454 1.1 christos case 0x09:
9455 1.1 christos case 0x0a:
9456 1.1 christos case 0x0b:
9457 1.1 christos case 0x0c:
9458 1.1 christos case 0x0d:
9459 1.1 christos case 0x0e:
9460 1.1.1.3 christos goto op_semantics_73;
9461 1.1 christos break;
9462 1.1 christos case 0x0f:
9463 1.1.1.3 christos goto op_semantics_74;
9464 1.1 christos break;
9465 1.1 christos }
9466 1.1 christos break;
9467 1.1 christos case 0xf0:
9468 1.1 christos GETBYTE ();
9469 1.1 christos switch (op[2] & 0x0f)
9470 1.1 christos {
9471 1.1 christos case 0x00:
9472 1.1 christos case 0x01:
9473 1.1 christos case 0x02:
9474 1.1 christos case 0x03:
9475 1.1 christos case 0x04:
9476 1.1 christos case 0x05:
9477 1.1 christos case 0x06:
9478 1.1 christos case 0x07:
9479 1.1 christos case 0x08:
9480 1.1 christos case 0x09:
9481 1.1 christos case 0x0a:
9482 1.1 christos case 0x0b:
9483 1.1 christos case 0x0c:
9484 1.1 christos case 0x0d:
9485 1.1 christos case 0x0e:
9486 1.1.1.3 christos goto op_semantics_73;
9487 1.1 christos break;
9488 1.1 christos case 0x0f:
9489 1.1.1.3 christos goto op_semantics_74;
9490 1.1 christos break;
9491 1.1 christos }
9492 1.1 christos break;
9493 1.1 christos case 0xf1:
9494 1.1 christos GETBYTE ();
9495 1.1 christos switch (op[2] & 0x0f)
9496 1.1 christos {
9497 1.1 christos case 0x00:
9498 1.1 christos case 0x01:
9499 1.1 christos case 0x02:
9500 1.1 christos case 0x03:
9501 1.1 christos case 0x04:
9502 1.1 christos case 0x05:
9503 1.1 christos case 0x06:
9504 1.1 christos case 0x07:
9505 1.1 christos case 0x08:
9506 1.1 christos case 0x09:
9507 1.1 christos case 0x0a:
9508 1.1 christos case 0x0b:
9509 1.1 christos case 0x0c:
9510 1.1 christos case 0x0d:
9511 1.1 christos case 0x0e:
9512 1.1.1.3 christos goto op_semantics_73;
9513 1.1 christos break;
9514 1.1 christos case 0x0f:
9515 1.1.1.3 christos goto op_semantics_74;
9516 1.1 christos break;
9517 1.1 christos }
9518 1.1 christos break;
9519 1.1 christos case 0xf2:
9520 1.1 christos GETBYTE ();
9521 1.1 christos switch (op[2] & 0x0f)
9522 1.1 christos {
9523 1.1 christos case 0x00:
9524 1.1 christos case 0x01:
9525 1.1 christos case 0x02:
9526 1.1 christos case 0x03:
9527 1.1 christos case 0x04:
9528 1.1 christos case 0x05:
9529 1.1 christos case 0x06:
9530 1.1 christos case 0x07:
9531 1.1 christos case 0x08:
9532 1.1 christos case 0x09:
9533 1.1 christos case 0x0a:
9534 1.1 christos case 0x0b:
9535 1.1 christos case 0x0c:
9536 1.1 christos case 0x0d:
9537 1.1 christos case 0x0e:
9538 1.1.1.3 christos goto op_semantics_73;
9539 1.1 christos break;
9540 1.1 christos case 0x0f:
9541 1.1.1.3 christos goto op_semantics_74;
9542 1.1 christos break;
9543 1.1 christos }
9544 1.1 christos break;
9545 1.1 christos case 0xf3:
9546 1.1 christos GETBYTE ();
9547 1.1 christos switch (op[2] & 0x0f)
9548 1.1 christos {
9549 1.1 christos case 0x00:
9550 1.1 christos case 0x01:
9551 1.1 christos case 0x02:
9552 1.1 christos case 0x03:
9553 1.1 christos case 0x04:
9554 1.1 christos case 0x05:
9555 1.1 christos case 0x06:
9556 1.1 christos case 0x07:
9557 1.1 christos case 0x08:
9558 1.1 christos case 0x09:
9559 1.1 christos case 0x0a:
9560 1.1 christos case 0x0b:
9561 1.1 christos case 0x0c:
9562 1.1 christos case 0x0d:
9563 1.1 christos case 0x0e:
9564 1.1.1.3 christos goto op_semantics_73;
9565 1.1 christos break;
9566 1.1 christos case 0x0f:
9567 1.1.1.3 christos goto op_semantics_74;
9568 1.1 christos break;
9569 1.1 christos }
9570 1.1 christos break;
9571 1.1 christos case 0xf4:
9572 1.1 christos GETBYTE ();
9573 1.1 christos switch (op[2] & 0x0f)
9574 1.1 christos {
9575 1.1 christos case 0x00:
9576 1.1 christos case 0x01:
9577 1.1 christos case 0x02:
9578 1.1 christos case 0x03:
9579 1.1 christos case 0x04:
9580 1.1 christos case 0x05:
9581 1.1 christos case 0x06:
9582 1.1 christos case 0x07:
9583 1.1 christos case 0x08:
9584 1.1 christos case 0x09:
9585 1.1 christos case 0x0a:
9586 1.1 christos case 0x0b:
9587 1.1 christos case 0x0c:
9588 1.1 christos case 0x0d:
9589 1.1 christos case 0x0e:
9590 1.1.1.3 christos goto op_semantics_73;
9591 1.1 christos break;
9592 1.1 christos case 0x0f:
9593 1.1.1.3 christos goto op_semantics_74;
9594 1.1 christos break;
9595 1.1 christos }
9596 1.1 christos break;
9597 1.1 christos case 0xf5:
9598 1.1 christos GETBYTE ();
9599 1.1 christos switch (op[2] & 0x0f)
9600 1.1 christos {
9601 1.1 christos case 0x00:
9602 1.1 christos case 0x01:
9603 1.1 christos case 0x02:
9604 1.1 christos case 0x03:
9605 1.1 christos case 0x04:
9606 1.1 christos case 0x05:
9607 1.1 christos case 0x06:
9608 1.1 christos case 0x07:
9609 1.1 christos case 0x08:
9610 1.1 christos case 0x09:
9611 1.1 christos case 0x0a:
9612 1.1 christos case 0x0b:
9613 1.1 christos case 0x0c:
9614 1.1 christos case 0x0d:
9615 1.1 christos case 0x0e:
9616 1.1.1.3 christos goto op_semantics_73;
9617 1.1 christos break;
9618 1.1 christos case 0x0f:
9619 1.1.1.3 christos goto op_semantics_74;
9620 1.1 christos break;
9621 1.1 christos }
9622 1.1 christos break;
9623 1.1 christos case 0xf6:
9624 1.1 christos GETBYTE ();
9625 1.1 christos switch (op[2] & 0x0f)
9626 1.1 christos {
9627 1.1 christos case 0x00:
9628 1.1 christos case 0x01:
9629 1.1 christos case 0x02:
9630 1.1 christos case 0x03:
9631 1.1 christos case 0x04:
9632 1.1 christos case 0x05:
9633 1.1 christos case 0x06:
9634 1.1 christos case 0x07:
9635 1.1 christos case 0x08:
9636 1.1 christos case 0x09:
9637 1.1 christos case 0x0a:
9638 1.1 christos case 0x0b:
9639 1.1 christos case 0x0c:
9640 1.1 christos case 0x0d:
9641 1.1 christos case 0x0e:
9642 1.1.1.3 christos goto op_semantics_73;
9643 1.1 christos break;
9644 1.1 christos case 0x0f:
9645 1.1.1.3 christos goto op_semantics_74;
9646 1.1 christos break;
9647 1.1 christos }
9648 1.1 christos break;
9649 1.1 christos case 0xf7:
9650 1.1 christos GETBYTE ();
9651 1.1 christos switch (op[2] & 0x0f)
9652 1.1 christos {
9653 1.1 christos case 0x00:
9654 1.1 christos case 0x01:
9655 1.1 christos case 0x02:
9656 1.1 christos case 0x03:
9657 1.1 christos case 0x04:
9658 1.1 christos case 0x05:
9659 1.1 christos case 0x06:
9660 1.1 christos case 0x07:
9661 1.1 christos case 0x08:
9662 1.1 christos case 0x09:
9663 1.1 christos case 0x0a:
9664 1.1 christos case 0x0b:
9665 1.1 christos case 0x0c:
9666 1.1 christos case 0x0d:
9667 1.1 christos case 0x0e:
9668 1.1.1.3 christos goto op_semantics_73;
9669 1.1 christos break;
9670 1.1 christos case 0x0f:
9671 1.1.1.3 christos goto op_semantics_74;
9672 1.1 christos break;
9673 1.1 christos }
9674 1.1 christos break;
9675 1.1 christos case 0xf8:
9676 1.1 christos GETBYTE ();
9677 1.1 christos switch (op[2] & 0x0f)
9678 1.1 christos {
9679 1.1 christos case 0x00:
9680 1.1 christos case 0x01:
9681 1.1 christos case 0x02:
9682 1.1 christos case 0x03:
9683 1.1 christos case 0x04:
9684 1.1 christos case 0x05:
9685 1.1 christos case 0x06:
9686 1.1 christos case 0x07:
9687 1.1 christos case 0x08:
9688 1.1 christos case 0x09:
9689 1.1 christos case 0x0a:
9690 1.1 christos case 0x0b:
9691 1.1 christos case 0x0c:
9692 1.1 christos case 0x0d:
9693 1.1 christos case 0x0e:
9694 1.1.1.3 christos goto op_semantics_73;
9695 1.1 christos break;
9696 1.1 christos case 0x0f:
9697 1.1.1.3 christos goto op_semantics_74;
9698 1.1 christos break;
9699 1.1 christos }
9700 1.1 christos break;
9701 1.1 christos case 0xf9:
9702 1.1 christos GETBYTE ();
9703 1.1 christos switch (op[2] & 0x0f)
9704 1.1 christos {
9705 1.1 christos case 0x00:
9706 1.1 christos case 0x01:
9707 1.1 christos case 0x02:
9708 1.1 christos case 0x03:
9709 1.1 christos case 0x04:
9710 1.1 christos case 0x05:
9711 1.1 christos case 0x06:
9712 1.1 christos case 0x07:
9713 1.1 christos case 0x08:
9714 1.1 christos case 0x09:
9715 1.1 christos case 0x0a:
9716 1.1 christos case 0x0b:
9717 1.1 christos case 0x0c:
9718 1.1 christos case 0x0d:
9719 1.1 christos case 0x0e:
9720 1.1.1.3 christos goto op_semantics_73;
9721 1.1 christos break;
9722 1.1 christos case 0x0f:
9723 1.1.1.3 christos goto op_semantics_74;
9724 1.1 christos break;
9725 1.1 christos }
9726 1.1 christos break;
9727 1.1 christos case 0xfa:
9728 1.1 christos GETBYTE ();
9729 1.1 christos switch (op[2] & 0x0f)
9730 1.1 christos {
9731 1.1 christos case 0x00:
9732 1.1 christos case 0x01:
9733 1.1 christos case 0x02:
9734 1.1 christos case 0x03:
9735 1.1 christos case 0x04:
9736 1.1 christos case 0x05:
9737 1.1 christos case 0x06:
9738 1.1 christos case 0x07:
9739 1.1 christos case 0x08:
9740 1.1 christos case 0x09:
9741 1.1 christos case 0x0a:
9742 1.1 christos case 0x0b:
9743 1.1 christos case 0x0c:
9744 1.1 christos case 0x0d:
9745 1.1 christos case 0x0e:
9746 1.1.1.3 christos goto op_semantics_73;
9747 1.1 christos break;
9748 1.1 christos case 0x0f:
9749 1.1.1.3 christos goto op_semantics_74;
9750 1.1 christos break;
9751 1.1 christos }
9752 1.1 christos break;
9753 1.1 christos case 0xfb:
9754 1.1 christos GETBYTE ();
9755 1.1 christos switch (op[2] & 0x0f)
9756 1.1 christos {
9757 1.1 christos case 0x00:
9758 1.1 christos case 0x01:
9759 1.1 christos case 0x02:
9760 1.1 christos case 0x03:
9761 1.1 christos case 0x04:
9762 1.1 christos case 0x05:
9763 1.1 christos case 0x06:
9764 1.1 christos case 0x07:
9765 1.1 christos case 0x08:
9766 1.1 christos case 0x09:
9767 1.1 christos case 0x0a:
9768 1.1 christos case 0x0b:
9769 1.1 christos case 0x0c:
9770 1.1 christos case 0x0d:
9771 1.1 christos case 0x0e:
9772 1.1.1.3 christos goto op_semantics_73;
9773 1.1 christos break;
9774 1.1 christos case 0x0f:
9775 1.1.1.3 christos goto op_semantics_74;
9776 1.1 christos break;
9777 1.1 christos }
9778 1.1 christos break;
9779 1.1 christos case 0xfc:
9780 1.1 christos GETBYTE ();
9781 1.1 christos switch (op[2] & 0x0f)
9782 1.1 christos {
9783 1.1 christos case 0x00:
9784 1.1 christos case 0x01:
9785 1.1 christos case 0x02:
9786 1.1 christos case 0x03:
9787 1.1 christos case 0x04:
9788 1.1 christos case 0x05:
9789 1.1 christos case 0x06:
9790 1.1 christos case 0x07:
9791 1.1 christos case 0x08:
9792 1.1 christos case 0x09:
9793 1.1 christos case 0x0a:
9794 1.1 christos case 0x0b:
9795 1.1 christos case 0x0c:
9796 1.1 christos case 0x0d:
9797 1.1 christos case 0x0e:
9798 1.1.1.3 christos goto op_semantics_73;
9799 1.1 christos break;
9800 1.1 christos case 0x0f:
9801 1.1.1.3 christos goto op_semantics_74;
9802 1.1 christos break;
9803 1.1 christos }
9804 1.1 christos break;
9805 1.1 christos case 0xfd:
9806 1.1 christos GETBYTE ();
9807 1.1 christos switch (op[2] & 0x0f)
9808 1.1 christos {
9809 1.1 christos case 0x00:
9810 1.1 christos case 0x01:
9811 1.1 christos case 0x02:
9812 1.1 christos case 0x03:
9813 1.1 christos case 0x04:
9814 1.1 christos case 0x05:
9815 1.1 christos case 0x06:
9816 1.1 christos case 0x07:
9817 1.1 christos case 0x08:
9818 1.1 christos case 0x09:
9819 1.1 christos case 0x0a:
9820 1.1 christos case 0x0b:
9821 1.1 christos case 0x0c:
9822 1.1 christos case 0x0d:
9823 1.1 christos case 0x0e:
9824 1.1.1.3 christos goto op_semantics_73;
9825 1.1 christos break;
9826 1.1 christos case 0x0f:
9827 1.1.1.3 christos goto op_semantics_74;
9828 1.1 christos break;
9829 1.1 christos }
9830 1.1 christos break;
9831 1.1 christos case 0xfe:
9832 1.1 christos GETBYTE ();
9833 1.1 christos switch (op[2] & 0x0f)
9834 1.1 christos {
9835 1.1 christos case 0x00:
9836 1.1 christos case 0x01:
9837 1.1 christos case 0x02:
9838 1.1 christos case 0x03:
9839 1.1 christos case 0x04:
9840 1.1 christos case 0x05:
9841 1.1 christos case 0x06:
9842 1.1 christos case 0x07:
9843 1.1 christos case 0x08:
9844 1.1 christos case 0x09:
9845 1.1 christos case 0x0a:
9846 1.1 christos case 0x0b:
9847 1.1 christos case 0x0c:
9848 1.1 christos case 0x0d:
9849 1.1 christos case 0x0e:
9850 1.1.1.3 christos goto op_semantics_73;
9851 1.1 christos break;
9852 1.1 christos case 0x0f:
9853 1.1.1.3 christos goto op_semantics_74;
9854 1.1 christos break;
9855 1.1 christos }
9856 1.1 christos break;
9857 1.1 christos case 0xff:
9858 1.1 christos GETBYTE ();
9859 1.1 christos switch (op[2] & 0x0f)
9860 1.1 christos {
9861 1.1 christos case 0x00:
9862 1.1 christos case 0x01:
9863 1.1 christos case 0x02:
9864 1.1 christos case 0x03:
9865 1.1 christos case 0x04:
9866 1.1 christos case 0x05:
9867 1.1 christos case 0x06:
9868 1.1 christos case 0x07:
9869 1.1 christos case 0x08:
9870 1.1 christos case 0x09:
9871 1.1 christos case 0x0a:
9872 1.1 christos case 0x0b:
9873 1.1 christos case 0x0c:
9874 1.1 christos case 0x0d:
9875 1.1 christos case 0x0e:
9876 1.1.1.3 christos goto op_semantics_73;
9877 1.1 christos break;
9878 1.1 christos case 0x0f:
9879 1.1.1.3 christos goto op_semantics_74;
9880 1.1 christos break;
9881 1.1 christos }
9882 1.1 christos break;
9883 1.1 christos default: UNSUPPORTED(); break;
9884 1.1 christos }
9885 1.1 christos break;
9886 1.1 christos case 0xfd:
9887 1.1 christos GETBYTE ();
9888 1.1 christos switch (op[1] & 0xff)
9889 1.1 christos {
9890 1.1 christos case 0x00:
9891 1.1 christos GETBYTE ();
9892 1.1 christos switch (op[2] & 0x00)
9893 1.1 christos {
9894 1.1 christos case 0x00:
9895 1.1.1.3 christos op_semantics_75:
9896 1.1 christos {
9897 1.1.1.3 christos /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
9898 1.1.1.3 christos #line 848 "rx-decode.opc"
9899 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
9900 1.1.1.3 christos #line 848 "rx-decode.opc"
9901 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
9902 1.1.1.3 christos #line 848 "rx-decode.opc"
9903 1.1 christos int srcb AU = op[2] & 0x0f;
9904 1.1 christos if (trace)
9905 1.1 christos {
9906 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9907 1.1.1.3 christos "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
9908 1.1 christos op[0], op[1], op[2]);
9909 1.1.1.3 christos printf (" a = 0x%x,", a);
9910 1.1 christos printf (" srca = 0x%x,", srca);
9911 1.1 christos printf (" srcb = 0x%x\n", srcb);
9912 1.1 christos }
9913 1.1.1.3 christos SYNTAX("mulhi %1, %2, %0");
9914 1.1.1.3 christos #line 848 "rx-decode.opc"
9915 1.1.1.3 christos ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
9916 1.1.1.3 christos
9917 1.1 christos }
9918 1.1 christos break;
9919 1.1 christos }
9920 1.1 christos break;
9921 1.1 christos case 0x01:
9922 1.1 christos GETBYTE ();
9923 1.1 christos switch (op[2] & 0x00)
9924 1.1 christos {
9925 1.1 christos case 0x00:
9926 1.1.1.3 christos op_semantics_76:
9927 1.1 christos {
9928 1.1.1.3 christos /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
9929 1.1.1.3 christos #line 851 "rx-decode.opc"
9930 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
9931 1.1.1.3 christos #line 851 "rx-decode.opc"
9932 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
9933 1.1.1.3 christos #line 851 "rx-decode.opc"
9934 1.1 christos int srcb AU = op[2] & 0x0f;
9935 1.1 christos if (trace)
9936 1.1 christos {
9937 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9938 1.1.1.3 christos "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
9939 1.1 christos op[0], op[1], op[2]);
9940 1.1.1.3 christos printf (" a = 0x%x,", a);
9941 1.1 christos printf (" srca = 0x%x,", srca);
9942 1.1 christos printf (" srcb = 0x%x\n", srcb);
9943 1.1 christos }
9944 1.1.1.3 christos SYNTAX("mullo %1, %2, %0");
9945 1.1.1.3 christos #line 851 "rx-decode.opc"
9946 1.1.1.3 christos ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
9947 1.1.1.3 christos
9948 1.1 christos }
9949 1.1 christos break;
9950 1.1 christos }
9951 1.1 christos break;
9952 1.1.1.3 christos case 0x02:
9953 1.1 christos GETBYTE ();
9954 1.1 christos switch (op[2] & 0x00)
9955 1.1 christos {
9956 1.1 christos case 0x00:
9957 1.1.1.3 christos op_semantics_77:
9958 1.1 christos {
9959 1.1.1.3 christos /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
9960 1.1.1.3 christos #line 1079 "rx-decode.opc"
9961 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
9962 1.1.1.3 christos #line 1079 "rx-decode.opc"
9963 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
9964 1.1.1.3 christos #line 1079 "rx-decode.opc"
9965 1.1 christos int srcb AU = op[2] & 0x0f;
9966 1.1 christos if (trace)
9967 1.1 christos {
9968 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
9969 1.1.1.3 christos "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
9970 1.1 christos op[0], op[1], op[2]);
9971 1.1.1.3 christos printf (" a = 0x%x,", a);
9972 1.1 christos printf (" srca = 0x%x,", srca);
9973 1.1 christos printf (" srcb = 0x%x\n", srcb);
9974 1.1 christos }
9975 1.1.1.3 christos SYNTAX("mullh %1, %2, %0");
9976 1.1.1.3 christos #line 1079 "rx-decode.opc"
9977 1.1.1.3 christos ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
9978 1.1.1.3 christos
9979 1.1 christos }
9980 1.1 christos break;
9981 1.1 christos }
9982 1.1 christos break;
9983 1.1.1.3 christos case 0x03:
9984 1.1 christos GETBYTE ();
9985 1.1 christos switch (op[2] & 0x00)
9986 1.1 christos {
9987 1.1 christos case 0x00:
9988 1.1.1.3 christos op_semantics_78:
9989 1.1 christos {
9990 1.1.1.3 christos /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
9991 1.1.1.3 christos #line 1064 "rx-decode.opc"
9992 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
9993 1.1.1.3 christos #line 1064 "rx-decode.opc"
9994 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
9995 1.1.1.3 christos #line 1064 "rx-decode.opc"
9996 1.1 christos int srcb AU = op[2] & 0x0f;
9997 1.1 christos if (trace)
9998 1.1 christos {
9999 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10000 1.1.1.3 christos "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
10001 1.1 christos op[0], op[1], op[2]);
10002 1.1.1.3 christos printf (" a = 0x%x,", a);
10003 1.1 christos printf (" srca = 0x%x,", srca);
10004 1.1 christos printf (" srcb = 0x%x\n", srcb);
10005 1.1 christos }
10006 1.1.1.3 christos SYNTAX("emula %1, %2, %0");
10007 1.1.1.3 christos #line 1064 "rx-decode.opc"
10008 1.1.1.3 christos ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
10009 1.1.1.3 christos
10010 1.1 christos }
10011 1.1 christos break;
10012 1.1 christos }
10013 1.1 christos break;
10014 1.1.1.3 christos case 0x04:
10015 1.1 christos GETBYTE ();
10016 1.1.1.3 christos switch (op[2] & 0x00)
10017 1.1 christos {
10018 1.1 christos case 0x00:
10019 1.1.1.3 christos op_semantics_79:
10020 1.1 christos {
10021 1.1.1.3 christos /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
10022 1.1.1.3 christos #line 854 "rx-decode.opc"
10023 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10024 1.1.1.3 christos #line 854 "rx-decode.opc"
10025 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10026 1.1.1.3 christos #line 854 "rx-decode.opc"
10027 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10028 1.1 christos if (trace)
10029 1.1 christos {
10030 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10031 1.1.1.3 christos "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
10032 1.1 christos op[0], op[1], op[2]);
10033 1.1.1.3 christos printf (" a = 0x%x,", a);
10034 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10035 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10036 1.1 christos }
10037 1.1.1.3 christos SYNTAX("machi %1, %2, %0");
10038 1.1.1.3 christos #line 854 "rx-decode.opc"
10039 1.1.1.3 christos ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
10040 1.1.1.3 christos
10041 1.1 christos }
10042 1.1 christos break;
10043 1.1 christos }
10044 1.1 christos break;
10045 1.1.1.3 christos case 0x05:
10046 1.1 christos GETBYTE ();
10047 1.1.1.3 christos switch (op[2] & 0x00)
10048 1.1 christos {
10049 1.1 christos case 0x00:
10050 1.1.1.3 christos op_semantics_80:
10051 1.1 christos {
10052 1.1.1.3 christos /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
10053 1.1.1.3 christos #line 857 "rx-decode.opc"
10054 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10055 1.1.1.3 christos #line 857 "rx-decode.opc"
10056 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10057 1.1.1.3 christos #line 857 "rx-decode.opc"
10058 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10059 1.1 christos if (trace)
10060 1.1 christos {
10061 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10062 1.1.1.3 christos "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
10063 1.1 christos op[0], op[1], op[2]);
10064 1.1.1.3 christos printf (" a = 0x%x,", a);
10065 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10066 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10067 1.1 christos }
10068 1.1.1.3 christos SYNTAX("maclo %1, %2, %0");
10069 1.1.1.3 christos #line 857 "rx-decode.opc"
10070 1.1.1.3 christos ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
10071 1.1.1.3 christos
10072 1.1 christos }
10073 1.1 christos break;
10074 1.1 christos }
10075 1.1 christos break;
10076 1.1.1.3 christos case 0x06:
10077 1.1 christos GETBYTE ();
10078 1.1.1.3 christos switch (op[2] & 0x00)
10079 1.1 christos {
10080 1.1 christos case 0x00:
10081 1.1.1.3 christos op_semantics_81:
10082 1.1 christos {
10083 1.1.1.3 christos /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
10084 1.1.1.3 christos #line 1067 "rx-decode.opc"
10085 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10086 1.1.1.3 christos #line 1067 "rx-decode.opc"
10087 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10088 1.1.1.3 christos #line 1067 "rx-decode.opc"
10089 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10090 1.1 christos if (trace)
10091 1.1 christos {
10092 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10093 1.1.1.3 christos "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
10094 1.1 christos op[0], op[1], op[2]);
10095 1.1.1.3 christos printf (" a = 0x%x,", a);
10096 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10097 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10098 1.1 christos }
10099 1.1.1.3 christos SYNTAX("maclh %1, %2, %0");
10100 1.1.1.3 christos #line 1067 "rx-decode.opc"
10101 1.1.1.3 christos ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
10102 1.1.1.3 christos
10103 1.1 christos }
10104 1.1 christos break;
10105 1.1 christos }
10106 1.1 christos break;
10107 1.1.1.3 christos case 0x07:
10108 1.1 christos GETBYTE ();
10109 1.1 christos switch (op[2] & 0x00)
10110 1.1 christos {
10111 1.1 christos case 0x00:
10112 1.1.1.3 christos op_semantics_82:
10113 1.1 christos {
10114 1.1.1.3 christos /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
10115 1.1.1.3 christos #line 1058 "rx-decode.opc"
10116 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10117 1.1.1.3 christos #line 1058 "rx-decode.opc"
10118 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10119 1.1.1.3 christos #line 1058 "rx-decode.opc"
10120 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10121 1.1 christos if (trace)
10122 1.1 christos {
10123 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10124 1.1.1.3 christos "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
10125 1.1 christos op[0], op[1], op[2]);
10126 1.1.1.3 christos printf (" a = 0x%x,", a);
10127 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10128 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10129 1.1 christos }
10130 1.1.1.3 christos SYNTAX("emaca %1, %2, %0");
10131 1.1.1.3 christos #line 1058 "rx-decode.opc"
10132 1.1.1.3 christos ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
10133 1.1.1.3 christos
10134 1.1 christos }
10135 1.1 christos break;
10136 1.1 christos }
10137 1.1 christos break;
10138 1.1.1.3 christos case 0x08:
10139 1.1 christos GETBYTE ();
10140 1.1 christos switch (op[2] & 0x00)
10141 1.1 christos {
10142 1.1 christos case 0x00:
10143 1.1.1.3 christos goto op_semantics_75;
10144 1.1 christos break;
10145 1.1 christos }
10146 1.1 christos break;
10147 1.1.1.3 christos case 0x09:
10148 1.1 christos GETBYTE ();
10149 1.1 christos switch (op[2] & 0x00)
10150 1.1 christos {
10151 1.1 christos case 0x00:
10152 1.1.1.3 christos goto op_semantics_76;
10153 1.1 christos break;
10154 1.1 christos }
10155 1.1 christos break;
10156 1.1.1.3 christos case 0x0a:
10157 1.1 christos GETBYTE ();
10158 1.1 christos switch (op[2] & 0x00)
10159 1.1 christos {
10160 1.1 christos case 0x00:
10161 1.1.1.3 christos goto op_semantics_77;
10162 1.1 christos break;
10163 1.1 christos }
10164 1.1 christos break;
10165 1.1.1.3 christos case 0x0b:
10166 1.1 christos GETBYTE ();
10167 1.1 christos switch (op[2] & 0x00)
10168 1.1 christos {
10169 1.1 christos case 0x00:
10170 1.1.1.3 christos goto op_semantics_78;
10171 1.1 christos break;
10172 1.1 christos }
10173 1.1 christos break;
10174 1.1.1.3 christos case 0x0c:
10175 1.1 christos GETBYTE ();
10176 1.1 christos switch (op[2] & 0x00)
10177 1.1 christos {
10178 1.1 christos case 0x00:
10179 1.1.1.3 christos goto op_semantics_79;
10180 1.1 christos break;
10181 1.1 christos }
10182 1.1 christos break;
10183 1.1.1.3 christos case 0x0d:
10184 1.1 christos GETBYTE ();
10185 1.1 christos switch (op[2] & 0x00)
10186 1.1 christos {
10187 1.1 christos case 0x00:
10188 1.1.1.3 christos goto op_semantics_80;
10189 1.1 christos break;
10190 1.1 christos }
10191 1.1 christos break;
10192 1.1.1.3 christos case 0x0e:
10193 1.1 christos GETBYTE ();
10194 1.1 christos switch (op[2] & 0x00)
10195 1.1 christos {
10196 1.1 christos case 0x00:
10197 1.1.1.3 christos goto op_semantics_81;
10198 1.1 christos break;
10199 1.1 christos }
10200 1.1 christos break;
10201 1.1.1.3 christos case 0x0f:
10202 1.1 christos GETBYTE ();
10203 1.1 christos switch (op[2] & 0x00)
10204 1.1 christos {
10205 1.1 christos case 0x00:
10206 1.1.1.3 christos goto op_semantics_82;
10207 1.1 christos break;
10208 1.1 christos }
10209 1.1 christos break;
10210 1.1.1.3 christos case 0x17:
10211 1.1 christos GETBYTE ();
10212 1.1.1.3 christos switch (op[2] & 0x70)
10213 1.1 christos {
10214 1.1 christos case 0x00:
10215 1.1.1.3 christos {
10216 1.1.1.3 christos /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
10217 1.1.1.3 christos #line 860 "rx-decode.opc"
10218 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10219 1.1.1.3 christos #line 860 "rx-decode.opc"
10220 1.1.1.3 christos int rsrc AU = op[2] & 0x0f;
10221 1.1.1.3 christos if (trace)
10222 1.1.1.3 christos {
10223 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10224 1.1.1.3 christos "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
10225 1.1.1.3 christos op[0], op[1], op[2]);
10226 1.1.1.3 christos printf (" a = 0x%x,", a);
10227 1.1.1.3 christos printf (" rsrc = 0x%x\n", rsrc);
10228 1.1.1.3 christos }
10229 1.1.1.3 christos SYNTAX("mvtachi %1, %0");
10230 1.1.1.3 christos #line 860 "rx-decode.opc"
10231 1.1.1.3 christos ID(mvtachi); DR(a+32); SR(rsrc); F_____;
10232 1.1.1.3 christos
10233 1.1.1.3 christos }
10234 1.1 christos break;
10235 1.1.1.3 christos case 0x10:
10236 1.1.1.3 christos {
10237 1.1.1.3 christos /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
10238 1.1.1.3 christos #line 863 "rx-decode.opc"
10239 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10240 1.1.1.3 christos #line 863 "rx-decode.opc"
10241 1.1.1.3 christos int rsrc AU = op[2] & 0x0f;
10242 1.1.1.3 christos if (trace)
10243 1.1.1.3 christos {
10244 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10245 1.1.1.3 christos "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
10246 1.1.1.3 christos op[0], op[1], op[2]);
10247 1.1.1.3 christos printf (" a = 0x%x,", a);
10248 1.1.1.3 christos printf (" rsrc = 0x%x\n", rsrc);
10249 1.1.1.3 christos }
10250 1.1.1.3 christos SYNTAX("mvtaclo %1, %0");
10251 1.1.1.3 christos #line 863 "rx-decode.opc"
10252 1.1.1.3 christos ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
10253 1.1.1.3 christos
10254 1.1.1.3 christos }
10255 1.1 christos break;
10256 1.1.1.3 christos case 0x30:
10257 1.1 christos {
10258 1.1.1.3 christos /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
10259 1.1.1.3 christos #line 1085 "rx-decode.opc"
10260 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10261 1.1.1.3 christos #line 1085 "rx-decode.opc"
10262 1.1 christos int rdst AU = op[2] & 0x0f;
10263 1.1 christos if (trace)
10264 1.1 christos {
10265 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10266 1.1.1.3 christos "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
10267 1.1 christos op[0], op[1], op[2]);
10268 1.1.1.3 christos printf (" a = 0x%x,", a);
10269 1.1 christos printf (" rdst = 0x%x\n", rdst);
10270 1.1 christos }
10271 1.1.1.3 christos SYNTAX("mvtacgu %0, %1");
10272 1.1.1.3 christos #line 1085 "rx-decode.opc"
10273 1.1.1.3 christos ID(mvtacgu); DR(a+32); SR(rdst); F_____;
10274 1.1.1.3 christos
10275 1.1 christos }
10276 1.1 christos break;
10277 1.1.1.3 christos default: UNSUPPORTED(); break;
10278 1.1 christos }
10279 1.1 christos break;
10280 1.1.1.3 christos case 0x18:
10281 1.1 christos GETBYTE ();
10282 1.1.1.3 christos switch (op[2] & 0x6f)
10283 1.1 christos {
10284 1.1 christos case 0x00:
10285 1.1.1.3 christos {
10286 1.1.1.3 christos /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
10287 1.1.1.3 christos #line 875 "rx-decode.opc"
10288 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10289 1.1.1.3 christos #line 875 "rx-decode.opc"
10290 1.1.1.3 christos int i AU = (op[2] >> 4) & 0x01;
10291 1.1.1.3 christos if (trace)
10292 1.1.1.3 christos {
10293 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10294 1.1.1.3 christos "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
10295 1.1.1.3 christos op[0], op[1], op[2]);
10296 1.1.1.3 christos printf (" a = 0x%x,", a);
10297 1.1.1.3 christos printf (" i = 0x%x\n", i);
10298 1.1.1.3 christos }
10299 1.1.1.3 christos SYNTAX("racw #%1, %0");
10300 1.1.1.3 christos #line 875 "rx-decode.opc"
10301 1.1.1.3 christos ID(racw); SC(i+1); DR(a+32); F_____;
10302 1.1.1.3 christos
10303 1.1.1.3 christos /*----------------------------------------------------------------------*/
10304 1.1.1.3 christos /* SAT */
10305 1.1.1.3 christos
10306 1.1.1.3 christos }
10307 1.1 christos break;
10308 1.1.1.3 christos case 0x40:
10309 1.1 christos {
10310 1.1.1.3 christos /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
10311 1.1.1.3 christos #line 1094 "rx-decode.opc"
10312 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10313 1.1.1.3 christos #line 1094 "rx-decode.opc"
10314 1.1.1.3 christos int i AU = (op[2] >> 4) & 0x01;
10315 1.1 christos if (trace)
10316 1.1 christos {
10317 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10318 1.1.1.3 christos "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
10319 1.1 christos op[0], op[1], op[2]);
10320 1.1.1.3 christos printf (" a = 0x%x,", a);
10321 1.1.1.3 christos printf (" i = 0x%x\n", i);
10322 1.1 christos }
10323 1.1.1.3 christos SYNTAX("rdacw #%1, %0");
10324 1.1.1.3 christos #line 1094 "rx-decode.opc"
10325 1.1.1.3 christos ID(rdacw); SC(i+1); DR(a+32); F_____;
10326 1.1.1.3 christos
10327 1.1 christos }
10328 1.1 christos break;
10329 1.1.1.3 christos default: UNSUPPORTED(); break;
10330 1.1 christos }
10331 1.1 christos break;
10332 1.1.1.3 christos case 0x19:
10333 1.1 christos GETBYTE ();
10334 1.1.1.3 christos switch (op[2] & 0x6f)
10335 1.1 christos {
10336 1.1 christos case 0x00:
10337 1.1 christos {
10338 1.1.1.3 christos /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
10339 1.1.1.3 christos #line 1088 "rx-decode.opc"
10340 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10341 1.1.1.3 christos #line 1088 "rx-decode.opc"
10342 1.1.1.3 christos int i AU = (op[2] >> 4) & 0x01;
10343 1.1 christos if (trace)
10344 1.1 christos {
10345 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10346 1.1.1.3 christos "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
10347 1.1 christos op[0], op[1], op[2]);
10348 1.1.1.3 christos printf (" a = 0x%x,", a);
10349 1.1.1.3 christos printf (" i = 0x%x\n", i);
10350 1.1 christos }
10351 1.1.1.3 christos SYNTAX("racl #%1, %0");
10352 1.1.1.3 christos #line 1088 "rx-decode.opc"
10353 1.1.1.3 christos ID(racl); SC(i+1); DR(a+32); F_____;
10354 1.1.1.3 christos
10355 1.1 christos }
10356 1.1 christos break;
10357 1.1.1.3 christos case 0x40:
10358 1.1 christos {
10359 1.1.1.3 christos /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
10360 1.1.1.3 christos #line 1091 "rx-decode.opc"
10361 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10362 1.1.1.3 christos #line 1091 "rx-decode.opc"
10363 1.1.1.3 christos int i AU = (op[2] >> 4) & 0x01;
10364 1.1 christos if (trace)
10365 1.1 christos {
10366 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10367 1.1.1.3 christos "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
10368 1.1 christos op[0], op[1], op[2]);
10369 1.1.1.3 christos printf (" a = 0x%x,", a);
10370 1.1.1.3 christos printf (" i = 0x%x\n", i);
10371 1.1 christos }
10372 1.1.1.3 christos SYNTAX("rdacl #%1, %0");
10373 1.1.1.3 christos #line 1091 "rx-decode.opc"
10374 1.1.1.3 christos ID(rdacl); SC(i+1); DR(a+32); F_____;
10375 1.1.1.3 christos
10376 1.1 christos }
10377 1.1 christos break;
10378 1.1.1.3 christos default: UNSUPPORTED(); break;
10379 1.1 christos }
10380 1.1 christos break;
10381 1.1.1.3 christos case 0x1e:
10382 1.1 christos GETBYTE ();
10383 1.1.1.3 christos switch (op[2] & 0x30)
10384 1.1 christos {
10385 1.1 christos case 0x00:
10386 1.1.1.3 christos op_semantics_83:
10387 1.1 christos {
10388 1.1.1.3 christos /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
10389 1.1.1.3 christos #line 866 "rx-decode.opc"
10390 1.1.1.3 christos int i AU = op[1] & 0x01;
10391 1.1.1.3 christos #line 866 "rx-decode.opc"
10392 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10393 1.1.1.3 christos #line 866 "rx-decode.opc"
10394 1.1.1.3 christos int m AU = (op[2] >> 6) & 0x01;
10395 1.1.1.3 christos #line 866 "rx-decode.opc"
10396 1.1 christos int rdst AU = op[2] & 0x0f;
10397 1.1 christos if (trace)
10398 1.1 christos {
10399 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10400 1.1.1.3 christos "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
10401 1.1 christos op[0], op[1], op[2]);
10402 1.1.1.3 christos printf (" i = 0x%x,", i);
10403 1.1.1.3 christos printf (" a = 0x%x,", a);
10404 1.1.1.3 christos printf (" m = 0x%x,", m);
10405 1.1 christos printf (" rdst = 0x%x\n", rdst);
10406 1.1 christos }
10407 1.1.1.3 christos SYNTAX("mvfachi #%2, %1, %0");
10408 1.1.1.3 christos #line 866 "rx-decode.opc"
10409 1.1.1.3 christos ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10410 1.1.1.3 christos
10411 1.1 christos }
10412 1.1 christos break;
10413 1.1.1.3 christos case 0x10:
10414 1.1.1.3 christos op_semantics_84:
10415 1.1 christos {
10416 1.1.1.3 christos /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
10417 1.1.1.3 christos #line 872 "rx-decode.opc"
10418 1.1.1.3 christos int i AU = op[1] & 0x01;
10419 1.1.1.3 christos #line 872 "rx-decode.opc"
10420 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10421 1.1.1.3 christos #line 872 "rx-decode.opc"
10422 1.1.1.3 christos int m AU = (op[2] >> 6) & 0x01;
10423 1.1.1.3 christos #line 872 "rx-decode.opc"
10424 1.1 christos int rdst AU = op[2] & 0x0f;
10425 1.1 christos if (trace)
10426 1.1 christos {
10427 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10428 1.1.1.3 christos "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
10429 1.1 christos op[0], op[1], op[2]);
10430 1.1.1.3 christos printf (" i = 0x%x,", i);
10431 1.1.1.3 christos printf (" a = 0x%x,", a);
10432 1.1.1.3 christos printf (" m = 0x%x,", m);
10433 1.1 christos printf (" rdst = 0x%x\n", rdst);
10434 1.1 christos }
10435 1.1.1.3 christos SYNTAX("mvfaclo #%2, %1, %0");
10436 1.1.1.3 christos #line 872 "rx-decode.opc"
10437 1.1.1.3 christos ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10438 1.1.1.3 christos
10439 1.1 christos }
10440 1.1 christos break;
10441 1.1.1.3 christos case 0x20:
10442 1.1.1.3 christos op_semantics_85:
10443 1.1 christos {
10444 1.1.1.3 christos /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
10445 1.1.1.3 christos #line 869 "rx-decode.opc"
10446 1.1.1.3 christos int i AU = op[1] & 0x01;
10447 1.1.1.3 christos #line 869 "rx-decode.opc"
10448 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10449 1.1.1.3 christos #line 869 "rx-decode.opc"
10450 1.1.1.3 christos int m AU = (op[2] >> 6) & 0x01;
10451 1.1.1.3 christos #line 869 "rx-decode.opc"
10452 1.1 christos int rdst AU = op[2] & 0x0f;
10453 1.1 christos if (trace)
10454 1.1 christos {
10455 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10456 1.1.1.3 christos "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
10457 1.1 christos op[0], op[1], op[2]);
10458 1.1.1.3 christos printf (" i = 0x%x,", i);
10459 1.1.1.3 christos printf (" a = 0x%x,", a);
10460 1.1.1.3 christos printf (" m = 0x%x,", m);
10461 1.1 christos printf (" rdst = 0x%x\n", rdst);
10462 1.1 christos }
10463 1.1.1.3 christos SYNTAX("mvfacmi #%2, %1, %0");
10464 1.1.1.3 christos #line 869 "rx-decode.opc"
10465 1.1.1.3 christos ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10466 1.1.1.3 christos
10467 1.1 christos }
10468 1.1 christos break;
10469 1.1.1.3 christos case 0x30:
10470 1.1.1.3 christos op_semantics_86:
10471 1.1 christos {
10472 1.1.1.3 christos /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
10473 1.1.1.3 christos #line 1082 "rx-decode.opc"
10474 1.1.1.3 christos int i AU = op[1] & 0x01;
10475 1.1.1.3 christos #line 1082 "rx-decode.opc"
10476 1.1.1.3 christos int a AU = (op[2] >> 7) & 0x01;
10477 1.1.1.3 christos #line 1082 "rx-decode.opc"
10478 1.1.1.3 christos int m AU = (op[2] >> 6) & 0x01;
10479 1.1.1.3 christos #line 1082 "rx-decode.opc"
10480 1.1 christos int rdst AU = op[2] & 0x0f;
10481 1.1 christos if (trace)
10482 1.1 christos {
10483 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10484 1.1.1.3 christos "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
10485 1.1 christos op[0], op[1], op[2]);
10486 1.1.1.3 christos printf (" i = 0x%x,", i);
10487 1.1.1.3 christos printf (" a = 0x%x,", a);
10488 1.1.1.3 christos printf (" m = 0x%x,", m);
10489 1.1 christos printf (" rdst = 0x%x\n", rdst);
10490 1.1 christos }
10491 1.1.1.3 christos SYNTAX("mvfacgu #%2, %1, %0");
10492 1.1.1.3 christos #line 1082 "rx-decode.opc"
10493 1.1.1.3 christos ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
10494 1.1.1.3 christos
10495 1.1 christos }
10496 1.1 christos break;
10497 1.1 christos }
10498 1.1 christos break;
10499 1.1.1.3 christos case 0x1f:
10500 1.1.1.3 christos GETBYTE ();
10501 1.1.1.3 christos switch (op[2] & 0x30)
10502 1.1.1.3 christos {
10503 1.1.1.3 christos case 0x00:
10504 1.1.1.3 christos goto op_semantics_83;
10505 1.1.1.3 christos break;
10506 1.1.1.3 christos case 0x10:
10507 1.1.1.3 christos goto op_semantics_84;
10508 1.1.1.3 christos break;
10509 1.1.1.3 christos case 0x20:
10510 1.1.1.3 christos goto op_semantics_85;
10511 1.1.1.3 christos break;
10512 1.1.1.3 christos case 0x30:
10513 1.1.1.3 christos goto op_semantics_86;
10514 1.1.1.3 christos break;
10515 1.1.1.3 christos }
10516 1.1.1.3 christos break;
10517 1.1.1.3 christos case 0x20:
10518 1.1 christos GETBYTE ();
10519 1.1 christos switch (op[2] & 0x00)
10520 1.1 christos {
10521 1.1 christos case 0x00:
10522 1.1.1.3 christos op_semantics_87:
10523 1.1 christos {
10524 1.1.1.3 christos /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
10525 1.1.1.3 christos #line 344 "rx-decode.opc"
10526 1.1.1.3 christos int p AU = (op[1] >> 2) & 0x01;
10527 1.1.1.3 christos #line 344 "rx-decode.opc"
10528 1.1.1.3 christos int sz AU = op[1] & 0x03;
10529 1.1.1.3 christos #line 344 "rx-decode.opc"
10530 1.1.1.3 christos int rdst AU = (op[2] >> 4) & 0x0f;
10531 1.1.1.3 christos #line 344 "rx-decode.opc"
10532 1.1.1.3 christos int rsrc AU = op[2] & 0x0f;
10533 1.1 christos if (trace)
10534 1.1 christos {
10535 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10536 1.1.1.3 christos "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
10537 1.1 christos op[0], op[1], op[2]);
10538 1.1.1.3 christos printf (" p = 0x%x,", p);
10539 1.1.1.3 christos printf (" sz = 0x%x,", sz);
10540 1.1.1.3 christos printf (" rdst = 0x%x,", rdst);
10541 1.1.1.3 christos printf (" rsrc = 0x%x\n", rsrc);
10542 1.1 christos }
10543 1.1.1.3 christos SYNTAX("mov%s %1, %0");
10544 1.1.1.3 christos #line 344 "rx-decode.opc"
10545 1.1.1.3 christos ID(mov); sBWL (sz); SR(rsrc); F_____;
10546 1.1.1.3 christos OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
10547 1.1.1.3 christos
10548 1.1 christos }
10549 1.1 christos break;
10550 1.1 christos }
10551 1.1 christos break;
10552 1.1.1.3 christos case 0x21:
10553 1.1 christos GETBYTE ();
10554 1.1 christos switch (op[2] & 0x00)
10555 1.1 christos {
10556 1.1 christos case 0x00:
10557 1.1.1.3 christos goto op_semantics_87;
10558 1.1 christos break;
10559 1.1 christos }
10560 1.1 christos break;
10561 1.1.1.3 christos case 0x22:
10562 1.1 christos GETBYTE ();
10563 1.1 christos switch (op[2] & 0x00)
10564 1.1 christos {
10565 1.1 christos case 0x00:
10566 1.1.1.3 christos goto op_semantics_87;
10567 1.1 christos break;
10568 1.1 christos }
10569 1.1 christos break;
10570 1.1.1.3 christos case 0x24:
10571 1.1 christos GETBYTE ();
10572 1.1 christos switch (op[2] & 0x00)
10573 1.1 christos {
10574 1.1 christos case 0x00:
10575 1.1.1.3 christos goto op_semantics_87;
10576 1.1 christos break;
10577 1.1 christos }
10578 1.1 christos break;
10579 1.1.1.3 christos case 0x25:
10580 1.1 christos GETBYTE ();
10581 1.1 christos switch (op[2] & 0x00)
10582 1.1 christos {
10583 1.1 christos case 0x00:
10584 1.1.1.3 christos goto op_semantics_87;
10585 1.1 christos break;
10586 1.1 christos }
10587 1.1 christos break;
10588 1.1.1.3 christos case 0x26:
10589 1.1 christos GETBYTE ();
10590 1.1 christos switch (op[2] & 0x00)
10591 1.1 christos {
10592 1.1 christos case 0x00:
10593 1.1.1.3 christos goto op_semantics_87;
10594 1.1 christos break;
10595 1.1 christos }
10596 1.1 christos break;
10597 1.1.1.3 christos case 0x27:
10598 1.1 christos GETBYTE ();
10599 1.1 christos switch (op[2] & 0x00)
10600 1.1 christos {
10601 1.1 christos case 0x00:
10602 1.1 christos {
10603 1.1.1.3 christos /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
10604 1.1.1.3 christos #line 1046 "rx-decode.opc"
10605 1.1.1.3 christos int rdst AU = (op[2] >> 4) & 0x0f;
10606 1.1.1.3 christos #line 1046 "rx-decode.opc"
10607 1.1.1.3 christos int rsrc AU = op[2] & 0x0f;
10608 1.1.1.3 christos if (trace)
10609 1.1.1.3 christos {
10610 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10611 1.1.1.3 christos "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
10612 1.1.1.3 christos op[0], op[1], op[2]);
10613 1.1.1.3 christos printf (" rdst = 0x%x,", rdst);
10614 1.1.1.3 christos printf (" rsrc = 0x%x\n", rsrc);
10615 1.1.1.3 christos }
10616 1.1.1.3 christos SYNTAX("movco %1, [%0]");
10617 1.1.1.3 christos #line 1046 "rx-decode.opc"
10618 1.1.1.3 christos ID(movco); SR(rsrc); DR(rdst); F_____;
10619 1.1.1.3 christos
10620 1.1.1.3 christos }
10621 1.1.1.3 christos break;
10622 1.1.1.3 christos }
10623 1.1.1.3 christos break;
10624 1.1.1.3 christos case 0x28:
10625 1.1.1.3 christos GETBYTE ();
10626 1.1.1.3 christos switch (op[2] & 0x00)
10627 1.1.1.3 christos {
10628 1.1.1.3 christos case 0x00:
10629 1.1.1.3 christos op_semantics_88:
10630 1.1.1.3 christos {
10631 1.1.1.3 christos /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
10632 1.1.1.3 christos #line 348 "rx-decode.opc"
10633 1.1.1.3 christos int p AU = (op[1] >> 2) & 0x01;
10634 1.1.1.3 christos #line 348 "rx-decode.opc"
10635 1.1.1.3 christos int sz AU = op[1] & 0x03;
10636 1.1.1.3 christos #line 348 "rx-decode.opc"
10637 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
10638 1.1.1.3 christos #line 348 "rx-decode.opc"
10639 1.1 christos int rdst AU = op[2] & 0x0f;
10640 1.1 christos if (trace)
10641 1.1 christos {
10642 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10643 1.1.1.3 christos "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
10644 1.1 christos op[0], op[1], op[2]);
10645 1.1.1.3 christos printf (" p = 0x%x,", p);
10646 1.1.1.3 christos printf (" sz = 0x%x,", sz);
10647 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
10648 1.1 christos printf (" rdst = 0x%x\n", rdst);
10649 1.1 christos }
10650 1.1.1.3 christos SYNTAX("mov%s %1, %0");
10651 1.1.1.3 christos #line 348 "rx-decode.opc"
10652 1.1.1.3 christos ID(mov); sBWL (sz); DR(rdst); F_____;
10653 1.1.1.3 christos OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10654 1.1.1.3 christos
10655 1.1 christos }
10656 1.1 christos break;
10657 1.1 christos }
10658 1.1 christos break;
10659 1.1.1.3 christos case 0x29:
10660 1.1 christos GETBYTE ();
10661 1.1 christos switch (op[2] & 0x00)
10662 1.1 christos {
10663 1.1 christos case 0x00:
10664 1.1.1.3 christos goto op_semantics_88;
10665 1.1 christos break;
10666 1.1 christos }
10667 1.1 christos break;
10668 1.1.1.3 christos case 0x2a:
10669 1.1 christos GETBYTE ();
10670 1.1.1.3 christos switch (op[2] & 0x00)
10671 1.1 christos {
10672 1.1.1.3 christos case 0x00:
10673 1.1.1.3 christos goto op_semantics_88;
10674 1.1.1.3 christos break;
10675 1.1.1.3 christos }
10676 1.1.1.3 christos break;
10677 1.1.1.3 christos case 0x2c:
10678 1.1.1.3 christos GETBYTE ();
10679 1.1.1.3 christos switch (op[2] & 0x00)
10680 1.1.1.3 christos {
10681 1.1.1.3 christos case 0x00:
10682 1.1.1.3 christos goto op_semantics_88;
10683 1.1.1.3 christos break;
10684 1.1.1.3 christos }
10685 1.1.1.3 christos break;
10686 1.1.1.3 christos case 0x2d:
10687 1.1.1.3 christos GETBYTE ();
10688 1.1.1.3 christos switch (op[2] & 0x00)
10689 1.1.1.3 christos {
10690 1.1.1.3 christos case 0x00:
10691 1.1.1.3 christos goto op_semantics_88;
10692 1.1.1.3 christos break;
10693 1.1.1.3 christos }
10694 1.1.1.3 christos break;
10695 1.1.1.3 christos case 0x2e:
10696 1.1.1.3 christos GETBYTE ();
10697 1.1.1.3 christos switch (op[2] & 0x00)
10698 1.1.1.3 christos {
10699 1.1.1.3 christos case 0x00:
10700 1.1.1.3 christos goto op_semantics_88;
10701 1.1.1.3 christos break;
10702 1.1.1.3 christos }
10703 1.1.1.3 christos break;
10704 1.1.1.3 christos case 0x2f:
10705 1.1.1.3 christos GETBYTE ();
10706 1.1.1.3 christos switch (op[2] & 0x00)
10707 1.1.1.3 christos {
10708 1.1.1.3 christos case 0x00:
10709 1.1 christos {
10710 1.1.1.3 christos /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
10711 1.1.1.3 christos #line 1049 "rx-decode.opc"
10712 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
10713 1.1.1.3 christos #line 1049 "rx-decode.opc"
10714 1.1 christos int rdst AU = op[2] & 0x0f;
10715 1.1 christos if (trace)
10716 1.1 christos {
10717 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10718 1.1.1.3 christos "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
10719 1.1 christos op[0], op[1], op[2]);
10720 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
10721 1.1 christos printf (" rdst = 0x%x\n", rdst);
10722 1.1 christos }
10723 1.1.1.3 christos SYNTAX("movli [%1], %0");
10724 1.1.1.3 christos #line 1049 "rx-decode.opc"
10725 1.1.1.3 christos ID(movli); SR(rsrc); DR(rdst); F_____;
10726 1.1.1.3 christos
10727 1.1 christos }
10728 1.1 christos break;
10729 1.1.1.3 christos }
10730 1.1.1.3 christos break;
10731 1.1.1.3 christos case 0x38:
10732 1.1.1.3 christos GETBYTE ();
10733 1.1.1.3 christos switch (op[2] & 0x00)
10734 1.1.1.3 christos {
10735 1.1.1.3 christos case 0x00:
10736 1.1.1.3 christos op_semantics_89:
10737 1.1 christos {
10738 1.1.1.3 christos /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
10739 1.1.1.3 christos #line 358 "rx-decode.opc"
10740 1.1.1.3 christos int p AU = (op[1] >> 2) & 0x01;
10741 1.1.1.3 christos #line 358 "rx-decode.opc"
10742 1.1.1.3 christos int sz AU = op[1] & 0x03;
10743 1.1.1.3 christos #line 358 "rx-decode.opc"
10744 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
10745 1.1.1.3 christos #line 358 "rx-decode.opc"
10746 1.1 christos int rdst AU = op[2] & 0x0f;
10747 1.1 christos if (trace)
10748 1.1 christos {
10749 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10750 1.1.1.3 christos "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
10751 1.1 christos op[0], op[1], op[2]);
10752 1.1.1.3 christos printf (" p = 0x%x,", p);
10753 1.1.1.3 christos printf (" sz = 0x%x,", sz);
10754 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
10755 1.1 christos printf (" rdst = 0x%x\n", rdst);
10756 1.1 christos }
10757 1.1.1.3 christos SYNTAX("movu%s %1, %0");
10758 1.1.1.3 christos #line 358 "rx-decode.opc"
10759 1.1.1.3 christos ID(mov); uBW (sz); DR(rdst); F_____;
10760 1.1.1.3 christos OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
10761 1.1.1.3 christos
10762 1.1.1.3 christos /*----------------------------------------------------------------------*/
10763 1.1.1.3 christos /* PUSH/POP */
10764 1.1.1.3 christos
10765 1.1 christos }
10766 1.1 christos break;
10767 1.1.1.3 christos }
10768 1.1.1.3 christos break;
10769 1.1.1.3 christos case 0x39:
10770 1.1.1.3 christos GETBYTE ();
10771 1.1.1.3 christos switch (op[2] & 0x00)
10772 1.1.1.3 christos {
10773 1.1.1.3 christos case 0x00:
10774 1.1.1.3 christos goto op_semantics_89;
10775 1.1.1.3 christos break;
10776 1.1.1.3 christos }
10777 1.1.1.3 christos break;
10778 1.1.1.3 christos case 0x3a:
10779 1.1.1.3 christos GETBYTE ();
10780 1.1.1.3 christos switch (op[2] & 0x00)
10781 1.1.1.3 christos {
10782 1.1.1.3 christos case 0x00:
10783 1.1.1.3 christos goto op_semantics_89;
10784 1.1.1.3 christos break;
10785 1.1.1.3 christos }
10786 1.1.1.3 christos break;
10787 1.1.1.3 christos case 0x3c:
10788 1.1.1.3 christos GETBYTE ();
10789 1.1.1.3 christos switch (op[2] & 0x00)
10790 1.1.1.3 christos {
10791 1.1.1.3 christos case 0x00:
10792 1.1.1.3 christos goto op_semantics_89;
10793 1.1.1.3 christos break;
10794 1.1.1.3 christos }
10795 1.1.1.3 christos break;
10796 1.1.1.3 christos case 0x3d:
10797 1.1.1.3 christos GETBYTE ();
10798 1.1.1.3 christos switch (op[2] & 0x00)
10799 1.1.1.3 christos {
10800 1.1.1.3 christos case 0x00:
10801 1.1.1.3 christos goto op_semantics_89;
10802 1.1.1.3 christos break;
10803 1.1.1.3 christos }
10804 1.1.1.3 christos break;
10805 1.1.1.3 christos case 0x3e:
10806 1.1.1.3 christos GETBYTE ();
10807 1.1.1.3 christos switch (op[2] & 0x00)
10808 1.1.1.3 christos {
10809 1.1.1.3 christos case 0x00:
10810 1.1.1.3 christos goto op_semantics_89;
10811 1.1.1.3 christos break;
10812 1.1.1.3 christos }
10813 1.1.1.3 christos break;
10814 1.1.1.3 christos case 0x44:
10815 1.1.1.3 christos GETBYTE ();
10816 1.1.1.3 christos switch (op[2] & 0x00)
10817 1.1.1.3 christos {
10818 1.1.1.3 christos case 0x00:
10819 1.1.1.3 christos op_semantics_90:
10820 1.1 christos {
10821 1.1.1.3 christos /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
10822 1.1.1.3 christos #line 1070 "rx-decode.opc"
10823 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10824 1.1.1.3 christos #line 1070 "rx-decode.opc"
10825 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10826 1.1.1.3 christos #line 1070 "rx-decode.opc"
10827 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10828 1.1 christos if (trace)
10829 1.1 christos {
10830 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10831 1.1.1.3 christos "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
10832 1.1 christos op[0], op[1], op[2]);
10833 1.1.1.3 christos printf (" a = 0x%x,", a);
10834 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10835 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10836 1.1 christos }
10837 1.1.1.3 christos SYNTAX("msbhi %1, %2, %0");
10838 1.1.1.3 christos #line 1070 "rx-decode.opc"
10839 1.1.1.3 christos ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
10840 1.1.1.3 christos
10841 1.1 christos }
10842 1.1 christos break;
10843 1.1.1.3 christos }
10844 1.1.1.3 christos break;
10845 1.1.1.3 christos case 0x45:
10846 1.1.1.3 christos GETBYTE ();
10847 1.1.1.3 christos switch (op[2] & 0x00)
10848 1.1.1.3 christos {
10849 1.1.1.3 christos case 0x00:
10850 1.1.1.3 christos op_semantics_91:
10851 1.1 christos {
10852 1.1.1.3 christos /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
10853 1.1.1.3 christos #line 1076 "rx-decode.opc"
10854 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10855 1.1.1.3 christos #line 1076 "rx-decode.opc"
10856 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10857 1.1.1.3 christos #line 1076 "rx-decode.opc"
10858 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10859 1.1 christos if (trace)
10860 1.1 christos {
10861 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10862 1.1.1.3 christos "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
10863 1.1 christos op[0], op[1], op[2]);
10864 1.1.1.3 christos printf (" a = 0x%x,", a);
10865 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10866 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10867 1.1 christos }
10868 1.1.1.3 christos SYNTAX("msblo %1, %2, %0");
10869 1.1.1.3 christos #line 1076 "rx-decode.opc"
10870 1.1.1.3 christos ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
10871 1.1.1.3 christos
10872 1.1 christos }
10873 1.1 christos break;
10874 1.1.1.3 christos }
10875 1.1.1.3 christos break;
10876 1.1.1.3 christos case 0x46:
10877 1.1.1.3 christos GETBYTE ();
10878 1.1.1.3 christos switch (op[2] & 0x00)
10879 1.1.1.3 christos {
10880 1.1.1.3 christos case 0x00:
10881 1.1.1.3 christos op_semantics_92:
10882 1.1 christos {
10883 1.1.1.3 christos /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
10884 1.1.1.3 christos #line 1073 "rx-decode.opc"
10885 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10886 1.1.1.3 christos #line 1073 "rx-decode.opc"
10887 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10888 1.1.1.3 christos #line 1073 "rx-decode.opc"
10889 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10890 1.1 christos if (trace)
10891 1.1 christos {
10892 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10893 1.1.1.3 christos "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
10894 1.1 christos op[0], op[1], op[2]);
10895 1.1.1.3 christos printf (" a = 0x%x,", a);
10896 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10897 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10898 1.1 christos }
10899 1.1.1.3 christos SYNTAX("msblh %1, %2, %0");
10900 1.1.1.3 christos #line 1073 "rx-decode.opc"
10901 1.1.1.3 christos ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
10902 1.1.1.3 christos
10903 1.1 christos }
10904 1.1 christos break;
10905 1.1.1.3 christos }
10906 1.1.1.3 christos break;
10907 1.1.1.3 christos case 0x47:
10908 1.1.1.3 christos GETBYTE ();
10909 1.1.1.3 christos switch (op[2] & 0x00)
10910 1.1.1.3 christos {
10911 1.1.1.3 christos case 0x00:
10912 1.1.1.3 christos op_semantics_93:
10913 1.1 christos {
10914 1.1.1.3 christos /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
10915 1.1.1.3 christos #line 1061 "rx-decode.opc"
10916 1.1.1.3 christos int a AU = (op[1] >> 3) & 0x01;
10917 1.1.1.3 christos #line 1061 "rx-decode.opc"
10918 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
10919 1.1.1.3 christos #line 1061 "rx-decode.opc"
10920 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
10921 1.1 christos if (trace)
10922 1.1 christos {
10923 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10924 1.1.1.3 christos "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
10925 1.1 christos op[0], op[1], op[2]);
10926 1.1.1.3 christos printf (" a = 0x%x,", a);
10927 1.1.1.3 christos printf (" srca = 0x%x,", srca);
10928 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
10929 1.1 christos }
10930 1.1.1.3 christos SYNTAX("emsba %1, %2, %0");
10931 1.1.1.3 christos #line 1061 "rx-decode.opc"
10932 1.1.1.3 christos ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
10933 1.1.1.3 christos
10934 1.1 christos }
10935 1.1 christos break;
10936 1.1.1.3 christos }
10937 1.1.1.3 christos break;
10938 1.1.1.3 christos case 0x4c:
10939 1.1.1.3 christos GETBYTE ();
10940 1.1.1.3 christos switch (op[2] & 0x00)
10941 1.1.1.3 christos {
10942 1.1.1.3 christos case 0x00:
10943 1.1.1.3 christos goto op_semantics_90;
10944 1.1.1.3 christos break;
10945 1.1.1.3 christos }
10946 1.1.1.3 christos break;
10947 1.1.1.3 christos case 0x4d:
10948 1.1.1.3 christos GETBYTE ();
10949 1.1.1.3 christos switch (op[2] & 0x00)
10950 1.1.1.3 christos {
10951 1.1.1.3 christos case 0x00:
10952 1.1.1.3 christos goto op_semantics_91;
10953 1.1.1.3 christos break;
10954 1.1.1.3 christos }
10955 1.1.1.3 christos break;
10956 1.1.1.3 christos case 0x4e:
10957 1.1.1.3 christos GETBYTE ();
10958 1.1.1.3 christos switch (op[2] & 0x00)
10959 1.1.1.3 christos {
10960 1.1.1.3 christos case 0x00:
10961 1.1.1.3 christos goto op_semantics_92;
10962 1.1.1.3 christos break;
10963 1.1.1.3 christos }
10964 1.1.1.3 christos break;
10965 1.1.1.3 christos case 0x4f:
10966 1.1.1.3 christos GETBYTE ();
10967 1.1.1.3 christos switch (op[2] & 0x00)
10968 1.1.1.3 christos {
10969 1.1.1.3 christos case 0x00:
10970 1.1.1.3 christos goto op_semantics_93;
10971 1.1.1.3 christos break;
10972 1.1.1.3 christos }
10973 1.1.1.3 christos break;
10974 1.1.1.3 christos case 0x60:
10975 1.1.1.3 christos GETBYTE ();
10976 1.1.1.3 christos switch (op[2] & 0x00)
10977 1.1.1.3 christos {
10978 1.1.1.3 christos case 0x00:
10979 1.1 christos {
10980 1.1.1.3 christos /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
10981 1.1.1.3 christos #line 729 "rx-decode.opc"
10982 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
10983 1.1.1.3 christos #line 729 "rx-decode.opc"
10984 1.1 christos int rdst AU = op[2] & 0x0f;
10985 1.1 christos if (trace)
10986 1.1 christos {
10987 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
10988 1.1.1.3 christos "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
10989 1.1 christos op[0], op[1], op[2]);
10990 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
10991 1.1 christos printf (" rdst = 0x%x\n", rdst);
10992 1.1 christos }
10993 1.1.1.3 christos SYNTAX("shlr %2, %0");
10994 1.1.1.3 christos #line 729 "rx-decode.opc"
10995 1.1.1.3 christos ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
10996 1.1.1.3 christos
10997 1.1 christos }
10998 1.1 christos break;
10999 1.1.1.3 christos }
11000 1.1.1.3 christos break;
11001 1.1.1.3 christos case 0x61:
11002 1.1.1.3 christos GETBYTE ();
11003 1.1.1.3 christos switch (op[2] & 0x00)
11004 1.1.1.3 christos {
11005 1.1.1.3 christos case 0x00:
11006 1.1 christos {
11007 1.1.1.3 christos /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
11008 1.1.1.3 christos #line 719 "rx-decode.opc"
11009 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11010 1.1.1.3 christos #line 719 "rx-decode.opc"
11011 1.1 christos int rdst AU = op[2] & 0x0f;
11012 1.1 christos if (trace)
11013 1.1 christos {
11014 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11015 1.1.1.3 christos "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
11016 1.1 christos op[0], op[1], op[2]);
11017 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11018 1.1 christos printf (" rdst = 0x%x\n", rdst);
11019 1.1 christos }
11020 1.1.1.3 christos SYNTAX("shar %2, %0");
11021 1.1.1.3 christos #line 719 "rx-decode.opc"
11022 1.1.1.3 christos ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
11023 1.1.1.3 christos
11024 1.1 christos }
11025 1.1 christos break;
11026 1.1.1.3 christos }
11027 1.1.1.3 christos break;
11028 1.1.1.3 christos case 0x62:
11029 1.1.1.3 christos GETBYTE ();
11030 1.1.1.3 christos switch (op[2] & 0x00)
11031 1.1.1.3 christos {
11032 1.1.1.3 christos case 0x00:
11033 1.1 christos {
11034 1.1.1.3 christos /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
11035 1.1.1.3 christos #line 709 "rx-decode.opc"
11036 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11037 1.1.1.3 christos #line 709 "rx-decode.opc"
11038 1.1 christos int rdst AU = op[2] & 0x0f;
11039 1.1 christos if (trace)
11040 1.1 christos {
11041 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11042 1.1.1.3 christos "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
11043 1.1 christos op[0], op[1], op[2]);
11044 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11045 1.1 christos printf (" rdst = 0x%x\n", rdst);
11046 1.1 christos }
11047 1.1.1.3 christos SYNTAX("shll %2, %0");
11048 1.1.1.3 christos #line 709 "rx-decode.opc"
11049 1.1.1.3 christos ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
11050 1.1.1.3 christos
11051 1.1 christos }
11052 1.1 christos break;
11053 1.1.1.3 christos }
11054 1.1.1.3 christos break;
11055 1.1.1.3 christos case 0x64:
11056 1.1.1.3 christos GETBYTE ();
11057 1.1.1.3 christos switch (op[2] & 0x00)
11058 1.1.1.3 christos {
11059 1.1.1.3 christos case 0x00:
11060 1.1 christos {
11061 1.1.1.3 christos /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
11062 1.1.1.3 christos #line 753 "rx-decode.opc"
11063 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11064 1.1.1.3 christos #line 753 "rx-decode.opc"
11065 1.1 christos int rdst AU = op[2] & 0x0f;
11066 1.1 christos if (trace)
11067 1.1 christos {
11068 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11069 1.1.1.3 christos "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
11070 1.1 christos op[0], op[1], op[2]);
11071 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11072 1.1 christos printf (" rdst = 0x%x\n", rdst);
11073 1.1 christos }
11074 1.1.1.3 christos SYNTAX("rotr %1, %0");
11075 1.1.1.3 christos #line 753 "rx-decode.opc"
11076 1.1.1.3 christos ID(rotr); SR(rsrc); DR(rdst); F__SZC;
11077 1.1.1.3 christos
11078 1.1 christos }
11079 1.1 christos break;
11080 1.1.1.3 christos }
11081 1.1.1.3 christos break;
11082 1.1.1.3 christos case 0x65:
11083 1.1.1.3 christos GETBYTE ();
11084 1.1.1.3 christos switch (op[2] & 0x00)
11085 1.1.1.3 christos {
11086 1.1.1.3 christos case 0x00:
11087 1.1 christos {
11088 1.1.1.3 christos /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
11089 1.1.1.3 christos #line 756 "rx-decode.opc"
11090 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11091 1.1.1.3 christos #line 756 "rx-decode.opc"
11092 1.1 christos int rdst AU = op[2] & 0x0f;
11093 1.1 christos if (trace)
11094 1.1 christos {
11095 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11096 1.1.1.3 christos "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
11097 1.1 christos op[0], op[1], op[2]);
11098 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11099 1.1 christos printf (" rdst = 0x%x\n", rdst);
11100 1.1 christos }
11101 1.1.1.3 christos SYNTAX("revw %1, %0");
11102 1.1.1.3 christos #line 756 "rx-decode.opc"
11103 1.1.1.3 christos ID(revw); SR(rsrc); DR(rdst);
11104 1.1.1.3 christos
11105 1.1 christos }
11106 1.1 christos break;
11107 1.1 christos }
11108 1.1 christos break;
11109 1.1.1.3 christos case 0x66:
11110 1.1 christos GETBYTE ();
11111 1.1.1.3 christos switch (op[2] & 0x00)
11112 1.1 christos {
11113 1.1 christos case 0x00:
11114 1.1 christos {
11115 1.1.1.3 christos /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
11116 1.1.1.3 christos #line 747 "rx-decode.opc"
11117 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11118 1.1.1.3 christos #line 747 "rx-decode.opc"
11119 1.1 christos int rdst AU = op[2] & 0x0f;
11120 1.1 christos if (trace)
11121 1.1 christos {
11122 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11123 1.1.1.3 christos "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
11124 1.1 christos op[0], op[1], op[2]);
11125 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11126 1.1 christos printf (" rdst = 0x%x\n", rdst);
11127 1.1 christos }
11128 1.1.1.3 christos SYNTAX("rotl %1, %0");
11129 1.1.1.3 christos #line 747 "rx-decode.opc"
11130 1.1.1.3 christos ID(rotl); SR(rsrc); DR(rdst); F__SZC;
11131 1.1.1.3 christos
11132 1.1 christos }
11133 1.1 christos break;
11134 1.1.1.3 christos }
11135 1.1.1.3 christos break;
11136 1.1.1.3 christos case 0x67:
11137 1.1.1.3 christos GETBYTE ();
11138 1.1.1.3 christos switch (op[2] & 0x00)
11139 1.1.1.3 christos {
11140 1.1.1.3 christos case 0x00:
11141 1.1 christos {
11142 1.1.1.3 christos /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
11143 1.1.1.3 christos #line 759 "rx-decode.opc"
11144 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11145 1.1.1.3 christos #line 759 "rx-decode.opc"
11146 1.1 christos int rdst AU = op[2] & 0x0f;
11147 1.1 christos if (trace)
11148 1.1 christos {
11149 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11150 1.1.1.3 christos "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
11151 1.1 christos op[0], op[1], op[2]);
11152 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11153 1.1 christos printf (" rdst = 0x%x\n", rdst);
11154 1.1 christos }
11155 1.1.1.3 christos SYNTAX("revl %1, %0");
11156 1.1.1.3 christos #line 759 "rx-decode.opc"
11157 1.1.1.3 christos ID(revl); SR(rsrc); DR(rdst);
11158 1.1.1.3 christos
11159 1.1.1.3 christos /*----------------------------------------------------------------------*/
11160 1.1.1.3 christos /* BRANCH */
11161 1.1.1.3 christos
11162 1.1 christos }
11163 1.1 christos break;
11164 1.1.1.3 christos }
11165 1.1.1.3 christos break;
11166 1.1.1.3 christos case 0x68:
11167 1.1.1.3 christos GETBYTE ();
11168 1.1.1.3 christos switch (op[2] & 0x00)
11169 1.1.1.3 christos {
11170 1.1.1.3 christos case 0x00:
11171 1.1.1.3 christos op_semantics_94:
11172 1.1 christos {
11173 1.1.1.3 christos /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
11174 1.1.1.3 christos #line 1010 "rx-decode.opc"
11175 1.1.1.3 christos int c AU = op[1] & 0x01;
11176 1.1.1.3 christos #line 1010 "rx-decode.opc"
11177 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11178 1.1.1.3 christos #line 1010 "rx-decode.opc"
11179 1.1 christos int rdst AU = op[2] & 0x0f;
11180 1.1 christos if (trace)
11181 1.1 christos {
11182 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11183 1.1.1.3 christos "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
11184 1.1 christos op[0], op[1], op[2]);
11185 1.1.1.3 christos printf (" c = 0x%x,", c);
11186 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11187 1.1 christos printf (" rdst = 0x%x\n", rdst);
11188 1.1 christos }
11189 1.1.1.3 christos SYNTAX("mvtc %1, %0");
11190 1.1.1.3 christos #line 1010 "rx-decode.opc"
11191 1.1.1.3 christos ID(mov); SR(rsrc); DR(c*16+rdst + 16);
11192 1.1.1.3 christos
11193 1.1 christos }
11194 1.1 christos break;
11195 1.1.1.3 christos }
11196 1.1.1.3 christos break;
11197 1.1.1.3 christos case 0x69:
11198 1.1.1.3 christos GETBYTE ();
11199 1.1.1.3 christos switch (op[2] & 0x00)
11200 1.1.1.3 christos {
11201 1.1.1.3 christos case 0x00:
11202 1.1.1.3 christos goto op_semantics_94;
11203 1.1.1.3 christos break;
11204 1.1.1.3 christos }
11205 1.1.1.3 christos break;
11206 1.1.1.3 christos case 0x6a:
11207 1.1.1.3 christos GETBYTE ();
11208 1.1.1.3 christos switch (op[2] & 0x00)
11209 1.1.1.3 christos {
11210 1.1.1.3 christos case 0x00:
11211 1.1.1.3 christos op_semantics_95:
11212 1.1 christos {
11213 1.1.1.3 christos /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
11214 1.1.1.3 christos #line 1013 "rx-decode.opc"
11215 1.1.1.3 christos int s AU = op[1] & 0x01;
11216 1.1.1.3 christos #line 1013 "rx-decode.opc"
11217 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11218 1.1.1.3 christos #line 1013 "rx-decode.opc"
11219 1.1 christos int rdst AU = op[2] & 0x0f;
11220 1.1 christos if (trace)
11221 1.1 christos {
11222 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11223 1.1.1.3 christos "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
11224 1.1 christos op[0], op[1], op[2]);
11225 1.1.1.3 christos printf (" s = 0x%x,", s);
11226 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11227 1.1 christos printf (" rdst = 0x%x\n", rdst);
11228 1.1 christos }
11229 1.1.1.3 christos SYNTAX("mvfc %1, %0");
11230 1.1.1.3 christos #line 1013 "rx-decode.opc"
11231 1.1.1.3 christos ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
11232 1.1.1.3 christos
11233 1.1.1.3 christos /*----------------------------------------------------------------------*/
11234 1.1.1.3 christos /* INTERRUPTS */
11235 1.1.1.3 christos
11236 1.1.1.3 christos }
11237 1.1.1.3 christos break;
11238 1.1.1.3 christos }
11239 1.1.1.3 christos break;
11240 1.1.1.3 christos case 0x6b:
11241 1.1.1.3 christos GETBYTE ();
11242 1.1.1.3 christos switch (op[2] & 0x00)
11243 1.1.1.3 christos {
11244 1.1.1.3 christos case 0x00:
11245 1.1.1.3 christos goto op_semantics_95;
11246 1.1.1.3 christos break;
11247 1.1.1.3 christos }
11248 1.1.1.3 christos break;
11249 1.1.1.3 christos case 0x6c:
11250 1.1.1.3 christos GETBYTE ();
11251 1.1.1.3 christos switch (op[2] & 0x00)
11252 1.1.1.3 christos {
11253 1.1.1.3 christos case 0x00:
11254 1.1.1.3 christos op_semantics_96:
11255 1.1.1.3 christos {
11256 1.1.1.3 christos /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
11257 1.1.1.3 christos #line 750 "rx-decode.opc"
11258 1.1.1.3 christos int i AU = op[1] & 0x01;
11259 1.1.1.3 christos #line 750 "rx-decode.opc"
11260 1.1.1.3 christos int mmmm AU = (op[2] >> 4) & 0x0f;
11261 1.1.1.3 christos #line 750 "rx-decode.opc"
11262 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11263 1.1.1.3 christos if (trace)
11264 1.1.1.3 christos {
11265 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11266 1.1.1.3 christos "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
11267 1.1.1.3 christos op[0], op[1], op[2]);
11268 1.1.1.3 christos printf (" i = 0x%x,", i);
11269 1.1.1.3 christos printf (" mmmm = 0x%x,", mmmm);
11270 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11271 1.1.1.3 christos }
11272 1.1.1.3 christos SYNTAX("rotr #%1, %0");
11273 1.1.1.3 christos #line 750 "rx-decode.opc"
11274 1.1.1.3 christos ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
11275 1.1.1.3 christos
11276 1.1.1.3 christos }
11277 1.1.1.3 christos break;
11278 1.1.1.3 christos }
11279 1.1.1.3 christos break;
11280 1.1.1.3 christos case 0x6d:
11281 1.1.1.3 christos GETBYTE ();
11282 1.1.1.3 christos switch (op[2] & 0x00)
11283 1.1.1.3 christos {
11284 1.1.1.3 christos case 0x00:
11285 1.1.1.3 christos goto op_semantics_96;
11286 1.1.1.3 christos break;
11287 1.1.1.3 christos }
11288 1.1.1.3 christos break;
11289 1.1.1.3 christos case 0x6e:
11290 1.1.1.3 christos GETBYTE ();
11291 1.1.1.3 christos switch (op[2] & 0x00)
11292 1.1.1.3 christos {
11293 1.1.1.3 christos case 0x00:
11294 1.1.1.3 christos op_semantics_97:
11295 1.1.1.3 christos {
11296 1.1.1.3 christos /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
11297 1.1.1.3 christos #line 744 "rx-decode.opc"
11298 1.1.1.3 christos int i AU = op[1] & 0x01;
11299 1.1.1.3 christos #line 744 "rx-decode.opc"
11300 1.1.1.3 christos int mmmm AU = (op[2] >> 4) & 0x0f;
11301 1.1.1.3 christos #line 744 "rx-decode.opc"
11302 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11303 1.1.1.3 christos if (trace)
11304 1.1.1.3 christos {
11305 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11306 1.1.1.3 christos "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
11307 1.1.1.3 christos op[0], op[1], op[2]);
11308 1.1.1.3 christos printf (" i = 0x%x,", i);
11309 1.1.1.3 christos printf (" mmmm = 0x%x,", mmmm);
11310 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11311 1.1.1.3 christos }
11312 1.1.1.3 christos SYNTAX("rotl #%1, %0");
11313 1.1.1.3 christos #line 744 "rx-decode.opc"
11314 1.1.1.3 christos ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
11315 1.1.1.3 christos
11316 1.1.1.3 christos }
11317 1.1.1.3 christos break;
11318 1.1.1.3 christos }
11319 1.1.1.3 christos break;
11320 1.1.1.3 christos case 0x6f:
11321 1.1.1.3 christos GETBYTE ();
11322 1.1.1.3 christos switch (op[2] & 0x00)
11323 1.1.1.3 christos {
11324 1.1.1.3 christos case 0x00:
11325 1.1.1.3 christos goto op_semantics_97;
11326 1.1.1.3 christos break;
11327 1.1.1.3 christos }
11328 1.1.1.3 christos break;
11329 1.1.1.3 christos case 0x70:
11330 1.1.1.3 christos GETBYTE ();
11331 1.1.1.3 christos switch (op[2] & 0xf0)
11332 1.1.1.3 christos {
11333 1.1.1.3 christos case 0x20:
11334 1.1.1.3 christos op_semantics_98:
11335 1.1.1.3 christos {
11336 1.1.1.3 christos /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
11337 1.1.1.3 christos #line 488 "rx-decode.opc"
11338 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11339 1.1.1.3 christos #line 488 "rx-decode.opc"
11340 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11341 1.1.1.3 christos if (trace)
11342 1.1.1.3 christos {
11343 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11344 1.1.1.3 christos "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
11345 1.1.1.3 christos op[0], op[1], op[2]);
11346 1.1.1.3 christos printf (" im = 0x%x,", im);
11347 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11348 1.1.1.3 christos }
11349 1.1.1.3 christos SYNTAX("adc #%1, %0");
11350 1.1.1.3 christos #line 488 "rx-decode.opc"
11351 1.1.1.3 christos ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
11352 1.1.1.3 christos
11353 1.1 christos }
11354 1.1 christos break;
11355 1.1 christos case 0x40:
11356 1.1.1.3 christos op_semantics_99:
11357 1.1 christos {
11358 1.1.1.3 christos /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
11359 1.1.1.3 christos #line 570 "rx-decode.opc"
11360 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11361 1.1.1.3 christos #line 570 "rx-decode.opc"
11362 1.1 christos int rdst AU = op[2] & 0x0f;
11363 1.1 christos if (trace)
11364 1.1 christos {
11365 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11366 1.1.1.3 christos "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
11367 1.1 christos op[0], op[1], op[2]);
11368 1.1.1.3 christos printf (" im = 0x%x,", im);
11369 1.1 christos printf (" rdst = 0x%x\n", rdst);
11370 1.1 christos }
11371 1.1.1.3 christos SYNTAX("max #%1, %0");
11372 1.1.1.3 christos #line 570 "rx-decode.opc"
11373 1.1.1.3 christos int val = IMMex (im);
11374 1.1.1.3 christos if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
11375 1.1.1.3 christos {
11376 1.1.1.3 christos ID (nop7);
11377 1.1.1.3 christos SYNTAX("nop\t; max\t#0x80000000, r0");
11378 1.1.1.3 christos }
11379 1.1.1.3 christos else
11380 1.1.1.3 christos {
11381 1.1.1.3 christos ID(max);
11382 1.1.1.3 christos }
11383 1.1.1.3 christos DR(rdst); SC(val);
11384 1.1.1.3 christos
11385 1.1.1.3 christos }
11386 1.1.1.3 christos break;
11387 1.1.1.3 christos case 0x50:
11388 1.1.1.3 christos op_semantics_100:
11389 1.1.1.3 christos {
11390 1.1.1.3 christos /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
11391 1.1.1.3 christos #line 600 "rx-decode.opc"
11392 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11393 1.1.1.3 christos #line 600 "rx-decode.opc"
11394 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11395 1.1.1.3 christos if (trace)
11396 1.1.1.3 christos {
11397 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11398 1.1.1.3 christos "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
11399 1.1.1.3 christos op[0], op[1], op[2]);
11400 1.1.1.3 christos printf (" im = 0x%x,", im);
11401 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11402 1.1.1.3 christos }
11403 1.1.1.3 christos SYNTAX("min #%1, %0");
11404 1.1.1.3 christos #line 600 "rx-decode.opc"
11405 1.1.1.3 christos ID(min); DR(rdst); SC(IMMex(im));
11406 1.1.1.3 christos
11407 1.1.1.3 christos }
11408 1.1.1.3 christos break;
11409 1.1.1.3 christos case 0x60:
11410 1.1.1.3 christos op_semantics_101:
11411 1.1.1.3 christos {
11412 1.1.1.3 christos /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
11413 1.1.1.3 christos #line 658 "rx-decode.opc"
11414 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11415 1.1.1.3 christos #line 658 "rx-decode.opc"
11416 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11417 1.1.1.3 christos if (trace)
11418 1.1.1.3 christos {
11419 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11420 1.1.1.3 christos "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
11421 1.1.1.3 christos op[0], op[1], op[2]);
11422 1.1.1.3 christos printf (" im = 0x%x,", im);
11423 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11424 1.1.1.3 christos }
11425 1.1.1.3 christos SYNTAX("emul #%1, %0");
11426 1.1.1.3 christos #line 658 "rx-decode.opc"
11427 1.1.1.3 christos ID(emul); DR(rdst); SC(IMMex(im));
11428 1.1.1.3 christos
11429 1.1.1.3 christos }
11430 1.1.1.3 christos break;
11431 1.1.1.3 christos case 0x70:
11432 1.1.1.3 christos op_semantics_102:
11433 1.1.1.3 christos {
11434 1.1.1.3 christos /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
11435 1.1.1.3 christos #line 670 "rx-decode.opc"
11436 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11437 1.1.1.3 christos #line 670 "rx-decode.opc"
11438 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11439 1.1.1.3 christos if (trace)
11440 1.1.1.3 christos {
11441 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11442 1.1.1.3 christos "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
11443 1.1.1.3 christos op[0], op[1], op[2]);
11444 1.1.1.3 christos printf (" im = 0x%x,", im);
11445 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11446 1.1.1.3 christos }
11447 1.1.1.3 christos SYNTAX("emulu #%1, %0");
11448 1.1.1.3 christos #line 670 "rx-decode.opc"
11449 1.1.1.3 christos ID(emulu); DR(rdst); SC(IMMex(im));
11450 1.1.1.3 christos
11451 1.1 christos }
11452 1.1 christos break;
11453 1.1.1.3 christos case 0x80:
11454 1.1.1.3 christos op_semantics_103:
11455 1.1.1.3 christos {
11456 1.1.1.3 christos /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
11457 1.1.1.3 christos #line 682 "rx-decode.opc"
11458 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11459 1.1.1.3 christos #line 682 "rx-decode.opc"
11460 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11461 1.1.1.3 christos if (trace)
11462 1.1.1.3 christos {
11463 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11464 1.1.1.3 christos "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
11465 1.1.1.3 christos op[0], op[1], op[2]);
11466 1.1.1.3 christos printf (" im = 0x%x,", im);
11467 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11468 1.1.1.3 christos }
11469 1.1.1.3 christos SYNTAX("div #%1, %0");
11470 1.1.1.3 christos #line 682 "rx-decode.opc"
11471 1.1.1.3 christos ID(div); DR(rdst); SC(IMMex(im)); F_O___;
11472 1.1.1.3 christos
11473 1.1.1.3 christos }
11474 1.1.1.3 christos break;
11475 1.1.1.3 christos case 0x90:
11476 1.1.1.3 christos op_semantics_104:
11477 1.1.1.3 christos {
11478 1.1.1.3 christos /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
11479 1.1.1.3 christos #line 694 "rx-decode.opc"
11480 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11481 1.1.1.3 christos #line 694 "rx-decode.opc"
11482 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11483 1.1.1.3 christos if (trace)
11484 1.1.1.3 christos {
11485 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11486 1.1.1.3 christos "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
11487 1.1.1.3 christos op[0], op[1], op[2]);
11488 1.1.1.3 christos printf (" im = 0x%x,", im);
11489 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11490 1.1.1.3 christos }
11491 1.1.1.3 christos SYNTAX("divu #%1, %0");
11492 1.1.1.3 christos #line 694 "rx-decode.opc"
11493 1.1.1.3 christos ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
11494 1.1.1.3 christos
11495 1.1.1.3 christos }
11496 1.1.1.3 christos break;
11497 1.1.1.3 christos case 0xc0:
11498 1.1.1.3 christos op_semantics_105:
11499 1.1.1.3 christos {
11500 1.1.1.3 christos /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
11501 1.1.1.3 christos #line 467 "rx-decode.opc"
11502 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11503 1.1.1.3 christos #line 467 "rx-decode.opc"
11504 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11505 1.1.1.3 christos if (trace)
11506 1.1.1.3 christos {
11507 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11508 1.1.1.3 christos "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
11509 1.1.1.3 christos op[0], op[1], op[2]);
11510 1.1.1.3 christos printf (" im = 0x%x,", im);
11511 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11512 1.1.1.3 christos }
11513 1.1.1.3 christos SYNTAX("tst #%1, %2");
11514 1.1.1.3 christos #line 467 "rx-decode.opc"
11515 1.1.1.3 christos ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
11516 1.1.1.3 christos
11517 1.1.1.3 christos }
11518 1.1.1.3 christos break;
11519 1.1.1.3 christos case 0xd0:
11520 1.1.1.3 christos op_semantics_106:
11521 1.1.1.3 christos {
11522 1.1.1.3 christos /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
11523 1.1.1.3 christos #line 446 "rx-decode.opc"
11524 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11525 1.1.1.3 christos #line 446 "rx-decode.opc"
11526 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11527 1.1.1.3 christos if (trace)
11528 1.1.1.3 christos {
11529 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11530 1.1.1.3 christos "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
11531 1.1.1.3 christos op[0], op[1], op[2]);
11532 1.1.1.3 christos printf (" im = 0x%x,", im);
11533 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11534 1.1.1.3 christos }
11535 1.1.1.3 christos SYNTAX("xor #%1, %0");
11536 1.1.1.3 christos #line 446 "rx-decode.opc"
11537 1.1.1.3 christos ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
11538 1.1.1.3 christos
11539 1.1.1.3 christos }
11540 1.1.1.3 christos break;
11541 1.1.1.3 christos case 0xe0:
11542 1.1.1.3 christos op_semantics_107:
11543 1.1.1.3 christos {
11544 1.1.1.3 christos /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
11545 1.1.1.3 christos #line 392 "rx-decode.opc"
11546 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11547 1.1.1.3 christos #line 392 "rx-decode.opc"
11548 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11549 1.1.1.3 christos if (trace)
11550 1.1.1.3 christos {
11551 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11552 1.1.1.3 christos "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
11553 1.1.1.3 christos op[0], op[1], op[2]);
11554 1.1.1.3 christos printf (" im = 0x%x,", im);
11555 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11556 1.1.1.3 christos }
11557 1.1.1.3 christos SYNTAX("stz #%1, %0");
11558 1.1.1.3 christos #line 392 "rx-decode.opc"
11559 1.1.1.3 christos ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
11560 1.1.1.3 christos
11561 1.1.1.3 christos }
11562 1.1.1.3 christos break;
11563 1.1.1.3 christos case 0xf0:
11564 1.1.1.3 christos op_semantics_108:
11565 1.1.1.3 christos {
11566 1.1.1.3 christos /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
11567 1.1.1.3 christos #line 395 "rx-decode.opc"
11568 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11569 1.1.1.3 christos #line 395 "rx-decode.opc"
11570 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11571 1.1.1.3 christos if (trace)
11572 1.1.1.3 christos {
11573 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11574 1.1.1.3 christos "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
11575 1.1.1.3 christos op[0], op[1], op[2]);
11576 1.1.1.3 christos printf (" im = 0x%x,", im);
11577 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11578 1.1.1.3 christos }
11579 1.1.1.3 christos SYNTAX("stnz #%1, %0");
11580 1.1.1.3 christos #line 395 "rx-decode.opc"
11581 1.1.1.3 christos ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
11582 1.1.1.3 christos
11583 1.1.1.3 christos /*----------------------------------------------------------------------*/
11584 1.1.1.3 christos /* RTSD */
11585 1.1.1.3 christos
11586 1.1.1.3 christos }
11587 1.1.1.3 christos break;
11588 1.1.1.3 christos default: UNSUPPORTED(); break;
11589 1.1.1.3 christos }
11590 1.1.1.3 christos break;
11591 1.1.1.3 christos case 0x72:
11592 1.1.1.3 christos GETBYTE ();
11593 1.1.1.3 christos switch (op[2] & 0xf0)
11594 1.1.1.3 christos {
11595 1.1.1.3 christos case 0x00:
11596 1.1.1.3 christos {
11597 1.1.1.3 christos /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
11598 1.1.1.3 christos #line 902 "rx-decode.opc"
11599 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11600 1.1.1.3 christos if (trace)
11601 1.1.1.3 christos {
11602 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11603 1.1.1.3 christos "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
11604 1.1.1.3 christos op[0], op[1], op[2]);
11605 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11606 1.1.1.3 christos }
11607 1.1.1.3 christos SYNTAX("fsub #%1, %0");
11608 1.1.1.3 christos #line 902 "rx-decode.opc"
11609 1.1.1.3 christos ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
11610 1.1.1.3 christos
11611 1.1.1.3 christos }
11612 1.1.1.3 christos break;
11613 1.1.1.3 christos case 0x10:
11614 1.1.1.3 christos {
11615 1.1.1.3 christos /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
11616 1.1.1.3 christos #line 896 "rx-decode.opc"
11617 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11618 1.1.1.3 christos if (trace)
11619 1.1.1.3 christos {
11620 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11621 1.1.1.3 christos "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
11622 1.1.1.3 christos op[0], op[1], op[2]);
11623 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11624 1.1.1.3 christos }
11625 1.1.1.3 christos SYNTAX("fcmp #%1, %0");
11626 1.1.1.3 christos #line 896 "rx-decode.opc"
11627 1.1.1.3 christos ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
11628 1.1.1.3 christos
11629 1.1.1.3 christos }
11630 1.1.1.3 christos break;
11631 1.1.1.3 christos case 0x20:
11632 1.1.1.3 christos {
11633 1.1.1.3 christos /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
11634 1.1.1.3 christos #line 890 "rx-decode.opc"
11635 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11636 1.1.1.3 christos if (trace)
11637 1.1.1.3 christos {
11638 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11639 1.1.1.3 christos "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
11640 1.1.1.3 christos op[0], op[1], op[2]);
11641 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11642 1.1.1.3 christos }
11643 1.1.1.3 christos SYNTAX("fadd #%1, %0");
11644 1.1.1.3 christos #line 890 "rx-decode.opc"
11645 1.1.1.3 christos ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
11646 1.1.1.3 christos
11647 1.1.1.3 christos }
11648 1.1.1.3 christos break;
11649 1.1.1.3 christos case 0x30:
11650 1.1.1.3 christos {
11651 1.1.1.3 christos /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
11652 1.1.1.3 christos #line 911 "rx-decode.opc"
11653 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11654 1.1.1.3 christos if (trace)
11655 1.1.1.3 christos {
11656 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11657 1.1.1.3 christos "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
11658 1.1.1.3 christos op[0], op[1], op[2]);
11659 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11660 1.1.1.3 christos }
11661 1.1.1.3 christos SYNTAX("fmul #%1, %0");
11662 1.1.1.3 christos #line 911 "rx-decode.opc"
11663 1.1.1.3 christos ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
11664 1.1.1.3 christos
11665 1.1.1.3 christos }
11666 1.1.1.3 christos break;
11667 1.1.1.3 christos case 0x40:
11668 1.1.1.3 christos {
11669 1.1.1.3 christos /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
11670 1.1.1.3 christos #line 917 "rx-decode.opc"
11671 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11672 1.1.1.3 christos if (trace)
11673 1.1.1.3 christos {
11674 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11675 1.1.1.3 christos "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
11676 1.1.1.3 christos op[0], op[1], op[2]);
11677 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11678 1.1.1.3 christos }
11679 1.1.1.3 christos SYNTAX("fdiv #%1, %0");
11680 1.1.1.3 christos #line 917 "rx-decode.opc"
11681 1.1.1.3 christos ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
11682 1.1.1.3 christos
11683 1.1.1.3 christos }
11684 1.1.1.3 christos break;
11685 1.1.1.3 christos default: UNSUPPORTED(); break;
11686 1.1.1.3 christos }
11687 1.1.1.3 christos break;
11688 1.1.1.3 christos case 0x73:
11689 1.1.1.3 christos GETBYTE ();
11690 1.1.1.3 christos switch (op[2] & 0xe0)
11691 1.1.1.3 christos {
11692 1.1.1.3 christos case 0x00:
11693 1.1.1.3 christos op_semantics_109:
11694 1.1.1.3 christos {
11695 1.1.1.3 christos /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
11696 1.1.1.3 christos #line 1007 "rx-decode.opc"
11697 1.1.1.3 christos int im AU = (op[1] >> 2) & 0x03;
11698 1.1.1.3 christos #line 1007 "rx-decode.opc"
11699 1.1.1.3 christos int crdst AU = op[2] & 0x1f;
11700 1.1.1.3 christos if (trace)
11701 1.1.1.3 christos {
11702 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11703 1.1.1.3 christos "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
11704 1.1.1.3 christos op[0], op[1], op[2]);
11705 1.1.1.3 christos printf (" im = 0x%x,", im);
11706 1.1.1.3 christos printf (" crdst = 0x%x\n", crdst);
11707 1.1.1.3 christos }
11708 1.1.1.3 christos SYNTAX("mvtc #%1, %0");
11709 1.1.1.3 christos #line 1007 "rx-decode.opc"
11710 1.1.1.3 christos ID(mov); SC(IMMex(im)); DR(crdst + 16);
11711 1.1.1.3 christos
11712 1.1.1.3 christos }
11713 1.1.1.3 christos break;
11714 1.1.1.3 christos default: UNSUPPORTED(); break;
11715 1.1.1.3 christos }
11716 1.1.1.3 christos break;
11717 1.1.1.3 christos case 0x74:
11718 1.1.1.3 christos GETBYTE ();
11719 1.1.1.3 christos switch (op[2] & 0xf0)
11720 1.1.1.3 christos {
11721 1.1.1.3 christos case 0x20:
11722 1.1.1.3 christos goto op_semantics_98;
11723 1.1.1.3 christos break;
11724 1.1.1.3 christos case 0x40:
11725 1.1.1.3 christos goto op_semantics_99;
11726 1.1.1.3 christos break;
11727 1.1.1.3 christos case 0x50:
11728 1.1.1.3 christos goto op_semantics_100;
11729 1.1.1.3 christos break;
11730 1.1.1.3 christos case 0x60:
11731 1.1.1.3 christos goto op_semantics_101;
11732 1.1.1.3 christos break;
11733 1.1.1.3 christos case 0x70:
11734 1.1.1.3 christos goto op_semantics_102;
11735 1.1.1.3 christos break;
11736 1.1.1.3 christos case 0x80:
11737 1.1.1.3 christos goto op_semantics_103;
11738 1.1.1.3 christos break;
11739 1.1.1.3 christos case 0x90:
11740 1.1.1.3 christos goto op_semantics_104;
11741 1.1.1.3 christos break;
11742 1.1.1.3 christos case 0xc0:
11743 1.1.1.3 christos goto op_semantics_105;
11744 1.1.1.3 christos break;
11745 1.1.1.3 christos case 0xd0:
11746 1.1.1.3 christos goto op_semantics_106;
11747 1.1.1.3 christos break;
11748 1.1.1.3 christos case 0xe0:
11749 1.1.1.3 christos goto op_semantics_107;
11750 1.1.1.3 christos break;
11751 1.1.1.3 christos case 0xf0:
11752 1.1.1.3 christos goto op_semantics_108;
11753 1.1.1.3 christos break;
11754 1.1.1.3 christos default: UNSUPPORTED(); break;
11755 1.1.1.3 christos }
11756 1.1.1.3 christos break;
11757 1.1.1.3 christos case 0x77:
11758 1.1.1.3 christos GETBYTE ();
11759 1.1.1.3 christos switch (op[2] & 0xe0)
11760 1.1.1.3 christos {
11761 1.1.1.3 christos case 0x00:
11762 1.1.1.3 christos goto op_semantics_109;
11763 1.1.1.3 christos break;
11764 1.1.1.3 christos default: UNSUPPORTED(); break;
11765 1.1.1.3 christos }
11766 1.1.1.3 christos break;
11767 1.1.1.3 christos case 0x78:
11768 1.1.1.3 christos GETBYTE ();
11769 1.1.1.3 christos switch (op[2] & 0xf0)
11770 1.1.1.3 christos {
11771 1.1.1.3 christos case 0x20:
11772 1.1.1.3 christos goto op_semantics_98;
11773 1.1.1.3 christos break;
11774 1.1.1.3 christos case 0x40:
11775 1.1.1.3 christos goto op_semantics_99;
11776 1.1.1.3 christos break;
11777 1.1.1.3 christos case 0x50:
11778 1.1.1.3 christos goto op_semantics_100;
11779 1.1.1.3 christos break;
11780 1.1.1.3 christos case 0x60:
11781 1.1.1.3 christos goto op_semantics_101;
11782 1.1.1.3 christos break;
11783 1.1.1.3 christos case 0x70:
11784 1.1.1.3 christos goto op_semantics_102;
11785 1.1.1.3 christos break;
11786 1.1.1.3 christos case 0x80:
11787 1.1.1.3 christos goto op_semantics_103;
11788 1.1.1.3 christos break;
11789 1.1.1.3 christos case 0x90:
11790 1.1.1.3 christos goto op_semantics_104;
11791 1.1.1.3 christos break;
11792 1.1.1.3 christos case 0xc0:
11793 1.1.1.3 christos goto op_semantics_105;
11794 1.1.1.3 christos break;
11795 1.1.1.3 christos case 0xd0:
11796 1.1.1.3 christos goto op_semantics_106;
11797 1.1.1.3 christos break;
11798 1.1.1.3 christos case 0xe0:
11799 1.1.1.3 christos goto op_semantics_107;
11800 1.1.1.3 christos break;
11801 1.1.1.3 christos case 0xf0:
11802 1.1.1.3 christos goto op_semantics_108;
11803 1.1.1.3 christos break;
11804 1.1.1.3 christos default: UNSUPPORTED(); break;
11805 1.1.1.3 christos }
11806 1.1.1.3 christos break;
11807 1.1.1.3 christos case 0x7b:
11808 1.1.1.3 christos GETBYTE ();
11809 1.1.1.3 christos switch (op[2] & 0xe0)
11810 1.1.1.3 christos {
11811 1.1.1.3 christos case 0x00:
11812 1.1.1.3 christos goto op_semantics_109;
11813 1.1.1.3 christos break;
11814 1.1.1.3 christos default: UNSUPPORTED(); break;
11815 1.1.1.3 christos }
11816 1.1.1.3 christos break;
11817 1.1.1.3 christos case 0x7c:
11818 1.1.1.3 christos GETBYTE ();
11819 1.1.1.3 christos switch (op[2] & 0xf0)
11820 1.1.1.3 christos {
11821 1.1.1.3 christos case 0x20:
11822 1.1.1.3 christos goto op_semantics_98;
11823 1.1.1.3 christos break;
11824 1.1.1.3 christos case 0x40:
11825 1.1.1.3 christos goto op_semantics_99;
11826 1.1.1.3 christos break;
11827 1.1.1.3 christos case 0x50:
11828 1.1.1.3 christos goto op_semantics_100;
11829 1.1.1.3 christos break;
11830 1.1.1.3 christos case 0x60:
11831 1.1.1.3 christos goto op_semantics_101;
11832 1.1.1.3 christos break;
11833 1.1.1.3 christos case 0x70:
11834 1.1.1.3 christos goto op_semantics_102;
11835 1.1.1.3 christos break;
11836 1.1.1.3 christos case 0x80:
11837 1.1.1.3 christos goto op_semantics_103;
11838 1.1.1.3 christos break;
11839 1.1.1.3 christos case 0x90:
11840 1.1.1.3 christos goto op_semantics_104;
11841 1.1.1.3 christos break;
11842 1.1.1.3 christos case 0xc0:
11843 1.1.1.3 christos goto op_semantics_105;
11844 1.1.1.3 christos break;
11845 1.1.1.3 christos case 0xd0:
11846 1.1.1.3 christos goto op_semantics_106;
11847 1.1.1.3 christos break;
11848 1.1.1.3 christos case 0xe0:
11849 1.1.1.3 christos goto op_semantics_107;
11850 1.1.1.3 christos break;
11851 1.1.1.3 christos case 0xf0:
11852 1.1.1.3 christos goto op_semantics_108;
11853 1.1.1.3 christos break;
11854 1.1.1.3 christos default: UNSUPPORTED(); break;
11855 1.1.1.3 christos }
11856 1.1.1.3 christos break;
11857 1.1.1.3 christos case 0x7f:
11858 1.1.1.3 christos GETBYTE ();
11859 1.1.1.3 christos switch (op[2] & 0xe0)
11860 1.1.1.3 christos {
11861 1.1.1.3 christos case 0x00:
11862 1.1.1.3 christos goto op_semantics_109;
11863 1.1.1.3 christos break;
11864 1.1.1.3 christos default: UNSUPPORTED(); break;
11865 1.1.1.3 christos }
11866 1.1.1.3 christos break;
11867 1.1.1.3 christos case 0x80:
11868 1.1.1.3 christos GETBYTE ();
11869 1.1.1.3 christos switch (op[2] & 0x00)
11870 1.1.1.3 christos {
11871 1.1.1.3 christos case 0x00:
11872 1.1.1.3 christos op_semantics_110:
11873 1.1.1.3 christos {
11874 1.1.1.3 christos /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
11875 1.1.1.3 christos #line 732 "rx-decode.opc"
11876 1.1.1.3 christos int immmm AU = op[1] & 0x1f;
11877 1.1.1.3 christos #line 732 "rx-decode.opc"
11878 1.1.1.3 christos int rsrc AU = (op[2] >> 4) & 0x0f;
11879 1.1.1.3 christos #line 732 "rx-decode.opc"
11880 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
11881 1.1.1.3 christos if (trace)
11882 1.1.1.3 christos {
11883 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
11884 1.1.1.3 christos "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
11885 1.1.1.3 christos op[0], op[1], op[2]);
11886 1.1.1.3 christos printf (" immmm = 0x%x,", immmm);
11887 1.1.1.3 christos printf (" rsrc = 0x%x,", rsrc);
11888 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
11889 1.1.1.3 christos }
11890 1.1.1.3 christos SYNTAX("shlr #%2, %1, %0");
11891 1.1.1.3 christos #line 732 "rx-decode.opc"
11892 1.1.1.3 christos ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
11893 1.1.1.3 christos
11894 1.1.1.3 christos /*----------------------------------------------------------------------*/
11895 1.1.1.3 christos /* ROTATE */
11896 1.1.1.3 christos
11897 1.1.1.3 christos }
11898 1.1.1.3 christos break;
11899 1.1.1.3 christos }
11900 1.1.1.3 christos break;
11901 1.1.1.3 christos case 0x81:
11902 1.1.1.3 christos GETBYTE ();
11903 1.1.1.3 christos switch (op[2] & 0x00)
11904 1.1.1.3 christos {
11905 1.1.1.3 christos case 0x00:
11906 1.1.1.3 christos goto op_semantics_110;
11907 1.1.1.3 christos break;
11908 1.1.1.3 christos }
11909 1.1.1.3 christos break;
11910 1.1.1.3 christos case 0x82:
11911 1.1.1.3 christos GETBYTE ();
11912 1.1.1.3 christos switch (op[2] & 0x00)
11913 1.1.1.3 christos {
11914 1.1.1.3 christos case 0x00:
11915 1.1.1.3 christos goto op_semantics_110;
11916 1.1.1.3 christos break;
11917 1.1.1.3 christos }
11918 1.1.1.3 christos break;
11919 1.1.1.3 christos case 0x83:
11920 1.1.1.3 christos GETBYTE ();
11921 1.1.1.3 christos switch (op[2] & 0x00)
11922 1.1.1.3 christos {
11923 1.1.1.3 christos case 0x00:
11924 1.1.1.3 christos goto op_semantics_110;
11925 1.1.1.3 christos break;
11926 1.1.1.3 christos }
11927 1.1.1.3 christos break;
11928 1.1.1.3 christos case 0x84:
11929 1.1.1.3 christos GETBYTE ();
11930 1.1.1.3 christos switch (op[2] & 0x00)
11931 1.1.1.3 christos {
11932 1.1.1.3 christos case 0x00:
11933 1.1.1.3 christos goto op_semantics_110;
11934 1.1.1.3 christos break;
11935 1.1.1.3 christos }
11936 1.1.1.3 christos break;
11937 1.1.1.3 christos case 0x85:
11938 1.1.1.3 christos GETBYTE ();
11939 1.1.1.3 christos switch (op[2] & 0x00)
11940 1.1.1.3 christos {
11941 1.1.1.3 christos case 0x00:
11942 1.1.1.3 christos goto op_semantics_110;
11943 1.1.1.3 christos break;
11944 1.1.1.3 christos }
11945 1.1.1.3 christos break;
11946 1.1.1.3 christos case 0x86:
11947 1.1.1.3 christos GETBYTE ();
11948 1.1.1.3 christos switch (op[2] & 0x00)
11949 1.1.1.3 christos {
11950 1.1.1.3 christos case 0x00:
11951 1.1.1.3 christos goto op_semantics_110;
11952 1.1.1.3 christos break;
11953 1.1.1.3 christos }
11954 1.1.1.3 christos break;
11955 1.1.1.3 christos case 0x87:
11956 1.1.1.3 christos GETBYTE ();
11957 1.1.1.3 christos switch (op[2] & 0x00)
11958 1.1.1.3 christos {
11959 1.1.1.3 christos case 0x00:
11960 1.1.1.3 christos goto op_semantics_110;
11961 1.1.1.3 christos break;
11962 1.1.1.3 christos }
11963 1.1.1.3 christos break;
11964 1.1.1.3 christos case 0x88:
11965 1.1.1.3 christos GETBYTE ();
11966 1.1.1.3 christos switch (op[2] & 0x00)
11967 1.1.1.3 christos {
11968 1.1.1.3 christos case 0x00:
11969 1.1.1.3 christos goto op_semantics_110;
11970 1.1.1.3 christos break;
11971 1.1.1.3 christos }
11972 1.1.1.3 christos break;
11973 1.1.1.3 christos case 0x89:
11974 1.1.1.3 christos GETBYTE ();
11975 1.1.1.3 christos switch (op[2] & 0x00)
11976 1.1.1.3 christos {
11977 1.1.1.3 christos case 0x00:
11978 1.1.1.3 christos goto op_semantics_110;
11979 1.1.1.3 christos break;
11980 1.1.1.3 christos }
11981 1.1.1.3 christos break;
11982 1.1.1.3 christos case 0x8a:
11983 1.1.1.3 christos GETBYTE ();
11984 1.1.1.3 christos switch (op[2] & 0x00)
11985 1.1.1.3 christos {
11986 1.1.1.3 christos case 0x00:
11987 1.1.1.3 christos goto op_semantics_110;
11988 1.1.1.3 christos break;
11989 1.1.1.3 christos }
11990 1.1.1.3 christos break;
11991 1.1.1.3 christos case 0x8b:
11992 1.1.1.3 christos GETBYTE ();
11993 1.1.1.3 christos switch (op[2] & 0x00)
11994 1.1.1.3 christos {
11995 1.1.1.3 christos case 0x00:
11996 1.1.1.3 christos goto op_semantics_110;
11997 1.1.1.3 christos break;
11998 1.1.1.3 christos }
11999 1.1.1.3 christos break;
12000 1.1.1.3 christos case 0x8c:
12001 1.1.1.3 christos GETBYTE ();
12002 1.1.1.3 christos switch (op[2] & 0x00)
12003 1.1.1.3 christos {
12004 1.1.1.3 christos case 0x00:
12005 1.1.1.3 christos goto op_semantics_110;
12006 1.1.1.3 christos break;
12007 1.1.1.3 christos }
12008 1.1.1.3 christos break;
12009 1.1.1.3 christos case 0x8d:
12010 1.1.1.3 christos GETBYTE ();
12011 1.1.1.3 christos switch (op[2] & 0x00)
12012 1.1.1.3 christos {
12013 1.1.1.3 christos case 0x00:
12014 1.1.1.3 christos goto op_semantics_110;
12015 1.1.1.3 christos break;
12016 1.1.1.3 christos }
12017 1.1.1.3 christos break;
12018 1.1.1.3 christos case 0x8e:
12019 1.1.1.3 christos GETBYTE ();
12020 1.1.1.3 christos switch (op[2] & 0x00)
12021 1.1.1.3 christos {
12022 1.1.1.3 christos case 0x00:
12023 1.1.1.3 christos goto op_semantics_110;
12024 1.1.1.3 christos break;
12025 1.1.1.3 christos }
12026 1.1.1.3 christos break;
12027 1.1.1.3 christos case 0x8f:
12028 1.1.1.3 christos GETBYTE ();
12029 1.1.1.3 christos switch (op[2] & 0x00)
12030 1.1.1.3 christos {
12031 1.1.1.3 christos case 0x00:
12032 1.1.1.3 christos goto op_semantics_110;
12033 1.1.1.3 christos break;
12034 1.1 christos }
12035 1.1 christos break;
12036 1.1.1.3 christos case 0x90:
12037 1.1 christos GETBYTE ();
12038 1.1.1.3 christos switch (op[2] & 0x00)
12039 1.1 christos {
12040 1.1 christos case 0x00:
12041 1.1.1.3 christos goto op_semantics_110;
12042 1.1 christos break;
12043 1.1 christos }
12044 1.1 christos break;
12045 1.1.1.3 christos case 0x91:
12046 1.1 christos GETBYTE ();
12047 1.1.1.3 christos switch (op[2] & 0x00)
12048 1.1 christos {
12049 1.1.1.3 christos case 0x00:
12050 1.1.1.3 christos goto op_semantics_110;
12051 1.1 christos break;
12052 1.1 christos }
12053 1.1 christos break;
12054 1.1.1.3 christos case 0x92:
12055 1.1 christos GETBYTE ();
12056 1.1.1.3 christos switch (op[2] & 0x00)
12057 1.1 christos {
12058 1.1 christos case 0x00:
12059 1.1.1.3 christos goto op_semantics_110;
12060 1.1 christos break;
12061 1.1 christos }
12062 1.1 christos break;
12063 1.1.1.3 christos case 0x93:
12064 1.1 christos GETBYTE ();
12065 1.1.1.3 christos switch (op[2] & 0x00)
12066 1.1 christos {
12067 1.1.1.3 christos case 0x00:
12068 1.1.1.3 christos goto op_semantics_110;
12069 1.1 christos break;
12070 1.1 christos }
12071 1.1 christos break;
12072 1.1.1.3 christos case 0x94:
12073 1.1 christos GETBYTE ();
12074 1.1.1.3 christos switch (op[2] & 0x00)
12075 1.1 christos {
12076 1.1 christos case 0x00:
12077 1.1.1.3 christos goto op_semantics_110;
12078 1.1 christos break;
12079 1.1 christos }
12080 1.1 christos break;
12081 1.1.1.3 christos case 0x95:
12082 1.1 christos GETBYTE ();
12083 1.1.1.3 christos switch (op[2] & 0x00)
12084 1.1 christos {
12085 1.1.1.3 christos case 0x00:
12086 1.1.1.3 christos goto op_semantics_110;
12087 1.1 christos break;
12088 1.1.1.3 christos }
12089 1.1.1.3 christos break;
12090 1.1.1.3 christos case 0x96:
12091 1.1.1.3 christos GETBYTE ();
12092 1.1.1.3 christos switch (op[2] & 0x00)
12093 1.1.1.3 christos {
12094 1.1.1.3 christos case 0x00:
12095 1.1.1.3 christos goto op_semantics_110;
12096 1.1 christos break;
12097 1.1.1.3 christos }
12098 1.1.1.3 christos break;
12099 1.1.1.3 christos case 0x97:
12100 1.1.1.3 christos GETBYTE ();
12101 1.1.1.3 christos switch (op[2] & 0x00)
12102 1.1.1.3 christos {
12103 1.1.1.3 christos case 0x00:
12104 1.1.1.3 christos goto op_semantics_110;
12105 1.1 christos break;
12106 1.1.1.3 christos }
12107 1.1.1.3 christos break;
12108 1.1.1.3 christos case 0x98:
12109 1.1.1.3 christos GETBYTE ();
12110 1.1.1.3 christos switch (op[2] & 0x00)
12111 1.1.1.3 christos {
12112 1.1.1.3 christos case 0x00:
12113 1.1.1.3 christos goto op_semantics_110;
12114 1.1 christos break;
12115 1.1.1.3 christos }
12116 1.1.1.3 christos break;
12117 1.1.1.3 christos case 0x99:
12118 1.1.1.3 christos GETBYTE ();
12119 1.1.1.3 christos switch (op[2] & 0x00)
12120 1.1.1.3 christos {
12121 1.1.1.3 christos case 0x00:
12122 1.1.1.3 christos goto op_semantics_110;
12123 1.1 christos break;
12124 1.1.1.3 christos }
12125 1.1.1.3 christos break;
12126 1.1.1.3 christos case 0x9a:
12127 1.1.1.3 christos GETBYTE ();
12128 1.1.1.3 christos switch (op[2] & 0x00)
12129 1.1.1.3 christos {
12130 1.1.1.3 christos case 0x00:
12131 1.1.1.3 christos goto op_semantics_110;
12132 1.1 christos break;
12133 1.1.1.3 christos }
12134 1.1.1.3 christos break;
12135 1.1.1.3 christos case 0x9b:
12136 1.1.1.3 christos GETBYTE ();
12137 1.1.1.3 christos switch (op[2] & 0x00)
12138 1.1.1.3 christos {
12139 1.1.1.3 christos case 0x00:
12140 1.1.1.3 christos goto op_semantics_110;
12141 1.1 christos break;
12142 1.1.1.3 christos }
12143 1.1.1.3 christos break;
12144 1.1.1.3 christos case 0x9c:
12145 1.1.1.3 christos GETBYTE ();
12146 1.1.1.3 christos switch (op[2] & 0x00)
12147 1.1.1.3 christos {
12148 1.1.1.3 christos case 0x00:
12149 1.1.1.3 christos goto op_semantics_110;
12150 1.1 christos break;
12151 1.1.1.3 christos }
12152 1.1.1.3 christos break;
12153 1.1.1.3 christos case 0x9d:
12154 1.1.1.3 christos GETBYTE ();
12155 1.1.1.3 christos switch (op[2] & 0x00)
12156 1.1.1.3 christos {
12157 1.1.1.3 christos case 0x00:
12158 1.1.1.3 christos goto op_semantics_110;
12159 1.1 christos break;
12160 1.1.1.3 christos }
12161 1.1.1.3 christos break;
12162 1.1.1.3 christos case 0x9e:
12163 1.1.1.3 christos GETBYTE ();
12164 1.1.1.3 christos switch (op[2] & 0x00)
12165 1.1.1.3 christos {
12166 1.1.1.3 christos case 0x00:
12167 1.1.1.3 christos goto op_semantics_110;
12168 1.1 christos break;
12169 1.1 christos }
12170 1.1 christos break;
12171 1.1.1.3 christos case 0x9f:
12172 1.1 christos GETBYTE ();
12173 1.1.1.3 christos switch (op[2] & 0x00)
12174 1.1 christos {
12175 1.1 christos case 0x00:
12176 1.1.1.3 christos goto op_semantics_110;
12177 1.1 christos break;
12178 1.1 christos }
12179 1.1 christos break;
12180 1.1.1.3 christos case 0xa0:
12181 1.1 christos GETBYTE ();
12182 1.1 christos switch (op[2] & 0x00)
12183 1.1 christos {
12184 1.1 christos case 0x00:
12185 1.1.1.3 christos op_semantics_111:
12186 1.1 christos {
12187 1.1.1.3 christos /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
12188 1.1.1.3 christos #line 722 "rx-decode.opc"
12189 1.1 christos int immmm AU = op[1] & 0x1f;
12190 1.1.1.3 christos #line 722 "rx-decode.opc"
12191 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
12192 1.1.1.3 christos #line 722 "rx-decode.opc"
12193 1.1 christos int rdst AU = op[2] & 0x0f;
12194 1.1 christos if (trace)
12195 1.1 christos {
12196 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12197 1.1.1.3 christos "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
12198 1.1 christos op[0], op[1], op[2]);
12199 1.1 christos printf (" immmm = 0x%x,", immmm);
12200 1.1 christos printf (" rsrc = 0x%x,", rsrc);
12201 1.1 christos printf (" rdst = 0x%x\n", rdst);
12202 1.1 christos }
12203 1.1.1.3 christos SYNTAX("shar #%2, %1, %0");
12204 1.1.1.3 christos #line 722 "rx-decode.opc"
12205 1.1.1.3 christos ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
12206 1.1.1.3 christos
12207 1.1.1.3 christos
12208 1.1 christos }
12209 1.1 christos break;
12210 1.1 christos }
12211 1.1 christos break;
12212 1.1.1.3 christos case 0xa1:
12213 1.1 christos GETBYTE ();
12214 1.1 christos switch (op[2] & 0x00)
12215 1.1 christos {
12216 1.1 christos case 0x00:
12217 1.1.1.3 christos goto op_semantics_111;
12218 1.1 christos break;
12219 1.1 christos }
12220 1.1 christos break;
12221 1.1.1.3 christos case 0xa2:
12222 1.1 christos GETBYTE ();
12223 1.1 christos switch (op[2] & 0x00)
12224 1.1 christos {
12225 1.1 christos case 0x00:
12226 1.1.1.3 christos goto op_semantics_111;
12227 1.1 christos break;
12228 1.1 christos }
12229 1.1 christos break;
12230 1.1.1.3 christos case 0xa3:
12231 1.1 christos GETBYTE ();
12232 1.1 christos switch (op[2] & 0x00)
12233 1.1 christos {
12234 1.1 christos case 0x00:
12235 1.1.1.3 christos goto op_semantics_111;
12236 1.1 christos break;
12237 1.1 christos }
12238 1.1 christos break;
12239 1.1.1.3 christos case 0xa4:
12240 1.1 christos GETBYTE ();
12241 1.1 christos switch (op[2] & 0x00)
12242 1.1 christos {
12243 1.1 christos case 0x00:
12244 1.1.1.3 christos goto op_semantics_111;
12245 1.1 christos break;
12246 1.1 christos }
12247 1.1 christos break;
12248 1.1.1.3 christos case 0xa5:
12249 1.1 christos GETBYTE ();
12250 1.1 christos switch (op[2] & 0x00)
12251 1.1 christos {
12252 1.1 christos case 0x00:
12253 1.1.1.3 christos goto op_semantics_111;
12254 1.1 christos break;
12255 1.1 christos }
12256 1.1 christos break;
12257 1.1.1.3 christos case 0xa6:
12258 1.1 christos GETBYTE ();
12259 1.1 christos switch (op[2] & 0x00)
12260 1.1 christos {
12261 1.1 christos case 0x00:
12262 1.1.1.3 christos goto op_semantics_111;
12263 1.1 christos break;
12264 1.1 christos }
12265 1.1 christos break;
12266 1.1.1.3 christos case 0xa7:
12267 1.1 christos GETBYTE ();
12268 1.1 christos switch (op[2] & 0x00)
12269 1.1 christos {
12270 1.1 christos case 0x00:
12271 1.1.1.3 christos goto op_semantics_111;
12272 1.1 christos break;
12273 1.1 christos }
12274 1.1 christos break;
12275 1.1.1.3 christos case 0xa8:
12276 1.1 christos GETBYTE ();
12277 1.1 christos switch (op[2] & 0x00)
12278 1.1 christos {
12279 1.1 christos case 0x00:
12280 1.1.1.3 christos goto op_semantics_111;
12281 1.1 christos break;
12282 1.1 christos }
12283 1.1 christos break;
12284 1.1.1.3 christos case 0xa9:
12285 1.1 christos GETBYTE ();
12286 1.1 christos switch (op[2] & 0x00)
12287 1.1 christos {
12288 1.1 christos case 0x00:
12289 1.1.1.3 christos goto op_semantics_111;
12290 1.1 christos break;
12291 1.1 christos }
12292 1.1 christos break;
12293 1.1.1.3 christos case 0xaa:
12294 1.1 christos GETBYTE ();
12295 1.1 christos switch (op[2] & 0x00)
12296 1.1 christos {
12297 1.1 christos case 0x00:
12298 1.1.1.3 christos goto op_semantics_111;
12299 1.1 christos break;
12300 1.1 christos }
12301 1.1 christos break;
12302 1.1.1.3 christos case 0xab:
12303 1.1 christos GETBYTE ();
12304 1.1 christos switch (op[2] & 0x00)
12305 1.1 christos {
12306 1.1 christos case 0x00:
12307 1.1.1.3 christos goto op_semantics_111;
12308 1.1 christos break;
12309 1.1 christos }
12310 1.1 christos break;
12311 1.1.1.3 christos case 0xac:
12312 1.1 christos GETBYTE ();
12313 1.1 christos switch (op[2] & 0x00)
12314 1.1 christos {
12315 1.1 christos case 0x00:
12316 1.1.1.3 christos goto op_semantics_111;
12317 1.1 christos break;
12318 1.1 christos }
12319 1.1 christos break;
12320 1.1.1.3 christos case 0xad:
12321 1.1 christos GETBYTE ();
12322 1.1 christos switch (op[2] & 0x00)
12323 1.1 christos {
12324 1.1 christos case 0x00:
12325 1.1.1.3 christos goto op_semantics_111;
12326 1.1 christos break;
12327 1.1 christos }
12328 1.1 christos break;
12329 1.1.1.3 christos case 0xae:
12330 1.1 christos GETBYTE ();
12331 1.1 christos switch (op[2] & 0x00)
12332 1.1 christos {
12333 1.1 christos case 0x00:
12334 1.1.1.3 christos goto op_semantics_111;
12335 1.1 christos break;
12336 1.1 christos }
12337 1.1 christos break;
12338 1.1.1.3 christos case 0xaf:
12339 1.1 christos GETBYTE ();
12340 1.1 christos switch (op[2] & 0x00)
12341 1.1 christos {
12342 1.1 christos case 0x00:
12343 1.1.1.3 christos goto op_semantics_111;
12344 1.1 christos break;
12345 1.1 christos }
12346 1.1 christos break;
12347 1.1.1.3 christos case 0xb0:
12348 1.1 christos GETBYTE ();
12349 1.1 christos switch (op[2] & 0x00)
12350 1.1 christos {
12351 1.1 christos case 0x00:
12352 1.1.1.3 christos goto op_semantics_111;
12353 1.1 christos break;
12354 1.1 christos }
12355 1.1 christos break;
12356 1.1.1.3 christos case 0xb1:
12357 1.1 christos GETBYTE ();
12358 1.1 christos switch (op[2] & 0x00)
12359 1.1 christos {
12360 1.1 christos case 0x00:
12361 1.1.1.3 christos goto op_semantics_111;
12362 1.1 christos break;
12363 1.1 christos }
12364 1.1 christos break;
12365 1.1.1.3 christos case 0xb2:
12366 1.1 christos GETBYTE ();
12367 1.1 christos switch (op[2] & 0x00)
12368 1.1 christos {
12369 1.1 christos case 0x00:
12370 1.1.1.3 christos goto op_semantics_111;
12371 1.1 christos break;
12372 1.1 christos }
12373 1.1 christos break;
12374 1.1.1.3 christos case 0xb3:
12375 1.1 christos GETBYTE ();
12376 1.1 christos switch (op[2] & 0x00)
12377 1.1 christos {
12378 1.1 christos case 0x00:
12379 1.1.1.3 christos goto op_semantics_111;
12380 1.1 christos break;
12381 1.1 christos }
12382 1.1 christos break;
12383 1.1.1.3 christos case 0xb4:
12384 1.1 christos GETBYTE ();
12385 1.1 christos switch (op[2] & 0x00)
12386 1.1 christos {
12387 1.1 christos case 0x00:
12388 1.1.1.3 christos goto op_semantics_111;
12389 1.1 christos break;
12390 1.1 christos }
12391 1.1 christos break;
12392 1.1.1.3 christos case 0xb5:
12393 1.1 christos GETBYTE ();
12394 1.1 christos switch (op[2] & 0x00)
12395 1.1 christos {
12396 1.1 christos case 0x00:
12397 1.1.1.3 christos goto op_semantics_111;
12398 1.1 christos break;
12399 1.1 christos }
12400 1.1 christos break;
12401 1.1.1.3 christos case 0xb6:
12402 1.1 christos GETBYTE ();
12403 1.1 christos switch (op[2] & 0x00)
12404 1.1 christos {
12405 1.1 christos case 0x00:
12406 1.1.1.3 christos goto op_semantics_111;
12407 1.1 christos break;
12408 1.1 christos }
12409 1.1 christos break;
12410 1.1.1.3 christos case 0xb7:
12411 1.1 christos GETBYTE ();
12412 1.1 christos switch (op[2] & 0x00)
12413 1.1 christos {
12414 1.1 christos case 0x00:
12415 1.1.1.3 christos goto op_semantics_111;
12416 1.1 christos break;
12417 1.1 christos }
12418 1.1 christos break;
12419 1.1.1.3 christos case 0xb8:
12420 1.1 christos GETBYTE ();
12421 1.1 christos switch (op[2] & 0x00)
12422 1.1 christos {
12423 1.1 christos case 0x00:
12424 1.1.1.3 christos goto op_semantics_111;
12425 1.1 christos break;
12426 1.1 christos }
12427 1.1 christos break;
12428 1.1.1.3 christos case 0xb9:
12429 1.1 christos GETBYTE ();
12430 1.1 christos switch (op[2] & 0x00)
12431 1.1 christos {
12432 1.1 christos case 0x00:
12433 1.1.1.3 christos goto op_semantics_111;
12434 1.1 christos break;
12435 1.1 christos }
12436 1.1 christos break;
12437 1.1.1.3 christos case 0xba:
12438 1.1 christos GETBYTE ();
12439 1.1 christos switch (op[2] & 0x00)
12440 1.1 christos {
12441 1.1 christos case 0x00:
12442 1.1.1.3 christos goto op_semantics_111;
12443 1.1 christos break;
12444 1.1 christos }
12445 1.1 christos break;
12446 1.1.1.3 christos case 0xbb:
12447 1.1 christos GETBYTE ();
12448 1.1 christos switch (op[2] & 0x00)
12449 1.1 christos {
12450 1.1 christos case 0x00:
12451 1.1.1.3 christos goto op_semantics_111;
12452 1.1 christos break;
12453 1.1 christos }
12454 1.1 christos break;
12455 1.1.1.3 christos case 0xbc:
12456 1.1 christos GETBYTE ();
12457 1.1 christos switch (op[2] & 0x00)
12458 1.1 christos {
12459 1.1 christos case 0x00:
12460 1.1.1.3 christos goto op_semantics_111;
12461 1.1 christos break;
12462 1.1 christos }
12463 1.1 christos break;
12464 1.1.1.3 christos case 0xbd:
12465 1.1 christos GETBYTE ();
12466 1.1 christos switch (op[2] & 0x00)
12467 1.1 christos {
12468 1.1 christos case 0x00:
12469 1.1.1.3 christos goto op_semantics_111;
12470 1.1 christos break;
12471 1.1 christos }
12472 1.1 christos break;
12473 1.1.1.3 christos case 0xbe:
12474 1.1 christos GETBYTE ();
12475 1.1 christos switch (op[2] & 0x00)
12476 1.1 christos {
12477 1.1 christos case 0x00:
12478 1.1.1.3 christos goto op_semantics_111;
12479 1.1 christos break;
12480 1.1 christos }
12481 1.1 christos break;
12482 1.1.1.3 christos case 0xbf:
12483 1.1 christos GETBYTE ();
12484 1.1 christos switch (op[2] & 0x00)
12485 1.1 christos {
12486 1.1 christos case 0x00:
12487 1.1.1.3 christos goto op_semantics_111;
12488 1.1 christos break;
12489 1.1 christos }
12490 1.1 christos break;
12491 1.1.1.3 christos case 0xc0:
12492 1.1 christos GETBYTE ();
12493 1.1 christos switch (op[2] & 0x00)
12494 1.1 christos {
12495 1.1 christos case 0x00:
12496 1.1.1.3 christos op_semantics_112:
12497 1.1 christos {
12498 1.1.1.3 christos /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
12499 1.1.1.3 christos #line 712 "rx-decode.opc"
12500 1.1 christos int immmm AU = op[1] & 0x1f;
12501 1.1.1.3 christos #line 712 "rx-decode.opc"
12502 1.1 christos int rsrc AU = (op[2] >> 4) & 0x0f;
12503 1.1.1.3 christos #line 712 "rx-decode.opc"
12504 1.1 christos int rdst AU = op[2] & 0x0f;
12505 1.1 christos if (trace)
12506 1.1 christos {
12507 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12508 1.1.1.3 christos "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
12509 1.1 christos op[0], op[1], op[2]);
12510 1.1 christos printf (" immmm = 0x%x,", immmm);
12511 1.1 christos printf (" rsrc = 0x%x,", rsrc);
12512 1.1 christos printf (" rdst = 0x%x\n", rdst);
12513 1.1 christos }
12514 1.1.1.3 christos SYNTAX("shll #%2, %1, %0");
12515 1.1.1.3 christos #line 712 "rx-decode.opc"
12516 1.1.1.3 christos ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
12517 1.1.1.3 christos
12518 1.1.1.3 christos
12519 1.1 christos }
12520 1.1 christos break;
12521 1.1 christos }
12522 1.1 christos break;
12523 1.1.1.3 christos case 0xc1:
12524 1.1 christos GETBYTE ();
12525 1.1 christos switch (op[2] & 0x00)
12526 1.1 christos {
12527 1.1 christos case 0x00:
12528 1.1.1.3 christos goto op_semantics_112;
12529 1.1 christos break;
12530 1.1 christos }
12531 1.1 christos break;
12532 1.1.1.3 christos case 0xc2:
12533 1.1 christos GETBYTE ();
12534 1.1 christos switch (op[2] & 0x00)
12535 1.1 christos {
12536 1.1 christos case 0x00:
12537 1.1.1.3 christos goto op_semantics_112;
12538 1.1 christos break;
12539 1.1 christos }
12540 1.1 christos break;
12541 1.1.1.3 christos case 0xc3:
12542 1.1 christos GETBYTE ();
12543 1.1 christos switch (op[2] & 0x00)
12544 1.1 christos {
12545 1.1 christos case 0x00:
12546 1.1.1.3 christos goto op_semantics_112;
12547 1.1 christos break;
12548 1.1 christos }
12549 1.1 christos break;
12550 1.1.1.3 christos case 0xc4:
12551 1.1 christos GETBYTE ();
12552 1.1 christos switch (op[2] & 0x00)
12553 1.1 christos {
12554 1.1 christos case 0x00:
12555 1.1.1.3 christos goto op_semantics_112;
12556 1.1 christos break;
12557 1.1 christos }
12558 1.1 christos break;
12559 1.1.1.3 christos case 0xc5:
12560 1.1 christos GETBYTE ();
12561 1.1 christos switch (op[2] & 0x00)
12562 1.1 christos {
12563 1.1 christos case 0x00:
12564 1.1.1.3 christos goto op_semantics_112;
12565 1.1 christos break;
12566 1.1 christos }
12567 1.1 christos break;
12568 1.1.1.3 christos case 0xc6:
12569 1.1 christos GETBYTE ();
12570 1.1 christos switch (op[2] & 0x00)
12571 1.1 christos {
12572 1.1 christos case 0x00:
12573 1.1.1.3 christos goto op_semantics_112;
12574 1.1 christos break;
12575 1.1 christos }
12576 1.1 christos break;
12577 1.1.1.3 christos case 0xc7:
12578 1.1 christos GETBYTE ();
12579 1.1 christos switch (op[2] & 0x00)
12580 1.1 christos {
12581 1.1 christos case 0x00:
12582 1.1.1.3 christos goto op_semantics_112;
12583 1.1 christos break;
12584 1.1 christos }
12585 1.1 christos break;
12586 1.1.1.3 christos case 0xc8:
12587 1.1 christos GETBYTE ();
12588 1.1 christos switch (op[2] & 0x00)
12589 1.1 christos {
12590 1.1 christos case 0x00:
12591 1.1.1.3 christos goto op_semantics_112;
12592 1.1 christos break;
12593 1.1 christos }
12594 1.1 christos break;
12595 1.1.1.3 christos case 0xc9:
12596 1.1 christos GETBYTE ();
12597 1.1 christos switch (op[2] & 0x00)
12598 1.1 christos {
12599 1.1 christos case 0x00:
12600 1.1.1.3 christos goto op_semantics_112;
12601 1.1 christos break;
12602 1.1 christos }
12603 1.1 christos break;
12604 1.1.1.3 christos case 0xca:
12605 1.1 christos GETBYTE ();
12606 1.1 christos switch (op[2] & 0x00)
12607 1.1 christos {
12608 1.1 christos case 0x00:
12609 1.1.1.3 christos goto op_semantics_112;
12610 1.1 christos break;
12611 1.1 christos }
12612 1.1 christos break;
12613 1.1.1.3 christos case 0xcb:
12614 1.1 christos GETBYTE ();
12615 1.1 christos switch (op[2] & 0x00)
12616 1.1 christos {
12617 1.1 christos case 0x00:
12618 1.1.1.3 christos goto op_semantics_112;
12619 1.1 christos break;
12620 1.1 christos }
12621 1.1 christos break;
12622 1.1.1.3 christos case 0xcc:
12623 1.1 christos GETBYTE ();
12624 1.1 christos switch (op[2] & 0x00)
12625 1.1 christos {
12626 1.1 christos case 0x00:
12627 1.1.1.3 christos goto op_semantics_112;
12628 1.1 christos break;
12629 1.1 christos }
12630 1.1 christos break;
12631 1.1.1.3 christos case 0xcd:
12632 1.1 christos GETBYTE ();
12633 1.1 christos switch (op[2] & 0x00)
12634 1.1 christos {
12635 1.1 christos case 0x00:
12636 1.1.1.3 christos goto op_semantics_112;
12637 1.1 christos break;
12638 1.1 christos }
12639 1.1 christos break;
12640 1.1.1.3 christos case 0xce:
12641 1.1 christos GETBYTE ();
12642 1.1 christos switch (op[2] & 0x00)
12643 1.1 christos {
12644 1.1 christos case 0x00:
12645 1.1.1.3 christos goto op_semantics_112;
12646 1.1 christos break;
12647 1.1 christos }
12648 1.1 christos break;
12649 1.1.1.3 christos case 0xcf:
12650 1.1 christos GETBYTE ();
12651 1.1 christos switch (op[2] & 0x00)
12652 1.1 christos {
12653 1.1 christos case 0x00:
12654 1.1.1.3 christos goto op_semantics_112;
12655 1.1 christos break;
12656 1.1 christos }
12657 1.1 christos break;
12658 1.1.1.3 christos case 0xd0:
12659 1.1 christos GETBYTE ();
12660 1.1 christos switch (op[2] & 0x00)
12661 1.1 christos {
12662 1.1 christos case 0x00:
12663 1.1.1.3 christos goto op_semantics_112;
12664 1.1 christos break;
12665 1.1 christos }
12666 1.1 christos break;
12667 1.1.1.3 christos case 0xd1:
12668 1.1 christos GETBYTE ();
12669 1.1 christos switch (op[2] & 0x00)
12670 1.1 christos {
12671 1.1 christos case 0x00:
12672 1.1.1.3 christos goto op_semantics_112;
12673 1.1 christos break;
12674 1.1 christos }
12675 1.1 christos break;
12676 1.1.1.3 christos case 0xd2:
12677 1.1 christos GETBYTE ();
12678 1.1 christos switch (op[2] & 0x00)
12679 1.1 christos {
12680 1.1 christos case 0x00:
12681 1.1.1.3 christos goto op_semantics_112;
12682 1.1 christos break;
12683 1.1 christos }
12684 1.1 christos break;
12685 1.1.1.3 christos case 0xd3:
12686 1.1 christos GETBYTE ();
12687 1.1 christos switch (op[2] & 0x00)
12688 1.1 christos {
12689 1.1 christos case 0x00:
12690 1.1.1.3 christos goto op_semantics_112;
12691 1.1 christos break;
12692 1.1 christos }
12693 1.1 christos break;
12694 1.1.1.3 christos case 0xd4:
12695 1.1 christos GETBYTE ();
12696 1.1 christos switch (op[2] & 0x00)
12697 1.1 christos {
12698 1.1 christos case 0x00:
12699 1.1.1.3 christos goto op_semantics_112;
12700 1.1 christos break;
12701 1.1 christos }
12702 1.1 christos break;
12703 1.1.1.3 christos case 0xd5:
12704 1.1 christos GETBYTE ();
12705 1.1 christos switch (op[2] & 0x00)
12706 1.1 christos {
12707 1.1 christos case 0x00:
12708 1.1.1.3 christos goto op_semantics_112;
12709 1.1 christos break;
12710 1.1 christos }
12711 1.1 christos break;
12712 1.1.1.3 christos case 0xd6:
12713 1.1 christos GETBYTE ();
12714 1.1 christos switch (op[2] & 0x00)
12715 1.1 christos {
12716 1.1 christos case 0x00:
12717 1.1.1.3 christos goto op_semantics_112;
12718 1.1 christos break;
12719 1.1 christos }
12720 1.1 christos break;
12721 1.1.1.3 christos case 0xd7:
12722 1.1 christos GETBYTE ();
12723 1.1 christos switch (op[2] & 0x00)
12724 1.1 christos {
12725 1.1 christos case 0x00:
12726 1.1.1.3 christos goto op_semantics_112;
12727 1.1 christos break;
12728 1.1 christos }
12729 1.1 christos break;
12730 1.1.1.3 christos case 0xd8:
12731 1.1 christos GETBYTE ();
12732 1.1 christos switch (op[2] & 0x00)
12733 1.1 christos {
12734 1.1 christos case 0x00:
12735 1.1.1.3 christos goto op_semantics_112;
12736 1.1 christos break;
12737 1.1 christos }
12738 1.1 christos break;
12739 1.1.1.3 christos case 0xd9:
12740 1.1 christos GETBYTE ();
12741 1.1 christos switch (op[2] & 0x00)
12742 1.1 christos {
12743 1.1 christos case 0x00:
12744 1.1.1.3 christos goto op_semantics_112;
12745 1.1 christos break;
12746 1.1 christos }
12747 1.1 christos break;
12748 1.1.1.3 christos case 0xda:
12749 1.1 christos GETBYTE ();
12750 1.1 christos switch (op[2] & 0x00)
12751 1.1 christos {
12752 1.1 christos case 0x00:
12753 1.1.1.3 christos goto op_semantics_112;
12754 1.1 christos break;
12755 1.1 christos }
12756 1.1 christos break;
12757 1.1.1.3 christos case 0xdb:
12758 1.1 christos GETBYTE ();
12759 1.1 christos switch (op[2] & 0x00)
12760 1.1 christos {
12761 1.1 christos case 0x00:
12762 1.1.1.3 christos goto op_semantics_112;
12763 1.1 christos break;
12764 1.1 christos }
12765 1.1 christos break;
12766 1.1.1.3 christos case 0xdc:
12767 1.1 christos GETBYTE ();
12768 1.1 christos switch (op[2] & 0x00)
12769 1.1 christos {
12770 1.1 christos case 0x00:
12771 1.1.1.3 christos goto op_semantics_112;
12772 1.1 christos break;
12773 1.1 christos }
12774 1.1 christos break;
12775 1.1.1.3 christos case 0xdd:
12776 1.1 christos GETBYTE ();
12777 1.1 christos switch (op[2] & 0x00)
12778 1.1 christos {
12779 1.1 christos case 0x00:
12780 1.1.1.3 christos goto op_semantics_112;
12781 1.1 christos break;
12782 1.1 christos }
12783 1.1 christos break;
12784 1.1.1.3 christos case 0xde:
12785 1.1 christos GETBYTE ();
12786 1.1 christos switch (op[2] & 0x00)
12787 1.1 christos {
12788 1.1 christos case 0x00:
12789 1.1.1.3 christos goto op_semantics_112;
12790 1.1 christos break;
12791 1.1 christos }
12792 1.1 christos break;
12793 1.1.1.3 christos case 0xdf:
12794 1.1 christos GETBYTE ();
12795 1.1 christos switch (op[2] & 0x00)
12796 1.1 christos {
12797 1.1 christos case 0x00:
12798 1.1.1.3 christos goto op_semantics_112;
12799 1.1 christos break;
12800 1.1 christos }
12801 1.1 christos break;
12802 1.1.1.3 christos case 0xe0:
12803 1.1 christos GETBYTE ();
12804 1.1.1.3 christos switch (op[2] & 0xf0)
12805 1.1 christos {
12806 1.1 christos case 0x00:
12807 1.1.1.3 christos case 0x10:
12808 1.1.1.3 christos case 0x20:
12809 1.1.1.3 christos case 0x30:
12810 1.1.1.3 christos case 0x40:
12811 1.1.1.3 christos case 0x50:
12812 1.1.1.3 christos case 0x60:
12813 1.1.1.3 christos case 0x70:
12814 1.1.1.3 christos case 0x80:
12815 1.1.1.3 christos case 0x90:
12816 1.1.1.3 christos case 0xa0:
12817 1.1.1.3 christos case 0xb0:
12818 1.1.1.3 christos case 0xc0:
12819 1.1.1.3 christos case 0xd0:
12820 1.1.1.3 christos case 0xe0:
12821 1.1.1.3 christos op_semantics_113:
12822 1.1 christos {
12823 1.1.1.3 christos /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
12824 1.1.1.3 christos #line 986 "rx-decode.opc"
12825 1.1.1.3 christos int bittt AU = op[1] & 0x1f;
12826 1.1.1.3 christos #line 986 "rx-decode.opc"
12827 1.1.1.3 christos int cond AU = (op[2] >> 4) & 0x0f;
12828 1.1.1.3 christos #line 986 "rx-decode.opc"
12829 1.1 christos int rdst AU = op[2] & 0x0f;
12830 1.1 christos if (trace)
12831 1.1 christos {
12832 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12833 1.1.1.3 christos "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
12834 1.1 christos op[0], op[1], op[2]);
12835 1.1.1.3 christos printf (" bittt = 0x%x,", bittt);
12836 1.1.1.3 christos printf (" cond = 0x%x,", cond);
12837 1.1 christos printf (" rdst = 0x%x\n", rdst);
12838 1.1 christos }
12839 1.1.1.3 christos SYNTAX("bm%2 #%1, %0%S0");
12840 1.1.1.3 christos #line 986 "rx-decode.opc"
12841 1.1.1.3 christos ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
12842 1.1.1.3 christos
12843 1.1.1.3 christos /*----------------------------------------------------------------------*/
12844 1.1.1.3 christos /* CONTROL REGISTERS */
12845 1.1.1.3 christos
12846 1.1 christos }
12847 1.1 christos break;
12848 1.1.1.3 christos case 0xf0:
12849 1.1.1.3 christos op_semantics_114:
12850 1.1.1.3 christos {
12851 1.1.1.3 christos /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
12852 1.1.1.3 christos #line 979 "rx-decode.opc"
12853 1.1.1.3 christos int bittt AU = op[1] & 0x1f;
12854 1.1.1.3 christos #line 979 "rx-decode.opc"
12855 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
12856 1.1.1.3 christos if (trace)
12857 1.1.1.3 christos {
12858 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
12859 1.1.1.3 christos "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
12860 1.1.1.3 christos op[0], op[1], op[2]);
12861 1.1.1.3 christos printf (" bittt = 0x%x,", bittt);
12862 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
12863 1.1.1.3 christos }
12864 1.1.1.3 christos SYNTAX("bnot #%1, %0");
12865 1.1.1.3 christos #line 979 "rx-decode.opc"
12866 1.1.1.3 christos ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
12867 1.1.1.3 christos
12868 1.1.1.3 christos
12869 1.1.1.3 christos }
12870 1.1 christos break;
12871 1.1 christos }
12872 1.1 christos break;
12873 1.1.1.3 christos case 0xe1:
12874 1.1 christos GETBYTE ();
12875 1.1.1.3 christos switch (op[2] & 0xf0)
12876 1.1 christos {
12877 1.1 christos case 0x00:
12878 1.1.1.3 christos case 0x10:
12879 1.1.1.3 christos case 0x20:
12880 1.1.1.3 christos case 0x30:
12881 1.1.1.3 christos case 0x40:
12882 1.1.1.3 christos case 0x50:
12883 1.1.1.3 christos case 0x60:
12884 1.1.1.3 christos case 0x70:
12885 1.1.1.3 christos case 0x80:
12886 1.1.1.3 christos case 0x90:
12887 1.1.1.3 christos case 0xa0:
12888 1.1.1.3 christos case 0xb0:
12889 1.1.1.3 christos case 0xc0:
12890 1.1.1.3 christos case 0xd0:
12891 1.1.1.3 christos case 0xe0:
12892 1.1.1.3 christos goto op_semantics_113;
12893 1.1.1.3 christos break;
12894 1.1.1.3 christos case 0xf0:
12895 1.1.1.3 christos goto op_semantics_114;
12896 1.1 christos break;
12897 1.1 christos }
12898 1.1 christos break;
12899 1.1.1.3 christos case 0xe2:
12900 1.1 christos GETBYTE ();
12901 1.1.1.3 christos switch (op[2] & 0xf0)
12902 1.1 christos {
12903 1.1 christos case 0x00:
12904 1.1.1.3 christos case 0x10:
12905 1.1.1.3 christos case 0x20:
12906 1.1.1.3 christos case 0x30:
12907 1.1.1.3 christos case 0x40:
12908 1.1.1.3 christos case 0x50:
12909 1.1.1.3 christos case 0x60:
12910 1.1.1.3 christos case 0x70:
12911 1.1.1.3 christos case 0x80:
12912 1.1.1.3 christos case 0x90:
12913 1.1.1.3 christos case 0xa0:
12914 1.1.1.3 christos case 0xb0:
12915 1.1.1.3 christos case 0xc0:
12916 1.1.1.3 christos case 0xd0:
12917 1.1.1.3 christos case 0xe0:
12918 1.1.1.3 christos goto op_semantics_113;
12919 1.1.1.3 christos break;
12920 1.1.1.3 christos case 0xf0:
12921 1.1.1.3 christos goto op_semantics_114;
12922 1.1 christos break;
12923 1.1 christos }
12924 1.1 christos break;
12925 1.1.1.3 christos case 0xe3:
12926 1.1 christos GETBYTE ();
12927 1.1.1.3 christos switch (op[2] & 0xf0)
12928 1.1 christos {
12929 1.1 christos case 0x00:
12930 1.1.1.3 christos case 0x10:
12931 1.1.1.3 christos case 0x20:
12932 1.1.1.3 christos case 0x30:
12933 1.1.1.3 christos case 0x40:
12934 1.1.1.3 christos case 0x50:
12935 1.1.1.3 christos case 0x60:
12936 1.1.1.3 christos case 0x70:
12937 1.1.1.3 christos case 0x80:
12938 1.1.1.3 christos case 0x90:
12939 1.1.1.3 christos case 0xa0:
12940 1.1.1.3 christos case 0xb0:
12941 1.1.1.3 christos case 0xc0:
12942 1.1.1.3 christos case 0xd0:
12943 1.1.1.3 christos case 0xe0:
12944 1.1.1.3 christos goto op_semantics_113;
12945 1.1.1.3 christos break;
12946 1.1.1.3 christos case 0xf0:
12947 1.1.1.3 christos goto op_semantics_114;
12948 1.1 christos break;
12949 1.1 christos }
12950 1.1 christos break;
12951 1.1.1.3 christos case 0xe4:
12952 1.1 christos GETBYTE ();
12953 1.1.1.3 christos switch (op[2] & 0xf0)
12954 1.1 christos {
12955 1.1 christos case 0x00:
12956 1.1.1.3 christos case 0x10:
12957 1.1.1.3 christos case 0x20:
12958 1.1.1.3 christos case 0x30:
12959 1.1.1.3 christos case 0x40:
12960 1.1.1.3 christos case 0x50:
12961 1.1.1.3 christos case 0x60:
12962 1.1.1.3 christos case 0x70:
12963 1.1.1.3 christos case 0x80:
12964 1.1.1.3 christos case 0x90:
12965 1.1.1.3 christos case 0xa0:
12966 1.1.1.3 christos case 0xb0:
12967 1.1.1.3 christos case 0xc0:
12968 1.1.1.3 christos case 0xd0:
12969 1.1.1.3 christos case 0xe0:
12970 1.1.1.3 christos goto op_semantics_113;
12971 1.1.1.3 christos break;
12972 1.1.1.3 christos case 0xf0:
12973 1.1.1.3 christos goto op_semantics_114;
12974 1.1 christos break;
12975 1.1 christos }
12976 1.1 christos break;
12977 1.1.1.3 christos case 0xe5:
12978 1.1 christos GETBYTE ();
12979 1.1.1.3 christos switch (op[2] & 0xf0)
12980 1.1 christos {
12981 1.1 christos case 0x00:
12982 1.1.1.3 christos case 0x10:
12983 1.1.1.3 christos case 0x20:
12984 1.1.1.3 christos case 0x30:
12985 1.1.1.3 christos case 0x40:
12986 1.1.1.3 christos case 0x50:
12987 1.1.1.3 christos case 0x60:
12988 1.1.1.3 christos case 0x70:
12989 1.1.1.3 christos case 0x80:
12990 1.1.1.3 christos case 0x90:
12991 1.1.1.3 christos case 0xa0:
12992 1.1.1.3 christos case 0xb0:
12993 1.1.1.3 christos case 0xc0:
12994 1.1.1.3 christos case 0xd0:
12995 1.1.1.3 christos case 0xe0:
12996 1.1.1.3 christos goto op_semantics_113;
12997 1.1.1.3 christos break;
12998 1.1.1.3 christos case 0xf0:
12999 1.1.1.3 christos goto op_semantics_114;
13000 1.1 christos break;
13001 1.1 christos }
13002 1.1 christos break;
13003 1.1.1.3 christos case 0xe6:
13004 1.1 christos GETBYTE ();
13005 1.1.1.3 christos switch (op[2] & 0xf0)
13006 1.1 christos {
13007 1.1 christos case 0x00:
13008 1.1.1.3 christos case 0x10:
13009 1.1.1.3 christos case 0x20:
13010 1.1.1.3 christos case 0x30:
13011 1.1.1.3 christos case 0x40:
13012 1.1.1.3 christos case 0x50:
13013 1.1.1.3 christos case 0x60:
13014 1.1.1.3 christos case 0x70:
13015 1.1.1.3 christos case 0x80:
13016 1.1.1.3 christos case 0x90:
13017 1.1.1.3 christos case 0xa0:
13018 1.1.1.3 christos case 0xb0:
13019 1.1.1.3 christos case 0xc0:
13020 1.1.1.3 christos case 0xd0:
13021 1.1.1.3 christos case 0xe0:
13022 1.1.1.3 christos goto op_semantics_113;
13023 1.1.1.3 christos break;
13024 1.1.1.3 christos case 0xf0:
13025 1.1.1.3 christos goto op_semantics_114;
13026 1.1 christos break;
13027 1.1 christos }
13028 1.1 christos break;
13029 1.1.1.3 christos case 0xe7:
13030 1.1 christos GETBYTE ();
13031 1.1.1.3 christos switch (op[2] & 0xf0)
13032 1.1 christos {
13033 1.1 christos case 0x00:
13034 1.1.1.3 christos case 0x10:
13035 1.1.1.3 christos case 0x20:
13036 1.1.1.3 christos case 0x30:
13037 1.1.1.3 christos case 0x40:
13038 1.1.1.3 christos case 0x50:
13039 1.1.1.3 christos case 0x60:
13040 1.1.1.3 christos case 0x70:
13041 1.1.1.3 christos case 0x80:
13042 1.1.1.3 christos case 0x90:
13043 1.1.1.3 christos case 0xa0:
13044 1.1.1.3 christos case 0xb0:
13045 1.1.1.3 christos case 0xc0:
13046 1.1.1.3 christos case 0xd0:
13047 1.1.1.3 christos case 0xe0:
13048 1.1.1.3 christos goto op_semantics_113;
13049 1.1.1.3 christos break;
13050 1.1.1.3 christos case 0xf0:
13051 1.1.1.3 christos goto op_semantics_114;
13052 1.1 christos break;
13053 1.1 christos }
13054 1.1 christos break;
13055 1.1.1.3 christos case 0xe8:
13056 1.1 christos GETBYTE ();
13057 1.1.1.3 christos switch (op[2] & 0xf0)
13058 1.1 christos {
13059 1.1 christos case 0x00:
13060 1.1.1.3 christos case 0x10:
13061 1.1.1.3 christos case 0x20:
13062 1.1.1.3 christos case 0x30:
13063 1.1.1.3 christos case 0x40:
13064 1.1.1.3 christos case 0x50:
13065 1.1.1.3 christos case 0x60:
13066 1.1.1.3 christos case 0x70:
13067 1.1.1.3 christos case 0x80:
13068 1.1.1.3 christos case 0x90:
13069 1.1.1.3 christos case 0xa0:
13070 1.1.1.3 christos case 0xb0:
13071 1.1.1.3 christos case 0xc0:
13072 1.1.1.3 christos case 0xd0:
13073 1.1.1.3 christos case 0xe0:
13074 1.1.1.3 christos goto op_semantics_113;
13075 1.1.1.3 christos break;
13076 1.1.1.3 christos case 0xf0:
13077 1.1.1.3 christos goto op_semantics_114;
13078 1.1 christos break;
13079 1.1 christos }
13080 1.1 christos break;
13081 1.1.1.3 christos case 0xe9:
13082 1.1 christos GETBYTE ();
13083 1.1.1.3 christos switch (op[2] & 0xf0)
13084 1.1 christos {
13085 1.1 christos case 0x00:
13086 1.1.1.3 christos case 0x10:
13087 1.1.1.3 christos case 0x20:
13088 1.1.1.3 christos case 0x30:
13089 1.1.1.3 christos case 0x40:
13090 1.1.1.3 christos case 0x50:
13091 1.1.1.3 christos case 0x60:
13092 1.1.1.3 christos case 0x70:
13093 1.1.1.3 christos case 0x80:
13094 1.1.1.3 christos case 0x90:
13095 1.1.1.3 christos case 0xa0:
13096 1.1.1.3 christos case 0xb0:
13097 1.1.1.3 christos case 0xc0:
13098 1.1.1.3 christos case 0xd0:
13099 1.1.1.3 christos case 0xe0:
13100 1.1.1.3 christos goto op_semantics_113;
13101 1.1.1.3 christos break;
13102 1.1.1.3 christos case 0xf0:
13103 1.1.1.3 christos goto op_semantics_114;
13104 1.1 christos break;
13105 1.1 christos }
13106 1.1 christos break;
13107 1.1.1.3 christos case 0xea:
13108 1.1 christos GETBYTE ();
13109 1.1.1.3 christos switch (op[2] & 0xf0)
13110 1.1 christos {
13111 1.1 christos case 0x00:
13112 1.1.1.3 christos case 0x10:
13113 1.1.1.3 christos case 0x20:
13114 1.1.1.3 christos case 0x30:
13115 1.1.1.3 christos case 0x40:
13116 1.1.1.3 christos case 0x50:
13117 1.1.1.3 christos case 0x60:
13118 1.1.1.3 christos case 0x70:
13119 1.1.1.3 christos case 0x80:
13120 1.1.1.3 christos case 0x90:
13121 1.1.1.3 christos case 0xa0:
13122 1.1.1.3 christos case 0xb0:
13123 1.1.1.3 christos case 0xc0:
13124 1.1.1.3 christos case 0xd0:
13125 1.1.1.3 christos case 0xe0:
13126 1.1.1.3 christos goto op_semantics_113;
13127 1.1.1.3 christos break;
13128 1.1.1.3 christos case 0xf0:
13129 1.1.1.3 christos goto op_semantics_114;
13130 1.1 christos break;
13131 1.1 christos }
13132 1.1 christos break;
13133 1.1.1.3 christos case 0xeb:
13134 1.1 christos GETBYTE ();
13135 1.1.1.3 christos switch (op[2] & 0xf0)
13136 1.1 christos {
13137 1.1 christos case 0x00:
13138 1.1.1.3 christos case 0x10:
13139 1.1.1.3 christos case 0x20:
13140 1.1.1.3 christos case 0x30:
13141 1.1.1.3 christos case 0x40:
13142 1.1.1.3 christos case 0x50:
13143 1.1.1.3 christos case 0x60:
13144 1.1.1.3 christos case 0x70:
13145 1.1.1.3 christos case 0x80:
13146 1.1.1.3 christos case 0x90:
13147 1.1.1.3 christos case 0xa0:
13148 1.1.1.3 christos case 0xb0:
13149 1.1.1.3 christos case 0xc0:
13150 1.1.1.3 christos case 0xd0:
13151 1.1.1.3 christos case 0xe0:
13152 1.1.1.3 christos goto op_semantics_113;
13153 1.1.1.3 christos break;
13154 1.1.1.3 christos case 0xf0:
13155 1.1.1.3 christos goto op_semantics_114;
13156 1.1 christos break;
13157 1.1 christos }
13158 1.1 christos break;
13159 1.1.1.3 christos case 0xec:
13160 1.1 christos GETBYTE ();
13161 1.1.1.3 christos switch (op[2] & 0xf0)
13162 1.1 christos {
13163 1.1 christos case 0x00:
13164 1.1.1.3 christos case 0x10:
13165 1.1.1.3 christos case 0x20:
13166 1.1.1.3 christos case 0x30:
13167 1.1.1.3 christos case 0x40:
13168 1.1.1.3 christos case 0x50:
13169 1.1.1.3 christos case 0x60:
13170 1.1.1.3 christos case 0x70:
13171 1.1.1.3 christos case 0x80:
13172 1.1.1.3 christos case 0x90:
13173 1.1.1.3 christos case 0xa0:
13174 1.1.1.3 christos case 0xb0:
13175 1.1.1.3 christos case 0xc0:
13176 1.1.1.3 christos case 0xd0:
13177 1.1.1.3 christos case 0xe0:
13178 1.1.1.3 christos goto op_semantics_113;
13179 1.1.1.3 christos break;
13180 1.1.1.3 christos case 0xf0:
13181 1.1.1.3 christos goto op_semantics_114;
13182 1.1 christos break;
13183 1.1 christos }
13184 1.1 christos break;
13185 1.1.1.3 christos case 0xed:
13186 1.1 christos GETBYTE ();
13187 1.1.1.3 christos switch (op[2] & 0xf0)
13188 1.1 christos {
13189 1.1 christos case 0x00:
13190 1.1.1.3 christos case 0x10:
13191 1.1.1.3 christos case 0x20:
13192 1.1.1.3 christos case 0x30:
13193 1.1.1.3 christos case 0x40:
13194 1.1.1.3 christos case 0x50:
13195 1.1.1.3 christos case 0x60:
13196 1.1.1.3 christos case 0x70:
13197 1.1.1.3 christos case 0x80:
13198 1.1.1.3 christos case 0x90:
13199 1.1.1.3 christos case 0xa0:
13200 1.1.1.3 christos case 0xb0:
13201 1.1.1.3 christos case 0xc0:
13202 1.1.1.3 christos case 0xd0:
13203 1.1.1.3 christos case 0xe0:
13204 1.1.1.3 christos goto op_semantics_113;
13205 1.1 christos break;
13206 1.1.1.3 christos case 0xf0:
13207 1.1.1.3 christos goto op_semantics_114;
13208 1.1 christos break;
13209 1.1 christos }
13210 1.1 christos break;
13211 1.1.1.3 christos case 0xee:
13212 1.1 christos GETBYTE ();
13213 1.1.1.3 christos switch (op[2] & 0xf0)
13214 1.1 christos {
13215 1.1 christos case 0x00:
13216 1.1.1.3 christos case 0x10:
13217 1.1.1.3 christos case 0x20:
13218 1.1.1.3 christos case 0x30:
13219 1.1.1.3 christos case 0x40:
13220 1.1.1.3 christos case 0x50:
13221 1.1.1.3 christos case 0x60:
13222 1.1.1.3 christos case 0x70:
13223 1.1.1.3 christos case 0x80:
13224 1.1.1.3 christos case 0x90:
13225 1.1.1.3 christos case 0xa0:
13226 1.1.1.3 christos case 0xb0:
13227 1.1.1.3 christos case 0xc0:
13228 1.1.1.3 christos case 0xd0:
13229 1.1.1.3 christos case 0xe0:
13230 1.1.1.3 christos goto op_semantics_113;
13231 1.1.1.3 christos break;
13232 1.1.1.3 christos case 0xf0:
13233 1.1.1.3 christos goto op_semantics_114;
13234 1.1 christos break;
13235 1.1 christos }
13236 1.1 christos break;
13237 1.1.1.3 christos case 0xef:
13238 1.1 christos GETBYTE ();
13239 1.1.1.3 christos switch (op[2] & 0xf0)
13240 1.1 christos {
13241 1.1 christos case 0x00:
13242 1.1.1.3 christos case 0x10:
13243 1.1.1.3 christos case 0x20:
13244 1.1.1.3 christos case 0x30:
13245 1.1.1.3 christos case 0x40:
13246 1.1.1.3 christos case 0x50:
13247 1.1.1.3 christos case 0x60:
13248 1.1.1.3 christos case 0x70:
13249 1.1.1.3 christos case 0x80:
13250 1.1.1.3 christos case 0x90:
13251 1.1.1.3 christos case 0xa0:
13252 1.1.1.3 christos case 0xb0:
13253 1.1.1.3 christos case 0xc0:
13254 1.1.1.3 christos case 0xd0:
13255 1.1.1.3 christos case 0xe0:
13256 1.1.1.3 christos goto op_semantics_113;
13257 1.1.1.3 christos break;
13258 1.1.1.3 christos case 0xf0:
13259 1.1.1.3 christos goto op_semantics_114;
13260 1.1 christos break;
13261 1.1 christos }
13262 1.1 christos break;
13263 1.1.1.3 christos case 0xf0:
13264 1.1 christos GETBYTE ();
13265 1.1.1.3 christos switch (op[2] & 0xf0)
13266 1.1 christos {
13267 1.1 christos case 0x00:
13268 1.1.1.3 christos case 0x10:
13269 1.1.1.3 christos case 0x20:
13270 1.1.1.3 christos case 0x30:
13271 1.1.1.3 christos case 0x40:
13272 1.1.1.3 christos case 0x50:
13273 1.1.1.3 christos case 0x60:
13274 1.1.1.3 christos case 0x70:
13275 1.1.1.3 christos case 0x80:
13276 1.1.1.3 christos case 0x90:
13277 1.1.1.3 christos case 0xa0:
13278 1.1.1.3 christos case 0xb0:
13279 1.1.1.3 christos case 0xc0:
13280 1.1.1.3 christos case 0xd0:
13281 1.1.1.3 christos case 0xe0:
13282 1.1.1.3 christos goto op_semantics_113;
13283 1.1.1.3 christos break;
13284 1.1.1.3 christos case 0xf0:
13285 1.1.1.3 christos goto op_semantics_114;
13286 1.1 christos break;
13287 1.1 christos }
13288 1.1 christos break;
13289 1.1.1.3 christos case 0xf1:
13290 1.1 christos GETBYTE ();
13291 1.1.1.3 christos switch (op[2] & 0xf0)
13292 1.1 christos {
13293 1.1 christos case 0x00:
13294 1.1.1.3 christos case 0x10:
13295 1.1.1.3 christos case 0x20:
13296 1.1.1.3 christos case 0x30:
13297 1.1.1.3 christos case 0x40:
13298 1.1.1.3 christos case 0x50:
13299 1.1.1.3 christos case 0x60:
13300 1.1.1.3 christos case 0x70:
13301 1.1.1.3 christos case 0x80:
13302 1.1.1.3 christos case 0x90:
13303 1.1.1.3 christos case 0xa0:
13304 1.1.1.3 christos case 0xb0:
13305 1.1.1.3 christos case 0xc0:
13306 1.1.1.3 christos case 0xd0:
13307 1.1.1.3 christos case 0xe0:
13308 1.1.1.3 christos goto op_semantics_113;
13309 1.1.1.3 christos break;
13310 1.1.1.3 christos case 0xf0:
13311 1.1.1.3 christos goto op_semantics_114;
13312 1.1 christos break;
13313 1.1 christos }
13314 1.1 christos break;
13315 1.1.1.3 christos case 0xf2:
13316 1.1 christos GETBYTE ();
13317 1.1.1.3 christos switch (op[2] & 0xf0)
13318 1.1 christos {
13319 1.1 christos case 0x00:
13320 1.1.1.3 christos case 0x10:
13321 1.1.1.3 christos case 0x20:
13322 1.1.1.3 christos case 0x30:
13323 1.1.1.3 christos case 0x40:
13324 1.1.1.3 christos case 0x50:
13325 1.1.1.3 christos case 0x60:
13326 1.1.1.3 christos case 0x70:
13327 1.1.1.3 christos case 0x80:
13328 1.1.1.3 christos case 0x90:
13329 1.1.1.3 christos case 0xa0:
13330 1.1.1.3 christos case 0xb0:
13331 1.1.1.3 christos case 0xc0:
13332 1.1.1.3 christos case 0xd0:
13333 1.1.1.3 christos case 0xe0:
13334 1.1.1.3 christos goto op_semantics_113;
13335 1.1.1.3 christos break;
13336 1.1.1.3 christos case 0xf0:
13337 1.1.1.3 christos goto op_semantics_114;
13338 1.1 christos break;
13339 1.1 christos }
13340 1.1 christos break;
13341 1.1.1.3 christos case 0xf3:
13342 1.1 christos GETBYTE ();
13343 1.1.1.3 christos switch (op[2] & 0xf0)
13344 1.1 christos {
13345 1.1 christos case 0x00:
13346 1.1.1.3 christos case 0x10:
13347 1.1.1.3 christos case 0x20:
13348 1.1.1.3 christos case 0x30:
13349 1.1.1.3 christos case 0x40:
13350 1.1.1.3 christos case 0x50:
13351 1.1.1.3 christos case 0x60:
13352 1.1.1.3 christos case 0x70:
13353 1.1.1.3 christos case 0x80:
13354 1.1.1.3 christos case 0x90:
13355 1.1.1.3 christos case 0xa0:
13356 1.1.1.3 christos case 0xb0:
13357 1.1.1.3 christos case 0xc0:
13358 1.1.1.3 christos case 0xd0:
13359 1.1.1.3 christos case 0xe0:
13360 1.1.1.3 christos goto op_semantics_113;
13361 1.1.1.3 christos break;
13362 1.1.1.3 christos case 0xf0:
13363 1.1.1.3 christos goto op_semantics_114;
13364 1.1 christos break;
13365 1.1 christos }
13366 1.1 christos break;
13367 1.1.1.3 christos case 0xf4:
13368 1.1 christos GETBYTE ();
13369 1.1.1.3 christos switch (op[2] & 0xf0)
13370 1.1 christos {
13371 1.1 christos case 0x00:
13372 1.1.1.3 christos case 0x10:
13373 1.1.1.3 christos case 0x20:
13374 1.1.1.3 christos case 0x30:
13375 1.1.1.3 christos case 0x40:
13376 1.1.1.3 christos case 0x50:
13377 1.1.1.3 christos case 0x60:
13378 1.1.1.3 christos case 0x70:
13379 1.1.1.3 christos case 0x80:
13380 1.1.1.3 christos case 0x90:
13381 1.1.1.3 christos case 0xa0:
13382 1.1.1.3 christos case 0xb0:
13383 1.1.1.3 christos case 0xc0:
13384 1.1.1.3 christos case 0xd0:
13385 1.1.1.3 christos case 0xe0:
13386 1.1.1.3 christos goto op_semantics_113;
13387 1.1.1.3 christos break;
13388 1.1.1.3 christos case 0xf0:
13389 1.1.1.3 christos goto op_semantics_114;
13390 1.1 christos break;
13391 1.1 christos }
13392 1.1 christos break;
13393 1.1.1.3 christos case 0xf5:
13394 1.1 christos GETBYTE ();
13395 1.1.1.3 christos switch (op[2] & 0xf0)
13396 1.1 christos {
13397 1.1 christos case 0x00:
13398 1.1.1.3 christos case 0x10:
13399 1.1.1.3 christos case 0x20:
13400 1.1.1.3 christos case 0x30:
13401 1.1.1.3 christos case 0x40:
13402 1.1.1.3 christos case 0x50:
13403 1.1.1.3 christos case 0x60:
13404 1.1.1.3 christos case 0x70:
13405 1.1.1.3 christos case 0x80:
13406 1.1.1.3 christos case 0x90:
13407 1.1.1.3 christos case 0xa0:
13408 1.1.1.3 christos case 0xb0:
13409 1.1.1.3 christos case 0xc0:
13410 1.1.1.3 christos case 0xd0:
13411 1.1.1.3 christos case 0xe0:
13412 1.1.1.3 christos goto op_semantics_113;
13413 1.1.1.3 christos break;
13414 1.1.1.3 christos case 0xf0:
13415 1.1.1.3 christos goto op_semantics_114;
13416 1.1 christos break;
13417 1.1 christos }
13418 1.1 christos break;
13419 1.1.1.3 christos case 0xf6:
13420 1.1 christos GETBYTE ();
13421 1.1.1.3 christos switch (op[2] & 0xf0)
13422 1.1 christos {
13423 1.1 christos case 0x00:
13424 1.1.1.3 christos case 0x10:
13425 1.1.1.3 christos case 0x20:
13426 1.1.1.3 christos case 0x30:
13427 1.1.1.3 christos case 0x40:
13428 1.1.1.3 christos case 0x50:
13429 1.1.1.3 christos case 0x60:
13430 1.1.1.3 christos case 0x70:
13431 1.1.1.3 christos case 0x80:
13432 1.1.1.3 christos case 0x90:
13433 1.1.1.3 christos case 0xa0:
13434 1.1.1.3 christos case 0xb0:
13435 1.1.1.3 christos case 0xc0:
13436 1.1.1.3 christos case 0xd0:
13437 1.1.1.3 christos case 0xe0:
13438 1.1.1.3 christos goto op_semantics_113;
13439 1.1.1.3 christos break;
13440 1.1.1.3 christos case 0xf0:
13441 1.1.1.3 christos goto op_semantics_114;
13442 1.1 christos break;
13443 1.1 christos }
13444 1.1 christos break;
13445 1.1.1.3 christos case 0xf7:
13446 1.1 christos GETBYTE ();
13447 1.1.1.3 christos switch (op[2] & 0xf0)
13448 1.1 christos {
13449 1.1 christos case 0x00:
13450 1.1.1.3 christos case 0x10:
13451 1.1.1.3 christos case 0x20:
13452 1.1.1.3 christos case 0x30:
13453 1.1.1.3 christos case 0x40:
13454 1.1.1.3 christos case 0x50:
13455 1.1.1.3 christos case 0x60:
13456 1.1.1.3 christos case 0x70:
13457 1.1.1.3 christos case 0x80:
13458 1.1.1.3 christos case 0x90:
13459 1.1.1.3 christos case 0xa0:
13460 1.1.1.3 christos case 0xb0:
13461 1.1.1.3 christos case 0xc0:
13462 1.1.1.3 christos case 0xd0:
13463 1.1.1.3 christos case 0xe0:
13464 1.1.1.3 christos goto op_semantics_113;
13465 1.1.1.3 christos break;
13466 1.1.1.3 christos case 0xf0:
13467 1.1.1.3 christos goto op_semantics_114;
13468 1.1 christos break;
13469 1.1 christos }
13470 1.1 christos break;
13471 1.1.1.3 christos case 0xf8:
13472 1.1 christos GETBYTE ();
13473 1.1.1.3 christos switch (op[2] & 0xf0)
13474 1.1 christos {
13475 1.1 christos case 0x00:
13476 1.1.1.3 christos case 0x10:
13477 1.1.1.3 christos case 0x20:
13478 1.1.1.3 christos case 0x30:
13479 1.1.1.3 christos case 0x40:
13480 1.1.1.3 christos case 0x50:
13481 1.1.1.3 christos case 0x60:
13482 1.1.1.3 christos case 0x70:
13483 1.1.1.3 christos case 0x80:
13484 1.1.1.3 christos case 0x90:
13485 1.1.1.3 christos case 0xa0:
13486 1.1.1.3 christos case 0xb0:
13487 1.1.1.3 christos case 0xc0:
13488 1.1.1.3 christos case 0xd0:
13489 1.1.1.3 christos case 0xe0:
13490 1.1.1.3 christos goto op_semantics_113;
13491 1.1.1.3 christos break;
13492 1.1.1.3 christos case 0xf0:
13493 1.1.1.3 christos goto op_semantics_114;
13494 1.1 christos break;
13495 1.1 christos }
13496 1.1 christos break;
13497 1.1.1.3 christos case 0xf9:
13498 1.1 christos GETBYTE ();
13499 1.1.1.3 christos switch (op[2] & 0xf0)
13500 1.1 christos {
13501 1.1 christos case 0x00:
13502 1.1.1.3 christos case 0x10:
13503 1.1.1.3 christos case 0x20:
13504 1.1.1.3 christos case 0x30:
13505 1.1.1.3 christos case 0x40:
13506 1.1.1.3 christos case 0x50:
13507 1.1.1.3 christos case 0x60:
13508 1.1.1.3 christos case 0x70:
13509 1.1.1.3 christos case 0x80:
13510 1.1.1.3 christos case 0x90:
13511 1.1.1.3 christos case 0xa0:
13512 1.1.1.3 christos case 0xb0:
13513 1.1.1.3 christos case 0xc0:
13514 1.1.1.3 christos case 0xd0:
13515 1.1.1.3 christos case 0xe0:
13516 1.1.1.3 christos goto op_semantics_113;
13517 1.1.1.3 christos break;
13518 1.1.1.3 christos case 0xf0:
13519 1.1.1.3 christos goto op_semantics_114;
13520 1.1 christos break;
13521 1.1 christos }
13522 1.1 christos break;
13523 1.1.1.3 christos case 0xfa:
13524 1.1 christos GETBYTE ();
13525 1.1.1.3 christos switch (op[2] & 0xf0)
13526 1.1 christos {
13527 1.1 christos case 0x00:
13528 1.1.1.3 christos case 0x10:
13529 1.1.1.3 christos case 0x20:
13530 1.1.1.3 christos case 0x30:
13531 1.1.1.3 christos case 0x40:
13532 1.1.1.3 christos case 0x50:
13533 1.1.1.3 christos case 0x60:
13534 1.1.1.3 christos case 0x70:
13535 1.1.1.3 christos case 0x80:
13536 1.1.1.3 christos case 0x90:
13537 1.1.1.3 christos case 0xa0:
13538 1.1.1.3 christos case 0xb0:
13539 1.1.1.3 christos case 0xc0:
13540 1.1.1.3 christos case 0xd0:
13541 1.1.1.3 christos case 0xe0:
13542 1.1.1.3 christos goto op_semantics_113;
13543 1.1.1.3 christos break;
13544 1.1.1.3 christos case 0xf0:
13545 1.1.1.3 christos goto op_semantics_114;
13546 1.1 christos break;
13547 1.1 christos }
13548 1.1 christos break;
13549 1.1.1.3 christos case 0xfb:
13550 1.1 christos GETBYTE ();
13551 1.1.1.3 christos switch (op[2] & 0xf0)
13552 1.1 christos {
13553 1.1 christos case 0x00:
13554 1.1.1.3 christos case 0x10:
13555 1.1.1.3 christos case 0x20:
13556 1.1.1.3 christos case 0x30:
13557 1.1.1.3 christos case 0x40:
13558 1.1.1.3 christos case 0x50:
13559 1.1.1.3 christos case 0x60:
13560 1.1.1.3 christos case 0x70:
13561 1.1.1.3 christos case 0x80:
13562 1.1.1.3 christos case 0x90:
13563 1.1.1.3 christos case 0xa0:
13564 1.1.1.3 christos case 0xb0:
13565 1.1.1.3 christos case 0xc0:
13566 1.1.1.3 christos case 0xd0:
13567 1.1.1.3 christos case 0xe0:
13568 1.1.1.3 christos goto op_semantics_113;
13569 1.1.1.3 christos break;
13570 1.1.1.3 christos case 0xf0:
13571 1.1.1.3 christos goto op_semantics_114;
13572 1.1 christos break;
13573 1.1 christos }
13574 1.1 christos break;
13575 1.1.1.3 christos case 0xfc:
13576 1.1 christos GETBYTE ();
13577 1.1 christos switch (op[2] & 0xf0)
13578 1.1 christos {
13579 1.1 christos case 0x00:
13580 1.1 christos case 0x10:
13581 1.1 christos case 0x20:
13582 1.1 christos case 0x30:
13583 1.1 christos case 0x40:
13584 1.1 christos case 0x50:
13585 1.1 christos case 0x60:
13586 1.1 christos case 0x70:
13587 1.1 christos case 0x80:
13588 1.1 christos case 0x90:
13589 1.1 christos case 0xa0:
13590 1.1 christos case 0xb0:
13591 1.1 christos case 0xc0:
13592 1.1 christos case 0xd0:
13593 1.1 christos case 0xe0:
13594 1.1.1.3 christos goto op_semantics_113;
13595 1.1 christos break;
13596 1.1 christos case 0xf0:
13597 1.1.1.3 christos goto op_semantics_114;
13598 1.1 christos break;
13599 1.1 christos }
13600 1.1 christos break;
13601 1.1.1.3 christos case 0xfd:
13602 1.1 christos GETBYTE ();
13603 1.1 christos switch (op[2] & 0xf0)
13604 1.1 christos {
13605 1.1 christos case 0x00:
13606 1.1 christos case 0x10:
13607 1.1 christos case 0x20:
13608 1.1 christos case 0x30:
13609 1.1 christos case 0x40:
13610 1.1 christos case 0x50:
13611 1.1 christos case 0x60:
13612 1.1 christos case 0x70:
13613 1.1 christos case 0x80:
13614 1.1 christos case 0x90:
13615 1.1 christos case 0xa0:
13616 1.1 christos case 0xb0:
13617 1.1 christos case 0xc0:
13618 1.1 christos case 0xd0:
13619 1.1 christos case 0xe0:
13620 1.1.1.3 christos goto op_semantics_113;
13621 1.1 christos break;
13622 1.1 christos case 0xf0:
13623 1.1.1.3 christos goto op_semantics_114;
13624 1.1 christos break;
13625 1.1 christos }
13626 1.1 christos break;
13627 1.1.1.3 christos case 0xfe:
13628 1.1 christos GETBYTE ();
13629 1.1 christos switch (op[2] & 0xf0)
13630 1.1 christos {
13631 1.1 christos case 0x00:
13632 1.1 christos case 0x10:
13633 1.1 christos case 0x20:
13634 1.1 christos case 0x30:
13635 1.1 christos case 0x40:
13636 1.1 christos case 0x50:
13637 1.1 christos case 0x60:
13638 1.1 christos case 0x70:
13639 1.1 christos case 0x80:
13640 1.1 christos case 0x90:
13641 1.1 christos case 0xa0:
13642 1.1 christos case 0xb0:
13643 1.1 christos case 0xc0:
13644 1.1 christos case 0xd0:
13645 1.1 christos case 0xe0:
13646 1.1.1.3 christos goto op_semantics_113;
13647 1.1 christos break;
13648 1.1 christos case 0xf0:
13649 1.1.1.3 christos goto op_semantics_114;
13650 1.1 christos break;
13651 1.1 christos }
13652 1.1 christos break;
13653 1.1.1.3 christos case 0xff:
13654 1.1 christos GETBYTE ();
13655 1.1 christos switch (op[2] & 0xf0)
13656 1.1 christos {
13657 1.1 christos case 0x00:
13658 1.1 christos case 0x10:
13659 1.1 christos case 0x20:
13660 1.1 christos case 0x30:
13661 1.1 christos case 0x40:
13662 1.1 christos case 0x50:
13663 1.1 christos case 0x60:
13664 1.1 christos case 0x70:
13665 1.1 christos case 0x80:
13666 1.1 christos case 0x90:
13667 1.1 christos case 0xa0:
13668 1.1 christos case 0xb0:
13669 1.1 christos case 0xc0:
13670 1.1 christos case 0xd0:
13671 1.1 christos case 0xe0:
13672 1.1.1.3 christos goto op_semantics_113;
13673 1.1 christos break;
13674 1.1 christos case 0xf0:
13675 1.1.1.3 christos goto op_semantics_114;
13676 1.1.1.3 christos break;
13677 1.1.1.3 christos }
13678 1.1.1.3 christos break;
13679 1.1.1.3 christos default: UNSUPPORTED(); break;
13680 1.1.1.3 christos }
13681 1.1.1.3 christos break;
13682 1.1.1.3 christos case 0xfe:
13683 1.1.1.3 christos GETBYTE ();
13684 1.1.1.3 christos switch (op[1] & 0xff)
13685 1.1.1.3 christos {
13686 1.1.1.3 christos case 0x00:
13687 1.1.1.3 christos GETBYTE ();
13688 1.1.1.3 christos switch (op[2] & 0x00)
13689 1.1.1.3 christos {
13690 1.1.1.3 christos case 0x00:
13691 1.1.1.3 christos op_semantics_115:
13692 1.1.1.3 christos {
13693 1.1.1.3 christos /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
13694 1.1.1.3 christos #line 338 "rx-decode.opc"
13695 1.1.1.3 christos int sz AU = (op[1] >> 4) & 0x03;
13696 1.1.1.3 christos #line 338 "rx-decode.opc"
13697 1.1.1.3 christos int isrc AU = op[1] & 0x0f;
13698 1.1.1.3 christos #line 338 "rx-decode.opc"
13699 1.1.1.3 christos int bsrc AU = (op[2] >> 4) & 0x0f;
13700 1.1.1.3 christos #line 338 "rx-decode.opc"
13701 1.1.1.3 christos int rdst AU = op[2] & 0x0f;
13702 1.1.1.3 christos if (trace)
13703 1.1.1.3 christos {
13704 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
13705 1.1.1.3 christos "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
13706 1.1.1.3 christos op[0], op[1], op[2]);
13707 1.1.1.3 christos printf (" sz = 0x%x,", sz);
13708 1.1.1.3 christos printf (" isrc = 0x%x,", isrc);
13709 1.1.1.3 christos printf (" bsrc = 0x%x,", bsrc);
13710 1.1.1.3 christos printf (" rdst = 0x%x\n", rdst);
13711 1.1.1.3 christos }
13712 1.1.1.3 christos SYNTAX("mov%s %0, [%1, %2]");
13713 1.1.1.3 christos #line 338 "rx-decode.opc"
13714 1.1.1.3 christos ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
13715 1.1.1.3 christos
13716 1.1.1.3 christos }
13717 1.1.1.3 christos break;
13718 1.1.1.3 christos }
13719 1.1.1.3 christos break;
13720 1.1.1.3 christos case 0x01:
13721 1.1.1.3 christos GETBYTE ();
13722 1.1.1.3 christos switch (op[2] & 0x00)
13723 1.1.1.3 christos {
13724 1.1.1.3 christos case 0x00:
13725 1.1.1.3 christos goto op_semantics_115;
13726 1.1.1.3 christos break;
13727 1.1.1.3 christos }
13728 1.1.1.3 christos break;
13729 1.1.1.3 christos case 0x02:
13730 1.1.1.3 christos GETBYTE ();
13731 1.1.1.3 christos switch (op[2] & 0x00)
13732 1.1.1.3 christos {
13733 1.1.1.3 christos case 0x00:
13734 1.1.1.3 christos goto op_semantics_115;
13735 1.1.1.3 christos break;
13736 1.1.1.3 christos }
13737 1.1.1.3 christos break;
13738 1.1.1.3 christos case 0x03:
13739 1.1.1.3 christos GETBYTE ();
13740 1.1.1.3 christos switch (op[2] & 0x00)
13741 1.1.1.3 christos {
13742 1.1.1.3 christos case 0x00:
13743 1.1.1.3 christos goto op_semantics_115;
13744 1.1.1.3 christos break;
13745 1.1.1.3 christos }
13746 1.1.1.3 christos break;
13747 1.1.1.3 christos case 0x04:
13748 1.1.1.3 christos GETBYTE ();
13749 1.1.1.3 christos switch (op[2] & 0x00)
13750 1.1.1.3 christos {
13751 1.1.1.3 christos case 0x00:
13752 1.1.1.3 christos goto op_semantics_115;
13753 1.1.1.3 christos break;
13754 1.1.1.3 christos }
13755 1.1.1.3 christos break;
13756 1.1.1.3 christos case 0x05:
13757 1.1.1.3 christos GETBYTE ();
13758 1.1.1.3 christos switch (op[2] & 0x00)
13759 1.1.1.3 christos {
13760 1.1.1.3 christos case 0x00:
13761 1.1.1.3 christos goto op_semantics_115;
13762 1.1.1.3 christos break;
13763 1.1.1.3 christos }
13764 1.1.1.3 christos break;
13765 1.1.1.3 christos case 0x06:
13766 1.1.1.3 christos GETBYTE ();
13767 1.1.1.3 christos switch (op[2] & 0x00)
13768 1.1.1.3 christos {
13769 1.1.1.3 christos case 0x00:
13770 1.1.1.3 christos goto op_semantics_115;
13771 1.1.1.3 christos break;
13772 1.1.1.3 christos }
13773 1.1.1.3 christos break;
13774 1.1.1.3 christos case 0x07:
13775 1.1.1.3 christos GETBYTE ();
13776 1.1.1.3 christos switch (op[2] & 0x00)
13777 1.1.1.3 christos {
13778 1.1.1.3 christos case 0x00:
13779 1.1.1.3 christos goto op_semantics_115;
13780 1.1.1.3 christos break;
13781 1.1.1.3 christos }
13782 1.1.1.3 christos break;
13783 1.1.1.3 christos case 0x08:
13784 1.1.1.3 christos GETBYTE ();
13785 1.1.1.3 christos switch (op[2] & 0x00)
13786 1.1.1.3 christos {
13787 1.1.1.3 christos case 0x00:
13788 1.1.1.3 christos goto op_semantics_115;
13789 1.1.1.3 christos break;
13790 1.1.1.3 christos }
13791 1.1.1.3 christos break;
13792 1.1.1.3 christos case 0x09:
13793 1.1.1.3 christos GETBYTE ();
13794 1.1.1.3 christos switch (op[2] & 0x00)
13795 1.1.1.3 christos {
13796 1.1.1.3 christos case 0x00:
13797 1.1.1.3 christos goto op_semantics_115;
13798 1.1.1.3 christos break;
13799 1.1.1.3 christos }
13800 1.1.1.3 christos break;
13801 1.1.1.3 christos case 0x0a:
13802 1.1.1.3 christos GETBYTE ();
13803 1.1.1.3 christos switch (op[2] & 0x00)
13804 1.1.1.3 christos {
13805 1.1.1.3 christos case 0x00:
13806 1.1.1.3 christos goto op_semantics_115;
13807 1.1.1.3 christos break;
13808 1.1.1.3 christos }
13809 1.1.1.3 christos break;
13810 1.1.1.3 christos case 0x0b:
13811 1.1.1.3 christos GETBYTE ();
13812 1.1.1.3 christos switch (op[2] & 0x00)
13813 1.1.1.3 christos {
13814 1.1.1.3 christos case 0x00:
13815 1.1.1.3 christos goto op_semantics_115;
13816 1.1.1.3 christos break;
13817 1.1.1.3 christos }
13818 1.1.1.3 christos break;
13819 1.1.1.3 christos case 0x0c:
13820 1.1.1.3 christos GETBYTE ();
13821 1.1.1.3 christos switch (op[2] & 0x00)
13822 1.1.1.3 christos {
13823 1.1.1.3 christos case 0x00:
13824 1.1.1.3 christos goto op_semantics_115;
13825 1.1.1.3 christos break;
13826 1.1.1.3 christos }
13827 1.1.1.3 christos break;
13828 1.1.1.3 christos case 0x0d:
13829 1.1.1.3 christos GETBYTE ();
13830 1.1.1.3 christos switch (op[2] & 0x00)
13831 1.1.1.3 christos {
13832 1.1.1.3 christos case 0x00:
13833 1.1.1.3 christos goto op_semantics_115;
13834 1.1 christos break;
13835 1.1 christos }
13836 1.1 christos break;
13837 1.1.1.3 christos case 0x0e:
13838 1.1 christos GETBYTE ();
13839 1.1.1.3 christos switch (op[2] & 0x00)
13840 1.1 christos {
13841 1.1 christos case 0x00:
13842 1.1.1.3 christos goto op_semantics_115;
13843 1.1 christos break;
13844 1.1 christos }
13845 1.1 christos break;
13846 1.1.1.3 christos case 0x0f:
13847 1.1 christos GETBYTE ();
13848 1.1.1.3 christos switch (op[2] & 0x00)
13849 1.1 christos {
13850 1.1 christos case 0x00:
13851 1.1.1.3 christos goto op_semantics_115;
13852 1.1 christos break;
13853 1.1 christos }
13854 1.1 christos break;
13855 1.1.1.3 christos case 0x10:
13856 1.1 christos GETBYTE ();
13857 1.1.1.3 christos switch (op[2] & 0x00)
13858 1.1 christos {
13859 1.1 christos case 0x00:
13860 1.1.1.3 christos goto op_semantics_115;
13861 1.1 christos break;
13862 1.1 christos }
13863 1.1 christos break;
13864 1.1.1.3 christos case 0x11:
13865 1.1 christos GETBYTE ();
13866 1.1.1.3 christos switch (op[2] & 0x00)
13867 1.1 christos {
13868 1.1 christos case 0x00:
13869 1.1.1.3 christos goto op_semantics_115;
13870 1.1 christos break;
13871 1.1 christos }
13872 1.1 christos break;
13873 1.1.1.3 christos case 0x12:
13874 1.1 christos GETBYTE ();
13875 1.1.1.3 christos switch (op[2] & 0x00)
13876 1.1 christos {
13877 1.1 christos case 0x00:
13878 1.1.1.3 christos goto op_semantics_115;
13879 1.1 christos break;
13880 1.1 christos }
13881 1.1 christos break;
13882 1.1.1.3 christos case 0x13:
13883 1.1 christos GETBYTE ();
13884 1.1.1.3 christos switch (op[2] & 0x00)
13885 1.1 christos {
13886 1.1 christos case 0x00:
13887 1.1.1.3 christos goto op_semantics_115;
13888 1.1 christos break;
13889 1.1 christos }
13890 1.1 christos break;
13891 1.1.1.3 christos case 0x14:
13892 1.1 christos GETBYTE ();
13893 1.1.1.3 christos switch (op[2] & 0x00)
13894 1.1 christos {
13895 1.1 christos case 0x00:
13896 1.1.1.3 christos goto op_semantics_115;
13897 1.1 christos break;
13898 1.1 christos }
13899 1.1 christos break;
13900 1.1.1.3 christos case 0x15:
13901 1.1 christos GETBYTE ();
13902 1.1.1.3 christos switch (op[2] & 0x00)
13903 1.1 christos {
13904 1.1 christos case 0x00:
13905 1.1.1.3 christos goto op_semantics_115;
13906 1.1 christos break;
13907 1.1 christos }
13908 1.1 christos break;
13909 1.1.1.3 christos case 0x16:
13910 1.1 christos GETBYTE ();
13911 1.1.1.3 christos switch (op[2] & 0x00)
13912 1.1 christos {
13913 1.1 christos case 0x00:
13914 1.1.1.3 christos goto op_semantics_115;
13915 1.1 christos break;
13916 1.1 christos }
13917 1.1 christos break;
13918 1.1.1.3 christos case 0x17:
13919 1.1 christos GETBYTE ();
13920 1.1.1.3 christos switch (op[2] & 0x00)
13921 1.1 christos {
13922 1.1 christos case 0x00:
13923 1.1.1.3 christos goto op_semantics_115;
13924 1.1 christos break;
13925 1.1.1.3 christos }
13926 1.1.1.3 christos break;
13927 1.1.1.3 christos case 0x18:
13928 1.1.1.3 christos GETBYTE ();
13929 1.1.1.3 christos switch (op[2] & 0x00)
13930 1.1.1.3 christos {
13931 1.1.1.3 christos case 0x00:
13932 1.1.1.3 christos goto op_semantics_115;
13933 1.1 christos break;
13934 1.1 christos }
13935 1.1 christos break;
13936 1.1.1.3 christos case 0x19:
13937 1.1 christos GETBYTE ();
13938 1.1.1.3 christos switch (op[2] & 0x00)
13939 1.1 christos {
13940 1.1 christos case 0x00:
13941 1.1.1.3 christos goto op_semantics_115;
13942 1.1 christos break;
13943 1.1.1.3 christos }
13944 1.1.1.3 christos break;
13945 1.1.1.3 christos case 0x1a:
13946 1.1.1.3 christos GETBYTE ();
13947 1.1.1.3 christos switch (op[2] & 0x00)
13948 1.1.1.3 christos {
13949 1.1.1.3 christos case 0x00:
13950 1.1.1.3 christos goto op_semantics_115;
13951 1.1 christos break;
13952 1.1 christos }
13953 1.1 christos break;
13954 1.1.1.3 christos case 0x1b:
13955 1.1 christos GETBYTE ();
13956 1.1.1.3 christos switch (op[2] & 0x00)
13957 1.1 christos {
13958 1.1 christos case 0x00:
13959 1.1.1.3 christos goto op_semantics_115;
13960 1.1 christos break;
13961 1.1 christos }
13962 1.1 christos break;
13963 1.1.1.3 christos case 0x1c:
13964 1.1 christos GETBYTE ();
13965 1.1.1.3 christos switch (op[2] & 0x00)
13966 1.1 christos {
13967 1.1 christos case 0x00:
13968 1.1.1.3 christos goto op_semantics_115;
13969 1.1 christos break;
13970 1.1 christos }
13971 1.1 christos break;
13972 1.1.1.3 christos case 0x1d:
13973 1.1 christos GETBYTE ();
13974 1.1.1.3 christos switch (op[2] & 0x00)
13975 1.1 christos {
13976 1.1 christos case 0x00:
13977 1.1.1.3 christos goto op_semantics_115;
13978 1.1 christos break;
13979 1.1 christos }
13980 1.1 christos break;
13981 1.1.1.3 christos case 0x1e:
13982 1.1 christos GETBYTE ();
13983 1.1.1.3 christos switch (op[2] & 0x00)
13984 1.1 christos {
13985 1.1 christos case 0x00:
13986 1.1.1.3 christos goto op_semantics_115;
13987 1.1 christos break;
13988 1.1 christos }
13989 1.1 christos break;
13990 1.1.1.3 christos case 0x1f:
13991 1.1 christos GETBYTE ();
13992 1.1.1.3 christos switch (op[2] & 0x00)
13993 1.1 christos {
13994 1.1 christos case 0x00:
13995 1.1.1.3 christos goto op_semantics_115;
13996 1.1 christos break;
13997 1.1 christos }
13998 1.1 christos break;
13999 1.1.1.3 christos case 0x20:
14000 1.1 christos GETBYTE ();
14001 1.1.1.3 christos switch (op[2] & 0x00)
14002 1.1 christos {
14003 1.1 christos case 0x00:
14004 1.1.1.3 christos goto op_semantics_115;
14005 1.1 christos break;
14006 1.1 christos }
14007 1.1 christos break;
14008 1.1.1.3 christos case 0x21:
14009 1.1 christos GETBYTE ();
14010 1.1.1.3 christos switch (op[2] & 0x00)
14011 1.1 christos {
14012 1.1 christos case 0x00:
14013 1.1.1.3 christos goto op_semantics_115;
14014 1.1 christos break;
14015 1.1 christos }
14016 1.1 christos break;
14017 1.1.1.3 christos case 0x22:
14018 1.1 christos GETBYTE ();
14019 1.1.1.3 christos switch (op[2] & 0x00)
14020 1.1 christos {
14021 1.1 christos case 0x00:
14022 1.1.1.3 christos goto op_semantics_115;
14023 1.1 christos break;
14024 1.1 christos }
14025 1.1 christos break;
14026 1.1.1.3 christos case 0x23:
14027 1.1 christos GETBYTE ();
14028 1.1.1.3 christos switch (op[2] & 0x00)
14029 1.1 christos {
14030 1.1 christos case 0x00:
14031 1.1.1.3 christos goto op_semantics_115;
14032 1.1 christos break;
14033 1.1 christos }
14034 1.1 christos break;
14035 1.1.1.3 christos case 0x24:
14036 1.1 christos GETBYTE ();
14037 1.1.1.3 christos switch (op[2] & 0x00)
14038 1.1 christos {
14039 1.1 christos case 0x00:
14040 1.1.1.3 christos goto op_semantics_115;
14041 1.1 christos break;
14042 1.1.1.3 christos }
14043 1.1.1.3 christos break;
14044 1.1.1.3 christos case 0x25:
14045 1.1.1.3 christos GETBYTE ();
14046 1.1.1.3 christos switch (op[2] & 0x00)
14047 1.1.1.3 christos {
14048 1.1.1.3 christos case 0x00:
14049 1.1.1.3 christos goto op_semantics_115;
14050 1.1 christos break;
14051 1.1 christos }
14052 1.1 christos break;
14053 1.1.1.3 christos case 0x26:
14054 1.1 christos GETBYTE ();
14055 1.1.1.3 christos switch (op[2] & 0x00)
14056 1.1 christos {
14057 1.1 christos case 0x00:
14058 1.1.1.3 christos goto op_semantics_115;
14059 1.1 christos break;
14060 1.1.1.3 christos }
14061 1.1.1.3 christos break;
14062 1.1.1.3 christos case 0x27:
14063 1.1.1.3 christos GETBYTE ();
14064 1.1.1.3 christos switch (op[2] & 0x00)
14065 1.1.1.3 christos {
14066 1.1.1.3 christos case 0x00:
14067 1.1.1.3 christos goto op_semantics_115;
14068 1.1 christos break;
14069 1.1 christos }
14070 1.1 christos break;
14071 1.1.1.3 christos case 0x28:
14072 1.1 christos GETBYTE ();
14073 1.1.1.3 christos switch (op[2] & 0x00)
14074 1.1 christos {
14075 1.1 christos case 0x00:
14076 1.1.1.3 christos goto op_semantics_115;
14077 1.1 christos break;
14078 1.1 christos }
14079 1.1 christos break;
14080 1.1.1.3 christos case 0x29:
14081 1.1 christos GETBYTE ();
14082 1.1.1.3 christos switch (op[2] & 0x00)
14083 1.1 christos {
14084 1.1 christos case 0x00:
14085 1.1.1.3 christos goto op_semantics_115;
14086 1.1 christos break;
14087 1.1 christos }
14088 1.1 christos break;
14089 1.1.1.3 christos case 0x2a:
14090 1.1 christos GETBYTE ();
14091 1.1.1.3 christos switch (op[2] & 0x00)
14092 1.1 christos {
14093 1.1 christos case 0x00:
14094 1.1.1.3 christos goto op_semantics_115;
14095 1.1 christos break;
14096 1.1 christos }
14097 1.1 christos break;
14098 1.1.1.3 christos case 0x2b:
14099 1.1 christos GETBYTE ();
14100 1.1.1.3 christos switch (op[2] & 0x00)
14101 1.1 christos {
14102 1.1 christos case 0x00:
14103 1.1.1.3 christos goto op_semantics_115;
14104 1.1 christos break;
14105 1.1 christos }
14106 1.1 christos break;
14107 1.1.1.3 christos case 0x2c:
14108 1.1 christos GETBYTE ();
14109 1.1.1.3 christos switch (op[2] & 0x00)
14110 1.1 christos {
14111 1.1 christos case 0x00:
14112 1.1.1.3 christos goto op_semantics_115;
14113 1.1 christos break;
14114 1.1.1.3 christos }
14115 1.1.1.3 christos break;
14116 1.1.1.3 christos case 0x2d:
14117 1.1.1.3 christos GETBYTE ();
14118 1.1.1.3 christos switch (op[2] & 0x00)
14119 1.1.1.3 christos {
14120 1.1.1.3 christos case 0x00:
14121 1.1.1.3 christos goto op_semantics_115;
14122 1.1 christos break;
14123 1.1 christos }
14124 1.1 christos break;
14125 1.1.1.3 christos case 0x2e:
14126 1.1 christos GETBYTE ();
14127 1.1.1.3 christos switch (op[2] & 0x00)
14128 1.1 christos {
14129 1.1 christos case 0x00:
14130 1.1.1.3 christos goto op_semantics_115;
14131 1.1 christos break;
14132 1.1.1.3 christos }
14133 1.1.1.3 christos break;
14134 1.1.1.3 christos case 0x2f:
14135 1.1.1.3 christos GETBYTE ();
14136 1.1.1.3 christos switch (op[2] & 0x00)
14137 1.1.1.3 christos {
14138 1.1.1.3 christos case 0x00:
14139 1.1.1.3 christos goto op_semantics_115;
14140 1.1 christos break;
14141 1.1 christos }
14142 1.1 christos break;
14143 1.1.1.3 christos case 0x40:
14144 1.1 christos GETBYTE ();
14145 1.1 christos switch (op[2] & 0x00)
14146 1.1 christos {
14147 1.1 christos case 0x00:
14148 1.1.1.3 christos op_semantics_116:
14149 1.1 christos {
14150 1.1.1.3 christos /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
14151 1.1.1.3 christos #line 335 "rx-decode.opc"
14152 1.1 christos int sz AU = (op[1] >> 4) & 0x03;
14153 1.1.1.3 christos #line 335 "rx-decode.opc"
14154 1.1 christos int isrc AU = op[1] & 0x0f;
14155 1.1.1.3 christos #line 335 "rx-decode.opc"
14156 1.1 christos int bsrc AU = (op[2] >> 4) & 0x0f;
14157 1.1.1.3 christos #line 335 "rx-decode.opc"
14158 1.1 christos int rdst AU = op[2] & 0x0f;
14159 1.1 christos if (trace)
14160 1.1 christos {
14161 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14162 1.1.1.3 christos "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
14163 1.1 christos op[0], op[1], op[2]);
14164 1.1 christos printf (" sz = 0x%x,", sz);
14165 1.1 christos printf (" isrc = 0x%x,", isrc);
14166 1.1 christos printf (" bsrc = 0x%x,", bsrc);
14167 1.1 christos printf (" rdst = 0x%x\n", rdst);
14168 1.1 christos }
14169 1.1.1.3 christos SYNTAX("mov%s [%1, %2], %0");
14170 1.1.1.3 christos #line 335 "rx-decode.opc"
14171 1.1.1.3 christos ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14172 1.1.1.3 christos
14173 1.1 christos }
14174 1.1 christos break;
14175 1.1 christos }
14176 1.1 christos break;
14177 1.1.1.3 christos case 0x41:
14178 1.1 christos GETBYTE ();
14179 1.1 christos switch (op[2] & 0x00)
14180 1.1 christos {
14181 1.1 christos case 0x00:
14182 1.1.1.3 christos goto op_semantics_116;
14183 1.1 christos break;
14184 1.1 christos }
14185 1.1 christos break;
14186 1.1.1.3 christos case 0x42:
14187 1.1 christos GETBYTE ();
14188 1.1 christos switch (op[2] & 0x00)
14189 1.1 christos {
14190 1.1 christos case 0x00:
14191 1.1.1.3 christos goto op_semantics_116;
14192 1.1 christos break;
14193 1.1 christos }
14194 1.1 christos break;
14195 1.1.1.3 christos case 0x43:
14196 1.1 christos GETBYTE ();
14197 1.1 christos switch (op[2] & 0x00)
14198 1.1 christos {
14199 1.1 christos case 0x00:
14200 1.1.1.3 christos goto op_semantics_116;
14201 1.1 christos break;
14202 1.1 christos }
14203 1.1 christos break;
14204 1.1.1.3 christos case 0x44:
14205 1.1 christos GETBYTE ();
14206 1.1 christos switch (op[2] & 0x00)
14207 1.1 christos {
14208 1.1 christos case 0x00:
14209 1.1.1.3 christos goto op_semantics_116;
14210 1.1 christos break;
14211 1.1 christos }
14212 1.1 christos break;
14213 1.1.1.3 christos case 0x45:
14214 1.1 christos GETBYTE ();
14215 1.1 christos switch (op[2] & 0x00)
14216 1.1 christos {
14217 1.1 christos case 0x00:
14218 1.1.1.3 christos goto op_semantics_116;
14219 1.1 christos break;
14220 1.1 christos }
14221 1.1 christos break;
14222 1.1.1.3 christos case 0x46:
14223 1.1 christos GETBYTE ();
14224 1.1 christos switch (op[2] & 0x00)
14225 1.1 christos {
14226 1.1 christos case 0x00:
14227 1.1.1.3 christos goto op_semantics_116;
14228 1.1 christos break;
14229 1.1 christos }
14230 1.1 christos break;
14231 1.1.1.3 christos case 0x47:
14232 1.1 christos GETBYTE ();
14233 1.1 christos switch (op[2] & 0x00)
14234 1.1 christos {
14235 1.1 christos case 0x00:
14236 1.1.1.3 christos goto op_semantics_116;
14237 1.1 christos break;
14238 1.1 christos }
14239 1.1 christos break;
14240 1.1.1.3 christos case 0x48:
14241 1.1 christos GETBYTE ();
14242 1.1 christos switch (op[2] & 0x00)
14243 1.1 christos {
14244 1.1 christos case 0x00:
14245 1.1.1.3 christos goto op_semantics_116;
14246 1.1 christos break;
14247 1.1 christos }
14248 1.1 christos break;
14249 1.1.1.3 christos case 0x49:
14250 1.1 christos GETBYTE ();
14251 1.1 christos switch (op[2] & 0x00)
14252 1.1 christos {
14253 1.1 christos case 0x00:
14254 1.1.1.3 christos goto op_semantics_116;
14255 1.1 christos break;
14256 1.1 christos }
14257 1.1 christos break;
14258 1.1.1.3 christos case 0x4a:
14259 1.1 christos GETBYTE ();
14260 1.1 christos switch (op[2] & 0x00)
14261 1.1 christos {
14262 1.1 christos case 0x00:
14263 1.1.1.3 christos goto op_semantics_116;
14264 1.1 christos break;
14265 1.1 christos }
14266 1.1 christos break;
14267 1.1.1.3 christos case 0x4b:
14268 1.1 christos GETBYTE ();
14269 1.1 christos switch (op[2] & 0x00)
14270 1.1 christos {
14271 1.1 christos case 0x00:
14272 1.1.1.3 christos goto op_semantics_116;
14273 1.1 christos break;
14274 1.1 christos }
14275 1.1 christos break;
14276 1.1.1.3 christos case 0x4c:
14277 1.1 christos GETBYTE ();
14278 1.1 christos switch (op[2] & 0x00)
14279 1.1 christos {
14280 1.1 christos case 0x00:
14281 1.1.1.3 christos goto op_semantics_116;
14282 1.1 christos break;
14283 1.1 christos }
14284 1.1 christos break;
14285 1.1.1.3 christos case 0x4d:
14286 1.1 christos GETBYTE ();
14287 1.1 christos switch (op[2] & 0x00)
14288 1.1 christos {
14289 1.1 christos case 0x00:
14290 1.1.1.3 christos goto op_semantics_116;
14291 1.1 christos break;
14292 1.1 christos }
14293 1.1 christos break;
14294 1.1.1.3 christos case 0x4e:
14295 1.1 christos GETBYTE ();
14296 1.1 christos switch (op[2] & 0x00)
14297 1.1 christos {
14298 1.1 christos case 0x00:
14299 1.1.1.3 christos goto op_semantics_116;
14300 1.1 christos break;
14301 1.1 christos }
14302 1.1 christos break;
14303 1.1.1.3 christos case 0x4f:
14304 1.1 christos GETBYTE ();
14305 1.1 christos switch (op[2] & 0x00)
14306 1.1 christos {
14307 1.1 christos case 0x00:
14308 1.1.1.3 christos goto op_semantics_116;
14309 1.1 christos break;
14310 1.1 christos }
14311 1.1 christos break;
14312 1.1.1.3 christos case 0x50:
14313 1.1 christos GETBYTE ();
14314 1.1 christos switch (op[2] & 0x00)
14315 1.1 christos {
14316 1.1 christos case 0x00:
14317 1.1.1.3 christos goto op_semantics_116;
14318 1.1 christos break;
14319 1.1 christos }
14320 1.1 christos break;
14321 1.1.1.3 christos case 0x51:
14322 1.1 christos GETBYTE ();
14323 1.1 christos switch (op[2] & 0x00)
14324 1.1 christos {
14325 1.1 christos case 0x00:
14326 1.1.1.3 christos goto op_semantics_116;
14327 1.1 christos break;
14328 1.1 christos }
14329 1.1 christos break;
14330 1.1.1.3 christos case 0x52:
14331 1.1 christos GETBYTE ();
14332 1.1 christos switch (op[2] & 0x00)
14333 1.1 christos {
14334 1.1 christos case 0x00:
14335 1.1.1.3 christos goto op_semantics_116;
14336 1.1 christos break;
14337 1.1 christos }
14338 1.1 christos break;
14339 1.1.1.3 christos case 0x53:
14340 1.1 christos GETBYTE ();
14341 1.1 christos switch (op[2] & 0x00)
14342 1.1 christos {
14343 1.1 christos case 0x00:
14344 1.1.1.3 christos goto op_semantics_116;
14345 1.1 christos break;
14346 1.1 christos }
14347 1.1 christos break;
14348 1.1.1.3 christos case 0x54:
14349 1.1 christos GETBYTE ();
14350 1.1 christos switch (op[2] & 0x00)
14351 1.1 christos {
14352 1.1 christos case 0x00:
14353 1.1.1.3 christos goto op_semantics_116;
14354 1.1 christos break;
14355 1.1 christos }
14356 1.1 christos break;
14357 1.1.1.3 christos case 0x55:
14358 1.1 christos GETBYTE ();
14359 1.1 christos switch (op[2] & 0x00)
14360 1.1 christos {
14361 1.1 christos case 0x00:
14362 1.1.1.3 christos goto op_semantics_116;
14363 1.1 christos break;
14364 1.1 christos }
14365 1.1 christos break;
14366 1.1.1.3 christos case 0x56:
14367 1.1 christos GETBYTE ();
14368 1.1 christos switch (op[2] & 0x00)
14369 1.1 christos {
14370 1.1 christos case 0x00:
14371 1.1.1.3 christos goto op_semantics_116;
14372 1.1 christos break;
14373 1.1 christos }
14374 1.1 christos break;
14375 1.1.1.3 christos case 0x57:
14376 1.1 christos GETBYTE ();
14377 1.1 christos switch (op[2] & 0x00)
14378 1.1 christos {
14379 1.1 christos case 0x00:
14380 1.1.1.3 christos goto op_semantics_116;
14381 1.1 christos break;
14382 1.1 christos }
14383 1.1 christos break;
14384 1.1.1.3 christos case 0x58:
14385 1.1 christos GETBYTE ();
14386 1.1 christos switch (op[2] & 0x00)
14387 1.1 christos {
14388 1.1 christos case 0x00:
14389 1.1.1.3 christos goto op_semantics_116;
14390 1.1 christos break;
14391 1.1 christos }
14392 1.1 christos break;
14393 1.1.1.3 christos case 0x59:
14394 1.1 christos GETBYTE ();
14395 1.1 christos switch (op[2] & 0x00)
14396 1.1 christos {
14397 1.1 christos case 0x00:
14398 1.1.1.3 christos goto op_semantics_116;
14399 1.1 christos break;
14400 1.1 christos }
14401 1.1 christos break;
14402 1.1.1.3 christos case 0x5a:
14403 1.1 christos GETBYTE ();
14404 1.1 christos switch (op[2] & 0x00)
14405 1.1 christos {
14406 1.1 christos case 0x00:
14407 1.1.1.3 christos goto op_semantics_116;
14408 1.1 christos break;
14409 1.1 christos }
14410 1.1 christos break;
14411 1.1.1.3 christos case 0x5b:
14412 1.1 christos GETBYTE ();
14413 1.1 christos switch (op[2] & 0x00)
14414 1.1 christos {
14415 1.1 christos case 0x00:
14416 1.1.1.3 christos goto op_semantics_116;
14417 1.1 christos break;
14418 1.1 christos }
14419 1.1 christos break;
14420 1.1.1.3 christos case 0x5c:
14421 1.1 christos GETBYTE ();
14422 1.1 christos switch (op[2] & 0x00)
14423 1.1 christos {
14424 1.1 christos case 0x00:
14425 1.1.1.3 christos goto op_semantics_116;
14426 1.1 christos break;
14427 1.1 christos }
14428 1.1 christos break;
14429 1.1.1.3 christos case 0x5d:
14430 1.1 christos GETBYTE ();
14431 1.1 christos switch (op[2] & 0x00)
14432 1.1 christos {
14433 1.1 christos case 0x00:
14434 1.1.1.3 christos goto op_semantics_116;
14435 1.1 christos break;
14436 1.1 christos }
14437 1.1 christos break;
14438 1.1.1.3 christos case 0x5e:
14439 1.1 christos GETBYTE ();
14440 1.1 christos switch (op[2] & 0x00)
14441 1.1 christos {
14442 1.1 christos case 0x00:
14443 1.1.1.3 christos goto op_semantics_116;
14444 1.1 christos break;
14445 1.1 christos }
14446 1.1 christos break;
14447 1.1.1.3 christos case 0x5f:
14448 1.1 christos GETBYTE ();
14449 1.1 christos switch (op[2] & 0x00)
14450 1.1 christos {
14451 1.1 christos case 0x00:
14452 1.1.1.3 christos goto op_semantics_116;
14453 1.1 christos break;
14454 1.1 christos }
14455 1.1 christos break;
14456 1.1.1.3 christos case 0x60:
14457 1.1 christos GETBYTE ();
14458 1.1 christos switch (op[2] & 0x00)
14459 1.1 christos {
14460 1.1 christos case 0x00:
14461 1.1.1.3 christos goto op_semantics_116;
14462 1.1 christos break;
14463 1.1 christos }
14464 1.1 christos break;
14465 1.1.1.3 christos case 0x61:
14466 1.1 christos GETBYTE ();
14467 1.1 christos switch (op[2] & 0x00)
14468 1.1 christos {
14469 1.1 christos case 0x00:
14470 1.1.1.3 christos goto op_semantics_116;
14471 1.1 christos break;
14472 1.1 christos }
14473 1.1 christos break;
14474 1.1.1.3 christos case 0x62:
14475 1.1 christos GETBYTE ();
14476 1.1 christos switch (op[2] & 0x00)
14477 1.1 christos {
14478 1.1 christos case 0x00:
14479 1.1.1.3 christos goto op_semantics_116;
14480 1.1 christos break;
14481 1.1 christos }
14482 1.1 christos break;
14483 1.1.1.3 christos case 0x63:
14484 1.1 christos GETBYTE ();
14485 1.1 christos switch (op[2] & 0x00)
14486 1.1 christos {
14487 1.1 christos case 0x00:
14488 1.1.1.3 christos goto op_semantics_116;
14489 1.1 christos break;
14490 1.1 christos }
14491 1.1 christos break;
14492 1.1.1.3 christos case 0x64:
14493 1.1 christos GETBYTE ();
14494 1.1 christos switch (op[2] & 0x00)
14495 1.1 christos {
14496 1.1 christos case 0x00:
14497 1.1.1.3 christos goto op_semantics_116;
14498 1.1 christos break;
14499 1.1 christos }
14500 1.1 christos break;
14501 1.1.1.3 christos case 0x65:
14502 1.1 christos GETBYTE ();
14503 1.1 christos switch (op[2] & 0x00)
14504 1.1 christos {
14505 1.1 christos case 0x00:
14506 1.1.1.3 christos goto op_semantics_116;
14507 1.1 christos break;
14508 1.1 christos }
14509 1.1 christos break;
14510 1.1.1.3 christos case 0x66:
14511 1.1 christos GETBYTE ();
14512 1.1 christos switch (op[2] & 0x00)
14513 1.1 christos {
14514 1.1 christos case 0x00:
14515 1.1.1.3 christos goto op_semantics_116;
14516 1.1 christos break;
14517 1.1 christos }
14518 1.1 christos break;
14519 1.1.1.3 christos case 0x67:
14520 1.1 christos GETBYTE ();
14521 1.1 christos switch (op[2] & 0x00)
14522 1.1 christos {
14523 1.1 christos case 0x00:
14524 1.1.1.3 christos goto op_semantics_116;
14525 1.1 christos break;
14526 1.1 christos }
14527 1.1 christos break;
14528 1.1.1.3 christos case 0x68:
14529 1.1 christos GETBYTE ();
14530 1.1 christos switch (op[2] & 0x00)
14531 1.1 christos {
14532 1.1 christos case 0x00:
14533 1.1.1.3 christos goto op_semantics_116;
14534 1.1 christos break;
14535 1.1 christos }
14536 1.1 christos break;
14537 1.1.1.3 christos case 0x69:
14538 1.1 christos GETBYTE ();
14539 1.1 christos switch (op[2] & 0x00)
14540 1.1 christos {
14541 1.1 christos case 0x00:
14542 1.1.1.3 christos goto op_semantics_116;
14543 1.1 christos break;
14544 1.1 christos }
14545 1.1 christos break;
14546 1.1.1.3 christos case 0x6a:
14547 1.1 christos GETBYTE ();
14548 1.1 christos switch (op[2] & 0x00)
14549 1.1 christos {
14550 1.1 christos case 0x00:
14551 1.1.1.3 christos goto op_semantics_116;
14552 1.1 christos break;
14553 1.1 christos }
14554 1.1 christos break;
14555 1.1.1.3 christos case 0x6b:
14556 1.1 christos GETBYTE ();
14557 1.1 christos switch (op[2] & 0x00)
14558 1.1 christos {
14559 1.1 christos case 0x00:
14560 1.1.1.3 christos goto op_semantics_116;
14561 1.1 christos break;
14562 1.1 christos }
14563 1.1 christos break;
14564 1.1.1.3 christos case 0x6c:
14565 1.1 christos GETBYTE ();
14566 1.1 christos switch (op[2] & 0x00)
14567 1.1 christos {
14568 1.1 christos case 0x00:
14569 1.1.1.3 christos goto op_semantics_116;
14570 1.1 christos break;
14571 1.1 christos }
14572 1.1 christos break;
14573 1.1.1.3 christos case 0x6d:
14574 1.1 christos GETBYTE ();
14575 1.1 christos switch (op[2] & 0x00)
14576 1.1 christos {
14577 1.1 christos case 0x00:
14578 1.1.1.3 christos goto op_semantics_116;
14579 1.1 christos break;
14580 1.1 christos }
14581 1.1 christos break;
14582 1.1.1.3 christos case 0x6e:
14583 1.1 christos GETBYTE ();
14584 1.1 christos switch (op[2] & 0x00)
14585 1.1 christos {
14586 1.1 christos case 0x00:
14587 1.1.1.3 christos goto op_semantics_116;
14588 1.1 christos break;
14589 1.1 christos }
14590 1.1 christos break;
14591 1.1.1.3 christos case 0x6f:
14592 1.1 christos GETBYTE ();
14593 1.1 christos switch (op[2] & 0x00)
14594 1.1 christos {
14595 1.1 christos case 0x00:
14596 1.1.1.3 christos goto op_semantics_116;
14597 1.1 christos break;
14598 1.1 christos }
14599 1.1 christos break;
14600 1.1.1.3 christos case 0xc0:
14601 1.1 christos GETBYTE ();
14602 1.1 christos switch (op[2] & 0x00)
14603 1.1 christos {
14604 1.1 christos case 0x00:
14605 1.1.1.3 christos op_semantics_117:
14606 1.1 christos {
14607 1.1.1.3 christos /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
14608 1.1.1.3 christos #line 341 "rx-decode.opc"
14609 1.1 christos int sz AU = (op[1] >> 4) & 0x03;
14610 1.1.1.3 christos #line 341 "rx-decode.opc"
14611 1.1 christos int isrc AU = op[1] & 0x0f;
14612 1.1.1.3 christos #line 341 "rx-decode.opc"
14613 1.1 christos int bsrc AU = (op[2] >> 4) & 0x0f;
14614 1.1.1.3 christos #line 341 "rx-decode.opc"
14615 1.1 christos int rdst AU = op[2] & 0x0f;
14616 1.1 christos if (trace)
14617 1.1 christos {
14618 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
14619 1.1.1.3 christos "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
14620 1.1 christos op[0], op[1], op[2]);
14621 1.1 christos printf (" sz = 0x%x,", sz);
14622 1.1 christos printf (" isrc = 0x%x,", isrc);
14623 1.1 christos printf (" bsrc = 0x%x,", bsrc);
14624 1.1 christos printf (" rdst = 0x%x\n", rdst);
14625 1.1 christos }
14626 1.1.1.3 christos SYNTAX("movu%s [%1, %2], %0");
14627 1.1.1.3 christos #line 341 "rx-decode.opc"
14628 1.1.1.3 christos ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
14629 1.1.1.3 christos
14630 1.1 christos }
14631 1.1 christos break;
14632 1.1 christos }
14633 1.1 christos break;
14634 1.1.1.3 christos case 0xc1:
14635 1.1 christos GETBYTE ();
14636 1.1 christos switch (op[2] & 0x00)
14637 1.1 christos {
14638 1.1 christos case 0x00:
14639 1.1.1.3 christos goto op_semantics_117;
14640 1.1 christos break;
14641 1.1 christos }
14642 1.1 christos break;
14643 1.1.1.3 christos case 0xc2:
14644 1.1 christos GETBYTE ();
14645 1.1 christos switch (op[2] & 0x00)
14646 1.1 christos {
14647 1.1 christos case 0x00:
14648 1.1.1.3 christos goto op_semantics_117;
14649 1.1 christos break;
14650 1.1 christos }
14651 1.1 christos break;
14652 1.1.1.3 christos case 0xc3:
14653 1.1 christos GETBYTE ();
14654 1.1 christos switch (op[2] & 0x00)
14655 1.1 christos {
14656 1.1 christos case 0x00:
14657 1.1.1.3 christos goto op_semantics_117;
14658 1.1 christos break;
14659 1.1 christos }
14660 1.1 christos break;
14661 1.1.1.3 christos case 0xc4:
14662 1.1 christos GETBYTE ();
14663 1.1 christos switch (op[2] & 0x00)
14664 1.1 christos {
14665 1.1 christos case 0x00:
14666 1.1.1.3 christos goto op_semantics_117;
14667 1.1 christos break;
14668 1.1 christos }
14669 1.1 christos break;
14670 1.1.1.3 christos case 0xc5:
14671 1.1 christos GETBYTE ();
14672 1.1 christos switch (op[2] & 0x00)
14673 1.1 christos {
14674 1.1 christos case 0x00:
14675 1.1.1.3 christos goto op_semantics_117;
14676 1.1 christos break;
14677 1.1 christos }
14678 1.1 christos break;
14679 1.1.1.3 christos case 0xc6:
14680 1.1 christos GETBYTE ();
14681 1.1 christos switch (op[2] & 0x00)
14682 1.1 christos {
14683 1.1 christos case 0x00:
14684 1.1.1.3 christos goto op_semantics_117;
14685 1.1 christos break;
14686 1.1 christos }
14687 1.1 christos break;
14688 1.1.1.3 christos case 0xc7:
14689 1.1 christos GETBYTE ();
14690 1.1 christos switch (op[2] & 0x00)
14691 1.1 christos {
14692 1.1 christos case 0x00:
14693 1.1.1.3 christos goto op_semantics_117;
14694 1.1 christos break;
14695 1.1 christos }
14696 1.1 christos break;
14697 1.1.1.3 christos case 0xc8:
14698 1.1 christos GETBYTE ();
14699 1.1 christos switch (op[2] & 0x00)
14700 1.1 christos {
14701 1.1 christos case 0x00:
14702 1.1.1.3 christos goto op_semantics_117;
14703 1.1 christos break;
14704 1.1 christos }
14705 1.1 christos break;
14706 1.1.1.3 christos case 0xc9:
14707 1.1 christos GETBYTE ();
14708 1.1 christos switch (op[2] & 0x00)
14709 1.1 christos {
14710 1.1 christos case 0x00:
14711 1.1.1.3 christos goto op_semantics_117;
14712 1.1 christos break;
14713 1.1 christos }
14714 1.1 christos break;
14715 1.1.1.3 christos case 0xca:
14716 1.1 christos GETBYTE ();
14717 1.1 christos switch (op[2] & 0x00)
14718 1.1 christos {
14719 1.1 christos case 0x00:
14720 1.1.1.3 christos goto op_semantics_117;
14721 1.1 christos break;
14722 1.1 christos }
14723 1.1 christos break;
14724 1.1.1.3 christos case 0xcb:
14725 1.1 christos GETBYTE ();
14726 1.1 christos switch (op[2] & 0x00)
14727 1.1 christos {
14728 1.1 christos case 0x00:
14729 1.1.1.3 christos goto op_semantics_117;
14730 1.1 christos break;
14731 1.1 christos }
14732 1.1 christos break;
14733 1.1.1.3 christos case 0xcc:
14734 1.1 christos GETBYTE ();
14735 1.1 christos switch (op[2] & 0x00)
14736 1.1 christos {
14737 1.1 christos case 0x00:
14738 1.1.1.3 christos goto op_semantics_117;
14739 1.1 christos break;
14740 1.1 christos }
14741 1.1 christos break;
14742 1.1.1.3 christos case 0xcd:
14743 1.1 christos GETBYTE ();
14744 1.1 christos switch (op[2] & 0x00)
14745 1.1 christos {
14746 1.1 christos case 0x00:
14747 1.1.1.3 christos goto op_semantics_117;
14748 1.1 christos break;
14749 1.1 christos }
14750 1.1 christos break;
14751 1.1.1.3 christos case 0xce:
14752 1.1 christos GETBYTE ();
14753 1.1 christos switch (op[2] & 0x00)
14754 1.1 christos {
14755 1.1 christos case 0x00:
14756 1.1.1.3 christos goto op_semantics_117;
14757 1.1 christos break;
14758 1.1 christos }
14759 1.1 christos break;
14760 1.1.1.3 christos case 0xcf:
14761 1.1 christos GETBYTE ();
14762 1.1 christos switch (op[2] & 0x00)
14763 1.1 christos {
14764 1.1 christos case 0x00:
14765 1.1.1.3 christos goto op_semantics_117;
14766 1.1 christos break;
14767 1.1 christos }
14768 1.1 christos break;
14769 1.1.1.3 christos case 0xd0:
14770 1.1 christos GETBYTE ();
14771 1.1 christos switch (op[2] & 0x00)
14772 1.1 christos {
14773 1.1 christos case 0x00:
14774 1.1.1.3 christos goto op_semantics_117;
14775 1.1 christos break;
14776 1.1 christos }
14777 1.1 christos break;
14778 1.1.1.3 christos case 0xd1:
14779 1.1 christos GETBYTE ();
14780 1.1 christos switch (op[2] & 0x00)
14781 1.1 christos {
14782 1.1 christos case 0x00:
14783 1.1.1.3 christos goto op_semantics_117;
14784 1.1 christos break;
14785 1.1 christos }
14786 1.1 christos break;
14787 1.1.1.3 christos case 0xd2:
14788 1.1 christos GETBYTE ();
14789 1.1 christos switch (op[2] & 0x00)
14790 1.1 christos {
14791 1.1 christos case 0x00:
14792 1.1.1.3 christos goto op_semantics_117;
14793 1.1 christos break;
14794 1.1 christos }
14795 1.1 christos break;
14796 1.1.1.3 christos case 0xd3:
14797 1.1 christos GETBYTE ();
14798 1.1 christos switch (op[2] & 0x00)
14799 1.1 christos {
14800 1.1 christos case 0x00:
14801 1.1.1.3 christos goto op_semantics_117;
14802 1.1 christos break;
14803 1.1 christos }
14804 1.1 christos break;
14805 1.1.1.3 christos case 0xd4:
14806 1.1 christos GETBYTE ();
14807 1.1 christos switch (op[2] & 0x00)
14808 1.1 christos {
14809 1.1 christos case 0x00:
14810 1.1.1.3 christos goto op_semantics_117;
14811 1.1 christos break;
14812 1.1 christos }
14813 1.1 christos break;
14814 1.1.1.3 christos case 0xd5:
14815 1.1 christos GETBYTE ();
14816 1.1 christos switch (op[2] & 0x00)
14817 1.1 christos {
14818 1.1 christos case 0x00:
14819 1.1.1.3 christos goto op_semantics_117;
14820 1.1 christos break;
14821 1.1 christos }
14822 1.1 christos break;
14823 1.1.1.3 christos case 0xd6:
14824 1.1 christos GETBYTE ();
14825 1.1 christos switch (op[2] & 0x00)
14826 1.1 christos {
14827 1.1 christos case 0x00:
14828 1.1.1.3 christos goto op_semantics_117;
14829 1.1 christos break;
14830 1.1 christos }
14831 1.1 christos break;
14832 1.1.1.3 christos case 0xd7:
14833 1.1 christos GETBYTE ();
14834 1.1 christos switch (op[2] & 0x00)
14835 1.1 christos {
14836 1.1 christos case 0x00:
14837 1.1.1.3 christos goto op_semantics_117;
14838 1.1 christos break;
14839 1.1 christos }
14840 1.1 christos break;
14841 1.1.1.3 christos case 0xd8:
14842 1.1 christos GETBYTE ();
14843 1.1 christos switch (op[2] & 0x00)
14844 1.1 christos {
14845 1.1 christos case 0x00:
14846 1.1.1.3 christos goto op_semantics_117;
14847 1.1 christos break;
14848 1.1 christos }
14849 1.1 christos break;
14850 1.1.1.3 christos case 0xd9:
14851 1.1 christos GETBYTE ();
14852 1.1 christos switch (op[2] & 0x00)
14853 1.1 christos {
14854 1.1 christos case 0x00:
14855 1.1.1.3 christos goto op_semantics_117;
14856 1.1 christos break;
14857 1.1 christos }
14858 1.1 christos break;
14859 1.1.1.3 christos case 0xda:
14860 1.1 christos GETBYTE ();
14861 1.1 christos switch (op[2] & 0x00)
14862 1.1 christos {
14863 1.1 christos case 0x00:
14864 1.1.1.3 christos goto op_semantics_117;
14865 1.1 christos break;
14866 1.1 christos }
14867 1.1 christos break;
14868 1.1.1.3 christos case 0xdb:
14869 1.1 christos GETBYTE ();
14870 1.1 christos switch (op[2] & 0x00)
14871 1.1 christos {
14872 1.1 christos case 0x00:
14873 1.1.1.3 christos goto op_semantics_117;
14874 1.1 christos break;
14875 1.1 christos }
14876 1.1 christos break;
14877 1.1.1.3 christos case 0xdc:
14878 1.1 christos GETBYTE ();
14879 1.1 christos switch (op[2] & 0x00)
14880 1.1 christos {
14881 1.1 christos case 0x00:
14882 1.1.1.3 christos goto op_semantics_117;
14883 1.1 christos break;
14884 1.1 christos }
14885 1.1 christos break;
14886 1.1.1.3 christos case 0xdd:
14887 1.1 christos GETBYTE ();
14888 1.1 christos switch (op[2] & 0x00)
14889 1.1 christos {
14890 1.1 christos case 0x00:
14891 1.1.1.3 christos goto op_semantics_117;
14892 1.1 christos break;
14893 1.1 christos }
14894 1.1 christos break;
14895 1.1.1.3 christos case 0xde:
14896 1.1 christos GETBYTE ();
14897 1.1 christos switch (op[2] & 0x00)
14898 1.1 christos {
14899 1.1 christos case 0x00:
14900 1.1.1.3 christos goto op_semantics_117;
14901 1.1 christos break;
14902 1.1 christos }
14903 1.1 christos break;
14904 1.1.1.3 christos case 0xdf:
14905 1.1 christos GETBYTE ();
14906 1.1 christos switch (op[2] & 0x00)
14907 1.1 christos {
14908 1.1 christos case 0x00:
14909 1.1.1.3 christos goto op_semantics_117;
14910 1.1 christos break;
14911 1.1 christos }
14912 1.1 christos break;
14913 1.1.1.3 christos case 0xe0:
14914 1.1 christos GETBYTE ();
14915 1.1 christos switch (op[2] & 0x00)
14916 1.1 christos {
14917 1.1 christos case 0x00:
14918 1.1.1.3 christos goto op_semantics_117;
14919 1.1 christos break;
14920 1.1 christos }
14921 1.1 christos break;
14922 1.1.1.3 christos case 0xe1:
14923 1.1 christos GETBYTE ();
14924 1.1 christos switch (op[2] & 0x00)
14925 1.1 christos {
14926 1.1 christos case 0x00:
14927 1.1.1.3 christos goto op_semantics_117;
14928 1.1 christos break;
14929 1.1 christos }
14930 1.1 christos break;
14931 1.1.1.3 christos case 0xe2:
14932 1.1 christos GETBYTE ();
14933 1.1 christos switch (op[2] & 0x00)
14934 1.1 christos {
14935 1.1 christos case 0x00:
14936 1.1.1.3 christos goto op_semantics_117;
14937 1.1 christos break;
14938 1.1 christos }
14939 1.1 christos break;
14940 1.1.1.3 christos case 0xe3:
14941 1.1 christos GETBYTE ();
14942 1.1 christos switch (op[2] & 0x00)
14943 1.1 christos {
14944 1.1 christos case 0x00:
14945 1.1.1.3 christos goto op_semantics_117;
14946 1.1 christos break;
14947 1.1 christos }
14948 1.1 christos break;
14949 1.1.1.3 christos case 0xe4:
14950 1.1 christos GETBYTE ();
14951 1.1 christos switch (op[2] & 0x00)
14952 1.1 christos {
14953 1.1 christos case 0x00:
14954 1.1.1.3 christos goto op_semantics_117;
14955 1.1 christos break;
14956 1.1 christos }
14957 1.1 christos break;
14958 1.1.1.3 christos case 0xe5:
14959 1.1 christos GETBYTE ();
14960 1.1 christos switch (op[2] & 0x00)
14961 1.1 christos {
14962 1.1 christos case 0x00:
14963 1.1.1.3 christos goto op_semantics_117;
14964 1.1 christos break;
14965 1.1 christos }
14966 1.1 christos break;
14967 1.1.1.3 christos case 0xe6:
14968 1.1 christos GETBYTE ();
14969 1.1 christos switch (op[2] & 0x00)
14970 1.1 christos {
14971 1.1 christos case 0x00:
14972 1.1.1.3 christos goto op_semantics_117;
14973 1.1 christos break;
14974 1.1 christos }
14975 1.1 christos break;
14976 1.1.1.3 christos case 0xe7:
14977 1.1 christos GETBYTE ();
14978 1.1 christos switch (op[2] & 0x00)
14979 1.1 christos {
14980 1.1 christos case 0x00:
14981 1.1.1.3 christos goto op_semantics_117;
14982 1.1 christos break;
14983 1.1 christos }
14984 1.1 christos break;
14985 1.1.1.3 christos case 0xe8:
14986 1.1 christos GETBYTE ();
14987 1.1 christos switch (op[2] & 0x00)
14988 1.1 christos {
14989 1.1 christos case 0x00:
14990 1.1.1.3 christos goto op_semantics_117;
14991 1.1 christos break;
14992 1.1 christos }
14993 1.1 christos break;
14994 1.1.1.3 christos case 0xe9:
14995 1.1 christos GETBYTE ();
14996 1.1 christos switch (op[2] & 0x00)
14997 1.1 christos {
14998 1.1 christos case 0x00:
14999 1.1.1.3 christos goto op_semantics_117;
15000 1.1 christos break;
15001 1.1 christos }
15002 1.1 christos break;
15003 1.1.1.3 christos case 0xea:
15004 1.1 christos GETBYTE ();
15005 1.1 christos switch (op[2] & 0x00)
15006 1.1 christos {
15007 1.1 christos case 0x00:
15008 1.1.1.3 christos goto op_semantics_117;
15009 1.1 christos break;
15010 1.1 christos }
15011 1.1 christos break;
15012 1.1.1.3 christos case 0xeb:
15013 1.1 christos GETBYTE ();
15014 1.1 christos switch (op[2] & 0x00)
15015 1.1 christos {
15016 1.1 christos case 0x00:
15017 1.1.1.3 christos goto op_semantics_117;
15018 1.1 christos break;
15019 1.1 christos }
15020 1.1 christos break;
15021 1.1.1.3 christos case 0xec:
15022 1.1 christos GETBYTE ();
15023 1.1 christos switch (op[2] & 0x00)
15024 1.1 christos {
15025 1.1 christos case 0x00:
15026 1.1.1.3 christos goto op_semantics_117;
15027 1.1 christos break;
15028 1.1 christos }
15029 1.1 christos break;
15030 1.1.1.3 christos case 0xed:
15031 1.1 christos GETBYTE ();
15032 1.1 christos switch (op[2] & 0x00)
15033 1.1 christos {
15034 1.1 christos case 0x00:
15035 1.1.1.3 christos goto op_semantics_117;
15036 1.1 christos break;
15037 1.1 christos }
15038 1.1 christos break;
15039 1.1.1.3 christos case 0xee:
15040 1.1 christos GETBYTE ();
15041 1.1 christos switch (op[2] & 0x00)
15042 1.1 christos {
15043 1.1 christos case 0x00:
15044 1.1.1.3 christos goto op_semantics_117;
15045 1.1 christos break;
15046 1.1 christos }
15047 1.1 christos break;
15048 1.1.1.3 christos case 0xef:
15049 1.1 christos GETBYTE ();
15050 1.1 christos switch (op[2] & 0x00)
15051 1.1 christos {
15052 1.1 christos case 0x00:
15053 1.1.1.3 christos goto op_semantics_117;
15054 1.1 christos break;
15055 1.1 christos }
15056 1.1 christos break;
15057 1.1.1.3 christos default: UNSUPPORTED(); break;
15058 1.1.1.3 christos }
15059 1.1.1.3 christos break;
15060 1.1.1.3 christos case 0xff:
15061 1.1.1.3 christos GETBYTE ();
15062 1.1.1.3 christos switch (op[1] & 0xff)
15063 1.1.1.3 christos {
15064 1.1.1.3 christos case 0x00:
15065 1.1 christos GETBYTE ();
15066 1.1 christos switch (op[2] & 0x00)
15067 1.1 christos {
15068 1.1 christos case 0x00:
15069 1.1.1.3 christos op_semantics_118:
15070 1.1 christos {
15071 1.1.1.3 christos /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
15072 1.1.1.3 christos #line 545 "rx-decode.opc"
15073 1.1.1.3 christos int rdst AU = op[1] & 0x0f;
15074 1.1.1.3 christos #line 545 "rx-decode.opc"
15075 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
15076 1.1.1.3 christos #line 545 "rx-decode.opc"
15077 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
15078 1.1 christos if (trace)
15079 1.1 christos {
15080 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15081 1.1.1.3 christos "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
15082 1.1 christos op[0], op[1], op[2]);
15083 1.1.1.3 christos printf (" rdst = 0x%x,", rdst);
15084 1.1.1.3 christos printf (" srca = 0x%x,", srca);
15085 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
15086 1.1 christos }
15087 1.1.1.3 christos SYNTAX("sub %2, %1, %0");
15088 1.1.1.3 christos #line 545 "rx-decode.opc"
15089 1.1.1.3 christos ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15090 1.1.1.3 christos
15091 1.1.1.3 christos /*----------------------------------------------------------------------*/
15092 1.1.1.3 christos /* SBB */
15093 1.1.1.3 christos
15094 1.1 christos }
15095 1.1 christos break;
15096 1.1 christos }
15097 1.1 christos break;
15098 1.1.1.3 christos case 0x01:
15099 1.1 christos GETBYTE ();
15100 1.1 christos switch (op[2] & 0x00)
15101 1.1 christos {
15102 1.1 christos case 0x00:
15103 1.1.1.3 christos goto op_semantics_118;
15104 1.1 christos break;
15105 1.1 christos }
15106 1.1 christos break;
15107 1.1.1.3 christos case 0x02:
15108 1.1 christos GETBYTE ();
15109 1.1 christos switch (op[2] & 0x00)
15110 1.1 christos {
15111 1.1 christos case 0x00:
15112 1.1.1.3 christos goto op_semantics_118;
15113 1.1 christos break;
15114 1.1 christos }
15115 1.1 christos break;
15116 1.1.1.3 christos case 0x03:
15117 1.1 christos GETBYTE ();
15118 1.1 christos switch (op[2] & 0x00)
15119 1.1 christos {
15120 1.1 christos case 0x00:
15121 1.1.1.3 christos goto op_semantics_118;
15122 1.1 christos break;
15123 1.1 christos }
15124 1.1 christos break;
15125 1.1.1.3 christos case 0x04:
15126 1.1 christos GETBYTE ();
15127 1.1 christos switch (op[2] & 0x00)
15128 1.1 christos {
15129 1.1 christos case 0x00:
15130 1.1.1.3 christos goto op_semantics_118;
15131 1.1 christos break;
15132 1.1 christos }
15133 1.1 christos break;
15134 1.1.1.3 christos case 0x05:
15135 1.1 christos GETBYTE ();
15136 1.1 christos switch (op[2] & 0x00)
15137 1.1 christos {
15138 1.1 christos case 0x00:
15139 1.1.1.3 christos goto op_semantics_118;
15140 1.1 christos break;
15141 1.1 christos }
15142 1.1 christos break;
15143 1.1.1.3 christos case 0x06:
15144 1.1 christos GETBYTE ();
15145 1.1 christos switch (op[2] & 0x00)
15146 1.1 christos {
15147 1.1 christos case 0x00:
15148 1.1.1.3 christos goto op_semantics_118;
15149 1.1 christos break;
15150 1.1 christos }
15151 1.1 christos break;
15152 1.1.1.3 christos case 0x07:
15153 1.1 christos GETBYTE ();
15154 1.1 christos switch (op[2] & 0x00)
15155 1.1 christos {
15156 1.1 christos case 0x00:
15157 1.1.1.3 christos goto op_semantics_118;
15158 1.1 christos break;
15159 1.1 christos }
15160 1.1 christos break;
15161 1.1.1.3 christos case 0x08:
15162 1.1 christos GETBYTE ();
15163 1.1 christos switch (op[2] & 0x00)
15164 1.1 christos {
15165 1.1 christos case 0x00:
15166 1.1.1.3 christos goto op_semantics_118;
15167 1.1 christos break;
15168 1.1 christos }
15169 1.1 christos break;
15170 1.1.1.3 christos case 0x09:
15171 1.1 christos GETBYTE ();
15172 1.1 christos switch (op[2] & 0x00)
15173 1.1 christos {
15174 1.1 christos case 0x00:
15175 1.1.1.3 christos goto op_semantics_118;
15176 1.1 christos break;
15177 1.1 christos }
15178 1.1 christos break;
15179 1.1.1.3 christos case 0x0a:
15180 1.1 christos GETBYTE ();
15181 1.1 christos switch (op[2] & 0x00)
15182 1.1 christos {
15183 1.1 christos case 0x00:
15184 1.1.1.3 christos goto op_semantics_118;
15185 1.1 christos break;
15186 1.1 christos }
15187 1.1 christos break;
15188 1.1.1.3 christos case 0x0b:
15189 1.1 christos GETBYTE ();
15190 1.1 christos switch (op[2] & 0x00)
15191 1.1 christos {
15192 1.1 christos case 0x00:
15193 1.1.1.3 christos goto op_semantics_118;
15194 1.1 christos break;
15195 1.1 christos }
15196 1.1 christos break;
15197 1.1.1.3 christos case 0x0c:
15198 1.1 christos GETBYTE ();
15199 1.1 christos switch (op[2] & 0x00)
15200 1.1 christos {
15201 1.1 christos case 0x00:
15202 1.1.1.3 christos goto op_semantics_118;
15203 1.1 christos break;
15204 1.1 christos }
15205 1.1 christos break;
15206 1.1.1.3 christos case 0x0d:
15207 1.1 christos GETBYTE ();
15208 1.1 christos switch (op[2] & 0x00)
15209 1.1 christos {
15210 1.1 christos case 0x00:
15211 1.1.1.3 christos goto op_semantics_118;
15212 1.1 christos break;
15213 1.1 christos }
15214 1.1 christos break;
15215 1.1.1.3 christos case 0x0e:
15216 1.1 christos GETBYTE ();
15217 1.1 christos switch (op[2] & 0x00)
15218 1.1 christos {
15219 1.1 christos case 0x00:
15220 1.1.1.3 christos goto op_semantics_118;
15221 1.1 christos break;
15222 1.1 christos }
15223 1.1 christos break;
15224 1.1.1.3 christos case 0x0f:
15225 1.1 christos GETBYTE ();
15226 1.1 christos switch (op[2] & 0x00)
15227 1.1 christos {
15228 1.1 christos case 0x00:
15229 1.1.1.3 christos goto op_semantics_118;
15230 1.1 christos break;
15231 1.1 christos }
15232 1.1 christos break;
15233 1.1.1.3 christos case 0x20:
15234 1.1 christos GETBYTE ();
15235 1.1 christos switch (op[2] & 0x00)
15236 1.1 christos {
15237 1.1 christos case 0x00:
15238 1.1.1.3 christos op_semantics_119:
15239 1.1.1.3 christos {
15240 1.1.1.3 christos /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
15241 1.1.1.3 christos #line 512 "rx-decode.opc"
15242 1.1.1.3 christos int rdst AU = op[1] & 0x0f;
15243 1.1.1.3 christos #line 512 "rx-decode.opc"
15244 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
15245 1.1.1.3 christos #line 512 "rx-decode.opc"
15246 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
15247 1.1.1.3 christos if (trace)
15248 1.1.1.3 christos {
15249 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15250 1.1.1.3 christos "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
15251 1.1.1.3 christos op[0], op[1], op[2]);
15252 1.1.1.3 christos printf (" rdst = 0x%x,", rdst);
15253 1.1.1.3 christos printf (" srca = 0x%x,", srca);
15254 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
15255 1.1.1.3 christos }
15256 1.1.1.3 christos SYNTAX("add %2, %1, %0");
15257 1.1.1.3 christos #line 512 "rx-decode.opc"
15258 1.1.1.3 christos ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
15259 1.1.1.3 christos
15260 1.1.1.3 christos /*----------------------------------------------------------------------*/
15261 1.1.1.3 christos /* CMP */
15262 1.1.1.3 christos
15263 1.1.1.3 christos }
15264 1.1 christos break;
15265 1.1 christos }
15266 1.1 christos break;
15267 1.1.1.3 christos case 0x21:
15268 1.1 christos GETBYTE ();
15269 1.1 christos switch (op[2] & 0x00)
15270 1.1 christos {
15271 1.1 christos case 0x00:
15272 1.1.1.3 christos goto op_semantics_119;
15273 1.1 christos break;
15274 1.1 christos }
15275 1.1 christos break;
15276 1.1.1.3 christos case 0x22:
15277 1.1 christos GETBYTE ();
15278 1.1 christos switch (op[2] & 0x00)
15279 1.1 christos {
15280 1.1 christos case 0x00:
15281 1.1.1.3 christos goto op_semantics_119;
15282 1.1 christos break;
15283 1.1 christos }
15284 1.1 christos break;
15285 1.1.1.3 christos case 0x23:
15286 1.1 christos GETBYTE ();
15287 1.1 christos switch (op[2] & 0x00)
15288 1.1 christos {
15289 1.1 christos case 0x00:
15290 1.1.1.3 christos goto op_semantics_119;
15291 1.1 christos break;
15292 1.1 christos }
15293 1.1 christos break;
15294 1.1.1.3 christos case 0x24:
15295 1.1 christos GETBYTE ();
15296 1.1 christos switch (op[2] & 0x00)
15297 1.1 christos {
15298 1.1 christos case 0x00:
15299 1.1.1.3 christos goto op_semantics_119;
15300 1.1 christos break;
15301 1.1 christos }
15302 1.1 christos break;
15303 1.1.1.3 christos case 0x25:
15304 1.1 christos GETBYTE ();
15305 1.1 christos switch (op[2] & 0x00)
15306 1.1 christos {
15307 1.1 christos case 0x00:
15308 1.1.1.3 christos goto op_semantics_119;
15309 1.1 christos break;
15310 1.1 christos }
15311 1.1 christos break;
15312 1.1.1.3 christos case 0x26:
15313 1.1 christos GETBYTE ();
15314 1.1 christos switch (op[2] & 0x00)
15315 1.1 christos {
15316 1.1 christos case 0x00:
15317 1.1.1.3 christos goto op_semantics_119;
15318 1.1 christos break;
15319 1.1 christos }
15320 1.1 christos break;
15321 1.1.1.3 christos case 0x27:
15322 1.1 christos GETBYTE ();
15323 1.1 christos switch (op[2] & 0x00)
15324 1.1 christos {
15325 1.1 christos case 0x00:
15326 1.1.1.3 christos goto op_semantics_119;
15327 1.1 christos break;
15328 1.1 christos }
15329 1.1 christos break;
15330 1.1.1.3 christos case 0x28:
15331 1.1 christos GETBYTE ();
15332 1.1 christos switch (op[2] & 0x00)
15333 1.1 christos {
15334 1.1 christos case 0x00:
15335 1.1.1.3 christos goto op_semantics_119;
15336 1.1 christos break;
15337 1.1 christos }
15338 1.1 christos break;
15339 1.1.1.3 christos case 0x29:
15340 1.1 christos GETBYTE ();
15341 1.1 christos switch (op[2] & 0x00)
15342 1.1 christos {
15343 1.1 christos case 0x00:
15344 1.1.1.3 christos goto op_semantics_119;
15345 1.1 christos break;
15346 1.1 christos }
15347 1.1 christos break;
15348 1.1.1.3 christos case 0x2a:
15349 1.1 christos GETBYTE ();
15350 1.1 christos switch (op[2] & 0x00)
15351 1.1 christos {
15352 1.1 christos case 0x00:
15353 1.1.1.3 christos goto op_semantics_119;
15354 1.1 christos break;
15355 1.1 christos }
15356 1.1 christos break;
15357 1.1.1.3 christos case 0x2b:
15358 1.1 christos GETBYTE ();
15359 1.1 christos switch (op[2] & 0x00)
15360 1.1 christos {
15361 1.1 christos case 0x00:
15362 1.1.1.3 christos goto op_semantics_119;
15363 1.1 christos break;
15364 1.1 christos }
15365 1.1 christos break;
15366 1.1.1.3 christos case 0x2c:
15367 1.1 christos GETBYTE ();
15368 1.1 christos switch (op[2] & 0x00)
15369 1.1 christos {
15370 1.1 christos case 0x00:
15371 1.1.1.3 christos goto op_semantics_119;
15372 1.1 christos break;
15373 1.1 christos }
15374 1.1 christos break;
15375 1.1.1.3 christos case 0x2d:
15376 1.1 christos GETBYTE ();
15377 1.1 christos switch (op[2] & 0x00)
15378 1.1 christos {
15379 1.1 christos case 0x00:
15380 1.1.1.3 christos goto op_semantics_119;
15381 1.1 christos break;
15382 1.1 christos }
15383 1.1 christos break;
15384 1.1.1.3 christos case 0x2e:
15385 1.1 christos GETBYTE ();
15386 1.1 christos switch (op[2] & 0x00)
15387 1.1 christos {
15388 1.1 christos case 0x00:
15389 1.1.1.3 christos goto op_semantics_119;
15390 1.1 christos break;
15391 1.1 christos }
15392 1.1 christos break;
15393 1.1.1.3 christos case 0x2f:
15394 1.1 christos GETBYTE ();
15395 1.1 christos switch (op[2] & 0x00)
15396 1.1 christos {
15397 1.1 christos case 0x00:
15398 1.1.1.3 christos goto op_semantics_119;
15399 1.1 christos break;
15400 1.1 christos }
15401 1.1 christos break;
15402 1.1.1.3 christos case 0x30:
15403 1.1 christos GETBYTE ();
15404 1.1 christos switch (op[2] & 0x00)
15405 1.1 christos {
15406 1.1 christos case 0x00:
15407 1.1.1.3 christos op_semantics_120:
15408 1.1.1.3 christos {
15409 1.1.1.3 christos /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
15410 1.1.1.3 christos #line 652 "rx-decode.opc"
15411 1.1.1.3 christos int rdst AU = op[1] & 0x0f;
15412 1.1.1.3 christos #line 652 "rx-decode.opc"
15413 1.1.1.3 christos int srca AU = (op[2] >> 4) & 0x0f;
15414 1.1.1.3 christos #line 652 "rx-decode.opc"
15415 1.1.1.3 christos int srcb AU = op[2] & 0x0f;
15416 1.1.1.3 christos if (trace)
15417 1.1.1.3 christos {
15418 1.1.1.3 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15419 1.1.1.3 christos "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
15420 1.1.1.3 christos op[0], op[1], op[2]);
15421 1.1.1.3 christos printf (" rdst = 0x%x,", rdst);
15422 1.1.1.3 christos printf (" srca = 0x%x,", srca);
15423 1.1.1.3 christos printf (" srcb = 0x%x\n", srcb);
15424 1.1.1.3 christos }
15425 1.1.1.3 christos SYNTAX("mul %2, %1, %0");
15426 1.1.1.3 christos #line 652 "rx-decode.opc"
15427 1.1.1.3 christos ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
15428 1.1.1.3 christos
15429 1.1.1.3 christos /*----------------------------------------------------------------------*/
15430 1.1.1.3 christos /* EMUL */
15431 1.1.1.3 christos
15432 1.1.1.3 christos }
15433 1.1 christos break;
15434 1.1 christos }
15435 1.1 christos break;
15436 1.1.1.3 christos case 0x31:
15437 1.1 christos GETBYTE ();
15438 1.1 christos switch (op[2] & 0x00)
15439 1.1 christos {
15440 1.1 christos case 0x00:
15441 1.1.1.3 christos goto op_semantics_120;
15442 1.1 christos break;
15443 1.1 christos }
15444 1.1 christos break;
15445 1.1.1.3 christos case 0x32:
15446 1.1 christos GETBYTE ();
15447 1.1 christos switch (op[2] & 0x00)
15448 1.1 christos {
15449 1.1 christos case 0x00:
15450 1.1.1.3 christos goto op_semantics_120;
15451 1.1 christos break;
15452 1.1 christos }
15453 1.1 christos break;
15454 1.1.1.3 christos case 0x33:
15455 1.1 christos GETBYTE ();
15456 1.1 christos switch (op[2] & 0x00)
15457 1.1 christos {
15458 1.1 christos case 0x00:
15459 1.1.1.3 christos goto op_semantics_120;
15460 1.1 christos break;
15461 1.1 christos }
15462 1.1 christos break;
15463 1.1.1.3 christos case 0x34:
15464 1.1 christos GETBYTE ();
15465 1.1 christos switch (op[2] & 0x00)
15466 1.1 christos {
15467 1.1 christos case 0x00:
15468 1.1.1.3 christos goto op_semantics_120;
15469 1.1 christos break;
15470 1.1 christos }
15471 1.1 christos break;
15472 1.1.1.3 christos case 0x35:
15473 1.1 christos GETBYTE ();
15474 1.1 christos switch (op[2] & 0x00)
15475 1.1 christos {
15476 1.1 christos case 0x00:
15477 1.1.1.3 christos goto op_semantics_120;
15478 1.1 christos break;
15479 1.1 christos }
15480 1.1 christos break;
15481 1.1.1.3 christos case 0x36:
15482 1.1 christos GETBYTE ();
15483 1.1 christos switch (op[2] & 0x00)
15484 1.1 christos {
15485 1.1 christos case 0x00:
15486 1.1.1.3 christos goto op_semantics_120;
15487 1.1 christos break;
15488 1.1 christos }
15489 1.1 christos break;
15490 1.1.1.3 christos case 0x37:
15491 1.1 christos GETBYTE ();
15492 1.1 christos switch (op[2] & 0x00)
15493 1.1 christos {
15494 1.1 christos case 0x00:
15495 1.1.1.3 christos goto op_semantics_120;
15496 1.1 christos break;
15497 1.1 christos }
15498 1.1 christos break;
15499 1.1.1.3 christos case 0x38:
15500 1.1 christos GETBYTE ();
15501 1.1 christos switch (op[2] & 0x00)
15502 1.1 christos {
15503 1.1 christos case 0x00:
15504 1.1.1.3 christos goto op_semantics_120;
15505 1.1 christos break;
15506 1.1 christos }
15507 1.1 christos break;
15508 1.1.1.3 christos case 0x39:
15509 1.1 christos GETBYTE ();
15510 1.1 christos switch (op[2] & 0x00)
15511 1.1 christos {
15512 1.1 christos case 0x00:
15513 1.1.1.3 christos goto op_semantics_120;
15514 1.1 christos break;
15515 1.1 christos }
15516 1.1 christos break;
15517 1.1.1.3 christos case 0x3a:
15518 1.1 christos GETBYTE ();
15519 1.1 christos switch (op[2] & 0x00)
15520 1.1 christos {
15521 1.1 christos case 0x00:
15522 1.1.1.3 christos goto op_semantics_120;
15523 1.1 christos break;
15524 1.1 christos }
15525 1.1 christos break;
15526 1.1.1.3 christos case 0x3b:
15527 1.1 christos GETBYTE ();
15528 1.1 christos switch (op[2] & 0x00)
15529 1.1 christos {
15530 1.1 christos case 0x00:
15531 1.1.1.3 christos goto op_semantics_120;
15532 1.1 christos break;
15533 1.1 christos }
15534 1.1 christos break;
15535 1.1.1.3 christos case 0x3c:
15536 1.1 christos GETBYTE ();
15537 1.1 christos switch (op[2] & 0x00)
15538 1.1 christos {
15539 1.1 christos case 0x00:
15540 1.1.1.3 christos goto op_semantics_120;
15541 1.1 christos break;
15542 1.1 christos }
15543 1.1 christos break;
15544 1.1.1.3 christos case 0x3d:
15545 1.1 christos GETBYTE ();
15546 1.1 christos switch (op[2] & 0x00)
15547 1.1 christos {
15548 1.1 christos case 0x00:
15549 1.1.1.3 christos goto op_semantics_120;
15550 1.1 christos break;
15551 1.1 christos }
15552 1.1 christos break;
15553 1.1.1.3 christos case 0x3e:
15554 1.1 christos GETBYTE ();
15555 1.1 christos switch (op[2] & 0x00)
15556 1.1 christos {
15557 1.1 christos case 0x00:
15558 1.1.1.3 christos goto op_semantics_120;
15559 1.1 christos break;
15560 1.1 christos }
15561 1.1 christos break;
15562 1.1.1.3 christos case 0x3f:
15563 1.1 christos GETBYTE ();
15564 1.1 christos switch (op[2] & 0x00)
15565 1.1 christos {
15566 1.1 christos case 0x00:
15567 1.1.1.3 christos goto op_semantics_120;
15568 1.1 christos break;
15569 1.1 christos }
15570 1.1 christos break;
15571 1.1.1.3 christos case 0x40:
15572 1.1 christos GETBYTE ();
15573 1.1 christos switch (op[2] & 0x00)
15574 1.1 christos {
15575 1.1 christos case 0x00:
15576 1.1.1.3 christos op_semantics_121:
15577 1.1 christos {
15578 1.1.1.3 christos /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
15579 1.1.1.3 christos #line 422 "rx-decode.opc"
15580 1.1 christos int rdst AU = op[1] & 0x0f;
15581 1.1.1.3 christos #line 422 "rx-decode.opc"
15582 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
15583 1.1.1.3 christos #line 422 "rx-decode.opc"
15584 1.1 christos int srcb AU = op[2] & 0x0f;
15585 1.1 christos if (trace)
15586 1.1 christos {
15587 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15588 1.1.1.3 christos "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
15589 1.1 christos op[0], op[1], op[2]);
15590 1.1 christos printf (" rdst = 0x%x,", rdst);
15591 1.1 christos printf (" srca = 0x%x,", srca);
15592 1.1 christos printf (" srcb = 0x%x\n", srcb);
15593 1.1 christos }
15594 1.1.1.3 christos SYNTAX("and %2, %1, %0");
15595 1.1.1.3 christos #line 422 "rx-decode.opc"
15596 1.1.1.3 christos ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15597 1.1.1.3 christos
15598 1.1 christos /*----------------------------------------------------------------------*/
15599 1.1.1.3 christos /* OR */
15600 1.1.1.3 christos
15601 1.1 christos }
15602 1.1 christos break;
15603 1.1 christos }
15604 1.1 christos break;
15605 1.1.1.3 christos case 0x41:
15606 1.1 christos GETBYTE ();
15607 1.1 christos switch (op[2] & 0x00)
15608 1.1 christos {
15609 1.1 christos case 0x00:
15610 1.1.1.3 christos goto op_semantics_121;
15611 1.1 christos break;
15612 1.1 christos }
15613 1.1 christos break;
15614 1.1.1.3 christos case 0x42:
15615 1.1 christos GETBYTE ();
15616 1.1 christos switch (op[2] & 0x00)
15617 1.1 christos {
15618 1.1 christos case 0x00:
15619 1.1.1.3 christos goto op_semantics_121;
15620 1.1 christos break;
15621 1.1 christos }
15622 1.1 christos break;
15623 1.1.1.3 christos case 0x43:
15624 1.1 christos GETBYTE ();
15625 1.1 christos switch (op[2] & 0x00)
15626 1.1 christos {
15627 1.1 christos case 0x00:
15628 1.1.1.3 christos goto op_semantics_121;
15629 1.1 christos break;
15630 1.1 christos }
15631 1.1 christos break;
15632 1.1.1.3 christos case 0x44:
15633 1.1 christos GETBYTE ();
15634 1.1 christos switch (op[2] & 0x00)
15635 1.1 christos {
15636 1.1 christos case 0x00:
15637 1.1.1.3 christos goto op_semantics_121;
15638 1.1 christos break;
15639 1.1 christos }
15640 1.1 christos break;
15641 1.1.1.3 christos case 0x45:
15642 1.1 christos GETBYTE ();
15643 1.1 christos switch (op[2] & 0x00)
15644 1.1 christos {
15645 1.1 christos case 0x00:
15646 1.1.1.3 christos goto op_semantics_121;
15647 1.1 christos break;
15648 1.1 christos }
15649 1.1 christos break;
15650 1.1.1.3 christos case 0x46:
15651 1.1 christos GETBYTE ();
15652 1.1 christos switch (op[2] & 0x00)
15653 1.1 christos {
15654 1.1 christos case 0x00:
15655 1.1.1.3 christos goto op_semantics_121;
15656 1.1 christos break;
15657 1.1 christos }
15658 1.1 christos break;
15659 1.1.1.3 christos case 0x47:
15660 1.1 christos GETBYTE ();
15661 1.1 christos switch (op[2] & 0x00)
15662 1.1 christos {
15663 1.1 christos case 0x00:
15664 1.1.1.3 christos goto op_semantics_121;
15665 1.1 christos break;
15666 1.1 christos }
15667 1.1 christos break;
15668 1.1.1.3 christos case 0x48:
15669 1.1 christos GETBYTE ();
15670 1.1 christos switch (op[2] & 0x00)
15671 1.1 christos {
15672 1.1 christos case 0x00:
15673 1.1.1.3 christos goto op_semantics_121;
15674 1.1 christos break;
15675 1.1 christos }
15676 1.1 christos break;
15677 1.1.1.3 christos case 0x49:
15678 1.1 christos GETBYTE ();
15679 1.1 christos switch (op[2] & 0x00)
15680 1.1 christos {
15681 1.1 christos case 0x00:
15682 1.1.1.3 christos goto op_semantics_121;
15683 1.1 christos break;
15684 1.1 christos }
15685 1.1 christos break;
15686 1.1.1.3 christos case 0x4a:
15687 1.1 christos GETBYTE ();
15688 1.1 christos switch (op[2] & 0x00)
15689 1.1 christos {
15690 1.1 christos case 0x00:
15691 1.1.1.3 christos goto op_semantics_121;
15692 1.1 christos break;
15693 1.1 christos }
15694 1.1 christos break;
15695 1.1.1.3 christos case 0x4b:
15696 1.1 christos GETBYTE ();
15697 1.1 christos switch (op[2] & 0x00)
15698 1.1 christos {
15699 1.1 christos case 0x00:
15700 1.1.1.3 christos goto op_semantics_121;
15701 1.1 christos break;
15702 1.1 christos }
15703 1.1 christos break;
15704 1.1.1.3 christos case 0x4c:
15705 1.1 christos GETBYTE ();
15706 1.1 christos switch (op[2] & 0x00)
15707 1.1 christos {
15708 1.1 christos case 0x00:
15709 1.1.1.3 christos goto op_semantics_121;
15710 1.1 christos break;
15711 1.1 christos }
15712 1.1 christos break;
15713 1.1.1.3 christos case 0x4d:
15714 1.1 christos GETBYTE ();
15715 1.1 christos switch (op[2] & 0x00)
15716 1.1 christos {
15717 1.1 christos case 0x00:
15718 1.1.1.3 christos goto op_semantics_121;
15719 1.1 christos break;
15720 1.1 christos }
15721 1.1 christos break;
15722 1.1.1.3 christos case 0x4e:
15723 1.1 christos GETBYTE ();
15724 1.1 christos switch (op[2] & 0x00)
15725 1.1 christos {
15726 1.1 christos case 0x00:
15727 1.1.1.3 christos goto op_semantics_121;
15728 1.1 christos break;
15729 1.1 christos }
15730 1.1 christos break;
15731 1.1.1.3 christos case 0x4f:
15732 1.1 christos GETBYTE ();
15733 1.1 christos switch (op[2] & 0x00)
15734 1.1 christos {
15735 1.1 christos case 0x00:
15736 1.1.1.3 christos goto op_semantics_121;
15737 1.1 christos break;
15738 1.1 christos }
15739 1.1 christos break;
15740 1.1.1.3 christos case 0x50:
15741 1.1 christos GETBYTE ();
15742 1.1 christos switch (op[2] & 0x00)
15743 1.1 christos {
15744 1.1 christos case 0x00:
15745 1.1.1.3 christos op_semantics_122:
15746 1.1 christos {
15747 1.1.1.3 christos /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
15748 1.1.1.3 christos #line 440 "rx-decode.opc"
15749 1.1 christos int rdst AU = op[1] & 0x0f;
15750 1.1.1.3 christos #line 440 "rx-decode.opc"
15751 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
15752 1.1.1.3 christos #line 440 "rx-decode.opc"
15753 1.1 christos int srcb AU = op[2] & 0x0f;
15754 1.1 christos if (trace)
15755 1.1 christos {
15756 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15757 1.1.1.3 christos "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
15758 1.1 christos op[0], op[1], op[2]);
15759 1.1 christos printf (" rdst = 0x%x,", rdst);
15760 1.1 christos printf (" srca = 0x%x,", srca);
15761 1.1 christos printf (" srcb = 0x%x\n", srcb);
15762 1.1 christos }
15763 1.1.1.3 christos SYNTAX("or %2, %1, %0");
15764 1.1.1.3 christos #line 440 "rx-decode.opc"
15765 1.1.1.3 christos ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15766 1.1.1.3 christos
15767 1.1 christos /*----------------------------------------------------------------------*/
15768 1.1.1.3 christos /* XOR */
15769 1.1.1.3 christos
15770 1.1 christos }
15771 1.1 christos break;
15772 1.1 christos }
15773 1.1 christos break;
15774 1.1.1.3 christos case 0x51:
15775 1.1 christos GETBYTE ();
15776 1.1 christos switch (op[2] & 0x00)
15777 1.1 christos {
15778 1.1 christos case 0x00:
15779 1.1.1.3 christos goto op_semantics_122;
15780 1.1 christos break;
15781 1.1 christos }
15782 1.1 christos break;
15783 1.1.1.3 christos case 0x52:
15784 1.1 christos GETBYTE ();
15785 1.1 christos switch (op[2] & 0x00)
15786 1.1 christos {
15787 1.1 christos case 0x00:
15788 1.1.1.3 christos goto op_semantics_122;
15789 1.1 christos break;
15790 1.1 christos }
15791 1.1 christos break;
15792 1.1.1.3 christos case 0x53:
15793 1.1 christos GETBYTE ();
15794 1.1 christos switch (op[2] & 0x00)
15795 1.1 christos {
15796 1.1 christos case 0x00:
15797 1.1.1.3 christos goto op_semantics_122;
15798 1.1 christos break;
15799 1.1 christos }
15800 1.1 christos break;
15801 1.1.1.3 christos case 0x54:
15802 1.1 christos GETBYTE ();
15803 1.1 christos switch (op[2] & 0x00)
15804 1.1 christos {
15805 1.1 christos case 0x00:
15806 1.1.1.3 christos goto op_semantics_122;
15807 1.1 christos break;
15808 1.1 christos }
15809 1.1 christos break;
15810 1.1.1.3 christos case 0x55:
15811 1.1 christos GETBYTE ();
15812 1.1 christos switch (op[2] & 0x00)
15813 1.1 christos {
15814 1.1 christos case 0x00:
15815 1.1.1.3 christos goto op_semantics_122;
15816 1.1 christos break;
15817 1.1 christos }
15818 1.1 christos break;
15819 1.1.1.3 christos case 0x56:
15820 1.1 christos GETBYTE ();
15821 1.1 christos switch (op[2] & 0x00)
15822 1.1 christos {
15823 1.1 christos case 0x00:
15824 1.1.1.3 christos goto op_semantics_122;
15825 1.1 christos break;
15826 1.1 christos }
15827 1.1 christos break;
15828 1.1.1.3 christos case 0x57:
15829 1.1 christos GETBYTE ();
15830 1.1 christos switch (op[2] & 0x00)
15831 1.1 christos {
15832 1.1 christos case 0x00:
15833 1.1.1.3 christos goto op_semantics_122;
15834 1.1 christos break;
15835 1.1 christos }
15836 1.1 christos break;
15837 1.1.1.3 christos case 0x58:
15838 1.1 christos GETBYTE ();
15839 1.1 christos switch (op[2] & 0x00)
15840 1.1 christos {
15841 1.1 christos case 0x00:
15842 1.1.1.3 christos goto op_semantics_122;
15843 1.1 christos break;
15844 1.1 christos }
15845 1.1 christos break;
15846 1.1.1.3 christos case 0x59:
15847 1.1 christos GETBYTE ();
15848 1.1 christos switch (op[2] & 0x00)
15849 1.1 christos {
15850 1.1 christos case 0x00:
15851 1.1.1.3 christos goto op_semantics_122;
15852 1.1 christos break;
15853 1.1 christos }
15854 1.1 christos break;
15855 1.1.1.3 christos case 0x5a:
15856 1.1 christos GETBYTE ();
15857 1.1 christos switch (op[2] & 0x00)
15858 1.1 christos {
15859 1.1 christos case 0x00:
15860 1.1.1.3 christos goto op_semantics_122;
15861 1.1 christos break;
15862 1.1 christos }
15863 1.1 christos break;
15864 1.1.1.3 christos case 0x5b:
15865 1.1 christos GETBYTE ();
15866 1.1 christos switch (op[2] & 0x00)
15867 1.1 christos {
15868 1.1 christos case 0x00:
15869 1.1.1.3 christos goto op_semantics_122;
15870 1.1 christos break;
15871 1.1 christos }
15872 1.1 christos break;
15873 1.1.1.3 christos case 0x5c:
15874 1.1 christos GETBYTE ();
15875 1.1 christos switch (op[2] & 0x00)
15876 1.1 christos {
15877 1.1 christos case 0x00:
15878 1.1.1.3 christos goto op_semantics_122;
15879 1.1 christos break;
15880 1.1 christos }
15881 1.1 christos break;
15882 1.1.1.3 christos case 0x5d:
15883 1.1 christos GETBYTE ();
15884 1.1 christos switch (op[2] & 0x00)
15885 1.1 christos {
15886 1.1 christos case 0x00:
15887 1.1.1.3 christos goto op_semantics_122;
15888 1.1 christos break;
15889 1.1 christos }
15890 1.1 christos break;
15891 1.1.1.3 christos case 0x5e:
15892 1.1 christos GETBYTE ();
15893 1.1 christos switch (op[2] & 0x00)
15894 1.1 christos {
15895 1.1 christos case 0x00:
15896 1.1.1.3 christos goto op_semantics_122;
15897 1.1 christos break;
15898 1.1 christos }
15899 1.1 christos break;
15900 1.1.1.3 christos case 0x5f:
15901 1.1 christos GETBYTE ();
15902 1.1 christos switch (op[2] & 0x00)
15903 1.1 christos {
15904 1.1 christos case 0x00:
15905 1.1.1.3 christos goto op_semantics_122;
15906 1.1 christos break;
15907 1.1 christos }
15908 1.1 christos break;
15909 1.1.1.3 christos case 0x80:
15910 1.1 christos GETBYTE ();
15911 1.1 christos switch (op[2] & 0x00)
15912 1.1 christos {
15913 1.1 christos case 0x00:
15914 1.1.1.3 christos op_semantics_123:
15915 1.1 christos {
15916 1.1.1.3 christos /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
15917 1.1.1.3 christos #line 1100 "rx-decode.opc"
15918 1.1 christos int rdst AU = op[1] & 0x0f;
15919 1.1.1.3 christos #line 1100 "rx-decode.opc"
15920 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
15921 1.1.1.3 christos #line 1100 "rx-decode.opc"
15922 1.1 christos int srcb AU = op[2] & 0x0f;
15923 1.1 christos if (trace)
15924 1.1 christos {
15925 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
15926 1.1.1.3 christos "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
15927 1.1 christos op[0], op[1], op[2]);
15928 1.1 christos printf (" rdst = 0x%x,", rdst);
15929 1.1 christos printf (" srca = 0x%x,", srca);
15930 1.1 christos printf (" srcb = 0x%x\n", srcb);
15931 1.1 christos }
15932 1.1.1.3 christos SYNTAX("fsub %2, %1, %0");
15933 1.1.1.3 christos #line 1100 "rx-decode.opc"
15934 1.1.1.3 christos ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
15935 1.1.1.3 christos
15936 1.1 christos }
15937 1.1 christos break;
15938 1.1 christos }
15939 1.1 christos break;
15940 1.1.1.3 christos case 0x81:
15941 1.1 christos GETBYTE ();
15942 1.1 christos switch (op[2] & 0x00)
15943 1.1 christos {
15944 1.1 christos case 0x00:
15945 1.1.1.3 christos goto op_semantics_123;
15946 1.1 christos break;
15947 1.1 christos }
15948 1.1 christos break;
15949 1.1.1.3 christos case 0x82:
15950 1.1 christos GETBYTE ();
15951 1.1 christos switch (op[2] & 0x00)
15952 1.1 christos {
15953 1.1 christos case 0x00:
15954 1.1.1.3 christos goto op_semantics_123;
15955 1.1 christos break;
15956 1.1 christos }
15957 1.1 christos break;
15958 1.1.1.3 christos case 0x83:
15959 1.1 christos GETBYTE ();
15960 1.1 christos switch (op[2] & 0x00)
15961 1.1 christos {
15962 1.1 christos case 0x00:
15963 1.1.1.3 christos goto op_semantics_123;
15964 1.1 christos break;
15965 1.1 christos }
15966 1.1 christos break;
15967 1.1.1.3 christos case 0x84:
15968 1.1 christos GETBYTE ();
15969 1.1 christos switch (op[2] & 0x00)
15970 1.1 christos {
15971 1.1 christos case 0x00:
15972 1.1.1.3 christos goto op_semantics_123;
15973 1.1 christos break;
15974 1.1 christos }
15975 1.1 christos break;
15976 1.1.1.3 christos case 0x85:
15977 1.1 christos GETBYTE ();
15978 1.1 christos switch (op[2] & 0x00)
15979 1.1 christos {
15980 1.1 christos case 0x00:
15981 1.1.1.3 christos goto op_semantics_123;
15982 1.1 christos break;
15983 1.1 christos }
15984 1.1 christos break;
15985 1.1.1.3 christos case 0x86:
15986 1.1 christos GETBYTE ();
15987 1.1 christos switch (op[2] & 0x00)
15988 1.1 christos {
15989 1.1 christos case 0x00:
15990 1.1.1.3 christos goto op_semantics_123;
15991 1.1 christos break;
15992 1.1 christos }
15993 1.1 christos break;
15994 1.1.1.3 christos case 0x87:
15995 1.1 christos GETBYTE ();
15996 1.1 christos switch (op[2] & 0x00)
15997 1.1 christos {
15998 1.1 christos case 0x00:
15999 1.1.1.3 christos goto op_semantics_123;
16000 1.1 christos break;
16001 1.1 christos }
16002 1.1 christos break;
16003 1.1.1.3 christos case 0x88:
16004 1.1 christos GETBYTE ();
16005 1.1 christos switch (op[2] & 0x00)
16006 1.1 christos {
16007 1.1 christos case 0x00:
16008 1.1.1.3 christos goto op_semantics_123;
16009 1.1 christos break;
16010 1.1 christos }
16011 1.1 christos break;
16012 1.1.1.3 christos case 0x89:
16013 1.1 christos GETBYTE ();
16014 1.1 christos switch (op[2] & 0x00)
16015 1.1 christos {
16016 1.1 christos case 0x00:
16017 1.1.1.3 christos goto op_semantics_123;
16018 1.1 christos break;
16019 1.1 christos }
16020 1.1 christos break;
16021 1.1.1.3 christos case 0x8a:
16022 1.1 christos GETBYTE ();
16023 1.1 christos switch (op[2] & 0x00)
16024 1.1 christos {
16025 1.1 christos case 0x00:
16026 1.1.1.3 christos goto op_semantics_123;
16027 1.1 christos break;
16028 1.1 christos }
16029 1.1 christos break;
16030 1.1.1.3 christos case 0x8b:
16031 1.1 christos GETBYTE ();
16032 1.1 christos switch (op[2] & 0x00)
16033 1.1 christos {
16034 1.1 christos case 0x00:
16035 1.1.1.3 christos goto op_semantics_123;
16036 1.1 christos break;
16037 1.1 christos }
16038 1.1 christos break;
16039 1.1.1.3 christos case 0x8c:
16040 1.1 christos GETBYTE ();
16041 1.1 christos switch (op[2] & 0x00)
16042 1.1 christos {
16043 1.1 christos case 0x00:
16044 1.1.1.3 christos goto op_semantics_123;
16045 1.1 christos break;
16046 1.1 christos }
16047 1.1 christos break;
16048 1.1.1.3 christos case 0x8d:
16049 1.1 christos GETBYTE ();
16050 1.1 christos switch (op[2] & 0x00)
16051 1.1 christos {
16052 1.1 christos case 0x00:
16053 1.1.1.3 christos goto op_semantics_123;
16054 1.1 christos break;
16055 1.1 christos }
16056 1.1 christos break;
16057 1.1.1.3 christos case 0x8e:
16058 1.1 christos GETBYTE ();
16059 1.1 christos switch (op[2] & 0x00)
16060 1.1 christos {
16061 1.1 christos case 0x00:
16062 1.1.1.3 christos goto op_semantics_123;
16063 1.1 christos break;
16064 1.1 christos }
16065 1.1 christos break;
16066 1.1.1.3 christos case 0x8f:
16067 1.1 christos GETBYTE ();
16068 1.1 christos switch (op[2] & 0x00)
16069 1.1 christos {
16070 1.1 christos case 0x00:
16071 1.1.1.3 christos goto op_semantics_123;
16072 1.1 christos break;
16073 1.1 christos }
16074 1.1 christos break;
16075 1.1.1.3 christos case 0xa0:
16076 1.1 christos GETBYTE ();
16077 1.1 christos switch (op[2] & 0x00)
16078 1.1 christos {
16079 1.1 christos case 0x00:
16080 1.1.1.3 christos op_semantics_124:
16081 1.1 christos {
16082 1.1.1.3 christos /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
16083 1.1.1.3 christos #line 1097 "rx-decode.opc"
16084 1.1 christos int rdst AU = op[1] & 0x0f;
16085 1.1.1.3 christos #line 1097 "rx-decode.opc"
16086 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
16087 1.1.1.3 christos #line 1097 "rx-decode.opc"
16088 1.1 christos int srcb AU = op[2] & 0x0f;
16089 1.1 christos if (trace)
16090 1.1 christos {
16091 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16092 1.1.1.3 christos "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
16093 1.1 christos op[0], op[1], op[2]);
16094 1.1 christos printf (" rdst = 0x%x,", rdst);
16095 1.1 christos printf (" srca = 0x%x,", srca);
16096 1.1 christos printf (" srcb = 0x%x\n", srcb);
16097 1.1 christos }
16098 1.1.1.3 christos SYNTAX("fadd %2, %1, %0");
16099 1.1.1.3 christos #line 1097 "rx-decode.opc"
16100 1.1.1.3 christos ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16101 1.1.1.3 christos
16102 1.1 christos }
16103 1.1 christos break;
16104 1.1 christos }
16105 1.1 christos break;
16106 1.1.1.3 christos case 0xa1:
16107 1.1 christos GETBYTE ();
16108 1.1 christos switch (op[2] & 0x00)
16109 1.1 christos {
16110 1.1 christos case 0x00:
16111 1.1.1.3 christos goto op_semantics_124;
16112 1.1 christos break;
16113 1.1 christos }
16114 1.1 christos break;
16115 1.1.1.3 christos case 0xa2:
16116 1.1 christos GETBYTE ();
16117 1.1 christos switch (op[2] & 0x00)
16118 1.1 christos {
16119 1.1 christos case 0x00:
16120 1.1.1.3 christos goto op_semantics_124;
16121 1.1 christos break;
16122 1.1 christos }
16123 1.1 christos break;
16124 1.1.1.3 christos case 0xa3:
16125 1.1 christos GETBYTE ();
16126 1.1 christos switch (op[2] & 0x00)
16127 1.1 christos {
16128 1.1 christos case 0x00:
16129 1.1.1.3 christos goto op_semantics_124;
16130 1.1 christos break;
16131 1.1 christos }
16132 1.1 christos break;
16133 1.1.1.3 christos case 0xa4:
16134 1.1 christos GETBYTE ();
16135 1.1 christos switch (op[2] & 0x00)
16136 1.1 christos {
16137 1.1 christos case 0x00:
16138 1.1.1.3 christos goto op_semantics_124;
16139 1.1 christos break;
16140 1.1 christos }
16141 1.1 christos break;
16142 1.1.1.3 christos case 0xa5:
16143 1.1 christos GETBYTE ();
16144 1.1 christos switch (op[2] & 0x00)
16145 1.1 christos {
16146 1.1 christos case 0x00:
16147 1.1.1.3 christos goto op_semantics_124;
16148 1.1 christos break;
16149 1.1 christos }
16150 1.1 christos break;
16151 1.1.1.3 christos case 0xa6:
16152 1.1 christos GETBYTE ();
16153 1.1 christos switch (op[2] & 0x00)
16154 1.1 christos {
16155 1.1 christos case 0x00:
16156 1.1.1.3 christos goto op_semantics_124;
16157 1.1 christos break;
16158 1.1 christos }
16159 1.1 christos break;
16160 1.1.1.3 christos case 0xa7:
16161 1.1 christos GETBYTE ();
16162 1.1 christos switch (op[2] & 0x00)
16163 1.1 christos {
16164 1.1 christos case 0x00:
16165 1.1.1.3 christos goto op_semantics_124;
16166 1.1 christos break;
16167 1.1 christos }
16168 1.1 christos break;
16169 1.1.1.3 christos case 0xa8:
16170 1.1 christos GETBYTE ();
16171 1.1 christos switch (op[2] & 0x00)
16172 1.1 christos {
16173 1.1 christos case 0x00:
16174 1.1.1.3 christos goto op_semantics_124;
16175 1.1 christos break;
16176 1.1 christos }
16177 1.1 christos break;
16178 1.1.1.3 christos case 0xa9:
16179 1.1 christos GETBYTE ();
16180 1.1 christos switch (op[2] & 0x00)
16181 1.1 christos {
16182 1.1 christos case 0x00:
16183 1.1.1.3 christos goto op_semantics_124;
16184 1.1 christos break;
16185 1.1 christos }
16186 1.1 christos break;
16187 1.1.1.3 christos case 0xaa:
16188 1.1 christos GETBYTE ();
16189 1.1 christos switch (op[2] & 0x00)
16190 1.1 christos {
16191 1.1 christos case 0x00:
16192 1.1.1.3 christos goto op_semantics_124;
16193 1.1 christos break;
16194 1.1 christos }
16195 1.1 christos break;
16196 1.1.1.3 christos case 0xab:
16197 1.1 christos GETBYTE ();
16198 1.1 christos switch (op[2] & 0x00)
16199 1.1 christos {
16200 1.1 christos case 0x00:
16201 1.1.1.3 christos goto op_semantics_124;
16202 1.1 christos break;
16203 1.1 christos }
16204 1.1 christos break;
16205 1.1.1.3 christos case 0xac:
16206 1.1 christos GETBYTE ();
16207 1.1 christos switch (op[2] & 0x00)
16208 1.1 christos {
16209 1.1 christos case 0x00:
16210 1.1.1.3 christos goto op_semantics_124;
16211 1.1 christos break;
16212 1.1 christos }
16213 1.1 christos break;
16214 1.1.1.3 christos case 0xad:
16215 1.1 christos GETBYTE ();
16216 1.1 christos switch (op[2] & 0x00)
16217 1.1 christos {
16218 1.1 christos case 0x00:
16219 1.1.1.3 christos goto op_semantics_124;
16220 1.1 christos break;
16221 1.1 christos }
16222 1.1 christos break;
16223 1.1.1.3 christos case 0xae:
16224 1.1 christos GETBYTE ();
16225 1.1 christos switch (op[2] & 0x00)
16226 1.1 christos {
16227 1.1 christos case 0x00:
16228 1.1.1.3 christos goto op_semantics_124;
16229 1.1 christos break;
16230 1.1 christos }
16231 1.1 christos break;
16232 1.1.1.3 christos case 0xaf:
16233 1.1 christos GETBYTE ();
16234 1.1 christos switch (op[2] & 0x00)
16235 1.1 christos {
16236 1.1 christos case 0x00:
16237 1.1.1.3 christos goto op_semantics_124;
16238 1.1 christos break;
16239 1.1 christos }
16240 1.1 christos break;
16241 1.1.1.3 christos case 0xb0:
16242 1.1 christos GETBYTE ();
16243 1.1 christos switch (op[2] & 0x00)
16244 1.1 christos {
16245 1.1 christos case 0x00:
16246 1.1.1.3 christos op_semantics_125:
16247 1.1 christos {
16248 1.1.1.3 christos /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
16249 1.1.1.3 christos #line 1103 "rx-decode.opc"
16250 1.1 christos int rdst AU = op[1] & 0x0f;
16251 1.1.1.3 christos #line 1103 "rx-decode.opc"
16252 1.1 christos int srca AU = (op[2] >> 4) & 0x0f;
16253 1.1.1.3 christos #line 1103 "rx-decode.opc"
16254 1.1 christos int srcb AU = op[2] & 0x0f;
16255 1.1 christos if (trace)
16256 1.1 christos {
16257 1.1 christos printf ("\033[33m%s\033[0m %02x %02x %02x\n",
16258 1.1.1.3 christos "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
16259 1.1 christos op[0], op[1], op[2]);
16260 1.1 christos printf (" rdst = 0x%x,", rdst);
16261 1.1 christos printf (" srca = 0x%x,", srca);
16262 1.1 christos printf (" srcb = 0x%x\n", srcb);
16263 1.1 christos }
16264 1.1.1.3 christos SYNTAX("fmul %2, %1, %0");
16265 1.1.1.3 christos #line 1103 "rx-decode.opc"
16266 1.1.1.3 christos ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
16267 1.1.1.3 christos
16268 1.1 christos }
16269 1.1 christos break;
16270 1.1 christos }
16271 1.1 christos break;
16272 1.1.1.3 christos case 0xb1:
16273 1.1 christos GETBYTE ();
16274 1.1 christos switch (op[2] & 0x00)
16275 1.1 christos {
16276 1.1 christos case 0x00:
16277 1.1.1.3 christos goto op_semantics_125;
16278 1.1 christos break;
16279 1.1 christos }
16280 1.1 christos break;
16281 1.1.1.3 christos case 0xb2:
16282 1.1 christos GETBYTE ();
16283 1.1 christos switch (op[2] & 0x00)
16284 1.1 christos {
16285 1.1 christos case 0x00:
16286 1.1.1.3 christos goto op_semantics_125;
16287 1.1 christos break;
16288 1.1 christos }
16289 1.1 christos break;
16290 1.1.1.3 christos case 0xb3:
16291 1.1 christos GETBYTE ();
16292 1.1 christos switch (op[2] & 0x00)
16293 1.1 christos {
16294 1.1 christos case 0x00:
16295 1.1.1.3 christos goto op_semantics_125;
16296 1.1 christos break;
16297 1.1 christos }
16298 1.1 christos break;
16299 1.1.1.3 christos case 0xb4:
16300 1.1 christos GETBYTE ();
16301 1.1 christos switch (op[2] & 0x00)
16302 1.1 christos {
16303 1.1 christos case 0x00:
16304 1.1.1.3 christos goto op_semantics_125;
16305 1.1 christos break;
16306 1.1 christos }
16307 1.1 christos break;
16308 1.1.1.3 christos case 0xb5:
16309 1.1 christos GETBYTE ();
16310 1.1 christos switch (op[2] & 0x00)
16311 1.1 christos {
16312 1.1 christos case 0x00:
16313 1.1.1.3 christos goto op_semantics_125;
16314 1.1 christos break;
16315 1.1 christos }
16316 1.1 christos break;
16317 1.1.1.3 christos case 0xb6:
16318 1.1 christos GETBYTE ();
16319 1.1 christos switch (op[2] & 0x00)
16320 1.1 christos {
16321 1.1 christos case 0x00:
16322 1.1.1.3 christos goto op_semantics_125;
16323 1.1 christos break;
16324 1.1 christos }
16325 1.1 christos break;
16326 1.1.1.3 christos case 0xb7:
16327 1.1 christos GETBYTE ();
16328 1.1 christos switch (op[2] & 0x00)
16329 1.1 christos {
16330 1.1 christos case 0x00:
16331 1.1.1.3 christos goto op_semantics_125;
16332 1.1 christos break;
16333 1.1 christos }
16334 1.1 christos break;
16335 1.1.1.3 christos case 0xb8:
16336 1.1 christos GETBYTE ();
16337 1.1 christos switch (op[2] & 0x00)
16338 1.1 christos {
16339 1.1 christos case 0x00:
16340 1.1.1.3 christos goto op_semantics_125;
16341 1.1 christos break;
16342 1.1 christos }
16343 1.1 christos break;
16344 1.1.1.3 christos case 0xb9:
16345 1.1 christos GETBYTE ();
16346 1.1 christos switch (op[2] & 0x00)
16347 1.1 christos {
16348 1.1 christos case 0x00:
16349 1.1.1.3 christos goto op_semantics_125;
16350 1.1 christos break;
16351 1.1 christos }
16352 1.1 christos break;
16353 1.1.1.3 christos case 0xba:
16354 1.1 christos GETBYTE ();
16355 1.1 christos switch (op[2] & 0x00)
16356 1.1 christos {
16357 1.1 christos case 0x00:
16358 1.1.1.3 christos goto op_semantics_125;
16359 1.1 christos break;
16360 1.1 christos }
16361 1.1 christos break;
16362 1.1.1.3 christos case 0xbb:
16363 1.1 christos GETBYTE ();
16364 1.1 christos switch (op[2] & 0x00)
16365 1.1 christos {
16366 1.1 christos case 0x00:
16367 1.1.1.3 christos goto op_semantics_125;
16368 1.1 christos break;
16369 1.1 christos }
16370 1.1 christos break;
16371 1.1.1.3 christos case 0xbc:
16372 1.1 christos GETBYTE ();
16373 1.1 christos switch (op[2] & 0x00)
16374 1.1 christos {
16375 1.1 christos case 0x00:
16376 1.1.1.3 christos goto op_semantics_125;
16377 1.1 christos break;
16378 1.1 christos }
16379 1.1 christos break;
16380 1.1.1.3 christos case 0xbd:
16381 1.1 christos GETBYTE ();
16382 1.1 christos switch (op[2] & 0x00)
16383 1.1 christos {
16384 1.1 christos case 0x00:
16385 1.1.1.3 christos goto op_semantics_125;
16386 1.1 christos break;
16387 1.1 christos }
16388 1.1 christos break;
16389 1.1.1.3 christos case 0xbe:
16390 1.1 christos GETBYTE ();
16391 1.1 christos switch (op[2] & 0x00)
16392 1.1 christos {
16393 1.1 christos case 0x00:
16394 1.1.1.3 christos goto op_semantics_125;
16395 1.1 christos break;
16396 1.1 christos }
16397 1.1 christos break;
16398 1.1.1.3 christos case 0xbf:
16399 1.1 christos GETBYTE ();
16400 1.1 christos switch (op[2] & 0x00)
16401 1.1 christos {
16402 1.1 christos case 0x00:
16403 1.1.1.3 christos goto op_semantics_125;
16404 1.1 christos break;
16405 1.1 christos }
16406 1.1 christos break;
16407 1.1 christos default: UNSUPPORTED(); break;
16408 1.1 christos }
16409 1.1 christos break;
16410 1.1 christos default: UNSUPPORTED(); break;
16411 1.1 christos }
16412 1.1.1.3 christos #line 1118 "rx-decode.opc"
16413 1.1 christos
16414 1.1 christos return rx->n_bytes;
16415 1.1 christos }
16416