1 /* DO NOT EDIT!  -*- buffer-read-only: t -*-
2    This file is automatically generated by z8kgen.  */
3 
4 #define ARG_MASK         0x0f
5 #define ARG_SRC          0x01
6 #define ARG_DST          0x02
7 #define ARG_RS           0x01
8 #define ARG_RD           0x02
9 #define ARG_RA           0x03
10 #define ARG_RB           0x04
11 #define ARG_RR           0x05
12 #define ARG_RX           0x06
13 #define ARG_IMM4         0x01
14 #define ARG_IMM8         0x02
15 #define ARG_IMM16        0x03
16 #define ARG_IMM32        0x04
17 #define ARG_IMMN         0x05
18 #define ARG_IMMNMINUS1   0x05
19 #define ARG_IMM_1        0x06
20 #define ARG_IMM_2        0x07
21 #define ARG_DISP16       0x08
22 #define ARG_NIM8         0x09
23 #define ARG_IMM2         0x0a
24 #define ARG_IMM1OR2      0x0b
25 #define ARG_DISP12       0x0b
26 #define ARG_NIM4         0x0c
27 #define ARG_DISP8        0x0c
28 #define ARG_IMM4M1       0x0d
29 #define CLASS_X          0x10
30 #define CLASS_BA         0x20
31 #define CLASS_DA         0x30
32 #define CLASS_BX         0x40
33 #define CLASS_DISP       0x50
34 #define CLASS_IMM        0x60
35 #define CLASS_CC         0x70
36 #define CLASS_CTRL       0x80
37 #define CLASS_IGNORE     0x90
38 #define CLASS_ADDRESS    0xd0
39 #define CLASS_0CCC       0xe0
40 #define CLASS_1CCC       0xf0
41 #define CLASS_0DISP7    0x100
42 #define CLASS_1DISP7    0x200
43 #define CLASS_01II      0x300
44 #define CLASS_00II      0x400
45 #define CLASS_BIT       0x500
46 #define CLASS_FLAGS     0x600
47 #define CLASS_IR        0x700
48 #define CLASS_IRO       0x800
49 #define CLASS_DISP8     0x900
50 #define CLASS_BIT_1OR2  0xa00
51 #define CLASS_REG       0x7000
52 #define CLASS_REG_BYTE  0x2000
53 #define CLASS_REG_WORD  0x3000
54 #define CLASS_REG_QUAD  0x4000
55 #define CLASS_REG_LONG  0x5000
56 #define CLASS_REGN0     0x8000
57 #define CLASS_PR       0x10000
58 #define CLASS_MASK     0x1fff0
59 #define OPC_adc      0
60 #define OPC_adcb     1
61 #define OPC_add      2
62 #define OPC_addb     3
63 #define OPC_addl     4
64 #define OPC_and      5
65 #define OPC_andb     6
66 #define OPC_bit      7
67 #define OPC_bitb     8
68 #define OPC_call     9
69 #define OPC_calr    10
70 #define OPC_clr     11
71 #define OPC_clrb    12
72 #define OPC_com     13
73 #define OPC_comb    14
74 #define OPC_comflg  15
75 #define OPC_cp      16
76 #define OPC_cpb     17
77 #define OPC_cpd     18
78 #define OPC_cpdb    19
79 #define OPC_cpdr    20
80 #define OPC_cpdrb   21
81 #define OPC_cpi     22
82 #define OPC_cpib    23
83 #define OPC_cpir    24
84 #define OPC_cpirb   25
85 #define OPC_cpl     26
86 #define OPC_cpsd    27
87 #define OPC_cpsdb   28
88 #define OPC_cpsdr   29
89 #define OPC_cpsdrb  30
90 #define OPC_cpsi    31
91 #define OPC_cpsib   32
92 #define OPC_cpsir   33
93 #define OPC_cpsirb  34
94 #define OPC_dab     35
95 #define OPC_dbjnz   36
96 #define OPC_dec     37
97 #define OPC_decb    38
98 #define OPC_di      39
99 #define OPC_div     40
100 #define OPC_divl    41
101 #define OPC_djnz    42
102 #define OPC_ei      43
103 #define OPC_ex      44
104 #define OPC_exb     45
105 #define OPC_exts    46
106 #define OPC_extsb   47
107 #define OPC_extsl   48
108 #define OPC_halt    49
109 #define OPC_in      50
110 #define OPC_inb     51
111 #define OPC_inc     52
112 #define OPC_incb    53
113 #define OPC_ind     54
114 #define OPC_indb    55
115 #define OPC_indr    56
116 #define OPC_indrb   57
117 #define OPC_ini     58
118 #define OPC_inib    59
119 #define OPC_inir    60
120 #define OPC_inirb   61
121 #define OPC_iret    62
122 #define OPC_jp      63
123 #define OPC_jr      64
124 #define OPC_ld      65
125 #define OPC_lda     66
126 #define OPC_ldar    67
127 #define OPC_ldb     68
128 #define OPC_ldctl   69
129 #define OPC_ldir    70
130 #define OPC_ldirb   71
131 #define OPC_ldk     72
132 #define OPC_ldl     73
133 #define OPC_ldm     74
134 #define OPC_ldps    75
135 #define OPC_ldr     76
136 #define OPC_ldrb    77
137 #define OPC_ldrl    78
138 #define OPC_mbit    79
139 #define OPC_mreq    80
140 #define OPC_mres    81
141 #define OPC_mset    82
142 #define OPC_mult    83
143 #define OPC_multl   84
144 #define OPC_neg     85
145 #define OPC_negb    86
146 #define OPC_nop     87
147 #define OPC_or      88
148 #define OPC_orb     89
149 #define OPC_otdr    90
150 #define OPC_otdrb   91
151 #define OPC_otir    92
152 #define OPC_otirb   93
153 #define OPC_out     94
154 #define OPC_outb    95
155 #define OPC_outd    96
156 #define OPC_outdb   97
157 #define OPC_outi    98
158 #define OPC_outib   99
159 #define OPC_pop    100
160 #define OPC_popl   101
161 #define OPC_push   102
162 #define OPC_pushl  103
163 #define OPC_res    104
164 #define OPC_resb   105
165 #define OPC_resflg 106
166 #define OPC_ret    107
167 #define OPC_rl     108
168 #define OPC_rlb    109
169 #define OPC_rlc    110
170 #define OPC_rlcb   111
171 #define OPC_rldb   112
172 #define OPC_rr     113
173 #define OPC_rrb    114
174 #define OPC_rrc    115
175 #define OPC_rrcb   116
176 #define OPC_rrdb   117
177 #define OPC_sbc    118
178 #define OPC_sbcb   119
179 #define OPC_sda    120
180 #define OPC_sdab   121
181 #define OPC_sdal   122
182 #define OPC_sdl    123
183 #define OPC_sdlb   124
184 #define OPC_sdll   125
185 #define OPC_set    126
186 #define OPC_setb   127
187 #define OPC_setflg 128
188 #define OPC_sin    129
189 #define OPC_sinb   130
190 #define OPC_sind   131
191 #define OPC_sindb  132
192 #define OPC_sindr  133
193 #define OPC_sindrb 134
194 #define OPC_sini   135
195 #define OPC_sinib  136
196 #define OPC_sinir  137
197 #define OPC_sinirb 138
198 #define OPC_sla    139
199 #define OPC_slab   140
200 #define OPC_slal   141
201 #define OPC_sll    142
202 #define OPC_sllb   143
203 #define OPC_slll   144
204 #define OPC_sotdr  145
205 #define OPC_sotdrb 146
206 #define OPC_sotir  147
207 #define OPC_sotirb 148
208 #define OPC_sout   149
209 #define OPC_soutb  150
210 #define OPC_soutd  151
211 #define OPC_soutdb 152
212 #define OPC_souti  153
213 #define OPC_soutib 154
214 #define OPC_sra    155
215 #define OPC_srab   156
216 #define OPC_sral   157
217 #define OPC_srl    158
218 #define OPC_srlb   159
219 #define OPC_srll   160
220 #define OPC_sub    161
221 #define OPC_subb   162
222 #define OPC_subl   163
223 #define OPC_tcc    164
224 #define OPC_tccb   165
225 #define OPC_test   166
226 #define OPC_testb  167
227 #define OPC_testl  168
228 #define OPC_trdb   169
229 #define OPC_trdrb  170
230 #define OPC_trib   171
231 #define OPC_trirb  172
232 #define OPC_trtdrb 173
233 #define OPC_trtib  174
234 #define OPC_trtirb 175
235 #define OPC_trtrb  176
236 #define OPC_tset   177
237 #define OPC_tsetb  178
238 #define OPC_xor    179
239 #define OPC_xorb   180
240 #define OPC_ldd    181
241 #define OPC_lddb   182
242 #define OPC_lddr   183
243 #define OPC_lddrb  184
244 #define OPC_ldi    185
245 #define OPC_ldib   186
246 #define OPC_sc     187
247 #define OPC_bpt    188
248 #define OPC_ext0e  188
249 #define OPC_ext0f  188
250 #define OPC_ext8e  188
251 #define OPC_ext8f  188
252 #define OPC_rsvd36 188
253 #define OPC_rsvd38 188
254 #define OPC_rsvd78 188
255 #define OPC_rsvd7e 188
256 #define OPC_rsvd9d 188
257 #define OPC_rsvd9f 188
258 #define OPC_rsvdb9 188
259 #define OPC_rsvdbf 188
260 #define OPC_ldctlb 189
261 #define OPC_trtdb  190
262 #define OPC_brk    191
263 
264 typedef struct {
265 #ifdef NICENAMES
266   const char *nicename;
267   int type;
268   int cycles;
269   int flags;
270 #endif
271   const char *name;
272   unsigned char opcode;
273   void (*func) PARAMS ((void));
274   unsigned int arg_info[4];
275   unsigned int byte_info[10];
276   int noperands;
277   int length;
278   int idx;
279 } opcode_entry_type;
280 
281 #ifdef DEFINE_TABLE
282 const opcode_entry_type z8k_table[] = {
283 
284 /* 1011 0101 ssss dddd *** adc rd,rs */
285 {
286 #ifdef NICENAMES
287 "adc rd,rs",16,5,0x3c,
288 #endif
289 "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
290 	{CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
291 
292 /* 1011 0100 ssss dddd *** adcb rbd,rbs */
293 {
294 #ifdef NICENAMES
295 "adcb rbd,rbs",8,5,0x3f,
296 #endif
297 "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
298 	{CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
299 
300 /* 0000 0001 ssN0 dddd *** add rd,@rs */
301 {
302 #ifdef NICENAMES
303 "add rd,@rs",16,7,0x3c,
304 #endif
305 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
306 	{CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
307 
308 /* 0100 0001 0000 dddd address_src *** add rd,address_src */
309 {
310 #ifdef NICENAMES
311 "add rd,address_src",16,9,0x3c,
312 #endif
313 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
314 	{CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
315 
316 /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
317 {
318 #ifdef NICENAMES
319 "add rd,address_src(rs)",16,10,0x3c,
320 #endif
321 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
322 	{CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
323 
324 /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
325 {
326 #ifdef NICENAMES
327 "add rd,imm16",16,7,0x3c,
328 #endif
329 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
330 	{CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,2},
331 
332 /* 1000 0001 ssss dddd *** add rd,rs */
333 {
334 #ifdef NICENAMES
335 "add rd,rs",16,4,0x3c,
336 #endif
337 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
338 	{CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
339 
340 /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
341 {
342 #ifdef NICENAMES
343 "addb rbd,@rs",8,7,0x3f,
344 #endif
345 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
346 	{CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
347 
348 /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
349 {
350 #ifdef NICENAMES
351 "addb rbd,address_src",8,9,0x3f,
352 #endif
353 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
354 	{CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
355 
356 /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
357 {
358 #ifdef NICENAMES
359 "addb rbd,address_src(rs)",8,10,0x3f,
360 #endif
361 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
362 	{CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
363 
364 /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
365 {
366 #ifdef NICENAMES
367 "addb rbd,imm8",8,7,0x3f,
368 #endif
369 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
370 	{CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,3},
371 
372 /* 1000 0000 ssss dddd *** addb rbd,rbs */
373 {
374 #ifdef NICENAMES
375 "addb rbd,rbs",8,4,0x3f,
376 #endif
377 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
378 	{CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
379 
380 /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
381 {
382 #ifdef NICENAMES
383 "addl rrd,@rs",32,14,0x3c,
384 #endif
385 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
386 	{CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
387 
388 /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
389 {
390 #ifdef NICENAMES
391 "addl rrd,address_src",32,15,0x3c,
392 #endif
393 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
394 	{CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
395 
396 /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
397 {
398 #ifdef NICENAMES
399 "addl rrd,address_src(rs)",32,16,0x3c,
400 #endif
401 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
402 	{CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
403 
404 /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
405 {
406 #ifdef NICENAMES
407 "addl rrd,imm32",32,14,0x3c,
408 #endif
409 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
410 	{CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,4},
411 
412 /* 1001 0110 ssss dddd *** addl rrd,rrs */
413 {
414 #ifdef NICENAMES
415 "addl rrd,rrs",32,8,0x3c,
416 #endif
417 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
418 	{CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
419 
420 /* 0000 0111 ssN0 dddd *** and rd,@rs */
421 {
422 #ifdef NICENAMES
423 "and rd,@rs",16,7,0x18,
424 #endif
425 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
426 	{CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
427 
428 /* 0100 0111 0000 dddd address_src *** and rd,address_src */
429 {
430 #ifdef NICENAMES
431 "and rd,address_src",16,9,0x18,
432 #endif
433 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
434 	{CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
435 
436 /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
437 {
438 #ifdef NICENAMES
439 "and rd,address_src(rs)",16,10,0x18,
440 #endif
441 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
442 	{CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
443 
444 /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
445 {
446 #ifdef NICENAMES
447 "and rd,imm16",16,7,0x18,
448 #endif
449 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
450 	{CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
451 
452 /* 1000 0111 ssss dddd *** and rd,rs */
453 {
454 #ifdef NICENAMES
455 "and rd,rs",16,4,0x18,
456 #endif
457 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
458 	{CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
459 
460 /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
461 {
462 #ifdef NICENAMES
463 "andb rbd,@rs",8,7,0x1c,
464 #endif
465 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
466 	{CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
467 
468 /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
469 {
470 #ifdef NICENAMES
471 "andb rbd,address_src",8,9,0x1c,
472 #endif
473 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
474 	{CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
475 
476 /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
477 {
478 #ifdef NICENAMES
479 "andb rbd,address_src(rs)",8,10,0x1c,
480 #endif
481 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
482 	{CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
483 
484 /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
485 {
486 #ifdef NICENAMES
487 "andb rbd,imm8",8,7,0x1c,
488 #endif
489 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
490 	{CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,6},
491 
492 /* 1000 0110 ssss dddd *** andb rbd,rbs */
493 {
494 #ifdef NICENAMES
495 "andb rbd,rbs",8,4,0x1c,
496 #endif
497 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
498 	{CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
499 
500 /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
501 {
502 #ifdef NICENAMES
503 "bit @rd,imm4",16,8,0x10,
504 #endif
505 "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
506 	{CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
507 
508 /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
509 {
510 #ifdef NICENAMES
511 "bit address_dst(rd),imm4",16,11,0x10,
512 #endif
513 "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
514 	{CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
515 
516 /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
517 {
518 #ifdef NICENAMES
519 "bit address_dst,imm4",16,10,0x10,
520 #endif
521 "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
522 	{CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
523 
524 /* 1010 0111 dddd imm4 *** bit rd,imm4 */
525 {
526 #ifdef NICENAMES
527 "bit rd,imm4",16,4,0x10,
528 #endif
529 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
530 	{CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
531 
532 /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
533 {
534 #ifdef NICENAMES
535 "bit rd,rs",16,10,0x10,
536 #endif
537 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
538 	{CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,7},
539 
540 /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
541 {
542 #ifdef NICENAMES
543 "bitb @rd,imm4",8,8,0x10,
544 #endif
545 "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
546 	{CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
547 
548 /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
549 {
550 #ifdef NICENAMES
551 "bitb address_dst(rd),imm4",8,11,0x10,
552 #endif
553 "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
554 	{CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
555 
556 /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
557 {
558 #ifdef NICENAMES
559 "bitb address_dst,imm4",8,10,0x10,
560 #endif
561 "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
562 	{CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
563 
564 /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
565 {
566 #ifdef NICENAMES
567 "bitb rbd,imm4",8,4,0x10,
568 #endif
569 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
570 	{CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
571 
572 /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
573 {
574 #ifdef NICENAMES
575 "bitb rbd,rs",8,10,0x10,
576 #endif
577 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
578 	{CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,8},
579 
580 /* 0011 0110 0000 0000 *** bpt */
581 {
582 #ifdef NICENAMES
583 "bpt",8,2,0x00,
584 #endif
585 "bpt",OPC_bpt,0,{0},
586 	{CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,9},
587 
588 /* 0000 1111 0000 1100 *** brk */
589 {
590 #ifdef NICENAMES
591 "brk",8,10,0x00,
592 #endif
593 "brk",OPC_brk,0,{0},
594 	{CLASS_BIT+0,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0xc,0,0,0,0,0,},0,2,10},
595 
596 /* 0001 1111 ddN0 0000 *** call @rd */
597 {
598 #ifdef NICENAMES
599 "call @rd",32,10,0x00,
600 #endif
601 "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
602 	{CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,11},
603 
604 /* 0101 1111 0000 0000 address_dst *** call address_dst */
605 {
606 #ifdef NICENAMES
607 "call address_dst",32,12,0x00,
608 #endif
609 "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
610 	{CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
611 
612 /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
613 {
614 #ifdef NICENAMES
615 "call address_dst(rd)",32,13,0x00,
616 #endif
617 "call",OPC_call,0,{CLASS_X+(ARG_RD),},
618 	{CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
619 
620 /* 1101 disp12 *** calr disp12 */
621 {
622 #ifdef NICENAMES
623 "calr disp12",16,10,0x00,
624 #endif
625 "calr",OPC_calr,0,{CLASS_DISP,},
626 	{CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,12},
627 
628 /* 0000 1101 ddN0 1000 *** clr @rd */
629 {
630 #ifdef NICENAMES
631 "clr @rd",16,8,0x00,
632 #endif
633 "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
634 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
635 
636 /* 0100 1101 0000 1000 address_dst *** clr address_dst */
637 {
638 #ifdef NICENAMES
639 "clr address_dst",16,11,0x00,
640 #endif
641 "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
642 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
643 
644 /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
645 {
646 #ifdef NICENAMES
647 "clr address_dst(rd)",16,12,0x00,
648 #endif
649 "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
650 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
651 
652 /* 1000 1101 dddd 1000 *** clr rd */
653 {
654 #ifdef NICENAMES
655 "clr rd",16,7,0x00,
656 #endif
657 "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
658 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
659 
660 /* 0000 1100 ddN0 1000 *** clrb @rd */
661 {
662 #ifdef NICENAMES
663 "clrb @rd",8,8,0x00,
664 #endif
665 "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
666 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
667 
668 /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
669 {
670 #ifdef NICENAMES
671 "clrb address_dst",8,11,0x00,
672 #endif
673 "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
674 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
675 
676 /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
677 {
678 #ifdef NICENAMES
679 "clrb address_dst(rd)",8,12,0x00,
680 #endif
681 "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
682 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
683 
684 /* 1000 1100 dddd 1000 *** clrb rbd */
685 {
686 #ifdef NICENAMES
687 "clrb rbd",8,7,0x00,
688 #endif
689 "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
690 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
691 
692 /* 0000 1101 ddN0 0000 *** com @rd */
693 {
694 #ifdef NICENAMES
695 "com @rd",16,12,0x18,
696 #endif
697 "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
698 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
699 
700 /* 0100 1101 0000 0000 address_dst *** com address_dst */
701 {
702 #ifdef NICENAMES
703 "com address_dst",16,15,0x18,
704 #endif
705 "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
706 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
707 
708 /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
709 {
710 #ifdef NICENAMES
711 "com address_dst(rd)",16,16,0x18,
712 #endif
713 "com",OPC_com,0,{CLASS_X+(ARG_RD),},
714 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
715 
716 /* 1000 1101 dddd 0000 *** com rd */
717 {
718 #ifdef NICENAMES
719 "com rd",16,7,0x18,
720 #endif
721 "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
722 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
723 
724 /* 0000 1100 ddN0 0000 *** comb @rd */
725 {
726 #ifdef NICENAMES
727 "comb @rd",8,12,0x1c,
728 #endif
729 "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
730 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
731 
732 /* 0100 1100 0000 0000 address_dst *** comb address_dst */
733 {
734 #ifdef NICENAMES
735 "comb address_dst",8,15,0x1c,
736 #endif
737 "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
738 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
739 
740 /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
741 {
742 #ifdef NICENAMES
743 "comb address_dst(rd)",8,16,0x1c,
744 #endif
745 "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
746 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
747 
748 /* 1000 1100 dddd 0000 *** comb rbd */
749 {
750 #ifdef NICENAMES
751 "comb rbd",8,7,0x1c,
752 #endif
753 "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
754 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
755 
756 /* 1000 1101 flags 0101 *** comflg flags */
757 {
758 #ifdef NICENAMES
759 "comflg flags",16,7,0x3c,
760 #endif
761 "comflg",OPC_comflg,0,{CLASS_FLAGS,},
762 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,17},
763 
764 /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
765 {
766 #ifdef NICENAMES
767 "cp @rd,imm16",16,11,0x3c,
768 #endif
769 "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
770 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
771 
772 /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
773 {
774 #ifdef NICENAMES
775 "cp address_dst(rd),imm16",16,15,0x3c,
776 #endif
777 "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
778 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,18},
779 
780 /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
781 {
782 #ifdef NICENAMES
783 "cp address_dst,imm16",16,14,0x3c,
784 #endif
785 "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
786 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,18},
787 
788 /* 0000 1011 ssN0 dddd *** cp rd,@rs */
789 {
790 #ifdef NICENAMES
791 "cp rd,@rs",16,7,0x3c,
792 #endif
793 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
794 	{CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
795 
796 /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
797 {
798 #ifdef NICENAMES
799 "cp rd,address_src",16,9,0x3c,
800 #endif
801 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
802 	{CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
803 
804 /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
805 {
806 #ifdef NICENAMES
807 "cp rd,address_src(rs)",16,10,0x3c,
808 #endif
809 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
810 	{CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
811 
812 /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
813 {
814 #ifdef NICENAMES
815 "cp rd,imm16",16,7,0x3c,
816 #endif
817 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
818 	{CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
819 
820 /* 1000 1011 ssss dddd *** cp rd,rs */
821 {
822 #ifdef NICENAMES
823 "cp rd,rs",16,4,0x3c,
824 #endif
825 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
826 	{CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
827 
828 /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
829 {
830 #ifdef NICENAMES
831 "cpb @rd,imm8",8,11,0x3c,
832 #endif
833 "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
834 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,19},
835 
836 /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
837 {
838 #ifdef NICENAMES
839 "cpb address_dst(rd),imm8",8,15,0x3c,
840 #endif
841 "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
842 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,19},
843 
844 /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
845 {
846 #ifdef NICENAMES
847 "cpb address_dst,imm8",8,14,0x3c,
848 #endif
849 "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
850 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,19},
851 
852 /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
853 {
854 #ifdef NICENAMES
855 "cpb rbd,@rs",8,7,0x3c,
856 #endif
857 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
858 	{CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
859 
860 /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
861 {
862 #ifdef NICENAMES
863 "cpb rbd,address_src",8,9,0x3c,
864 #endif
865 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
866 	{CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
867 
868 /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
869 {
870 #ifdef NICENAMES
871 "cpb rbd,address_src(rs)",8,10,0x3c,
872 #endif
873 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
874 	{CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
875 
876 /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
877 {
878 #ifdef NICENAMES
879 "cpb rbd,imm8",8,7,0x3c,
880 #endif
881 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
882 	{CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,19},
883 
884 /* 1000 1010 ssss dddd *** cpb rbd,rbs */
885 {
886 #ifdef NICENAMES
887 "cpb rbd,rbs",8,4,0x3c,
888 #endif
889 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
890 	{CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
891 
892 /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
893 {
894 #ifdef NICENAMES
895 "cpd rd,@rs,rr,cc",16,11,0x3c,
896 #endif
897 "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
898 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,20},
899 
900 /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
901 {
902 #ifdef NICENAMES
903 "cpdb rbd,@rs,rr,cc",8,11,0x3c,
904 #endif
905 "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
906 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,21},
907 
908 /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
909 {
910 #ifdef NICENAMES
911 "cpdr rd,@rs,rr,cc",16,11,0x3c,
912 #endif
913 "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
914 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,22},
915 
916 /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
917 {
918 #ifdef NICENAMES
919 "cpdrb rbd,@rs,rr,cc",8,11,0x3c,
920 #endif
921 "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
922 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,23},
923 
924 /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
925 {
926 #ifdef NICENAMES
927 "cpi rd,@rs,rr,cc",16,11,0x3c,
928 #endif
929 "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
930 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,24},
931 
932 /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
933 {
934 #ifdef NICENAMES
935 "cpib rbd,@rs,rr,cc",8,11,0x3c,
936 #endif
937 "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
938 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,25},
939 
940 /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
941 {
942 #ifdef NICENAMES
943 "cpir rd,@rs,rr,cc",16,11,0x3c,
944 #endif
945 "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
946 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,26},
947 
948 /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
949 {
950 #ifdef NICENAMES
951 "cpirb rbd,@rs,rr,cc",8,11,0x3c,
952 #endif
953 "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
954 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,27},
955 
956 /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
957 {
958 #ifdef NICENAMES
959 "cpl rrd,@rs",32,14,0x3c,
960 #endif
961 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
962 	{CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
963 
964 /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
965 {
966 #ifdef NICENAMES
967 "cpl rrd,address_src",32,15,0x3c,
968 #endif
969 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
970 	{CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
971 
972 /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
973 {
974 #ifdef NICENAMES
975 "cpl rrd,address_src(rs)",32,16,0x3c,
976 #endif
977 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
978 	{CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
979 
980 /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
981 {
982 #ifdef NICENAMES
983 "cpl rrd,imm32",32,14,0x3c,
984 #endif
985 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
986 	{CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,28},
987 
988 /* 1001 0000 ssss dddd *** cpl rrd,rrs */
989 {
990 #ifdef NICENAMES
991 "cpl rrd,rrs",32,8,0x3c,
992 #endif
993 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
994 	{CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
995 
996 /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
997 {
998 #ifdef NICENAMES
999 "cpsd @rd,@rs,rr,cc",16,11,0x3c,
1000 #endif
1001 "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1002 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,29},
1003 
1004 /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1005 {
1006 #ifdef NICENAMES
1007 "cpsdb @rd,@rs,rr,cc",8,11,0x3c,
1008 #endif
1009 "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1010 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,30},
1011 
1012 /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1013 {
1014 #ifdef NICENAMES
1015 "cpsdr @rd,@rs,rr,cc",16,11,0x3c,
1016 #endif
1017 "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1018 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,31},
1019 
1020 /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1021 {
1022 #ifdef NICENAMES
1023 "cpsdrb @rd,@rs,rr,cc",8,11,0x3c,
1024 #endif
1025 "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1026 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,32},
1027 
1028 /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1029 {
1030 #ifdef NICENAMES
1031 "cpsi @rd,@rs,rr,cc",16,11,0x3c,
1032 #endif
1033 "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1034 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,33},
1035 
1036 /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1037 {
1038 #ifdef NICENAMES
1039 "cpsib @rd,@rs,rr,cc",8,11,0x3c,
1040 #endif
1041 "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1042 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,34},
1043 
1044 /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1045 {
1046 #ifdef NICENAMES
1047 "cpsir @rd,@rs,rr,cc",16,11,0x3c,
1048 #endif
1049 "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1050 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,35},
1051 
1052 /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1053 {
1054 #ifdef NICENAMES
1055 "cpsirb @rd,@rs,rr,cc",8,11,0x3c,
1056 #endif
1057 "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1058 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,36},
1059 
1060 /* 1011 0000 dddd 0000 *** dab rbd */
1061 {
1062 #ifdef NICENAMES
1063 "dab rbd",8,5,0x38,
1064 #endif
1065 "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1066 	{CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,37},
1067 
1068 /* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1069 {
1070 #ifdef NICENAMES
1071 "dbjnz rbd,disp7",16,11,0x00,
1072 #endif
1073 "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1074 	{CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,38},
1075 
1076 /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1077 {
1078 #ifdef NICENAMES
1079 "dec @rd,imm4m1",16,11,0x1c,
1080 #endif
1081 "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1082 	{CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
1083 
1084 /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1085 {
1086 #ifdef NICENAMES
1087 "dec address_dst(rd),imm4m1",16,14,0x1c,
1088 #endif
1089 "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1090 	{CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
1091 
1092 /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1093 {
1094 #ifdef NICENAMES
1095 "dec address_dst,imm4m1",16,13,0x1c,
1096 #endif
1097 "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1098 	{CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
1099 
1100 /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1101 {
1102 #ifdef NICENAMES
1103 "dec rd,imm4m1",16,4,0x1c,
1104 #endif
1105 "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1106 	{CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
1107 
1108 /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1109 {
1110 #ifdef NICENAMES
1111 "decb @rd,imm4m1",8,11,0x1c,
1112 #endif
1113 "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1114 	{CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
1115 
1116 /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1117 {
1118 #ifdef NICENAMES
1119 "decb address_dst(rd),imm4m1",8,14,0x1c,
1120 #endif
1121 "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1122 	{CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
1123 
1124 /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1125 {
1126 #ifdef NICENAMES
1127 "decb address_dst,imm4m1",8,13,0x1c,
1128 #endif
1129 "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1130 	{CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
1131 
1132 /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1133 {
1134 #ifdef NICENAMES
1135 "decb rbd,imm4m1",8,4,0x1c,
1136 #endif
1137 "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1138 	{CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
1139 
1140 /* 0111 1100 0000 00ii *** di i2 */
1141 {
1142 #ifdef NICENAMES
1143 "di i2",16,7,0x00,
1144 #endif
1145 "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1146 	{CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,41},
1147 
1148 /* 0001 1011 ssN0 dddd *** div rrd,@rs */
1149 {
1150 #ifdef NICENAMES
1151 "div rrd,@rs",16,107,0x3c,
1152 #endif
1153 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1154 	{CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
1155 
1156 /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1157 {
1158 #ifdef NICENAMES
1159 "div rrd,address_src",16,107,0x3c,
1160 #endif
1161 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1162 	{CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
1163 
1164 /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1165 {
1166 #ifdef NICENAMES
1167 "div rrd,address_src(rs)",16,107,0x3c,
1168 #endif
1169 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1170 	{CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
1171 
1172 /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1173 {
1174 #ifdef NICENAMES
1175 "div rrd,imm16",16,107,0x3c,
1176 #endif
1177 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1178 	{CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,42},
1179 
1180 /* 1001 1011 ssss dddd *** div rrd,rs */
1181 {
1182 #ifdef NICENAMES
1183 "div rrd,rs",16,107,0x3c,
1184 #endif
1185 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1186 	{CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
1187 
1188 /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1189 {
1190 #ifdef NICENAMES
1191 "divl rqd,@rs",32,744,0x3c,
1192 #endif
1193 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1194 	{CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
1195 
1196 /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1197 {
1198 #ifdef NICENAMES
1199 "divl rqd,address_src",32,745,0x3c,
1200 #endif
1201 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1202 	{CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
1203 
1204 /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1205 {
1206 #ifdef NICENAMES
1207 "divl rqd,address_src(rs)",32,746,0x3c,
1208 #endif
1209 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1210 	{CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
1211 
1212 /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1213 {
1214 #ifdef NICENAMES
1215 "divl rqd,imm32",32,744,0x3c,
1216 #endif
1217 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1218 	{CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,43},
1219 
1220 /* 1001 1010 ssss dddd *** divl rqd,rrs */
1221 {
1222 #ifdef NICENAMES
1223 "divl rqd,rrs",32,744,0x3c,
1224 #endif
1225 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1226 	{CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
1227 
1228 /* 1111 dddd 1disp7 *** djnz rd,disp7 */
1229 {
1230 #ifdef NICENAMES
1231 "djnz rd,disp7",16,11,0x00,
1232 #endif
1233 "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1234 	{CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,44},
1235 
1236 /* 0111 1100 0000 01ii *** ei i2 */
1237 {
1238 #ifdef NICENAMES
1239 "ei i2",16,7,0x00,
1240 #endif
1241 "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1242 	{CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,45},
1243 
1244 /* 0010 1101 ssN0 dddd *** ex rd,@rs */
1245 {
1246 #ifdef NICENAMES
1247 "ex rd,@rs",16,12,0x00,
1248 #endif
1249 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1250 	{CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
1251 
1252 /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1253 {
1254 #ifdef NICENAMES
1255 "ex rd,address_src",16,15,0x00,
1256 #endif
1257 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1258 	{CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
1259 
1260 /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1261 {
1262 #ifdef NICENAMES
1263 "ex rd,address_src(rs)",16,16,0x00,
1264 #endif
1265 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1266 	{CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
1267 
1268 /* 1010 1101 ssss dddd *** ex rd,rs */
1269 {
1270 #ifdef NICENAMES
1271 "ex rd,rs",16,6,0x00,
1272 #endif
1273 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1274 	{CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
1275 
1276 /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1277 {
1278 #ifdef NICENAMES
1279 "exb rbd,@rs",8,12,0x00,
1280 #endif
1281 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1282 	{CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
1283 
1284 /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1285 {
1286 #ifdef NICENAMES
1287 "exb rbd,address_src",8,15,0x00,
1288 #endif
1289 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1290 	{CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
1291 
1292 /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1293 {
1294 #ifdef NICENAMES
1295 "exb rbd,address_src(rs)",8,16,0x00,
1296 #endif
1297 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1298 	{CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
1299 
1300 /* 1010 1100 ssss dddd *** exb rbd,rbs */
1301 {
1302 #ifdef NICENAMES
1303 "exb rbd,rbs",8,6,0x00,
1304 #endif
1305 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1306 	{CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
1307 
1308 /* 0000 1110 imm8 *** ext0e imm8 */
1309 {
1310 #ifdef NICENAMES
1311 "ext0e imm8",8,10,0x00,
1312 #endif
1313 "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1314 	{CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,48},
1315 
1316 /* 0000 1111 imm8 *** ext0f imm8 */
1317 {
1318 #ifdef NICENAMES
1319 "ext0f imm8",8,10,0x00,
1320 #endif
1321 "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1322 	{CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,49},
1323 
1324 /* 1000 1110 imm8 *** ext8e imm8 */
1325 {
1326 #ifdef NICENAMES
1327 "ext8e imm8",8,10,0x00,
1328 #endif
1329 "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1330 	{CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,50},
1331 
1332 /* 1000 1111 imm8 *** ext8f imm8 */
1333 {
1334 #ifdef NICENAMES
1335 "ext8f imm8",8,10,0x00,
1336 #endif
1337 "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1338 	{CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,51},
1339 
1340 /* 1011 0001 dddd 1010 *** exts rrd */
1341 {
1342 #ifdef NICENAMES
1343 "exts rrd",16,11,0x00,
1344 #endif
1345 "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1346 	{CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,52},
1347 
1348 /* 1011 0001 dddd 0000 *** extsb rd */
1349 {
1350 #ifdef NICENAMES
1351 "extsb rd",8,11,0x00,
1352 #endif
1353 "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1354 	{CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
1355 
1356 /* 1011 0001 dddd 0111 *** extsl rqd */
1357 {
1358 #ifdef NICENAMES
1359 "extsl rqd",32,11,0x00,
1360 #endif
1361 "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1362 	{CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,54},
1363 
1364 /* 0111 1010 0000 0000 *** halt */
1365 {
1366 #ifdef NICENAMES
1367 "halt",16,8,0x00,
1368 #endif
1369 "halt",OPC_halt,0,{0},
1370 	{CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,55},
1371 
1372 /* 0011 1101 ssss dddd *** in rd,@ri */
1373 {
1374 #ifdef NICENAMES
1375 "in rd,@ri",16,10,0x00,
1376 #endif
1377 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IRO+(ARG_RS),},
1378 	{CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,56},
1379 
1380 /* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */
1381 {
1382 #ifdef NICENAMES
1383 "in rd,imm16",16,12,0x00,
1384 #endif
1385 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1386 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,56},
1387 
1388 /* 0011 1100 ssss dddd *** inb rbd,@ri */
1389 {
1390 #ifdef NICENAMES
1391 "inb rbd,@ri",8,12,0x00,
1392 #endif
1393 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IRO+(ARG_RS),},
1394 	{CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,57},
1395 
1396 /* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1397 {
1398 #ifdef NICENAMES
1399 "inb rbd,imm16",8,10,0x00,
1400 #endif
1401 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1402 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,57},
1403 
1404 /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1405 {
1406 #ifdef NICENAMES
1407 "inc @rd,imm4m1",16,11,0x1c,
1408 #endif
1409 "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1410 	{CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
1411 
1412 /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1413 {
1414 #ifdef NICENAMES
1415 "inc address_dst(rd),imm4m1",16,14,0x1c,
1416 #endif
1417 "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1418 	{CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
1419 
1420 /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1421 {
1422 #ifdef NICENAMES
1423 "inc address_dst,imm4m1",16,13,0x1c,
1424 #endif
1425 "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1426 	{CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
1427 
1428 /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1429 {
1430 #ifdef NICENAMES
1431 "inc rd,imm4m1",16,4,0x1c,
1432 #endif
1433 "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1434 	{CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
1435 
1436 /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1437 {
1438 #ifdef NICENAMES
1439 "incb @rd,imm4m1",8,11,0x1c,
1440 #endif
1441 "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1442 	{CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
1443 
1444 /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1445 {
1446 #ifdef NICENAMES
1447 "incb address_dst(rd),imm4m1",8,14,0x1c,
1448 #endif
1449 "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1450 	{CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
1451 
1452 /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1453 {
1454 #ifdef NICENAMES
1455 "incb address_dst,imm4m1",8,13,0x1c,
1456 #endif
1457 "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1458 	{CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
1459 
1460 /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1461 {
1462 #ifdef NICENAMES
1463 "incb rbd,imm4m1",8,4,0x1c,
1464 #endif
1465 "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1466 	{CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
1467 
1468 /* 0011 1011 ssss 1000 0000 aaaa ddN0 1000 *** ind @rd,@ri,ra */
1469 {
1470 #ifdef NICENAMES
1471 "ind @rd,@ri,ra",16,21,0x04,
1472 #endif
1473 "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1474 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,60},
1475 
1476 /* 0011 1010 ssss 1000 0000 aaaa ddN0 1000 *** indb @rd,@ri,ra */
1477 {
1478 #ifdef NICENAMES
1479 "indb @rd,@ri,ra",8,21,0x04,
1480 #endif
1481 "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1482 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,61},
1483 
1484 /* 0011 1011 ssss 1000 0000 aaaa ddN0 0000 *** indr @rd,@ri,ra */
1485 {
1486 #ifdef NICENAMES
1487 "indr @rd,@ri,ra",16,11,0x04,
1488 #endif
1489 "indr",OPC_indr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1490 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,62},
1491 
1492 /* 0011 1010 ssss 1000 0000 aaaa ddN0 0000 *** indrb @rd,@ri,ra */
1493 {
1494 #ifdef NICENAMES
1495 "indrb @rd,@ri,ra",8,11,0x04,
1496 #endif
1497 "indrb",OPC_indrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1498 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,63},
1499 
1500 /* 0011 1011 ssss 0000 0000 aaaa ddN0 1000 *** ini @rd,@ri,ra */
1501 {
1502 #ifdef NICENAMES
1503 "ini @rd,@ri,ra",16,21,0x04,
1504 #endif
1505 "ini",OPC_ini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1506 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,64},
1507 
1508 /* 0011 1010 ssss 0000 0000 aaaa ddN0 1000 *** inib @rd,@ri,ra */
1509 {
1510 #ifdef NICENAMES
1511 "inib @rd,@ri,ra",8,21,0x04,
1512 #endif
1513 "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1514 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,65},
1515 
1516 /* 0011 1011 ssss 0000 0000 aaaa ddN0 0000 *** inir @rd,@ri,ra */
1517 {
1518 #ifdef NICENAMES
1519 "inir @rd,@ri,ra",16,11,0x04,
1520 #endif
1521 "inir",OPC_inir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1522 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,66},
1523 
1524 /* 0011 1010 ssss 0000 0000 aaaa ddN0 0000 *** inirb @rd,@ri,ra */
1525 {
1526 #ifdef NICENAMES
1527 "inirb @rd,@ri,ra",8,11,0x04,
1528 #endif
1529 "inirb",OPC_inirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1530 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,67},
1531 
1532 /* 0111 1011 0000 0000 *** iret */
1533 {
1534 #ifdef NICENAMES
1535 "iret",16,13,0x3f,
1536 #endif
1537 "iret",OPC_iret,0,{0},
1538 	{CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,68},
1539 
1540 /* 0001 1110 ddN0 cccc *** jp cc,@rd */
1541 {
1542 #ifdef NICENAMES
1543 "jp cc,@rd",16,10,0x00,
1544 #endif
1545 "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1546 	{CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,69},
1547 
1548 /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1549 {
1550 #ifdef NICENAMES
1551 "jp cc,address_dst",16,7,0x00,
1552 #endif
1553 "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1554 	{CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
1555 
1556 /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1557 {
1558 #ifdef NICENAMES
1559 "jp cc,address_dst(rd)",16,8,0x00,
1560 #endif
1561 "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1562 	{CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
1563 
1564 /* 1110 cccc disp8 *** jr cc,disp8 */
1565 {
1566 #ifdef NICENAMES
1567 "jr cc,disp8",16,6,0x00,
1568 #endif
1569 "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1570 	{CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,70},
1571 
1572 /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1573 {
1574 #ifdef NICENAMES
1575 "ld @rd,imm16",16,7,0x00,
1576 #endif
1577 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1578 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1579 
1580 /* 0010 1111 ddN0 ssss *** ld @rd,rs */
1581 {
1582 #ifdef NICENAMES
1583 "ld @rd,rs",16,8,0x00,
1584 #endif
1585 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1586 	{CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,71},
1587 
1588 /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1589 {
1590 #ifdef NICENAMES
1591 "ld address_dst(rd),imm16",16,15,0x00,
1592 #endif
1593 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1594 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,71},
1595 
1596 /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1597 {
1598 #ifdef NICENAMES
1599 "ld address_dst(rd),rs",16,12,0x00,
1600 #endif
1601 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1602 	{CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
1603 
1604 /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1605 {
1606 #ifdef NICENAMES
1607 "ld address_dst,imm16",16,14,0x00,
1608 #endif
1609 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1610 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,71},
1611 
1612 /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1613 {
1614 #ifdef NICENAMES
1615 "ld address_dst,rs",16,11,0x00,
1616 #endif
1617 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1618 	{CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
1619 
1620 /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1621 {
1622 #ifdef NICENAMES
1623 "ld rd(imm16),rs",16,14,0x00,
1624 #endif
1625 "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1626 	{CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1627 
1628 /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1629 {
1630 #ifdef NICENAMES
1631 "ld rd(rx),rs",16,14,0x00,
1632 #endif
1633 "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1634 	{CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,71},
1635 
1636 /* 0010 0001 ssN0 dddd *** ld rd,@rs */
1637 {
1638 #ifdef NICENAMES
1639 "ld rd,@rs",16,7,0x00,
1640 #endif
1641 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1642 	{CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
1643 
1644 /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1645 {
1646 #ifdef NICENAMES
1647 "ld rd,address_src",16,9,0x00,
1648 #endif
1649 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1650 	{CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
1651 
1652 /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1653 {
1654 #ifdef NICENAMES
1655 "ld rd,address_src(rs)",16,10,0x00,
1656 #endif
1657 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1658 	{CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
1659 
1660 /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1661 {
1662 #ifdef NICENAMES
1663 "ld rd,imm16",16,7,0x00,
1664 #endif
1665 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1666 	{CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1667 
1668 /* 1010 0001 ssss dddd *** ld rd,rs */
1669 {
1670 #ifdef NICENAMES
1671 "ld rd,rs",16,3,0x00,
1672 #endif
1673 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1674 	{CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
1675 
1676 /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1677 {
1678 #ifdef NICENAMES
1679 "ld rd,rs(imm16)",16,14,0x00,
1680 #endif
1681 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1682 	{CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
1683 
1684 /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1685 {
1686 #ifdef NICENAMES
1687 "ld rd,rs(rx)",16,14,0x00,
1688 #endif
1689 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1690 	{CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,71},
1691 
1692 /* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1693 {
1694 #ifdef NICENAMES
1695 "lda prd,address_src",16,12,0x00,
1696 #endif
1697 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1698 	{CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
1699 
1700 /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1701 {
1702 #ifdef NICENAMES
1703 "lda prd,address_src(rs)",16,13,0x00,
1704 #endif
1705 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1706 	{CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
1707 
1708 /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1709 {
1710 #ifdef NICENAMES
1711 "lda prd,rs(imm16)",16,15,0x00,
1712 #endif
1713 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
1714 	{CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,72},
1715 
1716 /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
1717 {
1718 #ifdef NICENAMES
1719 "lda prd,rs(rx)",16,15,0x00,
1720 #endif
1721 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
1722 	{CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,72},
1723 
1724 /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
1725 {
1726 #ifdef NICENAMES
1727 "ldar prd,disp16",16,15,0x00,
1728 #endif
1729 "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
1730 	{CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,73},
1731 
1732 /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
1733 {
1734 #ifdef NICENAMES
1735 "ldb @rd,imm8",8,7,0x00,
1736 #endif
1737 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1738 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
1739 
1740 /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
1741 {
1742 #ifdef NICENAMES
1743 "ldb @rd,rbs",8,8,0x00,
1744 #endif
1745 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1746 	{CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,74},
1747 
1748 /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
1749 {
1750 #ifdef NICENAMES
1751 "ldb address_dst(rd),imm8",8,15,0x00,
1752 #endif
1753 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1754 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,74},
1755 
1756 /* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
1757 {
1758 #ifdef NICENAMES
1759 "ldb address_dst(rd),rbs",8,12,0x00,
1760 #endif
1761 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1762 	{CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
1763 
1764 /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
1765 {
1766 #ifdef NICENAMES
1767 "ldb address_dst,imm8",8,14,0x00,
1768 #endif
1769 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
1770 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,74},
1771 
1772 /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
1773 {
1774 #ifdef NICENAMES
1775 "ldb address_dst,rbs",8,11,0x00,
1776 #endif
1777 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
1778 	{CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
1779 
1780 /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
1781 {
1782 #ifdef NICENAMES
1783 "ldb rbd,@rs",8,7,0x00,
1784 #endif
1785 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1786 	{CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1787 
1788 /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
1789 {
1790 #ifdef NICENAMES
1791 "ldb rbd,address_src",8,9,0x00,
1792 #endif
1793 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1794 	{CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
1795 
1796 /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
1797 {
1798 #ifdef NICENAMES
1799 "ldb rbd,address_src(rs)",8,10,0x00,
1800 #endif
1801 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1802 	{CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
1803 
1804 /* 1100 dddd imm8 *** ldb rbd,imm8 */
1805 {
1806 #ifdef NICENAMES
1807 "ldb rbd,imm8",8,5,0x00,
1808 #endif
1809 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1810 	{CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,74},
1811 
1812 /* 0010 0000 0000 dddd imm8 imm8 *** ldb rbd,imm8 */
1813 {
1814 #ifdef NICENAMES
1815 "ldb rbd,imm8",8,7,0x00,
1816 #endif
1817 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1818 	{CLASS_BIT+2,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
1819 
1820 /* 1010 0000 ssss dddd *** ldb rbd,rbs */
1821 {
1822 #ifdef NICENAMES
1823 "ldb rbd,rbs",8,3,0x00,
1824 #endif
1825 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1826 	{CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1827 
1828 /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
1829 {
1830 #ifdef NICENAMES
1831 "ldb rbd,rs(imm16)",8,14,0x00,
1832 #endif
1833 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
1834 	{CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
1835 
1836 /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
1837 {
1838 #ifdef NICENAMES
1839 "ldb rbd,rs(rx)",8,14,0x00,
1840 #endif
1841 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
1842 	{CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,74},
1843 
1844 /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
1845 {
1846 #ifdef NICENAMES
1847 "ldb rd(imm16),rbs",8,14,0x00,
1848 #endif
1849 "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1850 	{CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
1851 
1852 /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
1853 {
1854 #ifdef NICENAMES
1855 "ldb rd(rx),rbs",8,14,0x00,
1856 #endif
1857 "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1858 	{CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,74},
1859 
1860 /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
1861 {
1862 #ifdef NICENAMES
1863 "ldctl ctrl,rs",32,7,0x00,
1864 #endif
1865 "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
1866 	{CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,75},
1867 
1868 /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
1869 {
1870 #ifdef NICENAMES
1871 "ldctl rd,ctrl",32,7,0x00,
1872 #endif
1873 "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
1874 	{CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,75},
1875 
1876 /* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
1877 {
1878 #ifdef NICENAMES
1879 "ldctlb ctrl,rbs",32,7,0x3f,
1880 #endif
1881 "ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
1882 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,76},
1883 
1884 /* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
1885 {
1886 #ifdef NICENAMES
1887 "ldctlb rbd,ctrl",32,7,0x00,
1888 #endif
1889 "ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
1890 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,76},
1891 
1892 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
1893 {
1894 #ifdef NICENAMES
1895 "ldd @rd,@rs,rr",16,11,0x04,
1896 #endif
1897 "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1898 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,77},
1899 
1900 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
1901 {
1902 #ifdef NICENAMES
1903 "lddb @rd,@rs,rr",8,11,0x04,
1904 #endif
1905 "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1906 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,78},
1907 
1908 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
1909 {
1910 #ifdef NICENAMES
1911 "lddr @rd,@rs,rr",16,11,0x04,
1912 #endif
1913 "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1914 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,79},
1915 
1916 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
1917 {
1918 #ifdef NICENAMES
1919 "lddrb @rd,@rs,rr",8,11,0x04,
1920 #endif
1921 "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1922 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,80},
1923 
1924 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
1925 {
1926 #ifdef NICENAMES
1927 "ldi @rd,@rs,rr",16,11,0x04,
1928 #endif
1929 "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1930 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,81},
1931 
1932 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
1933 {
1934 #ifdef NICENAMES
1935 "ldib @rd,@rs,rr",8,11,0x04,
1936 #endif
1937 "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1938 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,82},
1939 
1940 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
1941 {
1942 #ifdef NICENAMES
1943 "ldir @rd,@rs,rr",16,11,0x04,
1944 #endif
1945 "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1946 	{CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,83},
1947 
1948 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
1949 {
1950 #ifdef NICENAMES
1951 "ldirb @rd,@rs,rr",8,11,0x04,
1952 #endif
1953 "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
1954 	{CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,84},
1955 
1956 /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
1957 {
1958 #ifdef NICENAMES
1959 "ldk rd,imm4",16,5,0x00,
1960 #endif
1961 "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
1962 	{CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,85},
1963 
1964 /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
1965 {
1966 #ifdef NICENAMES
1967 "ldl @rd,rrs",32,11,0x00,
1968 #endif
1969 "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1970 	{CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,86},
1971 
1972 /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
1973 {
1974 #ifdef NICENAMES
1975 "ldl address_dst(rd),rrs",32,14,0x00,
1976 #endif
1977 "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1978 	{CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
1979 
1980 /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
1981 {
1982 #ifdef NICENAMES
1983 "ldl address_dst,rrs",32,15,0x00,
1984 #endif
1985 "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
1986 	{CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
1987 
1988 /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
1989 {
1990 #ifdef NICENAMES
1991 "ldl rd(imm16),rrs",32,17,0x00,
1992 #endif
1993 "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1994 	{CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
1995 
1996 /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
1997 {
1998 #ifdef NICENAMES
1999 "ldl rd(rx),rrs",32,17,0x00,
2000 #endif
2001 "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2002 	{CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,86},
2003 
2004 /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2005 {
2006 #ifdef NICENAMES
2007 "ldl rrd,@rs",32,11,0x00,
2008 #endif
2009 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2010 	{CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
2011 
2012 /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2013 {
2014 #ifdef NICENAMES
2015 "ldl rrd,address_src",32,12,0x00,
2016 #endif
2017 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2018 	{CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
2019 
2020 /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2021 {
2022 #ifdef NICENAMES
2023 "ldl rrd,address_src(rs)",32,13,0x00,
2024 #endif
2025 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2026 	{CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
2027 
2028 /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2029 {
2030 #ifdef NICENAMES
2031 "ldl rrd,imm32",32,11,0x00,
2032 #endif
2033 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2034 	{CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
2035 
2036 /* 1001 0100 ssss dddd *** ldl rrd,rrs */
2037 {
2038 #ifdef NICENAMES
2039 "ldl rrd,rrs",32,5,0x00,
2040 #endif
2041 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2042 	{CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
2043 
2044 /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2045 {
2046 #ifdef NICENAMES
2047 "ldl rrd,rs(imm16)",32,17,0x00,
2048 #endif
2049 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
2050 	{CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
2051 
2052 /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2053 {
2054 #ifdef NICENAMES
2055 "ldl rrd,rs(rx)",32,17,0x00,
2056 #endif
2057 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
2058 	{CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,86},
2059 
2060 /* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */
2061 {
2062 #ifdef NICENAMES
2063 "ldm @rd,rs,n",16,11,0x00,
2064 #endif
2065 "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2066 	{CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
2067 
2068 /* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */
2069 {
2070 #ifdef NICENAMES
2071 "ldm address_dst(rd),rs,n",16,15,0x00,
2072 #endif
2073 "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2074 	{CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
2075 
2076 /* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */
2077 {
2078 #ifdef NICENAMES
2079 "ldm address_dst,rs,n",16,14,0x00,
2080 #endif
2081 "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2082 	{CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
2083 
2084 /* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */
2085 {
2086 #ifdef NICENAMES
2087 "ldm rd,@rs,n",16,11,0x00,
2088 #endif
2089 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2090 	{CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
2091 
2092 /* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */
2093 {
2094 #ifdef NICENAMES
2095 "ldm rd,address_src(rs),n",16,15,0x00,
2096 #endif
2097 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2098 	{CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
2099 
2100 /* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */
2101 {
2102 #ifdef NICENAMES
2103 "ldm rd,address_src,n",16,14,0x00,
2104 #endif
2105 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),},
2106 	{CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
2107 
2108 /* 0011 1001 ssN0 0000 *** ldps @rs */
2109 {
2110 #ifdef NICENAMES
2111 "ldps @rs",16,12,0x3f,
2112 #endif
2113 "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
2114 	{CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,88},
2115 
2116 /* 0111 1001 0000 0000 address_src *** ldps address_src */
2117 {
2118 #ifdef NICENAMES
2119 "ldps address_src",16,16,0x3f,
2120 #endif
2121 "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
2122 	{CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
2123 
2124 /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2125 {
2126 #ifdef NICENAMES
2127 "ldps address_src(rs)",16,17,0x3f,
2128 #endif
2129 "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
2130 	{CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
2131 
2132 /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2133 {
2134 #ifdef NICENAMES
2135 "ldr disp16,rs",16,14,0x00,
2136 #endif
2137 "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
2138 	{CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
2139 
2140 /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2141 {
2142 #ifdef NICENAMES
2143 "ldr rd,disp16",16,14,0x00,
2144 #endif
2145 "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
2146 	{CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
2147 
2148 /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2149 {
2150 #ifdef NICENAMES
2151 "ldrb disp16,rbs",8,14,0x00,
2152 #endif
2153 "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
2154 	{CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
2155 
2156 /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2157 {
2158 #ifdef NICENAMES
2159 "ldrb rbd,disp16",8,14,0x00,
2160 #endif
2161 "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
2162 	{CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
2163 
2164 /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2165 {
2166 #ifdef NICENAMES
2167 "ldrl disp16,rrs",32,17,0x00,
2168 #endif
2169 "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
2170 	{CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
2171 
2172 /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2173 {
2174 #ifdef NICENAMES
2175 "ldrl rrd,disp16",32,17,0x00,
2176 #endif
2177 "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
2178 	{CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
2179 
2180 /* 0111 1011 0000 1010 *** mbit */
2181 {
2182 #ifdef NICENAMES
2183 "mbit",16,7,0x38,
2184 #endif
2185 "mbit",OPC_mbit,0,{0},
2186 	{CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,92},
2187 
2188 /* 0111 1011 dddd 1101 *** mreq rd */
2189 {
2190 #ifdef NICENAMES
2191 "mreq rd",16,12,0x18,
2192 #endif
2193 "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
2194 	{CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,93},
2195 
2196 /* 0111 1011 0000 1001 *** mres */
2197 {
2198 #ifdef NICENAMES
2199 "mres",16,5,0x00,
2200 #endif
2201 "mres",OPC_mres,0,{0},
2202 	{CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,94},
2203 
2204 /* 0111 1011 0000 1000 *** mset */
2205 {
2206 #ifdef NICENAMES
2207 "mset",16,5,0x00,
2208 #endif
2209 "mset",OPC_mset,0,{0},
2210 	{CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,95},
2211 
2212 /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2213 {
2214 #ifdef NICENAMES
2215 "mult rrd,@rs",16,70,0x3c,
2216 #endif
2217 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2218 	{CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
2219 
2220 /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2221 {
2222 #ifdef NICENAMES
2223 "mult rrd,address_src",16,70,0x3c,
2224 #endif
2225 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2226 	{CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
2227 
2228 /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2229 {
2230 #ifdef NICENAMES
2231 "mult rrd,address_src(rs)",16,70,0x3c,
2232 #endif
2233 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2234 	{CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
2235 
2236 /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2237 {
2238 #ifdef NICENAMES
2239 "mult rrd,imm16",16,70,0x3c,
2240 #endif
2241 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2242 	{CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,96},
2243 
2244 /* 1001 1001 ssss dddd *** mult rrd,rs */
2245 {
2246 #ifdef NICENAMES
2247 "mult rrd,rs",16,70,0x3c,
2248 #endif
2249 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2250 	{CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
2251 
2252 /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2253 {
2254 #ifdef NICENAMES
2255 "multl rqd,@rs",32,282,0x3c,
2256 #endif
2257 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
2258 	{CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
2259 
2260 /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2261 {
2262 #ifdef NICENAMES
2263 "multl rqd,address_src",32,282,0x3c,
2264 #endif
2265 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2266 	{CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
2267 
2268 /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2269 {
2270 #ifdef NICENAMES
2271 "multl rqd,address_src(rs)",32,282,0x3c,
2272 #endif
2273 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
2274 	{CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
2275 
2276 /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2277 {
2278 #ifdef NICENAMES
2279 "multl rqd,imm32",32,282,0x3c,
2280 #endif
2281 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2282 	{CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,97},
2283 
2284 /* 1001 1000 ssss dddd *** multl rqd,rrs */
2285 {
2286 #ifdef NICENAMES
2287 "multl rqd,rrs",32,282,0x3c,
2288 #endif
2289 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2290 	{CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
2291 
2292 /* 0000 1101 ddN0 0010 *** neg @rd */
2293 {
2294 #ifdef NICENAMES
2295 "neg @rd",16,12,0x3c,
2296 #endif
2297 "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
2298 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
2299 
2300 /* 0100 1101 0000 0010 address_dst *** neg address_dst */
2301 {
2302 #ifdef NICENAMES
2303 "neg address_dst",16,15,0x3c,
2304 #endif
2305 "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
2306 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
2307 
2308 /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2309 {
2310 #ifdef NICENAMES
2311 "neg address_dst(rd)",16,16,0x3c,
2312 #endif
2313 "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
2314 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
2315 
2316 /* 1000 1101 dddd 0010 *** neg rd */
2317 {
2318 #ifdef NICENAMES
2319 "neg rd",16,7,0x3c,
2320 #endif
2321 "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
2322 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
2323 
2324 /* 0000 1100 ddN0 0010 *** negb @rd */
2325 {
2326 #ifdef NICENAMES
2327 "negb @rd",8,12,0x3c,
2328 #endif
2329 "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
2330 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
2331 
2332 /* 0100 1100 0000 0010 address_dst *** negb address_dst */
2333 {
2334 #ifdef NICENAMES
2335 "negb address_dst",8,15,0x3c,
2336 #endif
2337 "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
2338 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
2339 
2340 /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2341 {
2342 #ifdef NICENAMES
2343 "negb address_dst(rd)",8,16,0x3c,
2344 #endif
2345 "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
2346 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
2347 
2348 /* 1000 1100 dddd 0010 *** negb rbd */
2349 {
2350 #ifdef NICENAMES
2351 "negb rbd",8,7,0x3c,
2352 #endif
2353 "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
2354 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
2355 
2356 /* 1000 1101 0000 0111 *** nop */
2357 {
2358 #ifdef NICENAMES
2359 "nop",16,7,0x00,
2360 #endif
2361 "nop",OPC_nop,0,{0},
2362 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,100},
2363 
2364 /* 0000 0101 ssN0 dddd *** or rd,@rs */
2365 {
2366 #ifdef NICENAMES
2367 "or rd,@rs",16,7,0x38,
2368 #endif
2369 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2370 	{CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
2371 
2372 /* 0100 0101 0000 dddd address_src *** or rd,address_src */
2373 {
2374 #ifdef NICENAMES
2375 "or rd,address_src",16,9,0x38,
2376 #endif
2377 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2378 	{CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
2379 
2380 /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2381 {
2382 #ifdef NICENAMES
2383 "or rd,address_src(rs)",16,10,0x38,
2384 #endif
2385 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
2386 	{CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
2387 
2388 /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2389 {
2390 #ifdef NICENAMES
2391 "or rd,imm16",16,7,0x38,
2392 #endif
2393 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2394 	{CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,101},
2395 
2396 /* 1000 0101 ssss dddd *** or rd,rs */
2397 {
2398 #ifdef NICENAMES
2399 "or rd,rs",16,4,0x38,
2400 #endif
2401 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2402 	{CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
2403 
2404 /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2405 {
2406 #ifdef NICENAMES
2407 "orb rbd,@rs",8,7,0x3c,
2408 #endif
2409 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2410 	{CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
2411 
2412 /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2413 {
2414 #ifdef NICENAMES
2415 "orb rbd,address_src",8,9,0x3c,
2416 #endif
2417 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2418 	{CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
2419 
2420 /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2421 {
2422 #ifdef NICENAMES
2423 "orb rbd,address_src(rs)",8,10,0x3c,
2424 #endif
2425 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2426 	{CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
2427 
2428 /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2429 {
2430 #ifdef NICENAMES
2431 "orb rbd,imm8",8,7,0x3c,
2432 #endif
2433 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2434 	{CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,102},
2435 
2436 /* 1000 0100 ssss dddd *** orb rbd,rbs */
2437 {
2438 #ifdef NICENAMES
2439 "orb rbd,rbs",8,4,0x3c,
2440 #endif
2441 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2442 	{CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
2443 
2444 /* 0011 1011 ssN0 1010 0000 aaaa dddd 0000 *** otdr @ro,@rs,ra */
2445 {
2446 #ifdef NICENAMES
2447 "otdr @ro,@rs,ra",16,11,0x04,
2448 #endif
2449 "otdr",OPC_otdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2450 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,103},
2451 
2452 /* 0011 1010 ssN0 1010 0000 aaaa dddd 0000 *** otdrb @ro,@rs,ra */
2453 {
2454 #ifdef NICENAMES
2455 "otdrb @ro,@rs,ra",8,11,0x04,
2456 #endif
2457 "otdrb",OPC_otdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2458 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,104},
2459 
2460 /* 0011 1011 ssN0 0010 0000 aaaa dddd 0000 *** otir @ro,@rs,ra */
2461 {
2462 #ifdef NICENAMES
2463 "otir @ro,@rs,ra",16,11,0x04,
2464 #endif
2465 "otir",OPC_otir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2466 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,105},
2467 
2468 /* 0011 1010 ssN0 0010 0000 aaaa dddd 0000 *** otirb @ro,@rs,ra */
2469 {
2470 #ifdef NICENAMES
2471 "otirb @ro,@rs,ra",8,11,0x04,
2472 #endif
2473 "otirb",OPC_otirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2474 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,106},
2475 
2476 /* 0011 1111 dddd ssss *** out @ro,rs */
2477 {
2478 #ifdef NICENAMES
2479 "out @ro,rs",16,10,0x00,
2480 #endif
2481 "out",OPC_out,0,{CLASS_IRO+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2482 	{CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,107},
2483 
2484 /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2485 {
2486 #ifdef NICENAMES
2487 "out imm16,rs",16,12,0x00,
2488 #endif
2489 "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
2490 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,107},
2491 
2492 /* 0011 1110 dddd ssss *** outb @ro,rbs */
2493 {
2494 #ifdef NICENAMES
2495 "outb @ro,rbs",8,10,0x00,
2496 #endif
2497 "outb",OPC_outb,0,{CLASS_IRO+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2498 	{CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,108},
2499 
2500 /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2501 {
2502 #ifdef NICENAMES
2503 "outb imm16,rbs",8,12,0x00,
2504 #endif
2505 "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
2506 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,108},
2507 
2508 /* 0011 1011 ssN0 1010 0000 aaaa dddd 1000 *** outd @ro,@rs,ra */
2509 {
2510 #ifdef NICENAMES
2511 "outd @ro,@rs,ra",16,21,0x04,
2512 #endif
2513 "outd",OPC_outd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2514 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,109},
2515 
2516 /* 0011 1010 ssN0 1010 0000 aaaa dddd 1000 *** outdb @ro,@rs,ra */
2517 {
2518 #ifdef NICENAMES
2519 "outdb @ro,@rs,ra",8,21,0x04,
2520 #endif
2521 "outdb",OPC_outdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2522 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,110},
2523 
2524 /* 0011 1011 ssN0 0010 0000 aaaa dddd 1000 *** outi @ro,@rs,ra */
2525 {
2526 #ifdef NICENAMES
2527 "outi @ro,@rs,ra",16,21,0x04,
2528 #endif
2529 "outi",OPC_outi,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2530 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,111},
2531 
2532 /* 0011 1010 ssN0 0010 0000 aaaa dddd 1000 *** outib @ro,@rs,ra */
2533 {
2534 #ifdef NICENAMES
2535 "outib @ro,@rs,ra",8,21,0x04,
2536 #endif
2537 "outib",OPC_outib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2538 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,112},
2539 
2540 /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2541 {
2542 #ifdef NICENAMES
2543 "pop @rd,@rs",16,12,0x00,
2544 #endif
2545 "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2546 	{CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,113},
2547 
2548 /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
2549 {
2550 #ifdef NICENAMES
2551 "pop address_dst(rd),@rs",16,16,0x00,
2552 #endif
2553 "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
2554 	{CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
2555 
2556 /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
2557 {
2558 #ifdef NICENAMES
2559 "pop address_dst,@rs",16,16,0x00,
2560 #endif
2561 "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
2562 	{CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
2563 
2564 /* 1001 0111 ssN0 dddd *** pop rd,@rs */
2565 {
2566 #ifdef NICENAMES
2567 "pop rd,@rs",16,8,0x00,
2568 #endif
2569 "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2570 	{CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,113},
2571 
2572 /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
2573 {
2574 #ifdef NICENAMES
2575 "popl @rd,@rs",32,19,0x00,
2576 #endif
2577 "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2578 	{CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,114},
2579 
2580 /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
2581 {
2582 #ifdef NICENAMES
2583 "popl address_dst(rd),@rs",32,23,0x00,
2584 #endif
2585 "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
2586 	{CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
2587 
2588 /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
2589 {
2590 #ifdef NICENAMES
2591 "popl address_dst,@rs",32,23,0x00,
2592 #endif
2593 "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
2594 	{CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
2595 
2596 /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
2597 {
2598 #ifdef NICENAMES
2599 "popl rrd,@rs",32,12,0x00,
2600 #endif
2601 "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2602 	{CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,114},
2603 
2604 /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
2605 {
2606 #ifdef NICENAMES
2607 "push @rd,@rs",16,13,0x00,
2608 #endif
2609 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2610 	{CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,115},
2611 
2612 /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
2613 {
2614 #ifdef NICENAMES
2615 "push @rd,address_src",16,14,0x00,
2616 #endif
2617 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
2618 	{CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
2619 
2620 /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
2621 {
2622 #ifdef NICENAMES
2623 "push @rd,address_src(rs)",16,14,0x00,
2624 #endif
2625 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
2626 	{CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
2627 
2628 /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
2629 {
2630 #ifdef NICENAMES
2631 "push @rd,imm16",16,12,0x00,
2632 #endif
2633 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2634 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,115},
2635 
2636 /* 1001 0011 ddN0 ssss *** push @rd,rs */
2637 {
2638 #ifdef NICENAMES
2639 "push @rd,rs",16,9,0x00,
2640 #endif
2641 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2642 	{CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,115},
2643 
2644 /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
2645 {
2646 #ifdef NICENAMES
2647 "pushl @rd,@rs",32,20,0x00,
2648 #endif
2649 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2650 	{CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,116},
2651 
2652 /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
2653 {
2654 #ifdef NICENAMES
2655 "pushl @rd,address_src",32,21,0x00,
2656 #endif
2657 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
2658 	{CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
2659 
2660 /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
2661 {
2662 #ifdef NICENAMES
2663 "pushl @rd,address_src(rs)",32,21,0x00,
2664 #endif
2665 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
2666 	{CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
2667 
2668 /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
2669 {
2670 #ifdef NICENAMES
2671 "pushl @rd,rrs",32,12,0x00,
2672 #endif
2673 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2674 	{CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,116},
2675 
2676 /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
2677 {
2678 #ifdef NICENAMES
2679 "res @rd,imm4",16,11,0x00,
2680 #endif
2681 "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2682 	{CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
2683 
2684 /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
2685 {
2686 #ifdef NICENAMES
2687 "res address_dst(rd),imm4",16,14,0x00,
2688 #endif
2689 "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2690 	{CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
2691 
2692 /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
2693 {
2694 #ifdef NICENAMES
2695 "res address_dst,imm4",16,13,0x00,
2696 #endif
2697 "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
2698 	{CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
2699 
2700 /* 1010 0011 dddd imm4 *** res rd,imm4 */
2701 {
2702 #ifdef NICENAMES
2703 "res rd,imm4",16,4,0x00,
2704 #endif
2705 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2706 	{CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
2707 
2708 /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
2709 {
2710 #ifdef NICENAMES
2711 "res rd,rs",16,10,0x00,
2712 #endif
2713 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2714 	{CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,117},
2715 
2716 /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
2717 {
2718 #ifdef NICENAMES
2719 "resb @rd,imm4",8,11,0x00,
2720 #endif
2721 "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2722 	{CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
2723 
2724 /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
2725 {
2726 #ifdef NICENAMES
2727 "resb address_dst(rd),imm4",8,14,0x00,
2728 #endif
2729 "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2730 	{CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
2731 
2732 /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
2733 {
2734 #ifdef NICENAMES
2735 "resb address_dst,imm4",8,13,0x00,
2736 #endif
2737 "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
2738 	{CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
2739 
2740 /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
2741 {
2742 #ifdef NICENAMES
2743 "resb rbd,imm4",8,4,0x00,
2744 #endif
2745 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2746 	{CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
2747 
2748 /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
2749 {
2750 #ifdef NICENAMES
2751 "resb rbd,rs",8,10,0x00,
2752 #endif
2753 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2754 	{CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,118},
2755 
2756 /* 1000 1101 flags 0011 *** resflg flags */
2757 {
2758 #ifdef NICENAMES
2759 "resflg flags",16,7,0x3c,
2760 #endif
2761 "resflg",OPC_resflg,0,{CLASS_FLAGS,},
2762 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,119},
2763 
2764 /* 1001 1110 0000 cccc *** ret cc */
2765 {
2766 #ifdef NICENAMES
2767 "ret cc",16,10,0x00,
2768 #endif
2769 "ret",OPC_ret,0,{CLASS_CC,},
2770 	{CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,120},
2771 
2772 /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
2773 {
2774 #ifdef NICENAMES
2775 "rl rd,imm1or2",16,6,0x3c,
2776 #endif
2777 "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2778 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,121},
2779 
2780 /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
2781 {
2782 #ifdef NICENAMES
2783 "rlb rbd,imm1or2",8,6,0x3c,
2784 #endif
2785 "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2786 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,122},
2787 
2788 /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
2789 {
2790 #ifdef NICENAMES
2791 "rlc rd,imm1or2",16,6,0x3c,
2792 #endif
2793 "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2794 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,123},
2795 
2796 /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
2797 {
2798 #ifdef NICENAMES
2799 "rlcb rbd,imm1or2",8,9,0x10,
2800 #endif
2801 "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2802 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,124},
2803 
2804 /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
2805 {
2806 #ifdef NICENAMES
2807 "rldb rbb,rba",8,9,0x10,
2808 #endif
2809 "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
2810 	{CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,125},
2811 
2812 /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
2813 {
2814 #ifdef NICENAMES
2815 "rr rd,imm1or2",16,6,0x3c,
2816 #endif
2817 "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2818 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,126},
2819 
2820 /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
2821 {
2822 #ifdef NICENAMES
2823 "rrb rbd,imm1or2",8,6,0x3c,
2824 #endif
2825 "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2826 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,127},
2827 
2828 /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
2829 {
2830 #ifdef NICENAMES
2831 "rrc rd,imm1or2",16,6,0x3c,
2832 #endif
2833 "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2834 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,128},
2835 
2836 /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
2837 {
2838 #ifdef NICENAMES
2839 "rrcb rbd,imm1or2",8,9,0x10,
2840 #endif
2841 "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
2842 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,129},
2843 
2844 /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
2845 {
2846 #ifdef NICENAMES
2847 "rrdb rbb,rba",8,9,0x10,
2848 #endif
2849 "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
2850 	{CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,130},
2851 
2852 /* 0011 0110 imm8 *** rsvd36 */
2853 {
2854 #ifdef NICENAMES
2855 "rsvd36",8,10,0x00,
2856 #endif
2857 "rsvd36",OPC_rsvd36,0,{0},
2858 	{CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,131},
2859 
2860 /* 0011 1000 imm8 *** rsvd38 */
2861 {
2862 #ifdef NICENAMES
2863 "rsvd38",8,10,0x00,
2864 #endif
2865 "rsvd38",OPC_rsvd38,0,{0},
2866 	{CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,132},
2867 
2868 /* 0111 1000 imm8 *** rsvd78 */
2869 {
2870 #ifdef NICENAMES
2871 "rsvd78",8,10,0x00,
2872 #endif
2873 "rsvd78",OPC_rsvd78,0,{0},
2874 	{CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,133},
2875 
2876 /* 0111 1110 imm8 *** rsvd7e */
2877 {
2878 #ifdef NICENAMES
2879 "rsvd7e",8,10,0x00,
2880 #endif
2881 "rsvd7e",OPC_rsvd7e,0,{0},
2882 	{CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,134},
2883 
2884 /* 1001 1101 imm8 *** rsvd9d */
2885 {
2886 #ifdef NICENAMES
2887 "rsvd9d",8,10,0x00,
2888 #endif
2889 "rsvd9d",OPC_rsvd9d,0,{0},
2890 	{CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,135},
2891 
2892 /* 1001 1111 imm8 *** rsvd9f */
2893 {
2894 #ifdef NICENAMES
2895 "rsvd9f",8,10,0x00,
2896 #endif
2897 "rsvd9f",OPC_rsvd9f,0,{0},
2898 	{CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,136},
2899 
2900 /* 1011 1001 imm8 *** rsvdb9 */
2901 {
2902 #ifdef NICENAMES
2903 "rsvdb9",8,10,0x00,
2904 #endif
2905 "rsvdb9",OPC_rsvdb9,0,{0},
2906 	{CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,137},
2907 
2908 /* 1011 1111 imm8 *** rsvdbf */
2909 {
2910 #ifdef NICENAMES
2911 "rsvdbf",8,10,0x00,
2912 #endif
2913 "rsvdbf",OPC_rsvdbf,0,{0},
2914 	{CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,138},
2915 
2916 /* 1011 0111 ssss dddd *** sbc rd,rs */
2917 {
2918 #ifdef NICENAMES
2919 "sbc rd,rs",16,5,0x3c,
2920 #endif
2921 "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2922 	{CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,139},
2923 
2924 /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
2925 {
2926 #ifdef NICENAMES
2927 "sbcb rbd,rbs",8,5,0x3f,
2928 #endif
2929 "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2930 	{CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,140},
2931 
2932 /* 0111 1111 imm8 *** sc imm8 */
2933 {
2934 #ifdef NICENAMES
2935 "sc imm8",8,33,0x3f,
2936 #endif
2937 "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
2938 	{CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,141},
2939 
2940 /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
2941 {
2942 #ifdef NICENAMES
2943 "sda rd,rs",16,15,0x3c,
2944 #endif
2945 "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2946 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,142},
2947 
2948 /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
2949 {
2950 #ifdef NICENAMES
2951 "sdab rbd,rs",8,15,0x3c,
2952 #endif
2953 "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2954 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,143},
2955 
2956 /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
2957 {
2958 #ifdef NICENAMES
2959 "sdal rrd,rs",32,15,0x3c,
2960 #endif
2961 "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2962 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,144},
2963 
2964 /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
2965 {
2966 #ifdef NICENAMES
2967 "sdl rd,rs",16,15,0x38,
2968 #endif
2969 "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2970 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,145},
2971 
2972 /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
2973 {
2974 #ifdef NICENAMES
2975 "sdlb rbd,rs",8,15,0x38,
2976 #endif
2977 "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2978 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,146},
2979 
2980 /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
2981 {
2982 #ifdef NICENAMES
2983 "sdll rrd,rs",32,15,0x38,
2984 #endif
2985 "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2986 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,147},
2987 
2988 /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
2989 {
2990 #ifdef NICENAMES
2991 "set @rd,imm4",16,11,0x00,
2992 #endif
2993 "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2994 	{CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
2995 
2996 /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
2997 {
2998 #ifdef NICENAMES
2999 "set address_dst(rd),imm4",16,14,0x00,
3000 #endif
3001 "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3002 	{CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
3003 
3004 /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3005 {
3006 #ifdef NICENAMES
3007 "set address_dst,imm4",16,13,0x00,
3008 #endif
3009 "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3010 	{CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
3011 
3012 /* 1010 0101 dddd imm4 *** set rd,imm4 */
3013 {
3014 #ifdef NICENAMES
3015 "set rd,imm4",16,4,0x00,
3016 #endif
3017 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3018 	{CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
3019 
3020 /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3021 {
3022 #ifdef NICENAMES
3023 "set rd,rs",16,10,0x00,
3024 #endif
3025 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3026 	{CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,148},
3027 
3028 /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3029 {
3030 #ifdef NICENAMES
3031 "setb @rd,imm4",8,11,0x00,
3032 #endif
3033 "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3034 	{CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
3035 
3036 /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3037 {
3038 #ifdef NICENAMES
3039 "setb address_dst(rd),imm4",8,14,0x00,
3040 #endif
3041 "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3042 	{CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
3043 
3044 /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3045 {
3046 #ifdef NICENAMES
3047 "setb address_dst,imm4",8,13,0x00,
3048 #endif
3049 "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3050 	{CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
3051 
3052 /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3053 {
3054 #ifdef NICENAMES
3055 "setb rbd,imm4",8,4,0x00,
3056 #endif
3057 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3058 	{CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
3059 
3060 /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3061 {
3062 #ifdef NICENAMES
3063 "setb rbd,rs",8,10,0x00,
3064 #endif
3065 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3066 	{CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,149},
3067 
3068 /* 1000 1101 flags 0001 *** setflg flags */
3069 {
3070 #ifdef NICENAMES
3071 "setflg flags",16,7,0x3c,
3072 #endif
3073 "setflg",OPC_setflg,0,{CLASS_FLAGS,},
3074 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,150},
3075 
3076 /* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
3077 {
3078 #ifdef NICENAMES
3079 "sin rd,imm16",16,12,0x00,
3080 #endif
3081 "sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3082 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,151},
3083 
3084 /* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
3085 {
3086 #ifdef NICENAMES
3087 "sinb rbd,imm16",8,10,0x00,
3088 #endif
3089 "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3090 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,152},
3091 
3092 /* 0011 1011 ssss 1001 0000 aaaa ddN0 1000 *** sind @rd,@ri,ra */
3093 {
3094 #ifdef NICENAMES
3095 "sind @rd,@ri,ra",16,21,0x04,
3096 #endif
3097 "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3098 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,153},
3099 
3100 /* 0011 1010 ssss 1001 0000 aaaa ddN0 1000 *** sindb @rd,@ri,ra */
3101 {
3102 #ifdef NICENAMES
3103 "sindb @rd,@ri,ra",8,21,0x04,
3104 #endif
3105 "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3106 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,154},
3107 
3108 /* 0011 1011 ssss 1001 0000 aaaa ddN0 0000 *** sindr @rd,@ri,ra */
3109 {
3110 #ifdef NICENAMES
3111 "sindr @rd,@ri,ra",16,11,0x04,
3112 #endif
3113 "sindr",OPC_sindr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3114 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,155},
3115 
3116 /* 0011 1010 ssss 1001 0000 aaaa ddN0 0000 *** sindrb @rd,@ri,ra */
3117 {
3118 #ifdef NICENAMES
3119 "sindrb @rd,@ri,ra",8,11,0x04,
3120 #endif
3121 "sindrb",OPC_sindrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3122 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,156},
3123 
3124 /* 0011 1011 ssss 0001 0000 aaaa ddN0 1000 *** sini @rd,@ri,ra */
3125 {
3126 #ifdef NICENAMES
3127 "sini @rd,@ri,ra",16,21,0x04,
3128 #endif
3129 "sini",OPC_sini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3130 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,157},
3131 
3132 /* 0011 1010 ssss 0001 0000 aaaa ddN0 1000 *** sinib @rd,@ri,ra */
3133 {
3134 #ifdef NICENAMES
3135 "sinib @rd,@ri,ra",8,21,0x04,
3136 #endif
3137 "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3138 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,158},
3139 
3140 /* 0011 1011 ssss 0001 0000 aaaa ddN0 0000 *** sinir @rd,@ri,ra */
3141 {
3142 #ifdef NICENAMES
3143 "sinir @rd,@ri,ra",16,11,0x04,
3144 #endif
3145 "sinir",OPC_sinir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3146 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,159},
3147 
3148 /* 0011 1010 ssss 0001 0000 aaaa ddN0 0000 *** sinirb @rd,@ri,ra */
3149 {
3150 #ifdef NICENAMES
3151 "sinirb @rd,@ri,ra",8,11,0x04,
3152 #endif
3153 "sinirb",OPC_sinirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3154 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,160},
3155 
3156 /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3157 {
3158 #ifdef NICENAMES
3159 "sla rd,imm8",16,13,0x3c,
3160 #endif
3161 "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3162 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,161},
3163 
3164 /* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */
3165 {
3166 #ifdef NICENAMES
3167 "slab rbd,imm4",8,13,0x3c,
3168 #endif
3169 "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3170 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,162},
3171 
3172 /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3173 {
3174 #ifdef NICENAMES
3175 "slal rrd,imm8",32,13,0x3c,
3176 #endif
3177 "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3178 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,163},
3179 
3180 /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3181 {
3182 #ifdef NICENAMES
3183 "sll rd,imm8",16,13,0x38,
3184 #endif
3185 "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3186 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,164},
3187 
3188 /* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */
3189 {
3190 #ifdef NICENAMES
3191 "sllb rbd,imm4",8,13,0x38,
3192 #endif
3193 "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3194 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,165},
3195 
3196 /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3197 {
3198 #ifdef NICENAMES
3199 "slll rrd,imm8",32,13,0x38,
3200 #endif
3201 "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3202 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,166},
3203 
3204 /* 0011 1011 ssN0 1011 0000 aaaa dddd 0000 *** sotdr @ro,@rs,ra */
3205 {
3206 #ifdef NICENAMES
3207 "sotdr @ro,@rs,ra",16,11,0x04,
3208 #endif
3209 "sotdr",OPC_sotdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3210 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,167},
3211 
3212 /* 0011 1010 ssN0 1011 0000 aaaa dddd 0000 *** sotdrb @ro,@rs,ra */
3213 {
3214 #ifdef NICENAMES
3215 "sotdrb @ro,@rs,ra",8,11,0x04,
3216 #endif
3217 "sotdrb",OPC_sotdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3218 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,168},
3219 
3220 /* 0011 1011 ssN0 0011 0000 aaaa dddd 0000 *** sotir @ro,@rs,ra */
3221 {
3222 #ifdef NICENAMES
3223 "sotir @ro,@rs,ra",16,11,0x04,
3224 #endif
3225 "sotir",OPC_sotir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3226 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,169},
3227 
3228 /* 0011 1010 ssN0 0011 0000 aaaa dddd 0000 *** sotirb @ro,@rs,ra */
3229 {
3230 #ifdef NICENAMES
3231 "sotirb @ro,@rs,ra",8,11,0x04,
3232 #endif
3233 "sotirb",OPC_sotirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3234 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,170},
3235 
3236 /* 0011 1011 ssss 0110 imm16 *** sout imm16,rs */
3237 {
3238 #ifdef NICENAMES
3239 "sout imm16,rs",16,12,0x00,
3240 #endif
3241 "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
3242 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,171},
3243 
3244 /* 0011 1010 ssss 0110 imm16 *** soutb imm16,rbs */
3245 {
3246 #ifdef NICENAMES
3247 "soutb imm16,rbs",8,12,0x00,
3248 #endif
3249 "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
3250 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,172},
3251 
3252 /* 0011 1011 ssN0 1011 0000 aaaa dddd 1000 *** soutd @ro,@rs,ra */
3253 {
3254 #ifdef NICENAMES
3255 "soutd @ro,@rs,ra",16,21,0x04,
3256 #endif
3257 "soutd",OPC_soutd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3258 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,173},
3259 
3260 /* 0011 1010 ssN0 1011 0000 aaaa dddd 1000 *** soutdb @ro,@rs,ra */
3261 {
3262 #ifdef NICENAMES
3263 "soutdb @ro,@rs,ra",8,21,0x04,
3264 #endif
3265 "soutdb",OPC_soutdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3266 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,174},
3267 
3268 /* 0011 1011 ssN0 0011 0000 aaaa dddd 1000 *** souti @ro,@rs,ra */
3269 {
3270 #ifdef NICENAMES
3271 "souti @ro,@rs,ra",16,21,0x04,
3272 #endif
3273 "souti",OPC_souti,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3274 	{CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,175},
3275 
3276 /* 0011 1010 ssN0 0011 0000 aaaa dddd 1000 *** soutib @ro,@rs,ra */
3277 {
3278 #ifdef NICENAMES
3279 "soutib @ro,@rs,ra",8,21,0x04,
3280 #endif
3281 "soutib",OPC_soutib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3282 	{CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,176},
3283 
3284 /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3285 {
3286 #ifdef NICENAMES
3287 "sra rd,imm8",16,13,0x3c,
3288 #endif
3289 "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3290 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,177},
3291 
3292 /* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */
3293 {
3294 #ifdef NICENAMES
3295 "srab rbd,imm4",8,13,0x3c,
3296 #endif
3297 "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3298 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,178},
3299 
3300 /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3301 {
3302 #ifdef NICENAMES
3303 "sral rrd,imm8",32,13,0x3c,
3304 #endif
3305 "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3306 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,179},
3307 
3308 /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3309 {
3310 #ifdef NICENAMES
3311 "srl rd,imm8",16,13,0x3c,
3312 #endif
3313 "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3314 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,180},
3315 
3316 /* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */
3317 {
3318 #ifdef NICENAMES
3319 "srlb rbd,imm4",8,13,0x3c,
3320 #endif
3321 "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3322 	{CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,181},
3323 
3324 /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3325 {
3326 #ifdef NICENAMES
3327 "srll rrd,imm8",32,13,0x3c,
3328 #endif
3329 "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3330 	{CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,182},
3331 
3332 /* 0000 0011 ssN0 dddd *** sub rd,@rs */
3333 {
3334 #ifdef NICENAMES
3335 "sub rd,@rs",16,7,0x3c,
3336 #endif
3337 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3338 	{CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
3339 
3340 /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3341 {
3342 #ifdef NICENAMES
3343 "sub rd,address_src",16,9,0x3c,
3344 #endif
3345 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3346 	{CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
3347 
3348 /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3349 {
3350 #ifdef NICENAMES
3351 "sub rd,address_src(rs)",16,10,0x3c,
3352 #endif
3353 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3354 	{CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
3355 
3356 /* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3357 {
3358 #ifdef NICENAMES
3359 "sub rd,imm16",16,7,0x3c,
3360 #endif
3361 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3362 	{CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,183},
3363 
3364 /* 1000 0011 ssss dddd *** sub rd,rs */
3365 {
3366 #ifdef NICENAMES
3367 "sub rd,rs",16,4,0x3c,
3368 #endif
3369 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3370 	{CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
3371 
3372 /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3373 {
3374 #ifdef NICENAMES
3375 "subb rbd,@rs",8,7,0x3f,
3376 #endif
3377 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3378 	{CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
3379 
3380 /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3381 {
3382 #ifdef NICENAMES
3383 "subb rbd,address_src",8,9,0x3f,
3384 #endif
3385 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3386 	{CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
3387 
3388 /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3389 {
3390 #ifdef NICENAMES
3391 "subb rbd,address_src(rs)",8,10,0x3f,
3392 #endif
3393 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3394 	{CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
3395 
3396 /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3397 {
3398 #ifdef NICENAMES
3399 "subb rbd,imm8",8,7,0x3f,
3400 #endif
3401 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3402 	{CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,184},
3403 
3404 /* 1000 0010 ssss dddd *** subb rbd,rbs */
3405 {
3406 #ifdef NICENAMES
3407 "subb rbd,rbs",8,4,0x3f,
3408 #endif
3409 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3410 	{CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
3411 
3412 /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
3413 {
3414 #ifdef NICENAMES
3415 "subl rrd,@rs",32,14,0x3c,
3416 #endif
3417 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3418 	{CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
3419 
3420 /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
3421 {
3422 #ifdef NICENAMES
3423 "subl rrd,address_src",32,15,0x3c,
3424 #endif
3425 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
3426 	{CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
3427 
3428 /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
3429 {
3430 #ifdef NICENAMES
3431 "subl rrd,address_src(rs)",32,16,0x3c,
3432 #endif
3433 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
3434 	{CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
3435 
3436 /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
3437 {
3438 #ifdef NICENAMES
3439 "subl rrd,imm32",32,14,0x3c,
3440 #endif
3441 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
3442 	{CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,185},
3443 
3444 /* 1001 0010 ssss dddd *** subl rrd,rrs */
3445 {
3446 #ifdef NICENAMES
3447 "subl rrd,rrs",32,8,0x3c,
3448 #endif
3449 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
3450 	{CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
3451 
3452 /* 1010 1111 dddd cccc *** tcc cc,rd */
3453 {
3454 #ifdef NICENAMES
3455 "tcc cc,rd",16,5,0x00,
3456 #endif
3457 "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
3458 	{CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,186},
3459 
3460 /* 1010 1110 dddd cccc *** tccb cc,rbd */
3461 {
3462 #ifdef NICENAMES
3463 "tccb cc,rbd",8,5,0x00,
3464 #endif
3465 "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
3466 	{CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,187},
3467 
3468 /* 0000 1101 ddN0 0100 *** test @rd */
3469 {
3470 #ifdef NICENAMES
3471 "test @rd",16,8,0x18,
3472 #endif
3473 "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
3474 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
3475 
3476 /* 0100 1101 0000 0100 address_dst *** test address_dst */
3477 {
3478 #ifdef NICENAMES
3479 "test address_dst",16,11,0x00,
3480 #endif
3481 "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
3482 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
3483 
3484 /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
3485 {
3486 #ifdef NICENAMES
3487 "test address_dst(rd)",16,12,0x00,
3488 #endif
3489 "test",OPC_test,0,{CLASS_X+(ARG_RD),},
3490 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
3491 
3492 /* 1000 1101 dddd 0100 *** test rd */
3493 {
3494 #ifdef NICENAMES
3495 "test rd",16,7,0x00,
3496 #endif
3497 "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
3498 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
3499 
3500 /* 0000 1100 ddN0 0100 *** testb @rd */
3501 {
3502 #ifdef NICENAMES
3503 "testb @rd",8,8,0x1c,
3504 #endif
3505 "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
3506 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
3507 
3508 /* 0100 1100 0000 0100 address_dst *** testb address_dst */
3509 {
3510 #ifdef NICENAMES
3511 "testb address_dst",8,11,0x1c,
3512 #endif
3513 "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
3514 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
3515 
3516 /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
3517 {
3518 #ifdef NICENAMES
3519 "testb address_dst(rd)",8,12,0x1c,
3520 #endif
3521 "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
3522 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
3523 
3524 /* 1000 1100 dddd 0100 *** testb rbd */
3525 {
3526 #ifdef NICENAMES
3527 "testb rbd",8,7,0x1c,
3528 #endif
3529 "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
3530 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
3531 
3532 /* 0001 1100 ddN0 1000 *** testl @rd */
3533 {
3534 #ifdef NICENAMES
3535 "testl @rd",32,13,0x18,
3536 #endif
3537 "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
3538 	{CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
3539 
3540 /* 0101 1100 0000 1000 address_dst *** testl address_dst */
3541 {
3542 #ifdef NICENAMES
3543 "testl address_dst",32,16,0x18,
3544 #endif
3545 "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
3546 	{CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
3547 
3548 /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
3549 {
3550 #ifdef NICENAMES
3551 "testl address_dst(rd)",32,17,0x18,
3552 #endif
3553 "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
3554 	{CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
3555 
3556 /* 1001 1100 dddd 1000 *** testl rrd */
3557 {
3558 #ifdef NICENAMES
3559 "testl rrd",32,13,0x18,
3560 #endif
3561 "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
3562 	{CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
3563 
3564 /* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
3565 {
3566 #ifdef NICENAMES
3567 "trdb @rd,@rs,rba",8,25,0x1c,
3568 #endif
3569 "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3570 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,191},
3571 
3572 /* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
3573 {
3574 #ifdef NICENAMES
3575 "trdrb @rd,@rs,rba",8,25,0x1c,
3576 #endif
3577 "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3578 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,192},
3579 
3580 /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
3581 {
3582 #ifdef NICENAMES
3583 "trib @rd,@rs,rbr",8,25,0x1c,
3584 #endif
3585 "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
3586 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,193},
3587 
3588 /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
3589 {
3590 #ifdef NICENAMES
3591 "trirb @rd,@rs,rbr",8,25,0x1c,
3592 #endif
3593 "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
3594 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,194},
3595 
3596 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
3597 {
3598 #ifdef NICENAMES
3599 "trtdb @ra,@rb,rbr",8,25,0x1c,
3600 #endif
3601 "trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
3602 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,195},
3603 
3604 /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
3605 {
3606 #ifdef NICENAMES
3607 "trtdrb @ra,@rb,rbr",8,25,0x1c,
3608 #endif
3609 "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
3610 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,196},
3611 
3612 /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
3613 {
3614 #ifdef NICENAMES
3615 "trtib @ra,@rb,rbr",8,25,0x1c,
3616 #endif
3617 "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
3618 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,197},
3619 
3620 /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
3621 {
3622 #ifdef NICENAMES
3623 "trtirb @ra,@rb,rbr",8,25,0x1c,
3624 #endif
3625 "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
3626 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,198},
3627 
3628 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
3629 {
3630 #ifdef NICENAMES
3631 "trtrb @ra,@rb,rbr",8,25,0x1c,
3632 #endif
3633 "trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
3634 	{CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,199},
3635 
3636 /* 0000 1101 ddN0 0110 *** tset @rd */
3637 {
3638 #ifdef NICENAMES
3639 "tset @rd",16,11,0x08,
3640 #endif
3641 "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
3642 	{CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
3643 
3644 /* 0100 1101 0000 0110 address_dst *** tset address_dst */
3645 {
3646 #ifdef NICENAMES
3647 "tset address_dst",16,14,0x08,
3648 #endif
3649 "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
3650 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
3651 
3652 /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
3653 {
3654 #ifdef NICENAMES
3655 "tset address_dst(rd)",16,15,0x08,
3656 #endif
3657 "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
3658 	{CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
3659 
3660 /* 1000 1101 dddd 0110 *** tset rd */
3661 {
3662 #ifdef NICENAMES
3663 "tset rd",16,7,0x08,
3664 #endif
3665 "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
3666 	{CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
3667 
3668 /* 0000 1100 ddN0 0110 *** tsetb @rd */
3669 {
3670 #ifdef NICENAMES
3671 "tsetb @rd",8,11,0x08,
3672 #endif
3673 "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
3674 	{CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,201},
3675 
3676 /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
3677 {
3678 #ifdef NICENAMES
3679 "tsetb address_dst",8,14,0x08,
3680 #endif
3681 "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
3682 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,201},
3683 
3684 /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
3685 {
3686 #ifdef NICENAMES
3687 "tsetb address_dst(rd)",8,15,0x08,
3688 #endif
3689 "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
3690 	{CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,201},
3691 
3692 /* 1000 1100 dddd 0110 *** tsetb rbd */
3693 {
3694 #ifdef NICENAMES
3695 "tsetb rbd",8,7,0x08,
3696 #endif
3697 "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
3698 	{CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,201},
3699 
3700 /* 0000 1001 ssN0 dddd *** xor rd,@rs */
3701 {
3702 #ifdef NICENAMES
3703 "xor rd,@rs",16,7,0x18,
3704 #endif
3705 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3706 	{CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
3707 
3708 /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
3709 {
3710 #ifdef NICENAMES
3711 "xor rd,address_src",16,9,0x18,
3712 #endif
3713 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3714 	{CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
3715 
3716 /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
3717 {
3718 #ifdef NICENAMES
3719 "xor rd,address_src(rs)",16,10,0x18,
3720 #endif
3721 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3722 	{CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
3723 
3724 /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
3725 {
3726 #ifdef NICENAMES
3727 "xor rd,imm16",16,7,0x18,
3728 #endif
3729 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3730 	{CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,202},
3731 
3732 /* 1000 1001 ssss dddd *** xor rd,rs */
3733 {
3734 #ifdef NICENAMES
3735 "xor rd,rs",16,4,0x18,
3736 #endif
3737 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3738 	{CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
3739 
3740 /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
3741 {
3742 #ifdef NICENAMES
3743 "xorb rbd,@rs",8,7,0x1c,
3744 #endif
3745 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3746 	{CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,203},
3747 
3748 /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
3749 {
3750 #ifdef NICENAMES
3751 "xorb rbd,address_src",8,9,0x1c,
3752 #endif
3753 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3754 	{CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,203},
3755 
3756 /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
3757 {
3758 #ifdef NICENAMES
3759 "xorb rbd,address_src(rs)",8,10,0x1c,
3760 #endif
3761 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3762 	{CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,203},
3763 
3764 /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
3765 {
3766 #ifdef NICENAMES
3767 "xorb rbd,imm8",8,7,0x1c,
3768 #endif
3769 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3770 	{CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,203},
3771 
3772 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
3773 {
3774 #ifdef NICENAMES
3775 "xorb rbd,rbs",8,4,0x1c,
3776 #endif
3777 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3778 	{CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,203},
3779 
3780 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
3781 {
3782 #ifdef NICENAMES
3783 "xorb rbd,rbs",8,4,0x01,
3784 #endif
3785 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3786 	{CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,203},
3787 
3788 /* end marker */
3789 {
3790 #ifdef NICENAMES
3791 NULL,0,0,
3792 0,
3793 #endif
3794 NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
3795 };
3796 #endif
3797