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