OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [opcodes/] [z8k-opc.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.