2000-07-24 H.J. Lu (hjl@gnu.org)
[binutils.git] / opcodes / z8k-opc.h
blob379a3a3c64771005117eb89cb23447333dc2f347
1 /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */
2 #define ARG_MASK 0x0f
3 #define ARG_SRC 0x01
4 #define ARG_DST 0x02
5 #define ARG_RS 0x01
6 #define ARG_RD 0x02
7 #define ARG_RA 0x03
8 #define ARG_RB 0x04
9 #define ARG_RR 0x05
10 #define ARG_RX 0x06
11 #define ARG_IMM4 0x01
12 #define ARG_IMM8 0x02
13 #define ARG_IMM16 0x03
14 #define ARG_IMM32 0x04
15 #define ARG_IMMN 0x05
16 #define ARG_IMMNMINUS1 0x05
17 #define ARG_IMM_1 0x06
18 #define ARG_IMM_2 0x07
19 #define ARG_DISP16 0x08
20 #define ARG_NIM8 0x09
21 #define ARG_IMM2 0x0a
22 #define ARG_IMM1OR2 0x0b
23 #define ARG_DISP12 0x0b
24 #define ARG_DISP8 0x0c
25 #define ARG_IMM4M1 0x0d
26 #define CLASS_MASK 0x1fff0
27 #define CLASS_X 0x10
28 #define CLASS_BA 0x20
29 #define CLASS_DA 0x30
30 #define CLASS_BX 0x40
31 #define CLASS_DISP 0x50
32 #define CLASS_IMM 0x60
33 #define CLASS_CC 0x70
34 #define CLASS_CTRL 0x80
35 #define CLASS_ADDRESS 0xd0
36 #define CLASS_0CCC 0xe0
37 #define CLASS_1CCC 0xf0
38 #define CLASS_0DISP7 0x100
39 #define CLASS_1DISP7 0x200
40 #define CLASS_01II 0x300
41 #define CLASS_00II 0x400
42 #define CLASS_BIT 0x500
43 #define CLASS_FLAGS 0x600
44 #define CLASS_IR 0x700
45 #define CLASS_DISP8 0x800
46 #define CLASS_BIT_1OR2 0x900
47 #define CLASS_REG 0x7000
48 #define CLASS_REG_BYTE 0x2000
49 #define CLASS_REG_WORD 0x3000
50 #define CLASS_REG_QUAD 0x4000
51 #define CLASS_REG_LONG 0x5000
52 #define CLASS_REGN0 0x8000
53 #define CLASS_PR 0x10000
54 #define OPC_adc 0
55 #define OPC_adcb 1
56 #define OPC_add 2
57 #define OPC_addb 3
58 #define OPC_addl 4
59 #define OPC_and 5
60 #define OPC_andb 6
61 #define OPC_bit 7
62 #define OPC_bitb 8
63 #define OPC_call 9
64 #define OPC_calr 10
65 #define OPC_clr 11
66 #define OPC_clrb 12
67 #define OPC_com 13
68 #define OPC_comb 14
69 #define OPC_comflg 15
70 #define OPC_cp 16
71 #define OPC_cpb 17
72 #define OPC_cpd 18
73 #define OPC_cpdb 19
74 #define OPC_cpdr 20
75 #define OPC_cpdrb 21
76 #define OPC_cpi 22
77 #define OPC_cpib 23
78 #define OPC_cpir 24
79 #define OPC_cpirb 25
80 #define OPC_cpl 26
81 #define OPC_cpsd 27
82 #define OPC_cpsdb 28
83 #define OPC_cpsdr 29
84 #define OPC_cpsdrb 30
85 #define OPC_cpsi 31
86 #define OPC_cpsib 32
87 #define OPC_cpsir 33
88 #define OPC_cpsirb 34
89 #define OPC_dab 35
90 #define OPC_dbjnz 36
91 #define OPC_dec 37
92 #define OPC_decb 38
93 #define OPC_di 39
94 #define OPC_div 40
95 #define OPC_divl 41
96 #define OPC_djnz 42
97 #define OPC_ei 43
98 #define OPC_ex 44
99 #define OPC_exb 45
100 #define OPC_exts 46
101 #define OPC_extsb 47
102 #define OPC_extsl 48
103 #define OPC_halt 49
104 #define OPC_in 50
105 #define OPC_inb 51
106 #define OPC_inc 52
107 #define OPC_incb 53
108 #define OPC_ind 54
109 #define OPC_indb 55
110 #define OPC_inib 56
111 #define OPC_inibr 57
112 #define OPC_iret 58
113 #define OPC_jp 59
114 #define OPC_jr 60
115 #define OPC_ld 61
116 #define OPC_lda 62
117 #define OPC_ldar 63
118 #define OPC_ldb 64
119 #define OPC_ldctl 65
120 #define OPC_ldir 66
121 #define OPC_ldirb 67
122 #define OPC_ldk 68
123 #define OPC_ldl 69
124 #define OPC_ldm 70
125 #define OPC_ldps 71
126 #define OPC_ldr 72
127 #define OPC_ldrb 73
128 #define OPC_ldrl 74
129 #define OPC_mbit 75
130 #define OPC_mreq 76
131 #define OPC_mres 77
132 #define OPC_mset 78
133 #define OPC_mult 79
134 #define OPC_multl 80
135 #define OPC_neg 81
136 #define OPC_negb 82
137 #define OPC_nop 83
138 #define OPC_or 84
139 #define OPC_orb 85
140 #define OPC_out 86
141 #define OPC_outb 87
142 #define OPC_outd 88
143 #define OPC_outdb 89
144 #define OPC_outib 90
145 #define OPC_outibr 91
146 #define OPC_pop 92
147 #define OPC_popl 93
148 #define OPC_push 94
149 #define OPC_pushl 95
150 #define OPC_res 96
151 #define OPC_resb 97
152 #define OPC_resflg 98
153 #define OPC_ret 99
154 #define OPC_rl 100
155 #define OPC_rlb 101
156 #define OPC_rlc 102
157 #define OPC_rlcb 103
158 #define OPC_rldb 104
159 #define OPC_rr 105
160 #define OPC_rrb 106
161 #define OPC_rrc 107
162 #define OPC_rrcb 108
163 #define OPC_rrdb 109
164 #define OPC_sbc 110
165 #define OPC_sbcb 111
166 #define OPC_sda 112
167 #define OPC_sdab 113
168 #define OPC_sdal 114
169 #define OPC_sdl 115
170 #define OPC_sdlb 116
171 #define OPC_sdll 117
172 #define OPC_set 118
173 #define OPC_setb 119
174 #define OPC_setflg 120
175 #define OPC_sinb 121
176 #define OPC_sind 122
177 #define OPC_sindb 123
178 #define OPC_sinib 124
179 #define OPC_sinibr 125
180 #define OPC_sla 126
181 #define OPC_slab 127
182 #define OPC_slal 128
183 #define OPC_sll 129
184 #define OPC_sllb 130
185 #define OPC_slll 131
186 #define OPC_sout 132
187 #define OPC_soutb 133
188 #define OPC_soutd 134
189 #define OPC_soutdb 135
190 #define OPC_soutib 136
191 #define OPC_soutibr 137
192 #define OPC_sra 138
193 #define OPC_srab 139
194 #define OPC_sral 140
195 #define OPC_srl 141
196 #define OPC_srlb 142
197 #define OPC_srll 143
198 #define OPC_sub 144
199 #define OPC_subb 145
200 #define OPC_subl 146
201 #define OPC_tcc 147
202 #define OPC_tccb 148
203 #define OPC_test 149
204 #define OPC_testb 150
205 #define OPC_testl 151
206 #define OPC_trdb 152
207 #define OPC_trdrb 153
208 #define OPC_trib 154
209 #define OPC_trirb 155
210 #define OPC_trtdrb 156
211 #define OPC_trtib 157
212 #define OPC_trtirb 158
213 #define OPC_trtdb 159
214 #define OPC_tset 160
215 #define OPC_tsetb 161
216 #define OPC_xor 162
217 #define OPC_xorb 163
218 #define OPC_ldd 164
219 #define OPC_lddb 165
220 #define OPC_lddr 166
221 #define OPC_lddrb 167
222 #define OPC_ldi 168
223 #define OPC_ldib 169
224 #define OPC_sc 170
225 #define OPC_bpt 171
226 #define OPC_ext0e 172
227 #define OPC_ext0f 172
228 #define OPC_ext8e 172
229 #define OPC_ext8f 172
230 #define OPC_rsvd36 172
231 #define OPC_rsvd38 172
232 #define OPC_rsvd78 172
233 #define OPC_rsvd7e 172
234 #define OPC_rsvd9d 172
235 #define OPC_rsvd9f 172
236 #define OPC_rsvdb9 172
237 #define OPC_rsvdbf 172
238 #define OPC_outi 173
239 typedef struct {
240 #ifdef NICENAMES
241 char *nicename;
242 int type;
243 int cycles;
244 int flags;
245 #endif
246 char *name;
247 unsigned char opcode;
248 void (*func)();
249 unsigned int arg_info[4];
250 unsigned int byte_info[10];
251 int noperands;
252 int length;
253 int idx;
254 } opcode_entry_type;
255 #ifdef DEFINE_TABLE
256 opcode_entry_type z8k_table[] = {
259 /* 1011 0101 ssss dddd *** adc rd,rs */
261 #ifdef NICENAMES
262 "adc rd,rs",16,5,
263 0x3c,
264 #endif
265 "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
266 {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
269 /* 1011 0100 ssss dddd *** adcb rbd,rbs */
271 #ifdef NICENAMES
272 "adcb rbd,rbs",8,5,
273 0x3f,
274 #endif
275 "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
276 {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
279 /* 0000 0001 ssN0 dddd *** add rd,@rs */
281 #ifdef NICENAMES
282 "add rd,@rs",16,7,
283 0x3c,
284 #endif
285 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
286 {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
289 /* 0100 0001 0000 dddd address_src *** add rd,address_src */
291 #ifdef NICENAMES
292 "add rd,address_src",16,9,
293 0x3c,
294 #endif
295 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
296 {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
299 /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
301 #ifdef NICENAMES
302 "add rd,address_src(rs)",16,10,
303 0x3c,
304 #endif
305 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
306 {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
309 /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
311 #ifdef NICENAMES
312 "add rd,imm16",16,7,
313 0x3c,
314 #endif
315 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
316 {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
319 /* 1000 0001 ssss dddd *** add rd,rs */
321 #ifdef NICENAMES
322 "add rd,rs",16,4,
323 0x3c,
324 #endif
325 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
326 {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
329 /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
331 #ifdef NICENAMES
332 "addb rbd,@rs",8,7,
333 0x3f,
334 #endif
335 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
336 {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
339 /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
341 #ifdef NICENAMES
342 "addb rbd,address_src",8,9,
343 0x3f,
344 #endif
345 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
346 {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
349 /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
351 #ifdef NICENAMES
352 "addb rbd,address_src(rs)",8,10,
353 0x3f,
354 #endif
355 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
356 {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
359 /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
361 #ifdef NICENAMES
362 "addb rbd,imm8",8,7,
363 0x3f,
364 #endif
365 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
366 {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,10},
369 /* 1000 0000 ssss dddd *** addb rbd,rbs */
371 #ifdef NICENAMES
372 "addb rbd,rbs",8,4,
373 0x3f,
374 #endif
375 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
376 {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
379 /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
381 #ifdef NICENAMES
382 "addl rrd,@rs",32,14,
383 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,12},
389 /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
391 #ifdef NICENAMES
392 "addl rrd,address_src",32,15,
393 0x3c,
394 #endif
395 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
396 {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
399 /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
401 #ifdef NICENAMES
402 "addl rrd,address_src(rs)",32,16,
403 0x3c,
404 #endif
405 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
406 {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
409 /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
411 #ifdef NICENAMES
412 "addl rrd,imm32",32,14,
413 0x3c,
414 #endif
415 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
416 {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
419 /* 1001 0110 ssss dddd *** addl rrd,rrs */
421 #ifdef NICENAMES
422 "addl rrd,rrs",32,8,
423 0x3c,
424 #endif
425 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
426 {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
429 /* 0000 0111 ssN0 dddd *** and rd,@rs */
431 #ifdef NICENAMES
432 "and rd,@rs",16,7,
433 0x18,
434 #endif
435 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
436 {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
439 /* 0100 0111 0000 dddd address_src *** and rd,address_src */
441 #ifdef NICENAMES
442 "and rd,address_src",16,9,
443 0x18,
444 #endif
445 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
446 {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
449 /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
451 #ifdef NICENAMES
452 "and rd,address_src(rs)",16,10,
453 0x18,
454 #endif
455 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
456 {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
459 /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
461 #ifdef NICENAMES
462 "and rd,imm16",16,7,
463 0x18,
464 #endif
465 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
466 {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
469 /* 1000 0111 ssss dddd *** and rd,rs */
471 #ifdef NICENAMES
472 "and rd,rs",16,4,
473 0x18,
474 #endif
475 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
476 {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
479 /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
481 #ifdef NICENAMES
482 "andb rbd,@rs",8,7,
483 0x1c,
484 #endif
485 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
486 {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
489 /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
491 #ifdef NICENAMES
492 "andb rbd,address_src",8,9,
493 0x1c,
494 #endif
495 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
496 {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
499 /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
501 #ifdef NICENAMES
502 "andb rbd,address_src(rs)",8,10,
503 0x1c,
504 #endif
505 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
506 {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
509 /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
511 #ifdef NICENAMES
512 "andb rbd,imm8",8,7,
513 0x1c,
514 #endif
515 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
516 {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,25},
519 /* 1000 0110 ssss dddd *** andb rbd,rbs */
521 #ifdef NICENAMES
522 "andb rbd,rbs",8,4,
523 0x1c,
524 #endif
525 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
526 {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
529 /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
531 #ifdef NICENAMES
532 "bit @rd,imm4",16,8,
533 0x10,
534 #endif
535 "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
536 {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
539 /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
541 #ifdef NICENAMES
542 "bit address_dst(rd),imm4",16,11,
543 0x10,
544 #endif
545 "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
546 {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
549 /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
551 #ifdef NICENAMES
552 "bit address_dst,imm4",16,10,
553 0x10,
554 #endif
555 "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
556 {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
559 /* 1010 0111 dddd imm4 *** bit rd,imm4 */
561 #ifdef NICENAMES
562 "bit rd,imm4",16,4,
563 0x10,
564 #endif
565 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
566 {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
569 /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
571 #ifdef NICENAMES
572 "bit rd,rs",16,10,
573 0x10,
574 #endif
575 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
576 {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,31},
579 /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
581 #ifdef NICENAMES
582 "bitb @rd,imm4",8,8,
583 0x10,
584 #endif
585 "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
586 {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
589 /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
591 #ifdef NICENAMES
592 "bitb address_dst(rd),imm4",8,11,
593 0x10,
594 #endif
595 "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
596 {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
599 /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
601 #ifdef NICENAMES
602 "bitb address_dst,imm4",8,10,
603 0x10,
604 #endif
605 "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
606 {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
609 /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
611 #ifdef NICENAMES
612 "bitb rbd,imm4",8,4,
613 0x10,
614 #endif
615 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
616 {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
619 /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
621 #ifdef NICENAMES
622 "bitb rbd,rs",8,10,
623 0x10,
624 #endif
625 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
626 {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,36},
629 /* 0011 0110 0000 0000 *** bpt */
631 #ifdef NICENAMES
632 "bpt",8,2,
633 0x00,
634 #endif
635 "bpt",OPC_bpt,0,{0},
636 {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
639 /* 0001 1111 ddN0 0000 *** call @rd */
641 #ifdef NICENAMES
642 "call @rd",32,10,
643 0x00,
644 #endif
645 "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
646 {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
649 /* 0101 1111 0000 0000 address_dst *** call address_dst */
651 #ifdef NICENAMES
652 "call address_dst",32,12,
653 0x00,
654 #endif
655 "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
656 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
659 /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
661 #ifdef NICENAMES
662 "call address_dst(rd)",32,13,
663 0x00,
664 #endif
665 "call",OPC_call,0,{CLASS_X+(ARG_RD),},
666 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
669 /* 1101 disp12 *** calr disp12 */
671 #ifdef NICENAMES
672 "calr disp12",16,10,
673 0x00,
674 #endif
675 "calr",OPC_calr,0,{CLASS_DISP,},
676 {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
679 /* 0000 1101 ddN0 1000 *** clr @rd */
681 #ifdef NICENAMES
682 "clr @rd",16,8,
683 0x00,
684 #endif
685 "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
686 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
689 /* 0100 1101 0000 1000 address_dst *** clr address_dst */
691 #ifdef NICENAMES
692 "clr address_dst",16,11,
693 0x00,
694 #endif
695 "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
696 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
699 /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
701 #ifdef NICENAMES
702 "clr address_dst(rd)",16,12,
703 0x00,
704 #endif
705 "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
706 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
709 /* 1000 1101 dddd 1000 *** clr rd */
711 #ifdef NICENAMES
712 "clr rd",16,7,
713 0x00,
714 #endif
715 "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
716 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
719 /* 0000 1100 ddN0 1000 *** clrb @rd */
721 #ifdef NICENAMES
722 "clrb @rd",8,8,
723 0x00,
724 #endif
725 "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
726 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
729 /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
731 #ifdef NICENAMES
732 "clrb address_dst",8,11,
733 0x00,
734 #endif
735 "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
736 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
739 /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
741 #ifdef NICENAMES
742 "clrb address_dst(rd)",8,12,
743 0x00,
744 #endif
745 "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
746 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
749 /* 1000 1100 dddd 1000 *** clrb rbd */
751 #ifdef NICENAMES
752 "clrb rbd",8,7,
753 0x00,
754 #endif
755 "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
756 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
759 /* 0000 1101 ddN0 0000 *** com @rd */
761 #ifdef NICENAMES
762 "com @rd",16,12,
763 0x18,
764 #endif
765 "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
766 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
769 /* 0100 1101 0000 0000 address_dst *** com address_dst */
771 #ifdef NICENAMES
772 "com address_dst",16,15,
773 0x18,
774 #endif
775 "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
776 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
779 /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
781 #ifdef NICENAMES
782 "com address_dst(rd)",16,16,
783 0x18,
784 #endif
785 "com",OPC_com,0,{CLASS_X+(ARG_RD),},
786 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
789 /* 1000 1101 dddd 0000 *** com rd */
791 #ifdef NICENAMES
792 "com rd",16,7,
793 0x18,
794 #endif
795 "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
796 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
799 /* 0000 1100 ddN0 0000 *** comb @rd */
801 #ifdef NICENAMES
802 "comb @rd",8,12,
803 0x1c,
804 #endif
805 "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
806 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
809 /* 0100 1100 0000 0000 address_dst *** comb address_dst */
811 #ifdef NICENAMES
812 "comb address_dst",8,15,
813 0x1c,
814 #endif
815 "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
816 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
819 /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
821 #ifdef NICENAMES
822 "comb address_dst(rd)",8,16,
823 0x1c,
824 #endif
825 "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
826 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
829 /* 1000 1100 dddd 0000 *** comb rbd */
831 #ifdef NICENAMES
832 "comb rbd",8,7,
833 0x1c,
834 #endif
835 "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
836 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
839 /* 1000 1101 flags 0101 *** comflg flags */
841 #ifdef NICENAMES
842 "comflg flags",16,7,
843 0x3c,
844 #endif
845 "comflg",OPC_comflg,0,{CLASS_FLAGS,},
846 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,58},
849 /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
851 #ifdef NICENAMES
852 "cp @rd,imm16",16,11,
853 0x3c,
854 #endif
855 "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
856 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
859 /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
861 #ifdef NICENAMES
862 "cp address_dst(rd),imm16",16,15,
863 0x3c,
864 #endif
865 "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
866 {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,60},
869 /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
871 #ifdef NICENAMES
872 "cp address_dst,imm16",16,14,
873 0x3c,
874 #endif
875 "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
876 {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,61},
879 /* 0000 1011 ssN0 dddd *** cp rd,@rs */
881 #ifdef NICENAMES
882 "cp rd,@rs",16,7,
883 0x3c,
884 #endif
885 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
886 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
889 /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
891 #ifdef NICENAMES
892 "cp rd,address_src",16,9,
893 0x3c,
894 #endif
895 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
896 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
899 /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
901 #ifdef NICENAMES
902 "cp rd,address_src(rs)",16,10,
903 0x3c,
904 #endif
905 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
906 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
909 /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
911 #ifdef NICENAMES
912 "cp rd,imm16",16,7,
913 0x3c,
914 #endif
915 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
916 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
919 /* 1000 1011 ssss dddd *** cp rd,rs */
921 #ifdef NICENAMES
922 "cp rd,rs",16,4,
923 0x3c,
924 #endif
925 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
926 {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
929 /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
931 #ifdef NICENAMES
932 "cpb @rd,imm8",8,11,
933 0x3c,
934 #endif
935 "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
936 {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,67},
939 /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
941 #ifdef NICENAMES
942 "cpb address_dst(rd),imm8",8,15,
943 0x3c,
944 #endif
945 "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
946 {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,68},
949 /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
951 #ifdef NICENAMES
952 "cpb address_dst,imm8",8,14,
953 0x3c,
954 #endif
955 "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
956 {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,69},
959 /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
961 #ifdef NICENAMES
962 "cpb rbd,@rs",8,7,
963 0x3c,
964 #endif
965 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
966 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
969 /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
971 #ifdef NICENAMES
972 "cpb rbd,address_src",8,9,
973 0x3c,
974 #endif
975 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
976 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
979 /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
981 #ifdef NICENAMES
982 "cpb rbd,address_src(rs)",8,10,
983 0x3c,
984 #endif
985 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
986 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
989 /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
991 #ifdef NICENAMES
992 "cpb rbd,imm8",8,7,
993 0x3c,
994 #endif
995 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
996 {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,73},
999 /* 1000 1010 ssss dddd *** cpb rbd,rbs */
1001 #ifdef NICENAMES
1002 "cpb rbd,rbs",8,4,
1003 0x3c,
1004 #endif
1005 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1006 {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1009 /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
1011 #ifdef NICENAMES
1012 "cpd rd,@rs,rr,cc",16,11,
1013 0x3c,
1014 #endif
1015 "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1016 {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,75},
1019 /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
1021 #ifdef NICENAMES
1022 "cpdb rbd,@rs,rr,cc",8,11,
1023 0x3c,
1024 #endif
1025 "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(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+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
1029 /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
1031 #ifdef NICENAMES
1032 "cpdr rd,@rs,rr,cc",16,11,
1033 0x3c,
1034 #endif
1035 "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1036 {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,77},
1039 /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
1041 #ifdef NICENAMES
1042 "cpdrb rbd,@rs,rr,cc",8,11,
1043 0x3c,
1044 #endif
1045 "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1046 {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,78},
1049 /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
1051 #ifdef NICENAMES
1052 "cpi rd,@rs,rr,cc",16,11,
1053 0x3c,
1054 #endif
1055 "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1056 {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,79},
1059 /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
1061 #ifdef NICENAMES
1062 "cpib rbd,@rs,rr,cc",8,11,
1063 0x3c,
1064 #endif
1065 "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1066 {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,80},
1069 /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
1071 #ifdef NICENAMES
1072 "cpir rd,@rs,rr,cc",16,11,
1073 0x3c,
1074 #endif
1075 "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1076 {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,81},
1079 /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
1081 #ifdef NICENAMES
1082 "cpirb rbd,@rs,rr,cc",8,11,
1083 0x3c,
1084 #endif
1085 "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1086 {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,82},
1089 /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
1091 #ifdef NICENAMES
1092 "cpl rrd,@rs",32,14,
1093 0x3c,
1094 #endif
1095 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1096 {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
1099 /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
1101 #ifdef NICENAMES
1102 "cpl rrd,address_src",32,15,
1103 0x3c,
1104 #endif
1105 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1106 {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
1109 /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
1111 #ifdef NICENAMES
1112 "cpl rrd,address_src(rs)",32,16,
1113 0x3c,
1114 #endif
1115 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1116 {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
1119 /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1121 #ifdef NICENAMES
1122 "cpl rrd,imm32",32,14,
1123 0x3c,
1124 #endif
1125 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1126 {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
1129 /* 1001 0000 ssss dddd *** cpl rrd,rrs */
1131 #ifdef NICENAMES
1132 "cpl rrd,rrs",32,8,
1133 0x3c,
1134 #endif
1135 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1136 {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
1139 /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1141 #ifdef NICENAMES
1142 "cpsd @rd,@rs,rr,cc",16,11,
1143 0x3c,
1144 #endif
1145 "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1146 {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,88},
1149 /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1151 #ifdef NICENAMES
1152 "cpsdb @rd,@rs,rr,cc",8,11,
1153 0x3c,
1154 #endif
1155 "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1156 {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,89},
1159 /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1161 #ifdef NICENAMES
1162 "cpsdr @rd,@rs,rr,cc",16,11,
1163 0x3c,
1164 #endif
1165 "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1166 {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,90},
1169 /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1171 #ifdef NICENAMES
1172 "cpsdrb @rd,@rs,rr,cc",8,11,
1173 0x3c,
1174 #endif
1175 "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1176 {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,91},
1179 /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1181 #ifdef NICENAMES
1182 "cpsi @rd,@rs,rr,cc",16,11,
1183 0x3c,
1184 #endif
1185 "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1186 {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,92},
1189 /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1191 #ifdef NICENAMES
1192 "cpsib @rd,@rs,rr,cc",8,11,
1193 0x3c,
1194 #endif
1195 "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1196 {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,93},
1199 /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1201 #ifdef NICENAMES
1202 "cpsir @rd,@rs,rr,cc",16,11,
1203 0x3c,
1204 #endif
1205 "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1206 {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,94},
1209 /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1211 #ifdef NICENAMES
1212 "cpsirb @rd,@rs,rr,cc",8,11,
1213 0x3c,
1214 #endif
1215 "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1216 {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,95},
1219 /* 1011 0000 dddd 0000 *** dab rbd */
1221 #ifdef NICENAMES
1222 "dab rbd",8,5,
1223 0x38,
1224 #endif
1225 "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1226 {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
1229 /* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1231 #ifdef NICENAMES
1232 "dbjnz rbd,disp7",16,11,
1233 0x00,
1234 #endif
1235 "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1236 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,97},
1239 /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1241 #ifdef NICENAMES
1242 "dec @rd,imm4m1",16,11,
1243 0x1c,
1244 #endif
1245 "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1246 {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
1249 /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1251 #ifdef NICENAMES
1252 "dec address_dst(rd),imm4m1",16,14,
1253 0x1c,
1254 #endif
1255 "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1256 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
1259 /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1261 #ifdef NICENAMES
1262 "dec address_dst,imm4m1",16,13,
1263 0x1c,
1264 #endif
1265 "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1266 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
1269 /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1271 #ifdef NICENAMES
1272 "dec rd,imm4m1",16,4,
1273 0x1c,
1274 #endif
1275 "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1276 {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
1279 /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1281 #ifdef NICENAMES
1282 "decb @rd,imm4m1",8,11,
1283 0x1c,
1284 #endif
1285 "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1286 {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
1289 /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1291 #ifdef NICENAMES
1292 "decb address_dst(rd),imm4m1",8,14,
1293 0x1c,
1294 #endif
1295 "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1296 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
1299 /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1301 #ifdef NICENAMES
1302 "decb address_dst,imm4m1",8,13,
1303 0x1c,
1304 #endif
1305 "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1306 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
1309 /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1311 #ifdef NICENAMES
1312 "decb rbd,imm4m1",8,4,
1313 0x1c,
1314 #endif
1315 "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1316 {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
1319 /* 0111 1100 0000 00ii *** di i2 */
1321 #ifdef NICENAMES
1322 "di i2",16,7,
1323 0x00,
1324 #endif
1325 "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1326 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
1329 /* 0001 1011 ssN0 dddd *** div rrd,@rs */
1331 #ifdef NICENAMES
1332 "div rrd,@rs",16,107,
1333 0x3c,
1334 #endif
1335 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1336 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
1339 /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1341 #ifdef NICENAMES
1342 "div rrd,address_src",16,107,
1343 0x3c,
1344 #endif
1345 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1346 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
1349 /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1351 #ifdef NICENAMES
1352 "div rrd,address_src(rs)",16,107,
1353 0x3c,
1354 #endif
1355 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1356 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
1359 /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1361 #ifdef NICENAMES
1362 "div rrd,imm16",16,107,
1363 0x3c,
1364 #endif
1365 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1366 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
1369 /* 1001 1011 ssss dddd *** div rrd,rs */
1371 #ifdef NICENAMES
1372 "div rrd,rs",16,107,
1373 0x3c,
1374 #endif
1375 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1376 {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
1379 /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1381 #ifdef NICENAMES
1382 "divl rqd,@rs",32,744,
1383 0x3c,
1384 #endif
1385 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1386 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
1389 /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1391 #ifdef NICENAMES
1392 "divl rqd,address_src",32,745,
1393 0x3c,
1394 #endif
1395 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1396 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
1399 /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1401 #ifdef NICENAMES
1402 "divl rqd,address_src(rs)",32,746,
1403 0x3c,
1404 #endif
1405 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1406 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
1409 /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1411 #ifdef NICENAMES
1412 "divl rqd,imm32",32,744,
1413 0x3c,
1414 #endif
1415 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1416 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
1419 /* 1001 1010 ssss dddd *** divl rqd,rrs */
1421 #ifdef NICENAMES
1422 "divl rqd,rrs",32,744,
1423 0x3c,
1424 #endif
1425 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1426 {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
1429 /* 1111 dddd 1disp7 *** djnz rd,disp7 */
1431 #ifdef NICENAMES
1432 "djnz rd,disp7",16,11,
1433 0x00,
1434 #endif
1435 "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1436 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,117},
1439 /* 0111 1100 0000 01ii *** ei i2 */
1441 #ifdef NICENAMES
1442 "ei i2",16,7,
1443 0x00,
1444 #endif
1445 "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1446 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
1449 /* 0010 1101 ssN0 dddd *** ex rd,@rs */
1451 #ifdef NICENAMES
1452 "ex rd,@rs",16,12,
1453 0x00,
1454 #endif
1455 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1456 {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
1459 /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1461 #ifdef NICENAMES
1462 "ex rd,address_src",16,15,
1463 0x00,
1464 #endif
1465 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1466 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
1469 /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1471 #ifdef NICENAMES
1472 "ex rd,address_src(rs)",16,16,
1473 0x00,
1474 #endif
1475 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1476 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
1479 /* 1010 1101 ssss dddd *** ex rd,rs */
1481 #ifdef NICENAMES
1482 "ex rd,rs",16,6,
1483 0x00,
1484 #endif
1485 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1486 {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
1489 /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1491 #ifdef NICENAMES
1492 "exb rbd,@rs",8,12,
1493 0x00,
1494 #endif
1495 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1496 {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
1499 /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1501 #ifdef NICENAMES
1502 "exb rbd,address_src",8,15,
1503 0x00,
1504 #endif
1505 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1506 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
1509 /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1511 #ifdef NICENAMES
1512 "exb rbd,address_src(rs)",8,16,
1513 0x00,
1514 #endif
1515 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1516 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
1519 /* 1010 1100 ssss dddd *** exb rbd,rbs */
1521 #ifdef NICENAMES
1522 "exb rbd,rbs",8,6,
1523 0x00,
1524 #endif
1525 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1526 {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
1529 /* 0000 1110 imm8 *** ext0e imm8 */
1531 #ifdef NICENAMES
1532 "ext0e imm8",8,10,
1533 0x00,
1534 #endif
1535 "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1536 {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
1539 /* 0000 1111 imm8 *** ext0f imm8 */
1541 #ifdef NICENAMES
1542 "ext0f imm8",8,10,
1543 0x00,
1544 #endif
1545 "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1546 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
1549 /* 1000 1110 imm8 *** ext8e imm8 */
1551 #ifdef NICENAMES
1552 "ext8e imm8",8,10,
1553 0x00,
1554 #endif
1555 "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1556 {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
1559 /* 1000 1111 imm8 *** ext8f imm8 */
1561 #ifdef NICENAMES
1562 "ext8f imm8",8,10,
1563 0x00,
1564 #endif
1565 "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1566 {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
1569 /* 1011 0001 dddd 1010 *** exts rrd */
1571 #ifdef NICENAMES
1572 "exts rrd",16,11,
1573 0x00,
1574 #endif
1575 "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1576 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
1579 /* 1011 0001 dddd 0000 *** extsb rd */
1581 #ifdef NICENAMES
1582 "extsb rd",8,11,
1583 0x00,
1584 #endif
1585 "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1586 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
1589 /* 1011 0001 dddd 0111 *** extsl rqd */
1591 #ifdef NICENAMES
1592 "extsl rqd",32,11,
1593 0x00,
1594 #endif
1595 "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1596 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
1599 /* 0111 1010 0000 0000 *** halt */
1601 #ifdef NICENAMES
1602 "halt",16,8,
1603 0x00,
1604 #endif
1605 "halt",OPC_halt,0,{0},
1606 {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
1609 /* 0011 1101 ssN0 dddd *** in rd,@rs */
1611 #ifdef NICENAMES
1612 "in rd,@rs",16,10,
1613 0x00,
1614 #endif
1615 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1616 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
1619 /* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
1621 #ifdef NICENAMES
1622 "in rd,imm16",16,12,
1623 0x00,
1624 #endif
1625 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1626 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
1629 /* 0011 1100 ssN0 dddd *** inb rbd,@rs */
1631 #ifdef NICENAMES
1632 "inb rbd,@rs",8,12,
1633 0x00,
1634 #endif
1635 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1636 {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
1639 /* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1641 #ifdef NICENAMES
1642 "inb rbd,imm16",8,10,
1643 0x00,
1644 #endif
1645 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1646 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
1649 /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1651 #ifdef NICENAMES
1652 "inc @rd,imm4m1",16,11,
1653 0x1c,
1654 #endif
1655 "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1656 {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
1659 /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1661 #ifdef NICENAMES
1662 "inc address_dst(rd),imm4m1",16,14,
1663 0x1c,
1664 #endif
1665 "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1666 {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
1669 /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1671 #ifdef NICENAMES
1672 "inc address_dst,imm4m1",16,13,
1673 0x1c,
1674 #endif
1675 "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1676 {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
1679 /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1681 #ifdef NICENAMES
1682 "inc rd,imm4m1",16,4,
1683 0x1c,
1684 #endif
1685 "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1686 {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
1689 /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1691 #ifdef NICENAMES
1692 "incb @rd,imm4m1",8,11,
1693 0x1c,
1694 #endif
1695 "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1696 {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
1699 /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1701 #ifdef NICENAMES
1702 "incb address_dst(rd),imm4m1",8,14,
1703 0x1c,
1704 #endif
1705 "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1706 {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
1709 /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1711 #ifdef NICENAMES
1712 "incb address_dst,imm4m1",8,13,
1713 0x1c,
1714 #endif
1715 "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1716 {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
1719 /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1721 #ifdef NICENAMES
1722 "incb rbd,imm4m1",8,4,
1723 0x1c,
1724 #endif
1725 "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1726 {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
1729 /* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
1731 #ifdef NICENAMES
1732 "ind @rd,@rs,ra",16,21,
1733 0x04,
1734 #endif
1735 "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1736 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
1739 /* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
1741 #ifdef NICENAMES
1742 "indb @rd,@rs,rba",8,21,
1743 0x04,
1744 #endif
1745 "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
1746 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
1749 /* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
1751 #ifdef NICENAMES
1752 "inib @rd,@rs,ra",8,21,
1753 0x04,
1754 #endif
1755 "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1756 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
1759 /* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
1761 #ifdef NICENAMES
1762 "inibr @rd,@rs,ra",16,21,
1763 0x04,
1764 #endif
1765 "inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1766 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
1769 /* 0111 1011 0000 0000 *** iret */
1771 #ifdef NICENAMES
1772 "iret",16,13,
1773 0x3f,
1774 #endif
1775 "iret",OPC_iret,0,{0},
1776 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
1779 /* 0001 1110 ddN0 cccc *** jp cc,@rd */
1781 #ifdef NICENAMES
1782 "jp cc,@rd",16,10,
1783 0x00,
1784 #endif
1785 "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1786 {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
1789 /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1791 #ifdef NICENAMES
1792 "jp cc,address_dst",16,7,
1793 0x00,
1794 #endif
1795 "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1796 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
1799 /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1801 #ifdef NICENAMES
1802 "jp cc,address_dst(rd)",16,8,
1803 0x00,
1804 #endif
1805 "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1806 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
1809 /* 1110 cccc disp8 *** jr cc,disp8 */
1811 #ifdef NICENAMES
1812 "jr cc,disp8",16,6,
1813 0x00,
1814 #endif
1815 "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1816 {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
1819 /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1821 #ifdef NICENAMES
1822 "ld @rd,imm16",16,7,
1823 0x00,
1824 #endif
1825 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1826 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
1829 /* 0010 1111 ddN0 ssss *** ld @rd,rs */
1831 #ifdef NICENAMES
1832 "ld @rd,rs",16,8,
1833 0x00,
1834 #endif
1835 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1836 {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
1839 /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1841 #ifdef NICENAMES
1842 "ld address_dst(rd),imm16",16,15,
1843 0x00,
1844 #endif
1845 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1846 {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,158},
1849 /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1851 #ifdef NICENAMES
1852 "ld address_dst(rd),rs",16,12,
1853 0x00,
1854 #endif
1855 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1856 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
1859 /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1861 #ifdef NICENAMES
1862 "ld address_dst,imm16",16,14,
1863 0x00,
1864 #endif
1865 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1866 {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,160},
1869 /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1871 #ifdef NICENAMES
1872 "ld address_dst,rs",16,11,
1873 0x00,
1874 #endif
1875 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1876 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
1879 /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1881 #ifdef NICENAMES
1882 "ld rd(imm16),rs",16,14,
1883 0x00,
1884 #endif
1885 "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1886 {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
1889 /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1891 #ifdef NICENAMES
1892 "ld rd(rx),rs",16,14,
1893 0x00,
1894 #endif
1895 "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1896 {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,163},
1899 /* 0010 0001 ssN0 dddd *** ld rd,@rs */
1901 #ifdef NICENAMES
1902 "ld rd,@rs",16,7,
1903 0x00,
1904 #endif
1905 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1906 {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
1909 /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1911 #ifdef NICENAMES
1912 "ld rd,address_src",16,9,
1913 0x00,
1914 #endif
1915 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1916 {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
1919 /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1921 #ifdef NICENAMES
1922 "ld rd,address_src(rs)",16,10,
1923 0x00,
1924 #endif
1925 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1926 {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
1929 /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1931 #ifdef NICENAMES
1932 "ld rd,imm16",16,7,
1933 0x00,
1934 #endif
1935 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1936 {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
1939 /* 1010 0001 ssss dddd *** ld rd,rs */
1941 #ifdef NICENAMES
1942 "ld rd,rs",16,3,
1943 0x00,
1944 #endif
1945 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1946 {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
1949 /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1951 #ifdef NICENAMES
1952 "ld rd,rs(imm16)",16,14,
1953 0x00,
1954 #endif
1955 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1956 {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
1959 /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1961 #ifdef NICENAMES
1962 "ld rd,rs(rx)",16,14,
1963 0x00,
1964 #endif
1965 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1966 {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,170},
1969 /* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1971 #ifdef NICENAMES
1972 "lda prd,address_src",16,12,
1973 0x00,
1974 #endif
1975 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1976 {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
1979 /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1981 #ifdef NICENAMES
1982 "lda prd,address_src(rs)",16,13,
1983 0x00,
1984 #endif
1985 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1986 {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
1989 /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1991 #ifdef NICENAMES
1992 "lda prd,rs(imm16)",16,15,
1993 0x00,
1994 #endif
1995 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
1996 {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
1999 /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
2001 #ifdef NICENAMES
2002 "lda prd,rs(rx)",16,15,
2003 0x00,
2004 #endif
2005 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
2006 {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,174},
2009 /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
2011 #ifdef NICENAMES
2012 "ldar prd,disp16",16,15,
2013 0x00,
2014 #endif
2015 "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
2016 {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
2019 /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
2021 #ifdef NICENAMES
2022 "ldb @rd,imm8",8,7,
2023 0x00,
2024 #endif
2025 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2026 {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,176},
2029 /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
2031 #ifdef NICENAMES
2032 "ldb @rd,rbs",8,8,
2033 0x00,
2034 #endif
2035 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2036 {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
2039 /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
2041 #ifdef NICENAMES
2042 "ldb address_dst(rd),imm8",8,15,
2043 0x00,
2044 #endif
2045 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2046 {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,178},
2049 /* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
2051 #ifdef NICENAMES
2052 "ldb address_dst(rd),rbs",8,12,
2053 0x00,
2054 #endif
2055 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2056 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
2059 /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
2061 #ifdef NICENAMES
2062 "ldb address_dst,imm8",8,14,
2063 0x00,
2064 #endif
2065 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
2066 {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,180},
2069 /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
2071 #ifdef NICENAMES
2072 "ldb address_dst,rbs",8,11,
2073 0x00,
2074 #endif
2075 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
2076 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
2079 /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
2081 #ifdef NICENAMES
2082 "ldb rbd,@rs",8,7,
2083 0x00,
2084 #endif
2085 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2086 {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
2089 /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
2091 #ifdef NICENAMES
2092 "ldb rbd,address_src",8,9,
2093 0x00,
2094 #endif
2095 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2096 {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
2099 /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
2101 #ifdef NICENAMES
2102 "ldb rbd,address_src(rs)",8,10,
2103 0x00,
2104 #endif
2105 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2106 {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
2109 /* 1100 dddd imm8 *** ldb rbd,imm8 */
2111 #ifdef NICENAMES
2112 "ldb rbd,imm8",8,5,
2113 0x00,
2114 #endif
2115 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2116 {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
2119 /* 1010 0000 ssss dddd *** ldb rbd,rbs */
2121 #ifdef NICENAMES
2122 "ldb rbd,rbs",8,3,
2123 0x00,
2124 #endif
2125 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2126 {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
2129 /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
2131 #ifdef NICENAMES
2132 "ldb rbd,rs(imm16)",8,14,
2133 0x00,
2134 #endif
2135 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
2136 {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
2139 /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
2141 #ifdef NICENAMES
2142 "ldb rbd,rs(rx)",8,14,
2143 0x00,
2144 #endif
2145 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
2146 {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,188},
2149 /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
2151 #ifdef NICENAMES
2152 "ldb rd(imm16),rbs",8,14,
2153 0x00,
2154 #endif
2155 "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2156 {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
2159 /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
2161 #ifdef NICENAMES
2162 "ldb rd(rx),rbs",8,14,
2163 0x00,
2164 #endif
2165 "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2166 {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,190},
2169 /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
2171 #ifdef NICENAMES
2172 "ldctl ctrl,rs",32,7,
2173 0x00,
2174 #endif
2175 "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
2176 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
2179 /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
2181 #ifdef NICENAMES
2182 "ldctl rd,ctrl",32,7,
2183 0x00,
2184 #endif
2185 "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
2186 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
2189 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
2191 #ifdef NICENAMES
2192 "ldd @rd,@rs,rr",16,11,
2193 0x04,
2194 #endif
2195 "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2196 {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,193},
2199 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
2201 #ifdef NICENAMES
2202 "lddb @rd,@rs,rr",8,11,
2203 0x04,
2204 #endif
2205 "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2206 {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,194},
2209 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
2211 #ifdef NICENAMES
2212 "lddr @rd,@rs,rr",16,11,
2213 0x04,
2214 #endif
2215 "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2216 {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,195},
2219 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
2221 #ifdef NICENAMES
2222 "lddrb @rd,@rs,rr",8,11,
2223 0x04,
2224 #endif
2225 "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2226 {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,196},
2229 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
2231 #ifdef NICENAMES
2232 "ldi @rd,@rs,rr",16,11,
2233 0x04,
2234 #endif
2235 "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2236 {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,197},
2239 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
2241 #ifdef NICENAMES
2242 "ldib @rd,@rs,rr",8,11,
2243 0x04,
2244 #endif
2245 "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2246 {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,198},
2249 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
2251 #ifdef NICENAMES
2252 "ldir @rd,@rs,rr",16,11,
2253 0x04,
2254 #endif
2255 "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2256 {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,199},
2259 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
2261 #ifdef NICENAMES
2262 "ldirb @rd,@rs,rr",8,11,
2263 0x04,
2264 #endif
2265 "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2266 {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,200},
2269 /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
2271 #ifdef NICENAMES
2272 "ldk rd,imm4",16,5,
2273 0x00,
2274 #endif
2275 "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2276 {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,201},
2279 /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
2281 #ifdef NICENAMES
2282 "ldl @rd,rrs",32,11,
2283 0x00,
2284 #endif
2285 "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2286 {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,202},
2289 /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
2291 #ifdef NICENAMES
2292 "ldl address_dst(rd),rrs",32,14,
2293 0x00,
2294 #endif
2295 "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2296 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,203},
2299 /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2301 #ifdef NICENAMES
2302 "ldl address_dst,rrs",32,15,
2303 0x00,
2304 #endif
2305 "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
2306 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,204},
2309 /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2311 #ifdef NICENAMES
2312 "ldl rd(imm16),rrs",32,17,
2313 0x00,
2314 #endif
2315 "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2316 {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,205},
2319 /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2321 #ifdef NICENAMES
2322 "ldl rd(rx),rrs",32,17,
2323 0x00,
2324 #endif
2325 "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2326 {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,206},
2329 /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2331 #ifdef NICENAMES
2332 "ldl rrd,@rs",32,11,
2333 0x00,
2334 #endif
2335 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2336 {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,207},
2339 /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2341 #ifdef NICENAMES
2342 "ldl rrd,address_src",32,12,
2343 0x00,
2344 #endif
2345 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2346 {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,208},
2349 /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2351 #ifdef NICENAMES
2352 "ldl rrd,address_src(rs)",32,13,
2353 0x00,
2354 #endif
2355 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2356 {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,209},
2359 /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2361 #ifdef NICENAMES
2362 "ldl rrd,imm32",32,11,
2363 0x00,
2364 #endif
2365 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2366 {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,210},
2369 /* 1001 0100 ssss dddd *** ldl rrd,rrs */
2371 #ifdef NICENAMES
2372 "ldl rrd,rrs",32,5,
2373 0x00,
2374 #endif
2375 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2376 {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,211},
2379 /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2381 #ifdef NICENAMES
2382 "ldl rrd,rs(imm16)",32,17,
2383 0x00,
2384 #endif
2385 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
2386 {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,212},
2389 /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2391 #ifdef NICENAMES
2392 "ldl rrd,rs(rx)",32,17,
2393 0x00,
2394 #endif
2395 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
2396 {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,213},
2399 /* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
2401 #ifdef NICENAMES
2402 "ldm @rd,rs,n",16,11,
2403 0x00,
2404 #endif
2405 "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2406 {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_IMMNMINUS1),0,},3,4,214},
2409 /* 0101 1100 ddN0 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
2411 #ifdef NICENAMES
2412 "ldm address_dst(rd),rs,n",16,15,
2413 0x00,
2414 #endif
2415 "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2416 {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_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,215},
2419 /* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
2421 #ifdef NICENAMES
2422 "ldm address_dst,rs,n",16,14,
2423 0x00,
2424 #endif
2425 "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2426 {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_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,216},
2429 /* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
2431 #ifdef NICENAMES
2432 "ldm rd,@rs,n",16,11,
2433 0x00,
2434 #endif
2435 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2436 {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_IMMNMINUS1),0,},3,4,217},
2439 /* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
2441 #ifdef NICENAMES
2442 "ldm rd,address_src(rs),n",16,15,
2443 0x00,
2444 #endif
2445 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2446 {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_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,218},
2449 /* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
2451 #ifdef NICENAMES
2452 "ldm rd,address_src,n",16,14,
2453 0x00,
2454 #endif
2455 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
2456 {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_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,219},
2459 /* 0011 1001 ssN0 0000 *** ldps @rs */
2461 #ifdef NICENAMES
2462 "ldps @rs",16,12,
2463 0x3f,
2464 #endif
2465 "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
2466 {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,220},
2469 /* 0111 1001 0000 0000 address_src *** ldps address_src */
2471 #ifdef NICENAMES
2472 "ldps address_src",16,16,
2473 0x3f,
2474 #endif
2475 "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
2476 {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,221},
2479 /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2481 #ifdef NICENAMES
2482 "ldps address_src(rs)",16,17,
2483 0x3f,
2484 #endif
2485 "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
2486 {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,222},
2489 /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2491 #ifdef NICENAMES
2492 "ldr disp16,rs",16,14,
2493 0x00,
2494 #endif
2495 "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
2496 {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,223},
2499 /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2501 #ifdef NICENAMES
2502 "ldr rd,disp16",16,14,
2503 0x00,
2504 #endif
2505 "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
2506 {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,224},
2509 /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2511 #ifdef NICENAMES
2512 "ldrb disp16,rbs",8,14,
2513 0x00,
2514 #endif
2515 "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
2516 {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
2519 /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2521 #ifdef NICENAMES
2522 "ldrb rbd,disp16",8,14,
2523 0x00,
2524 #endif
2525 "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
2526 {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
2529 /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2531 #ifdef NICENAMES
2532 "ldrl disp16,rrs",32,17,
2533 0x00,
2534 #endif
2535 "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
2536 {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
2539 /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2541 #ifdef NICENAMES
2542 "ldrl rrd,disp16",32,17,
2543 0x00,
2544 #endif
2545 "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
2546 {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
2549 /* 0111 1011 0000 1010 *** mbit */
2551 #ifdef NICENAMES
2552 "mbit",16,7,
2553 0x38,
2554 #endif
2555 "mbit",OPC_mbit,0,{0},
2556 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,229},
2559 /* 0111 1011 dddd 1101 *** mreq rd */
2561 #ifdef NICENAMES
2562 "mreq rd",16,12,
2563 0x18,
2564 #endif
2565 "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
2566 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,230},
2569 /* 0111 1011 0000 1001 *** mres */
2571 #ifdef NICENAMES
2572 "mres",16,5,
2573 0x00,
2574 #endif
2575 "mres",OPC_mres,0,{0},
2576 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,231},
2579 /* 0111 1011 0000 1000 *** mset */
2581 #ifdef NICENAMES
2582 "mset",16,5,
2583 0x00,
2584 #endif
2585 "mset",OPC_mset,0,{0},
2586 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,232},
2589 /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2591 #ifdef NICENAMES
2592 "mult rrd,@rs",16,70,
2593 0x3c,
2594 #endif
2595 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2596 {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,233},
2599 /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2601 #ifdef NICENAMES
2602 "mult rrd,address_src",16,70,
2603 0x3c,
2604 #endif
2605 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2606 {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,234},
2609 /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2611 #ifdef NICENAMES
2612 "mult rrd,address_src(rs)",16,70,
2613 0x3c,
2614 #endif
2615 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2616 {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,235},
2619 /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2621 #ifdef NICENAMES
2622 "mult rrd,imm16",16,70,
2623 0x3c,
2624 #endif
2625 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2626 {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,236},
2629 /* 1001 1001 ssss dddd *** mult rrd,rs */
2631 #ifdef NICENAMES
2632 "mult rrd,rs",16,70,
2633 0x3c,
2634 #endif
2635 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2636 {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,237},
2639 /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2641 #ifdef NICENAMES
2642 "multl rqd,@rs",32,282,
2643 0x3c,
2644 #endif
2645 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
2646 {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,238},
2649 /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2651 #ifdef NICENAMES
2652 "multl rqd,address_src",32,282,
2653 0x3c,
2654 #endif
2655 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2656 {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,239},
2659 /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2661 #ifdef NICENAMES
2662 "multl rqd,address_src(rs)",32,282,
2663 0x3c,
2664 #endif
2665 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
2666 {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,240},
2669 /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2671 #ifdef NICENAMES
2672 "multl rqd,imm32",32,282,
2673 0x3c,
2674 #endif
2675 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2676 {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,241},
2679 /* 1001 1000 ssss dddd *** multl rqd,rrs */
2681 #ifdef NICENAMES
2682 "multl rqd,rrs",32,282,
2683 0x3c,
2684 #endif
2685 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2686 {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,242},
2689 /* 0000 1101 ddN0 0010 *** neg @rd */
2691 #ifdef NICENAMES
2692 "neg @rd",16,12,
2693 0x3c,
2694 #endif
2695 "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
2696 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,243},
2699 /* 0100 1101 0000 0010 address_dst *** neg address_dst */
2701 #ifdef NICENAMES
2702 "neg address_dst",16,15,
2703 0x3c,
2704 #endif
2705 "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
2706 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,244},
2709 /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2711 #ifdef NICENAMES
2712 "neg address_dst(rd)",16,16,
2713 0x3c,
2714 #endif
2715 "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
2716 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,245},
2719 /* 1000 1101 dddd 0010 *** neg rd */
2721 #ifdef NICENAMES
2722 "neg rd",16,7,
2723 0x3c,
2724 #endif
2725 "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
2726 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,246},
2729 /* 0000 1100 ddN0 0010 *** negb @rd */
2731 #ifdef NICENAMES
2732 "negb @rd",8,12,
2733 0x3c,
2734 #endif
2735 "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
2736 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,247},
2739 /* 0100 1100 0000 0010 address_dst *** negb address_dst */
2741 #ifdef NICENAMES
2742 "negb address_dst",8,15,
2743 0x3c,
2744 #endif
2745 "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
2746 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,248},
2749 /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2751 #ifdef NICENAMES
2752 "negb address_dst(rd)",8,16,
2753 0x3c,
2754 #endif
2755 "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
2756 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,249},
2759 /* 1000 1100 dddd 0010 *** negb rbd */
2761 #ifdef NICENAMES
2762 "negb rbd",8,7,
2763 0x3c,
2764 #endif
2765 "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
2766 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,250},
2769 /* 1000 1101 0000 0111 *** nop */
2771 #ifdef NICENAMES
2772 "nop",16,7,
2773 0x00,
2774 #endif
2775 "nop",OPC_nop,0,{0},
2776 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,251},
2779 /* 0000 0101 ssN0 dddd *** or rd,@rs */
2781 #ifdef NICENAMES
2782 "or rd,@rs",16,7,
2783 0x38,
2784 #endif
2785 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2786 {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,252},
2789 /* 0100 0101 0000 dddd address_src *** or rd,address_src */
2791 #ifdef NICENAMES
2792 "or rd,address_src",16,9,
2793 0x38,
2794 #endif
2795 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2796 {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,253},
2799 /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2801 #ifdef NICENAMES
2802 "or rd,address_src(rs)",16,10,
2803 0x38,
2804 #endif
2805 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
2806 {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,254},
2809 /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2811 #ifdef NICENAMES
2812 "or rd,imm16",16,7,
2813 0x38,
2814 #endif
2815 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2816 {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,255},
2819 /* 1000 0101 ssss dddd *** or rd,rs */
2821 #ifdef NICENAMES
2822 "or rd,rs",16,4,
2823 0x38,
2824 #endif
2825 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2826 {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,256},
2829 /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2831 #ifdef NICENAMES
2832 "orb rbd,@rs",8,7,
2833 0x3c,
2834 #endif
2835 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2836 {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,257},
2839 /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2841 #ifdef NICENAMES
2842 "orb rbd,address_src",8,9,
2843 0x3c,
2844 #endif
2845 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2846 {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,258},
2849 /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2851 #ifdef NICENAMES
2852 "orb rbd,address_src(rs)",8,10,
2853 0x3c,
2854 #endif
2855 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2856 {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,259},
2859 /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2861 #ifdef NICENAMES
2862 "orb rbd,imm8",8,7,
2863 0x3c,
2864 #endif
2865 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2866 {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,260},
2869 /* 1000 0100 ssss dddd *** orb rbd,rbs */
2871 #ifdef NICENAMES
2872 "orb rbd,rbs",8,4,
2873 0x3c,
2874 #endif
2875 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2876 {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,261},
2879 /* 0011 1111 ddN0 ssss *** out @rd,rs */
2881 #ifdef NICENAMES
2882 "out @rd,rs",16,0,
2883 0x04,
2884 #endif
2885 "out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2886 {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,262},
2889 /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2891 #ifdef NICENAMES
2892 "out imm16,rs",16,0,
2893 0x04,
2894 #endif
2895 "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
2896 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,263},
2899 /* 0011 1110 ddN0 ssss *** outb @rd,rbs */
2901 #ifdef NICENAMES
2902 "outb @rd,rbs",8,0,
2903 0x04,
2904 #endif
2905 "outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2906 {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
2909 /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2911 #ifdef NICENAMES
2912 "outb imm16,rbs",8,0,
2913 0x04,
2914 #endif
2915 "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
2916 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
2919 /* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
2921 #ifdef NICENAMES
2922 "outd @rd,@rs,ra",16,0,
2923 0x04,
2924 #endif
2925 "outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2926 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,266},
2929 /* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
2931 #ifdef NICENAMES
2932 "outdb @rd,@rs,rba",16,0,
2933 0x04,
2934 #endif
2935 "outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
2936 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,267},
2939 /* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
2941 #ifdef NICENAMES
2942 "outi @rd,@rs,ra",16,0,
2943 0x04,
2944 #endif
2945 "outi",OPC_outi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2946 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
2949 /* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
2951 #ifdef NICENAMES
2952 "outib @rd,@rs,ra",16,0,
2953 0x04,
2954 #endif
2955 "outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2956 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,269},
2959 /* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
2961 #ifdef NICENAMES
2962 "outibr @rd,@rs,ra",16,0,
2963 0x04,
2964 #endif
2965 "outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2966 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,270},
2969 /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2971 #ifdef NICENAMES
2972 "pop @rd,@rs",16,12,
2973 0x00,
2974 #endif
2975 "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2976 {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,271},
2979 /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
2981 #ifdef NICENAMES
2982 "pop address_dst(rd),@rs",16,16,
2983 0x00,
2984 #endif
2985 "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
2986 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,272},
2989 /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
2991 #ifdef NICENAMES
2992 "pop address_dst,@rs",16,16,
2993 0x00,
2994 #endif
2995 "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
2996 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,273},
2999 /* 1001 0111 ssN0 dddd *** pop rd,@rs */
3001 #ifdef NICENAMES
3002 "pop rd,@rs",16,8,
3003 0x00,
3004 #endif
3005 "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3006 {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,274},
3009 /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
3011 #ifdef NICENAMES
3012 "popl @rd,@rs",32,19,
3013 0x00,
3014 #endif
3015 "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3016 {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,275},
3019 /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
3021 #ifdef NICENAMES
3022 "popl address_dst(rd),@rs",32,23,
3023 0x00,
3024 #endif
3025 "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
3026 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,276},
3029 /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
3031 #ifdef NICENAMES
3032 "popl address_dst,@rs",32,23,
3033 0x00,
3034 #endif
3035 "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
3036 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,277},
3039 /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
3041 #ifdef NICENAMES
3042 "popl rrd,@rs",32,12,
3043 0x00,
3044 #endif
3045 "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3046 {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,278},
3049 /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
3051 #ifdef NICENAMES
3052 "push @rd,@rs",16,13,
3053 0x00,
3054 #endif
3055 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3056 {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,279},
3059 /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
3061 #ifdef NICENAMES
3062 "push @rd,address_src",16,14,
3063 0x00,
3064 #endif
3065 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
3066 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,280},
3069 /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
3071 #ifdef NICENAMES
3072 "push @rd,address_src(rs)",16,14,
3073 0x00,
3074 #endif
3075 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
3076 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,281},
3079 /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
3081 #ifdef NICENAMES
3082 "push @rd,imm16",16,12,
3083 0x00,
3084 #endif
3085 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3086 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,282},
3089 /* 1001 0011 ddN0 ssss *** push @rd,rs */
3091 #ifdef NICENAMES
3092 "push @rd,rs",16,9,
3093 0x00,
3094 #endif
3095 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3096 {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,283},
3099 /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
3101 #ifdef NICENAMES
3102 "pushl @rd,@rs",32,20,
3103 0x00,
3104 #endif
3105 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3106 {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,284},
3109 /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
3111 #ifdef NICENAMES
3112 "pushl @rd,address_src",32,21,
3113 0x00,
3114 #endif
3115 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
3116 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,285},
3119 /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
3121 #ifdef NICENAMES
3122 "pushl @rd,address_src(rs)",32,21,
3123 0x00,
3124 #endif
3125 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
3126 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,286},
3129 /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
3131 #ifdef NICENAMES
3132 "pushl @rd,rrs",32,12,
3133 0x00,
3134 #endif
3135 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
3136 {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,287},
3139 /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
3141 #ifdef NICENAMES
3142 "res @rd,imm4",16,11,
3143 0x00,
3144 #endif
3145 "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3146 {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,288},
3149 /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
3151 #ifdef NICENAMES
3152 "res address_dst(rd),imm4",16,14,
3153 0x00,
3154 #endif
3155 "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3156 {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,289},
3159 /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
3161 #ifdef NICENAMES
3162 "res address_dst,imm4",16,13,
3163 0x00,
3164 #endif
3165 "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3166 {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,290},
3169 /* 1010 0011 dddd imm4 *** res rd,imm4 */
3171 #ifdef NICENAMES
3172 "res rd,imm4",16,4,
3173 0x00,
3174 #endif
3175 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3176 {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,291},
3179 /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
3181 #ifdef NICENAMES
3182 "res rd,rs",16,10,
3183 0x00,
3184 #endif
3185 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3186 {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,292},
3189 /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
3191 #ifdef NICENAMES
3192 "resb @rd,imm4",8,11,
3193 0x00,
3194 #endif
3195 "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3196 {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,293},
3199 /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
3201 #ifdef NICENAMES
3202 "resb address_dst(rd),imm4",8,14,
3203 0x00,
3204 #endif
3205 "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3206 {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,294},
3209 /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
3211 #ifdef NICENAMES
3212 "resb address_dst,imm4",8,13,
3213 0x00,
3214 #endif
3215 "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3216 {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,295},
3219 /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
3221 #ifdef NICENAMES
3222 "resb rbd,imm4",8,4,
3223 0x00,
3224 #endif
3225 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3226 {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,296},
3229 /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
3231 #ifdef NICENAMES
3232 "resb rbd,rs",8,10,
3233 0x00,
3234 #endif
3235 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3236 {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,297},
3239 /* 1000 1101 flags 0011 *** resflg flags */
3241 #ifdef NICENAMES
3242 "resflg flags",16,7,
3243 0x3c,
3244 #endif
3245 "resflg",OPC_resflg,0,{CLASS_FLAGS,},
3246 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,298},
3249 /* 1001 1110 0000 cccc *** ret cc */
3251 #ifdef NICENAMES
3252 "ret cc",16,10,
3253 0x00,
3254 #endif
3255 "ret",OPC_ret,0,{CLASS_CC,},
3256 {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,299},
3259 /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
3261 #ifdef NICENAMES
3262 "rl rd,imm1or2",16,6,
3263 0x3c,
3264 #endif
3265 "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3266 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,300},
3269 /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
3271 #ifdef NICENAMES
3272 "rlb rbd,imm1or2",8,6,
3273 0x3c,
3274 #endif
3275 "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3276 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,301},
3279 /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
3281 #ifdef NICENAMES
3282 "rlc rd,imm1or2",16,6,
3283 0x3c,
3284 #endif
3285 "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3286 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,302},
3289 /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
3291 #ifdef NICENAMES
3292 "rlcb rbd,imm1or2",8,9,
3293 0x10,
3294 #endif
3295 "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3296 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,303},
3299 /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
3301 #ifdef NICENAMES
3302 "rldb rbb,rba",8,9,
3303 0x10,
3304 #endif
3305 "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
3306 {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,304},
3309 /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
3311 #ifdef NICENAMES
3312 "rr rd,imm1or2",16,6,
3313 0x3c,
3314 #endif
3315 "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3316 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,305},
3319 /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
3321 #ifdef NICENAMES
3322 "rrb rbd,imm1or2",8,6,
3323 0x3c,
3324 #endif
3325 "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3326 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,306},
3329 /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
3331 #ifdef NICENAMES
3332 "rrc rd,imm1or2",16,6,
3333 0x3c,
3334 #endif
3335 "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3336 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,307},
3339 /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
3341 #ifdef NICENAMES
3342 "rrcb rbd,imm1or2",8,9,
3343 0x10,
3344 #endif
3345 "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3346 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,308},
3349 /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
3351 #ifdef NICENAMES
3352 "rrdb rbb,rba",8,9,
3353 0x10,
3354 #endif
3355 "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
3356 {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,309},
3359 /* 0011 0110 imm8 *** rsvd36 */
3361 #ifdef NICENAMES
3362 "rsvd36",8,10,
3363 0x00,
3364 #endif
3365 "rsvd36",OPC_rsvd36,0,{0},
3366 {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,310},
3369 /* 0011 1000 imm8 *** rsvd38 */
3371 #ifdef NICENAMES
3372 "rsvd38",8,10,
3373 0x00,
3374 #endif
3375 "rsvd38",OPC_rsvd38,0,{0},
3376 {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,311},
3379 /* 0111 1000 imm8 *** rsvd78 */
3381 #ifdef NICENAMES
3382 "rsvd78",8,10,
3383 0x00,
3384 #endif
3385 "rsvd78",OPC_rsvd78,0,{0},
3386 {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
3389 /* 0111 1110 imm8 *** rsvd7e */
3391 #ifdef NICENAMES
3392 "rsvd7e",8,10,
3393 0x00,
3394 #endif
3395 "rsvd7e",OPC_rsvd7e,0,{0},
3396 {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
3399 /* 1001 1101 imm8 *** rsvd9d */
3401 #ifdef NICENAMES
3402 "rsvd9d",8,10,
3403 0x00,
3404 #endif
3405 "rsvd9d",OPC_rsvd9d,0,{0},
3406 {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
3409 /* 1001 1111 imm8 *** rsvd9f */
3411 #ifdef NICENAMES
3412 "rsvd9f",8,10,
3413 0x00,
3414 #endif
3415 "rsvd9f",OPC_rsvd9f,0,{0},
3416 {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
3419 /* 1011 1001 imm8 *** rsvdb9 */
3421 #ifdef NICENAMES
3422 "rsvdb9",8,10,
3423 0x00,
3424 #endif
3425 "rsvdb9",OPC_rsvdb9,0,{0},
3426 {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
3429 /* 1011 1111 imm8 *** rsvdbf */
3431 #ifdef NICENAMES
3432 "rsvdbf",8,10,
3433 0x00,
3434 #endif
3435 "rsvdbf",OPC_rsvdbf,0,{0},
3436 {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,317},
3439 /* 1011 0111 ssss dddd *** sbc rd,rs */
3441 #ifdef NICENAMES
3442 "sbc rd,rs",16,5,
3443 0x3c,
3444 #endif
3445 "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3446 {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,318},
3449 /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
3451 #ifdef NICENAMES
3452 "sbcb rbd,rbs",8,5,
3453 0x3f,
3454 #endif
3455 "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3456 {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,319},
3459 /* 0111 1111 imm8 *** sc imm8 */
3461 #ifdef NICENAMES
3462 "sc imm8",8,33,
3463 0x3f,
3464 #endif
3465 "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
3466 {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,320},
3469 /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
3471 #ifdef NICENAMES
3472 "sda rd,rs",16,15,
3473 0x3c,
3474 #endif
3475 "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3476 {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,321},
3479 /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
3481 #ifdef NICENAMES
3482 "sdab rbd,rs",8,15,
3483 0x3c,
3484 #endif
3485 "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3486 {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,322},
3489 /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
3491 #ifdef NICENAMES
3492 "sdal rrd,rs",32,15,
3493 0x3c,
3494 #endif
3495 "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3496 {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,323},
3499 /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
3501 #ifdef NICENAMES
3502 "sdl rd,rs",16,15,
3503 0x38,
3504 #endif
3505 "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3506 {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,324},
3509 /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
3511 #ifdef NICENAMES
3512 "sdlb rbd,rs",8,15,
3513 0x38,
3514 #endif
3515 "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3516 {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,325},
3519 /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3521 #ifdef NICENAMES
3522 "sdll rrd,rs",32,15,
3523 0x38,
3524 #endif
3525 "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3526 {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,326},
3529 /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3531 #ifdef NICENAMES
3532 "set @rd,imm4",16,11,
3533 0x00,
3534 #endif
3535 "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3536 {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,327},
3539 /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3541 #ifdef NICENAMES
3542 "set address_dst(rd),imm4",16,14,
3543 0x00,
3544 #endif
3545 "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3546 {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,328},
3549 /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3551 #ifdef NICENAMES
3552 "set address_dst,imm4",16,13,
3553 0x00,
3554 #endif
3555 "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3556 {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,329},
3559 /* 1010 0101 dddd imm4 *** set rd,imm4 */
3561 #ifdef NICENAMES
3562 "set rd,imm4",16,4,
3563 0x00,
3564 #endif
3565 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3566 {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,330},
3569 /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3571 #ifdef NICENAMES
3572 "set rd,rs",16,10,
3573 0x00,
3574 #endif
3575 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3576 {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,331},
3579 /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3581 #ifdef NICENAMES
3582 "setb @rd,imm4",8,11,
3583 0x00,
3584 #endif
3585 "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3586 {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,332},
3589 /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3591 #ifdef NICENAMES
3592 "setb address_dst(rd),imm4",8,14,
3593 0x00,
3594 #endif
3595 "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3596 {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,333},
3599 /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3601 #ifdef NICENAMES
3602 "setb address_dst,imm4",8,13,
3603 0x00,
3604 #endif
3605 "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3606 {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,334},
3609 /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3611 #ifdef NICENAMES
3612 "setb rbd,imm4",8,4,
3613 0x00,
3614 #endif
3615 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3616 {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,335},
3619 /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3621 #ifdef NICENAMES
3622 "setb rbd,rs",8,10,
3623 0x00,
3624 #endif
3625 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3626 {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,336},
3629 /* 1000 1101 flags 0001 *** setflg flags */
3631 #ifdef NICENAMES
3632 "setflg flags",16,7,
3633 0x3c,
3634 #endif
3635 "setflg",OPC_setflg,0,{CLASS_FLAGS,},
3636 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,337},
3639 /* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
3641 #ifdef NICENAMES
3642 "sinb rbd,imm16",8,0,
3643 0x00,
3644 #endif
3645 "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3646 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,338},
3649 /* 0011 1011 dddd 0101 imm16 *** sinb rd,imm16 */
3651 #ifdef NICENAMES
3652 "sinb rd,imm16",8,0,
3653 0x00,
3654 #endif
3655 "sinb",OPC_sinb,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3656 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,339},
3659 /* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
3661 #ifdef NICENAMES
3662 "sind @rd,@rs,ra",16,0,
3663 0x00,
3664 #endif
3665 "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3666 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,340},
3669 /* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
3671 #ifdef NICENAMES
3672 "sindb @rd,@rs,rba",8,0,
3673 0x00,
3674 #endif
3675 "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3676 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,341},
3679 /* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
3681 #ifdef NICENAMES
3682 "sinib @rd,@rs,ra",8,0,
3683 0x00,
3684 #endif
3685 "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3686 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,342},
3689 /* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
3691 #ifdef NICENAMES
3692 "sinibr @rd,@rs,ra",16,0,
3693 0x00,
3694 #endif
3695 "sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3696 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,343},
3699 /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3701 #ifdef NICENAMES
3702 "sla rd,imm8",16,13,
3703 0x3c,
3704 #endif
3705 "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3706 {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,344},
3709 /* 1011 0010 dddd 1001 0000 0000 imm8 *** slab rbd,imm8 */
3711 #ifdef NICENAMES
3712 "slab rbd,imm8",8,13,
3713 0x3c,
3714 #endif
3715 "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3716 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,345},
3719 /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3721 #ifdef NICENAMES
3722 "slal rrd,imm8",32,13,
3723 0x3c,
3724 #endif
3725 "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3726 {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,346},
3729 /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3731 #ifdef NICENAMES
3732 "sll rd,imm8",16,13,
3733 0x38,
3734 #endif
3735 "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3736 {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,347},
3739 /* 1011 0010 dddd 0001 0000 0000 imm8 *** sllb rbd,imm8 */
3741 #ifdef NICENAMES
3742 "sllb rbd,imm8",8,13,
3743 0x38,
3744 #endif
3745 "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3746 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
3749 /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3751 #ifdef NICENAMES
3752 "slll rrd,imm8",32,13,
3753 0x38,
3754 #endif
3755 "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3756 {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,349},
3759 /* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
3761 #ifdef NICENAMES
3762 "sout imm16,rs",16,0,
3763 0x00,
3764 #endif
3765 "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
3766 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,350},
3769 /* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
3771 #ifdef NICENAMES
3772 "soutb imm16,rbs",8,0,
3773 0x00,
3774 #endif
3775 "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
3776 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,351},
3779 /* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
3781 #ifdef NICENAMES
3782 "soutd @rd,@rs,ra",16,0,
3783 0x00,
3784 #endif
3785 "soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3786 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,352},
3789 /* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
3791 #ifdef NICENAMES
3792 "soutdb @rd,@rs,rba",8,0,
3793 0x00,
3794 #endif
3795 "soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3796 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,353},
3799 /* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
3801 #ifdef NICENAMES
3802 "soutib @rd,@rs,ra",8,0,
3803 0x00,
3804 #endif
3805 "soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3806 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,354},
3809 /* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
3811 #ifdef NICENAMES
3812 "soutibr @rd,@rs,ra",16,0,
3813 0x00,
3814 #endif
3815 "soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3816 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,355},
3819 /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3821 #ifdef NICENAMES
3822 "sra rd,imm8",16,13,
3823 0x3c,
3824 #endif
3825 "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3826 {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,356},
3829 /* 1011 0010 dddd 1001 0000 0000 nim8 *** srab rbd,imm8 */
3831 #ifdef NICENAMES
3832 "srab rbd,imm8",8,13,
3833 0x3c,
3834 #endif
3835 "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3836 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,357},
3839 /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3841 #ifdef NICENAMES
3842 "sral rrd,imm8",32,13,
3843 0x3c,
3844 #endif
3845 "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3846 {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,358},
3849 /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3851 #ifdef NICENAMES
3852 "srl rd,imm8",16,13,
3853 0x3c,
3854 #endif
3855 "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3856 {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,359},
3859 /* 1011 0010 dddd 0001 0000 0000 nim8 *** srlb rbd,imm8 */
3861 #ifdef NICENAMES
3862 "srlb rbd,imm8",8,13,
3863 0x3c,
3864 #endif
3865 "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3866 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
3869 /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3871 #ifdef NICENAMES
3872 "srll rrd,imm8",32,13,
3873 0x3c,
3874 #endif
3875 "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3876 {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,361},
3879 /* 0000 0011 ssN0 dddd *** sub rd,@rs */
3881 #ifdef NICENAMES
3882 "sub rd,@rs",16,7,
3883 0x3c,
3884 #endif
3885 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3886 {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,362},
3889 /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3891 #ifdef NICENAMES
3892 "sub rd,address_src",16,9,
3893 0x3c,
3894 #endif
3895 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3896 {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,363},
3899 /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3901 #ifdef NICENAMES
3902 "sub rd,address_src(rs)",16,10,
3903 0x3c,
3904 #endif
3905 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3906 {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,364},
3909 /* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3911 #ifdef NICENAMES
3912 "sub rd,imm16",16,7,
3913 0x3c,
3914 #endif
3915 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3916 {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,365},
3919 /* 1000 0011 ssss dddd *** sub rd,rs */
3921 #ifdef NICENAMES
3922 "sub rd,rs",16,4,
3923 0x3c,
3924 #endif
3925 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3926 {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,366},
3929 /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3931 #ifdef NICENAMES
3932 "subb rbd,@rs",8,7,
3933 0x3f,
3934 #endif
3935 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3936 {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,367},
3939 /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3941 #ifdef NICENAMES
3942 "subb rbd,address_src",8,9,
3943 0x3f,
3944 #endif
3945 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3946 {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,368},
3949 /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3951 #ifdef NICENAMES
3952 "subb rbd,address_src(rs)",8,10,
3953 0x3f,
3954 #endif
3955 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3956 {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,369},
3959 /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3961 #ifdef NICENAMES
3962 "subb rbd,imm8",8,7,
3963 0x3f,
3964 #endif
3965 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3966 {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,370},
3969 /* 1000 0010 ssss dddd *** subb rbd,rbs */
3971 #ifdef NICENAMES
3972 "subb rbd,rbs",8,4,
3973 0x3f,
3974 #endif
3975 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3976 {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,371},
3979 /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
3981 #ifdef NICENAMES
3982 "subl rrd,@rs",32,14,
3983 0x3c,
3984 #endif
3985 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3986 {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,372},
3989 /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
3991 #ifdef NICENAMES
3992 "subl rrd,address_src",32,15,
3993 0x3c,
3994 #endif
3995 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
3996 {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,373},
3999 /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
4001 #ifdef NICENAMES
4002 "subl rrd,address_src(rs)",32,16,
4003 0x3c,
4004 #endif
4005 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
4006 {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,374},
4009 /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
4011 #ifdef NICENAMES
4012 "subl rrd,imm32",32,14,
4013 0x3c,
4014 #endif
4015 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
4016 {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,375},
4019 /* 1001 0010 ssss dddd *** subl rrd,rrs */
4021 #ifdef NICENAMES
4022 "subl rrd,rrs",32,8,
4023 0x3c,
4024 #endif
4025 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
4026 {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,376},
4029 /* 1010 1111 dddd cccc *** tcc cc,rd */
4031 #ifdef NICENAMES
4032 "tcc cc,rd",16,5,
4033 0x00,
4034 #endif
4035 "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
4036 {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,377},
4039 /* 1010 1110 dddd cccc *** tccb cc,rbd */
4041 #ifdef NICENAMES
4042 "tccb cc,rbd",8,5,
4043 0x00,
4044 #endif
4045 "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
4046 {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,378},
4049 /* 0000 1101 ddN0 0100 *** test @rd */
4051 #ifdef NICENAMES
4052 "test @rd",16,8,
4053 0x18,
4054 #endif
4055 "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
4056 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,379},
4059 /* 0100 1101 0000 0100 address_dst *** test address_dst */
4061 #ifdef NICENAMES
4062 "test address_dst",16,11,
4063 0x00,
4064 #endif
4065 "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
4066 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,380},
4069 /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
4071 #ifdef NICENAMES
4072 "test address_dst(rd)",16,12,
4073 0x00,
4074 #endif
4075 "test",OPC_test,0,{CLASS_X+(ARG_RD),},
4076 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,381},
4079 /* 1000 1101 dddd 0100 *** test rd */
4081 #ifdef NICENAMES
4082 "test rd",16,7,
4083 0x00,
4084 #endif
4085 "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
4086 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,382},
4089 /* 0000 1100 ddN0 0100 *** testb @rd */
4091 #ifdef NICENAMES
4092 "testb @rd",8,8,
4093 0x1c,
4094 #endif
4095 "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
4096 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,383},
4099 /* 0100 1100 0000 0100 address_dst *** testb address_dst */
4101 #ifdef NICENAMES
4102 "testb address_dst",8,11,
4103 0x1c,
4104 #endif
4105 "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
4106 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,384},
4109 /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
4111 #ifdef NICENAMES
4112 "testb address_dst(rd)",8,12,
4113 0x1c,
4114 #endif
4115 "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
4116 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,385},
4119 /* 1000 1100 dddd 0100 *** testb rbd */
4121 #ifdef NICENAMES
4122 "testb rbd",8,7,
4123 0x1c,
4124 #endif
4125 "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
4126 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,386},
4129 /* 0001 1100 ddN0 1000 *** testl @rd */
4131 #ifdef NICENAMES
4132 "testl @rd",32,13,
4133 0x18,
4134 #endif
4135 "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
4136 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,387},
4139 /* 0101 1100 0000 1000 address_dst *** testl address_dst */
4141 #ifdef NICENAMES
4142 "testl address_dst",32,16,
4143 0x18,
4144 #endif
4145 "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
4146 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,388},
4149 /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
4151 #ifdef NICENAMES
4152 "testl address_dst(rd)",32,17,
4153 0x18,
4154 #endif
4155 "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
4156 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,389},
4159 /* 1001 1100 dddd 1000 *** testl rrd */
4161 #ifdef NICENAMES
4162 "testl rrd",32,13,
4163 0x18,
4164 #endif
4165 "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
4166 {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,390},
4169 /* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
4171 #ifdef NICENAMES
4172 "trdb @rd,@rs,rba",8,25,
4173 0x1c,
4174 #endif
4175 "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
4176 {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,391},
4179 /* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
4181 #ifdef NICENAMES
4182 "trdrb @rd,@rs,rba",8,25,
4183 0x1c,
4184 #endif
4185 "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
4186 {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,392},
4189 /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
4191 #ifdef NICENAMES
4192 "trib @rd,@rs,rbr",8,25,
4193 0x1c,
4194 #endif
4195 "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
4196 {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,393},
4199 /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
4201 #ifdef NICENAMES
4202 "trirb @rd,@rs,rbr",8,25,
4203 0x1c,
4204 #endif
4205 "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
4206 {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,394},
4209 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
4211 #ifdef NICENAMES
4212 "trtdb @ra,@rb,rbr",8,25,
4213 0x1c,
4214 #endif
4215 "trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4216 {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,395},
4219 /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
4221 #ifdef NICENAMES
4222 "trtdrb @ra,@rb,rbr",8,25,
4223 0x1c,
4224 #endif
4225 "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4226 {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,396},
4229 /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
4231 #ifdef NICENAMES
4232 "trtib @ra,@rb,rbr",8,25,
4233 0x1c,
4234 #endif
4235 "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4236 {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,397},
4239 /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
4241 #ifdef NICENAMES
4242 "trtirb @ra,@rb,rbr",8,25,
4243 0x1c,
4244 #endif
4245 "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4246 {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,398},
4249 /* 0000 1101 ddN0 0110 *** tset @rd */
4251 #ifdef NICENAMES
4252 "tset @rd",16,11,
4253 0x08,
4254 #endif
4255 "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
4256 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,399},
4259 /* 0100 1101 0000 0110 address_dst *** tset address_dst */
4261 #ifdef NICENAMES
4262 "tset address_dst",16,14,
4263 0x08,
4264 #endif
4265 "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
4266 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,400},
4269 /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
4271 #ifdef NICENAMES
4272 "tset address_dst(rd)",16,15,
4273 0x08,
4274 #endif
4275 "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
4276 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,401},
4279 /* 1000 1101 dddd 0110 *** tset rd */
4281 #ifdef NICENAMES
4282 "tset rd",16,7,
4283 0x08,
4284 #endif
4285 "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
4286 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
4289 /* 0000 1100 ddN0 0110 *** tsetb @rd */
4291 #ifdef NICENAMES
4292 "tsetb @rd",8,11,
4293 0x08,
4294 #endif
4295 "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
4296 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,403},
4299 /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
4301 #ifdef NICENAMES
4302 "tsetb address_dst",8,14,
4303 0x08,
4304 #endif
4305 "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
4306 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
4309 /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
4311 #ifdef NICENAMES
4312 "tsetb address_dst(rd)",8,15,
4313 0x08,
4314 #endif
4315 "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
4316 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,405},
4319 /* 1000 1100 dddd 0110 *** tsetb rbd */
4321 #ifdef NICENAMES
4322 "tsetb rbd",8,7,
4323 0x08,
4324 #endif
4325 "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
4326 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,406},
4329 /* 0000 1001 ssN0 dddd *** xor rd,@rs */
4331 #ifdef NICENAMES
4332 "xor rd,@rs",16,7,
4333 0x18,
4334 #endif
4335 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
4336 {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,407},
4339 /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
4341 #ifdef NICENAMES
4342 "xor rd,address_src",16,9,
4343 0x18,
4344 #endif
4345 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
4346 {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,408},
4349 /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
4351 #ifdef NICENAMES
4352 "xor rd,address_src(rs)",16,10,
4353 0x18,
4354 #endif
4355 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
4356 {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,409},
4359 /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
4361 #ifdef NICENAMES
4362 "xor rd,imm16",16,7,
4363 0x18,
4364 #endif
4365 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
4366 {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,410},
4369 /* 1000 1001 ssss dddd *** xor rd,rs */
4371 #ifdef NICENAMES
4372 "xor rd,rs",16,4,
4373 0x18,
4374 #endif
4375 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
4376 {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,411},
4379 /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
4381 #ifdef NICENAMES
4382 "xorb rbd,@rs",8,7,
4383 0x1c,
4384 #endif
4385 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
4386 {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,412},
4389 /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
4391 #ifdef NICENAMES
4392 "xorb rbd,address_src",8,9,
4393 0x1c,
4394 #endif
4395 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
4396 {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,413},
4399 /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
4401 #ifdef NICENAMES
4402 "xorb rbd,address_src(rs)",8,10,
4403 0x1c,
4404 #endif
4405 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
4406 {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,414},
4409 /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
4411 #ifdef NICENAMES
4412 "xorb rbd,imm8",8,7,
4413 0x1c,
4414 #endif
4415 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
4416 {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,415},
4419 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
4421 #ifdef NICENAMES
4422 "xorb rbd,rbs",8,4,
4423 0x1c,
4424 #endif
4425 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
4426 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,416},
4429 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
4431 #ifdef NICENAMES
4432 "xorb rbd,rbs",8,4,
4433 0x01,
4434 #endif
4435 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
4436 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,417},
4437 0,0};
4438 #endif