* alpha-tdep.c (alpha_breakpoint_from_pc): New function.
[deliverable/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
24#define ARG_DISP8 0x0c
25#define ARG_IMM4M1 0x0d
26#define CLASS_MASK 0x1fff0
27#define CLASS_X 0x10
28#define CLASS_BA 0x20
29#define CLASS_DA 0x30
30#define CLASS_BX 0x40
31#define CLASS_DISP 0x50
32#define CLASS_IMM 0x60
33#define CLASS_CC 0x70
34#define CLASS_CTRL 0x80
35#define CLASS_ADDRESS 0xd0
36#define CLASS_0CCC 0xe0
37#define CLASS_1CCC 0xf0
38#define CLASS_0DISP7 0x100
39#define CLASS_1DISP7 0x200
40#define CLASS_01II 0x300
41#define CLASS_00II 0x400
42#define CLASS_BIT 0x500
43#define CLASS_FLAGS 0x600
44#define CLASS_IR 0x700
45#define CLASS_DISP8 0x800
46#define CLASS_BIT_1OR2 0x900
47#define CLASS_REG 0x7000
48#define CLASS_REG_BYTE 0x2000
49#define CLASS_REG_WORD 0x3000
50#define CLASS_REG_QUAD 0x4000
51#define CLASS_REG_LONG 0x5000
52#define CLASS_REGN0 0x8000
53#define CLASS_PR 0x10000
54#define OPC_adc 0
55#define OPC_adcb 1
56#define OPC_add 2
57#define OPC_addb 3
58#define OPC_addl 4
59#define OPC_and 5
60#define OPC_andb 6
61#define OPC_bit 7
62#define OPC_bitb 8
63#define OPC_call 9
64#define OPC_calr 10
65#define OPC_clr 11
66#define OPC_clrb 12
67#define OPC_com 13
68#define OPC_comb 14
69#define OPC_comflg 15
70#define OPC_cp 16
71#define OPC_cpb 17
72#define OPC_cpd 18
73#define OPC_cpdb 19
74#define OPC_cpdr 20
75#define OPC_cpdrb 21
76#define OPC_cpi 22
77#define OPC_cpib 23
78#define OPC_cpir 24
79#define OPC_cpirb 25
80#define OPC_cpl 26
81#define OPC_cpsd 27
82#define OPC_cpsdb 28
83#define OPC_cpsdr 29
84#define OPC_cpsdrb 30
85#define OPC_cpsi 31
86#define OPC_cpsib 32
87#define OPC_cpsir 33
88#define OPC_cpsirb 34
89#define OPC_dab 35
90#define OPC_dbjnz 36
91#define OPC_dec 37
92#define OPC_decb 38
93#define OPC_di 39
94#define OPC_div 40
95#define OPC_divl 41
96#define OPC_djnz 42
97#define OPC_ei 43
98#define OPC_ex 44
99#define OPC_exb 45
100#define OPC_exts 46
101#define OPC_extsb 47
102#define OPC_extsl 48
103#define OPC_halt 49
104#define OPC_in 50
105#define OPC_inb 51
106#define OPC_inc 52
107#define OPC_incb 53
108#define OPC_ind 54
109#define OPC_indb 55
110#define OPC_inib 56
111#define OPC_inibr 57
112#define OPC_iret 58
113#define OPC_jp 59
114#define OPC_jr 60
115#define OPC_ld 61
116#define OPC_lda 62
117#define OPC_ldar 63
118#define OPC_ldb 64
119#define OPC_ldctl 65
120#define OPC_ldir 66
121#define OPC_ldirb 67
122#define OPC_ldk 68
123#define OPC_ldl 69
124#define OPC_ldm 70
125#define OPC_ldps 71
126#define OPC_ldr 72
127#define OPC_ldrb 73
128#define OPC_ldrl 74
129#define OPC_mbit 75
130#define OPC_mreq 76
131#define OPC_mres 77
132#define OPC_mset 78
133#define OPC_mult 79
134#define OPC_multl 80
135#define OPC_neg 81
136#define OPC_negb 82
137#define OPC_nop 83
138#define OPC_or 84
139#define OPC_orb 85
140#define OPC_out 86
141#define OPC_outb 87
142#define OPC_outd 88
143#define OPC_outdb 89
144#define OPC_outib 90
145#define OPC_outibr 91
146#define OPC_pop 92
147#define OPC_popl 93
148#define OPC_push 94
149#define OPC_pushl 95
150#define OPC_res 96
151#define OPC_resb 97
152#define OPC_resflg 98
153#define OPC_ret 99
154#define OPC_rl 100
155#define OPC_rlb 101
156#define OPC_rlc 102
157#define OPC_rlcb 103
158#define OPC_rldb 104
159#define OPC_rr 105
160#define OPC_rrb 106
161#define OPC_rrc 107
162#define OPC_rrcb 108
163#define OPC_rrdb 109
164#define OPC_sbc 110
165#define OPC_sbcb 111
166#define OPC_sda 112
167#define OPC_sdab 113
168#define OPC_sdal 114
169#define OPC_sdl 115
170#define OPC_sdlb 116
171#define OPC_sdll 117
172#define OPC_set 118
173#define OPC_setb 119
174#define OPC_setflg 120
175#define OPC_sinb 121
176#define OPC_sind 122
177#define OPC_sindb 123
178#define OPC_sinib 124
179#define OPC_sinibr 125
180#define OPC_sla 126
181#define OPC_slab 127
182#define OPC_slal 128
183#define OPC_sll 129
184#define OPC_sllb 130
185#define OPC_slll 131
186#define OPC_sout 132
187#define OPC_soutb 133
188#define OPC_soutd 134
189#define OPC_soutdb 135
190#define OPC_soutib 136
191#define OPC_soutibr 137
192#define OPC_sra 138
193#define OPC_srab 139
194#define OPC_sral 140
195#define OPC_srl 141
196#define OPC_srlb 142
197#define OPC_srll 143
198#define OPC_sub 144
199#define OPC_subb 145
200#define OPC_subl 146
201#define OPC_tcc 147
202#define OPC_tccb 148
203#define OPC_test 149
204#define OPC_testb 150
205#define OPC_testl 151
206#define OPC_trdb 152
207#define OPC_trdrb 153
208#define OPC_trib 154
209#define OPC_trirb 155
210#define OPC_trtdrb 156
211#define OPC_trtib 157
212#define OPC_trtirb 158
6840198f 213#define OPC_trtrb 159
252b5132
RH
214#define OPC_tset 160
215#define OPC_tsetb 161
216#define OPC_xor 162
217#define OPC_xorb 163
218#define OPC_ldd 164
219#define OPC_lddb 165
220#define OPC_lddr 166
221#define OPC_lddrb 167
222#define OPC_ldi 168
223#define OPC_ldib 169
224#define OPC_sc 170
225#define OPC_bpt 171
226#define OPC_ext0e 172
227#define OPC_ext0f 172
228#define OPC_ext8e 172
229#define OPC_ext8f 172
230#define OPC_rsvd36 172
231#define OPC_rsvd38 172
232#define OPC_rsvd78 172
233#define OPC_rsvd7e 172
234#define OPC_rsvd9d 172
235#define OPC_rsvd9f 172
236#define OPC_rsvdb9 172
237#define OPC_rsvdbf 172
238#define OPC_outi 173
6840198f
NC
239#define OPC_ldctlb 174
240#define OPC_sin 175
241#define OPC_trtdb 176
252b5132
RH
242typedef struct {
243#ifdef NICENAMES
244char *nicename;
245int type;
246int cycles;
247int flags;
248#endif
249char *name;
250unsigned char opcode;
fc05c67f 251void (*func) PARAMS ((void));
252b5132
RH
252unsigned int arg_info[4];
253unsigned int byte_info[10];
254int noperands;
255int length;
256int idx;
257} opcode_entry_type;
258#ifdef DEFINE_TABLE
259opcode_entry_type z8k_table[] = {
260
261
262/* 1011 0101 ssss dddd *** adc rd,rs */
263{
264#ifdef NICENAMES
265"adc rd,rs",16,5,
2660x3c,
267#endif
268"adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
269 {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
270
271
272/* 1011 0100 ssss dddd *** adcb rbd,rbs */
273{
274#ifdef NICENAMES
275"adcb rbd,rbs",8,5,
2760x3f,
277#endif
278"adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
279 {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
280
281
282/* 0000 0001 ssN0 dddd *** add rd,@rs */
283{
284#ifdef NICENAMES
285"add rd,@rs",16,7,
2860x3c,
287#endif
288"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
289 {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
290
291
292/* 0100 0001 0000 dddd address_src *** add rd,address_src */
293{
294#ifdef NICENAMES
295"add rd,address_src",16,9,
2960x3c,
297#endif
298"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
299 {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
300
301
302/* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
303{
304#ifdef NICENAMES
305"add rd,address_src(rs)",16,10,
3060x3c,
307#endif
308"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
309 {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
310
311
312/* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
313{
314#ifdef NICENAMES
315"add rd,imm16",16,7,
3160x3c,
317#endif
318"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
319 {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
320
321
322/* 1000 0001 ssss dddd *** add rd,rs */
323{
324#ifdef NICENAMES
325"add rd,rs",16,4,
3260x3c,
327#endif
328"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
329 {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
330
331
332/* 0000 0000 ssN0 dddd *** addb rbd,@rs */
333{
334#ifdef NICENAMES
335"addb rbd,@rs",8,7,
3360x3f,
337#endif
338"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
339 {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
340
341
342/* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
343{
344#ifdef NICENAMES
345"addb rbd,address_src",8,9,
3460x3f,
347#endif
348"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
349 {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
350
351
352/* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
353{
354#ifdef NICENAMES
355"addb rbd,address_src(rs)",8,10,
3560x3f,
357#endif
358"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
359 {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
360
361
362/* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
363{
364#ifdef NICENAMES
365"addb rbd,imm8",8,7,
3660x3f,
367#endif
368"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
369 {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},
370
371
372/* 1000 0000 ssss dddd *** addb rbd,rbs */
373{
374#ifdef NICENAMES
375"addb rbd,rbs",8,4,
3760x3f,
377#endif
378"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
379 {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
380
381
382/* 0001 0110 ssN0 dddd *** addl rrd,@rs */
383{
384#ifdef NICENAMES
385"addl rrd,@rs",32,14,
3860x3c,
387#endif
388"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
389 {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
390
391
392/* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
393{
394#ifdef NICENAMES
395"addl rrd,address_src",32,15,
3960x3c,
397#endif
398"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
399 {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
400
401
402/* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
403{
404#ifdef NICENAMES
405"addl rrd,address_src(rs)",32,16,
4060x3c,
407#endif
408"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
409 {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
410
411
412/* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
413{
414#ifdef NICENAMES
415"addl rrd,imm32",32,14,
4160x3c,
417#endif
418"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
419 {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
420
421
422/* 1001 0110 ssss dddd *** addl rrd,rrs */
423{
424#ifdef NICENAMES
425"addl rrd,rrs",32,8,
4260x3c,
427#endif
428"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
429 {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
430
431
432/* 0000 0111 ssN0 dddd *** and rd,@rs */
433{
434#ifdef NICENAMES
435"and rd,@rs",16,7,
4360x18,
437#endif
438"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
439 {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
440
441
442/* 0100 0111 0000 dddd address_src *** and rd,address_src */
443{
444#ifdef NICENAMES
445"and rd,address_src",16,9,
4460x18,
447#endif
448"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
449 {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
450
451
452/* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
453{
454#ifdef NICENAMES
455"and rd,address_src(rs)",16,10,
4560x18,
457#endif
458"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
459 {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
460
461
462/* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
463{
464#ifdef NICENAMES
465"and rd,imm16",16,7,
4660x18,
467#endif
468"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
469 {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
470
471
472/* 1000 0111 ssss dddd *** and rd,rs */
473{
474#ifdef NICENAMES
475"and rd,rs",16,4,
4760x18,
477#endif
478"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
479 {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
480
481
482/* 0000 0110 ssN0 dddd *** andb rbd,@rs */
483{
484#ifdef NICENAMES
485"andb rbd,@rs",8,7,
4860x1c,
487#endif
488"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
489 {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
490
491
492/* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
493{
494#ifdef NICENAMES
495"andb rbd,address_src",8,9,
4960x1c,
497#endif
498"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
499 {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
500
501
502/* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
503{
504#ifdef NICENAMES
505"andb rbd,address_src(rs)",8,10,
5060x1c,
507#endif
508"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
509 {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
510
511
512/* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
513{
514#ifdef NICENAMES
515"andb rbd,imm8",8,7,
5160x1c,
517#endif
518"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
519 {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},
520
521
522/* 1000 0110 ssss dddd *** andb rbd,rbs */
523{
524#ifdef NICENAMES
525"andb rbd,rbs",8,4,
5260x1c,
527#endif
528"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
529 {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
530
531
532/* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
533{
534#ifdef NICENAMES
535"bit @rd,imm4",16,8,
5360x10,
537#endif
538"bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
539 {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
540
541
542/* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
543{
544#ifdef NICENAMES
545"bit address_dst(rd),imm4",16,11,
5460x10,
547#endif
548"bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
549 {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
550
551
552/* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
553{
554#ifdef NICENAMES
555"bit address_dst,imm4",16,10,
5560x10,
557#endif
558"bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
559 {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
560
561
562/* 1010 0111 dddd imm4 *** bit rd,imm4 */
563{
564#ifdef NICENAMES
565"bit rd,imm4",16,4,
5660x10,
567#endif
568"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
569 {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
570
571
572/* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
573{
574#ifdef NICENAMES
575"bit rd,rs",16,10,
5760x10,
577#endif
578"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
579 {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},
580
581
582/* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
583{
584#ifdef NICENAMES
585"bitb @rd,imm4",8,8,
5860x10,
587#endif
588"bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
589 {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
590
591
592/* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
593{
594#ifdef NICENAMES
595"bitb address_dst(rd),imm4",8,11,
5960x10,
597#endif
598"bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
599 {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
600
601
602/* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
603{
604#ifdef NICENAMES
605"bitb address_dst,imm4",8,10,
6060x10,
607#endif
608"bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
609 {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
610
611
612/* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
613{
614#ifdef NICENAMES
615"bitb rbd,imm4",8,4,
6160x10,
617#endif
618"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
619 {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
620
621
622/* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
623{
624#ifdef NICENAMES
625"bitb rbd,rs",8,10,
6260x10,
627#endif
628"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
629 {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},
630
631
632/* 0011 0110 0000 0000 *** bpt */
633{
634#ifdef NICENAMES
635"bpt",8,2,
6360x00,
637#endif
638"bpt",OPC_bpt,0,{0},
639 {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
640
641
642/* 0001 1111 ddN0 0000 *** call @rd */
643{
644#ifdef NICENAMES
645"call @rd",32,10,
6460x00,
647#endif
648"call",OPC_call,0,{CLASS_IR+(ARG_RD),},
649 {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
650
651
652/* 0101 1111 0000 0000 address_dst *** call address_dst */
653{
654#ifdef NICENAMES
655"call address_dst",32,12,
6560x00,
657#endif
658"call",OPC_call,0,{CLASS_DA+(ARG_DST),},
659 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
660
661
662/* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
663{
664#ifdef NICENAMES
665"call address_dst(rd)",32,13,
6660x00,
667#endif
668"call",OPC_call,0,{CLASS_X+(ARG_RD),},
669 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
670
671
672/* 1101 disp12 *** calr disp12 */
673{
674#ifdef NICENAMES
675"calr disp12",16,10,
6760x00,
677#endif
678"calr",OPC_calr,0,{CLASS_DISP,},
679 {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
680
681
682/* 0000 1101 ddN0 1000 *** clr @rd */
683{
684#ifdef NICENAMES
685"clr @rd",16,8,
6860x00,
687#endif
688"clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
689 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
690
691
692/* 0100 1101 0000 1000 address_dst *** clr address_dst */
693{
694#ifdef NICENAMES
695"clr address_dst",16,11,
6960x00,
697#endif
698"clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
699 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
700
701
702/* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
703{
704#ifdef NICENAMES
705"clr address_dst(rd)",16,12,
7060x00,
707#endif
708"clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
709 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
710
711
712/* 1000 1101 dddd 1000 *** clr rd */
713{
714#ifdef NICENAMES
715"clr rd",16,7,
7160x00,
717#endif
718"clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
719 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
720
721
722/* 0000 1100 ddN0 1000 *** clrb @rd */
723{
724#ifdef NICENAMES
725"clrb @rd",8,8,
7260x00,
727#endif
728"clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
729 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
730
731
732/* 0100 1100 0000 1000 address_dst *** clrb address_dst */
733{
734#ifdef NICENAMES
735"clrb address_dst",8,11,
7360x00,
737#endif
738"clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
739 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
740
741
742/* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
743{
744#ifdef NICENAMES
745"clrb address_dst(rd)",8,12,
7460x00,
747#endif
748"clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
749 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
750
751
752/* 1000 1100 dddd 1000 *** clrb rbd */
753{
754#ifdef NICENAMES
755"clrb rbd",8,7,
7560x00,
757#endif
758"clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
759 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
760
761
762/* 0000 1101 ddN0 0000 *** com @rd */
763{
764#ifdef NICENAMES
765"com @rd",16,12,
7660x18,
767#endif
768"com",OPC_com,0,{CLASS_IR+(ARG_RD),},
769 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
770
771
772/* 0100 1101 0000 0000 address_dst *** com address_dst */
773{
774#ifdef NICENAMES
775"com address_dst",16,15,
7760x18,
777#endif
778"com",OPC_com,0,{CLASS_DA+(ARG_DST),},
779 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
780
781
782/* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
783{
784#ifdef NICENAMES
785"com address_dst(rd)",16,16,
7860x18,
787#endif
788"com",OPC_com,0,{CLASS_X+(ARG_RD),},
789 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
790
791
792/* 1000 1101 dddd 0000 *** com rd */
793{
794#ifdef NICENAMES
795"com rd",16,7,
7960x18,
797#endif
798"com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
799 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
800
801
802/* 0000 1100 ddN0 0000 *** comb @rd */
803{
804#ifdef NICENAMES
805"comb @rd",8,12,
8060x1c,
807#endif
808"comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
809 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
810
811
812/* 0100 1100 0000 0000 address_dst *** comb address_dst */
813{
814#ifdef NICENAMES
815"comb address_dst",8,15,
8160x1c,
817#endif
818"comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
819 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
820
821
822/* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
823{
824#ifdef NICENAMES
825"comb address_dst(rd)",8,16,
8260x1c,
827#endif
828"comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
829 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
830
831
832/* 1000 1100 dddd 0000 *** comb rbd */
833{
834#ifdef NICENAMES
835"comb rbd",8,7,
8360x1c,
837#endif
838"comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
839 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
840
841
842/* 1000 1101 flags 0101 *** comflg flags */
843{
844#ifdef NICENAMES
845"comflg flags",16,7,
8460x3c,
847#endif
848"comflg",OPC_comflg,0,{CLASS_FLAGS,},
849 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,58},
850
851
852/* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
853{
854#ifdef NICENAMES
855"cp @rd,imm16",16,11,
8560x3c,
857#endif
858"cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
859 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
860
861
862/* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
863{
864#ifdef NICENAMES
865"cp address_dst(rd),imm16",16,15,
8660x3c,
867#endif
868"cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
869 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,60},
870
871
872/* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
873{
874#ifdef NICENAMES
875"cp address_dst,imm16",16,14,
8760x3c,
877#endif
878"cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
879 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,61},
880
881
882/* 0000 1011 ssN0 dddd *** cp rd,@rs */
883{
884#ifdef NICENAMES
885"cp rd,@rs",16,7,
8860x3c,
887#endif
888"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
889 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
890
891
892/* 0100 1011 0000 dddd address_src *** cp rd,address_src */
893{
894#ifdef NICENAMES
895"cp rd,address_src",16,9,
8960x3c,
897#endif
898"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
899 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
900
901
902/* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
903{
904#ifdef NICENAMES
905"cp rd,address_src(rs)",16,10,
9060x3c,
907#endif
908"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
909 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
910
911
912/* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
913{
914#ifdef NICENAMES
915"cp rd,imm16",16,7,
9160x3c,
917#endif
918"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
919 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
920
921
922/* 1000 1011 ssss dddd *** cp rd,rs */
923{
924#ifdef NICENAMES
925"cp rd,rs",16,4,
9260x3c,
927#endif
928"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
929 {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
930
931
932/* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
933{
934#ifdef NICENAMES
935"cpb @rd,imm8",8,11,
9360x3c,
937#endif
938"cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
939 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,67},
940
941
942/* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
943{
944#ifdef NICENAMES
945"cpb address_dst(rd),imm8",8,15,
9460x3c,
947#endif
948"cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
949 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,68},
950
951
952/* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
953{
954#ifdef NICENAMES
955"cpb address_dst,imm8",8,14,
9560x3c,
957#endif
958"cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
959 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,69},
960
961
962/* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
963{
964#ifdef NICENAMES
965"cpb rbd,@rs",8,7,
9660x3c,
967#endif
968"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
969 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
970
971
972/* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
973{
974#ifdef NICENAMES
975"cpb rbd,address_src",8,9,
9760x3c,
977#endif
978"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
979 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
980
981
982/* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
983{
984#ifdef NICENAMES
985"cpb rbd,address_src(rs)",8,10,
9860x3c,
987#endif
988"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
989 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
990
991
992/* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
993{
994#ifdef NICENAMES
995"cpb rbd,imm8",8,7,
9960x3c,
997#endif
998"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
999 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,73},
1000
1001
1002/* 1000 1010 ssss dddd *** cpb rbd,rbs */
1003{
1004#ifdef NICENAMES
1005"cpb rbd,rbs",8,4,
10060x3c,
1007#endif
1008"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1009 {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1010
1011
1012/* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
1013{
1014#ifdef NICENAMES
1015"cpd rd,@rs,rr,cc",16,11,
10160x3c,
1017#endif
1018"cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1019 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,75},
1020
1021
1022/* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
1023{
1024#ifdef NICENAMES
1025"cpdb rbd,@rs,rr,cc",8,11,
10260x3c,
1027#endif
1028"cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1029 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
1030
1031
1032/* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
1033{
1034#ifdef NICENAMES
1035"cpdr rd,@rs,rr,cc",16,11,
10360x3c,
1037#endif
1038"cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1039 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,77},
1040
1041
1042/* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
1043{
1044#ifdef NICENAMES
1045"cpdrb rbd,@rs,rr,cc",8,11,
10460x3c,
1047#endif
1048"cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1049 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,78},
1050
1051
1052/* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
1053{
1054#ifdef NICENAMES
1055"cpi rd,@rs,rr,cc",16,11,
10560x3c,
1057#endif
1058"cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1059 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,79},
1060
1061
1062/* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
1063{
1064#ifdef NICENAMES
1065"cpib rbd,@rs,rr,cc",8,11,
10660x3c,
1067#endif
1068"cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1069 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,80},
1070
1071
1072/* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
1073{
1074#ifdef NICENAMES
1075"cpir rd,@rs,rr,cc",16,11,
10760x3c,
1077#endif
1078"cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1079 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,81},
1080
1081
1082/* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
1083{
1084#ifdef NICENAMES
1085"cpirb rbd,@rs,rr,cc",8,11,
10860x3c,
1087#endif
1088"cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1089 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,82},
1090
1091
1092/* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
1093{
1094#ifdef NICENAMES
1095"cpl rrd,@rs",32,14,
10960x3c,
1097#endif
1098"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1099 {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
1100
1101
1102/* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
1103{
1104#ifdef NICENAMES
1105"cpl rrd,address_src",32,15,
11060x3c,
1107#endif
1108"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1109 {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
1110
1111
1112/* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
1113{
1114#ifdef NICENAMES
1115"cpl rrd,address_src(rs)",32,16,
11160x3c,
1117#endif
1118"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1119 {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
1120
1121
1122/* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1123{
1124#ifdef NICENAMES
1125"cpl rrd,imm32",32,14,
11260x3c,
1127#endif
1128"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1129 {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
1130
1131
1132/* 1001 0000 ssss dddd *** cpl rrd,rrs */
1133{
1134#ifdef NICENAMES
1135"cpl rrd,rrs",32,8,
11360x3c,
1137#endif
1138"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1139 {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
1140
1141
1142/* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1143{
1144#ifdef NICENAMES
1145"cpsd @rd,@rs,rr,cc",16,11,
11460x3c,
1147#endif
1148"cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1149 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,88},
1150
1151
1152/* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1153{
1154#ifdef NICENAMES
1155"cpsdb @rd,@rs,rr,cc",8,11,
11560x3c,
1157#endif
1158"cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1159 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,89},
1160
1161
1162/* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1163{
1164#ifdef NICENAMES
1165"cpsdr @rd,@rs,rr,cc",16,11,
11660x3c,
1167#endif
1168"cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1169 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,90},
1170
1171
1172/* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1173{
1174#ifdef NICENAMES
1175"cpsdrb @rd,@rs,rr,cc",8,11,
11760x3c,
1177#endif
1178"cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1179 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,91},
1180
1181
1182/* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1183{
1184#ifdef NICENAMES
1185"cpsi @rd,@rs,rr,cc",16,11,
11860x3c,
1187#endif
1188"cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1189 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,92},
1190
1191
1192/* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1193{
1194#ifdef NICENAMES
1195"cpsib @rd,@rs,rr,cc",8,11,
11960x3c,
1197#endif
1198"cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1199 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,93},
1200
1201
1202/* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1203{
1204#ifdef NICENAMES
1205"cpsir @rd,@rs,rr,cc",16,11,
12060x3c,
1207#endif
1208"cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1209 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,94},
1210
1211
1212/* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1213{
1214#ifdef NICENAMES
1215"cpsirb @rd,@rs,rr,cc",8,11,
12160x3c,
1217#endif
1218"cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1219 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,95},
1220
1221
1222/* 1011 0000 dddd 0000 *** dab rbd */
1223{
1224#ifdef NICENAMES
1225"dab rbd",8,5,
12260x38,
1227#endif
1228"dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1229 {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
1230
1231
1232/* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1233{
1234#ifdef NICENAMES
1235"dbjnz rbd,disp7",16,11,
12360x00,
1237#endif
1238"dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1239 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,97},
1240
1241
1242/* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1243{
1244#ifdef NICENAMES
1245"dec @rd,imm4m1",16,11,
12460x1c,
1247#endif
1248"dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1249 {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
1250
1251
1252/* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1253{
1254#ifdef NICENAMES
1255"dec address_dst(rd),imm4m1",16,14,
12560x1c,
1257#endif
1258"dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1259 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
1260
1261
1262/* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1263{
1264#ifdef NICENAMES
1265"dec address_dst,imm4m1",16,13,
12660x1c,
1267#endif
1268"dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1269 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
1270
1271
1272/* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1273{
1274#ifdef NICENAMES
1275"dec rd,imm4m1",16,4,
12760x1c,
1277#endif
1278"dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1279 {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
1280
1281
1282/* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1283{
1284#ifdef NICENAMES
1285"decb @rd,imm4m1",8,11,
12860x1c,
1287#endif
1288"decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1289 {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
1290
1291
1292/* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1293{
1294#ifdef NICENAMES
1295"decb address_dst(rd),imm4m1",8,14,
12960x1c,
1297#endif
1298"decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1299 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
1300
1301
1302/* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1303{
1304#ifdef NICENAMES
1305"decb address_dst,imm4m1",8,13,
13060x1c,
1307#endif
1308"decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1309 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
1310
1311
1312/* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1313{
1314#ifdef NICENAMES
1315"decb rbd,imm4m1",8,4,
13160x1c,
1317#endif
1318"decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1319 {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
1320
1321
1322/* 0111 1100 0000 00ii *** di i2 */
1323{
1324#ifdef NICENAMES
1325"di i2",16,7,
13260x00,
1327#endif
1328"di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1329 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
1330
1331
1332/* 0001 1011 ssN0 dddd *** div rrd,@rs */
1333{
1334#ifdef NICENAMES
1335"div rrd,@rs",16,107,
13360x3c,
1337#endif
1338"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1339 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
1340
1341
1342/* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1343{
1344#ifdef NICENAMES
1345"div rrd,address_src",16,107,
13460x3c,
1347#endif
1348"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1349 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
1350
1351
1352/* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1353{
1354#ifdef NICENAMES
1355"div rrd,address_src(rs)",16,107,
13560x3c,
1357#endif
1358"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1359 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
1360
1361
1362/* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1363{
1364#ifdef NICENAMES
1365"div rrd,imm16",16,107,
13660x3c,
1367#endif
1368"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1369 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
1370
1371
1372/* 1001 1011 ssss dddd *** div rrd,rs */
1373{
1374#ifdef NICENAMES
1375"div rrd,rs",16,107,
13760x3c,
1377#endif
1378"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1379 {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
1380
1381
1382/* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1383{
1384#ifdef NICENAMES
1385"divl rqd,@rs",32,744,
13860x3c,
1387#endif
1388"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1389 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
1390
1391
1392/* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1393{
1394#ifdef NICENAMES
1395"divl rqd,address_src",32,745,
13960x3c,
1397#endif
1398"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1399 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
1400
1401
1402/* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1403{
1404#ifdef NICENAMES
1405"divl rqd,address_src(rs)",32,746,
14060x3c,
1407#endif
1408"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1409 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
1410
1411
1412/* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1413{
1414#ifdef NICENAMES
1415"divl rqd,imm32",32,744,
14160x3c,
1417#endif
1418"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1419 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
1420
1421
1422/* 1001 1010 ssss dddd *** divl rqd,rrs */
1423{
1424#ifdef NICENAMES
1425"divl rqd,rrs",32,744,
14260x3c,
1427#endif
1428"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1429 {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
1430
1431
1432/* 1111 dddd 1disp7 *** djnz rd,disp7 */
1433{
1434#ifdef NICENAMES
1435"djnz rd,disp7",16,11,
14360x00,
1437#endif
1438"djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1439 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,117},
1440
1441
1442/* 0111 1100 0000 01ii *** ei i2 */
1443{
1444#ifdef NICENAMES
1445"ei i2",16,7,
14460x00,
1447#endif
1448"ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1449 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
1450
1451
1452/* 0010 1101 ssN0 dddd *** ex rd,@rs */
1453{
1454#ifdef NICENAMES
1455"ex rd,@rs",16,12,
14560x00,
1457#endif
1458"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1459 {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
1460
1461
1462/* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1463{
1464#ifdef NICENAMES
1465"ex rd,address_src",16,15,
14660x00,
1467#endif
1468"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1469 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
1470
1471
1472/* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1473{
1474#ifdef NICENAMES
1475"ex rd,address_src(rs)",16,16,
14760x00,
1477#endif
1478"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1479 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
1480
1481
1482/* 1010 1101 ssss dddd *** ex rd,rs */
1483{
1484#ifdef NICENAMES
1485"ex rd,rs",16,6,
14860x00,
1487#endif
1488"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1489 {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
1490
1491
1492/* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1493{
1494#ifdef NICENAMES
1495"exb rbd,@rs",8,12,
14960x00,
1497#endif
1498"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1499 {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
1500
1501
1502/* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1503{
1504#ifdef NICENAMES
1505"exb rbd,address_src",8,15,
15060x00,
1507#endif
1508"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1509 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
1510
1511
1512/* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1513{
1514#ifdef NICENAMES
1515"exb rbd,address_src(rs)",8,16,
15160x00,
1517#endif
1518"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1519 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
1520
1521
1522/* 1010 1100 ssss dddd *** exb rbd,rbs */
1523{
1524#ifdef NICENAMES
1525"exb rbd,rbs",8,6,
15260x00,
1527#endif
1528"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1529 {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
1530
1531
1532/* 0000 1110 imm8 *** ext0e imm8 */
1533{
1534#ifdef NICENAMES
1535"ext0e imm8",8,10,
15360x00,
1537#endif
1538"ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1539 {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
1540
1541
1542/* 0000 1111 imm8 *** ext0f imm8 */
1543{
1544#ifdef NICENAMES
1545"ext0f imm8",8,10,
15460x00,
1547#endif
1548"ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1549 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
1550
1551
1552/* 1000 1110 imm8 *** ext8e imm8 */
1553{
1554#ifdef NICENAMES
1555"ext8e imm8",8,10,
15560x00,
1557#endif
1558"ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1559 {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
1560
1561
1562/* 1000 1111 imm8 *** ext8f imm8 */
1563{
1564#ifdef NICENAMES
1565"ext8f imm8",8,10,
15660x00,
1567#endif
1568"ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1569 {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
1570
1571
1572/* 1011 0001 dddd 1010 *** exts rrd */
1573{
1574#ifdef NICENAMES
1575"exts rrd",16,11,
15760x00,
1577#endif
1578"exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1579 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
1580
1581
1582/* 1011 0001 dddd 0000 *** extsb rd */
1583{
1584#ifdef NICENAMES
1585"extsb rd",8,11,
15860x00,
1587#endif
1588"extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1589 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
1590
1591
1592/* 1011 0001 dddd 0111 *** extsl rqd */
1593{
1594#ifdef NICENAMES
1595"extsl rqd",32,11,
15960x00,
1597#endif
1598"extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1599 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
1600
1601
1602/* 0111 1010 0000 0000 *** halt */
1603{
1604#ifdef NICENAMES
1605"halt",16,8,
16060x00,
1607#endif
1608"halt",OPC_halt,0,{0},
1609 {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
1610
1611
1612/* 0011 1101 ssN0 dddd *** in rd,@rs */
1613{
1614#ifdef NICENAMES
1615"in rd,@rs",16,10,
16160x00,
1617#endif
1618"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1619 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
1620
1621
1622/* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
1623{
1624#ifdef NICENAMES
1625"in rd,imm16",16,12,
16260x00,
1627#endif
1628"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1629 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
1630
1631
1632/* 0011 1100 ssN0 dddd *** inb rbd,@rs */
1633{
1634#ifdef NICENAMES
1635"inb rbd,@rs",8,12,
16360x00,
1637#endif
1638"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1639 {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
1640
1641
1642/* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1643{
1644#ifdef NICENAMES
1645"inb rbd,imm16",8,10,
16460x00,
1647#endif
1648"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1649 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
1650
1651
1652/* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1653{
1654#ifdef NICENAMES
1655"inc @rd,imm4m1",16,11,
16560x1c,
1657#endif
1658"inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1659 {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
1660
1661
1662/* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1663{
1664#ifdef NICENAMES
1665"inc address_dst(rd),imm4m1",16,14,
16660x1c,
1667#endif
1668"inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1669 {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
1670
1671
1672/* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1673{
1674#ifdef NICENAMES
1675"inc address_dst,imm4m1",16,13,
16760x1c,
1677#endif
1678"inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1679 {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
1680
1681
1682/* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1683{
1684#ifdef NICENAMES
1685"inc rd,imm4m1",16,4,
16860x1c,
1687#endif
1688"inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1689 {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
1690
1691
1692/* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1693{
1694#ifdef NICENAMES
1695"incb @rd,imm4m1",8,11,
16960x1c,
1697#endif
1698"incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1699 {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
1700
1701
1702/* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1703{
1704#ifdef NICENAMES
1705"incb address_dst(rd),imm4m1",8,14,
17060x1c,
1707#endif
1708"incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1709 {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
1710
1711
1712/* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1713{
1714#ifdef NICENAMES
1715"incb address_dst,imm4m1",8,13,
17160x1c,
1717#endif
1718"incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1719 {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
1720
1721
1722/* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1723{
1724#ifdef NICENAMES
1725"incb rbd,imm4m1",8,4,
17260x1c,
1727#endif
1728"incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1729 {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
1730
1731
1732/* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
1733{
1734#ifdef NICENAMES
1735"ind @rd,@rs,ra",16,21,
17360x04,
1737#endif
1738"ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1739 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
1740
1741
1742/* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
1743{
1744#ifdef NICENAMES
1745"indb @rd,@rs,rba",8,21,
17460x04,
1747#endif
1748"indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
1749 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
1750
1751
1752/* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
1753{
1754#ifdef NICENAMES
1755"inib @rd,@rs,ra",8,21,
17560x04,
1757#endif
1758"inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1759 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
1760
1761
1762/* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
1763{
1764#ifdef NICENAMES
1765"inibr @rd,@rs,ra",16,21,
17660x04,
1767#endif
1768"inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1769 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
1770
1771
1772/* 0111 1011 0000 0000 *** iret */
1773{
1774#ifdef NICENAMES
1775"iret",16,13,
17760x3f,
1777#endif
1778"iret",OPC_iret,0,{0},
1779 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
1780
1781
1782/* 0001 1110 ddN0 cccc *** jp cc,@rd */
1783{
1784#ifdef NICENAMES
1785"jp cc,@rd",16,10,
17860x00,
1787#endif
1788"jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1789 {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
1790
1791
1792/* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1793{
1794#ifdef NICENAMES
1795"jp cc,address_dst",16,7,
17960x00,
1797#endif
1798"jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1799 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
1800
1801
1802/* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1803{
1804#ifdef NICENAMES
1805"jp cc,address_dst(rd)",16,8,
18060x00,
1807#endif
1808"jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1809 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
1810
1811
1812/* 1110 cccc disp8 *** jr cc,disp8 */
1813{
1814#ifdef NICENAMES
1815"jr cc,disp8",16,6,
18160x00,
1817#endif
1818"jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1819 {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
1820
1821
1822/* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1823{
1824#ifdef NICENAMES
1825"ld @rd,imm16",16,7,
18260x00,
1827#endif
1828"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1829 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
1830
1831
1832/* 0010 1111 ddN0 ssss *** ld @rd,rs */
1833{
1834#ifdef NICENAMES
1835"ld @rd,rs",16,8,
18360x00,
1837#endif
1838"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1839 {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
1840
1841
1842/* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1843{
1844#ifdef NICENAMES
1845"ld address_dst(rd),imm16",16,15,
18460x00,
1847#endif
1848"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1849 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,158},
1850
1851
1852/* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1853{
1854#ifdef NICENAMES
1855"ld address_dst(rd),rs",16,12,
18560x00,
1857#endif
1858"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1859 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
1860
1861
1862/* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1863{
1864#ifdef NICENAMES
1865"ld address_dst,imm16",16,14,
18660x00,
1867#endif
1868"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1869 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,160},
1870
1871
1872/* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1873{
1874#ifdef NICENAMES
1875"ld address_dst,rs",16,11,
18760x00,
1877#endif
1878"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1879 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
1880
1881
1882/* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1883{
1884#ifdef NICENAMES
1885"ld rd(imm16),rs",16,14,
18860x00,
1887#endif
1888"ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1889 {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
1890
1891
1892/* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1893{
1894#ifdef NICENAMES
1895"ld rd(rx),rs",16,14,
18960x00,
1897#endif
1898"ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1899 {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,163},
1900
1901
1902/* 0010 0001 ssN0 dddd *** ld rd,@rs */
1903{
1904#ifdef NICENAMES
1905"ld rd,@rs",16,7,
19060x00,
1907#endif
1908"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1909 {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
1910
1911
1912/* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1913{
1914#ifdef NICENAMES
1915"ld rd,address_src",16,9,
19160x00,
1917#endif
1918"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1919 {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
1920
1921
1922/* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1923{
1924#ifdef NICENAMES
1925"ld rd,address_src(rs)",16,10,
19260x00,
1927#endif
1928"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1929 {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
1930
1931
1932/* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1933{
1934#ifdef NICENAMES
1935"ld rd,imm16",16,7,
19360x00,
1937#endif
1938"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1939 {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
1940
1941
1942/* 1010 0001 ssss dddd *** ld rd,rs */
1943{
1944#ifdef NICENAMES
1945"ld rd,rs",16,3,
19460x00,
1947#endif
1948"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1949 {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
1950
1951
1952/* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1953{
1954#ifdef NICENAMES
1955"ld rd,rs(imm16)",16,14,
19560x00,
1957#endif
1958"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1959 {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
1960
1961
1962/* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1963{
1964#ifdef NICENAMES
1965"ld rd,rs(rx)",16,14,
19660x00,
1967#endif
1968"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1969 {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,170},
1970
1971
1972/* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1973{
1974#ifdef NICENAMES
1975"lda prd,address_src",16,12,
19760x00,
1977#endif
1978"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1979 {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
1980
1981
1982/* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1983{
1984#ifdef NICENAMES
1985"lda prd,address_src(rs)",16,13,
19860x00,
1987#endif
1988"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1989 {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
1990
1991
1992/* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1993{
1994#ifdef NICENAMES
1995"lda prd,rs(imm16)",16,15,
19960x00,
1997#endif
1998"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
1999 {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
2000
2001
2002/* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
2003{
2004#ifdef NICENAMES
2005"lda prd,rs(rx)",16,15,
20060x00,
2007#endif
2008"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
2009 {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,174},
2010
2011
2012/* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
2013{
2014#ifdef NICENAMES
2015"ldar prd,disp16",16,15,
20160x00,
2017#endif
2018"ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
2019 {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
2020
2021
2022/* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
2023{
2024#ifdef NICENAMES
2025"ldb @rd,imm8",8,7,
20260x00,
2027#endif
2028"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2029 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,176},
2030
2031
2032/* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
2033{
2034#ifdef NICENAMES
2035"ldb @rd,rbs",8,8,
20360x00,
2037#endif
2038"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2039 {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
2040
2041
2042/* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
2043{
2044#ifdef NICENAMES
2045"ldb address_dst(rd),imm8",8,15,
20460x00,
2047#endif
2048"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2049 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,178},
2050
2051
2052/* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
2053{
2054#ifdef NICENAMES
2055"ldb address_dst(rd),rbs",8,12,
20560x00,
2057#endif
2058"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2059 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
2060
2061
2062/* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
2063{
2064#ifdef NICENAMES
2065"ldb address_dst,imm8",8,14,
20660x00,
2067#endif
2068"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
2069 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,180},
2070
2071
2072/* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
2073{
2074#ifdef NICENAMES
2075"ldb address_dst,rbs",8,11,
20760x00,
2077#endif
2078"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
2079 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
2080
2081
2082/* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
2083{
2084#ifdef NICENAMES
2085"ldb rbd,@rs",8,7,
20860x00,
2087#endif
2088"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2089 {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
2090
2091
2092/* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
2093{
2094#ifdef NICENAMES
2095"ldb rbd,address_src",8,9,
20960x00,
2097#endif
2098"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2099 {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
2100
2101
2102/* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
2103{
2104#ifdef NICENAMES
2105"ldb rbd,address_src(rs)",8,10,
21060x00,
2107#endif
2108"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2109 {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
2110
2111
2112/* 1100 dddd imm8 *** ldb rbd,imm8 */
2113{
2114#ifdef NICENAMES
2115"ldb rbd,imm8",8,5,
21160x00,
2117#endif
2118"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2119 {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
2120
2121
2122/* 1010 0000 ssss dddd *** ldb rbd,rbs */
2123{
2124#ifdef NICENAMES
2125"ldb rbd,rbs",8,3,
21260x00,
2127#endif
2128"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2129 {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
2130
2131
2132/* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
2133{
2134#ifdef NICENAMES
2135"ldb rbd,rs(imm16)",8,14,
21360x00,
2137#endif
2138"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
2139 {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
2140
2141
2142/* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
2143{
2144#ifdef NICENAMES
2145"ldb rbd,rs(rx)",8,14,
21460x00,
2147#endif
2148"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
2149 {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,188},
2150
2151
2152/* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
2153{
2154#ifdef NICENAMES
2155"ldb rd(imm16),rbs",8,14,
21560x00,
2157#endif
2158"ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2159 {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
2160
2161
2162/* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
2163{
2164#ifdef NICENAMES
2165"ldb rd(rx),rbs",8,14,
21660x00,
2167#endif
2168"ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2169 {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,190},
2170
2171
2172/* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
2173{
2174#ifdef NICENAMES
2175"ldctl ctrl,rs",32,7,
21760x00,
2177#endif
2178"ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
2179 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
2180
2181
2182/* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
2183{
2184#ifdef NICENAMES
2185"ldctl rd,ctrl",32,7,
21860x00,
2187#endif
2188"ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
2189 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
2190
2191
6840198f
NC
2192/* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
2193{
2194#ifdef NICENAMES
2195"ldctlb ctrl,rbs",32,7,
21960x3f,
2197#endif
2198"ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
2199 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,193},
2200
2201
2202/* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
2203{
2204#ifdef NICENAMES
2205"ldctlb rbd,ctrl",32,7,
22060x00,
2207#endif
2208"ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
2209 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,194},
2210
2211
252b5132
RH
2212/* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
2213{
2214#ifdef NICENAMES
2215"ldd @rd,@rs,rr",16,11,
22160x04,
2217#endif
2218"ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2219 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,195},
252b5132
RH
2220
2221
2222/* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
2223{
2224#ifdef NICENAMES
2225"lddb @rd,@rs,rr",8,11,
22260x04,
2227#endif
2228"lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2229 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,196},
252b5132
RH
2230
2231
2232/* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
2233{
2234#ifdef NICENAMES
2235"lddr @rd,@rs,rr",16,11,
22360x04,
2237#endif
2238"lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2239 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,197},
252b5132
RH
2240
2241
2242/* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
2243{
2244#ifdef NICENAMES
2245"lddrb @rd,@rs,rr",8,11,
22460x04,
2247#endif
2248"lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2249 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,198},
252b5132
RH
2250
2251
2252/* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
2253{
2254#ifdef NICENAMES
2255"ldi @rd,@rs,rr",16,11,
22560x04,
2257#endif
2258"ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2259 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,199},
252b5132
RH
2260
2261
2262/* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
2263{
2264#ifdef NICENAMES
2265"ldib @rd,@rs,rr",8,11,
22660x04,
2267#endif
2268"ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2269 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,200},
252b5132
RH
2270
2271
2272/* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
2273{
2274#ifdef NICENAMES
2275"ldir @rd,@rs,rr",16,11,
22760x04,
2277#endif
2278"ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2279 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,201},
252b5132
RH
2280
2281
2282/* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
2283{
2284#ifdef NICENAMES
2285"ldirb @rd,@rs,rr",8,11,
22860x04,
2287#endif
2288"ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
6840198f 2289 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,202},
252b5132
RH
2290
2291
2292/* 1011 1101 dddd imm4 *** ldk rd,imm4 */
2293{
2294#ifdef NICENAMES
2295"ldk rd,imm4",16,5,
22960x00,
2297#endif
2298"ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 2299 {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,203},
252b5132
RH
2300
2301
2302/* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
2303{
2304#ifdef NICENAMES
2305"ldl @rd,rrs",32,11,
23060x00,
2307#endif
2308"ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2309 {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,204},
252b5132
RH
2310
2311
2312/* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
2313{
2314#ifdef NICENAMES
2315"ldl address_dst(rd),rrs",32,14,
23160x00,
2317#endif
2318"ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2319 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,205},
252b5132
RH
2320
2321
2322/* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2323{
2324#ifdef NICENAMES
2325"ldl address_dst,rrs",32,15,
23260x00,
2327#endif
2328"ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
6840198f 2329 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,206},
252b5132
RH
2330
2331
2332/* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2333{
2334#ifdef NICENAMES
2335"ldl rd(imm16),rrs",32,17,
23360x00,
2337#endif
2338"ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2339 {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,207},
252b5132
RH
2340
2341
2342/* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2343{
2344#ifdef NICENAMES
2345"ldl rd(rx),rrs",32,17,
23460x00,
2347#endif
2348"ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2349 {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,208},
252b5132
RH
2350
2351
2352/* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2353{
2354#ifdef NICENAMES
2355"ldl rrd,@rs",32,11,
23560x00,
2357#endif
2358"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2359 {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,209},
252b5132
RH
2360
2361
2362/* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2363{
2364#ifdef NICENAMES
2365"ldl rrd,address_src",32,12,
23660x00,
2367#endif
2368"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2369 {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,210},
252b5132
RH
2370
2371
2372/* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2373{
2374#ifdef NICENAMES
2375"ldl rrd,address_src(rs)",32,13,
23760x00,
2377#endif
2378"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2379 {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,211},
252b5132
RH
2380
2381
2382/* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2383{
2384#ifdef NICENAMES
2385"ldl rrd,imm32",32,11,
23860x00,
2387#endif
2388"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6840198f 2389 {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,212},
252b5132
RH
2390
2391
2392/* 1001 0100 ssss dddd *** ldl rrd,rrs */
2393{
2394#ifdef NICENAMES
2395"ldl rrd,rrs",32,5,
23960x00,
2397#endif
2398"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2399 {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,213},
252b5132
RH
2400
2401
2402/* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2403{
2404#ifdef NICENAMES
2405"ldl rrd,rs(imm16)",32,17,
24060x00,
2407#endif
2408"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
6840198f 2409 {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,214},
252b5132
RH
2410
2411
2412/* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2413{
2414#ifdef NICENAMES
2415"ldl rrd,rs(rx)",32,17,
24160x00,
2417#endif
2418"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
6840198f 2419 {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,215},
252b5132
RH
2420
2421
2422/* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
2423{
2424#ifdef NICENAMES
2425"ldm @rd,rs,n",16,11,
24260x00,
2427#endif
2428"ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
6840198f 2429 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,216},
252b5132
RH
2430
2431
2432/* 0101 1100 ddN0 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
2433{
2434#ifdef NICENAMES
2435"ldm address_dst(rd),rs,n",16,15,
24360x00,
2437#endif
2438"ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
6840198f 2439 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,217},
252b5132
RH
2440
2441
2442/* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
2443{
2444#ifdef NICENAMES
2445"ldm address_dst,rs,n",16,14,
24460x00,
2447#endif
2448"ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
6840198f 2449 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,218},
252b5132
RH
2450
2451
2452/* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
2453{
2454#ifdef NICENAMES
2455"ldm rd,@rs,n",16,11,
24560x00,
2457#endif
2458"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
6840198f 2459 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,219},
252b5132
RH
2460
2461
2462/* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
2463{
2464#ifdef NICENAMES
2465"ldm rd,address_src(rs),n",16,15,
24660x00,
2467#endif
2468"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
6840198f 2469 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,220},
252b5132
RH
2470
2471
2472/* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
2473{
2474#ifdef NICENAMES
2475"ldm rd,address_src,n",16,14,
24760x00,
2477#endif
2478"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
6840198f 2479 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,221},
252b5132
RH
2480
2481
2482/* 0011 1001 ssN0 0000 *** ldps @rs */
2483{
2484#ifdef NICENAMES
2485"ldps @rs",16,12,
24860x3f,
2487#endif
2488"ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
6840198f 2489 {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,222},
252b5132
RH
2490
2491
2492/* 0111 1001 0000 0000 address_src *** ldps address_src */
2493{
2494#ifdef NICENAMES
2495"ldps address_src",16,16,
24960x3f,
2497#endif
2498"ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
6840198f 2499 {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
2500
2501
2502/* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2503{
2504#ifdef NICENAMES
2505"ldps address_src(rs)",16,17,
25060x3f,
2507#endif
2508"ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
6840198f 2509 {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,224},
252b5132
RH
2510
2511
2512/* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2513{
2514#ifdef NICENAMES
2515"ldr disp16,rs",16,14,
25160x00,
2517#endif
2518"ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
6840198f 2519 {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
252b5132
RH
2520
2521
2522/* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2523{
2524#ifdef NICENAMES
2525"ldr rd,disp16",16,14,
25260x00,
2527#endif
2528"ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
6840198f 2529 {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
252b5132
RH
2530
2531
2532/* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2533{
2534#ifdef NICENAMES
2535"ldrb disp16,rbs",8,14,
25360x00,
2537#endif
2538"ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
6840198f 2539 {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
252b5132
RH
2540
2541
2542/* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2543{
2544#ifdef NICENAMES
2545"ldrb rbd,disp16",8,14,
25460x00,
2547#endif
2548"ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
6840198f 2549 {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
252b5132
RH
2550
2551
2552/* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2553{
2554#ifdef NICENAMES
2555"ldrl disp16,rrs",32,17,
25560x00,
2557#endif
2558"ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
6840198f 2559 {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,229},
252b5132
RH
2560
2561
2562/* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2563{
2564#ifdef NICENAMES
2565"ldrl rrd,disp16",32,17,
25660x00,
2567#endif
2568"ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
6840198f 2569 {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,230},
252b5132
RH
2570
2571
2572/* 0111 1011 0000 1010 *** mbit */
2573{
2574#ifdef NICENAMES
2575"mbit",16,7,
25760x38,
2577#endif
2578"mbit",OPC_mbit,0,{0},
6840198f 2579 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,231},
252b5132
RH
2580
2581
2582/* 0111 1011 dddd 1101 *** mreq rd */
2583{
2584#ifdef NICENAMES
2585"mreq rd",16,12,
25860x18,
2587#endif
2588"mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 2589 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,232},
252b5132
RH
2590
2591
2592/* 0111 1011 0000 1001 *** mres */
2593{
2594#ifdef NICENAMES
2595"mres",16,5,
25960x00,
2597#endif
2598"mres",OPC_mres,0,{0},
6840198f 2599 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,233},
252b5132
RH
2600
2601
2602/* 0111 1011 0000 1000 *** mset */
2603{
2604#ifdef NICENAMES
2605"mset",16,5,
26060x00,
2607#endif
2608"mset",OPC_mset,0,{0},
6840198f 2609 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,234},
252b5132
RH
2610
2611
2612/* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2613{
2614#ifdef NICENAMES
2615"mult rrd,@rs",16,70,
26160x3c,
2617#endif
2618"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2619 {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,235},
252b5132
RH
2620
2621
2622/* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2623{
2624#ifdef NICENAMES
2625"mult rrd,address_src",16,70,
26260x3c,
2627#endif
2628"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2629 {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,236},
252b5132
RH
2630
2631
2632/* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2633{
2634#ifdef NICENAMES
2635"mult rrd,address_src(rs)",16,70,
26360x3c,
2637#endif
2638"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2639 {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,237},
252b5132
RH
2640
2641
2642/* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2643{
2644#ifdef NICENAMES
2645"mult rrd,imm16",16,70,
26460x3c,
2647#endif
2648"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 2649 {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,238},
252b5132
RH
2650
2651
2652/* 1001 1001 ssss dddd *** mult rrd,rs */
2653{
2654#ifdef NICENAMES
2655"mult rrd,rs",16,70,
26560x3c,
2657#endif
2658"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 2659 {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,239},
252b5132
RH
2660
2661
2662/* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2663{
2664#ifdef NICENAMES
2665"multl rqd,@rs",32,282,
26660x3c,
2667#endif
2668"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2669 {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,240},
252b5132
RH
2670
2671
2672/* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2673{
2674#ifdef NICENAMES
2675"multl rqd,address_src",32,282,
26760x3c,
2677#endif
2678"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2679 {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,241},
252b5132
RH
2680
2681
2682/* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2683{
2684#ifdef NICENAMES
2685"multl rqd,address_src(rs)",32,282,
26860x3c,
2687#endif
2688"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2689 {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,242},
252b5132
RH
2690
2691
2692/* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2693{
2694#ifdef NICENAMES
2695"multl rqd,imm32",32,282,
26960x3c,
2697#endif
2698"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6840198f 2699 {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,243},
252b5132
RH
2700
2701
2702/* 1001 1000 ssss dddd *** multl rqd,rrs */
2703{
2704#ifdef NICENAMES
2705"multl rqd,rrs",32,282,
27060x3c,
2707#endif
2708"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 2709 {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,244},
252b5132
RH
2710
2711
2712/* 0000 1101 ddN0 0010 *** neg @rd */
2713{
2714#ifdef NICENAMES
2715"neg @rd",16,12,
27160x3c,
2717#endif
2718"neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
6840198f 2719 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,245},
252b5132
RH
2720
2721
2722/* 0100 1101 0000 0010 address_dst *** neg address_dst */
2723{
2724#ifdef NICENAMES
2725"neg address_dst",16,15,
27260x3c,
2727#endif
2728"neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
6840198f 2729 {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
2730
2731
2732/* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2733{
2734#ifdef NICENAMES
2735"neg address_dst(rd)",16,16,
27360x3c,
2737#endif
2738"neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
6840198f 2739 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,247},
252b5132
RH
2740
2741
2742/* 1000 1101 dddd 0010 *** neg rd */
2743{
2744#ifdef NICENAMES
2745"neg rd",16,7,
27460x3c,
2747#endif
2748"neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 2749 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,248},
252b5132
RH
2750
2751
2752/* 0000 1100 ddN0 0010 *** negb @rd */
2753{
2754#ifdef NICENAMES
2755"negb @rd",8,12,
27560x3c,
2757#endif
2758"negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
6840198f 2759 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,249},
252b5132
RH
2760
2761
2762/* 0100 1100 0000 0010 address_dst *** negb address_dst */
2763{
2764#ifdef NICENAMES
2765"negb address_dst",8,15,
27660x3c,
2767#endif
2768"negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
6840198f 2769 {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
2770
2771
2772/* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2773{
2774#ifdef NICENAMES
2775"negb address_dst(rd)",8,16,
27760x3c,
2777#endif
2778"negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
6840198f 2779 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,251},
252b5132
RH
2780
2781
2782/* 1000 1100 dddd 0010 *** negb rbd */
2783{
2784#ifdef NICENAMES
2785"negb rbd",8,7,
27860x3c,
2787#endif
2788"negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
6840198f 2789 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,252},
252b5132
RH
2790
2791
2792/* 1000 1101 0000 0111 *** nop */
2793{
2794#ifdef NICENAMES
2795"nop",16,7,
27960x00,
2797#endif
2798"nop",OPC_nop,0,{0},
6840198f 2799 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,253},
252b5132
RH
2800
2801
2802/* 0000 0101 ssN0 dddd *** or rd,@rs */
2803{
2804#ifdef NICENAMES
2805"or rd,@rs",16,7,
28060x38,
2807#endif
2808"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2809 {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,254},
252b5132
RH
2810
2811
2812/* 0100 0101 0000 dddd address_src *** or rd,address_src */
2813{
2814#ifdef NICENAMES
2815"or rd,address_src",16,9,
28160x38,
2817#endif
2818"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2819 {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,255},
252b5132
RH
2820
2821
2822/* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2823{
2824#ifdef NICENAMES
2825"or rd,address_src(rs)",16,10,
28260x38,
2827#endif
2828"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2829 {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,256},
252b5132
RH
2830
2831
2832/* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2833{
2834#ifdef NICENAMES
2835"or rd,imm16",16,7,
28360x38,
2837#endif
2838"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 2839 {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,257},
252b5132
RH
2840
2841
2842/* 1000 0101 ssss dddd *** or rd,rs */
2843{
2844#ifdef NICENAMES
2845"or rd,rs",16,4,
28460x38,
2847#endif
2848"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 2849 {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,258},
252b5132
RH
2850
2851
2852/* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2853{
2854#ifdef NICENAMES
2855"orb rbd,@rs",8,7,
28560x3c,
2857#endif
2858"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2859 {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,259},
252b5132
RH
2860
2861
2862/* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2863{
2864#ifdef NICENAMES
2865"orb rbd,address_src",8,9,
28660x3c,
2867#endif
2868"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 2869 {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,260},
252b5132
RH
2870
2871
2872/* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2873{
2874#ifdef NICENAMES
2875"orb rbd,address_src(rs)",8,10,
28760x3c,
2877#endif
2878"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 2879 {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,261},
252b5132
RH
2880
2881
2882/* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2883{
2884#ifdef NICENAMES
2885"orb rbd,imm8",8,7,
28860x3c,
2887#endif
2888"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 2889 {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,262},
252b5132
RH
2890
2891
2892/* 1000 0100 ssss dddd *** orb rbd,rbs */
2893{
2894#ifdef NICENAMES
2895"orb rbd,rbs",8,4,
28960x3c,
2897#endif
2898"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 2899 {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,263},
252b5132
RH
2900
2901
2902/* 0011 1111 ddN0 ssss *** out @rd,rs */
2903{
2904#ifdef NICENAMES
2905"out @rd,rs",16,0,
29060x04,
2907#endif
2908"out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 2909 {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
252b5132
RH
2910
2911
2912/* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2913{
2914#ifdef NICENAMES
2915"out imm16,rs",16,0,
29160x04,
2917#endif
2918"out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
6840198f 2919 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
252b5132
RH
2920
2921
2922/* 0011 1110 ddN0 ssss *** outb @rd,rbs */
2923{
2924#ifdef NICENAMES
2925"outb @rd,rbs",8,0,
29260x04,
2927#endif
2928"outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 2929 {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,266},
252b5132
RH
2930
2931
2932/* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2933{
2934#ifdef NICENAMES
2935"outb imm16,rbs",8,0,
29360x04,
2937#endif
2938"outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
6840198f 2939 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,267},
252b5132
RH
2940
2941
2942/* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
2943{
2944#ifdef NICENAMES
2945"outd @rd,@rs,ra",16,0,
29460x04,
2947#endif
2948"outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2949 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
252b5132
RH
2950
2951
2952/* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
2953{
2954#ifdef NICENAMES
2955"outdb @rd,@rs,rba",16,0,
29560x04,
2957#endif
2958"outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 2959 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,269},
252b5132
RH
2960
2961
2962/* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
2963{
2964#ifdef NICENAMES
2965"outi @rd,@rs,ra",16,0,
29660x04,
2967#endif
2968"outi",OPC_outi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2969 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,270},
252b5132
RH
2970
2971
2972/* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
2973{
2974#ifdef NICENAMES
2975"outib @rd,@rs,ra",16,0,
29760x04,
2977#endif
2978"outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2979 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,271},
252b5132
RH
2980
2981
2982/* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
2983{
2984#ifdef NICENAMES
2985"outibr @rd,@rs,ra",16,0,
29860x04,
2987#endif
2988"outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 2989 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,272},
252b5132
RH
2990
2991
2992/* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2993{
2994#ifdef NICENAMES
2995"pop @rd,@rs",16,12,
29960x00,
2997#endif
2998"pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 2999 {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,273},
252b5132
RH
3000
3001
3002/* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
3003{
3004#ifdef NICENAMES
3005"pop address_dst(rd),@rs",16,16,
30060x00,
3007#endif
3008"pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3009 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,274},
252b5132
RH
3010
3011
3012/* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
3013{
3014#ifdef NICENAMES
3015"pop address_dst,@rs",16,16,
30160x00,
3017#endif
3018"pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
6840198f 3019 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,275},
252b5132
RH
3020
3021
3022/* 1001 0111 ssN0 dddd *** pop rd,@rs */
3023{
3024#ifdef NICENAMES
3025"pop rd,@rs",16,8,
30260x00,
3027#endif
3028"pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3029 {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,276},
252b5132
RH
3030
3031
3032/* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
3033{
3034#ifdef NICENAMES
3035"popl @rd,@rs",32,19,
30360x00,
3037#endif
3038"popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3039 {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,277},
252b5132
RH
3040
3041
3042/* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
3043{
3044#ifdef NICENAMES
3045"popl address_dst(rd),@rs",32,23,
30460x00,
3047#endif
3048"popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3049 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,278},
252b5132
RH
3050
3051
3052/* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
3053{
3054#ifdef NICENAMES
3055"popl address_dst,@rs",32,23,
30560x00,
3057#endif
3058"popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
6840198f 3059 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,279},
252b5132
RH
3060
3061
3062/* 1001 0101 ssN0 dddd *** popl rrd,@rs */
3063{
3064#ifdef NICENAMES
3065"popl rrd,@rs",32,12,
30660x00,
3067#endif
3068"popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3069 {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,280},
252b5132
RH
3070
3071
3072/* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
3073{
3074#ifdef NICENAMES
3075"push @rd,@rs",16,13,
30760x00,
3077#endif
3078"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3079 {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,281},
252b5132
RH
3080
3081
3082/* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
3083{
3084#ifdef NICENAMES
3085"push @rd,address_src",16,14,
30860x00,
3087#endif
3088"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3089 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,282},
252b5132
RH
3090
3091
3092/* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
3093{
3094#ifdef NICENAMES
3095"push @rd,address_src(rs)",16,14,
30960x00,
3097#endif
3098"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3099 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,283},
252b5132
RH
3100
3101
3102/* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
3103{
3104#ifdef NICENAMES
3105"push @rd,imm16",16,12,
31060x00,
3107#endif
3108"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 3109 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,284},
252b5132
RH
3110
3111
3112/* 1001 0011 ddN0 ssss *** push @rd,rs */
3113{
3114#ifdef NICENAMES
3115"push @rd,rs",16,9,
31160x00,
3117#endif
3118"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3119 {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,285},
252b5132
RH
3120
3121
3122/* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
3123{
3124#ifdef NICENAMES
3125"pushl @rd,@rs",32,20,
31260x00,
3127#endif
3128"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3129 {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,286},
252b5132
RH
3130
3131
3132/* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
3133{
3134#ifdef NICENAMES
3135"pushl @rd,address_src",32,21,
31360x00,
3137#endif
3138"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3139 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,287},
252b5132
RH
3140
3141
3142/* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
3143{
3144#ifdef NICENAMES
3145"pushl @rd,address_src(rs)",32,21,
31460x00,
3147#endif
3148"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3149 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,288},
252b5132
RH
3150
3151
3152/* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
3153{
3154#ifdef NICENAMES
3155"pushl @rd,rrs",32,12,
31560x00,
3157#endif
3158"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 3159 {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,289},
252b5132
RH
3160
3161
3162/* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
3163{
3164#ifdef NICENAMES
3165"res @rd,imm4",16,11,
31660x00,
3167#endif
3168"res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3169 {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,290},
252b5132
RH
3170
3171
3172/* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
3173{
3174#ifdef NICENAMES
3175"res address_dst(rd),imm4",16,14,
31760x00,
3177#endif
3178"res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3179 {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,291},
252b5132
RH
3180
3181
3182/* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
3183{
3184#ifdef NICENAMES
3185"res address_dst,imm4",16,13,
31860x00,
3187#endif
3188"res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3189 {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,292},
252b5132
RH
3190
3191
3192/* 1010 0011 dddd imm4 *** res rd,imm4 */
3193{
3194#ifdef NICENAMES
3195"res rd,imm4",16,4,
31960x00,
3197#endif
3198"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3199 {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,293},
252b5132
RH
3200
3201
3202/* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
3203{
3204#ifdef NICENAMES
3205"res rd,rs",16,10,
32060x00,
3207#endif
3208"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3209 {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,294},
252b5132
RH
3210
3211
3212/* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
3213{
3214#ifdef NICENAMES
3215"resb @rd,imm4",8,11,
32160x00,
3217#endif
3218"resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3219 {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,295},
252b5132
RH
3220
3221
3222/* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
3223{
3224#ifdef NICENAMES
3225"resb address_dst(rd),imm4",8,14,
32260x00,
3227#endif
3228"resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3229 {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,296},
252b5132
RH
3230
3231
3232/* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
3233{
3234#ifdef NICENAMES
3235"resb address_dst,imm4",8,13,
32360x00,
3237#endif
3238"resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3239 {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,297},
252b5132
RH
3240
3241
3242/* 1010 0010 dddd imm4 *** resb rbd,imm4 */
3243{
3244#ifdef NICENAMES
3245"resb rbd,imm4",8,4,
32460x00,
3247#endif
3248"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3249 {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,298},
252b5132
RH
3250
3251
3252/* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
3253{
3254#ifdef NICENAMES
3255"resb rbd,rs",8,10,
32560x00,
3257#endif
3258"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3259 {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,299},
252b5132
RH
3260
3261
3262/* 1000 1101 flags 0011 *** resflg flags */
3263{
3264#ifdef NICENAMES
3265"resflg flags",16,7,
32660x3c,
3267#endif
3268"resflg",OPC_resflg,0,{CLASS_FLAGS,},
6840198f 3269 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,300},
252b5132
RH
3270
3271
3272/* 1001 1110 0000 cccc *** ret cc */
3273{
3274#ifdef NICENAMES
3275"ret cc",16,10,
32760x00,
3277#endif
3278"ret",OPC_ret,0,{CLASS_CC,},
6840198f 3279 {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,301},
252b5132
RH
3280
3281
3282/* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
3283{
3284#ifdef NICENAMES
3285"rl rd,imm1or2",16,6,
32860x3c,
3287#endif
3288"rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3289 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,302},
252b5132
RH
3290
3291
3292/* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
3293{
3294#ifdef NICENAMES
3295"rlb rbd,imm1or2",8,6,
32960x3c,
3297#endif
3298"rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3299 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,303},
252b5132
RH
3300
3301
3302/* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
3303{
3304#ifdef NICENAMES
3305"rlc rd,imm1or2",16,6,
33060x3c,
3307#endif
3308"rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3309 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,304},
252b5132
RH
3310
3311
3312/* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
3313{
3314#ifdef NICENAMES
3315"rlcb rbd,imm1or2",8,9,
33160x10,
3317#endif
3318"rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3319 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,305},
252b5132
RH
3320
3321
3322/* 1011 1110 aaaa bbbb *** rldb rbb,rba */
3323{
3324#ifdef NICENAMES
3325"rldb rbb,rba",8,9,
33260x10,
3327#endif
3328"rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3329 {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,306},
252b5132
RH
3330
3331
3332/* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
3333{
3334#ifdef NICENAMES
3335"rr rd,imm1or2",16,6,
33360x3c,
3337#endif
3338"rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3339 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,307},
252b5132
RH
3340
3341
3342/* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
3343{
3344#ifdef NICENAMES
3345"rrb rbd,imm1or2",8,6,
33460x3c,
3347#endif
3348"rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3349 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,308},
252b5132
RH
3350
3351
3352/* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
3353{
3354#ifdef NICENAMES
3355"rrc rd,imm1or2",16,6,
33560x3c,
3357#endif
3358"rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3359 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,309},
252b5132
RH
3360
3361
3362/* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
3363{
3364#ifdef NICENAMES
3365"rrcb rbd,imm1or2",8,9,
33660x10,
3367#endif
3368"rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
6840198f 3369 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,310},
252b5132
RH
3370
3371
3372/* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
3373{
3374#ifdef NICENAMES
3375"rrdb rbb,rba",8,9,
33760x10,
3377#endif
3378"rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3379 {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,311},
252b5132
RH
3380
3381
3382/* 0011 0110 imm8 *** rsvd36 */
3383{
3384#ifdef NICENAMES
3385"rsvd36",8,10,
33860x00,
3387#endif
3388"rsvd36",OPC_rsvd36,0,{0},
6840198f 3389 {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
252b5132
RH
3390
3391
3392/* 0011 1000 imm8 *** rsvd38 */
3393{
3394#ifdef NICENAMES
3395"rsvd38",8,10,
33960x00,
3397#endif
3398"rsvd38",OPC_rsvd38,0,{0},
6840198f 3399 {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
252b5132
RH
3400
3401
3402/* 0111 1000 imm8 *** rsvd78 */
3403{
3404#ifdef NICENAMES
3405"rsvd78",8,10,
34060x00,
3407#endif
3408"rsvd78",OPC_rsvd78,0,{0},
6840198f 3409 {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
252b5132
RH
3410
3411
3412/* 0111 1110 imm8 *** rsvd7e */
3413{
3414#ifdef NICENAMES
3415"rsvd7e",8,10,
34160x00,
3417#endif
3418"rsvd7e",OPC_rsvd7e,0,{0},
6840198f 3419 {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
252b5132
RH
3420
3421
3422/* 1001 1101 imm8 *** rsvd9d */
3423{
3424#ifdef NICENAMES
3425"rsvd9d",8,10,
34260x00,
3427#endif
3428"rsvd9d",OPC_rsvd9d,0,{0},
6840198f 3429 {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
252b5132
RH
3430
3431
3432/* 1001 1111 imm8 *** rsvd9f */
3433{
3434#ifdef NICENAMES
3435"rsvd9f",8,10,
34360x00,
3437#endif
3438"rsvd9f",OPC_rsvd9f,0,{0},
6840198f 3439 {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,317},
252b5132
RH
3440
3441
3442/* 1011 1001 imm8 *** rsvdb9 */
3443{
3444#ifdef NICENAMES
3445"rsvdb9",8,10,
34460x00,
3447#endif
3448"rsvdb9",OPC_rsvdb9,0,{0},
6840198f 3449 {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,318},
252b5132
RH
3450
3451
3452/* 1011 1111 imm8 *** rsvdbf */
3453{
3454#ifdef NICENAMES
3455"rsvdbf",8,10,
34560x00,
3457#endif
3458"rsvdbf",OPC_rsvdbf,0,{0},
6840198f 3459 {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,319},
252b5132
RH
3460
3461
3462/* 1011 0111 ssss dddd *** sbc rd,rs */
3463{
3464#ifdef NICENAMES
3465"sbc rd,rs",16,5,
34660x3c,
3467#endif
3468"sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3469 {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,320},
252b5132
RH
3470
3471
3472/* 1011 0110 ssss dddd *** sbcb rbd,rbs */
3473{
3474#ifdef NICENAMES
3475"sbcb rbd,rbs",8,5,
34760x3f,
3477#endif
3478"sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 3479 {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,321},
252b5132
RH
3480
3481
3482/* 0111 1111 imm8 *** sc imm8 */
3483{
3484#ifdef NICENAMES
3485"sc imm8",8,33,
34860x3f,
3487#endif
3488"sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
6840198f 3489 {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,322},
252b5132
RH
3490
3491
3492/* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
3493{
3494#ifdef NICENAMES
3495"sda rd,rs",16,15,
34960x3c,
3497#endif
3498"sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3499 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,323},
252b5132
RH
3500
3501
3502/* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
3503{
3504#ifdef NICENAMES
3505"sdab rbd,rs",8,15,
35060x3c,
3507#endif
3508"sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3509 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,324},
252b5132
RH
3510
3511
3512/* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
3513{
3514#ifdef NICENAMES
3515"sdal rrd,rs",32,15,
35160x3c,
3517#endif
3518"sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3519 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,325},
252b5132
RH
3520
3521
3522/* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
3523{
3524#ifdef NICENAMES
3525"sdl rd,rs",16,15,
35260x38,
3527#endif
3528"sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3529 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,326},
252b5132
RH
3530
3531
3532/* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
3533{
3534#ifdef NICENAMES
3535"sdlb rbd,rs",8,15,
35360x38,
3537#endif
3538"sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3539 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,327},
252b5132
RH
3540
3541
3542/* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3543{
3544#ifdef NICENAMES
3545"sdll rrd,rs",32,15,
35460x38,
3547#endif
3548"sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3549 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,328},
252b5132
RH
3550
3551
3552/* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3553{
3554#ifdef NICENAMES
3555"set @rd,imm4",16,11,
35560x00,
3557#endif
3558"set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3559 {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,329},
252b5132
RH
3560
3561
3562/* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3563{
3564#ifdef NICENAMES
3565"set address_dst(rd),imm4",16,14,
35660x00,
3567#endif
3568"set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3569 {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,330},
252b5132
RH
3570
3571
3572/* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3573{
3574#ifdef NICENAMES
3575"set address_dst,imm4",16,13,
35760x00,
3577#endif
3578"set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3579 {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,331},
252b5132
RH
3580
3581
3582/* 1010 0101 dddd imm4 *** set rd,imm4 */
3583{
3584#ifdef NICENAMES
3585"set rd,imm4",16,4,
35860x00,
3587#endif
3588"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3589 {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,332},
252b5132
RH
3590
3591
3592/* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3593{
3594#ifdef NICENAMES
3595"set rd,rs",16,10,
35960x00,
3597#endif
3598"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3599 {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,333},
252b5132
RH
3600
3601
3602/* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3603{
3604#ifdef NICENAMES
3605"setb @rd,imm4",8,11,
36060x00,
3607#endif
3608"setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3609 {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,334},
252b5132
RH
3610
3611
3612/* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3613{
3614#ifdef NICENAMES
3615"setb address_dst(rd),imm4",8,14,
36160x00,
3617#endif
3618"setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3619 {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,335},
252b5132
RH
3620
3621
3622/* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3623{
3624#ifdef NICENAMES
3625"setb address_dst,imm4",8,13,
36260x00,
3627#endif
3628"setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
6840198f 3629 {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,336},
252b5132
RH
3630
3631
3632/* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3633{
3634#ifdef NICENAMES
3635"setb rbd,imm4",8,4,
36360x00,
3637#endif
3638"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
6840198f 3639 {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,337},
252b5132
RH
3640
3641
3642/* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3643{
3644#ifdef NICENAMES
3645"setb rbd,rs",8,10,
36460x00,
3647#endif
3648"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3649 {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,338},
252b5132
RH
3650
3651
3652/* 1000 1101 flags 0001 *** setflg flags */
3653{
3654#ifdef NICENAMES
3655"setflg flags",16,7,
36560x3c,
3657#endif
3658"setflg",OPC_setflg,0,{CLASS_FLAGS,},
6840198f 3659 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,339},
252b5132
RH
3660
3661
6840198f 3662/* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
252b5132
RH
3663{
3664#ifdef NICENAMES
6840198f 3665"sin rd,imm16",8,0,
252b5132
RH
36660x00,
3667#endif
6840198f
NC
3668"sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3669 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,340},
252b5132
RH
3670
3671
6840198f 3672/* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
252b5132
RH
3673{
3674#ifdef NICENAMES
6840198f 3675"sinb rbd,imm16",8,0,
252b5132
RH
36760x00,
3677#endif
6840198f
NC
3678"sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3679 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,341},
252b5132
RH
3680
3681
3682/* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
3683{
3684#ifdef NICENAMES
3685"sind @rd,@rs,ra",16,0,
36860x00,
3687#endif
3688"sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3689 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,342},
252b5132
RH
3690
3691
3692/* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
3693{
3694#ifdef NICENAMES
3695"sindb @rd,@rs,rba",8,0,
36960x00,
3697#endif
3698"sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3699 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,343},
252b5132
RH
3700
3701
3702/* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
3703{
3704#ifdef NICENAMES
3705"sinib @rd,@rs,ra",8,0,
37060x00,
3707#endif
3708"sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3709 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,344},
252b5132
RH
3710
3711
3712/* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
3713{
3714#ifdef NICENAMES
3715"sinibr @rd,@rs,ra",16,0,
37160x00,
3717#endif
3718"sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3719 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,345},
252b5132
RH
3720
3721
3722/* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3723{
3724#ifdef NICENAMES
3725"sla rd,imm8",16,13,
37260x3c,
3727#endif
3728"sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3729 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,346},
252b5132
RH
3730
3731
3732/* 1011 0010 dddd 1001 0000 0000 imm8 *** slab rbd,imm8 */
3733{
3734#ifdef NICENAMES
3735"slab rbd,imm8",8,13,
37360x3c,
3737#endif
3738"slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3739 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,347},
252b5132
RH
3740
3741
3742/* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3743{
3744#ifdef NICENAMES
3745"slal rrd,imm8",32,13,
37460x3c,
3747#endif
3748"slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3749 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
252b5132
RH
3750
3751
3752/* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3753{
3754#ifdef NICENAMES
3755"sll rd,imm8",16,13,
37560x38,
3757#endif
3758"sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3759 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,349},
252b5132
RH
3760
3761
3762/* 1011 0010 dddd 0001 0000 0000 imm8 *** sllb rbd,imm8 */
3763{
3764#ifdef NICENAMES
3765"sllb rbd,imm8",8,13,
37660x38,
3767#endif
3768"sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3769 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,350},
252b5132
RH
3770
3771
3772/* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3773{
3774#ifdef NICENAMES
3775"slll rrd,imm8",32,13,
37760x38,
3777#endif
3778"slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3779 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,351},
252b5132
RH
3780
3781
3782/* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
3783{
3784#ifdef NICENAMES
3785"sout imm16,rs",16,0,
37860x00,
3787#endif
3788"sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
6840198f 3789 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,352},
252b5132
RH
3790
3791
3792/* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
3793{
3794#ifdef NICENAMES
3795"soutb imm16,rbs",8,0,
37960x00,
3797#endif
3798"soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
6840198f 3799 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,353},
252b5132
RH
3800
3801
3802/* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
3803{
3804#ifdef NICENAMES
3805"soutd @rd,@rs,ra",16,0,
38060x00,
3807#endif
3808"soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3809 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,354},
252b5132
RH
3810
3811
3812/* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
3813{
3814#ifdef NICENAMES
3815"soutdb @rd,@rs,rba",8,0,
38160x00,
3817#endif
3818"soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 3819 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,355},
252b5132
RH
3820
3821
3822/* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
3823{
3824#ifdef NICENAMES
3825"soutib @rd,@rs,ra",8,0,
38260x00,
3827#endif
3828"soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3829 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,356},
252b5132
RH
3830
3831
3832/* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
3833{
3834#ifdef NICENAMES
3835"soutibr @rd,@rs,ra",16,0,
38360x00,
3837#endif
3838"soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
6840198f 3839 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,357},
252b5132
RH
3840
3841
3842/* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3843{
3844#ifdef NICENAMES
3845"sra rd,imm8",16,13,
38460x3c,
3847#endif
3848"sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3849 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,358},
252b5132
RH
3850
3851
3852/* 1011 0010 dddd 1001 0000 0000 nim8 *** srab rbd,imm8 */
3853{
3854#ifdef NICENAMES
3855"srab rbd,imm8",8,13,
38560x3c,
3857#endif
3858"srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3859 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,359},
252b5132
RH
3860
3861
3862/* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3863{
3864#ifdef NICENAMES
3865"sral rrd,imm8",32,13,
38660x3c,
3867#endif
3868"sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3869 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
252b5132
RH
3870
3871
3872/* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3873{
3874#ifdef NICENAMES
3875"srl rd,imm8",16,13,
38760x3c,
3877#endif
3878"srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3879 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,361},
252b5132
RH
3880
3881
3882/* 1011 0010 dddd 0001 0000 0000 nim8 *** srlb rbd,imm8 */
3883{
3884#ifdef NICENAMES
3885"srlb rbd,imm8",8,13,
38860x3c,
3887#endif
3888"srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3889 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,362},
252b5132
RH
3890
3891
3892/* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3893{
3894#ifdef NICENAMES
3895"srll rrd,imm8",32,13,
38960x3c,
3897#endif
3898"srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3899 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,363},
252b5132
RH
3900
3901
3902/* 0000 0011 ssN0 dddd *** sub rd,@rs */
3903{
3904#ifdef NICENAMES
3905"sub rd,@rs",16,7,
39060x3c,
3907#endif
3908"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3909 {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,364},
252b5132
RH
3910
3911
3912/* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3913{
3914#ifdef NICENAMES
3915"sub rd,address_src",16,9,
39160x3c,
3917#endif
3918"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3919 {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,365},
252b5132
RH
3920
3921
3922/* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3923{
3924#ifdef NICENAMES
3925"sub rd,address_src(rs)",16,10,
39260x3c,
3927#endif
3928"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3929 {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,366},
252b5132
RH
3930
3931
3932/* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3933{
3934#ifdef NICENAMES
3935"sub rd,imm16",16,7,
39360x3c,
3937#endif
3938"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 3939 {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,367},
252b5132
RH
3940
3941
3942/* 1000 0011 ssss dddd *** sub rd,rs */
3943{
3944#ifdef NICENAMES
3945"sub rd,rs",16,4,
39460x3c,
3947#endif
3948"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 3949 {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,368},
252b5132
RH
3950
3951
3952/* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3953{
3954#ifdef NICENAMES
3955"subb rbd,@rs",8,7,
39560x3f,
3957#endif
3958"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 3959 {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,369},
252b5132
RH
3960
3961
3962/* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3963{
3964#ifdef NICENAMES
3965"subb rbd,address_src",8,9,
39660x3f,
3967#endif
3968"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 3969 {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,370},
252b5132
RH
3970
3971
3972/* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3973{
3974#ifdef NICENAMES
3975"subb rbd,address_src(rs)",8,10,
39760x3f,
3977#endif
3978"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 3979 {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,371},
252b5132
RH
3980
3981
3982/* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3983{
3984#ifdef NICENAMES
3985"subb rbd,imm8",8,7,
39860x3f,
3987#endif
3988"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 3989 {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,372},
252b5132
RH
3990
3991
3992/* 1000 0010 ssss dddd *** subb rbd,rbs */
3993{
3994#ifdef NICENAMES
3995"subb rbd,rbs",8,4,
39960x3f,
3997#endif
3998"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 3999 {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,373},
252b5132
RH
4000
4001
4002/* 0001 0010 ssN0 dddd *** subl rrd,@rs */
4003{
4004#ifdef NICENAMES
4005"subl rrd,@rs",32,14,
40060x3c,
4007#endif
4008"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 4009 {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,374},
252b5132
RH
4010
4011
4012/* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
4013{
4014#ifdef NICENAMES
4015"subl rrd,address_src",32,15,
40160x3c,
4017#endif
4018"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 4019 {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,375},
252b5132
RH
4020
4021
4022/* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
4023{
4024#ifdef NICENAMES
4025"subl rrd,address_src(rs)",32,16,
40260x3c,
4027#endif
4028"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 4029 {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,376},
252b5132
RH
4030
4031
4032/* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
4033{
4034#ifdef NICENAMES
4035"subl rrd,imm32",32,14,
40360x3c,
4037#endif
4038"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
6840198f 4039 {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,377},
252b5132
RH
4040
4041
4042/* 1001 0010 ssss dddd *** subl rrd,rrs */
4043{
4044#ifdef NICENAMES
4045"subl rrd,rrs",32,8,
40460x3c,
4047#endif
4048"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
6840198f 4049 {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,378},
252b5132
RH
4050
4051
4052/* 1010 1111 dddd cccc *** tcc cc,rd */
4053{
4054#ifdef NICENAMES
4055"tcc cc,rd",16,5,
40560x00,
4057#endif
4058"tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
6840198f 4059 {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,379},
252b5132
RH
4060
4061
4062/* 1010 1110 dddd cccc *** tccb cc,rbd */
4063{
4064#ifdef NICENAMES
4065"tccb cc,rbd",8,5,
40660x00,
4067#endif
4068"tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
6840198f 4069 {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,380},
252b5132
RH
4070
4071
4072/* 0000 1101 ddN0 0100 *** test @rd */
4073{
4074#ifdef NICENAMES
4075"test @rd",16,8,
40760x18,
4077#endif
4078"test",OPC_test,0,{CLASS_IR+(ARG_RD),},
6840198f 4079 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,381},
252b5132
RH
4080
4081
4082/* 0100 1101 0000 0100 address_dst *** test address_dst */
4083{
4084#ifdef NICENAMES
4085"test address_dst",16,11,
40860x00,
4087#endif
4088"test",OPC_test,0,{CLASS_DA+(ARG_DST),},
6840198f 4089 {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
4090
4091
4092/* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
4093{
4094#ifdef NICENAMES
4095"test address_dst(rd)",16,12,
40960x00,
4097#endif
4098"test",OPC_test,0,{CLASS_X+(ARG_RD),},
6840198f 4099 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,383},
252b5132
RH
4100
4101
4102/* 1000 1101 dddd 0100 *** test rd */
4103{
4104#ifdef NICENAMES
4105"test rd",16,7,
41060x00,
4107#endif
4108"test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 4109 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,384},
252b5132
RH
4110
4111
4112/* 0000 1100 ddN0 0100 *** testb @rd */
4113{
4114#ifdef NICENAMES
4115"testb @rd",8,8,
41160x1c,
4117#endif
4118"testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
6840198f 4119 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,385},
252b5132
RH
4120
4121
4122/* 0100 1100 0000 0100 address_dst *** testb address_dst */
4123{
4124#ifdef NICENAMES
4125"testb address_dst",8,11,
41260x1c,
4127#endif
4128"testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
6840198f 4129 {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
4130
4131
4132/* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
4133{
4134#ifdef NICENAMES
4135"testb address_dst(rd)",8,12,
41360x1c,
4137#endif
4138"testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
6840198f 4139 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,387},
252b5132
RH
4140
4141
4142/* 1000 1100 dddd 0100 *** testb rbd */
4143{
4144#ifdef NICENAMES
4145"testb rbd",8,7,
41460x1c,
4147#endif
4148"testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
6840198f 4149 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,388},
252b5132
RH
4150
4151
4152/* 0001 1100 ddN0 1000 *** testl @rd */
4153{
4154#ifdef NICENAMES
4155"testl @rd",32,13,
41560x18,
4157#endif
4158"testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
6840198f 4159 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,389},
252b5132
RH
4160
4161
4162/* 0101 1100 0000 1000 address_dst *** testl address_dst */
4163{
4164#ifdef NICENAMES
4165"testl address_dst",32,16,
41660x18,
4167#endif
4168"testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
6840198f 4169 {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
4170
4171
4172/* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
4173{
4174#ifdef NICENAMES
4175"testl address_dst(rd)",32,17,
41760x18,
4177#endif
4178"testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
6840198f 4179 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,391},
252b5132
RH
4180
4181
4182/* 1001 1100 dddd 1000 *** testl rrd */
4183{
4184#ifdef NICENAMES
4185"testl rrd",32,13,
41860x18,
4187#endif
4188"testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
6840198f 4189 {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,392},
252b5132
RH
4190
4191
4192/* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
4193{
4194#ifdef NICENAMES
4195"trdb @rd,@rs,rba",8,25,
41960x1c,
4197#endif
4198"trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 4199 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
252b5132
RH
4200
4201
4202/* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
4203{
4204#ifdef NICENAMES
4205"trdrb @rd,@rs,rba",8,25,
42060x1c,
4207#endif
4208"trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
6840198f 4209 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,394},
252b5132
RH
4210
4211
4212/* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
4213{
4214#ifdef NICENAMES
4215"trib @rd,@rs,rbr",8,25,
42160x1c,
4217#endif
4218"trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4219 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,395},
252b5132
RH
4220
4221
4222/* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
4223{
4224#ifdef NICENAMES
4225"trirb @rd,@rs,rbr",8,25,
42260x1c,
4227#endif
4228"trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4229 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,396},
252b5132
RH
4230
4231
4232/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
4233{
4234#ifdef NICENAMES
4235"trtdb @ra,@rb,rbr",8,25,
42360x1c,
4237#endif
4238"trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4239 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,397},
252b5132
RH
4240
4241
4242/* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
4243{
4244#ifdef NICENAMES
4245"trtdrb @ra,@rb,rbr",8,25,
42460x1c,
4247#endif
4248"trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4249 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,398},
252b5132
RH
4250
4251
4252/* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
4253{
4254#ifdef NICENAMES
4255"trtib @ra,@rb,rbr",8,25,
42560x1c,
4257#endif
4258"trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f 4259 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,399},
252b5132
RH
4260
4261
4262/* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
4263{
4264#ifdef NICENAMES
4265"trtirb @ra,@rb,rbr",8,25,
42660x1c,
4267#endif
4268"trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
6840198f
NC
4269 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,400},
4270
4271
4272/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
4273{
4274#ifdef NICENAMES
4275"trtrb @ra,@rb,rbr",8,25,
42760x1c,
4277#endif
4278"trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4279 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,401},
252b5132
RH
4280
4281
4282/* 0000 1101 ddN0 0110 *** tset @rd */
4283{
4284#ifdef NICENAMES
4285"tset @rd",16,11,
42860x08,
4287#endif
4288"tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
6840198f 4289 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
252b5132
RH
4290
4291
4292/* 0100 1101 0000 0110 address_dst *** tset address_dst */
4293{
4294#ifdef NICENAMES
4295"tset address_dst",16,14,
42960x08,
4297#endif
4298"tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
6840198f 4299 {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
4300
4301
4302/* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
4303{
4304#ifdef NICENAMES
4305"tset address_dst(rd)",16,15,
43060x08,
4307#endif
4308"tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
6840198f 4309 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
252b5132
RH
4310
4311
4312/* 1000 1101 dddd 0110 *** tset rd */
4313{
4314#ifdef NICENAMES
4315"tset rd",16,7,
43160x08,
4317#endif
4318"tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
6840198f 4319 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,405},
252b5132
RH
4320
4321
4322/* 0000 1100 ddN0 0110 *** tsetb @rd */
4323{
4324#ifdef NICENAMES
4325"tsetb @rd",8,11,
43260x08,
4327#endif
4328"tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
6840198f 4329 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,406},
252b5132
RH
4330
4331
4332/* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
4333{
4334#ifdef NICENAMES
4335"tsetb address_dst",8,14,
43360x08,
4337#endif
4338"tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
6840198f 4339 {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
4340
4341
4342/* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
4343{
4344#ifdef NICENAMES
4345"tsetb address_dst(rd)",8,15,
43460x08,
4347#endif
4348"tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
6840198f 4349 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,408},
252b5132
RH
4350
4351
4352/* 1000 1100 dddd 0110 *** tsetb rbd */
4353{
4354#ifdef NICENAMES
4355"tsetb rbd",8,7,
43560x08,
4357#endif
4358"tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
6840198f 4359 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,409},
252b5132
RH
4360
4361
4362/* 0000 1001 ssN0 dddd *** xor rd,@rs */
4363{
4364#ifdef NICENAMES
4365"xor rd,@rs",16,7,
43660x18,
4367#endif
4368"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 4369 {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,410},
252b5132
RH
4370
4371
4372/* 0100 1001 0000 dddd address_src *** xor rd,address_src */
4373{
4374#ifdef NICENAMES
4375"xor rd,address_src",16,9,
43760x18,
4377#endif
4378"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 4379 {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,411},
252b5132
RH
4380
4381
4382/* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
4383{
4384#ifdef NICENAMES
4385"xor rd,address_src(rs)",16,10,
43860x18,
4387#endif
4388"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 4389 {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,412},
252b5132
RH
4390
4391
4392/* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
4393{
4394#ifdef NICENAMES
4395"xor rd,imm16",16,7,
43960x18,
4397#endif
4398"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
6840198f 4399 {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,413},
252b5132
RH
4400
4401
4402/* 1000 1001 ssss dddd *** xor rd,rs */
4403{
4404#ifdef NICENAMES
4405"xor rd,rs",16,4,
44060x18,
4407#endif
4408"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
6840198f 4409 {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,414},
252b5132
RH
4410
4411
4412/* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
4413{
4414#ifdef NICENAMES
4415"xorb rbd,@rs",8,7,
44160x1c,
4417#endif
4418"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
6840198f 4419 {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,415},
252b5132
RH
4420
4421
4422/* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
4423{
4424#ifdef NICENAMES
4425"xorb rbd,address_src",8,9,
44260x1c,
4427#endif
4428"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
6840198f 4429 {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,416},
252b5132
RH
4430
4431
4432/* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
4433{
4434#ifdef NICENAMES
4435"xorb rbd,address_src(rs)",8,10,
44360x1c,
4437#endif
4438"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
6840198f 4439 {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,417},
252b5132
RH
4440
4441
4442/* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
4443{
4444#ifdef NICENAMES
4445"xorb rbd,imm8",8,7,
44460x1c,
4447#endif
4448"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
6840198f 4449 {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,418},
252b5132
RH
4450
4451
4452/* 1000 1000 ssss dddd *** xorb rbd,rbs */
4453{
4454#ifdef NICENAMES
4455"xorb rbd,rbs",8,4,
44560x1c,
4457#endif
4458"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 4459 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,419},
252b5132
RH
4460
4461
4462/* 1000 1000 ssss dddd *** xorb rbd,rbs */
4463{
4464#ifdef NICENAMES
4465"xorb rbd,rbs",8,4,
44660x01,
4467#endif
4468"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
6840198f 4469 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,420},
28bab82b
NC
4470
4471/* end marker */
4472{
4473#ifdef NICENAMES
4474NULL,0,0,
44750,
4476#endif
4477NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
4478};
252b5132 4479#endif
This page took 0.319331 seconds and 4 git commands to generate.