* ldlang.c (insert_pad): Fix typos in last patch.
[binutils.git] / opcodes / z8k-opc.h
blob80c8c822c1e49f3d600f27d5edf69f225296baf5
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_trtrb 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 #define OPC_ldctlb 174
240 #define OPC_sin 175
241 #define OPC_trtdb 176
242 typedef struct {
243 #ifdef NICENAMES
244 char *nicename;
245 int type;
246 int cycles;
247 int flags;
248 #endif
249 char *name;
250 unsigned char opcode;
251 void (*func)();
252 unsigned int arg_info[4];
253 unsigned int byte_info[10];
254 int noperands;
255 int length;
256 int idx;
257 } opcode_entry_type;
258 #ifdef DEFINE_TABLE
259 opcode_entry_type z8k_table[] = {
262 /* 1011 0101 ssss dddd *** adc rd,rs */
264 #ifdef NICENAMES
265 "adc rd,rs",16,5,
266 0x3c,
267 #endif
268 "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
269 {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
272 /* 1011 0100 ssss dddd *** adcb rbd,rbs */
274 #ifdef NICENAMES
275 "adcb rbd,rbs",8,5,
276 0x3f,
277 #endif
278 "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
279 {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
282 /* 0000 0001 ssN0 dddd *** add rd,@rs */
284 #ifdef NICENAMES
285 "add rd,@rs",16,7,
286 0x3c,
287 #endif
288 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
289 {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
292 /* 0100 0001 0000 dddd address_src *** add rd,address_src */
294 #ifdef NICENAMES
295 "add rd,address_src",16,9,
296 0x3c,
297 #endif
298 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
299 {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
302 /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
304 #ifdef NICENAMES
305 "add rd,address_src(rs)",16,10,
306 0x3c,
307 #endif
308 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
309 {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},
312 /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
314 #ifdef NICENAMES
315 "add rd,imm16",16,7,
316 0x3c,
317 #endif
318 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
319 {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
322 /* 1000 0001 ssss dddd *** add rd,rs */
324 #ifdef NICENAMES
325 "add rd,rs",16,4,
326 0x3c,
327 #endif
328 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
329 {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
332 /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
334 #ifdef NICENAMES
335 "addb rbd,@rs",8,7,
336 0x3f,
337 #endif
338 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
339 {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
342 /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
344 #ifdef NICENAMES
345 "addb rbd,address_src",8,9,
346 0x3f,
347 #endif
348 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
349 {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
352 /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
354 #ifdef NICENAMES
355 "addb rbd,address_src(rs)",8,10,
356 0x3f,
357 #endif
358 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
359 {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},
362 /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
364 #ifdef NICENAMES
365 "addb rbd,imm8",8,7,
366 0x3f,
367 #endif
368 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
369 {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},
372 /* 1000 0000 ssss dddd *** addb rbd,rbs */
374 #ifdef NICENAMES
375 "addb rbd,rbs",8,4,
376 0x3f,
377 #endif
378 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
379 {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
382 /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
384 #ifdef NICENAMES
385 "addl rrd,@rs",32,14,
386 0x3c,
387 #endif
388 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
389 {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
392 /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
394 #ifdef NICENAMES
395 "addl rrd,address_src",32,15,
396 0x3c,
397 #endif
398 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
399 {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
402 /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
404 #ifdef NICENAMES
405 "addl rrd,address_src(rs)",32,16,
406 0x3c,
407 #endif
408 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
409 {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},
412 /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
414 #ifdef NICENAMES
415 "addl rrd,imm32",32,14,
416 0x3c,
417 #endif
418 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
419 {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
422 /* 1001 0110 ssss dddd *** addl rrd,rrs */
424 #ifdef NICENAMES
425 "addl rrd,rrs",32,8,
426 0x3c,
427 #endif
428 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
429 {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
432 /* 0000 0111 ssN0 dddd *** and rd,@rs */
434 #ifdef NICENAMES
435 "and rd,@rs",16,7,
436 0x18,
437 #endif
438 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
439 {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
442 /* 0100 0111 0000 dddd address_src *** and rd,address_src */
444 #ifdef NICENAMES
445 "and rd,address_src",16,9,
446 0x18,
447 #endif
448 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
449 {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
452 /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
454 #ifdef NICENAMES
455 "and rd,address_src(rs)",16,10,
456 0x18,
457 #endif
458 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
459 {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},
462 /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
464 #ifdef NICENAMES
465 "and rd,imm16",16,7,
466 0x18,
467 #endif
468 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
469 {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
472 /* 1000 0111 ssss dddd *** and rd,rs */
474 #ifdef NICENAMES
475 "and rd,rs",16,4,
476 0x18,
477 #endif
478 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
479 {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
482 /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
484 #ifdef NICENAMES
485 "andb rbd,@rs",8,7,
486 0x1c,
487 #endif
488 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
489 {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
492 /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
494 #ifdef NICENAMES
495 "andb rbd,address_src",8,9,
496 0x1c,
497 #endif
498 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
499 {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
502 /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
504 #ifdef NICENAMES
505 "andb rbd,address_src(rs)",8,10,
506 0x1c,
507 #endif
508 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
509 {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},
512 /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
514 #ifdef NICENAMES
515 "andb rbd,imm8",8,7,
516 0x1c,
517 #endif
518 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
519 {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},
522 /* 1000 0110 ssss dddd *** andb rbd,rbs */
524 #ifdef NICENAMES
525 "andb rbd,rbs",8,4,
526 0x1c,
527 #endif
528 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
529 {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
532 /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
534 #ifdef NICENAMES
535 "bit @rd,imm4",16,8,
536 0x10,
537 #endif
538 "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
539 {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
542 /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
544 #ifdef NICENAMES
545 "bit address_dst(rd),imm4",16,11,
546 0x10,
547 #endif
548 "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
549 {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},
552 /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
554 #ifdef NICENAMES
555 "bit address_dst,imm4",16,10,
556 0x10,
557 #endif
558 "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
559 {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
562 /* 1010 0111 dddd imm4 *** bit rd,imm4 */
564 #ifdef NICENAMES
565 "bit rd,imm4",16,4,
566 0x10,
567 #endif
568 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
569 {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
572 /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
574 #ifdef NICENAMES
575 "bit rd,rs",16,10,
576 0x10,
577 #endif
578 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
579 {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},
582 /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
584 #ifdef NICENAMES
585 "bitb @rd,imm4",8,8,
586 0x10,
587 #endif
588 "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
589 {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
592 /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
594 #ifdef NICENAMES
595 "bitb address_dst(rd),imm4",8,11,
596 0x10,
597 #endif
598 "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
599 {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},
602 /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
604 #ifdef NICENAMES
605 "bitb address_dst,imm4",8,10,
606 0x10,
607 #endif
608 "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
609 {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
612 /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
614 #ifdef NICENAMES
615 "bitb rbd,imm4",8,4,
616 0x10,
617 #endif
618 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
619 {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
622 /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
624 #ifdef NICENAMES
625 "bitb rbd,rs",8,10,
626 0x10,
627 #endif
628 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
629 {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},
632 /* 0011 0110 0000 0000 *** bpt */
634 #ifdef NICENAMES
635 "bpt",8,2,
636 0x00,
637 #endif
638 "bpt",OPC_bpt,0,{0},
639 {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
642 /* 0001 1111 ddN0 0000 *** call @rd */
644 #ifdef NICENAMES
645 "call @rd",32,10,
646 0x00,
647 #endif
648 "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
649 {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
652 /* 0101 1111 0000 0000 address_dst *** call address_dst */
654 #ifdef NICENAMES
655 "call address_dst",32,12,
656 0x00,
657 #endif
658 "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
659 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
662 /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
664 #ifdef NICENAMES
665 "call address_dst(rd)",32,13,
666 0x00,
667 #endif
668 "call",OPC_call,0,{CLASS_X+(ARG_RD),},
669 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
672 /* 1101 disp12 *** calr disp12 */
674 #ifdef NICENAMES
675 "calr disp12",16,10,
676 0x00,
677 #endif
678 "calr",OPC_calr,0,{CLASS_DISP,},
679 {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
682 /* 0000 1101 ddN0 1000 *** clr @rd */
684 #ifdef NICENAMES
685 "clr @rd",16,8,
686 0x00,
687 #endif
688 "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
689 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
692 /* 0100 1101 0000 1000 address_dst *** clr address_dst */
694 #ifdef NICENAMES
695 "clr address_dst",16,11,
696 0x00,
697 #endif
698 "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
699 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
702 /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
704 #ifdef NICENAMES
705 "clr address_dst(rd)",16,12,
706 0x00,
707 #endif
708 "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
709 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
712 /* 1000 1101 dddd 1000 *** clr rd */
714 #ifdef NICENAMES
715 "clr rd",16,7,
716 0x00,
717 #endif
718 "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
719 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
722 /* 0000 1100 ddN0 1000 *** clrb @rd */
724 #ifdef NICENAMES
725 "clrb @rd",8,8,
726 0x00,
727 #endif
728 "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
729 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
732 /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
734 #ifdef NICENAMES
735 "clrb address_dst",8,11,
736 0x00,
737 #endif
738 "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
739 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
742 /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
744 #ifdef NICENAMES
745 "clrb address_dst(rd)",8,12,
746 0x00,
747 #endif
748 "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
749 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
752 /* 1000 1100 dddd 1000 *** clrb rbd */
754 #ifdef NICENAMES
755 "clrb rbd",8,7,
756 0x00,
757 #endif
758 "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
759 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
762 /* 0000 1101 ddN0 0000 *** com @rd */
764 #ifdef NICENAMES
765 "com @rd",16,12,
766 0x18,
767 #endif
768 "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
769 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
772 /* 0100 1101 0000 0000 address_dst *** com address_dst */
774 #ifdef NICENAMES
775 "com address_dst",16,15,
776 0x18,
777 #endif
778 "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
779 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
782 /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
784 #ifdef NICENAMES
785 "com address_dst(rd)",16,16,
786 0x18,
787 #endif
788 "com",OPC_com,0,{CLASS_X+(ARG_RD),},
789 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
792 /* 1000 1101 dddd 0000 *** com rd */
794 #ifdef NICENAMES
795 "com rd",16,7,
796 0x18,
797 #endif
798 "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
799 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
802 /* 0000 1100 ddN0 0000 *** comb @rd */
804 #ifdef NICENAMES
805 "comb @rd",8,12,
806 0x1c,
807 #endif
808 "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
809 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
812 /* 0100 1100 0000 0000 address_dst *** comb address_dst */
814 #ifdef NICENAMES
815 "comb address_dst",8,15,
816 0x1c,
817 #endif
818 "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
819 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
822 /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
824 #ifdef NICENAMES
825 "comb address_dst(rd)",8,16,
826 0x1c,
827 #endif
828 "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
829 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
832 /* 1000 1100 dddd 0000 *** comb rbd */
834 #ifdef NICENAMES
835 "comb rbd",8,7,
836 0x1c,
837 #endif
838 "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
839 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
842 /* 1000 1101 flags 0101 *** comflg flags */
844 #ifdef NICENAMES
845 "comflg flags",16,7,
846 0x3c,
847 #endif
848 "comflg",OPC_comflg,0,{CLASS_FLAGS,},
849 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,58},
852 /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
854 #ifdef NICENAMES
855 "cp @rd,imm16",16,11,
856 0x3c,
857 #endif
858 "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
859 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
862 /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
864 #ifdef NICENAMES
865 "cp address_dst(rd),imm16",16,15,
866 0x3c,
867 #endif
868 "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
869 {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},
872 /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
874 #ifdef NICENAMES
875 "cp address_dst,imm16",16,14,
876 0x3c,
877 #endif
878 "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
879 {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},
882 /* 0000 1011 ssN0 dddd *** cp rd,@rs */
884 #ifdef NICENAMES
885 "cp rd,@rs",16,7,
886 0x3c,
887 #endif
888 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
889 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
892 /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
894 #ifdef NICENAMES
895 "cp rd,address_src",16,9,
896 0x3c,
897 #endif
898 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
899 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
902 /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
904 #ifdef NICENAMES
905 "cp rd,address_src(rs)",16,10,
906 0x3c,
907 #endif
908 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
909 {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},
912 /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
914 #ifdef NICENAMES
915 "cp rd,imm16",16,7,
916 0x3c,
917 #endif
918 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
919 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
922 /* 1000 1011 ssss dddd *** cp rd,rs */
924 #ifdef NICENAMES
925 "cp rd,rs",16,4,
926 0x3c,
927 #endif
928 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
929 {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
932 /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
934 #ifdef NICENAMES
935 "cpb @rd,imm8",8,11,
936 0x3c,
937 #endif
938 "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
939 {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},
942 /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
944 #ifdef NICENAMES
945 "cpb address_dst(rd),imm8",8,15,
946 0x3c,
947 #endif
948 "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
949 {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},
952 /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
954 #ifdef NICENAMES
955 "cpb address_dst,imm8",8,14,
956 0x3c,
957 #endif
958 "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
959 {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},
962 /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
964 #ifdef NICENAMES
965 "cpb rbd,@rs",8,7,
966 0x3c,
967 #endif
968 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
969 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
972 /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
974 #ifdef NICENAMES
975 "cpb rbd,address_src",8,9,
976 0x3c,
977 #endif
978 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
979 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
982 /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
984 #ifdef NICENAMES
985 "cpb rbd,address_src(rs)",8,10,
986 0x3c,
987 #endif
988 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
989 {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},
992 /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
994 #ifdef NICENAMES
995 "cpb rbd,imm8",8,7,
996 0x3c,
997 #endif
998 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
999 {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},
1002 /* 1000 1010 ssss dddd *** cpb rbd,rbs */
1004 #ifdef NICENAMES
1005 "cpb rbd,rbs",8,4,
1006 0x3c,
1007 #endif
1008 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1009 {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1012 /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
1014 #ifdef NICENAMES
1015 "cpd rd,@rs,rr,cc",16,11,
1016 0x3c,
1017 #endif
1018 "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1019 {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},
1022 /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
1024 #ifdef NICENAMES
1025 "cpdb rbd,@rs,rr,cc",8,11,
1026 0x3c,
1027 #endif
1028 "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1029 {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},
1032 /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
1034 #ifdef NICENAMES
1035 "cpdr rd,@rs,rr,cc",16,11,
1036 0x3c,
1037 #endif
1038 "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1039 {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},
1042 /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
1044 #ifdef NICENAMES
1045 "cpdrb rbd,@rs,rr,cc",8,11,
1046 0x3c,
1047 #endif
1048 "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1049 {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},
1052 /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
1054 #ifdef NICENAMES
1055 "cpi rd,@rs,rr,cc",16,11,
1056 0x3c,
1057 #endif
1058 "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1059 {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},
1062 /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
1064 #ifdef NICENAMES
1065 "cpib rbd,@rs,rr,cc",8,11,
1066 0x3c,
1067 #endif
1068 "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1069 {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},
1072 /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
1074 #ifdef NICENAMES
1075 "cpir rd,@rs,rr,cc",16,11,
1076 0x3c,
1077 #endif
1078 "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1079 {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},
1082 /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
1084 #ifdef NICENAMES
1085 "cpirb rbd,@rs,rr,cc",8,11,
1086 0x3c,
1087 #endif
1088 "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1089 {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},
1092 /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
1094 #ifdef NICENAMES
1095 "cpl rrd,@rs",32,14,
1096 0x3c,
1097 #endif
1098 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1099 {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
1102 /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
1104 #ifdef NICENAMES
1105 "cpl rrd,address_src",32,15,
1106 0x3c,
1107 #endif
1108 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1109 {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
1112 /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
1114 #ifdef NICENAMES
1115 "cpl rrd,address_src(rs)",32,16,
1116 0x3c,
1117 #endif
1118 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1119 {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},
1122 /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1124 #ifdef NICENAMES
1125 "cpl rrd,imm32",32,14,
1126 0x3c,
1127 #endif
1128 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1129 {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
1132 /* 1001 0000 ssss dddd *** cpl rrd,rrs */
1134 #ifdef NICENAMES
1135 "cpl rrd,rrs",32,8,
1136 0x3c,
1137 #endif
1138 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1139 {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
1142 /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1144 #ifdef NICENAMES
1145 "cpsd @rd,@rs,rr,cc",16,11,
1146 0x3c,
1147 #endif
1148 "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1149 {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},
1152 /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1154 #ifdef NICENAMES
1155 "cpsdb @rd,@rs,rr,cc",8,11,
1156 0x3c,
1157 #endif
1158 "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1159 {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},
1162 /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1164 #ifdef NICENAMES
1165 "cpsdr @rd,@rs,rr,cc",16,11,
1166 0x3c,
1167 #endif
1168 "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1169 {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},
1172 /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1174 #ifdef NICENAMES
1175 "cpsdrb @rd,@rs,rr,cc",8,11,
1176 0x3c,
1177 #endif
1178 "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1179 {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},
1182 /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1184 #ifdef NICENAMES
1185 "cpsi @rd,@rs,rr,cc",16,11,
1186 0x3c,
1187 #endif
1188 "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1189 {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},
1192 /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1194 #ifdef NICENAMES
1195 "cpsib @rd,@rs,rr,cc",8,11,
1196 0x3c,
1197 #endif
1198 "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1199 {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},
1202 /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1204 #ifdef NICENAMES
1205 "cpsir @rd,@rs,rr,cc",16,11,
1206 0x3c,
1207 #endif
1208 "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1209 {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},
1212 /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1214 #ifdef NICENAMES
1215 "cpsirb @rd,@rs,rr,cc",8,11,
1216 0x3c,
1217 #endif
1218 "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1219 {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},
1222 /* 1011 0000 dddd 0000 *** dab rbd */
1224 #ifdef NICENAMES
1225 "dab rbd",8,5,
1226 0x38,
1227 #endif
1228 "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1229 {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
1232 /* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1234 #ifdef NICENAMES
1235 "dbjnz rbd,disp7",16,11,
1236 0x00,
1237 #endif
1238 "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1239 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,97},
1242 /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1244 #ifdef NICENAMES
1245 "dec @rd,imm4m1",16,11,
1246 0x1c,
1247 #endif
1248 "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1249 {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
1252 /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1254 #ifdef NICENAMES
1255 "dec address_dst(rd),imm4m1",16,14,
1256 0x1c,
1257 #endif
1258 "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1259 {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},
1262 /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1264 #ifdef NICENAMES
1265 "dec address_dst,imm4m1",16,13,
1266 0x1c,
1267 #endif
1268 "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1269 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
1272 /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1274 #ifdef NICENAMES
1275 "dec rd,imm4m1",16,4,
1276 0x1c,
1277 #endif
1278 "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1279 {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
1282 /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1284 #ifdef NICENAMES
1285 "decb @rd,imm4m1",8,11,
1286 0x1c,
1287 #endif
1288 "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1289 {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
1292 /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1294 #ifdef NICENAMES
1295 "decb address_dst(rd),imm4m1",8,14,
1296 0x1c,
1297 #endif
1298 "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1299 {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},
1302 /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1304 #ifdef NICENAMES
1305 "decb address_dst,imm4m1",8,13,
1306 0x1c,
1307 #endif
1308 "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1309 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
1312 /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1314 #ifdef NICENAMES
1315 "decb rbd,imm4m1",8,4,
1316 0x1c,
1317 #endif
1318 "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1319 {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
1322 /* 0111 1100 0000 00ii *** di i2 */
1324 #ifdef NICENAMES
1325 "di i2",16,7,
1326 0x00,
1327 #endif
1328 "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1329 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
1332 /* 0001 1011 ssN0 dddd *** div rrd,@rs */
1334 #ifdef NICENAMES
1335 "div rrd,@rs",16,107,
1336 0x3c,
1337 #endif
1338 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1339 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
1342 /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1344 #ifdef NICENAMES
1345 "div rrd,address_src",16,107,
1346 0x3c,
1347 #endif
1348 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1349 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
1352 /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1354 #ifdef NICENAMES
1355 "div rrd,address_src(rs)",16,107,
1356 0x3c,
1357 #endif
1358 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1359 {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},
1362 /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1364 #ifdef NICENAMES
1365 "div rrd,imm16",16,107,
1366 0x3c,
1367 #endif
1368 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1369 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
1372 /* 1001 1011 ssss dddd *** div rrd,rs */
1374 #ifdef NICENAMES
1375 "div rrd,rs",16,107,
1376 0x3c,
1377 #endif
1378 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1379 {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
1382 /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1384 #ifdef NICENAMES
1385 "divl rqd,@rs",32,744,
1386 0x3c,
1387 #endif
1388 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1389 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
1392 /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1394 #ifdef NICENAMES
1395 "divl rqd,address_src",32,745,
1396 0x3c,
1397 #endif
1398 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1399 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
1402 /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1404 #ifdef NICENAMES
1405 "divl rqd,address_src(rs)",32,746,
1406 0x3c,
1407 #endif
1408 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1409 {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},
1412 /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1414 #ifdef NICENAMES
1415 "divl rqd,imm32",32,744,
1416 0x3c,
1417 #endif
1418 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1419 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
1422 /* 1001 1010 ssss dddd *** divl rqd,rrs */
1424 #ifdef NICENAMES
1425 "divl rqd,rrs",32,744,
1426 0x3c,
1427 #endif
1428 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1429 {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
1432 /* 1111 dddd 1disp7 *** djnz rd,disp7 */
1434 #ifdef NICENAMES
1435 "djnz rd,disp7",16,11,
1436 0x00,
1437 #endif
1438 "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1439 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,117},
1442 /* 0111 1100 0000 01ii *** ei i2 */
1444 #ifdef NICENAMES
1445 "ei i2",16,7,
1446 0x00,
1447 #endif
1448 "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1449 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
1452 /* 0010 1101 ssN0 dddd *** ex rd,@rs */
1454 #ifdef NICENAMES
1455 "ex rd,@rs",16,12,
1456 0x00,
1457 #endif
1458 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1459 {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
1462 /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1464 #ifdef NICENAMES
1465 "ex rd,address_src",16,15,
1466 0x00,
1467 #endif
1468 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1469 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
1472 /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1474 #ifdef NICENAMES
1475 "ex rd,address_src(rs)",16,16,
1476 0x00,
1477 #endif
1478 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1479 {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},
1482 /* 1010 1101 ssss dddd *** ex rd,rs */
1484 #ifdef NICENAMES
1485 "ex rd,rs",16,6,
1486 0x00,
1487 #endif
1488 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1489 {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
1492 /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1494 #ifdef NICENAMES
1495 "exb rbd,@rs",8,12,
1496 0x00,
1497 #endif
1498 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1499 {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
1502 /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1504 #ifdef NICENAMES
1505 "exb rbd,address_src",8,15,
1506 0x00,
1507 #endif
1508 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1509 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
1512 /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1514 #ifdef NICENAMES
1515 "exb rbd,address_src(rs)",8,16,
1516 0x00,
1517 #endif
1518 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1519 {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},
1522 /* 1010 1100 ssss dddd *** exb rbd,rbs */
1524 #ifdef NICENAMES
1525 "exb rbd,rbs",8,6,
1526 0x00,
1527 #endif
1528 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1529 {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
1532 /* 0000 1110 imm8 *** ext0e imm8 */
1534 #ifdef NICENAMES
1535 "ext0e imm8",8,10,
1536 0x00,
1537 #endif
1538 "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1539 {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
1542 /* 0000 1111 imm8 *** ext0f imm8 */
1544 #ifdef NICENAMES
1545 "ext0f imm8",8,10,
1546 0x00,
1547 #endif
1548 "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1549 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
1552 /* 1000 1110 imm8 *** ext8e imm8 */
1554 #ifdef NICENAMES
1555 "ext8e imm8",8,10,
1556 0x00,
1557 #endif
1558 "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1559 {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
1562 /* 1000 1111 imm8 *** ext8f imm8 */
1564 #ifdef NICENAMES
1565 "ext8f imm8",8,10,
1566 0x00,
1567 #endif
1568 "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1569 {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
1572 /* 1011 0001 dddd 1010 *** exts rrd */
1574 #ifdef NICENAMES
1575 "exts rrd",16,11,
1576 0x00,
1577 #endif
1578 "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1579 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
1582 /* 1011 0001 dddd 0000 *** extsb rd */
1584 #ifdef NICENAMES
1585 "extsb rd",8,11,
1586 0x00,
1587 #endif
1588 "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1589 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
1592 /* 1011 0001 dddd 0111 *** extsl rqd */
1594 #ifdef NICENAMES
1595 "extsl rqd",32,11,
1596 0x00,
1597 #endif
1598 "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1599 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
1602 /* 0111 1010 0000 0000 *** halt */
1604 #ifdef NICENAMES
1605 "halt",16,8,
1606 0x00,
1607 #endif
1608 "halt",OPC_halt,0,{0},
1609 {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
1612 /* 0011 1101 ssN0 dddd *** in rd,@rs */
1614 #ifdef NICENAMES
1615 "in rd,@rs",16,10,
1616 0x00,
1617 #endif
1618 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1619 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
1622 /* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
1624 #ifdef NICENAMES
1625 "in rd,imm16",16,12,
1626 0x00,
1627 #endif
1628 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1629 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
1632 /* 0011 1100 ssN0 dddd *** inb rbd,@rs */
1634 #ifdef NICENAMES
1635 "inb rbd,@rs",8,12,
1636 0x00,
1637 #endif
1638 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1639 {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
1642 /* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1644 #ifdef NICENAMES
1645 "inb rbd,imm16",8,10,
1646 0x00,
1647 #endif
1648 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1649 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
1652 /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1654 #ifdef NICENAMES
1655 "inc @rd,imm4m1",16,11,
1656 0x1c,
1657 #endif
1658 "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1659 {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
1662 /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1664 #ifdef NICENAMES
1665 "inc address_dst(rd),imm4m1",16,14,
1666 0x1c,
1667 #endif
1668 "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1669 {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},
1672 /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1674 #ifdef NICENAMES
1675 "inc address_dst,imm4m1",16,13,
1676 0x1c,
1677 #endif
1678 "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1679 {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
1682 /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1684 #ifdef NICENAMES
1685 "inc rd,imm4m1",16,4,
1686 0x1c,
1687 #endif
1688 "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1689 {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
1692 /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1694 #ifdef NICENAMES
1695 "incb @rd,imm4m1",8,11,
1696 0x1c,
1697 #endif
1698 "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1699 {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
1702 /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1704 #ifdef NICENAMES
1705 "incb address_dst(rd),imm4m1",8,14,
1706 0x1c,
1707 #endif
1708 "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1709 {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},
1712 /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1714 #ifdef NICENAMES
1715 "incb address_dst,imm4m1",8,13,
1716 0x1c,
1717 #endif
1718 "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1719 {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
1722 /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1724 #ifdef NICENAMES
1725 "incb rbd,imm4m1",8,4,
1726 0x1c,
1727 #endif
1728 "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1729 {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
1732 /* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
1734 #ifdef NICENAMES
1735 "ind @rd,@rs,ra",16,21,
1736 0x04,
1737 #endif
1738 "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1739 {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},
1742 /* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
1744 #ifdef NICENAMES
1745 "indb @rd,@rs,rba",8,21,
1746 0x04,
1747 #endif
1748 "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
1749 {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},
1752 /* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
1754 #ifdef NICENAMES
1755 "inib @rd,@rs,ra",8,21,
1756 0x04,
1757 #endif
1758 "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1759 {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},
1762 /* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
1764 #ifdef NICENAMES
1765 "inibr @rd,@rs,ra",16,21,
1766 0x04,
1767 #endif
1768 "inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1769 {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},
1772 /* 0111 1011 0000 0000 *** iret */
1774 #ifdef NICENAMES
1775 "iret",16,13,
1776 0x3f,
1777 #endif
1778 "iret",OPC_iret,0,{0},
1779 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
1782 /* 0001 1110 ddN0 cccc *** jp cc,@rd */
1784 #ifdef NICENAMES
1785 "jp cc,@rd",16,10,
1786 0x00,
1787 #endif
1788 "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1789 {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
1792 /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1794 #ifdef NICENAMES
1795 "jp cc,address_dst",16,7,
1796 0x00,
1797 #endif
1798 "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1799 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
1802 /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1804 #ifdef NICENAMES
1805 "jp cc,address_dst(rd)",16,8,
1806 0x00,
1807 #endif
1808 "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1809 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
1812 /* 1110 cccc disp8 *** jr cc,disp8 */
1814 #ifdef NICENAMES
1815 "jr cc,disp8",16,6,
1816 0x00,
1817 #endif
1818 "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1819 {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
1822 /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1824 #ifdef NICENAMES
1825 "ld @rd,imm16",16,7,
1826 0x00,
1827 #endif
1828 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1829 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
1832 /* 0010 1111 ddN0 ssss *** ld @rd,rs */
1834 #ifdef NICENAMES
1835 "ld @rd,rs",16,8,
1836 0x00,
1837 #endif
1838 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1839 {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
1842 /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1844 #ifdef NICENAMES
1845 "ld address_dst(rd),imm16",16,15,
1846 0x00,
1847 #endif
1848 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1849 {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},
1852 /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1854 #ifdef NICENAMES
1855 "ld address_dst(rd),rs",16,12,
1856 0x00,
1857 #endif
1858 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1859 {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},
1862 /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1864 #ifdef NICENAMES
1865 "ld address_dst,imm16",16,14,
1866 0x00,
1867 #endif
1868 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1869 {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},
1872 /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1874 #ifdef NICENAMES
1875 "ld address_dst,rs",16,11,
1876 0x00,
1877 #endif
1878 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1879 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
1882 /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1884 #ifdef NICENAMES
1885 "ld rd(imm16),rs",16,14,
1886 0x00,
1887 #endif
1888 "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1889 {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},
1892 /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1894 #ifdef NICENAMES
1895 "ld rd(rx),rs",16,14,
1896 0x00,
1897 #endif
1898 "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1899 {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},
1902 /* 0010 0001 ssN0 dddd *** ld rd,@rs */
1904 #ifdef NICENAMES
1905 "ld rd,@rs",16,7,
1906 0x00,
1907 #endif
1908 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1909 {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
1912 /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1914 #ifdef NICENAMES
1915 "ld rd,address_src",16,9,
1916 0x00,
1917 #endif
1918 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1919 {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
1922 /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1924 #ifdef NICENAMES
1925 "ld rd,address_src(rs)",16,10,
1926 0x00,
1927 #endif
1928 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1929 {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},
1932 /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1934 #ifdef NICENAMES
1935 "ld rd,imm16",16,7,
1936 0x00,
1937 #endif
1938 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1939 {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
1942 /* 1010 0001 ssss dddd *** ld rd,rs */
1944 #ifdef NICENAMES
1945 "ld rd,rs",16,3,
1946 0x00,
1947 #endif
1948 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1949 {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
1952 /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1954 #ifdef NICENAMES
1955 "ld rd,rs(imm16)",16,14,
1956 0x00,
1957 #endif
1958 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1959 {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},
1962 /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1964 #ifdef NICENAMES
1965 "ld rd,rs(rx)",16,14,
1966 0x00,
1967 #endif
1968 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1969 {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},
1972 /* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1974 #ifdef NICENAMES
1975 "lda prd,address_src",16,12,
1976 0x00,
1977 #endif
1978 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1979 {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
1982 /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1984 #ifdef NICENAMES
1985 "lda prd,address_src(rs)",16,13,
1986 0x00,
1987 #endif
1988 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1989 {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},
1992 /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1994 #ifdef NICENAMES
1995 "lda prd,rs(imm16)",16,15,
1996 0x00,
1997 #endif
1998 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
1999 {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},
2002 /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
2004 #ifdef NICENAMES
2005 "lda prd,rs(rx)",16,15,
2006 0x00,
2007 #endif
2008 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
2009 {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},
2012 /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
2014 #ifdef NICENAMES
2015 "ldar prd,disp16",16,15,
2016 0x00,
2017 #endif
2018 "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
2019 {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
2022 /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
2024 #ifdef NICENAMES
2025 "ldb @rd,imm8",8,7,
2026 0x00,
2027 #endif
2028 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2029 {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},
2032 /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
2034 #ifdef NICENAMES
2035 "ldb @rd,rbs",8,8,
2036 0x00,
2037 #endif
2038 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2039 {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
2042 /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
2044 #ifdef NICENAMES
2045 "ldb address_dst(rd),imm8",8,15,
2046 0x00,
2047 #endif
2048 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2049 {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},
2052 /* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
2054 #ifdef NICENAMES
2055 "ldb address_dst(rd),rbs",8,12,
2056 0x00,
2057 #endif
2058 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2059 {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},
2062 /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
2064 #ifdef NICENAMES
2065 "ldb address_dst,imm8",8,14,
2066 0x00,
2067 #endif
2068 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
2069 {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},
2072 /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
2074 #ifdef NICENAMES
2075 "ldb address_dst,rbs",8,11,
2076 0x00,
2077 #endif
2078 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
2079 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
2082 /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
2084 #ifdef NICENAMES
2085 "ldb rbd,@rs",8,7,
2086 0x00,
2087 #endif
2088 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2089 {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
2092 /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
2094 #ifdef NICENAMES
2095 "ldb rbd,address_src",8,9,
2096 0x00,
2097 #endif
2098 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2099 {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
2102 /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
2104 #ifdef NICENAMES
2105 "ldb rbd,address_src(rs)",8,10,
2106 0x00,
2107 #endif
2108 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2109 {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},
2112 /* 1100 dddd imm8 *** ldb rbd,imm8 */
2114 #ifdef NICENAMES
2115 "ldb rbd,imm8",8,5,
2116 0x00,
2117 #endif
2118 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2119 {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
2122 /* 1010 0000 ssss dddd *** ldb rbd,rbs */
2124 #ifdef NICENAMES
2125 "ldb rbd,rbs",8,3,
2126 0x00,
2127 #endif
2128 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2129 {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
2132 /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
2134 #ifdef NICENAMES
2135 "ldb rbd,rs(imm16)",8,14,
2136 0x00,
2137 #endif
2138 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
2139 {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},
2142 /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
2144 #ifdef NICENAMES
2145 "ldb rbd,rs(rx)",8,14,
2146 0x00,
2147 #endif
2148 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
2149 {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},
2152 /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
2154 #ifdef NICENAMES
2155 "ldb rd(imm16),rbs",8,14,
2156 0x00,
2157 #endif
2158 "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2159 {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},
2162 /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
2164 #ifdef NICENAMES
2165 "ldb rd(rx),rbs",8,14,
2166 0x00,
2167 #endif
2168 "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2169 {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},
2172 /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
2174 #ifdef NICENAMES
2175 "ldctl ctrl,rs",32,7,
2176 0x00,
2177 #endif
2178 "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
2179 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
2182 /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
2184 #ifdef NICENAMES
2185 "ldctl rd,ctrl",32,7,
2186 0x00,
2187 #endif
2188 "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
2189 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
2192 /* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
2194 #ifdef NICENAMES
2195 "ldctlb ctrl,rbs",32,7,
2196 0x3f,
2197 #endif
2198 "ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
2199 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,193},
2202 /* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
2204 #ifdef NICENAMES
2205 "ldctlb rbd,ctrl",32,7,
2206 0x00,
2207 #endif
2208 "ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
2209 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,194},
2212 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
2214 #ifdef NICENAMES
2215 "ldd @rd,@rs,rr",16,11,
2216 0x04,
2217 #endif
2218 "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2219 {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,195},
2222 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
2224 #ifdef NICENAMES
2225 "lddb @rd,@rs,rr",8,11,
2226 0x04,
2227 #endif
2228 "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2229 {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,196},
2232 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
2234 #ifdef NICENAMES
2235 "lddr @rd,@rs,rr",16,11,
2236 0x04,
2237 #endif
2238 "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2239 {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,197},
2242 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
2244 #ifdef NICENAMES
2245 "lddrb @rd,@rs,rr",8,11,
2246 0x04,
2247 #endif
2248 "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2249 {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,198},
2252 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
2254 #ifdef NICENAMES
2255 "ldi @rd,@rs,rr",16,11,
2256 0x04,
2257 #endif
2258 "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2259 {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,199},
2262 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
2264 #ifdef NICENAMES
2265 "ldib @rd,@rs,rr",8,11,
2266 0x04,
2267 #endif
2268 "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2269 {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,200},
2272 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
2274 #ifdef NICENAMES
2275 "ldir @rd,@rs,rr",16,11,
2276 0x04,
2277 #endif
2278 "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2279 {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,201},
2282 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
2284 #ifdef NICENAMES
2285 "ldirb @rd,@rs,rr",8,11,
2286 0x04,
2287 #endif
2288 "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2289 {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,202},
2292 /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
2294 #ifdef NICENAMES
2295 "ldk rd,imm4",16,5,
2296 0x00,
2297 #endif
2298 "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2299 {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,203},
2302 /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
2304 #ifdef NICENAMES
2305 "ldl @rd,rrs",32,11,
2306 0x00,
2307 #endif
2308 "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2309 {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,204},
2312 /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
2314 #ifdef NICENAMES
2315 "ldl address_dst(rd),rrs",32,14,
2316 0x00,
2317 #endif
2318 "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2319 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,205},
2322 /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2324 #ifdef NICENAMES
2325 "ldl address_dst,rrs",32,15,
2326 0x00,
2327 #endif
2328 "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
2329 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,206},
2332 /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2334 #ifdef NICENAMES
2335 "ldl rd(imm16),rrs",32,17,
2336 0x00,
2337 #endif
2338 "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2339 {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,207},
2342 /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2344 #ifdef NICENAMES
2345 "ldl rd(rx),rrs",32,17,
2346 0x00,
2347 #endif
2348 "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2349 {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,208},
2352 /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2354 #ifdef NICENAMES
2355 "ldl rrd,@rs",32,11,
2356 0x00,
2357 #endif
2358 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2359 {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,209},
2362 /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2364 #ifdef NICENAMES
2365 "ldl rrd,address_src",32,12,
2366 0x00,
2367 #endif
2368 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2369 {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,210},
2372 /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2374 #ifdef NICENAMES
2375 "ldl rrd,address_src(rs)",32,13,
2376 0x00,
2377 #endif
2378 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2379 {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,211},
2382 /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2384 #ifdef NICENAMES
2385 "ldl rrd,imm32",32,11,
2386 0x00,
2387 #endif
2388 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2389 {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,212},
2392 /* 1001 0100 ssss dddd *** ldl rrd,rrs */
2394 #ifdef NICENAMES
2395 "ldl rrd,rrs",32,5,
2396 0x00,
2397 #endif
2398 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2399 {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,213},
2402 /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2404 #ifdef NICENAMES
2405 "ldl rrd,rs(imm16)",32,17,
2406 0x00,
2407 #endif
2408 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
2409 {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,214},
2412 /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2414 #ifdef NICENAMES
2415 "ldl rrd,rs(rx)",32,17,
2416 0x00,
2417 #endif
2418 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
2419 {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,215},
2422 /* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
2424 #ifdef NICENAMES
2425 "ldm @rd,rs,n",16,11,
2426 0x00,
2427 #endif
2428 "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2429 {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,216},
2432 /* 0101 1100 ddN0 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
2434 #ifdef NICENAMES
2435 "ldm address_dst(rd),rs,n",16,15,
2436 0x00,
2437 #endif
2438 "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2439 {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,217},
2442 /* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
2444 #ifdef NICENAMES
2445 "ldm address_dst,rs,n",16,14,
2446 0x00,
2447 #endif
2448 "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2449 {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,218},
2452 /* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
2454 #ifdef NICENAMES
2455 "ldm rd,@rs,n",16,11,
2456 0x00,
2457 #endif
2458 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2459 {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,219},
2462 /* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
2464 #ifdef NICENAMES
2465 "ldm rd,address_src(rs),n",16,15,
2466 0x00,
2467 #endif
2468 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2469 {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,220},
2472 /* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
2474 #ifdef NICENAMES
2475 "ldm rd,address_src,n",16,14,
2476 0x00,
2477 #endif
2478 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
2479 {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,221},
2482 /* 0011 1001 ssN0 0000 *** ldps @rs */
2484 #ifdef NICENAMES
2485 "ldps @rs",16,12,
2486 0x3f,
2487 #endif
2488 "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
2489 {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,222},
2492 /* 0111 1001 0000 0000 address_src *** ldps address_src */
2494 #ifdef NICENAMES
2495 "ldps address_src",16,16,
2496 0x3f,
2497 #endif
2498 "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
2499 {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,223},
2502 /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2504 #ifdef NICENAMES
2505 "ldps address_src(rs)",16,17,
2506 0x3f,
2507 #endif
2508 "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
2509 {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,224},
2512 /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2514 #ifdef NICENAMES
2515 "ldr disp16,rs",16,14,
2516 0x00,
2517 #endif
2518 "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
2519 {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
2522 /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2524 #ifdef NICENAMES
2525 "ldr rd,disp16",16,14,
2526 0x00,
2527 #endif
2528 "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
2529 {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
2532 /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2534 #ifdef NICENAMES
2535 "ldrb disp16,rbs",8,14,
2536 0x00,
2537 #endif
2538 "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
2539 {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
2542 /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2544 #ifdef NICENAMES
2545 "ldrb rbd,disp16",8,14,
2546 0x00,
2547 #endif
2548 "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
2549 {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
2552 /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2554 #ifdef NICENAMES
2555 "ldrl disp16,rrs",32,17,
2556 0x00,
2557 #endif
2558 "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
2559 {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,229},
2562 /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2564 #ifdef NICENAMES
2565 "ldrl rrd,disp16",32,17,
2566 0x00,
2567 #endif
2568 "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
2569 {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,230},
2572 /* 0111 1011 0000 1010 *** mbit */
2574 #ifdef NICENAMES
2575 "mbit",16,7,
2576 0x38,
2577 #endif
2578 "mbit",OPC_mbit,0,{0},
2579 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,231},
2582 /* 0111 1011 dddd 1101 *** mreq rd */
2584 #ifdef NICENAMES
2585 "mreq rd",16,12,
2586 0x18,
2587 #endif
2588 "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
2589 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,232},
2592 /* 0111 1011 0000 1001 *** mres */
2594 #ifdef NICENAMES
2595 "mres",16,5,
2596 0x00,
2597 #endif
2598 "mres",OPC_mres,0,{0},
2599 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,233},
2602 /* 0111 1011 0000 1000 *** mset */
2604 #ifdef NICENAMES
2605 "mset",16,5,
2606 0x00,
2607 #endif
2608 "mset",OPC_mset,0,{0},
2609 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,234},
2612 /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2614 #ifdef NICENAMES
2615 "mult rrd,@rs",16,70,
2616 0x3c,
2617 #endif
2618 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2619 {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,235},
2622 /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2624 #ifdef NICENAMES
2625 "mult rrd,address_src",16,70,
2626 0x3c,
2627 #endif
2628 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2629 {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,236},
2632 /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2634 #ifdef NICENAMES
2635 "mult rrd,address_src(rs)",16,70,
2636 0x3c,
2637 #endif
2638 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2639 {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,237},
2642 /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2644 #ifdef NICENAMES
2645 "mult rrd,imm16",16,70,
2646 0x3c,
2647 #endif
2648 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2649 {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,238},
2652 /* 1001 1001 ssss dddd *** mult rrd,rs */
2654 #ifdef NICENAMES
2655 "mult rrd,rs",16,70,
2656 0x3c,
2657 #endif
2658 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2659 {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,239},
2662 /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2664 #ifdef NICENAMES
2665 "multl rqd,@rs",32,282,
2666 0x3c,
2667 #endif
2668 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
2669 {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,240},
2672 /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2674 #ifdef NICENAMES
2675 "multl rqd,address_src",32,282,
2676 0x3c,
2677 #endif
2678 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2679 {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,241},
2682 /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2684 #ifdef NICENAMES
2685 "multl rqd,address_src(rs)",32,282,
2686 0x3c,
2687 #endif
2688 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
2689 {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,242},
2692 /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2694 #ifdef NICENAMES
2695 "multl rqd,imm32",32,282,
2696 0x3c,
2697 #endif
2698 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2699 {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,243},
2702 /* 1001 1000 ssss dddd *** multl rqd,rrs */
2704 #ifdef NICENAMES
2705 "multl rqd,rrs",32,282,
2706 0x3c,
2707 #endif
2708 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2709 {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,244},
2712 /* 0000 1101 ddN0 0010 *** neg @rd */
2714 #ifdef NICENAMES
2715 "neg @rd",16,12,
2716 0x3c,
2717 #endif
2718 "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
2719 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,245},
2722 /* 0100 1101 0000 0010 address_dst *** neg address_dst */
2724 #ifdef NICENAMES
2725 "neg address_dst",16,15,
2726 0x3c,
2727 #endif
2728 "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
2729 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,246},
2732 /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2734 #ifdef NICENAMES
2735 "neg address_dst(rd)",16,16,
2736 0x3c,
2737 #endif
2738 "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
2739 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,247},
2742 /* 1000 1101 dddd 0010 *** neg rd */
2744 #ifdef NICENAMES
2745 "neg rd",16,7,
2746 0x3c,
2747 #endif
2748 "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
2749 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,248},
2752 /* 0000 1100 ddN0 0010 *** negb @rd */
2754 #ifdef NICENAMES
2755 "negb @rd",8,12,
2756 0x3c,
2757 #endif
2758 "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
2759 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,249},
2762 /* 0100 1100 0000 0010 address_dst *** negb address_dst */
2764 #ifdef NICENAMES
2765 "negb address_dst",8,15,
2766 0x3c,
2767 #endif
2768 "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
2769 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,250},
2772 /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2774 #ifdef NICENAMES
2775 "negb address_dst(rd)",8,16,
2776 0x3c,
2777 #endif
2778 "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
2779 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,251},
2782 /* 1000 1100 dddd 0010 *** negb rbd */
2784 #ifdef NICENAMES
2785 "negb rbd",8,7,
2786 0x3c,
2787 #endif
2788 "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
2789 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,252},
2792 /* 1000 1101 0000 0111 *** nop */
2794 #ifdef NICENAMES
2795 "nop",16,7,
2796 0x00,
2797 #endif
2798 "nop",OPC_nop,0,{0},
2799 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,253},
2802 /* 0000 0101 ssN0 dddd *** or rd,@rs */
2804 #ifdef NICENAMES
2805 "or rd,@rs",16,7,
2806 0x38,
2807 #endif
2808 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2809 {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,254},
2812 /* 0100 0101 0000 dddd address_src *** or rd,address_src */
2814 #ifdef NICENAMES
2815 "or rd,address_src",16,9,
2816 0x38,
2817 #endif
2818 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2819 {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,255},
2822 /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2824 #ifdef NICENAMES
2825 "or rd,address_src(rs)",16,10,
2826 0x38,
2827 #endif
2828 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
2829 {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,256},
2832 /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2834 #ifdef NICENAMES
2835 "or rd,imm16",16,7,
2836 0x38,
2837 #endif
2838 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2839 {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,257},
2842 /* 1000 0101 ssss dddd *** or rd,rs */
2844 #ifdef NICENAMES
2845 "or rd,rs",16,4,
2846 0x38,
2847 #endif
2848 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2849 {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,258},
2852 /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2854 #ifdef NICENAMES
2855 "orb rbd,@rs",8,7,
2856 0x3c,
2857 #endif
2858 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2859 {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,259},
2862 /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2864 #ifdef NICENAMES
2865 "orb rbd,address_src",8,9,
2866 0x3c,
2867 #endif
2868 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2869 {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,260},
2872 /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2874 #ifdef NICENAMES
2875 "orb rbd,address_src(rs)",8,10,
2876 0x3c,
2877 #endif
2878 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2879 {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,261},
2882 /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2884 #ifdef NICENAMES
2885 "orb rbd,imm8",8,7,
2886 0x3c,
2887 #endif
2888 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2889 {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,262},
2892 /* 1000 0100 ssss dddd *** orb rbd,rbs */
2894 #ifdef NICENAMES
2895 "orb rbd,rbs",8,4,
2896 0x3c,
2897 #endif
2898 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2899 {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,263},
2902 /* 0011 1111 ddN0 ssss *** out @rd,rs */
2904 #ifdef NICENAMES
2905 "out @rd,rs",16,0,
2906 0x04,
2907 #endif
2908 "out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2909 {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
2912 /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2914 #ifdef NICENAMES
2915 "out imm16,rs",16,0,
2916 0x04,
2917 #endif
2918 "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
2919 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
2922 /* 0011 1110 ddN0 ssss *** outb @rd,rbs */
2924 #ifdef NICENAMES
2925 "outb @rd,rbs",8,0,
2926 0x04,
2927 #endif
2928 "outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2929 {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,266},
2932 /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2934 #ifdef NICENAMES
2935 "outb imm16,rbs",8,0,
2936 0x04,
2937 #endif
2938 "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
2939 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,267},
2942 /* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
2944 #ifdef NICENAMES
2945 "outd @rd,@rs,ra",16,0,
2946 0x04,
2947 #endif
2948 "outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2949 {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,268},
2952 /* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
2954 #ifdef NICENAMES
2955 "outdb @rd,@rs,rba",16,0,
2956 0x04,
2957 #endif
2958 "outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
2959 {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,269},
2962 /* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
2964 #ifdef NICENAMES
2965 "outi @rd,@rs,ra",16,0,
2966 0x04,
2967 #endif
2968 "outi",OPC_outi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2969 {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,270},
2972 /* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
2974 #ifdef NICENAMES
2975 "outib @rd,@rs,ra",16,0,
2976 0x04,
2977 #endif
2978 "outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2979 {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,271},
2982 /* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
2984 #ifdef NICENAMES
2985 "outibr @rd,@rs,ra",16,0,
2986 0x04,
2987 #endif
2988 "outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2989 {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,272},
2992 /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2994 #ifdef NICENAMES
2995 "pop @rd,@rs",16,12,
2996 0x00,
2997 #endif
2998 "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2999 {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,273},
3002 /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
3004 #ifdef NICENAMES
3005 "pop address_dst(rd),@rs",16,16,
3006 0x00,
3007 #endif
3008 "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
3009 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,274},
3012 /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
3014 #ifdef NICENAMES
3015 "pop address_dst,@rs",16,16,
3016 0x00,
3017 #endif
3018 "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
3019 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,275},
3022 /* 1001 0111 ssN0 dddd *** pop rd,@rs */
3024 #ifdef NICENAMES
3025 "pop rd,@rs",16,8,
3026 0x00,
3027 #endif
3028 "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3029 {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,276},
3032 /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
3034 #ifdef NICENAMES
3035 "popl @rd,@rs",32,19,
3036 0x00,
3037 #endif
3038 "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3039 {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,277},
3042 /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
3044 #ifdef NICENAMES
3045 "popl address_dst(rd),@rs",32,23,
3046 0x00,
3047 #endif
3048 "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
3049 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,278},
3052 /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
3054 #ifdef NICENAMES
3055 "popl address_dst,@rs",32,23,
3056 0x00,
3057 #endif
3058 "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
3059 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,279},
3062 /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
3064 #ifdef NICENAMES
3065 "popl rrd,@rs",32,12,
3066 0x00,
3067 #endif
3068 "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3069 {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,280},
3072 /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
3074 #ifdef NICENAMES
3075 "push @rd,@rs",16,13,
3076 0x00,
3077 #endif
3078 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3079 {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,281},
3082 /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
3084 #ifdef NICENAMES
3085 "push @rd,address_src",16,14,
3086 0x00,
3087 #endif
3088 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
3089 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,282},
3092 /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
3094 #ifdef NICENAMES
3095 "push @rd,address_src(rs)",16,14,
3096 0x00,
3097 #endif
3098 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
3099 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,283},
3102 /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
3104 #ifdef NICENAMES
3105 "push @rd,imm16",16,12,
3106 0x00,
3107 #endif
3108 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3109 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,284},
3112 /* 1001 0011 ddN0 ssss *** push @rd,rs */
3114 #ifdef NICENAMES
3115 "push @rd,rs",16,9,
3116 0x00,
3117 #endif
3118 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3119 {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,285},
3122 /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
3124 #ifdef NICENAMES
3125 "pushl @rd,@rs",32,20,
3126 0x00,
3127 #endif
3128 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3129 {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,286},
3132 /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
3134 #ifdef NICENAMES
3135 "pushl @rd,address_src",32,21,
3136 0x00,
3137 #endif
3138 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
3139 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,287},
3142 /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
3144 #ifdef NICENAMES
3145 "pushl @rd,address_src(rs)",32,21,
3146 0x00,
3147 #endif
3148 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
3149 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,288},
3152 /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
3154 #ifdef NICENAMES
3155 "pushl @rd,rrs",32,12,
3156 0x00,
3157 #endif
3158 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
3159 {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,289},
3162 /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
3164 #ifdef NICENAMES
3165 "res @rd,imm4",16,11,
3166 0x00,
3167 #endif
3168 "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3169 {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,290},
3172 /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
3174 #ifdef NICENAMES
3175 "res address_dst(rd),imm4",16,14,
3176 0x00,
3177 #endif
3178 "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3179 {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,291},
3182 /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
3184 #ifdef NICENAMES
3185 "res address_dst,imm4",16,13,
3186 0x00,
3187 #endif
3188 "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3189 {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,292},
3192 /* 1010 0011 dddd imm4 *** res rd,imm4 */
3194 #ifdef NICENAMES
3195 "res rd,imm4",16,4,
3196 0x00,
3197 #endif
3198 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3199 {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,293},
3202 /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
3204 #ifdef NICENAMES
3205 "res rd,rs",16,10,
3206 0x00,
3207 #endif
3208 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3209 {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,294},
3212 /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
3214 #ifdef NICENAMES
3215 "resb @rd,imm4",8,11,
3216 0x00,
3217 #endif
3218 "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3219 {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,295},
3222 /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
3224 #ifdef NICENAMES
3225 "resb address_dst(rd),imm4",8,14,
3226 0x00,
3227 #endif
3228 "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3229 {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,296},
3232 /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
3234 #ifdef NICENAMES
3235 "resb address_dst,imm4",8,13,
3236 0x00,
3237 #endif
3238 "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3239 {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,297},
3242 /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
3244 #ifdef NICENAMES
3245 "resb rbd,imm4",8,4,
3246 0x00,
3247 #endif
3248 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3249 {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,298},
3252 /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
3254 #ifdef NICENAMES
3255 "resb rbd,rs",8,10,
3256 0x00,
3257 #endif
3258 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3259 {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,299},
3262 /* 1000 1101 flags 0011 *** resflg flags */
3264 #ifdef NICENAMES
3265 "resflg flags",16,7,
3266 0x3c,
3267 #endif
3268 "resflg",OPC_resflg,0,{CLASS_FLAGS,},
3269 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,300},
3272 /* 1001 1110 0000 cccc *** ret cc */
3274 #ifdef NICENAMES
3275 "ret cc",16,10,
3276 0x00,
3277 #endif
3278 "ret",OPC_ret,0,{CLASS_CC,},
3279 {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,301},
3282 /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
3284 #ifdef NICENAMES
3285 "rl rd,imm1or2",16,6,
3286 0x3c,
3287 #endif
3288 "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3289 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,302},
3292 /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
3294 #ifdef NICENAMES
3295 "rlb rbd,imm1or2",8,6,
3296 0x3c,
3297 #endif
3298 "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3299 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,303},
3302 /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
3304 #ifdef NICENAMES
3305 "rlc rd,imm1or2",16,6,
3306 0x3c,
3307 #endif
3308 "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3309 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,304},
3312 /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
3314 #ifdef NICENAMES
3315 "rlcb rbd,imm1or2",8,9,
3316 0x10,
3317 #endif
3318 "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3319 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,305},
3322 /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
3324 #ifdef NICENAMES
3325 "rldb rbb,rba",8,9,
3326 0x10,
3327 #endif
3328 "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
3329 {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,306},
3332 /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
3334 #ifdef NICENAMES
3335 "rr rd,imm1or2",16,6,
3336 0x3c,
3337 #endif
3338 "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3339 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,307},
3342 /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
3344 #ifdef NICENAMES
3345 "rrb rbd,imm1or2",8,6,
3346 0x3c,
3347 #endif
3348 "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3349 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,308},
3352 /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
3354 #ifdef NICENAMES
3355 "rrc rd,imm1or2",16,6,
3356 0x3c,
3357 #endif
3358 "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3359 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,309},
3362 /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
3364 #ifdef NICENAMES
3365 "rrcb rbd,imm1or2",8,9,
3366 0x10,
3367 #endif
3368 "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3369 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,310},
3372 /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
3374 #ifdef NICENAMES
3375 "rrdb rbb,rba",8,9,
3376 0x10,
3377 #endif
3378 "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
3379 {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,311},
3382 /* 0011 0110 imm8 *** rsvd36 */
3384 #ifdef NICENAMES
3385 "rsvd36",8,10,
3386 0x00,
3387 #endif
3388 "rsvd36",OPC_rsvd36,0,{0},
3389 {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
3392 /* 0011 1000 imm8 *** rsvd38 */
3394 #ifdef NICENAMES
3395 "rsvd38",8,10,
3396 0x00,
3397 #endif
3398 "rsvd38",OPC_rsvd38,0,{0},
3399 {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
3402 /* 0111 1000 imm8 *** rsvd78 */
3404 #ifdef NICENAMES
3405 "rsvd78",8,10,
3406 0x00,
3407 #endif
3408 "rsvd78",OPC_rsvd78,0,{0},
3409 {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
3412 /* 0111 1110 imm8 *** rsvd7e */
3414 #ifdef NICENAMES
3415 "rsvd7e",8,10,
3416 0x00,
3417 #endif
3418 "rsvd7e",OPC_rsvd7e,0,{0},
3419 {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
3422 /* 1001 1101 imm8 *** rsvd9d */
3424 #ifdef NICENAMES
3425 "rsvd9d",8,10,
3426 0x00,
3427 #endif
3428 "rsvd9d",OPC_rsvd9d,0,{0},
3429 {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
3432 /* 1001 1111 imm8 *** rsvd9f */
3434 #ifdef NICENAMES
3435 "rsvd9f",8,10,
3436 0x00,
3437 #endif
3438 "rsvd9f",OPC_rsvd9f,0,{0},
3439 {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,317},
3442 /* 1011 1001 imm8 *** rsvdb9 */
3444 #ifdef NICENAMES
3445 "rsvdb9",8,10,
3446 0x00,
3447 #endif
3448 "rsvdb9",OPC_rsvdb9,0,{0},
3449 {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,318},
3452 /* 1011 1111 imm8 *** rsvdbf */
3454 #ifdef NICENAMES
3455 "rsvdbf",8,10,
3456 0x00,
3457 #endif
3458 "rsvdbf",OPC_rsvdbf,0,{0},
3459 {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,319},
3462 /* 1011 0111 ssss dddd *** sbc rd,rs */
3464 #ifdef NICENAMES
3465 "sbc rd,rs",16,5,
3466 0x3c,
3467 #endif
3468 "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3469 {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,320},
3472 /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
3474 #ifdef NICENAMES
3475 "sbcb rbd,rbs",8,5,
3476 0x3f,
3477 #endif
3478 "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3479 {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,321},
3482 /* 0111 1111 imm8 *** sc imm8 */
3484 #ifdef NICENAMES
3485 "sc imm8",8,33,
3486 0x3f,
3487 #endif
3488 "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
3489 {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,322},
3492 /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
3494 #ifdef NICENAMES
3495 "sda rd,rs",16,15,
3496 0x3c,
3497 #endif
3498 "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3499 {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,323},
3502 /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
3504 #ifdef NICENAMES
3505 "sdab rbd,rs",8,15,
3506 0x3c,
3507 #endif
3508 "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3509 {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,324},
3512 /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
3514 #ifdef NICENAMES
3515 "sdal rrd,rs",32,15,
3516 0x3c,
3517 #endif
3518 "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3519 {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,325},
3522 /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
3524 #ifdef NICENAMES
3525 "sdl rd,rs",16,15,
3526 0x38,
3527 #endif
3528 "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3529 {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,326},
3532 /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
3534 #ifdef NICENAMES
3535 "sdlb rbd,rs",8,15,
3536 0x38,
3537 #endif
3538 "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3539 {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,327},
3542 /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3544 #ifdef NICENAMES
3545 "sdll rrd,rs",32,15,
3546 0x38,
3547 #endif
3548 "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3549 {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,328},
3552 /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3554 #ifdef NICENAMES
3555 "set @rd,imm4",16,11,
3556 0x00,
3557 #endif
3558 "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3559 {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,329},
3562 /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3564 #ifdef NICENAMES
3565 "set address_dst(rd),imm4",16,14,
3566 0x00,
3567 #endif
3568 "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3569 {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,330},
3572 /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3574 #ifdef NICENAMES
3575 "set address_dst,imm4",16,13,
3576 0x00,
3577 #endif
3578 "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3579 {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,331},
3582 /* 1010 0101 dddd imm4 *** set rd,imm4 */
3584 #ifdef NICENAMES
3585 "set rd,imm4",16,4,
3586 0x00,
3587 #endif
3588 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3589 {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,332},
3592 /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3594 #ifdef NICENAMES
3595 "set rd,rs",16,10,
3596 0x00,
3597 #endif
3598 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3599 {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,333},
3602 /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3604 #ifdef NICENAMES
3605 "setb @rd,imm4",8,11,
3606 0x00,
3607 #endif
3608 "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3609 {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,334},
3612 /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3614 #ifdef NICENAMES
3615 "setb address_dst(rd),imm4",8,14,
3616 0x00,
3617 #endif
3618 "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3619 {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,335},
3622 /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3624 #ifdef NICENAMES
3625 "setb address_dst,imm4",8,13,
3626 0x00,
3627 #endif
3628 "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3629 {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,336},
3632 /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3634 #ifdef NICENAMES
3635 "setb rbd,imm4",8,4,
3636 0x00,
3637 #endif
3638 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3639 {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,337},
3642 /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3644 #ifdef NICENAMES
3645 "setb rbd,rs",8,10,
3646 0x00,
3647 #endif
3648 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3649 {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,338},
3652 /* 1000 1101 flags 0001 *** setflg flags */
3654 #ifdef NICENAMES
3655 "setflg flags",16,7,
3656 0x3c,
3657 #endif
3658 "setflg",OPC_setflg,0,{CLASS_FLAGS,},
3659 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,339},
3662 /* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
3664 #ifdef NICENAMES
3665 "sin rd,imm16",8,0,
3666 0x00,
3667 #endif
3668 "sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3669 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,340},
3672 /* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
3674 #ifdef NICENAMES
3675 "sinb rbd,imm16",8,0,
3676 0x00,
3677 #endif
3678 "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3679 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,341},
3682 /* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
3684 #ifdef NICENAMES
3685 "sind @rd,@rs,ra",16,0,
3686 0x00,
3687 #endif
3688 "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3689 {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,342},
3692 /* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
3694 #ifdef NICENAMES
3695 "sindb @rd,@rs,rba",8,0,
3696 0x00,
3697 #endif
3698 "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3699 {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,343},
3702 /* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
3704 #ifdef NICENAMES
3705 "sinib @rd,@rs,ra",8,0,
3706 0x00,
3707 #endif
3708 "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3709 {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,344},
3712 /* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
3714 #ifdef NICENAMES
3715 "sinibr @rd,@rs,ra",16,0,
3716 0x00,
3717 #endif
3718 "sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3719 {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,345},
3722 /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3724 #ifdef NICENAMES
3725 "sla rd,imm8",16,13,
3726 0x3c,
3727 #endif
3728 "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3729 {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,346},
3732 /* 1011 0010 dddd 1001 0000 0000 imm8 *** slab rbd,imm8 */
3734 #ifdef NICENAMES
3735 "slab rbd,imm8",8,13,
3736 0x3c,
3737 #endif
3738 "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3739 {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,347},
3742 /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3744 #ifdef NICENAMES
3745 "slal rrd,imm8",32,13,
3746 0x3c,
3747 #endif
3748 "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3749 {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,348},
3752 /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3754 #ifdef NICENAMES
3755 "sll rd,imm8",16,13,
3756 0x38,
3757 #endif
3758 "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3759 {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,349},
3762 /* 1011 0010 dddd 0001 0000 0000 imm8 *** sllb rbd,imm8 */
3764 #ifdef NICENAMES
3765 "sllb rbd,imm8",8,13,
3766 0x38,
3767 #endif
3768 "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3769 {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,350},
3772 /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3774 #ifdef NICENAMES
3775 "slll rrd,imm8",32,13,
3776 0x38,
3777 #endif
3778 "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3779 {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,351},
3782 /* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
3784 #ifdef NICENAMES
3785 "sout imm16,rs",16,0,
3786 0x00,
3787 #endif
3788 "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
3789 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,352},
3792 /* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
3794 #ifdef NICENAMES
3795 "soutb imm16,rbs",8,0,
3796 0x00,
3797 #endif
3798 "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
3799 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,353},
3802 /* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
3804 #ifdef NICENAMES
3805 "soutd @rd,@rs,ra",16,0,
3806 0x00,
3807 #endif
3808 "soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3809 {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,354},
3812 /* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
3814 #ifdef NICENAMES
3815 "soutdb @rd,@rs,rba",8,0,
3816 0x00,
3817 #endif
3818 "soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3819 {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,355},
3822 /* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
3824 #ifdef NICENAMES
3825 "soutib @rd,@rs,ra",8,0,
3826 0x00,
3827 #endif
3828 "soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3829 {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,356},
3832 /* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
3834 #ifdef NICENAMES
3835 "soutibr @rd,@rs,ra",16,0,
3836 0x00,
3837 #endif
3838 "soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3839 {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,357},
3842 /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3844 #ifdef NICENAMES
3845 "sra rd,imm8",16,13,
3846 0x3c,
3847 #endif
3848 "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3849 {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,358},
3852 /* 1011 0010 dddd 1001 0000 0000 nim8 *** srab rbd,imm8 */
3854 #ifdef NICENAMES
3855 "srab rbd,imm8",8,13,
3856 0x3c,
3857 #endif
3858 "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3859 {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,359},
3862 /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3864 #ifdef NICENAMES
3865 "sral rrd,imm8",32,13,
3866 0x3c,
3867 #endif
3868 "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3869 {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,360},
3872 /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3874 #ifdef NICENAMES
3875 "srl rd,imm8",16,13,
3876 0x3c,
3877 #endif
3878 "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3879 {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,361},
3882 /* 1011 0010 dddd 0001 0000 0000 nim8 *** srlb rbd,imm8 */
3884 #ifdef NICENAMES
3885 "srlb rbd,imm8",8,13,
3886 0x3c,
3887 #endif
3888 "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3889 {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,362},
3892 /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3894 #ifdef NICENAMES
3895 "srll rrd,imm8",32,13,
3896 0x3c,
3897 #endif
3898 "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3899 {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,363},
3902 /* 0000 0011 ssN0 dddd *** sub rd,@rs */
3904 #ifdef NICENAMES
3905 "sub rd,@rs",16,7,
3906 0x3c,
3907 #endif
3908 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3909 {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,364},
3912 /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3914 #ifdef NICENAMES
3915 "sub rd,address_src",16,9,
3916 0x3c,
3917 #endif
3918 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3919 {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,365},
3922 /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3924 #ifdef NICENAMES
3925 "sub rd,address_src(rs)",16,10,
3926 0x3c,
3927 #endif
3928 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3929 {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,366},
3932 /* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3934 #ifdef NICENAMES
3935 "sub rd,imm16",16,7,
3936 0x3c,
3937 #endif
3938 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3939 {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,367},
3942 /* 1000 0011 ssss dddd *** sub rd,rs */
3944 #ifdef NICENAMES
3945 "sub rd,rs",16,4,
3946 0x3c,
3947 #endif
3948 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3949 {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,368},
3952 /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3954 #ifdef NICENAMES
3955 "subb rbd,@rs",8,7,
3956 0x3f,
3957 #endif
3958 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3959 {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,369},
3962 /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3964 #ifdef NICENAMES
3965 "subb rbd,address_src",8,9,
3966 0x3f,
3967 #endif
3968 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3969 {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,370},
3972 /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3974 #ifdef NICENAMES
3975 "subb rbd,address_src(rs)",8,10,
3976 0x3f,
3977 #endif
3978 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3979 {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,371},
3982 /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3984 #ifdef NICENAMES
3985 "subb rbd,imm8",8,7,
3986 0x3f,
3987 #endif
3988 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3989 {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,372},
3992 /* 1000 0010 ssss dddd *** subb rbd,rbs */
3994 #ifdef NICENAMES
3995 "subb rbd,rbs",8,4,
3996 0x3f,
3997 #endif
3998 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3999 {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,373},
4002 /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
4004 #ifdef NICENAMES
4005 "subl rrd,@rs",32,14,
4006 0x3c,
4007 #endif
4008 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
4009 {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,374},
4012 /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
4014 #ifdef NICENAMES
4015 "subl rrd,address_src",32,15,
4016 0x3c,
4017 #endif
4018 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
4019 {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,375},
4022 /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
4024 #ifdef NICENAMES
4025 "subl rrd,address_src(rs)",32,16,
4026 0x3c,
4027 #endif
4028 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
4029 {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,376},
4032 /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
4034 #ifdef NICENAMES
4035 "subl rrd,imm32",32,14,
4036 0x3c,
4037 #endif
4038 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
4039 {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,377},
4042 /* 1001 0010 ssss dddd *** subl rrd,rrs */
4044 #ifdef NICENAMES
4045 "subl rrd,rrs",32,8,
4046 0x3c,
4047 #endif
4048 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
4049 {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,378},
4052 /* 1010 1111 dddd cccc *** tcc cc,rd */
4054 #ifdef NICENAMES
4055 "tcc cc,rd",16,5,
4056 0x00,
4057 #endif
4058 "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
4059 {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,379},
4062 /* 1010 1110 dddd cccc *** tccb cc,rbd */
4064 #ifdef NICENAMES
4065 "tccb cc,rbd",8,5,
4066 0x00,
4067 #endif
4068 "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
4069 {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,380},
4072 /* 0000 1101 ddN0 0100 *** test @rd */
4074 #ifdef NICENAMES
4075 "test @rd",16,8,
4076 0x18,
4077 #endif
4078 "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
4079 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,381},
4082 /* 0100 1101 0000 0100 address_dst *** test address_dst */
4084 #ifdef NICENAMES
4085 "test address_dst",16,11,
4086 0x00,
4087 #endif
4088 "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
4089 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,382},
4092 /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
4094 #ifdef NICENAMES
4095 "test address_dst(rd)",16,12,
4096 0x00,
4097 #endif
4098 "test",OPC_test,0,{CLASS_X+(ARG_RD),},
4099 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,383},
4102 /* 1000 1101 dddd 0100 *** test rd */
4104 #ifdef NICENAMES
4105 "test rd",16,7,
4106 0x00,
4107 #endif
4108 "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
4109 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,384},
4112 /* 0000 1100 ddN0 0100 *** testb @rd */
4114 #ifdef NICENAMES
4115 "testb @rd",8,8,
4116 0x1c,
4117 #endif
4118 "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
4119 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,385},
4122 /* 0100 1100 0000 0100 address_dst *** testb address_dst */
4124 #ifdef NICENAMES
4125 "testb address_dst",8,11,
4126 0x1c,
4127 #endif
4128 "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
4129 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,386},
4132 /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
4134 #ifdef NICENAMES
4135 "testb address_dst(rd)",8,12,
4136 0x1c,
4137 #endif
4138 "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
4139 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,387},
4142 /* 1000 1100 dddd 0100 *** testb rbd */
4144 #ifdef NICENAMES
4145 "testb rbd",8,7,
4146 0x1c,
4147 #endif
4148 "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
4149 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,388},
4152 /* 0001 1100 ddN0 1000 *** testl @rd */
4154 #ifdef NICENAMES
4155 "testl @rd",32,13,
4156 0x18,
4157 #endif
4158 "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
4159 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,389},
4162 /* 0101 1100 0000 1000 address_dst *** testl address_dst */
4164 #ifdef NICENAMES
4165 "testl address_dst",32,16,
4166 0x18,
4167 #endif
4168 "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
4169 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,390},
4172 /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
4174 #ifdef NICENAMES
4175 "testl address_dst(rd)",32,17,
4176 0x18,
4177 #endif
4178 "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
4179 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,391},
4182 /* 1001 1100 dddd 1000 *** testl rrd */
4184 #ifdef NICENAMES
4185 "testl rrd",32,13,
4186 0x18,
4187 #endif
4188 "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
4189 {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,392},
4192 /* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
4194 #ifdef NICENAMES
4195 "trdb @rd,@rs,rba",8,25,
4196 0x1c,
4197 #endif
4198 "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
4199 {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,393},
4202 /* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
4204 #ifdef NICENAMES
4205 "trdrb @rd,@rs,rba",8,25,
4206 0x1c,
4207 #endif
4208 "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
4209 {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,394},
4212 /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
4214 #ifdef NICENAMES
4215 "trib @rd,@rs,rbr",8,25,
4216 0x1c,
4217 #endif
4218 "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
4219 {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,395},
4222 /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
4224 #ifdef NICENAMES
4225 "trirb @rd,@rs,rbr",8,25,
4226 0x1c,
4227 #endif
4228 "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
4229 {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,396},
4232 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
4234 #ifdef NICENAMES
4235 "trtdb @ra,@rb,rbr",8,25,
4236 0x1c,
4237 #endif
4238 "trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4239 {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,397},
4242 /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
4244 #ifdef NICENAMES
4245 "trtdrb @ra,@rb,rbr",8,25,
4246 0x1c,
4247 #endif
4248 "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4249 {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,398},
4252 /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
4254 #ifdef NICENAMES
4255 "trtib @ra,@rb,rbr",8,25,
4256 0x1c,
4257 #endif
4258 "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4259 {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,399},
4262 /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
4264 #ifdef NICENAMES
4265 "trtirb @ra,@rb,rbr",8,25,
4266 0x1c,
4267 #endif
4268 "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4269 {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,400},
4272 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
4274 #ifdef NICENAMES
4275 "trtrb @ra,@rb,rbr",8,25,
4276 0x1c,
4277 #endif
4278 "trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4279 {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,401},
4282 /* 0000 1101 ddN0 0110 *** tset @rd */
4284 #ifdef NICENAMES
4285 "tset @rd",16,11,
4286 0x08,
4287 #endif
4288 "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
4289 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
4292 /* 0100 1101 0000 0110 address_dst *** tset address_dst */
4294 #ifdef NICENAMES
4295 "tset address_dst",16,14,
4296 0x08,
4297 #endif
4298 "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
4299 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,403},
4302 /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
4304 #ifdef NICENAMES
4305 "tset address_dst(rd)",16,15,
4306 0x08,
4307 #endif
4308 "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
4309 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
4312 /* 1000 1101 dddd 0110 *** tset rd */
4314 #ifdef NICENAMES
4315 "tset rd",16,7,
4316 0x08,
4317 #endif
4318 "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
4319 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,405},
4322 /* 0000 1100 ddN0 0110 *** tsetb @rd */
4324 #ifdef NICENAMES
4325 "tsetb @rd",8,11,
4326 0x08,
4327 #endif
4328 "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
4329 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,406},
4332 /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
4334 #ifdef NICENAMES
4335 "tsetb address_dst",8,14,
4336 0x08,
4337 #endif
4338 "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
4339 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,407},
4342 /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
4344 #ifdef NICENAMES
4345 "tsetb address_dst(rd)",8,15,
4346 0x08,
4347 #endif
4348 "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
4349 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,408},
4352 /* 1000 1100 dddd 0110 *** tsetb rbd */
4354 #ifdef NICENAMES
4355 "tsetb rbd",8,7,
4356 0x08,
4357 #endif
4358 "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
4359 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,409},
4362 /* 0000 1001 ssN0 dddd *** xor rd,@rs */
4364 #ifdef NICENAMES
4365 "xor rd,@rs",16,7,
4366 0x18,
4367 #endif
4368 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
4369 {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,410},
4372 /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
4374 #ifdef NICENAMES
4375 "xor rd,address_src",16,9,
4376 0x18,
4377 #endif
4378 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
4379 {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,411},
4382 /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
4384 #ifdef NICENAMES
4385 "xor rd,address_src(rs)",16,10,
4386 0x18,
4387 #endif
4388 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
4389 {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,412},
4392 /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
4394 #ifdef NICENAMES
4395 "xor rd,imm16",16,7,
4396 0x18,
4397 #endif
4398 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
4399 {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,413},
4402 /* 1000 1001 ssss dddd *** xor rd,rs */
4404 #ifdef NICENAMES
4405 "xor rd,rs",16,4,
4406 0x18,
4407 #endif
4408 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
4409 {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,414},
4412 /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
4414 #ifdef NICENAMES
4415 "xorb rbd,@rs",8,7,
4416 0x1c,
4417 #endif
4418 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
4419 {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,415},
4422 /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
4424 #ifdef NICENAMES
4425 "xorb rbd,address_src",8,9,
4426 0x1c,
4427 #endif
4428 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
4429 {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,416},
4432 /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
4434 #ifdef NICENAMES
4435 "xorb rbd,address_src(rs)",8,10,
4436 0x1c,
4437 #endif
4438 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
4439 {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,417},
4442 /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
4444 #ifdef NICENAMES
4445 "xorb rbd,imm8",8,7,
4446 0x1c,
4447 #endif
4448 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
4449 {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,418},
4452 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
4454 #ifdef NICENAMES
4455 "xorb rbd,rbs",8,4,
4456 0x1c,
4457 #endif
4458 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
4459 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,419},
4462 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
4464 #ifdef NICENAMES
4465 "xorb rbd,rbs",8,4,
4466 0x01,
4467 #endif
4468 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
4469 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,420},
4471 /* end marker */
4473 #ifdef NICENAMES
4474 NULL,0,0,
4476 #endif
4477 NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
4479 #endif