]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - opcodes/z8k-opc.h
Set the last bit of DT_INIT and DT_FINI depending on the type of the function.
[thirdparty/binutils-gdb.git] / opcodes / z8k-opc.h
CommitLineData
252b5132
RH
1 /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */
2#define ARG_MASK 0x0f
3#define ARG_SRC 0x01
4#define ARG_DST 0x02
5#define ARG_RS 0x01
6#define ARG_RD 0x02
7#define ARG_RA 0x03
8#define ARG_RB 0x04
9#define ARG_RR 0x05
10#define ARG_RX 0x06
11#define ARG_IMM4 0x01
12#define ARG_IMM8 0x02
13#define ARG_IMM16 0x03
14#define ARG_IMM32 0x04
15#define ARG_IMMN 0x05
16#define ARG_IMMNMINUS1 0x05
17#define ARG_IMM_1 0x06
18#define ARG_IMM_2 0x07
19#define ARG_DISP16 0x08
20#define ARG_NIM8 0x09
21#define ARG_IMM2 0x0a
22#define ARG_IMM1OR2 0x0b
23#define ARG_DISP12 0x0b
3c25c5f6 24#define ARG_NIM4 0x0c
252b5132
RH
25#define ARG_DISP8 0x0c
26#define ARG_IMM4M1 0x0d
27#define CLASS_MASK 0x1fff0
28#define CLASS_X 0x10
29#define CLASS_BA 0x20
30#define CLASS_DA 0x30
31#define CLASS_BX 0x40
32#define CLASS_DISP 0x50
33#define CLASS_IMM 0x60
34#define CLASS_CC 0x70
35#define CLASS_CTRL 0x80
3c25c5f6 36#define CLASS_IGNORE 0x90
252b5132
RH
37#define CLASS_ADDRESS 0xd0
38#define CLASS_0CCC 0xe0
39#define CLASS_1CCC 0xf0
40#define CLASS_0DISP7 0x100
41#define CLASS_1DISP7 0x200
42#define CLASS_01II 0x300
43#define CLASS_00II 0x400
44#define CLASS_BIT 0x500
45#define CLASS_FLAGS 0x600
46#define CLASS_IR 0x700
47#define CLASS_DISP8 0x800
48#define CLASS_BIT_1OR2 0x900
49#define CLASS_REG 0x7000
50#define CLASS_REG_BYTE 0x2000
51#define CLASS_REG_WORD 0x3000
52#define CLASS_REG_QUAD 0x4000
53#define CLASS_REG_LONG 0x5000
54#define CLASS_REGN0 0x8000
55#define CLASS_PR 0x10000
56#define OPC_adc 0
57#define OPC_adcb 1
58#define OPC_add 2
59#define OPC_addb 3
60#define OPC_addl 4
61#define OPC_and 5
62#define OPC_andb 6
63#define OPC_bit 7
64#define OPC_bitb 8
65#define OPC_call 9
66#define OPC_calr 10
67#define OPC_clr 11
68#define OPC_clrb 12
69#define OPC_com 13
70#define OPC_comb 14
71#define OPC_comflg 15
72#define OPC_cp 16
73#define OPC_cpb 17
74#define OPC_cpd 18
75#define OPC_cpdb 19
76#define OPC_cpdr 20
77#define OPC_cpdrb 21
78#define OPC_cpi 22
79#define OPC_cpib 23
80#define OPC_cpir 24
81#define OPC_cpirb 25
82#define OPC_cpl 26
83#define OPC_cpsd 27
84#define OPC_cpsdb 28
85#define OPC_cpsdr 29
86#define OPC_cpsdrb 30
87#define OPC_cpsi 31
88#define OPC_cpsib 32
89#define OPC_cpsir 33
90#define OPC_cpsirb 34
91#define OPC_dab 35
92#define OPC_dbjnz 36
93#define OPC_dec 37
94#define OPC_decb 38
95#define OPC_di 39
96#define OPC_div 40
97#define OPC_divl 41
98#define OPC_djnz 42
99#define OPC_ei 43
100#define OPC_ex 44
101#define OPC_exb 45
102#define OPC_exts 46
103#define OPC_extsb 47
104#define OPC_extsl 48
105#define OPC_halt 49
106#define OPC_in 50
107#define OPC_inb 51
108#define OPC_inc 52
109#define OPC_incb 53
110#define OPC_ind 54
111#define OPC_indb 55
112#define OPC_inib 56
113#define OPC_inibr 57
114#define OPC_iret 58
115#define OPC_jp 59
116#define OPC_jr 60
117#define OPC_ld 61
118#define OPC_lda 62
119#define OPC_ldar 63
120#define OPC_ldb 64
121#define OPC_ldctl 65
122#define OPC_ldir 66
123#define OPC_ldirb 67
124#define OPC_ldk 68
125#define OPC_ldl 69
126#define OPC_ldm 70
127#define OPC_ldps 71
128#define OPC_ldr 72
129#define OPC_ldrb 73
130#define OPC_ldrl 74
131#define OPC_mbit 75
132#define OPC_mreq 76
133#define OPC_mres 77
134#define OPC_mset 78
135#define OPC_mult 79
136#define OPC_multl 80
137#define OPC_neg 81
138#define OPC_negb 82
139#define OPC_nop 83
140#define OPC_or 84
141#define OPC_orb 85
142#define OPC_out 86
143#define OPC_outb 87
144#define OPC_outd 88
145#define OPC_outdb 89
146#define OPC_outib 90
147#define OPC_outibr 91
148#define OPC_pop 92
149#define OPC_popl 93
150#define OPC_push 94
151#define OPC_pushl 95
152#define OPC_res 96
153#define OPC_resb 97
154#define OPC_resflg 98
155#define OPC_ret 99
156#define OPC_rl 100
157#define OPC_rlb 101
158#define OPC_rlc 102
159#define OPC_rlcb 103
160#define OPC_rldb 104
161#define OPC_rr 105
162#define OPC_rrb 106
163#define OPC_rrc 107
164#define OPC_rrcb 108
165#define OPC_rrdb 109
166#define OPC_sbc 110
167#define OPC_sbcb 111
168#define OPC_sda 112
169#define OPC_sdab 113
170#define OPC_sdal 114
171#define OPC_sdl 115
172#define OPC_sdlb 116
173#define OPC_sdll 117
174#define OPC_set 118
175#define OPC_setb 119
176#define OPC_setflg 120
177#define OPC_sinb 121
178#define OPC_sind 122
179#define OPC_sindb 123
180#define OPC_sinib 124
181#define OPC_sinibr 125
182#define OPC_sla 126
183#define OPC_slab 127
184#define OPC_slal 128
185#define OPC_sll 129
186#define OPC_sllb 130
187#define OPC_slll 131
188#define OPC_sout 132
189#define OPC_soutb 133
190#define OPC_soutd 134
191#define OPC_soutdb 135
192#define OPC_soutib 136
193#define OPC_soutibr 137
194#define OPC_sra 138
195#define OPC_srab 139
196#define OPC_sral 140
197#define OPC_srl 141
198#define OPC_srlb 142
199#define OPC_srll 143
200#define OPC_sub 144
201#define OPC_subb 145
202#define OPC_subl 146
203#define OPC_tcc 147
204#define OPC_tccb 148
205#define OPC_test 149
206#define OPC_testb 150
207#define OPC_testl 151
208#define OPC_trdb 152
209#define OPC_trdrb 153
210#define OPC_trib 154
211#define OPC_trirb 155
212#define OPC_trtdrb 156
213#define OPC_trtib 157
214#define OPC_trtirb 158
6840198f 215#define OPC_trtrb 159
252b5132
RH
216#define OPC_tset 160
217#define OPC_tsetb 161
218#define OPC_xor 162
219#define OPC_xorb 163
220#define OPC_ldd 164
221#define OPC_lddb 165
222#define OPC_lddr 166
223#define OPC_lddrb 167
224#define OPC_ldi 168
225#define OPC_ldib 169
226#define OPC_sc 170
227#define OPC_bpt 171
228#define OPC_ext0e 172
229#define OPC_ext0f 172
230#define OPC_ext8e 172
231#define OPC_ext8f 172
232#define OPC_rsvd36 172
233#define OPC_rsvd38 172
234#define OPC_rsvd78 172
235#define OPC_rsvd7e 172
236#define OPC_rsvd9d 172
237#define OPC_rsvd9f 172
238#define OPC_rsvdb9 172
239#define OPC_rsvdbf 172
240#define OPC_outi 173
6840198f
NC
241#define OPC_ldctlb 174
242#define OPC_sin 175
243#define OPC_trtdb 176
252b5132
RH
244typedef struct {
245#ifdef NICENAMES
246char *nicename;
247int type;
248int cycles;
249int flags;
250#endif
251char *name;
252unsigned char opcode;
fc05c67f 253void (*func) PARAMS ((void));
252b5132
RH
254unsigned int arg_info[4];
255unsigned int byte_info[10];
256int noperands;
257int length;
258int idx;
259} opcode_entry_type;
260#ifdef DEFINE_TABLE
261opcode_entry_type z8k_table[] = {
262
263
264/* 1011 0101 ssss dddd *** adc rd,rs */
265{
266#ifdef NICENAMES
267"adc rd,rs",16,5,
2680x3c,
269#endif
270"adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
271 {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
272
273
274/* 1011 0100 ssss dddd *** adcb rbd,rbs */
275{
276#ifdef NICENAMES
277"adcb rbd,rbs",8,5,
2780x3f,
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
284/* 0000 0001 ssN0 dddd *** add rd,@rs */
285{
286#ifdef NICENAMES
287"add rd,@rs",16,7,
2880x3c,
289#endif
290"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
291 {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
292
293
294/* 0100 0001 0000 dddd address_src *** add rd,address_src */
295{
296#ifdef NICENAMES
297"add rd,address_src",16,9,
2980x3c,
299#endif
300"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
301 {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
302
303
304/* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
305{
306#ifdef NICENAMES
307"add rd,address_src(rs)",16,10,
3080x3c,
309#endif
310"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
311 {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
312
313
314/* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
315{
316#ifdef NICENAMES
317"add rd,imm16",16,7,
3180x3c,
319#endif
320"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
321 {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
322
323
324/* 1000 0001 ssss dddd *** add rd,rs */
325{
326#ifdef NICENAMES
327"add rd,rs",16,4,
3280x3c,
329#endif
330"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
331 {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
332
333
334/* 0000 0000 ssN0 dddd *** addb rbd,@rs */
335{
336#ifdef NICENAMES
337"addb rbd,@rs",8,7,
3380x3f,
339#endif
340"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
341 {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
342
343
344/* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
345{
346#ifdef NICENAMES
347"addb rbd,address_src",8,9,
3480x3f,
349#endif
350"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
351 {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
352
353
354/* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
355{
356#ifdef NICENAMES
357"addb rbd,address_src(rs)",8,10,
3580x3f,
359#endif
360"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
361 {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
362
363
364/* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
365{
366#ifdef NICENAMES
367"addb rbd,imm8",8,7,
3680x3f,
369#endif
370"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
371 {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},
372
373
374/* 1000 0000 ssss dddd *** addb rbd,rbs */
375{
376#ifdef NICENAMES
377"addb rbd,rbs",8,4,
3780x3f,
379#endif
380"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
381 {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
382
383
384/* 0001 0110 ssN0 dddd *** addl rrd,@rs */
385{
386#ifdef NICENAMES
387"addl rrd,@rs",32,14,
3880x3c,
389#endif
390"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
391 {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
392
393
394/* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
395{
396#ifdef NICENAMES
397"addl rrd,address_src",32,15,
3980x3c,
399#endif
400"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
401 {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
402
403
404/* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
405{
406#ifdef NICENAMES
407"addl rrd,address_src(rs)",32,16,
4080x3c,
409#endif
410"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
411 {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
412
413
414/* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
415{
416#ifdef NICENAMES
417"addl rrd,imm32",32,14,
4180x3c,
419#endif
420"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
421 {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
422
423
424/* 1001 0110 ssss dddd *** addl rrd,rrs */
425{
426#ifdef NICENAMES
427"addl rrd,rrs",32,8,
4280x3c,
429#endif
430"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
431 {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
432
433
434/* 0000 0111 ssN0 dddd *** and rd,@rs */
435{
436#ifdef NICENAMES
437"and rd,@rs",16,7,
4380x18,
439#endif
440"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
441 {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
442
443
444/* 0100 0111 0000 dddd address_src *** and rd,address_src */
445{
446#ifdef NICENAMES
447"and rd,address_src",16,9,
4480x18,
449#endif
450"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
451 {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
452
453
454/* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
455{
456#ifdef NICENAMES
457"and rd,address_src(rs)",16,10,
4580x18,
459#endif
460"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
461 {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
462
463
464/* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
465{
466#ifdef NICENAMES
467"and rd,imm16",16,7,
4680x18,
469#endif
470"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
471 {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
472
473
474/* 1000 0111 ssss dddd *** and rd,rs */
475{
476#ifdef NICENAMES
477"and rd,rs",16,4,
4780x18,
479#endif
480"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
481 {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
482
483
484/* 0000 0110 ssN0 dddd *** andb rbd,@rs */
485{
486#ifdef NICENAMES
487"andb rbd,@rs",8,7,
4880x1c,
489#endif
490"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
491 {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
492
493
494/* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
495{
496#ifdef NICENAMES
497"andb rbd,address_src",8,9,
4980x1c,
499#endif
500"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
501 {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
502
503
504/* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
505{
506#ifdef NICENAMES
507"andb rbd,address_src(rs)",8,10,
5080x1c,
509#endif
510"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
511 {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
512
513
514/* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
515{
516#ifdef NICENAMES
517"andb rbd,imm8",8,7,
5180x1c,
519#endif
520"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
521 {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},
522
523
524/* 1000 0110 ssss dddd *** andb rbd,rbs */
525{
526#ifdef NICENAMES
527"andb rbd,rbs",8,4,
5280x1c,
529#endif
530"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
531 {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
532
533
534/* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
535{
536#ifdef NICENAMES
537"bit @rd,imm4",16,8,
5380x10,
539#endif
540"bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
541 {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
542
543
544/* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
545{
546#ifdef NICENAMES
547"bit address_dst(rd),imm4",16,11,
5480x10,
549#endif
550"bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
551 {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
552
553
554/* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
555{
556#ifdef NICENAMES
557"bit address_dst,imm4",16,10,
5580x10,
559#endif
560"bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
561 {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
562
563
564/* 1010 0111 dddd imm4 *** bit rd,imm4 */
565{
566#ifdef NICENAMES
567"bit rd,imm4",16,4,
5680x10,
569#endif
570"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
571 {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
572
573
574/* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
575{
576#ifdef NICENAMES
577"bit rd,rs",16,10,
5780x10,
579#endif
580"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
581 {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},
582
583
584/* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
585{
586#ifdef NICENAMES
587"bitb @rd,imm4",8,8,
5880x10,
589#endif
590"bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
591 {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
592
593
594/* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
595{
596#ifdef NICENAMES
597"bitb address_dst(rd),imm4",8,11,
5980x10,
599#endif
600"bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
601 {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
602
603
604/* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
605{
606#ifdef NICENAMES
607"bitb address_dst,imm4",8,10,
6080x10,
609#endif
610"bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
611 {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
612
613
614/* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
615{
616#ifdef NICENAMES
617"bitb rbd,imm4",8,4,
6180x10,
619#endif
620"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
621 {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
622
623
624/* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
625{
626#ifdef NICENAMES
627"bitb rbd,rs",8,10,
6280x10,
629#endif
630"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
631 {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},
632
633
634/* 0011 0110 0000 0000 *** bpt */
635{
636#ifdef NICENAMES
637"bpt",8,2,
6380x00,
639#endif
640"bpt",OPC_bpt,0,{0},
641 {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
642
643
644/* 0001 1111 ddN0 0000 *** call @rd */
645{
646#ifdef NICENAMES
647"call @rd",32,10,
6480x00,
649#endif
650"call",OPC_call,0,{CLASS_IR+(ARG_RD),},
651 {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
652
653
654/* 0101 1111 0000 0000 address_dst *** call address_dst */
655{
656#ifdef NICENAMES
657"call address_dst",32,12,
6580x00,
659#endif
660"call",OPC_call,0,{CLASS_DA+(ARG_DST),},
661 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
662
663
664/* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
665{
666#ifdef NICENAMES
667"call address_dst(rd)",32,13,
6680x00,
669#endif
670"call",OPC_call,0,{CLASS_X+(ARG_RD),},
671 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
672
673
674/* 1101 disp12 *** calr disp12 */
675{
676#ifdef NICENAMES
677"calr disp12",16,10,
6780x00,
679#endif
680"calr",OPC_calr,0,{CLASS_DISP,},
681 {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
682
683
684/* 0000 1101 ddN0 1000 *** clr @rd */
685{
686#ifdef NICENAMES
687"clr @rd",16,8,
6880x00,
689#endif
690"clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
691 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
692
693
694/* 0100 1101 0000 1000 address_dst *** clr address_dst */
695{
696#ifdef NICENAMES
697"clr address_dst",16,11,
6980x00,
699#endif
700"clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
701 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
702
703
704/* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
705{
706#ifdef NICENAMES
707"clr address_dst(rd)",16,12,
7080x00,
709#endif
710"clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
711 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
712
713
714/* 1000 1101 dddd 1000 *** clr rd */
715{
716#ifdef NICENAMES
717"clr rd",16,7,
7180x00,
719#endif
720"clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
721 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
722
723
724/* 0000 1100 ddN0 1000 *** clrb @rd */
725{
726#ifdef NICENAMES
727"clrb @rd",8,8,
7280x00,
729#endif
730"clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
731 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
732
733
734/* 0100 1100 0000 1000 address_dst *** clrb address_dst */
735{
736#ifdef NICENAMES
737"clrb address_dst",8,11,
7380x00,
739#endif
740"clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
741 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
742
743
744/* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
745{
746#ifdef NICENAMES
747"clrb address_dst(rd)",8,12,
7480x00,
749#endif
750"clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
751 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
752
753
754/* 1000 1100 dddd 1000 *** clrb rbd */
755{
756#ifdef NICENAMES
757"clrb rbd",8,7,
7580x00,
759#endif
760"clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
761 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
762
763
764/* 0000 1101 ddN0 0000 *** com @rd */
765{
766#ifdef NICENAMES
767"com @rd",16,12,
7680x18,
769#endif
770"com",OPC_com,0,{CLASS_IR+(ARG_RD),},
771 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
772
773
774/* 0100 1101 0000 0000 address_dst *** com address_dst */
775{
776#ifdef NICENAMES
777"com address_dst",16,15,
7780x18,
779#endif
780"com",OPC_com,0,{CLASS_DA+(ARG_DST),},
781 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
782
783
784/* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
785{
786#ifdef NICENAMES
787"com address_dst(rd)",16,16,
7880x18,
789#endif
790"com",OPC_com,0,{CLASS_X+(ARG_RD),},
791 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
792
793
794/* 1000 1101 dddd 0000 *** com rd */
795{
796#ifdef NICENAMES
797"com rd",16,7,
7980x18,
799#endif
800"com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
801 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
802
803
804/* 0000 1100 ddN0 0000 *** comb @rd */
805{
806#ifdef NICENAMES
807"comb @rd",8,12,
8080x1c,
809#endif
810"comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
811 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
812
813
814/* 0100 1100 0000 0000 address_dst *** comb address_dst */
815{
816#ifdef NICENAMES
817"comb address_dst",8,15,
8180x1c,
819#endif
820"comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
821 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
822
823
824/* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
825{
826#ifdef NICENAMES
827"comb address_dst(rd)",8,16,
8280x1c,
829#endif
830"comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
831 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
832
833
834/* 1000 1100 dddd 0000 *** comb rbd */
835{
836#ifdef NICENAMES
837"comb rbd",8,7,
8380x1c,
839#endif
840"comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
841 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
842
843
844/* 1000 1101 flags 0101 *** comflg flags */
845{
846#ifdef NICENAMES
847"comflg flags",16,7,
8480x3c,
849#endif
850"comflg",OPC_comflg,0,{CLASS_FLAGS,},
851 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,58},
852
853
854/* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
855{
856#ifdef NICENAMES
857"cp @rd,imm16",16,11,
8580x3c,
859#endif
860"cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
861 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
862
863
864/* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
865{
866#ifdef NICENAMES
867"cp address_dst(rd),imm16",16,15,
8680x3c,
869#endif
870"cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
871 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,60},
872
873
874/* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
875{
876#ifdef NICENAMES
877"cp address_dst,imm16",16,14,
8780x3c,
879#endif
880"cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
881 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,61},
882
883
884/* 0000 1011 ssN0 dddd *** cp rd,@rs */
885{
886#ifdef NICENAMES
887"cp rd,@rs",16,7,
8880x3c,
889#endif
890"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
891 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
892
893
894/* 0100 1011 0000 dddd address_src *** cp rd,address_src */
895{
896#ifdef NICENAMES
897"cp rd,address_src",16,9,
8980x3c,
899#endif
900"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
901 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
902
903
904/* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
905{
906#ifdef NICENAMES
907"cp rd,address_src(rs)",16,10,
9080x3c,
909#endif
910"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
911 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
912
913
914/* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
915{
916#ifdef NICENAMES
917"cp rd,imm16",16,7,
9180x3c,
919#endif
920"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
921 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
922
923
924/* 1000 1011 ssss dddd *** cp rd,rs */
925{
926#ifdef NICENAMES
927"cp rd,rs",16,4,
9280x3c,
929#endif
930"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
931 {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
932
933
934/* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
935{
936#ifdef NICENAMES
937"cpb @rd,imm8",8,11,
9380x3c,
939#endif
940"cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
941 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,67},
942
943
944/* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
945{
946#ifdef NICENAMES
947"cpb address_dst(rd),imm8",8,15,
9480x3c,
949#endif
950"cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
951 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,68},
952
953
954/* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
955{
956#ifdef NICENAMES
957"cpb address_dst,imm8",8,14,
9580x3c,
959#endif
960"cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
961 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,69},
962
963
964/* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
965{
966#ifdef NICENAMES
967"cpb rbd,@rs",8,7,
9680x3c,
969#endif
970"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
971 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
972
973
974/* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
975{
976#ifdef NICENAMES
977"cpb rbd,address_src",8,9,
9780x3c,
979#endif
980"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
981 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
982
983
984/* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
985{
986#ifdef NICENAMES
987"cpb rbd,address_src(rs)",8,10,
9880x3c,
989#endif
990"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
991 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
992
993
994/* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
995{
996#ifdef NICENAMES
997"cpb rbd,imm8",8,7,
9980x3c,
999#endif
1000"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
1001 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,73},
1002
1003
1004/* 1000 1010 ssss dddd *** cpb rbd,rbs */
1005{
1006#ifdef NICENAMES
1007"cpb rbd,rbs",8,4,
10080x3c,
1009#endif
1010"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1011 {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1012
1013
1014/* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
1015{
1016#ifdef NICENAMES
1017"cpd rd,@rs,rr,cc",16,11,
10180x3c,
1019#endif
1020"cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1021 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,75},
1022
1023
1024/* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
1025{
1026#ifdef NICENAMES
1027"cpdb rbd,@rs,rr,cc",8,11,
10280x3c,
1029#endif
1030"cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1031 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
1032
1033
1034/* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
1035{
1036#ifdef NICENAMES
1037"cpdr rd,@rs,rr,cc",16,11,
10380x3c,
1039#endif
1040"cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1041 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,77},
1042
1043
1044/* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
1045{
1046#ifdef NICENAMES
1047"cpdrb rbd,@rs,rr,cc",8,11,
10480x3c,
1049#endif
1050"cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1051 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,78},
1052
1053
1054/* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
1055{
1056#ifdef NICENAMES
1057"cpi rd,@rs,rr,cc",16,11,
10580x3c,
1059#endif
1060"cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1061 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,79},
1062
1063
1064/* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
1065{
1066#ifdef NICENAMES
1067"cpib rbd,@rs,rr,cc",8,11,
10680x3c,
1069#endif
1070"cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1071 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,80},
1072
1073
1074/* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
1075{
1076#ifdef NICENAMES
1077"cpir rd,@rs,rr,cc",16,11,
10780x3c,
1079#endif
1080"cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1081 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,81},
1082
1083
1084/* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
1085{
1086#ifdef NICENAMES
1087"cpirb rbd,@rs,rr,cc",8,11,
10880x3c,
1089#endif
1090"cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1091 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,82},
1092
1093
1094/* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
1095{
1096#ifdef NICENAMES
1097"cpl rrd,@rs",32,14,
10980x3c,
1099#endif
1100"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1101 {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
1102
1103
1104/* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
1105{
1106#ifdef NICENAMES
1107"cpl rrd,address_src",32,15,
11080x3c,
1109#endif
1110"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1111 {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
1112
1113
1114/* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
1115{
1116#ifdef NICENAMES
1117"cpl rrd,address_src(rs)",32,16,
11180x3c,
1119#endif
1120"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1121 {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
1122
1123
1124/* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1125{
1126#ifdef NICENAMES
1127"cpl rrd,imm32",32,14,
11280x3c,
1129#endif
1130"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1131 {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
1132
1133
1134/* 1001 0000 ssss dddd *** cpl rrd,rrs */
1135{
1136#ifdef NICENAMES
1137"cpl rrd,rrs",32,8,
11380x3c,
1139#endif
1140"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1141 {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
1142
1143
1144/* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1145{
1146#ifdef NICENAMES
1147"cpsd @rd,@rs,rr,cc",16,11,
11480x3c,
1149#endif
1150"cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1151 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,88},
1152
1153
1154/* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1155{
1156#ifdef NICENAMES
1157"cpsdb @rd,@rs,rr,cc",8,11,
11580x3c,
1159#endif
1160"cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1161 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,89},
1162
1163
1164/* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1165{
1166#ifdef NICENAMES
1167"cpsdr @rd,@rs,rr,cc",16,11,
11680x3c,
1169#endif
1170"cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1171 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,90},
1172
1173
1174/* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1175{
1176#ifdef NICENAMES
1177"cpsdrb @rd,@rs,rr,cc",8,11,
11780x3c,
1179#endif
1180"cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1181 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,91},
1182
1183
1184/* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1185{
1186#ifdef NICENAMES
1187"cpsi @rd,@rs,rr,cc",16,11,
11880x3c,
1189#endif
1190"cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1191 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,92},
1192
1193
1194/* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1195{
1196#ifdef NICENAMES
1197"cpsib @rd,@rs,rr,cc",8,11,
11980x3c,
1199#endif
1200"cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1201 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,93},
1202
1203
1204/* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1205{
1206#ifdef NICENAMES
1207"cpsir @rd,@rs,rr,cc",16,11,
12080x3c,
1209#endif
1210"cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1211 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,94},
1212
1213
1214/* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1215{
1216#ifdef NICENAMES
1217"cpsirb @rd,@rs,rr,cc",8,11,
12180x3c,
1219#endif
1220"cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1221 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,95},
1222
1223
1224/* 1011 0000 dddd 0000 *** dab rbd */
1225{
1226#ifdef NICENAMES
1227"dab rbd",8,5,
12280x38,
1229#endif
1230"dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1231 {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
1232
1233
1234/* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1235{
1236#ifdef NICENAMES
1237"dbjnz rbd,disp7",16,11,
12380x00,
1239#endif
1240"dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1241 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,97},
1242
1243
1244/* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1245{
1246#ifdef NICENAMES
1247"dec @rd,imm4m1",16,11,
12480x1c,
1249#endif
1250"dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1251 {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
1252
1253
1254/* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1255{
1256#ifdef NICENAMES
1257"dec address_dst(rd),imm4m1",16,14,
12580x1c,
1259#endif
1260"dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1261 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
1262
1263
1264/* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1265{
1266#ifdef NICENAMES
1267"dec address_dst,imm4m1",16,13,
12680x1c,
1269#endif
1270"dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1271 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
1272
1273
1274/* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1275{
1276#ifdef NICENAMES
1277"dec rd,imm4m1",16,4,
12780x1c,
1279#endif
1280"dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1281 {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
1282
1283
1284/* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1285{
1286#ifdef NICENAMES
1287"decb @rd,imm4m1",8,11,
12880x1c,
1289#endif
1290"decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1291 {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
1292
1293
1294/* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1295{
1296#ifdef NICENAMES
1297"decb address_dst(rd),imm4m1",8,14,
12980x1c,
1299#endif
1300"decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1301 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
1302
1303
1304/* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1305{
1306#ifdef NICENAMES
1307"decb address_dst,imm4m1",8,13,
13080x1c,
1309#endif
1310"decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1311 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
1312
1313
1314/* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1315{
1316#ifdef NICENAMES
1317"decb rbd,imm4m1",8,4,
13180x1c,
1319#endif
1320"decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1321 {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
1322
1323
1324/* 0111 1100 0000 00ii *** di i2 */
1325{
1326#ifdef NICENAMES
1327"di i2",16,7,
13280x00,
1329#endif
1330"di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1331 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
1332
1333
1334/* 0001 1011 ssN0 dddd *** div rrd,@rs */
1335{
1336#ifdef NICENAMES
1337"div rrd,@rs",16,107,
13380x3c,
1339#endif
1340"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1341 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
1342
1343
1344/* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1345{
1346#ifdef NICENAMES
1347"div rrd,address_src",16,107,
13480x3c,
1349#endif
1350"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1351 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
1352
1353
1354/* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1355{
1356#ifdef NICENAMES
1357"div rrd,address_src(rs)",16,107,
13580x3c,
1359#endif
1360"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1361 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
1362
1363
1364/* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1365{
1366#ifdef NICENAMES
1367"div rrd,imm16",16,107,
13680x3c,
1369#endif
1370"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1371 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
1372
1373
1374/* 1001 1011 ssss dddd *** div rrd,rs */
1375{
1376#ifdef NICENAMES
1377"div rrd,rs",16,107,
13780x3c,
1379#endif
1380"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1381 {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
1382
1383
1384/* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1385{
1386#ifdef NICENAMES
1387"divl rqd,@rs",32,744,
13880x3c,
1389#endif
1390"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1391 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
1392
1393
1394/* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1395{
1396#ifdef NICENAMES
1397"divl rqd,address_src",32,745,
13980x3c,
1399#endif
1400"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1401 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
1402
1403
1404/* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1405{
1406#ifdef NICENAMES
1407"divl rqd,address_src(rs)",32,746,
14080x3c,
1409#endif
1410"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1411 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
1412
1413
1414/* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1415{
1416#ifdef NICENAMES
1417"divl rqd,imm32",32,744,
14180x3c,
1419#endif
1420"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1421 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
1422
1423
1424/* 1001 1010 ssss dddd *** divl rqd,rrs */
1425{
1426#ifdef NICENAMES
1427"divl rqd,rrs",32,744,
14280x3c,
1429#endif
1430"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1431 {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
1432
1433
1434/* 1111 dddd 1disp7 *** djnz rd,disp7 */
1435{
1436#ifdef NICENAMES
1437"djnz rd,disp7",16,11,
14380x00,
1439#endif
1440"djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1441 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,117},
1442
1443
1444/* 0111 1100 0000 01ii *** ei i2 */
1445{
1446#ifdef NICENAMES
1447"ei i2",16,7,
14480x00,
1449#endif
1450"ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1451 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
1452
1453
1454/* 0010 1101 ssN0 dddd *** ex rd,@rs */
1455{
1456#ifdef NICENAMES
1457"ex rd,@rs",16,12,
14580x00,
1459#endif
1460"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1461 {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
1462
1463
1464/* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1465{
1466#ifdef NICENAMES
1467"ex rd,address_src",16,15,
14680x00,
1469#endif
1470"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1471 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
1472
1473
1474/* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1475{
1476#ifdef NICENAMES
1477"ex rd,address_src(rs)",16,16,
14780x00,
1479#endif
1480"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1481 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
1482
1483
1484/* 1010 1101 ssss dddd *** ex rd,rs */
1485{
1486#ifdef NICENAMES
1487"ex rd,rs",16,6,
14880x00,
1489#endif
1490"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1491 {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
1492
1493
1494/* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1495{
1496#ifdef NICENAMES
1497"exb rbd,@rs",8,12,
14980x00,
1499#endif
1500"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1501 {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
1502
1503
1504/* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1505{
1506#ifdef NICENAMES
1507"exb rbd,address_src",8,15,
15080x00,
1509#endif
1510"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1511 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
1512
1513
1514/* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1515{
1516#ifdef NICENAMES
1517"exb rbd,address_src(rs)",8,16,
15180x00,
1519#endif
1520"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1521 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
1522
1523
1524/* 1010 1100 ssss dddd *** exb rbd,rbs */
1525{
1526#ifdef NICENAMES
1527"exb rbd,rbs",8,6,
15280x00,
1529#endif
1530"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1531 {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
1532
1533
1534/* 0000 1110 imm8 *** ext0e imm8 */
1535{
1536#ifdef NICENAMES
1537"ext0e imm8",8,10,
15380x00,
1539#endif
1540"ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1541 {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
1542
1543
1544/* 0000 1111 imm8 *** ext0f imm8 */
1545{
1546#ifdef NICENAMES
1547"ext0f imm8",8,10,
15480x00,
1549#endif
1550"ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1551 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
1552
1553
1554/* 1000 1110 imm8 *** ext8e imm8 */
1555{
1556#ifdef NICENAMES
1557"ext8e imm8",8,10,
15580x00,
1559#endif
1560"ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1561 {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
1562
1563
1564/* 1000 1111 imm8 *** ext8f imm8 */
1565{
1566#ifdef NICENAMES
1567"ext8f imm8",8,10,
15680x00,
1569#endif
1570"ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1571 {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
1572
1573
1574/* 1011 0001 dddd 1010 *** exts rrd */
1575{
1576#ifdef NICENAMES
1577"exts rrd",16,11,
15780x00,
1579#endif
1580"exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1581 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
1582
1583
1584/* 1011 0001 dddd 0000 *** extsb rd */
1585{
1586#ifdef NICENAMES
1587"extsb rd",8,11,
15880x00,
1589#endif
1590"extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1591 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
1592
1593
1594/* 1011 0001 dddd 0111 *** extsl rqd */
1595{
1596#ifdef NICENAMES
1597"extsl rqd",32,11,
15980x00,
1599#endif
1600"extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1601 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
1602
1603
1604/* 0111 1010 0000 0000 *** halt */
1605{
1606#ifdef NICENAMES
1607"halt",16,8,
16080x00,
1609#endif
1610"halt",OPC_halt,0,{0},
1611 {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
1612
1613
1614/* 0011 1101 ssN0 dddd *** in rd,@rs */
1615{
1616#ifdef NICENAMES
1617"in rd,@rs",16,10,
16180x00,
1619#endif
1620"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1621 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
1622
1623
1624/* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
1625{
1626#ifdef NICENAMES
1627"in rd,imm16",16,12,
16280x00,
1629#endif
1630"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1631 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
1632
1633
1634/* 0011 1100 ssN0 dddd *** inb rbd,@rs */
1635{
1636#ifdef NICENAMES
1637"inb rbd,@rs",8,12,
16380x00,
1639#endif
1640"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1641 {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
1642
1643
1644/* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1645{
1646#ifdef NICENAMES
1647"inb rbd,imm16",8,10,
16480x00,
1649#endif
1650"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1651 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
1652
1653
1654/* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1655{
1656#ifdef NICENAMES
1657"inc @rd,imm4m1",16,11,
16580x1c,
1659#endif
1660"inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1661 {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
1662
1663
1664/* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1665{
1666#ifdef NICENAMES
1667"inc address_dst(rd),imm4m1",16,14,
16680x1c,
1669#endif
1670"inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1671 {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
1672
1673
1674/* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1675{
1676#ifdef NICENAMES
1677"inc address_dst,imm4m1",16,13,
16780x1c,
1679#endif
1680"inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1681 {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
1682
1683
1684/* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1685{
1686#ifdef NICENAMES
1687"inc rd,imm4m1",16,4,
16880x1c,
1689#endif
1690"inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1691 {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
1692
1693
1694/* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1695{
1696#ifdef NICENAMES
1697"incb @rd,imm4m1",8,11,
16980x1c,
1699#endif
1700"incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1701 {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
1702
1703
1704/* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1705{
1706#ifdef NICENAMES
1707"incb address_dst(rd),imm4m1",8,14,
17080x1c,
1709#endif
1710"incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1711 {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
1712
1713
1714/* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1715{
1716#ifdef NICENAMES
1717"incb address_dst,imm4m1",8,13,
17180x1c,
1719#endif
1720"incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1721 {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
1722
1723
1724/* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1725{
1726#ifdef NICENAMES
1727"incb rbd,imm4m1",8,4,
17280x1c,
1729#endif
1730"incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1731 {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
1732
1733
1734/* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
1735{
1736#ifdef NICENAMES
1737"ind @rd,@rs,ra",16,21,
17380x04,
1739#endif
1740"ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1741 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
1742
1743
1744/* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
1745{
1746#ifdef NICENAMES
1747"indb @rd,@rs,rba",8,21,
17480x04,
1749#endif
1750"indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
1751 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
1752
1753
1754/* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
1755{
1756#ifdef NICENAMES
1757"inib @rd,@rs,ra",8,21,
17580x04,
1759#endif
1760"inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1761 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
1762
1763
1764/* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
1765{
1766#ifdef NICENAMES
1767"inibr @rd,@rs,ra",16,21,
17680x04,
1769#endif
1770"inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1771 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
1772
1773
1774/* 0111 1011 0000 0000 *** iret */
1775{
1776#ifdef NICENAMES
1777"iret",16,13,
17780x3f,
1779#endif
1780"iret",OPC_iret,0,{0},
1781 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
1782
1783
1784/* 0001 1110 ddN0 cccc *** jp cc,@rd */
1785{
1786#ifdef NICENAMES
1787"jp cc,@rd",16,10,
17880x00,
1789#endif
1790"jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1791 {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
1792
1793
1794/* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1795{
1796#ifdef NICENAMES
1797"jp cc,address_dst",16,7,
17980x00,
1799#endif
1800"jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1801 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
1802
1803
1804/* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1805{
1806#ifdef NICENAMES
1807"jp cc,address_dst(rd)",16,8,
18080x00,
1809#endif
1810"jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1811 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
1812
1813
1814/* 1110 cccc disp8 *** jr cc,disp8 */
1815{
1816#ifdef NICENAMES
1817"jr cc,disp8",16,6,
18180x00,
1819#endif
1820"jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1821 {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
1822
1823
1824/* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1825{
1826#ifdef NICENAMES
1827"ld @rd,imm16",16,7,
18280x00,
1829#endif
1830"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1831 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
1832
1833
1834/* 0010 1111 ddN0 ssss *** ld @rd,rs */
1835{
1836#ifdef NICENAMES
1837"ld @rd,rs",16,8,
18380x00,
1839#endif
1840"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1841 {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
1842
1843
1844/* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1845{
1846#ifdef NICENAMES
1847"ld address_dst(rd),imm16",16,15,
18480x00,
1849#endif
1850"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1851 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,158},
1852
1853
1854/* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1855{
1856#ifdef NICENAMES
1857"ld address_dst(rd),rs",16,12,
18580x00,
1859#endif
1860"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1861 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
1862
1863
1864/* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1865{
1866#ifdef NICENAMES
1867"ld address_dst,imm16",16,14,
18680x00,
1869#endif
1870"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1871 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,160},
1872
1873
1874/* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1875{
1876#ifdef NICENAMES
1877"ld address_dst,rs",16,11,
18780x00,
1879#endif
1880"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1881 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
1882
1883
1884/* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1885{
1886#ifdef NICENAMES
1887"ld rd(imm16),rs",16,14,
18880x00,
1889#endif
1890"ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1891 {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
1892
1893
1894/* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1895{
1896#ifdef NICENAMES
1897"ld rd(rx),rs",16,14,
18980x00,
1899#endif
1900"ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1901 {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,163},
1902
1903
1904/* 0010 0001 ssN0 dddd *** ld rd,@rs */
1905{
1906#ifdef NICENAMES
1907"ld rd,@rs",16,7,
19080x00,
1909#endif
1910"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1911 {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
1912
1913
1914/* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1915{
1916#ifdef NICENAMES
1917"ld rd,address_src",16,9,
19180x00,
1919#endif
1920"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1921 {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
1922
1923
1924/* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1925{
1926#ifdef NICENAMES
1927"ld rd,address_src(rs)",16,10,
19280x00,
1929#endif
1930"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1931 {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
1932
1933
1934/* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1935{
1936#ifdef NICENAMES
1937"ld rd,imm16",16,7,
19380x00,
1939#endif
1940"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1941 {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
1942
1943
1944/* 1010 0001 ssss dddd *** ld rd,rs */
1945{
1946#ifdef NICENAMES
1947"ld rd,rs",16,3,
19480x00,
1949#endif
1950"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1951 {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
1952
1953
1954/* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1955{
1956#ifdef NICENAMES
1957"ld rd,rs(imm16)",16,14,
19580x00,
1959#endif
1960"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1961 {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
1962
1963
1964/* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1965{
1966#ifdef NICENAMES
1967"ld rd,rs(rx)",16,14,
19680x00,
1969#endif
1970"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1971 {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,170},
1972
1973
1974/* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1975{
1976#ifdef NICENAMES
1977"lda prd,address_src",16,12,
19780x00,
1979#endif
1980"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1981 {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
1982
1983
1984/* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1985{
1986#ifdef NICENAMES
1987"lda prd,address_src(rs)",16,13,
19880x00,
1989#endif
1990"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1991 {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
1992
1993
1994/* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1995{
1996#ifdef NICENAMES
1997"lda prd,rs(imm16)",16,15,
19980x00,
1999#endif
2000"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
2001 {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
2002
2003
2004/* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
2005{
2006#ifdef NICENAMES
2007"lda prd,rs(rx)",16,15,
20080x00,
2009#endif
2010"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
2011 {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,174},
2012
2013
2014/* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
2015{
2016#ifdef NICENAMES
2017"ldar prd,disp16",16,15,
20180x00,
2019#endif
2020"ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
2021 {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
2022
2023
2024/* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
2025{
2026#ifdef NICENAMES
2027"ldb @rd,imm8",8,7,
20280x00,
2029#endif
2030"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2031 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,176},
2032
2033
2034/* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
2035{
2036#ifdef NICENAMES
2037"ldb @rd,rbs",8,8,
20380x00,
2039#endif
2040"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2041 {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
2042
2043
2044/* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
2045{
2046#ifdef NICENAMES
2047"ldb address_dst(rd),imm8",8,15,
20480x00,
2049#endif
2050"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2051 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,178},
2052
2053
2054/* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
2055{
2056#ifdef NICENAMES
2057"ldb address_dst(rd),rbs",8,12,
20580x00,
2059#endif
2060"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2061 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
2062
2063
2064/* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
2065{
2066#ifdef NICENAMES
2067"ldb address_dst,imm8",8,14,
20680x00,
2069#endif
2070"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
2071 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,180},
2072
2073
2074/* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
2075{
2076#ifdef NICENAMES
2077"ldb address_dst,rbs",8,11,
20780x00,
2079#endif
2080"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
2081 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
2082
2083
2084/* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
2085{
2086#ifdef NICENAMES
2087"ldb rbd,@rs",8,7,
20880x00,
2089#endif
2090"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2091 {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
2092
2093
2094/* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
2095{
2096#ifdef NICENAMES
2097"ldb rbd,address_src",8,9,
20980x00,
2099#endif
2100"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2101 {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
2102
2103
2104/* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
2105{
2106#ifdef NICENAMES
2107"ldb rbd,address_src(rs)",8,10,
21080x00,
2109#endif
2110"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2111 {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
2112
2113
2114/* 1100 dddd imm8 *** ldb rbd,imm8 */
2115{
2116#ifdef NICENAMES
2117"ldb rbd,imm8",8,5,
21180x00,
2119#endif
2120"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2121 {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
2122
2123
2124/* 1010 0000 ssss dddd *** ldb rbd,rbs */
2125{
2126#ifdef NICENAMES
2127"ldb rbd,rbs",8,3,
21280x00,
2129#endif
2130"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2131 {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
2132
2133
2134/* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
2135{
2136#ifdef NICENAMES
2137"ldb rbd,rs(imm16)",8,14,
21380x00,
2139#endif
2140"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
2141 {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
2142
2143
2144/* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
2145{
2146#ifdef NICENAMES
2147"ldb rbd,rs(rx)",8,14,
21480x00,
2149#endif
2150"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
2151 {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,188},
2152
2153
2154/* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
2155{
2156#ifdef NICENAMES
2157"ldb rd(imm16),rbs",8,14,
21580x00,
2159#endif
2160"ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2161 {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
2162
2163
2164/* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
2165{
2166#ifdef NICENAMES
2167"ldb rd(rx),rbs",8,14,
21680x00,
2169#endif
2170"ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2171 {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,190},
2172
2173
2174/* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
2175{
2176#ifdef NICENAMES
2177"ldctl ctrl,rs",32,7,
21780x00,
2179#endif
2180"ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
2181 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
2182
2183
2184/* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
2185{
2186#ifdef NICENAMES
2187"ldctl rd,ctrl",32,7,
21880x00,
2189#endif
2190"ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
2191 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
2192
2193
6840198f
NC
2194/* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
2195{
2196#ifdef NICENAMES
2197"ldctlb ctrl,rbs",32,7,
21980x3f,
2199#endif
2200"ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
2201 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,193},
2202
2203
2204/* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
2205{
2206#ifdef NICENAMES
2207"ldctlb rbd,ctrl",32,7,
22080x00,
2209#endif
2210"ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
2211 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,194},
2212
2213
252b5132
RH
2214/* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
2215{
2216#ifdef NICENAMES
2217"ldd @rd,@rs,rr",16,11,
22180x04,
2219#endif
2220"ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2221 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,195},
252b5132
RH
2222
2223
2224/* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
2225{
2226#ifdef NICENAMES
2227"lddb @rd,@rs,rr",8,11,
22280x04,
2229#endif
2230"lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2231 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,196},
252b5132
RH
2232
2233
2234/* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
2235{
2236#ifdef NICENAMES
2237"lddr @rd,@rs,rr",16,11,
22380x04,
2239#endif
2240"lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2241 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,197},
252b5132
RH
2242
2243
2244/* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
2245{
2246#ifdef NICENAMES
2247"lddrb @rd,@rs,rr",8,11,
22480x04,
2249#endif
2250"lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2251 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,198},
252b5132
RH
2252
2253
2254/* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
2255{
2256#ifdef NICENAMES
2257"ldi @rd,@rs,rr",16,11,
22580x04,
2259#endif
2260"ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2261 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,199},
252b5132
RH
2262
2263
2264/* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
2265{
2266#ifdef NICENAMES
2267"ldib @rd,@rs,rr",8,11,
22680x04,
2269#endif
2270"ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2271 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,200},
252b5132
RH
2272
2273
2274/* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
2275{
2276#ifdef NICENAMES
2277"ldir @rd,@rs,rr",16,11,
22780x04,
2279#endif
2280"ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2281 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,201},
252b5132
RH
2282
2283
2284/* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
2285{
2286#ifdef NICENAMES
2287"ldirb @rd,@rs,rr",8,11,
22880x04,
2289#endif
2290"ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2291 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,202},
252b5132
RH
2292
2293
2294/* 1011 1101 dddd imm4 *** ldk rd,imm4 */
2295{
2296#ifdef NICENAMES
2297"ldk rd,imm4",16,5,
22980x00,
2299#endif
2300"ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 2301 {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,203},
252b5132
RH
2302
2303
2304/* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
2305{
2306#ifdef NICENAMES
2307"ldl @rd,rrs",32,11,
23080x00,
2309#endif
2310"ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2311 {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,204},
252b5132
RH
2312
2313
2314/* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
2315{
2316#ifdef NICENAMES
2317"ldl address_dst(rd),rrs",32,14,
23180x00,
2319#endif
2320"ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2321 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,205},
252b5132
RH
2322
2323
2324/* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2325{
2326#ifdef NICENAMES
2327"ldl address_dst,rrs",32,15,
23280x00,
2329#endif
2330"ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
6840198f 2331 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,206},
252b5132
RH
2332
2333
2334/* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2335{
2336#ifdef NICENAMES
2337"ldl rd(imm16),rrs",32,17,
23380x00,
2339#endif
2340"ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2341 {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,207},
252b5132
RH
2342
2343
2344/* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2345{
2346#ifdef NICENAMES
2347"ldl rd(rx),rrs",32,17,
23480x00,
2349#endif
2350"ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2351 {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,208},
252b5132
RH
2352
2353
2354/* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2355{
2356#ifdef NICENAMES
2357"ldl rrd,@rs",32,11,
23580x00,
2359#endif
2360"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2361 {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,209},
252b5132
RH
2362
2363
2364/* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2365{
2366#ifdef NICENAMES
2367"ldl rrd,address_src",32,12,
23680x00,
2369#endif
2370"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2371 {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,210},
252b5132
RH
2372
2373
2374/* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2375{
2376#ifdef NICENAMES
2377"ldl rrd,address_src(rs)",32,13,
23780x00,
2379#endif
2380"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2381 {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,211},
252b5132
RH
2382
2383
2384/* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2385{
2386#ifdef NICENAMES
2387"ldl rrd,imm32",32,11,
23880x00,
2389#endif
2390"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6840198f 2391 {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,212},
252b5132
RH
2392
2393
2394/* 1001 0100 ssss dddd *** ldl rrd,rrs */
2395{
2396#ifdef NICENAMES
2397"ldl rrd,rrs",32,5,
23980x00,
2399#endif
2400"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2401 {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,213},
252b5132
RH
2402
2403
2404/* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2405{
2406#ifdef NICENAMES
2407"ldl rrd,rs(imm16)",32,17,
24080x00,
2409#endif
2410"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
6840198f 2411 {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,214},
252b5132
RH
2412
2413
2414/* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2415{
2416#ifdef NICENAMES
2417"ldl rrd,rs(rx)",32,17,
24180x00,
2419#endif
2420"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
6840198f 2421 {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,215},
252b5132
RH
2422
2423
3c25c5f6 2424/* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */
252b5132
RH
2425{
2426#ifdef NICENAMES
2427"ldm @rd,rs,n",16,11,
24280x00,
2429#endif
3c25c5f6
NC
2430"ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2431 {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,216},
252b5132
RH
2432
2433
3c25c5f6 2434/* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */
252b5132
RH
2435{
2436#ifdef NICENAMES
2437"ldm address_dst(rd),rs,n",16,15,
24380x00,
2439#endif
3c25c5f6
NC
2440"ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2441 {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,217},
252b5132
RH
2442
2443
3c25c5f6 2444/* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */
252b5132
RH
2445{
2446#ifdef NICENAMES
2447"ldm address_dst,rs,n",16,14,
24480x00,
2449#endif
3c25c5f6
NC
2450"ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2451 {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,218},
252b5132
RH
2452
2453
3c25c5f6 2454/* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */
252b5132
RH
2455{
2456#ifdef NICENAMES
2457"ldm rd,@rs,n",16,11,
24580x00,
2459#endif
3c25c5f6
NC
2460"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2461 {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,219},
252b5132
RH
2462
2463
3c25c5f6 2464/* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */
252b5132
RH
2465{
2466#ifdef NICENAMES
2467"ldm rd,address_src(rs),n",16,15,
24680x00,
2469#endif
3c25c5f6
NC
2470"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
2471 {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,220},
252b5132
RH
2472
2473
3c25c5f6 2474/* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */
252b5132
RH
2475{
2476#ifdef NICENAMES
2477"ldm rd,address_src,n",16,14,
24780x00,
2479#endif
3c25c5f6
NC
2480"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),},
2481 {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,221},
252b5132
RH
2482
2483
2484/* 0011 1001 ssN0 0000 *** ldps @rs */
2485{
2486#ifdef NICENAMES
2487"ldps @rs",16,12,
24880x3f,
2489#endif
2490"ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
6840198f 2491 {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,222},
252b5132
RH
2492
2493
2494/* 0111 1001 0000 0000 address_src *** ldps address_src */
2495{
2496#ifdef NICENAMES
2497"ldps address_src",16,16,
24980x3f,
2499#endif
2500"ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
6840198f 2501 {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,223},
252b5132
RH
2502
2503
2504/* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2505{
2506#ifdef NICENAMES
2507"ldps address_src(rs)",16,17,
25080x3f,
2509#endif
2510"ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
6840198f 2511 {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,224},
252b5132
RH
2512
2513
2514/* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2515{
2516#ifdef NICENAMES
2517"ldr disp16,rs",16,14,
25180x00,
2519#endif
2520"ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
6840198f 2521 {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
252b5132
RH
2522
2523
2524/* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2525{
2526#ifdef NICENAMES
2527"ldr rd,disp16",16,14,
25280x00,
2529#endif
2530"ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
6840198f 2531 {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
252b5132
RH
2532
2533
2534/* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2535{
2536#ifdef NICENAMES
2537"ldrb disp16,rbs",8,14,
25380x00,
2539#endif
2540"ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
6840198f 2541 {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
252b5132
RH
2542
2543
2544/* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2545{
2546#ifdef NICENAMES
2547"ldrb rbd,disp16",8,14,
25480x00,
2549#endif
2550"ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
6840198f 2551 {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
252b5132
RH
2552
2553
2554/* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2555{
2556#ifdef NICENAMES
2557"ldrl disp16,rrs",32,17,
25580x00,
2559#endif
2560"ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
6840198f 2561 {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,229},
252b5132
RH
2562
2563
2564/* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2565{
2566#ifdef NICENAMES
2567"ldrl rrd,disp16",32,17,
25680x00,
2569#endif
2570"ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
6840198f 2571 {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,230},
252b5132
RH
2572
2573
2574/* 0111 1011 0000 1010 *** mbit */
2575{
2576#ifdef NICENAMES
2577"mbit",16,7,
25780x38,
2579#endif
2580"mbit",OPC_mbit,0,{0},
6840198f 2581 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,231},
252b5132
RH
2582
2583
2584/* 0111 1011 dddd 1101 *** mreq rd */
2585{
2586#ifdef NICENAMES
2587"mreq rd",16,12,
25880x18,
2589#endif
2590"mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 2591 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,232},
252b5132
RH
2592
2593
2594/* 0111 1011 0000 1001 *** mres */
2595{
2596#ifdef NICENAMES
2597"mres",16,5,
25980x00,
2599#endif
2600"mres",OPC_mres,0,{0},
6840198f 2601 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,233},
252b5132
RH
2602
2603
2604/* 0111 1011 0000 1000 *** mset */
2605{
2606#ifdef NICENAMES
2607"mset",16,5,
26080x00,
2609#endif
2610"mset",OPC_mset,0,{0},
6840198f 2611 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,234},
252b5132
RH
2612
2613
2614/* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2615{
2616#ifdef NICENAMES
2617"mult rrd,@rs",16,70,
26180x3c,
2619#endif
2620"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2621 {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,235},
252b5132
RH
2622
2623
2624/* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2625{
2626#ifdef NICENAMES
2627"mult rrd,address_src",16,70,
26280x3c,
2629#endif
2630"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2631 {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,236},
252b5132
RH
2632
2633
2634/* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2635{
2636#ifdef NICENAMES
2637"mult rrd,address_src(rs)",16,70,
26380x3c,
2639#endif
2640"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2641 {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,237},
252b5132
RH
2642
2643
2644/* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2645{
2646#ifdef NICENAMES
2647"mult rrd,imm16",16,70,
26480x3c,
2649#endif
2650"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 2651 {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,238},
252b5132
RH
2652
2653
2654/* 1001 1001 ssss dddd *** mult rrd,rs */
2655{
2656#ifdef NICENAMES
2657"mult rrd,rs",16,70,
26580x3c,
2659#endif
2660"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 2661 {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,239},
252b5132
RH
2662
2663
2664/* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2665{
2666#ifdef NICENAMES
2667"multl rqd,@rs",32,282,
26680x3c,
2669#endif
2670"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2671 {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,240},
252b5132
RH
2672
2673
2674/* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2675{
2676#ifdef NICENAMES
2677"multl rqd,address_src",32,282,
26780x3c,
2679#endif
2680"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2681 {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,241},
252b5132
RH
2682
2683
2684/* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2685{
2686#ifdef NICENAMES
2687"multl rqd,address_src(rs)",32,282,
26880x3c,
2689#endif
2690"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2691 {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,242},
252b5132
RH
2692
2693
2694/* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2695{
2696#ifdef NICENAMES
2697"multl rqd,imm32",32,282,
26980x3c,
2699#endif
2700"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6840198f 2701 {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,243},
252b5132
RH
2702
2703
2704/* 1001 1000 ssss dddd *** multl rqd,rrs */
2705{
2706#ifdef NICENAMES
2707"multl rqd,rrs",32,282,
27080x3c,
2709#endif
2710"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2711 {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,244},
252b5132
RH
2712
2713
2714/* 0000 1101 ddN0 0010 *** neg @rd */
2715{
2716#ifdef NICENAMES
2717"neg @rd",16,12,
27180x3c,
2719#endif
2720"neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
6840198f 2721 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,245},
252b5132
RH
2722
2723
2724/* 0100 1101 0000 0010 address_dst *** neg address_dst */
2725{
2726#ifdef NICENAMES
2727"neg address_dst",16,15,
27280x3c,
2729#endif
2730"neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
6840198f 2731 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,246},
252b5132
RH
2732
2733
2734/* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2735{
2736#ifdef NICENAMES
2737"neg address_dst(rd)",16,16,
27380x3c,
2739#endif
2740"neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
6840198f 2741 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,247},
252b5132
RH
2742
2743
2744/* 1000 1101 dddd 0010 *** neg rd */
2745{
2746#ifdef NICENAMES
2747"neg rd",16,7,
27480x3c,
2749#endif
2750"neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 2751 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,248},
252b5132
RH
2752
2753
2754/* 0000 1100 ddN0 0010 *** negb @rd */
2755{
2756#ifdef NICENAMES
2757"negb @rd",8,12,
27580x3c,
2759#endif
2760"negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
6840198f 2761 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,249},
252b5132
RH
2762
2763
2764/* 0100 1100 0000 0010 address_dst *** negb address_dst */
2765{
2766#ifdef NICENAMES
2767"negb address_dst",8,15,
27680x3c,
2769#endif
2770"negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
6840198f 2771 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,250},
252b5132
RH
2772
2773
2774/* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2775{
2776#ifdef NICENAMES
2777"negb address_dst(rd)",8,16,
27780x3c,
2779#endif
2780"negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
6840198f 2781 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,251},
252b5132
RH
2782
2783
2784/* 1000 1100 dddd 0010 *** negb rbd */
2785{
2786#ifdef NICENAMES
2787"negb rbd",8,7,
27880x3c,
2789#endif
2790"negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
6840198f 2791 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,252},
252b5132
RH
2792
2793
2794/* 1000 1101 0000 0111 *** nop */
2795{
2796#ifdef NICENAMES
2797"nop",16,7,
27980x00,
2799#endif
2800"nop",OPC_nop,0,{0},
6840198f 2801 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,253},
252b5132
RH
2802
2803
2804/* 0000 0101 ssN0 dddd *** or rd,@rs */
2805{
2806#ifdef NICENAMES
2807"or rd,@rs",16,7,
28080x38,
2809#endif
2810"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2811 {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,254},
252b5132
RH
2812
2813
2814/* 0100 0101 0000 dddd address_src *** or rd,address_src */
2815{
2816#ifdef NICENAMES
2817"or rd,address_src",16,9,
28180x38,
2819#endif
2820"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2821 {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,255},
252b5132
RH
2822
2823
2824/* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2825{
2826#ifdef NICENAMES
2827"or rd,address_src(rs)",16,10,
28280x38,
2829#endif
2830"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2831 {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,256},
252b5132
RH
2832
2833
2834/* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2835{
2836#ifdef NICENAMES
2837"or rd,imm16",16,7,
28380x38,
2839#endif
2840"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 2841 {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,257},
252b5132
RH
2842
2843
2844/* 1000 0101 ssss dddd *** or rd,rs */
2845{
2846#ifdef NICENAMES
2847"or rd,rs",16,4,
28480x38,
2849#endif
2850"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 2851 {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,258},
252b5132
RH
2852
2853
2854/* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2855{
2856#ifdef NICENAMES
2857"orb rbd,@rs",8,7,
28580x3c,
2859#endif
2860"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2861 {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,259},
252b5132
RH
2862
2863
2864/* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2865{
2866#ifdef NICENAMES
2867"orb rbd,address_src",8,9,
28680x3c,
2869#endif
2870"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2871 {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,260},
252b5132
RH
2872
2873
2874/* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2875{
2876#ifdef NICENAMES
2877"orb rbd,address_src(rs)",8,10,
28780x3c,
2879#endif
2880"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2881 {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,261},
252b5132
RH
2882
2883
2884/* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2885{
2886#ifdef NICENAMES
2887"orb rbd,imm8",8,7,
28880x3c,
2889#endif
2890"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 2891 {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,262},
252b5132
RH
2892
2893
2894/* 1000 0100 ssss dddd *** orb rbd,rbs */
2895{
2896#ifdef NICENAMES
2897"orb rbd,rbs",8,4,
28980x3c,
2899#endif
2900"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 2901 {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,263},
252b5132
RH
2902
2903
2904/* 0011 1111 ddN0 ssss *** out @rd,rs */
2905{
2906#ifdef NICENAMES
2907"out @rd,rs",16,0,
29080x04,
2909#endif
2910"out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 2911 {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
252b5132
RH
2912
2913
2914/* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2915{
2916#ifdef NICENAMES
2917"out imm16,rs",16,0,
29180x04,
2919#endif
2920"out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
6840198f 2921 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
252b5132
RH
2922
2923
2924/* 0011 1110 ddN0 ssss *** outb @rd,rbs */
2925{
2926#ifdef NICENAMES
2927"outb @rd,rbs",8,0,
29280x04,
2929#endif
2930"outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 2931 {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,266},
252b5132
RH
2932
2933
2934/* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2935{
2936#ifdef NICENAMES
2937"outb imm16,rbs",8,0,
29380x04,
2939#endif
2940"outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
6840198f 2941 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,267},
252b5132
RH
2942
2943
2944/* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
2945{
2946#ifdef NICENAMES
2947"outd @rd,@rs,ra",16,0,
29480x04,
2949#endif
2950"outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2951 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
252b5132
RH
2952
2953
2954/* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
2955{
2956#ifdef NICENAMES
2957"outdb @rd,@rs,rba",16,0,
29580x04,
2959#endif
2960"outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 2961 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,269},
252b5132
RH
2962
2963
2964/* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
2965{
2966#ifdef NICENAMES
2967"outi @rd,@rs,ra",16,0,
29680x04,
2969#endif
2970"outi",OPC_outi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2971 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,270},
252b5132
RH
2972
2973
2974/* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
2975{
2976#ifdef NICENAMES
2977"outib @rd,@rs,ra",16,0,
29780x04,
2979#endif
2980"outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2981 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,271},
252b5132
RH
2982
2983
2984/* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
2985{
2986#ifdef NICENAMES
2987"outibr @rd,@rs,ra",16,0,
29880x04,
2989#endif
2990"outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2991 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,272},
252b5132
RH
2992
2993
2994/* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2995{
2996#ifdef NICENAMES
2997"pop @rd,@rs",16,12,
29980x00,
2999#endif
3000"pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3001 {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,273},
252b5132
RH
3002
3003
3004/* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
3005{
3006#ifdef NICENAMES
3007"pop address_dst(rd),@rs",16,16,
30080x00,
3009#endif
3010"pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3011 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,274},
252b5132
RH
3012
3013
3014/* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
3015{
3016#ifdef NICENAMES
3017"pop address_dst,@rs",16,16,
30180x00,
3019#endif
3020"pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
6840198f 3021 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,275},
252b5132
RH
3022
3023
3024/* 1001 0111 ssN0 dddd *** pop rd,@rs */
3025{
3026#ifdef NICENAMES
3027"pop rd,@rs",16,8,
30280x00,
3029#endif
3030"pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3031 {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,276},
252b5132
RH
3032
3033
3034/* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
3035{
3036#ifdef NICENAMES
3037"popl @rd,@rs",32,19,
30380x00,
3039#endif
3040"popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3041 {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,277},
252b5132
RH
3042
3043
3044/* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
3045{
3046#ifdef NICENAMES
3047"popl address_dst(rd),@rs",32,23,
30480x00,
3049#endif
3050"popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3051 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,278},
252b5132
RH
3052
3053
3054/* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
3055{
3056#ifdef NICENAMES
3057"popl address_dst,@rs",32,23,
30580x00,
3059#endif
3060"popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
6840198f 3061 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,279},
252b5132
RH
3062
3063
3064/* 1001 0101 ssN0 dddd *** popl rrd,@rs */
3065{
3066#ifdef NICENAMES
3067"popl rrd,@rs",32,12,
30680x00,
3069#endif
3070"popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3071 {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,280},
252b5132
RH
3072
3073
3074/* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
3075{
3076#ifdef NICENAMES
3077"push @rd,@rs",16,13,
30780x00,
3079#endif
3080"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3081 {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,281},
252b5132
RH
3082
3083
3084/* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
3085{
3086#ifdef NICENAMES
3087"push @rd,address_src",16,14,
30880x00,
3089#endif
3090"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3091 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,282},
252b5132
RH
3092
3093
3094/* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
3095{
3096#ifdef NICENAMES
3097"push @rd,address_src(rs)",16,14,
30980x00,
3099#endif
3100"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3101 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,283},
252b5132
RH
3102
3103
3104/* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
3105{
3106#ifdef NICENAMES
3107"push @rd,imm16",16,12,
31080x00,
3109#endif
3110"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 3111 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,284},
252b5132
RH
3112
3113
3114/* 1001 0011 ddN0 ssss *** push @rd,rs */
3115{
3116#ifdef NICENAMES
3117"push @rd,rs",16,9,
31180x00,
3119#endif
3120"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3121 {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,285},
252b5132
RH
3122
3123
3124/* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
3125{
3126#ifdef NICENAMES
3127"pushl @rd,@rs",32,20,
31280x00,
3129#endif
3130"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3131 {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,286},
252b5132
RH
3132
3133
3134/* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
3135{
3136#ifdef NICENAMES
3137"pushl @rd,address_src",32,21,
31380x00,
3139#endif
3140"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3141 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,287},
252b5132
RH
3142
3143
3144/* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
3145{
3146#ifdef NICENAMES
3147"pushl @rd,address_src(rs)",32,21,
31480x00,
3149#endif
3150"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3151 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,288},
252b5132
RH
3152
3153
3154/* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
3155{
3156#ifdef NICENAMES
3157"pushl @rd,rrs",32,12,
31580x00,
3159#endif
3160"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 3161 {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,289},
252b5132
RH
3162
3163
3164/* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
3165{
3166#ifdef NICENAMES
3167"res @rd,imm4",16,11,
31680x00,
3169#endif
3170"res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3171 {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,290},
252b5132
RH
3172
3173
3174/* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
3175{
3176#ifdef NICENAMES
3177"res address_dst(rd),imm4",16,14,
31780x00,
3179#endif
3180"res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3181 {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,291},
252b5132
RH
3182
3183
3184/* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
3185{
3186#ifdef NICENAMES
3187"res address_dst,imm4",16,13,
31880x00,
3189#endif
3190"res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3191 {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,292},
252b5132
RH
3192
3193
3194/* 1010 0011 dddd imm4 *** res rd,imm4 */
3195{
3196#ifdef NICENAMES
3197"res rd,imm4",16,4,
31980x00,
3199#endif
3200"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3201 {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,293},
252b5132
RH
3202
3203
3204/* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
3205{
3206#ifdef NICENAMES
3207"res rd,rs",16,10,
32080x00,
3209#endif
3210"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3211 {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,294},
252b5132
RH
3212
3213
3214/* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
3215{
3216#ifdef NICENAMES
3217"resb @rd,imm4",8,11,
32180x00,
3219#endif
3220"resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3221 {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,295},
252b5132
RH
3222
3223
3224/* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
3225{
3226#ifdef NICENAMES
3227"resb address_dst(rd),imm4",8,14,
32280x00,
3229#endif
3230"resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3231 {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,296},
252b5132
RH
3232
3233
3234/* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
3235{
3236#ifdef NICENAMES
3237"resb address_dst,imm4",8,13,
32380x00,
3239#endif
3240"resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3241 {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,297},
252b5132
RH
3242
3243
3244/* 1010 0010 dddd imm4 *** resb rbd,imm4 */
3245{
3246#ifdef NICENAMES
3247"resb rbd,imm4",8,4,
32480x00,
3249#endif
3250"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3251 {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,298},
252b5132
RH
3252
3253
3254/* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
3255{
3256#ifdef NICENAMES
3257"resb rbd,rs",8,10,
32580x00,
3259#endif
3260"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3261 {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,299},
252b5132
RH
3262
3263
3264/* 1000 1101 flags 0011 *** resflg flags */
3265{
3266#ifdef NICENAMES
3267"resflg flags",16,7,
32680x3c,
3269#endif
3270"resflg",OPC_resflg,0,{CLASS_FLAGS,},
6840198f 3271 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,300},
252b5132
RH
3272
3273
3274/* 1001 1110 0000 cccc *** ret cc */
3275{
3276#ifdef NICENAMES
3277"ret cc",16,10,
32780x00,
3279#endif
3280"ret",OPC_ret,0,{CLASS_CC,},
6840198f 3281 {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,301},
252b5132
RH
3282
3283
3284/* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
3285{
3286#ifdef NICENAMES
3287"rl rd,imm1or2",16,6,
32880x3c,
3289#endif
3290"rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3291 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,302},
252b5132
RH
3292
3293
3294/* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
3295{
3296#ifdef NICENAMES
3297"rlb rbd,imm1or2",8,6,
32980x3c,
3299#endif
3300"rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3301 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,303},
252b5132
RH
3302
3303
3304/* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
3305{
3306#ifdef NICENAMES
3307"rlc rd,imm1or2",16,6,
33080x3c,
3309#endif
3310"rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3311 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,304},
252b5132
RH
3312
3313
3314/* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
3315{
3316#ifdef NICENAMES
3317"rlcb rbd,imm1or2",8,9,
33180x10,
3319#endif
3320"rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3321 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,305},
252b5132
RH
3322
3323
3324/* 1011 1110 aaaa bbbb *** rldb rbb,rba */
3325{
3326#ifdef NICENAMES
3327"rldb rbb,rba",8,9,
33280x10,
3329#endif
3330"rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3331 {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,306},
252b5132
RH
3332
3333
3334/* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
3335{
3336#ifdef NICENAMES
3337"rr rd,imm1or2",16,6,
33380x3c,
3339#endif
3340"rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3341 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,307},
252b5132
RH
3342
3343
3344/* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
3345{
3346#ifdef NICENAMES
3347"rrb rbd,imm1or2",8,6,
33480x3c,
3349#endif
3350"rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3351 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,308},
252b5132
RH
3352
3353
3354/* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
3355{
3356#ifdef NICENAMES
3357"rrc rd,imm1or2",16,6,
33580x3c,
3359#endif
3360"rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3361 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,309},
252b5132
RH
3362
3363
3364/* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
3365{
3366#ifdef NICENAMES
3367"rrcb rbd,imm1or2",8,9,
33680x10,
3369#endif
3370"rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3371 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,310},
252b5132
RH
3372
3373
3374/* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
3375{
3376#ifdef NICENAMES
3377"rrdb rbb,rba",8,9,
33780x10,
3379#endif
3380"rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3381 {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,311},
252b5132
RH
3382
3383
3384/* 0011 0110 imm8 *** rsvd36 */
3385{
3386#ifdef NICENAMES
3387"rsvd36",8,10,
33880x00,
3389#endif
3390"rsvd36",OPC_rsvd36,0,{0},
6840198f 3391 {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
252b5132
RH
3392
3393
3394/* 0011 1000 imm8 *** rsvd38 */
3395{
3396#ifdef NICENAMES
3397"rsvd38",8,10,
33980x00,
3399#endif
3400"rsvd38",OPC_rsvd38,0,{0},
6840198f 3401 {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
252b5132
RH
3402
3403
3404/* 0111 1000 imm8 *** rsvd78 */
3405{
3406#ifdef NICENAMES
3407"rsvd78",8,10,
34080x00,
3409#endif
3410"rsvd78",OPC_rsvd78,0,{0},
6840198f 3411 {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
252b5132
RH
3412
3413
3414/* 0111 1110 imm8 *** rsvd7e */
3415{
3416#ifdef NICENAMES
3417"rsvd7e",8,10,
34180x00,
3419#endif
3420"rsvd7e",OPC_rsvd7e,0,{0},
6840198f 3421 {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
252b5132
RH
3422
3423
3424/* 1001 1101 imm8 *** rsvd9d */
3425{
3426#ifdef NICENAMES
3427"rsvd9d",8,10,
34280x00,
3429#endif
3430"rsvd9d",OPC_rsvd9d,0,{0},
6840198f 3431 {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
252b5132
RH
3432
3433
3434/* 1001 1111 imm8 *** rsvd9f */
3435{
3436#ifdef NICENAMES
3437"rsvd9f",8,10,
34380x00,
3439#endif
3440"rsvd9f",OPC_rsvd9f,0,{0},
6840198f 3441 {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,317},
252b5132
RH
3442
3443
3444/* 1011 1001 imm8 *** rsvdb9 */
3445{
3446#ifdef NICENAMES
3447"rsvdb9",8,10,
34480x00,
3449#endif
3450"rsvdb9",OPC_rsvdb9,0,{0},
6840198f 3451 {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,318},
252b5132
RH
3452
3453
3454/* 1011 1111 imm8 *** rsvdbf */
3455{
3456#ifdef NICENAMES
3457"rsvdbf",8,10,
34580x00,
3459#endif
3460"rsvdbf",OPC_rsvdbf,0,{0},
6840198f 3461 {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,319},
252b5132
RH
3462
3463
3464/* 1011 0111 ssss dddd *** sbc rd,rs */
3465{
3466#ifdef NICENAMES
3467"sbc rd,rs",16,5,
34680x3c,
3469#endif
3470"sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3471 {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,320},
252b5132
RH
3472
3473
3474/* 1011 0110 ssss dddd *** sbcb rbd,rbs */
3475{
3476#ifdef NICENAMES
3477"sbcb rbd,rbs",8,5,
34780x3f,
3479#endif
3480"sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 3481 {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,321},
252b5132
RH
3482
3483
3484/* 0111 1111 imm8 *** sc imm8 */
3485{
3486#ifdef NICENAMES
3487"sc imm8",8,33,
34880x3f,
3489#endif
3490"sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
6840198f 3491 {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,322},
252b5132
RH
3492
3493
3494/* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
3495{
3496#ifdef NICENAMES
3497"sda rd,rs",16,15,
34980x3c,
3499#endif
3500"sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3501 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,323},
252b5132
RH
3502
3503
3504/* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
3505{
3506#ifdef NICENAMES
3507"sdab rbd,rs",8,15,
35080x3c,
3509#endif
3510"sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3511 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,324},
252b5132
RH
3512
3513
3514/* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
3515{
3516#ifdef NICENAMES
3517"sdal rrd,rs",32,15,
35180x3c,
3519#endif
3520"sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3521 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,325},
252b5132
RH
3522
3523
3524/* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
3525{
3526#ifdef NICENAMES
3527"sdl rd,rs",16,15,
35280x38,
3529#endif
3530"sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3531 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,326},
252b5132
RH
3532
3533
3534/* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
3535{
3536#ifdef NICENAMES
3537"sdlb rbd,rs",8,15,
35380x38,
3539#endif
3540"sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3541 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,327},
252b5132
RH
3542
3543
3544/* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3545{
3546#ifdef NICENAMES
3547"sdll rrd,rs",32,15,
35480x38,
3549#endif
3550"sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3551 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,328},
252b5132
RH
3552
3553
3554/* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3555{
3556#ifdef NICENAMES
3557"set @rd,imm4",16,11,
35580x00,
3559#endif
3560"set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3561 {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,329},
252b5132
RH
3562
3563
3564/* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3565{
3566#ifdef NICENAMES
3567"set address_dst(rd),imm4",16,14,
35680x00,
3569#endif
3570"set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3571 {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,330},
252b5132
RH
3572
3573
3574/* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3575{
3576#ifdef NICENAMES
3577"set address_dst,imm4",16,13,
35780x00,
3579#endif
3580"set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3581 {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,331},
252b5132
RH
3582
3583
3584/* 1010 0101 dddd imm4 *** set rd,imm4 */
3585{
3586#ifdef NICENAMES
3587"set rd,imm4",16,4,
35880x00,
3589#endif
3590"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3591 {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,332},
252b5132
RH
3592
3593
3594/* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3595{
3596#ifdef NICENAMES
3597"set rd,rs",16,10,
35980x00,
3599#endif
3600"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3601 {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,333},
252b5132
RH
3602
3603
3604/* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3605{
3606#ifdef NICENAMES
3607"setb @rd,imm4",8,11,
36080x00,
3609#endif
3610"setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3611 {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,334},
252b5132
RH
3612
3613
3614/* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3615{
3616#ifdef NICENAMES
3617"setb address_dst(rd),imm4",8,14,
36180x00,
3619#endif
3620"setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3621 {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,335},
252b5132
RH
3622
3623
3624/* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3625{
3626#ifdef NICENAMES
3627"setb address_dst,imm4",8,13,
36280x00,
3629#endif
3630"setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3631 {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,336},
252b5132
RH
3632
3633
3634/* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3635{
3636#ifdef NICENAMES
3637"setb rbd,imm4",8,4,
36380x00,
3639#endif
3640"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3641 {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,337},
252b5132
RH
3642
3643
3644/* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3645{
3646#ifdef NICENAMES
3647"setb rbd,rs",8,10,
36480x00,
3649#endif
3650"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3651 {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,338},
252b5132
RH
3652
3653
3654/* 1000 1101 flags 0001 *** setflg flags */
3655{
3656#ifdef NICENAMES
3657"setflg flags",16,7,
36580x3c,
3659#endif
3660"setflg",OPC_setflg,0,{CLASS_FLAGS,},
6840198f 3661 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,339},
252b5132
RH
3662
3663
6840198f 3664/* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
252b5132
RH
3665{
3666#ifdef NICENAMES
6840198f 3667"sin rd,imm16",8,0,
252b5132
RH
36680x00,
3669#endif
6840198f
NC
3670"sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3671 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,340},
252b5132
RH
3672
3673
6840198f 3674/* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
252b5132
RH
3675{
3676#ifdef NICENAMES
6840198f 3677"sinb rbd,imm16",8,0,
252b5132
RH
36780x00,
3679#endif
6840198f
NC
3680"sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3681 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,341},
252b5132
RH
3682
3683
3684/* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
3685{
3686#ifdef NICENAMES
3687"sind @rd,@rs,ra",16,0,
36880x00,
3689#endif
3690"sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3691 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,342},
252b5132
RH
3692
3693
3694/* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
3695{
3696#ifdef NICENAMES
3697"sindb @rd,@rs,rba",8,0,
36980x00,
3699#endif
3700"sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3701 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,343},
252b5132
RH
3702
3703
3704/* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
3705{
3706#ifdef NICENAMES
3707"sinib @rd,@rs,ra",8,0,
37080x00,
3709#endif
3710"sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3711 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,344},
252b5132
RH
3712
3713
3714/* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
3715{
3716#ifdef NICENAMES
3717"sinibr @rd,@rs,ra",16,0,
37180x00,
3719#endif
3720"sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3721 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,345},
252b5132
RH
3722
3723
3724/* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3725{
3726#ifdef NICENAMES
3727"sla rd,imm8",16,13,
37280x3c,
3729#endif
3730"sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3731 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,346},
252b5132
RH
3732
3733
3c25c5f6 3734/* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */
252b5132
RH
3735{
3736#ifdef NICENAMES
3c25c5f6 3737"slab rbd,imm4",8,13,
252b5132
RH
37380x3c,
3739#endif
3c25c5f6
NC
3740"slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3741 {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,347},
252b5132
RH
3742
3743
3744/* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3745{
3746#ifdef NICENAMES
3747"slal rrd,imm8",32,13,
37480x3c,
3749#endif
3750"slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3751 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
252b5132
RH
3752
3753
3754/* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3755{
3756#ifdef NICENAMES
3757"sll rd,imm8",16,13,
37580x38,
3759#endif
3760"sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3761 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,349},
252b5132
RH
3762
3763
3c25c5f6 3764/* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */
252b5132
RH
3765{
3766#ifdef NICENAMES
3c25c5f6 3767"sllb rbd,imm4",8,13,
252b5132
RH
37680x38,
3769#endif
3c25c5f6
NC
3770"sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3771 {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,350},
252b5132
RH
3772
3773
3774/* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3775{
3776#ifdef NICENAMES
3777"slll rrd,imm8",32,13,
37780x38,
3779#endif
3780"slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3781 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,351},
252b5132
RH
3782
3783
3784/* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
3785{
3786#ifdef NICENAMES
3787"sout imm16,rs",16,0,
37880x00,
3789#endif
3790"sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
6840198f 3791 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,352},
252b5132
RH
3792
3793
3794/* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
3795{
3796#ifdef NICENAMES
3797"soutb imm16,rbs",8,0,
37980x00,
3799#endif
3800"soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
6840198f 3801 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,353},
252b5132
RH
3802
3803
3804/* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
3805{
3806#ifdef NICENAMES
3807"soutd @rd,@rs,ra",16,0,
38080x00,
3809#endif
3810"soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3811 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,354},
252b5132
RH
3812
3813
3814/* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
3815{
3816#ifdef NICENAMES
3817"soutdb @rd,@rs,rba",8,0,
38180x00,
3819#endif
3820"soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3821 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,355},
252b5132
RH
3822
3823
3824/* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
3825{
3826#ifdef NICENAMES
3827"soutib @rd,@rs,ra",8,0,
38280x00,
3829#endif
3830"soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3831 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,356},
252b5132
RH
3832
3833
3834/* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
3835{
3836#ifdef NICENAMES
3837"soutibr @rd,@rs,ra",16,0,
38380x00,
3839#endif
3840"soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3841 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,357},
252b5132
RH
3842
3843
3844/* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3845{
3846#ifdef NICENAMES
3847"sra rd,imm8",16,13,
38480x3c,
3849#endif
3850"sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3851 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,358},
252b5132
RH
3852
3853
3c25c5f6 3854/* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */
252b5132
RH
3855{
3856#ifdef NICENAMES
3c25c5f6 3857"srab rbd,imm4",8,13,
252b5132
RH
38580x3c,
3859#endif
3c25c5f6
NC
3860"srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3861 {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,359},
252b5132
RH
3862
3863
3864/* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3865{
3866#ifdef NICENAMES
3867"sral rrd,imm8",32,13,
38680x3c,
3869#endif
3870"sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3871 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
252b5132
RH
3872
3873
3874/* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3875{
3876#ifdef NICENAMES
3877"srl rd,imm8",16,13,
38780x3c,
3879#endif
3880"srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3881 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,361},
252b5132
RH
3882
3883
3c25c5f6 3884/* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */
252b5132
RH
3885{
3886#ifdef NICENAMES
3c25c5f6 3887"srlb rbd,imm4",8,13,
252b5132
RH
38880x3c,
3889#endif
3c25c5f6
NC
3890"srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3891 {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,362},
252b5132
RH
3892
3893
3894/* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3895{
3896#ifdef NICENAMES
3897"srll rrd,imm8",32,13,
38980x3c,
3899#endif
3900"srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3901 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,363},
252b5132
RH
3902
3903
3904/* 0000 0011 ssN0 dddd *** sub rd,@rs */
3905{
3906#ifdef NICENAMES
3907"sub rd,@rs",16,7,
39080x3c,
3909#endif
3910"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3911 {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,364},
252b5132
RH
3912
3913
3914/* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3915{
3916#ifdef NICENAMES
3917"sub rd,address_src",16,9,
39180x3c,
3919#endif
3920"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3921 {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,365},
252b5132
RH
3922
3923
3924/* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3925{
3926#ifdef NICENAMES
3927"sub rd,address_src(rs)",16,10,
39280x3c,
3929#endif
3930"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3931 {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,366},
252b5132
RH
3932
3933
3934/* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3935{
3936#ifdef NICENAMES
3937"sub rd,imm16",16,7,
39380x3c,
3939#endif
3940"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 3941 {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,367},
252b5132
RH
3942
3943
3944/* 1000 0011 ssss dddd *** sub rd,rs */
3945{
3946#ifdef NICENAMES
3947"sub rd,rs",16,4,
39480x3c,
3949#endif
3950"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3951 {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,368},
252b5132
RH
3952
3953
3954/* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3955{
3956#ifdef NICENAMES
3957"subb rbd,@rs",8,7,
39580x3f,
3959#endif
3960"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3961 {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,369},
252b5132
RH
3962
3963
3964/* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3965{
3966#ifdef NICENAMES
3967"subb rbd,address_src",8,9,
39680x3f,
3969#endif
3970"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3971 {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,370},
252b5132
RH
3972
3973
3974/* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3975{
3976#ifdef NICENAMES
3977"subb rbd,address_src(rs)",8,10,
39780x3f,
3979#endif
3980"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3981 {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,371},
252b5132
RH
3982
3983
3984/* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3985{
3986#ifdef NICENAMES
3987"subb rbd,imm8",8,7,
39880x3f,
3989#endif
3990"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3991 {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,372},
252b5132
RH
3992
3993
3994/* 1000 0010 ssss dddd *** subb rbd,rbs */
3995{
3996#ifdef NICENAMES
3997"subb rbd,rbs",8,4,
39980x3f,
3999#endif
4000"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 4001 {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,373},
252b5132
RH
4002
4003
4004/* 0001 0010 ssN0 dddd *** subl rrd,@rs */
4005{
4006#ifdef NICENAMES
4007"subl rrd,@rs",32,14,
40080x3c,
4009#endif
4010"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 4011 {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,374},
252b5132
RH
4012
4013
4014/* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
4015{
4016#ifdef NICENAMES
4017"subl rrd,address_src",32,15,
40180x3c,
4019#endif
4020"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 4021 {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,375},
252b5132
RH
4022
4023
4024/* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
4025{
4026#ifdef NICENAMES
4027"subl rrd,address_src(rs)",32,16,
40280x3c,
4029#endif
4030"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 4031 {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,376},
252b5132
RH
4032
4033
4034/* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
4035{
4036#ifdef NICENAMES
4037"subl rrd,imm32",32,14,
40380x3c,
4039#endif
4040"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6840198f 4041 {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,377},
252b5132
RH
4042
4043
4044/* 1001 0010 ssss dddd *** subl rrd,rrs */
4045{
4046#ifdef NICENAMES
4047"subl rrd,rrs",32,8,
40480x3c,
4049#endif
4050"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 4051 {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,378},
252b5132
RH
4052
4053
4054/* 1010 1111 dddd cccc *** tcc cc,rd */
4055{
4056#ifdef NICENAMES
4057"tcc cc,rd",16,5,
40580x00,
4059#endif
4060"tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
6840198f 4061 {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,379},
252b5132
RH
4062
4063
4064/* 1010 1110 dddd cccc *** tccb cc,rbd */
4065{
4066#ifdef NICENAMES
4067"tccb cc,rbd",8,5,
40680x00,
4069#endif
4070"tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
6840198f 4071 {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,380},
252b5132
RH
4072
4073
4074/* 0000 1101 ddN0 0100 *** test @rd */
4075{
4076#ifdef NICENAMES
4077"test @rd",16,8,
40780x18,
4079#endif
4080"test",OPC_test,0,{CLASS_IR+(ARG_RD),},
6840198f 4081 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,381},
252b5132
RH
4082
4083
4084/* 0100 1101 0000 0100 address_dst *** test address_dst */
4085{
4086#ifdef NICENAMES
4087"test address_dst",16,11,
40880x00,
4089#endif
4090"test",OPC_test,0,{CLASS_DA+(ARG_DST),},
6840198f 4091 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,382},
252b5132
RH
4092
4093
4094/* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
4095{
4096#ifdef NICENAMES
4097"test address_dst(rd)",16,12,
40980x00,
4099#endif
4100"test",OPC_test,0,{CLASS_X+(ARG_RD),},
6840198f 4101 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,383},
252b5132
RH
4102
4103
4104/* 1000 1101 dddd 0100 *** test rd */
4105{
4106#ifdef NICENAMES
4107"test rd",16,7,
41080x00,
4109#endif
4110"test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 4111 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,384},
252b5132
RH
4112
4113
4114/* 0000 1100 ddN0 0100 *** testb @rd */
4115{
4116#ifdef NICENAMES
4117"testb @rd",8,8,
41180x1c,
4119#endif
4120"testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
6840198f 4121 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,385},
252b5132
RH
4122
4123
4124/* 0100 1100 0000 0100 address_dst *** testb address_dst */
4125{
4126#ifdef NICENAMES
4127"testb address_dst",8,11,
41280x1c,
4129#endif
4130"testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
6840198f 4131 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,386},
252b5132
RH
4132
4133
4134/* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
4135{
4136#ifdef NICENAMES
4137"testb address_dst(rd)",8,12,
41380x1c,
4139#endif
4140"testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
6840198f 4141 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,387},
252b5132
RH
4142
4143
4144/* 1000 1100 dddd 0100 *** testb rbd */
4145{
4146#ifdef NICENAMES
4147"testb rbd",8,7,
41480x1c,
4149#endif
4150"testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
6840198f 4151 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,388},
252b5132
RH
4152
4153
4154/* 0001 1100 ddN0 1000 *** testl @rd */
4155{
4156#ifdef NICENAMES
4157"testl @rd",32,13,
41580x18,
4159#endif
4160"testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
6840198f 4161 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,389},
252b5132
RH
4162
4163
4164/* 0101 1100 0000 1000 address_dst *** testl address_dst */
4165{
4166#ifdef NICENAMES
4167"testl address_dst",32,16,
41680x18,
4169#endif
4170"testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
6840198f 4171 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,390},
252b5132
RH
4172
4173
4174/* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
4175{
4176#ifdef NICENAMES
4177"testl address_dst(rd)",32,17,
41780x18,
4179#endif
4180"testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
6840198f 4181 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,391},
252b5132
RH
4182
4183
4184/* 1001 1100 dddd 1000 *** testl rrd */
4185{
4186#ifdef NICENAMES
4187"testl rrd",32,13,
41880x18,
4189#endif
4190"testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
6840198f 4191 {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,392},
252b5132
RH
4192
4193
4194/* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
4195{
4196#ifdef NICENAMES
4197"trdb @rd,@rs,rba",8,25,
41980x1c,
4199#endif
4200"trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 4201 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
252b5132
RH
4202
4203
4204/* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
4205{
4206#ifdef NICENAMES
4207"trdrb @rd,@rs,rba",8,25,
42080x1c,
4209#endif
4210"trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 4211 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,394},
252b5132
RH
4212
4213
4214/* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
4215{
4216#ifdef NICENAMES
4217"trib @rd,@rs,rbr",8,25,
42180x1c,
4219#endif
4220"trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4221 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,395},
252b5132
RH
4222
4223
4224/* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
4225{
4226#ifdef NICENAMES
4227"trirb @rd,@rs,rbr",8,25,
42280x1c,
4229#endif
4230"trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4231 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,396},
252b5132
RH
4232
4233
4234/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
4235{
4236#ifdef NICENAMES
4237"trtdb @ra,@rb,rbr",8,25,
42380x1c,
4239#endif
4240"trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4241 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,397},
252b5132
RH
4242
4243
4244/* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
4245{
4246#ifdef NICENAMES
4247"trtdrb @ra,@rb,rbr",8,25,
42480x1c,
4249#endif
4250"trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4251 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,398},
252b5132
RH
4252
4253
4254/* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
4255{
4256#ifdef NICENAMES
4257"trtib @ra,@rb,rbr",8,25,
42580x1c,
4259#endif
4260"trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4261 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,399},
252b5132
RH
4262
4263
4264/* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
4265{
4266#ifdef NICENAMES
4267"trtirb @ra,@rb,rbr",8,25,
42680x1c,
4269#endif
4270"trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f
NC
4271 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,400},
4272
4273
4274/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
4275{
4276#ifdef NICENAMES
4277"trtrb @ra,@rb,rbr",8,25,
42780x1c,
4279#endif
4280"trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4281 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,401},
252b5132
RH
4282
4283
4284/* 0000 1101 ddN0 0110 *** tset @rd */
4285{
4286#ifdef NICENAMES
4287"tset @rd",16,11,
42880x08,
4289#endif
4290"tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
6840198f 4291 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
252b5132
RH
4292
4293
4294/* 0100 1101 0000 0110 address_dst *** tset address_dst */
4295{
4296#ifdef NICENAMES
4297"tset address_dst",16,14,
42980x08,
4299#endif
4300"tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
6840198f 4301 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,403},
252b5132
RH
4302
4303
4304/* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
4305{
4306#ifdef NICENAMES
4307"tset address_dst(rd)",16,15,
43080x08,
4309#endif
4310"tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
6840198f 4311 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
252b5132
RH
4312
4313
4314/* 1000 1101 dddd 0110 *** tset rd */
4315{
4316#ifdef NICENAMES
4317"tset rd",16,7,
43180x08,
4319#endif
4320"tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 4321 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,405},
252b5132
RH
4322
4323
4324/* 0000 1100 ddN0 0110 *** tsetb @rd */
4325{
4326#ifdef NICENAMES
4327"tsetb @rd",8,11,
43280x08,
4329#endif
4330"tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
6840198f 4331 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,406},
252b5132
RH
4332
4333
4334/* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
4335{
4336#ifdef NICENAMES
4337"tsetb address_dst",8,14,
43380x08,
4339#endif
4340"tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
6840198f 4341 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,407},
252b5132
RH
4342
4343
4344/* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
4345{
4346#ifdef NICENAMES
4347"tsetb address_dst(rd)",8,15,
43480x08,
4349#endif
4350"tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
6840198f 4351 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,408},
252b5132
RH
4352
4353
4354/* 1000 1100 dddd 0110 *** tsetb rbd */
4355{
4356#ifdef NICENAMES
4357"tsetb rbd",8,7,
43580x08,
4359#endif
4360"tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
6840198f 4361 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,409},
252b5132
RH
4362
4363
4364/* 0000 1001 ssN0 dddd *** xor rd,@rs */
4365{
4366#ifdef NICENAMES
4367"xor rd,@rs",16,7,
43680x18,
4369#endif
4370"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 4371 {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,410},
252b5132
RH
4372
4373
4374/* 0100 1001 0000 dddd address_src *** xor rd,address_src */
4375{
4376#ifdef NICENAMES
4377"xor rd,address_src",16,9,
43780x18,
4379#endif
4380"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 4381 {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,411},
252b5132
RH
4382
4383
4384/* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
4385{
4386#ifdef NICENAMES
4387"xor rd,address_src(rs)",16,10,
43880x18,
4389#endif
4390"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 4391 {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,412},
252b5132
RH
4392
4393
4394/* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
4395{
4396#ifdef NICENAMES
4397"xor rd,imm16",16,7,
43980x18,
4399#endif
4400"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 4401 {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,413},
252b5132
RH
4402
4403
4404/* 1000 1001 ssss dddd *** xor rd,rs */
4405{
4406#ifdef NICENAMES
4407"xor rd,rs",16,4,
44080x18,
4409#endif
4410"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 4411 {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,414},
252b5132
RH
4412
4413
4414/* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
4415{
4416#ifdef NICENAMES
4417"xorb rbd,@rs",8,7,
44180x1c,
4419#endif
4420"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 4421 {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,415},
252b5132
RH
4422
4423
4424/* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
4425{
4426#ifdef NICENAMES
4427"xorb rbd,address_src",8,9,
44280x1c,
4429#endif
4430"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 4431 {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,416},
252b5132
RH
4432
4433
4434/* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
4435{
4436#ifdef NICENAMES
4437"xorb rbd,address_src(rs)",8,10,
44380x1c,
4439#endif
4440"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 4441 {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,417},
252b5132
RH
4442
4443
4444/* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
4445{
4446#ifdef NICENAMES
4447"xorb rbd,imm8",8,7,
44480x1c,
4449#endif
4450"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 4451 {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,418},
252b5132
RH
4452
4453
4454/* 1000 1000 ssss dddd *** xorb rbd,rbs */
4455{
4456#ifdef NICENAMES
4457"xorb rbd,rbs",8,4,
44580x1c,
4459#endif
4460"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 4461 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,419},
252b5132
RH
4462
4463
4464/* 1000 1000 ssss dddd *** xorb rbd,rbs */
4465{
4466#ifdef NICENAMES
4467"xorb rbd,rbs",8,4,
44680x01,
4469#endif
4470"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 4471 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,420},
28bab82b
NC
4472
4473/* end marker */
4474{
4475#ifdef NICENAMES
4476NULL,0,0,
44770,
4478#endif
4479NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
4480};
252b5132 4481#endif