19990502 sourceware import
[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
213#define OPC_trtdb 159
214#define OPC_tset 160
215#define OPC_tsetb 161
216#define OPC_xor 162
217#define OPC_xorb 163
218#define OPC_ldd 164
219#define OPC_lddb 165
220#define OPC_lddr 166
221#define OPC_lddrb 167
222#define OPC_ldi 168
223#define OPC_ldib 169
224#define OPC_sc 170
225#define OPC_bpt 171
226#define OPC_ext0e 172
227#define OPC_ext0f 172
228#define OPC_ext8e 172
229#define OPC_ext8f 172
230#define OPC_rsvd36 172
231#define OPC_rsvd38 172
232#define OPC_rsvd78 172
233#define OPC_rsvd7e 172
234#define OPC_rsvd9d 172
235#define OPC_rsvd9f 172
236#define OPC_rsvdb9 172
237#define OPC_rsvdbf 172
238#define OPC_outi 173
239typedef struct {
240#ifdef NICENAMES
241char *nicename;
242int type;
243int cycles;
244int flags;
245#endif
246char *name;
247unsigned char opcode;
248void (*func)();
249unsigned int arg_info[4];
250unsigned int byte_info[10];
251int noperands;
252int length;
253int idx;
254} opcode_entry_type;
255#ifdef DEFINE_TABLE
256opcode_entry_type z8k_table[] = {
257
258
259/* 1011 0101 ssss dddd *** adc rd,rs */
260{
261#ifdef NICENAMES
262"adc rd,rs",16,5,
2630x3c,
264#endif
265"adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
266 {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
267
268
269/* 1011 0100 ssss dddd *** adcb rbd,rbs */
270{
271#ifdef NICENAMES
272"adcb rbd,rbs",8,5,
2730x3f,
274#endif
275"adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
276 {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
277
278
279/* 0000 0001 ssN0 dddd *** add rd,@rs */
280{
281#ifdef NICENAMES
282"add rd,@rs",16,7,
2830x3c,
284#endif
285"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
286 {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
287
288
289/* 0100 0001 0000 dddd address_src *** add rd,address_src */
290{
291#ifdef NICENAMES
292"add rd,address_src",16,9,
2930x3c,
294#endif
295"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
296 {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
297
298
299/* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
300{
301#ifdef NICENAMES
302"add rd,address_src(rs)",16,10,
3030x3c,
304#endif
305"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
306 {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
307
308
309/* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
310{
311#ifdef NICENAMES
312"add rd,imm16",16,7,
3130x3c,
314#endif
315"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
316 {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
317
318
319/* 1000 0001 ssss dddd *** add rd,rs */
320{
321#ifdef NICENAMES
322"add rd,rs",16,4,
3230x3c,
324#endif
325"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
326 {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
327
328
329/* 0000 0000 ssN0 dddd *** addb rbd,@rs */
330{
331#ifdef NICENAMES
332"addb rbd,@rs",8,7,
3330x3f,
334#endif
335"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
336 {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
337
338
339/* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
340{
341#ifdef NICENAMES
342"addb rbd,address_src",8,9,
3430x3f,
344#endif
345"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
346 {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
347
348
349/* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
350{
351#ifdef NICENAMES
352"addb rbd,address_src(rs)",8,10,
3530x3f,
354#endif
355"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
356 {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
357
358
359/* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
360{
361#ifdef NICENAMES
362"addb rbd,imm8",8,7,
3630x3f,
364#endif
365"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
366 {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},
367
368
369/* 1000 0000 ssss dddd *** addb rbd,rbs */
370{
371#ifdef NICENAMES
372"addb rbd,rbs",8,4,
3730x3f,
374#endif
375"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
376 {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
377
378
379/* 0001 0110 ssN0 dddd *** addl rrd,@rs */
380{
381#ifdef NICENAMES
382"addl rrd,@rs",32,14,
3830x3c,
384#endif
385"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
386 {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
387
388
389/* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
390{
391#ifdef NICENAMES
392"addl rrd,address_src",32,15,
3930x3c,
394#endif
395"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
396 {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
397
398
399/* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
400{
401#ifdef NICENAMES
402"addl rrd,address_src(rs)",32,16,
4030x3c,
404#endif
405"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
406 {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
407
408
409/* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
410{
411#ifdef NICENAMES
412"addl rrd,imm32",32,14,
4130x3c,
414#endif
415"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
416 {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
417
418
419/* 1001 0110 ssss dddd *** addl rrd,rrs */
420{
421#ifdef NICENAMES
422"addl rrd,rrs",32,8,
4230x3c,
424#endif
425"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
426 {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
427
428
429/* 0000 0111 ssN0 dddd *** and rd,@rs */
430{
431#ifdef NICENAMES
432"and rd,@rs",16,7,
4330x18,
434#endif
435"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
436 {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
437
438
439/* 0100 0111 0000 dddd address_src *** and rd,address_src */
440{
441#ifdef NICENAMES
442"and rd,address_src",16,9,
4430x18,
444#endif
445"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
446 {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
447
448
449/* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
450{
451#ifdef NICENAMES
452"and rd,address_src(rs)",16,10,
4530x18,
454#endif
455"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
456 {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
457
458
459/* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
460{
461#ifdef NICENAMES
462"and rd,imm16",16,7,
4630x18,
464#endif
465"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
466 {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
467
468
469/* 1000 0111 ssss dddd *** and rd,rs */
470{
471#ifdef NICENAMES
472"and rd,rs",16,4,
4730x18,
474#endif
475"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
476 {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
477
478
479/* 0000 0110 ssN0 dddd *** andb rbd,@rs */
480{
481#ifdef NICENAMES
482"andb rbd,@rs",8,7,
4830x1c,
484#endif
485"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
486 {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
487
488
489/* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
490{
491#ifdef NICENAMES
492"andb rbd,address_src",8,9,
4930x1c,
494#endif
495"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
496 {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
497
498
499/* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
500{
501#ifdef NICENAMES
502"andb rbd,address_src(rs)",8,10,
5030x1c,
504#endif
505"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
506 {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
507
508
509/* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
510{
511#ifdef NICENAMES
512"andb rbd,imm8",8,7,
5130x1c,
514#endif
515"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
516 {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},
517
518
519/* 1000 0110 ssss dddd *** andb rbd,rbs */
520{
521#ifdef NICENAMES
522"andb rbd,rbs",8,4,
5230x1c,
524#endif
525"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
526 {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
527
528
529/* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
530{
531#ifdef NICENAMES
532"bit @rd,imm4",16,8,
5330x10,
534#endif
535"bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
536 {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
537
538
539/* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
540{
541#ifdef NICENAMES
542"bit address_dst(rd),imm4",16,11,
5430x10,
544#endif
545"bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
546 {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
547
548
549/* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
550{
551#ifdef NICENAMES
552"bit address_dst,imm4",16,10,
5530x10,
554#endif
555"bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
556 {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
557
558
559/* 1010 0111 dddd imm4 *** bit rd,imm4 */
560{
561#ifdef NICENAMES
562"bit rd,imm4",16,4,
5630x10,
564#endif
565"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
566 {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
567
568
569/* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
570{
571#ifdef NICENAMES
572"bit rd,rs",16,10,
5730x10,
574#endif
575"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
576 {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},
577
578
579/* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
580{
581#ifdef NICENAMES
582"bitb @rd,imm4",8,8,
5830x10,
584#endif
585"bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
586 {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
587
588
589/* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
590{
591#ifdef NICENAMES
592"bitb address_dst(rd),imm4",8,11,
5930x10,
594#endif
595"bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
596 {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
597
598
599/* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
600{
601#ifdef NICENAMES
602"bitb address_dst,imm4",8,10,
6030x10,
604#endif
605"bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
606 {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
607
608
609/* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
610{
611#ifdef NICENAMES
612"bitb rbd,imm4",8,4,
6130x10,
614#endif
615"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
616 {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
617
618
619/* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
620{
621#ifdef NICENAMES
622"bitb rbd,rs",8,10,
6230x10,
624#endif
625"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
626 {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},
627
628
629/* 0011 0110 0000 0000 *** bpt */
630{
631#ifdef NICENAMES
632"bpt",8,2,
6330x00,
634#endif
635"bpt",OPC_bpt,0,{0},
636 {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
637
638
639/* 0001 1111 ddN0 0000 *** call @rd */
640{
641#ifdef NICENAMES
642"call @rd",32,10,
6430x00,
644#endif
645"call",OPC_call,0,{CLASS_IR+(ARG_RD),},
646 {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
647
648
649/* 0101 1111 0000 0000 address_dst *** call address_dst */
650{
651#ifdef NICENAMES
652"call address_dst",32,12,
6530x00,
654#endif
655"call",OPC_call,0,{CLASS_DA+(ARG_DST),},
656 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
657
658
659/* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
660{
661#ifdef NICENAMES
662"call address_dst(rd)",32,13,
6630x00,
664#endif
665"call",OPC_call,0,{CLASS_X+(ARG_RD),},
666 {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
667
668
669/* 1101 disp12 *** calr disp12 */
670{
671#ifdef NICENAMES
672"calr disp12",16,10,
6730x00,
674#endif
675"calr",OPC_calr,0,{CLASS_DISP,},
676 {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
677
678
679/* 0000 1101 ddN0 1000 *** clr @rd */
680{
681#ifdef NICENAMES
682"clr @rd",16,8,
6830x00,
684#endif
685"clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
686 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
687
688
689/* 0100 1101 0000 1000 address_dst *** clr address_dst */
690{
691#ifdef NICENAMES
692"clr address_dst",16,11,
6930x00,
694#endif
695"clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
696 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
697
698
699/* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
700{
701#ifdef NICENAMES
702"clr address_dst(rd)",16,12,
7030x00,
704#endif
705"clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
706 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
707
708
709/* 1000 1101 dddd 1000 *** clr rd */
710{
711#ifdef NICENAMES
712"clr rd",16,7,
7130x00,
714#endif
715"clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
716 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
717
718
719/* 0000 1100 ddN0 1000 *** clrb @rd */
720{
721#ifdef NICENAMES
722"clrb @rd",8,8,
7230x00,
724#endif
725"clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
726 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
727
728
729/* 0100 1100 0000 1000 address_dst *** clrb address_dst */
730{
731#ifdef NICENAMES
732"clrb address_dst",8,11,
7330x00,
734#endif
735"clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
736 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
737
738
739/* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
740{
741#ifdef NICENAMES
742"clrb address_dst(rd)",8,12,
7430x00,
744#endif
745"clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
746 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
747
748
749/* 1000 1100 dddd 1000 *** clrb rbd */
750{
751#ifdef NICENAMES
752"clrb rbd",8,7,
7530x00,
754#endif
755"clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
756 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
757
758
759/* 0000 1101 ddN0 0000 *** com @rd */
760{
761#ifdef NICENAMES
762"com @rd",16,12,
7630x18,
764#endif
765"com",OPC_com,0,{CLASS_IR+(ARG_RD),},
766 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
767
768
769/* 0100 1101 0000 0000 address_dst *** com address_dst */
770{
771#ifdef NICENAMES
772"com address_dst",16,15,
7730x18,
774#endif
775"com",OPC_com,0,{CLASS_DA+(ARG_DST),},
776 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
777
778
779/* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
780{
781#ifdef NICENAMES
782"com address_dst(rd)",16,16,
7830x18,
784#endif
785"com",OPC_com,0,{CLASS_X+(ARG_RD),},
786 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
787
788
789/* 1000 1101 dddd 0000 *** com rd */
790{
791#ifdef NICENAMES
792"com rd",16,7,
7930x18,
794#endif
795"com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
796 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
797
798
799/* 0000 1100 ddN0 0000 *** comb @rd */
800{
801#ifdef NICENAMES
802"comb @rd",8,12,
8030x1c,
804#endif
805"comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
806 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
807
808
809/* 0100 1100 0000 0000 address_dst *** comb address_dst */
810{
811#ifdef NICENAMES
812"comb address_dst",8,15,
8130x1c,
814#endif
815"comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
816 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
817
818
819/* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
820{
821#ifdef NICENAMES
822"comb address_dst(rd)",8,16,
8230x1c,
824#endif
825"comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
826 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
827
828
829/* 1000 1100 dddd 0000 *** comb rbd */
830{
831#ifdef NICENAMES
832"comb rbd",8,7,
8330x1c,
834#endif
835"comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
836 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
837
838
839/* 1000 1101 flags 0101 *** comflg flags */
840{
841#ifdef NICENAMES
842"comflg flags",16,7,
8430x3c,
844#endif
845"comflg",OPC_comflg,0,{CLASS_FLAGS,},
846 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,58},
847
848
849/* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
850{
851#ifdef NICENAMES
852"cp @rd,imm16",16,11,
8530x3c,
854#endif
855"cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
856 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
857
858
859/* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
860{
861#ifdef NICENAMES
862"cp address_dst(rd),imm16",16,15,
8630x3c,
864#endif
865"cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
866 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,60},
867
868
869/* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
870{
871#ifdef NICENAMES
872"cp address_dst,imm16",16,14,
8730x3c,
874#endif
875"cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
876 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,61},
877
878
879/* 0000 1011 ssN0 dddd *** cp rd,@rs */
880{
881#ifdef NICENAMES
882"cp rd,@rs",16,7,
8830x3c,
884#endif
885"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
886 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
887
888
889/* 0100 1011 0000 dddd address_src *** cp rd,address_src */
890{
891#ifdef NICENAMES
892"cp rd,address_src",16,9,
8930x3c,
894#endif
895"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
896 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
897
898
899/* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
900{
901#ifdef NICENAMES
902"cp rd,address_src(rs)",16,10,
9030x3c,
904#endif
905"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
906 {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
907
908
909/* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
910{
911#ifdef NICENAMES
912"cp rd,imm16",16,7,
9130x3c,
914#endif
915"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
916 {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
917
918
919/* 1000 1011 ssss dddd *** cp rd,rs */
920{
921#ifdef NICENAMES
922"cp rd,rs",16,4,
9230x3c,
924#endif
925"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
926 {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
927
928
929/* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
930{
931#ifdef NICENAMES
932"cpb @rd,imm8",8,11,
9330x3c,
934#endif
935"cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
936 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,67},
937
938
939/* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
940{
941#ifdef NICENAMES
942"cpb address_dst(rd),imm8",8,15,
9430x3c,
944#endif
945"cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
946 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,68},
947
948
949/* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
950{
951#ifdef NICENAMES
952"cpb address_dst,imm8",8,14,
9530x3c,
954#endif
955"cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
956 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,69},
957
958
959/* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
960{
961#ifdef NICENAMES
962"cpb rbd,@rs",8,7,
9630x3c,
964#endif
965"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
966 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
967
968
969/* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
970{
971#ifdef NICENAMES
972"cpb rbd,address_src",8,9,
9730x3c,
974#endif
975"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
976 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
977
978
979/* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
980{
981#ifdef NICENAMES
982"cpb rbd,address_src(rs)",8,10,
9830x3c,
984#endif
985"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
986 {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
987
988
989/* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
990{
991#ifdef NICENAMES
992"cpb rbd,imm8",8,7,
9930x3c,
994#endif
995"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
996 {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,73},
997
998
999/* 1000 1010 ssss dddd *** cpb rbd,rbs */
1000{
1001#ifdef NICENAMES
1002"cpb rbd,rbs",8,4,
10030x3c,
1004#endif
1005"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1006 {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
1007
1008
1009/* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
1010{
1011#ifdef NICENAMES
1012"cpd rd,@rs,rr,cc",16,11,
10130x3c,
1014#endif
1015"cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1016 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,75},
1017
1018
1019/* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
1020{
1021#ifdef NICENAMES
1022"cpdb rbd,@rs,rr,cc",8,11,
10230x3c,
1024#endif
1025"cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1026 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
1027
1028
1029/* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
1030{
1031#ifdef NICENAMES
1032"cpdr rd,@rs,rr,cc",16,11,
10330x3c,
1034#endif
1035"cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1036 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,77},
1037
1038
1039/* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
1040{
1041#ifdef NICENAMES
1042"cpdrb rbd,@rs,rr,cc",8,11,
10430x3c,
1044#endif
1045"cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1046 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,78},
1047
1048
1049/* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
1050{
1051#ifdef NICENAMES
1052"cpi rd,@rs,rr,cc",16,11,
10530x3c,
1054#endif
1055"cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1056 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,79},
1057
1058
1059/* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
1060{
1061#ifdef NICENAMES
1062"cpib rbd,@rs,rr,cc",8,11,
10630x3c,
1064#endif
1065"cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1066 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,80},
1067
1068
1069/* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
1070{
1071#ifdef NICENAMES
1072"cpir rd,@rs,rr,cc",16,11,
10730x3c,
1074#endif
1075"cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1076 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,81},
1077
1078
1079/* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
1080{
1081#ifdef NICENAMES
1082"cpirb rbd,@rs,rr,cc",8,11,
10830x3c,
1084#endif
1085"cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1086 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,82},
1087
1088
1089/* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
1090{
1091#ifdef NICENAMES
1092"cpl rrd,@rs",32,14,
10930x3c,
1094#endif
1095"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1096 {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
1097
1098
1099/* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
1100{
1101#ifdef NICENAMES
1102"cpl rrd,address_src",32,15,
11030x3c,
1104#endif
1105"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1106 {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
1107
1108
1109/* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
1110{
1111#ifdef NICENAMES
1112"cpl rrd,address_src(rs)",32,16,
11130x3c,
1114#endif
1115"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1116 {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
1117
1118
1119/* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
1120{
1121#ifdef NICENAMES
1122"cpl rrd,imm32",32,14,
11230x3c,
1124#endif
1125"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1126 {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
1127
1128
1129/* 1001 0000 ssss dddd *** cpl rrd,rrs */
1130{
1131#ifdef NICENAMES
1132"cpl rrd,rrs",32,8,
11330x3c,
1134#endif
1135"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1136 {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
1137
1138
1139/* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
1140{
1141#ifdef NICENAMES
1142"cpsd @rd,@rs,rr,cc",16,11,
11430x3c,
1144#endif
1145"cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1146 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,88},
1147
1148
1149/* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
1150{
1151#ifdef NICENAMES
1152"cpsdb @rd,@rs,rr,cc",8,11,
11530x3c,
1154#endif
1155"cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1156 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,89},
1157
1158
1159/* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
1160{
1161#ifdef NICENAMES
1162"cpsdr @rd,@rs,rr,cc",16,11,
11630x3c,
1164#endif
1165"cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1166 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,90},
1167
1168
1169/* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
1170{
1171#ifdef NICENAMES
1172"cpsdrb @rd,@rs,rr,cc",8,11,
11730x3c,
1174#endif
1175"cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1176 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,91},
1177
1178
1179/* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
1180{
1181#ifdef NICENAMES
1182"cpsi @rd,@rs,rr,cc",16,11,
11830x3c,
1184#endif
1185"cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1186 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,92},
1187
1188
1189/* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
1190{
1191#ifdef NICENAMES
1192"cpsib @rd,@rs,rr,cc",8,11,
11930x3c,
1194#endif
1195"cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1196 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,93},
1197
1198
1199/* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
1200{
1201#ifdef NICENAMES
1202"cpsir @rd,@rs,rr,cc",16,11,
12030x3c,
1204#endif
1205"cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1206 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,94},
1207
1208
1209/* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
1210{
1211#ifdef NICENAMES
1212"cpsirb @rd,@rs,rr,cc",8,11,
12130x3c,
1214#endif
1215"cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
1216 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,95},
1217
1218
1219/* 1011 0000 dddd 0000 *** dab rbd */
1220{
1221#ifdef NICENAMES
1222"dab rbd",8,5,
12230x38,
1224#endif
1225"dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
1226 {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
1227
1228
1229/* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
1230{
1231#ifdef NICENAMES
1232"dbjnz rbd,disp7",16,11,
12330x00,
1234#endif
1235"dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
1236 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,97},
1237
1238
1239/* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
1240{
1241#ifdef NICENAMES
1242"dec @rd,imm4m1",16,11,
12430x1c,
1244#endif
1245"dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1246 {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
1247
1248
1249/* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
1250{
1251#ifdef NICENAMES
1252"dec address_dst(rd),imm4m1",16,14,
12530x1c,
1254#endif
1255"dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1256 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
1257
1258
1259/* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
1260{
1261#ifdef NICENAMES
1262"dec address_dst,imm4m1",16,13,
12630x1c,
1264#endif
1265"dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1266 {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
1267
1268
1269/* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
1270{
1271#ifdef NICENAMES
1272"dec rd,imm4m1",16,4,
12730x1c,
1274#endif
1275"dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1276 {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
1277
1278
1279/* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
1280{
1281#ifdef NICENAMES
1282"decb @rd,imm4m1",8,11,
12830x1c,
1284#endif
1285"decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1286 {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
1287
1288
1289/* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
1290{
1291#ifdef NICENAMES
1292"decb address_dst(rd),imm4m1",8,14,
12930x1c,
1294#endif
1295"decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1296 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
1297
1298
1299/* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
1300{
1301#ifdef NICENAMES
1302"decb address_dst,imm4m1",8,13,
13030x1c,
1304#endif
1305"decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1306 {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
1307
1308
1309/* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
1310{
1311#ifdef NICENAMES
1312"decb rbd,imm4m1",8,4,
13130x1c,
1314#endif
1315"decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1316 {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
1317
1318
1319/* 0111 1100 0000 00ii *** di i2 */
1320{
1321#ifdef NICENAMES
1322"di i2",16,7,
13230x00,
1324#endif
1325"di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
1326 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
1327
1328
1329/* 0001 1011 ssN0 dddd *** div rrd,@rs */
1330{
1331#ifdef NICENAMES
1332"div rrd,@rs",16,107,
13330x3c,
1334#endif
1335"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
1336 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
1337
1338
1339/* 0101 1011 0000 dddd address_src *** div rrd,address_src */
1340{
1341#ifdef NICENAMES
1342"div rrd,address_src",16,107,
13430x3c,
1344#endif
1345"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
1346 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
1347
1348
1349/* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
1350{
1351#ifdef NICENAMES
1352"div rrd,address_src(rs)",16,107,
13530x3c,
1354#endif
1355"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
1356 {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
1357
1358
1359/* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
1360{
1361#ifdef NICENAMES
1362"div rrd,imm16",16,107,
13630x3c,
1364#endif
1365"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1366 {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
1367
1368
1369/* 1001 1011 ssss dddd *** div rrd,rs */
1370{
1371#ifdef NICENAMES
1372"div rrd,rs",16,107,
13730x3c,
1374#endif
1375"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1376 {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
1377
1378
1379/* 0001 1010 ssN0 dddd *** divl rqd,@rs */
1380{
1381#ifdef NICENAMES
1382"divl rqd,@rs",32,744,
13830x3c,
1384#endif
1385"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
1386 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
1387
1388
1389/* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
1390{
1391#ifdef NICENAMES
1392"divl rqd,address_src",32,745,
13930x3c,
1394#endif
1395"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1396 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
1397
1398
1399/* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
1400{
1401#ifdef NICENAMES
1402"divl rqd,address_src(rs)",32,746,
14030x3c,
1404#endif
1405"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
1406 {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
1407
1408
1409/* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
1410{
1411#ifdef NICENAMES
1412"divl rqd,imm32",32,744,
14130x3c,
1414#endif
1415"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
1416 {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
1417
1418
1419/* 1001 1010 ssss dddd *** divl rqd,rrs */
1420{
1421#ifdef NICENAMES
1422"divl rqd,rrs",32,744,
14230x3c,
1424#endif
1425"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
1426 {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
1427
1428
1429/* 1111 dddd 1disp7 *** djnz rd,disp7 */
1430{
1431#ifdef NICENAMES
1432"djnz rd,disp7",16,11,
14330x00,
1434#endif
1435"djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
1436 {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,117},
1437
1438
1439/* 0111 1100 0000 01ii *** ei i2 */
1440{
1441#ifdef NICENAMES
1442"ei i2",16,7,
14430x00,
1444#endif
1445"ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
1446 {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
1447
1448
1449/* 0010 1101 ssN0 dddd *** ex rd,@rs */
1450{
1451#ifdef NICENAMES
1452"ex rd,@rs",16,12,
14530x00,
1454#endif
1455"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1456 {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
1457
1458
1459/* 0110 1101 0000 dddd address_src *** ex rd,address_src */
1460{
1461#ifdef NICENAMES
1462"ex rd,address_src",16,15,
14630x00,
1464#endif
1465"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1466 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
1467
1468
1469/* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
1470{
1471#ifdef NICENAMES
1472"ex rd,address_src(rs)",16,16,
14730x00,
1474#endif
1475"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1476 {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
1477
1478
1479/* 1010 1101 ssss dddd *** ex rd,rs */
1480{
1481#ifdef NICENAMES
1482"ex rd,rs",16,6,
14830x00,
1484#endif
1485"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1486 {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
1487
1488
1489/* 0010 1100 ssN0 dddd *** exb rbd,@rs */
1490{
1491#ifdef NICENAMES
1492"exb rbd,@rs",8,12,
14930x00,
1494#endif
1495"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1496 {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
1497
1498
1499/* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
1500{
1501#ifdef NICENAMES
1502"exb rbd,address_src",8,15,
15030x00,
1504#endif
1505"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
1506 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
1507
1508
1509/* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
1510{
1511#ifdef NICENAMES
1512"exb rbd,address_src(rs)",8,16,
15130x00,
1514#endif
1515"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
1516 {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
1517
1518
1519/* 1010 1100 ssss dddd *** exb rbd,rbs */
1520{
1521#ifdef NICENAMES
1522"exb rbd,rbs",8,6,
15230x00,
1524#endif
1525"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
1526 {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
1527
1528
1529/* 0000 1110 imm8 *** ext0e imm8 */
1530{
1531#ifdef NICENAMES
1532"ext0e imm8",8,10,
15330x00,
1534#endif
1535"ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
1536 {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
1537
1538
1539/* 0000 1111 imm8 *** ext0f imm8 */
1540{
1541#ifdef NICENAMES
1542"ext0f imm8",8,10,
15430x00,
1544#endif
1545"ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
1546 {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
1547
1548
1549/* 1000 1110 imm8 *** ext8e imm8 */
1550{
1551#ifdef NICENAMES
1552"ext8e imm8",8,10,
15530x00,
1554#endif
1555"ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
1556 {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
1557
1558
1559/* 1000 1111 imm8 *** ext8f imm8 */
1560{
1561#ifdef NICENAMES
1562"ext8f imm8",8,10,
15630x00,
1564#endif
1565"ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
1566 {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
1567
1568
1569/* 1011 0001 dddd 1010 *** exts rrd */
1570{
1571#ifdef NICENAMES
1572"exts rrd",16,11,
15730x00,
1574#endif
1575"exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
1576 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
1577
1578
1579/* 1011 0001 dddd 0000 *** extsb rd */
1580{
1581#ifdef NICENAMES
1582"extsb rd",8,11,
15830x00,
1584#endif
1585"extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
1586 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
1587
1588
1589/* 1011 0001 dddd 0111 *** extsl rqd */
1590{
1591#ifdef NICENAMES
1592"extsl rqd",32,11,
15930x00,
1594#endif
1595"extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
1596 {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
1597
1598
1599/* 0111 1010 0000 0000 *** halt */
1600{
1601#ifdef NICENAMES
1602"halt",16,8,
16030x00,
1604#endif
1605"halt",OPC_halt,0,{0},
1606 {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
1607
1608
1609/* 0011 1101 ssN0 dddd *** in rd,@rs */
1610{
1611#ifdef NICENAMES
1612"in rd,@rs",16,10,
16130x00,
1614#endif
1615"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1616 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
1617
1618
1619/* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
1620{
1621#ifdef NICENAMES
1622"in rd,imm16",16,12,
16230x00,
1624#endif
1625"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1626 {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
1627
1628
1629/* 0011 1100 ssN0 dddd *** inb rbd,@rs */
1630{
1631#ifdef NICENAMES
1632"inb rbd,@rs",8,12,
16330x00,
1634#endif
1635"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
1636 {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
1637
1638
1639/* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
1640{
1641#ifdef NICENAMES
1642"inb rbd,imm16",8,10,
16430x00,
1644#endif
1645"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1646 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
1647
1648
1649/* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
1650{
1651#ifdef NICENAMES
1652"inc @rd,imm4m1",16,11,
16530x1c,
1654#endif
1655"inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1656 {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
1657
1658
1659/* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
1660{
1661#ifdef NICENAMES
1662"inc address_dst(rd),imm4m1",16,14,
16630x1c,
1664#endif
1665"inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1666 {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
1667
1668
1669/* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
1670{
1671#ifdef NICENAMES
1672"inc address_dst,imm4m1",16,13,
16730x1c,
1674#endif
1675"inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1676 {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
1677
1678
1679/* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
1680{
1681#ifdef NICENAMES
1682"inc rd,imm4m1",16,4,
16830x1c,
1684#endif
1685"inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1686 {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
1687
1688
1689/* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
1690{
1691#ifdef NICENAMES
1692"incb @rd,imm4m1",8,11,
16930x1c,
1694#endif
1695"incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1696 {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
1697
1698
1699/* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
1700{
1701#ifdef NICENAMES
1702"incb address_dst(rd),imm4m1",8,14,
17030x1c,
1704#endif
1705"incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1706 {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
1707
1708
1709/* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
1710{
1711#ifdef NICENAMES
1712"incb address_dst,imm4m1",8,13,
17130x1c,
1714#endif
1715"incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
1716 {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
1717
1718
1719/* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
1720{
1721#ifdef NICENAMES
1722"incb rbd,imm4m1",8,4,
17230x1c,
1724#endif
1725"incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
1726 {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
1727
1728
1729/* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
1730{
1731#ifdef NICENAMES
1732"ind @rd,@rs,ra",16,21,
17330x04,
1734#endif
1735"ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1736 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
1737
1738
1739/* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
1740{
1741#ifdef NICENAMES
1742"indb @rd,@rs,rba",8,21,
17430x04,
1744#endif
1745"indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
1746 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
1747
1748
1749/* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
1750{
1751#ifdef NICENAMES
1752"inib @rd,@rs,ra",8,21,
17530x04,
1754#endif
1755"inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1756 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
1757
1758
1759/* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
1760{
1761#ifdef NICENAMES
1762"inibr @rd,@rs,ra",16,21,
17630x04,
1764#endif
1765"inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
1766 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
1767
1768
1769/* 0111 1011 0000 0000 *** iret */
1770{
1771#ifdef NICENAMES
1772"iret",16,13,
17730x3f,
1774#endif
1775"iret",OPC_iret,0,{0},
1776 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
1777
1778
1779/* 0001 1110 ddN0 cccc *** jp cc,@rd */
1780{
1781#ifdef NICENAMES
1782"jp cc,@rd",16,10,
17830x00,
1784#endif
1785"jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
1786 {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
1787
1788
1789/* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
1790{
1791#ifdef NICENAMES
1792"jp cc,address_dst",16,7,
17930x00,
1794#endif
1795"jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
1796 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
1797
1798
1799/* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
1800{
1801#ifdef NICENAMES
1802"jp cc,address_dst(rd)",16,8,
18030x00,
1804#endif
1805"jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
1806 {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
1807
1808
1809/* 1110 cccc disp8 *** jr cc,disp8 */
1810{
1811#ifdef NICENAMES
1812"jr cc,disp8",16,6,
18130x00,
1814#endif
1815"jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
1816 {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
1817
1818
1819/* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
1820{
1821#ifdef NICENAMES
1822"ld @rd,imm16",16,7,
18230x00,
1824#endif
1825"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1826 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
1827
1828
1829/* 0010 1111 ddN0 ssss *** ld @rd,rs */
1830{
1831#ifdef NICENAMES
1832"ld @rd,rs",16,8,
18330x00,
1834#endif
1835"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1836 {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
1837
1838
1839/* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
1840{
1841#ifdef NICENAMES
1842"ld address_dst(rd),imm16",16,15,
18430x00,
1844#endif
1845"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1846 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,158},
1847
1848
1849/* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
1850{
1851#ifdef NICENAMES
1852"ld address_dst(rd),rs",16,12,
18530x00,
1854#endif
1855"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1856 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
1857
1858
1859/* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
1860{
1861#ifdef NICENAMES
1862"ld address_dst,imm16",16,14,
18630x00,
1864#endif
1865"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
1866 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,160},
1867
1868
1869/* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
1870{
1871#ifdef NICENAMES
1872"ld address_dst,rs",16,11,
18730x00,
1874#endif
1875"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
1876 {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
1877
1878
1879/* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
1880{
1881#ifdef NICENAMES
1882"ld rd(imm16),rs",16,14,
18830x00,
1884#endif
1885"ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1886 {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
1887
1888
1889/* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
1890{
1891#ifdef NICENAMES
1892"ld rd(rx),rs",16,14,
18930x00,
1894#endif
1895"ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1896 {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,163},
1897
1898
1899/* 0010 0001 ssN0 dddd *** ld rd,@rs */
1900{
1901#ifdef NICENAMES
1902"ld rd,@rs",16,7,
19030x00,
1904#endif
1905"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
1906 {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
1907
1908
1909/* 0110 0001 0000 dddd address_src *** ld rd,address_src */
1910{
1911#ifdef NICENAMES
1912"ld rd,address_src",16,9,
19130x00,
1914#endif
1915"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
1916 {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
1917
1918
1919/* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
1920{
1921#ifdef NICENAMES
1922"ld rd,address_src(rs)",16,10,
19230x00,
1924#endif
1925"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
1926 {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
1927
1928
1929/* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
1930{
1931#ifdef NICENAMES
1932"ld rd,imm16",16,7,
19330x00,
1934#endif
1935"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
1936 {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
1937
1938
1939/* 1010 0001 ssss dddd *** ld rd,rs */
1940{
1941#ifdef NICENAMES
1942"ld rd,rs",16,3,
19430x00,
1944#endif
1945"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
1946 {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
1947
1948
1949/* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
1950{
1951#ifdef NICENAMES
1952"ld rd,rs(imm16)",16,14,
19530x00,
1954#endif
1955"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
1956 {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
1957
1958
1959/* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
1960{
1961#ifdef NICENAMES
1962"ld rd,rs(rx)",16,14,
19630x00,
1964#endif
1965"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
1966 {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,170},
1967
1968
1969/* 0111 0110 0000 dddd address_src *** lda prd,address_src */
1970{
1971#ifdef NICENAMES
1972"lda prd,address_src",16,12,
19730x00,
1974#endif
1975"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
1976 {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
1977
1978
1979/* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
1980{
1981#ifdef NICENAMES
1982"lda prd,address_src(rs)",16,13,
19830x00,
1984#endif
1985"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
1986 {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
1987
1988
1989/* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
1990{
1991#ifdef NICENAMES
1992"lda prd,rs(imm16)",16,15,
19930x00,
1994#endif
1995"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
1996 {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
1997
1998
1999/* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
2000{
2001#ifdef NICENAMES
2002"lda prd,rs(rx)",16,15,
20030x00,
2004#endif
2005"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
2006 {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,174},
2007
2008
2009/* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
2010{
2011#ifdef NICENAMES
2012"ldar prd,disp16",16,15,
20130x00,
2014#endif
2015"ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
2016 {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
2017
2018
2019/* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
2020{
2021#ifdef NICENAMES
2022"ldb @rd,imm8",8,7,
20230x00,
2024#endif
2025"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2026 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,176},
2027
2028
2029/* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
2030{
2031#ifdef NICENAMES
2032"ldb @rd,rbs",8,8,
20330x00,
2034#endif
2035"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2036 {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
2037
2038
2039/* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
2040{
2041#ifdef NICENAMES
2042"ldb address_dst(rd),imm8",8,15,
20430x00,
2044#endif
2045"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2046 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,178},
2047
2048
2049/* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
2050{
2051#ifdef NICENAMES
2052"ldb address_dst(rd),rbs",8,12,
20530x00,
2054#endif
2055"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2056 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
2057
2058
2059/* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
2060{
2061#ifdef NICENAMES
2062"ldb address_dst,imm8",8,14,
20630x00,
2064#endif
2065"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
2066 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,180},
2067
2068
2069/* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
2070{
2071#ifdef NICENAMES
2072"ldb address_dst,rbs",8,11,
20730x00,
2074#endif
2075"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
2076 {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
2077
2078
2079/* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
2080{
2081#ifdef NICENAMES
2082"ldb rbd,@rs",8,7,
20830x00,
2084#endif
2085"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2086 {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
2087
2088
2089/* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
2090{
2091#ifdef NICENAMES
2092"ldb rbd,address_src",8,9,
20930x00,
2094#endif
2095"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2096 {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
2097
2098
2099/* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
2100{
2101#ifdef NICENAMES
2102"ldb rbd,address_src(rs)",8,10,
21030x00,
2104#endif
2105"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2106 {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
2107
2108
2109/* 1100 dddd imm8 *** ldb rbd,imm8 */
2110{
2111#ifdef NICENAMES
2112"ldb rbd,imm8",8,5,
21130x00,
2114#endif
2115"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2116 {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
2117
2118
2119/* 1010 0000 ssss dddd *** ldb rbd,rbs */
2120{
2121#ifdef NICENAMES
2122"ldb rbd,rbs",8,3,
21230x00,
2124#endif
2125"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2126 {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
2127
2128
2129/* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
2130{
2131#ifdef NICENAMES
2132"ldb rbd,rs(imm16)",8,14,
21330x00,
2134#endif
2135"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
2136 {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
2137
2138
2139/* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
2140{
2141#ifdef NICENAMES
2142"ldb rbd,rs(rx)",8,14,
21430x00,
2144#endif
2145"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
2146 {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,188},
2147
2148
2149/* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
2150{
2151#ifdef NICENAMES
2152"ldb rd(imm16),rbs",8,14,
21530x00,
2154#endif
2155"ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2156 {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
2157
2158
2159/* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
2160{
2161#ifdef NICENAMES
2162"ldb rd(rx),rbs",8,14,
21630x00,
2164#endif
2165"ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2166 {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,190},
2167
2168
2169/* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
2170{
2171#ifdef NICENAMES
2172"ldctl ctrl,rs",32,7,
21730x00,
2174#endif
2175"ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
2176 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
2177
2178
2179/* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
2180{
2181#ifdef NICENAMES
2182"ldctl rd,ctrl",32,7,
21830x00,
2184#endif
2185"ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
2186 {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
2187
2188
2189/* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
2190{
2191#ifdef NICENAMES
2192"ldd @rd,@rs,rr",16,11,
21930x04,
2194#endif
2195"ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2196 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,193},
2197
2198
2199/* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
2200{
2201#ifdef NICENAMES
2202"lddb @rd,@rs,rr",8,11,
22030x04,
2204#endif
2205"lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2206 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,194},
2207
2208
2209/* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
2210{
2211#ifdef NICENAMES
2212"lddr @rd,@rs,rr",16,11,
22130x04,
2214#endif
2215"lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2216 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,195},
2217
2218
2219/* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
2220{
2221#ifdef NICENAMES
2222"lddrb @rd,@rs,rr",8,11,
22230x04,
2224#endif
2225"lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2226 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,196},
2227
2228
2229/* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
2230{
2231#ifdef NICENAMES
2232"ldi @rd,@rs,rr",16,11,
22330x04,
2234#endif
2235"ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2236 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,197},
2237
2238
2239/* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
2240{
2241#ifdef NICENAMES
2242"ldib @rd,@rs,rr",8,11,
22430x04,
2244#endif
2245"ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2246 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,198},
2247
2248
2249/* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
2250{
2251#ifdef NICENAMES
2252"ldir @rd,@rs,rr",16,11,
22530x04,
2254#endif
2255"ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2256 {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,199},
2257
2258
2259/* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
2260{
2261#ifdef NICENAMES
2262"ldirb @rd,@rs,rr",8,11,
22630x04,
2264#endif
2265"ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
2266 {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,200},
2267
2268
2269/* 1011 1101 dddd imm4 *** ldk rd,imm4 */
2270{
2271#ifdef NICENAMES
2272"ldk rd,imm4",16,5,
22730x00,
2274#endif
2275"ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
2276 {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,201},
2277
2278
2279/* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
2280{
2281#ifdef NICENAMES
2282"ldl @rd,rrs",32,11,
22830x00,
2284#endif
2285"ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2286 {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,202},
2287
2288
2289/* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
2290{
2291#ifdef NICENAMES
2292"ldl address_dst(rd),rrs",32,14,
22930x00,
2294#endif
2295"ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2296 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,203},
2297
2298
2299/* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
2300{
2301#ifdef NICENAMES
2302"ldl address_dst,rrs",32,15,
23030x00,
2304#endif
2305"ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
2306 {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,204},
2307
2308
2309/* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
2310{
2311#ifdef NICENAMES
2312"ldl rd(imm16),rrs",32,17,
23130x00,
2314#endif
2315"ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2316 {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,205},
2317
2318
2319/* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
2320{
2321#ifdef NICENAMES
2322"ldl rd(rx),rrs",32,17,
23230x00,
2324#endif
2325"ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2326 {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,206},
2327
2328
2329/* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
2330{
2331#ifdef NICENAMES
2332"ldl rrd,@rs",32,11,
23330x00,
2334#endif
2335"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2336 {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,207},
2337
2338
2339/* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
2340{
2341#ifdef NICENAMES
2342"ldl rrd,address_src",32,12,
23430x00,
2344#endif
2345"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2346 {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,208},
2347
2348
2349/* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
2350{
2351#ifdef NICENAMES
2352"ldl rrd,address_src(rs)",32,13,
23530x00,
2354#endif
2355"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2356 {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,209},
2357
2358
2359/* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
2360{
2361#ifdef NICENAMES
2362"ldl rrd,imm32",32,11,
23630x00,
2364#endif
2365"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2366 {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,210},
2367
2368
2369/* 1001 0100 ssss dddd *** ldl rrd,rrs */
2370{
2371#ifdef NICENAMES
2372"ldl rrd,rrs",32,5,
23730x00,
2374#endif
2375"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2376 {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,211},
2377
2378
2379/* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
2380{
2381#ifdef NICENAMES
2382"ldl rrd,rs(imm16)",32,17,
23830x00,
2384#endif
2385"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
2386 {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,212},
2387
2388
2389/* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
2390{
2391#ifdef NICENAMES
2392"ldl rrd,rs(rx)",32,17,
23930x00,
2394#endif
2395"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
2396 {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,213},
2397
2398
2399/* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
2400{
2401#ifdef NICENAMES
2402"ldm @rd,rs,n",16,11,
24030x00,
2404#endif
2405"ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2406 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,214},
2407
2408
2409/* 0101 1100 ddN0 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
2410{
2411#ifdef NICENAMES
2412"ldm address_dst(rd),rs,n",16,15,
24130x00,
2414#endif
2415"ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2416 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,215},
2417
2418
2419/* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
2420{
2421#ifdef NICENAMES
2422"ldm address_dst,rs,n",16,14,
24230x00,
2424#endif
2425"ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2426 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,216},
2427
2428
2429/* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
2430{
2431#ifdef NICENAMES
2432"ldm rd,@rs,n",16,11,
24330x00,
2434#endif
2435"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2436 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,217},
2437
2438
2439/* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
2440{
2441#ifdef NICENAMES
2442"ldm rd,address_src(rs),n",16,15,
24430x00,
2444#endif
2445"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
2446 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,218},
2447
2448
2449/* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
2450{
2451#ifdef NICENAMES
2452"ldm rd,address_src,n",16,14,
24530x00,
2454#endif
2455"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
2456 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,219},
2457
2458
2459/* 0011 1001 ssN0 0000 *** ldps @rs */
2460{
2461#ifdef NICENAMES
2462"ldps @rs",16,12,
24630x3f,
2464#endif
2465"ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
2466 {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,220},
2467
2468
2469/* 0111 1001 0000 0000 address_src *** ldps address_src */
2470{
2471#ifdef NICENAMES
2472"ldps address_src",16,16,
24730x3f,
2474#endif
2475"ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
2476 {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,221},
2477
2478
2479/* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
2480{
2481#ifdef NICENAMES
2482"ldps address_src(rs)",16,17,
24830x3f,
2484#endif
2485"ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
2486 {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,222},
2487
2488
2489/* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
2490{
2491#ifdef NICENAMES
2492"ldr disp16,rs",16,14,
24930x00,
2494#endif
2495"ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
2496 {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,223},
2497
2498
2499/* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
2500{
2501#ifdef NICENAMES
2502"ldr rd,disp16",16,14,
25030x00,
2504#endif
2505"ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
2506 {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,224},
2507
2508
2509/* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
2510{
2511#ifdef NICENAMES
2512"ldrb disp16,rbs",8,14,
25130x00,
2514#endif
2515"ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
2516 {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
2517
2518
2519/* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
2520{
2521#ifdef NICENAMES
2522"ldrb rbd,disp16",8,14,
25230x00,
2524#endif
2525"ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
2526 {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
2527
2528
2529/* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
2530{
2531#ifdef NICENAMES
2532"ldrl disp16,rrs",32,17,
25330x00,
2534#endif
2535"ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
2536 {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
2537
2538
2539/* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
2540{
2541#ifdef NICENAMES
2542"ldrl rrd,disp16",32,17,
25430x00,
2544#endif
2545"ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
2546 {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
2547
2548
2549/* 0111 1011 0000 1010 *** mbit */
2550{
2551#ifdef NICENAMES
2552"mbit",16,7,
25530x38,
2554#endif
2555"mbit",OPC_mbit,0,{0},
2556 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,229},
2557
2558
2559/* 0111 1011 dddd 1101 *** mreq rd */
2560{
2561#ifdef NICENAMES
2562"mreq rd",16,12,
25630x18,
2564#endif
2565"mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
2566 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,230},
2567
2568
2569/* 0111 1011 0000 1001 *** mres */
2570{
2571#ifdef NICENAMES
2572"mres",16,5,
25730x00,
2574#endif
2575"mres",OPC_mres,0,{0},
2576 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,231},
2577
2578
2579/* 0111 1011 0000 1000 *** mset */
2580{
2581#ifdef NICENAMES
2582"mset",16,5,
25830x00,
2584#endif
2585"mset",OPC_mset,0,{0},
2586 {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,232},
2587
2588
2589/* 0001 1001 ssN0 dddd *** mult rrd,@rs */
2590{
2591#ifdef NICENAMES
2592"mult rrd,@rs",16,70,
25930x3c,
2594#endif
2595"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
2596 {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,233},
2597
2598
2599/* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
2600{
2601#ifdef NICENAMES
2602"mult rrd,address_src",16,70,
26030x3c,
2604#endif
2605"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
2606 {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,234},
2607
2608
2609/* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
2610{
2611#ifdef NICENAMES
2612"mult rrd,address_src(rs)",16,70,
26130x3c,
2614#endif
2615"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
2616 {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,235},
2617
2618
2619/* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
2620{
2621#ifdef NICENAMES
2622"mult rrd,imm16",16,70,
26230x3c,
2624#endif
2625"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2626 {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,236},
2627
2628
2629/* 1001 1001 ssss dddd *** mult rrd,rs */
2630{
2631#ifdef NICENAMES
2632"mult rrd,rs",16,70,
26330x3c,
2634#endif
2635"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2636 {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,237},
2637
2638
2639/* 0001 1000 ssN0 dddd *** multl rqd,@rs */
2640{
2641#ifdef NICENAMES
2642"multl rqd,@rs",32,282,
26430x3c,
2644#endif
2645"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
2646 {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,238},
2647
2648
2649/* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
2650{
2651#ifdef NICENAMES
2652"multl rqd,address_src",32,282,
26530x3c,
2654#endif
2655"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2656 {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,239},
2657
2658
2659/* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
2660{
2661#ifdef NICENAMES
2662"multl rqd,address_src(rs)",32,282,
26630x3c,
2664#endif
2665"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
2666 {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,240},
2667
2668
2669/* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
2670{
2671#ifdef NICENAMES
2672"multl rqd,imm32",32,282,
26730x3c,
2674#endif
2675"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
2676 {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,241},
2677
2678
2679/* 1001 1000 ssss dddd *** multl rqd,rrs */
2680{
2681#ifdef NICENAMES
2682"multl rqd,rrs",32,282,
26830x3c,
2684#endif
2685"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
2686 {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,242},
2687
2688
2689/* 0000 1101 ddN0 0010 *** neg @rd */
2690{
2691#ifdef NICENAMES
2692"neg @rd",16,12,
26930x3c,
2694#endif
2695"neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
2696 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,243},
2697
2698
2699/* 0100 1101 0000 0010 address_dst *** neg address_dst */
2700{
2701#ifdef NICENAMES
2702"neg address_dst",16,15,
27030x3c,
2704#endif
2705"neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
2706 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,244},
2707
2708
2709/* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
2710{
2711#ifdef NICENAMES
2712"neg address_dst(rd)",16,16,
27130x3c,
2714#endif
2715"neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
2716 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,245},
2717
2718
2719/* 1000 1101 dddd 0010 *** neg rd */
2720{
2721#ifdef NICENAMES
2722"neg rd",16,7,
27230x3c,
2724#endif
2725"neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
2726 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,246},
2727
2728
2729/* 0000 1100 ddN0 0010 *** negb @rd */
2730{
2731#ifdef NICENAMES
2732"negb @rd",8,12,
27330x3c,
2734#endif
2735"negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
2736 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,247},
2737
2738
2739/* 0100 1100 0000 0010 address_dst *** negb address_dst */
2740{
2741#ifdef NICENAMES
2742"negb address_dst",8,15,
27430x3c,
2744#endif
2745"negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
2746 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,248},
2747
2748
2749/* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
2750{
2751#ifdef NICENAMES
2752"negb address_dst(rd)",8,16,
27530x3c,
2754#endif
2755"negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
2756 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,249},
2757
2758
2759/* 1000 1100 dddd 0010 *** negb rbd */
2760{
2761#ifdef NICENAMES
2762"negb rbd",8,7,
27630x3c,
2764#endif
2765"negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
2766 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,250},
2767
2768
2769/* 1000 1101 0000 0111 *** nop */
2770{
2771#ifdef NICENAMES
2772"nop",16,7,
27730x00,
2774#endif
2775"nop",OPC_nop,0,{0},
2776 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,251},
2777
2778
2779/* 0000 0101 ssN0 dddd *** or rd,@rs */
2780{
2781#ifdef NICENAMES
2782"or rd,@rs",16,7,
27830x38,
2784#endif
2785"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
2786 {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,252},
2787
2788
2789/* 0100 0101 0000 dddd address_src *** or rd,address_src */
2790{
2791#ifdef NICENAMES
2792"or rd,address_src",16,9,
27930x38,
2794#endif
2795"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
2796 {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,253},
2797
2798
2799/* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
2800{
2801#ifdef NICENAMES
2802"or rd,address_src(rs)",16,10,
28030x38,
2804#endif
2805"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
2806 {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,254},
2807
2808
2809/* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
2810{
2811#ifdef NICENAMES
2812"or rd,imm16",16,7,
28130x38,
2814#endif
2815"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
2816 {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,255},
2817
2818
2819/* 1000 0101 ssss dddd *** or rd,rs */
2820{
2821#ifdef NICENAMES
2822"or rd,rs",16,4,
28230x38,
2824#endif
2825"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2826 {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,256},
2827
2828
2829/* 0000 0100 ssN0 dddd *** orb rbd,@rs */
2830{
2831#ifdef NICENAMES
2832"orb rbd,@rs",8,7,
28330x3c,
2834#endif
2835"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
2836 {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,257},
2837
2838
2839/* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
2840{
2841#ifdef NICENAMES
2842"orb rbd,address_src",8,9,
28430x3c,
2844#endif
2845"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
2846 {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,258},
2847
2848
2849/* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
2850{
2851#ifdef NICENAMES
2852"orb rbd,address_src(rs)",8,10,
28530x3c,
2854#endif
2855"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
2856 {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,259},
2857
2858
2859/* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
2860{
2861#ifdef NICENAMES
2862"orb rbd,imm8",8,7,
28630x3c,
2864#endif
2865"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
2866 {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,260},
2867
2868
2869/* 1000 0100 ssss dddd *** orb rbd,rbs */
2870{
2871#ifdef NICENAMES
2872"orb rbd,rbs",8,4,
28730x3c,
2874#endif
2875"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2876 {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,261},
2877
2878
2879/* 0011 1111 ddN0 ssss *** out @rd,rs */
2880{
2881#ifdef NICENAMES
2882"out @rd,rs",16,0,
28830x04,
2884#endif
2885"out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
2886 {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,262},
2887
2888
2889/* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
2890{
2891#ifdef NICENAMES
2892"out imm16,rs",16,0,
28930x04,
2894#endif
2895"out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
2896 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,263},
2897
2898
2899/* 0011 1110 ddN0 ssss *** outb @rd,rbs */
2900{
2901#ifdef NICENAMES
2902"outb @rd,rbs",8,0,
29030x04,
2904#endif
2905"outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
2906 {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
2907
2908
2909/* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
2910{
2911#ifdef NICENAMES
2912"outb imm16,rbs",8,0,
29130x04,
2914#endif
2915"outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
2916 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
2917
2918
2919/* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
2920{
2921#ifdef NICENAMES
2922"outd @rd,@rs,ra",16,0,
29230x04,
2924#endif
2925"outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2926 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,266},
2927
2928
2929/* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
2930{
2931#ifdef NICENAMES
2932"outdb @rd,@rs,rba",16,0,
29330x04,
2934#endif
2935"outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
2936 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,267},
2937
2938
2939/* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
2940{
2941#ifdef NICENAMES
2942"outi @rd,@rs,ra",16,0,
29430x04,
2944#endif
2945"outi",OPC_outi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2946 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
2947
2948
2949/* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
2950{
2951#ifdef NICENAMES
2952"outib @rd,@rs,ra",16,0,
29530x04,
2954#endif
2955"outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2956 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,269},
2957
2958
2959/* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
2960{
2961#ifdef NICENAMES
2962"outibr @rd,@rs,ra",16,0,
29630x04,
2964#endif
2965"outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
2966 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,270},
2967
2968
2969/* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
2970{
2971#ifdef NICENAMES
2972"pop @rd,@rs",16,12,
29730x00,
2974#endif
2975"pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
2976 {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,271},
2977
2978
2979/* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
2980{
2981#ifdef NICENAMES
2982"pop address_dst(rd),@rs",16,16,
29830x00,
2984#endif
2985"pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
2986 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,272},
2987
2988
2989/* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
2990{
2991#ifdef NICENAMES
2992"pop address_dst,@rs",16,16,
29930x00,
2994#endif
2995"pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
2996 {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,273},
2997
2998
2999/* 1001 0111 ssN0 dddd *** pop rd,@rs */
3000{
3001#ifdef NICENAMES
3002"pop rd,@rs",16,8,
30030x00,
3004#endif
3005"pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3006 {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,274},
3007
3008
3009/* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
3010{
3011#ifdef NICENAMES
3012"popl @rd,@rs",32,19,
30130x00,
3014#endif
3015"popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3016 {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,275},
3017
3018
3019/* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
3020{
3021#ifdef NICENAMES
3022"popl address_dst(rd),@rs",32,23,
30230x00,
3024#endif
3025"popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
3026 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,276},
3027
3028
3029/* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
3030{
3031#ifdef NICENAMES
3032"popl address_dst,@rs",32,23,
30330x00,
3034#endif
3035"popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
3036 {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,277},
3037
3038
3039/* 1001 0101 ssN0 dddd *** popl rrd,@rs */
3040{
3041#ifdef NICENAMES
3042"popl rrd,@rs",32,12,
30430x00,
3044#endif
3045"popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3046 {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,278},
3047
3048
3049/* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
3050{
3051#ifdef NICENAMES
3052"push @rd,@rs",16,13,
30530x00,
3054#endif
3055"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3056 {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,279},
3057
3058
3059/* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
3060{
3061#ifdef NICENAMES
3062"push @rd,address_src",16,14,
30630x00,
3064#endif
3065"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
3066 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,280},
3067
3068
3069/* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
3070{
3071#ifdef NICENAMES
3072"push @rd,address_src(rs)",16,14,
30730x00,
3074#endif
3075"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
3076 {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,281},
3077
3078
3079/* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
3080{
3081#ifdef NICENAMES
3082"push @rd,imm16",16,12,
30830x00,
3084#endif
3085"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3086 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,282},
3087
3088
3089/* 1001 0011 ddN0 ssss *** push @rd,rs */
3090{
3091#ifdef NICENAMES
3092"push @rd,rs",16,9,
30930x00,
3094#endif
3095"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3096 {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,283},
3097
3098
3099/* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
3100{
3101#ifdef NICENAMES
3102"pushl @rd,@rs",32,20,
31030x00,
3104#endif
3105"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
3106 {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,284},
3107
3108
3109/* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
3110{
3111#ifdef NICENAMES
3112"pushl @rd,address_src",32,21,
31130x00,
3114#endif
3115"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
3116 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,285},
3117
3118
3119/* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
3120{
3121#ifdef NICENAMES
3122"pushl @rd,address_src(rs)",32,21,
31230x00,
3124#endif
3125"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
3126 {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,286},
3127
3128
3129/* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
3130{
3131#ifdef NICENAMES
3132"pushl @rd,rrs",32,12,
31330x00,
3134#endif
3135"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
3136 {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,287},
3137
3138
3139/* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
3140{
3141#ifdef NICENAMES
3142"res @rd,imm4",16,11,
31430x00,
3144#endif
3145"res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3146 {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,288},
3147
3148
3149/* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
3150{
3151#ifdef NICENAMES
3152"res address_dst(rd),imm4",16,14,
31530x00,
3154#endif
3155"res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3156 {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,289},
3157
3158
3159/* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
3160{
3161#ifdef NICENAMES
3162"res address_dst,imm4",16,13,
31630x00,
3164#endif
3165"res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3166 {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,290},
3167
3168
3169/* 1010 0011 dddd imm4 *** res rd,imm4 */
3170{
3171#ifdef NICENAMES
3172"res rd,imm4",16,4,
31730x00,
3174#endif
3175"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3176 {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,291},
3177
3178
3179/* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
3180{
3181#ifdef NICENAMES
3182"res rd,rs",16,10,
31830x00,
3184#endif
3185"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3186 {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,292},
3187
3188
3189/* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
3190{
3191#ifdef NICENAMES
3192"resb @rd,imm4",8,11,
31930x00,
3194#endif
3195"resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3196 {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,293},
3197
3198
3199/* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
3200{
3201#ifdef NICENAMES
3202"resb address_dst(rd),imm4",8,14,
32030x00,
3204#endif
3205"resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3206 {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,294},
3207
3208
3209/* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
3210{
3211#ifdef NICENAMES
3212"resb address_dst,imm4",8,13,
32130x00,
3214#endif
3215"resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3216 {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,295},
3217
3218
3219/* 1010 0010 dddd imm4 *** resb rbd,imm4 */
3220{
3221#ifdef NICENAMES
3222"resb rbd,imm4",8,4,
32230x00,
3224#endif
3225"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3226 {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,296},
3227
3228
3229/* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
3230{
3231#ifdef NICENAMES
3232"resb rbd,rs",8,10,
32330x00,
3234#endif
3235"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3236 {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,297},
3237
3238
3239/* 1000 1101 flags 0011 *** resflg flags */
3240{
3241#ifdef NICENAMES
3242"resflg flags",16,7,
32430x3c,
3244#endif
3245"resflg",OPC_resflg,0,{CLASS_FLAGS,},
3246 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,298},
3247
3248
3249/* 1001 1110 0000 cccc *** ret cc */
3250{
3251#ifdef NICENAMES
3252"ret cc",16,10,
32530x00,
3254#endif
3255"ret",OPC_ret,0,{CLASS_CC,},
3256 {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,299},
3257
3258
3259/* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
3260{
3261#ifdef NICENAMES
3262"rl rd,imm1or2",16,6,
32630x3c,
3264#endif
3265"rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3266 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,300},
3267
3268
3269/* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
3270{
3271#ifdef NICENAMES
3272"rlb rbd,imm1or2",8,6,
32730x3c,
3274#endif
3275"rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3276 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,301},
3277
3278
3279/* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
3280{
3281#ifdef NICENAMES
3282"rlc rd,imm1or2",16,6,
32830x3c,
3284#endif
3285"rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3286 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,302},
3287
3288
3289/* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
3290{
3291#ifdef NICENAMES
3292"rlcb rbd,imm1or2",8,9,
32930x10,
3294#endif
3295"rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3296 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,303},
3297
3298
3299/* 1011 1110 aaaa bbbb *** rldb rbb,rba */
3300{
3301#ifdef NICENAMES
3302"rldb rbb,rba",8,9,
33030x10,
3304#endif
3305"rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
3306 {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,304},
3307
3308
3309/* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
3310{
3311#ifdef NICENAMES
3312"rr rd,imm1or2",16,6,
33130x3c,
3314#endif
3315"rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3316 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,305},
3317
3318
3319/* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
3320{
3321#ifdef NICENAMES
3322"rrb rbd,imm1or2",8,6,
33230x3c,
3324#endif
3325"rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3326 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,306},
3327
3328
3329/* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
3330{
3331#ifdef NICENAMES
3332"rrc rd,imm1or2",16,6,
33330x3c,
3334#endif
3335"rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3336 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,307},
3337
3338
3339/* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
3340{
3341#ifdef NICENAMES
3342"rrcb rbd,imm1or2",8,9,
33430x10,
3344#endif
3345"rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
3346 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,308},
3347
3348
3349/* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
3350{
3351#ifdef NICENAMES
3352"rrdb rbb,rba",8,9,
33530x10,
3354#endif
3355"rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
3356 {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,309},
3357
3358
3359/* 0011 0110 imm8 *** rsvd36 */
3360{
3361#ifdef NICENAMES
3362"rsvd36",8,10,
33630x00,
3364#endif
3365"rsvd36",OPC_rsvd36,0,{0},
3366 {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,310},
3367
3368
3369/* 0011 1000 imm8 *** rsvd38 */
3370{
3371#ifdef NICENAMES
3372"rsvd38",8,10,
33730x00,
3374#endif
3375"rsvd38",OPC_rsvd38,0,{0},
3376 {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,311},
3377
3378
3379/* 0111 1000 imm8 *** rsvd78 */
3380{
3381#ifdef NICENAMES
3382"rsvd78",8,10,
33830x00,
3384#endif
3385"rsvd78",OPC_rsvd78,0,{0},
3386 {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
3387
3388
3389/* 0111 1110 imm8 *** rsvd7e */
3390{
3391#ifdef NICENAMES
3392"rsvd7e",8,10,
33930x00,
3394#endif
3395"rsvd7e",OPC_rsvd7e,0,{0},
3396 {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
3397
3398
3399/* 1001 1101 imm8 *** rsvd9d */
3400{
3401#ifdef NICENAMES
3402"rsvd9d",8,10,
34030x00,
3404#endif
3405"rsvd9d",OPC_rsvd9d,0,{0},
3406 {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
3407
3408
3409/* 1001 1111 imm8 *** rsvd9f */
3410{
3411#ifdef NICENAMES
3412"rsvd9f",8,10,
34130x00,
3414#endif
3415"rsvd9f",OPC_rsvd9f,0,{0},
3416 {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
3417
3418
3419/* 1011 1001 imm8 *** rsvdb9 */
3420{
3421#ifdef NICENAMES
3422"rsvdb9",8,10,
34230x00,
3424#endif
3425"rsvdb9",OPC_rsvdb9,0,{0},
3426 {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
3427
3428
3429/* 1011 1111 imm8 *** rsvdbf */
3430{
3431#ifdef NICENAMES
3432"rsvdbf",8,10,
34330x00,
3434#endif
3435"rsvdbf",OPC_rsvdbf,0,{0},
3436 {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,317},
3437
3438
3439/* 1011 0111 ssss dddd *** sbc rd,rs */
3440{
3441#ifdef NICENAMES
3442"sbc rd,rs",16,5,
34430x3c,
3444#endif
3445"sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3446 {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,318},
3447
3448
3449/* 1011 0110 ssss dddd *** sbcb rbd,rbs */
3450{
3451#ifdef NICENAMES
3452"sbcb rbd,rbs",8,5,
34530x3f,
3454#endif
3455"sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3456 {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,319},
3457
3458
3459/* 0111 1111 imm8 *** sc imm8 */
3460{
3461#ifdef NICENAMES
3462"sc imm8",8,33,
34630x3f,
3464#endif
3465"sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
3466 {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,320},
3467
3468
3469/* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
3470{
3471#ifdef NICENAMES
3472"sda rd,rs",16,15,
34730x3c,
3474#endif
3475"sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3476 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,321},
3477
3478
3479/* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
3480{
3481#ifdef NICENAMES
3482"sdab rbd,rs",8,15,
34830x3c,
3484#endif
3485"sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3486 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,322},
3487
3488
3489/* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
3490{
3491#ifdef NICENAMES
3492"sdal rrd,rs",32,15,
34930x3c,
3494#endif
3495"sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3496 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,323},
3497
3498
3499/* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
3500{
3501#ifdef NICENAMES
3502"sdl rd,rs",16,15,
35030x38,
3504#endif
3505"sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3506 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,324},
3507
3508
3509/* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
3510{
3511#ifdef NICENAMES
3512"sdlb rbd,rs",8,15,
35130x38,
3514#endif
3515"sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3516 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,325},
3517
3518
3519/* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
3520{
3521#ifdef NICENAMES
3522"sdll rrd,rs",32,15,
35230x38,
3524#endif
3525"sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3526 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,326},
3527
3528
3529/* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
3530{
3531#ifdef NICENAMES
3532"set @rd,imm4",16,11,
35330x00,
3534#endif
3535"set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3536 {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,327},
3537
3538
3539/* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
3540{
3541#ifdef NICENAMES
3542"set address_dst(rd),imm4",16,14,
35430x00,
3544#endif
3545"set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3546 {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,328},
3547
3548
3549/* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
3550{
3551#ifdef NICENAMES
3552"set address_dst,imm4",16,13,
35530x00,
3554#endif
3555"set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3556 {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,329},
3557
3558
3559/* 1010 0101 dddd imm4 *** set rd,imm4 */
3560{
3561#ifdef NICENAMES
3562"set rd,imm4",16,4,
35630x00,
3564#endif
3565"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3566 {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,330},
3567
3568
3569/* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
3570{
3571#ifdef NICENAMES
3572"set rd,rs",16,10,
35730x00,
3574#endif
3575"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3576 {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,331},
3577
3578
3579/* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
3580{
3581#ifdef NICENAMES
3582"setb @rd,imm4",8,11,
35830x00,
3584#endif
3585"setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3586 {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,332},
3587
3588
3589/* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
3590{
3591#ifdef NICENAMES
3592"setb address_dst(rd),imm4",8,14,
35930x00,
3594#endif
3595"setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3596 {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,333},
3597
3598
3599/* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
3600{
3601#ifdef NICENAMES
3602"setb address_dst,imm4",8,13,
36030x00,
3604#endif
3605"setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
3606 {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,334},
3607
3608
3609/* 1010 0100 dddd imm4 *** setb rbd,imm4 */
3610{
3611#ifdef NICENAMES
3612"setb rbd,imm4",8,4,
36130x00,
3614#endif
3615"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
3616 {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,335},
3617
3618
3619/* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
3620{
3621#ifdef NICENAMES
3622"setb rbd,rs",8,10,
36230x00,
3624#endif
3625"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3626 {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,336},
3627
3628
3629/* 1000 1101 flags 0001 *** setflg flags */
3630{
3631#ifdef NICENAMES
3632"setflg flags",16,7,
36330x3c,
3634#endif
3635"setflg",OPC_setflg,0,{CLASS_FLAGS,},
3636 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,337},
3637
3638
3639/* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
3640{
3641#ifdef NICENAMES
3642"sinb rbd,imm16",8,0,
36430x00,
3644#endif
3645"sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3646 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,338},
3647
3648
3649/* 0011 1011 dddd 0101 imm16 *** sinb rd,imm16 */
3650{
3651#ifdef NICENAMES
3652"sinb rd,imm16",8,0,
36530x00,
3654#endif
3655"sinb",OPC_sinb,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3656 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,339},
3657
3658
3659/* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
3660{
3661#ifdef NICENAMES
3662"sind @rd,@rs,ra",16,0,
36630x00,
3664#endif
3665"sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3666 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,340},
3667
3668
3669/* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
3670{
3671#ifdef NICENAMES
3672"sindb @rd,@rs,rba",8,0,
36730x00,
3674#endif
3675"sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3676 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,341},
3677
3678
3679/* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
3680{
3681#ifdef NICENAMES
3682"sinib @rd,@rs,ra",8,0,
36830x00,
3684#endif
3685"sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3686 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,342},
3687
3688
3689/* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
3690{
3691#ifdef NICENAMES
3692"sinibr @rd,@rs,ra",16,0,
36930x00,
3694#endif
3695"sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3696 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,343},
3697
3698
3699/* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
3700{
3701#ifdef NICENAMES
3702"sla rd,imm8",16,13,
37030x3c,
3704#endif
3705"sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3706 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,344},
3707
3708
3709/* 1011 0010 dddd 1001 0000 0000 imm8 *** slab rbd,imm8 */
3710{
3711#ifdef NICENAMES
3712"slab rbd,imm8",8,13,
37130x3c,
3714#endif
3715"slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3716 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,345},
3717
3718
3719/* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
3720{
3721#ifdef NICENAMES
3722"slal rrd,imm8",32,13,
37230x3c,
3724#endif
3725"slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3726 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,346},
3727
3728
3729/* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
3730{
3731#ifdef NICENAMES
3732"sll rd,imm8",16,13,
37330x38,
3734#endif
3735"sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3736 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,347},
3737
3738
3739/* 1011 0010 dddd 0001 0000 0000 imm8 *** sllb rbd,imm8 */
3740{
3741#ifdef NICENAMES
3742"sllb rbd,imm8",8,13,
37430x38,
3744#endif
3745"sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3746 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
3747
3748
3749/* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
3750{
3751#ifdef NICENAMES
3752"slll rrd,imm8",32,13,
37530x38,
3754#endif
3755"slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3756 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,349},
3757
3758
3759/* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
3760{
3761#ifdef NICENAMES
3762"sout imm16,rs",16,0,
37630x00,
3764#endif
3765"sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
3766 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,350},
3767
3768
3769/* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
3770{
3771#ifdef NICENAMES
3772"soutb imm16,rbs",8,0,
37730x00,
3774#endif
3775"soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
3776 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,351},
3777
3778
3779/* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
3780{
3781#ifdef NICENAMES
3782"soutd @rd,@rs,ra",16,0,
37830x00,
3784#endif
3785"soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3786 {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,352},
3787
3788
3789/* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
3790{
3791#ifdef NICENAMES
3792"soutdb @rd,@rs,rba",8,0,
37930x00,
3794#endif
3795"soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
3796 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,353},
3797
3798
3799/* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
3800{
3801#ifdef NICENAMES
3802"soutib @rd,@rs,ra",8,0,
38030x00,
3804#endif
3805"soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3806 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,354},
3807
3808
3809/* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
3810{
3811#ifdef NICENAMES
3812"soutibr @rd,@rs,ra",16,0,
38130x00,
3814#endif
3815"soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
3816 {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,355},
3817
3818
3819/* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
3820{
3821#ifdef NICENAMES
3822"sra rd,imm8",16,13,
38230x3c,
3824#endif
3825"sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3826 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,356},
3827
3828
3829/* 1011 0010 dddd 1001 0000 0000 nim8 *** srab rbd,imm8 */
3830{
3831#ifdef NICENAMES
3832"srab rbd,imm8",8,13,
38330x3c,
3834#endif
3835"srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3836 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,357},
3837
3838
3839/* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
3840{
3841#ifdef NICENAMES
3842"sral rrd,imm8",32,13,
38430x3c,
3844#endif
3845"sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3846 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,358},
3847
3848
3849/* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
3850{
3851#ifdef NICENAMES
3852"srl rd,imm8",16,13,
38530x3c,
3854#endif
3855"srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3856 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,359},
3857
3858
3859/* 1011 0010 dddd 0001 0000 0000 nim8 *** srlb rbd,imm8 */
3860{
3861#ifdef NICENAMES
3862"srlb rbd,imm8",8,13,
38630x3c,
3864#endif
3865"srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3866 {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
3867
3868
3869/* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
3870{
3871#ifdef NICENAMES
3872"srll rrd,imm8",32,13,
38730x3c,
3874#endif
3875"srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3876 {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,361},
3877
3878
3879/* 0000 0011 ssN0 dddd *** sub rd,@rs */
3880{
3881#ifdef NICENAMES
3882"sub rd,@rs",16,7,
38830x3c,
3884#endif
3885"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
3886 {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,362},
3887
3888
3889/* 0100 0011 0000 dddd address_src *** sub rd,address_src */
3890{
3891#ifdef NICENAMES
3892"sub rd,address_src",16,9,
38930x3c,
3894#endif
3895"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
3896 {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,363},
3897
3898
3899/* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
3900{
3901#ifdef NICENAMES
3902"sub rd,address_src(rs)",16,10,
39030x3c,
3904#endif
3905"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
3906 {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,364},
3907
3908
3909/* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
3910{
3911#ifdef NICENAMES
3912"sub rd,imm16",16,7,
39130x3c,
3914#endif
3915"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
3916 {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,365},
3917
3918
3919/* 1000 0011 ssss dddd *** sub rd,rs */
3920{
3921#ifdef NICENAMES
3922"sub rd,rs",16,4,
39230x3c,
3924#endif
3925"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
3926 {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,366},
3927
3928
3929/* 0000 0010 ssN0 dddd *** subb rbd,@rs */
3930{
3931#ifdef NICENAMES
3932"subb rbd,@rs",8,7,
39330x3f,
3934#endif
3935"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
3936 {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,367},
3937
3938
3939/* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
3940{
3941#ifdef NICENAMES
3942"subb rbd,address_src",8,9,
39430x3f,
3944#endif
3945"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
3946 {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,368},
3947
3948
3949/* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
3950{
3951#ifdef NICENAMES
3952"subb rbd,address_src(rs)",8,10,
39530x3f,
3954#endif
3955"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
3956 {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,369},
3957
3958
3959/* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
3960{
3961#ifdef NICENAMES
3962"subb rbd,imm8",8,7,
39630x3f,
3964#endif
3965"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
3966 {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,370},
3967
3968
3969/* 1000 0010 ssss dddd *** subb rbd,rbs */
3970{
3971#ifdef NICENAMES
3972"subb rbd,rbs",8,4,
39730x3f,
3974#endif
3975"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
3976 {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,371},
3977
3978
3979/* 0001 0010 ssN0 dddd *** subl rrd,@rs */
3980{
3981#ifdef NICENAMES
3982"subl rrd,@rs",32,14,
39830x3c,
3984#endif
3985"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
3986 {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,372},
3987
3988
3989/* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
3990{
3991#ifdef NICENAMES
3992"subl rrd,address_src",32,15,
39930x3c,
3994#endif
3995"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
3996 {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,373},
3997
3998
3999/* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
4000{
4001#ifdef NICENAMES
4002"subl rrd,address_src(rs)",32,16,
40030x3c,
4004#endif
4005"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
4006 {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,374},
4007
4008
4009/* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
4010{
4011#ifdef NICENAMES
4012"subl rrd,imm32",32,14,
40130x3c,
4014#endif
4015"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
4016 {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,375},
4017
4018
4019/* 1001 0010 ssss dddd *** subl rrd,rrs */
4020{
4021#ifdef NICENAMES
4022"subl rrd,rrs",32,8,
40230x3c,
4024#endif
4025"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
4026 {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,376},
4027
4028
4029/* 1010 1111 dddd cccc *** tcc cc,rd */
4030{
4031#ifdef NICENAMES
4032"tcc cc,rd",16,5,
40330x00,
4034#endif
4035"tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
4036 {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,377},
4037
4038
4039/* 1010 1110 dddd cccc *** tccb cc,rbd */
4040{
4041#ifdef NICENAMES
4042"tccb cc,rbd",8,5,
40430x00,
4044#endif
4045"tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
4046 {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,378},
4047
4048
4049/* 0000 1101 ddN0 0100 *** test @rd */
4050{
4051#ifdef NICENAMES
4052"test @rd",16,8,
40530x18,
4054#endif
4055"test",OPC_test,0,{CLASS_IR+(ARG_RD),},
4056 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,379},
4057
4058
4059/* 0100 1101 0000 0100 address_dst *** test address_dst */
4060{
4061#ifdef NICENAMES
4062"test address_dst",16,11,
40630x00,
4064#endif
4065"test",OPC_test,0,{CLASS_DA+(ARG_DST),},
4066 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,380},
4067
4068
4069/* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
4070{
4071#ifdef NICENAMES
4072"test address_dst(rd)",16,12,
40730x00,
4074#endif
4075"test",OPC_test,0,{CLASS_X+(ARG_RD),},
4076 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,381},
4077
4078
4079/* 1000 1101 dddd 0100 *** test rd */
4080{
4081#ifdef NICENAMES
4082"test rd",16,7,
40830x00,
4084#endif
4085"test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
4086 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,382},
4087
4088
4089/* 0000 1100 ddN0 0100 *** testb @rd */
4090{
4091#ifdef NICENAMES
4092"testb @rd",8,8,
40930x1c,
4094#endif
4095"testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
4096 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,383},
4097
4098
4099/* 0100 1100 0000 0100 address_dst *** testb address_dst */
4100{
4101#ifdef NICENAMES
4102"testb address_dst",8,11,
41030x1c,
4104#endif
4105"testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
4106 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,384},
4107
4108
4109/* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
4110{
4111#ifdef NICENAMES
4112"testb address_dst(rd)",8,12,
41130x1c,
4114#endif
4115"testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
4116 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,385},
4117
4118
4119/* 1000 1100 dddd 0100 *** testb rbd */
4120{
4121#ifdef NICENAMES
4122"testb rbd",8,7,
41230x1c,
4124#endif
4125"testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
4126 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,386},
4127
4128
4129/* 0001 1100 ddN0 1000 *** testl @rd */
4130{
4131#ifdef NICENAMES
4132"testl @rd",32,13,
41330x18,
4134#endif
4135"testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
4136 {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,387},
4137
4138
4139/* 0101 1100 0000 1000 address_dst *** testl address_dst */
4140{
4141#ifdef NICENAMES
4142"testl address_dst",32,16,
41430x18,
4144#endif
4145"testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
4146 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,388},
4147
4148
4149/* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
4150{
4151#ifdef NICENAMES
4152"testl address_dst(rd)",32,17,
41530x18,
4154#endif
4155"testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
4156 {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,389},
4157
4158
4159/* 1001 1100 dddd 1000 *** testl rrd */
4160{
4161#ifdef NICENAMES
4162"testl rrd",32,13,
41630x18,
4164#endif
4165"testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
4166 {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,390},
4167
4168
4169/* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
4170{
4171#ifdef NICENAMES
4172"trdb @rd,@rs,rba",8,25,
41730x1c,
4174#endif
4175"trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
4176 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,391},
4177
4178
4179/* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
4180{
4181#ifdef NICENAMES
4182"trdrb @rd,@rs,rba",8,25,
41830x1c,
4184#endif
4185"trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
4186 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,392},
4187
4188
4189/* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
4190{
4191#ifdef NICENAMES
4192"trib @rd,@rs,rbr",8,25,
41930x1c,
4194#endif
4195"trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
4196 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
4197
4198
4199/* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
4200{
4201#ifdef NICENAMES
4202"trirb @rd,@rs,rbr",8,25,
42030x1c,
4204#endif
4205"trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
4206 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,394},
4207
4208
4209/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
4210{
4211#ifdef NICENAMES
4212"trtdb @ra,@rb,rbr",8,25,
42130x1c,
4214#endif
4215"trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4216 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,395},
4217
4218
4219/* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
4220{
4221#ifdef NICENAMES
4222"trtdrb @ra,@rb,rbr",8,25,
42230x1c,
4224#endif
4225"trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4226 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,396},
4227
4228
4229/* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
4230{
4231#ifdef NICENAMES
4232"trtib @ra,@rb,rbr",8,25,
42330x1c,
4234#endif
4235"trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4236 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,397},
4237
4238
4239/* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
4240{
4241#ifdef NICENAMES
4242"trtirb @ra,@rb,rbr",8,25,
42430x1c,
4244#endif
4245"trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
4246 {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,398},
4247
4248
4249/* 0000 1101 ddN0 0110 *** tset @rd */
4250{
4251#ifdef NICENAMES
4252"tset @rd",16,11,
42530x08,
4254#endif
4255"tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
4256 {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,399},
4257
4258
4259/* 0100 1101 0000 0110 address_dst *** tset address_dst */
4260{
4261#ifdef NICENAMES
4262"tset address_dst",16,14,
42630x08,
4264#endif
4265"tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
4266 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,400},
4267
4268
4269/* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
4270{
4271#ifdef NICENAMES
4272"tset address_dst(rd)",16,15,
42730x08,
4274#endif
4275"tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
4276 {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,401},
4277
4278
4279/* 1000 1101 dddd 0110 *** tset rd */
4280{
4281#ifdef NICENAMES
4282"tset rd",16,7,
42830x08,
4284#endif
4285"tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
4286 {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
4287
4288
4289/* 0000 1100 ddN0 0110 *** tsetb @rd */
4290{
4291#ifdef NICENAMES
4292"tsetb @rd",8,11,
42930x08,
4294#endif
4295"tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
4296 {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,403},
4297
4298
4299/* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
4300{
4301#ifdef NICENAMES
4302"tsetb address_dst",8,14,
43030x08,
4304#endif
4305"tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
4306 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
4307
4308
4309/* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
4310{
4311#ifdef NICENAMES
4312"tsetb address_dst(rd)",8,15,
43130x08,
4314#endif
4315"tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
4316 {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,405},
4317
4318
4319/* 1000 1100 dddd 0110 *** tsetb rbd */
4320{
4321#ifdef NICENAMES
4322"tsetb rbd",8,7,
43230x08,
4324#endif
4325"tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
4326 {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,406},
4327
4328
4329/* 0000 1001 ssN0 dddd *** xor rd,@rs */
4330{
4331#ifdef NICENAMES
4332"xor rd,@rs",16,7,
43330x18,
4334#endif
4335"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
4336 {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,407},
4337
4338
4339/* 0100 1001 0000 dddd address_src *** xor rd,address_src */
4340{
4341#ifdef NICENAMES
4342"xor rd,address_src",16,9,
43430x18,
4344#endif
4345"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
4346 {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,408},
4347
4348
4349/* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
4350{
4351#ifdef NICENAMES
4352"xor rd,address_src(rs)",16,10,
43530x18,
4354#endif
4355"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
4356 {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,409},
4357
4358
4359/* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
4360{
4361#ifdef NICENAMES
4362"xor rd,imm16",16,7,
43630x18,
4364#endif
4365"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
4366 {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,410},
4367
4368
4369/* 1000 1001 ssss dddd *** xor rd,rs */
4370{
4371#ifdef NICENAMES
4372"xor rd,rs",16,4,
43730x18,
4374#endif
4375"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
4376 {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,411},
4377
4378
4379/* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
4380{
4381#ifdef NICENAMES
4382"xorb rbd,@rs",8,7,
43830x1c,
4384#endif
4385"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
4386 {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,412},
4387
4388
4389/* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
4390{
4391#ifdef NICENAMES
4392"xorb rbd,address_src",8,9,
43930x1c,
4394#endif
4395"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
4396 {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,413},
4397
4398
4399/* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
4400{
4401#ifdef NICENAMES
4402"xorb rbd,address_src(rs)",8,10,
44030x1c,
4404#endif
4405"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
4406 {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,414},
4407
4408
4409/* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
4410{
4411#ifdef NICENAMES
4412"xorb rbd,imm8",8,7,
44130x1c,
4414#endif
4415"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
4416 {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,415},
4417
4418
4419/* 1000 1000 ssss dddd *** xorb rbd,rbs */
4420{
4421#ifdef NICENAMES
4422"xorb rbd,rbs",8,4,
44230x1c,
4424#endif
4425"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
4426 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,416},
4427
4428
4429/* 1000 1000 ssss dddd *** xorb rbd,rbs */
4430{
4431#ifdef NICENAMES
4432"xorb rbd,rbs",8,4,
44330x01,
4434#endif
4435"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
4436 {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,417},
44370,0};
4438#endif
This page took 0.307716 seconds and 4 git commands to generate.