Back to index

cell-binutils  2.17cvs20070401
z8k-opc.h
Go to the documentation of this file.
00001 /* DO NOT EDIT!  -*- buffer-read-only: t -*-
00002    This file is automatically generated by z8kgen.  */
00003 
00004 #define ARG_MASK         0x0f
00005 #define ARG_SRC          0x01
00006 #define ARG_DST          0x02
00007 #define ARG_RS           0x01
00008 #define ARG_RD           0x02
00009 #define ARG_RA           0x03
00010 #define ARG_RB           0x04
00011 #define ARG_RR           0x05
00012 #define ARG_RX           0x06
00013 #define ARG_IMM4         0x01
00014 #define ARG_IMM8         0x02
00015 #define ARG_IMM16        0x03
00016 #define ARG_IMM32        0x04
00017 #define ARG_IMMN         0x05
00018 #define ARG_IMMNMINUS1   0x05
00019 #define ARG_IMM_1        0x06
00020 #define ARG_IMM_2        0x07
00021 #define ARG_DISP16       0x08
00022 #define ARG_NIM8         0x09
00023 #define ARG_IMM2         0x0a
00024 #define ARG_IMM1OR2      0x0b
00025 #define ARG_DISP12       0x0b
00026 #define ARG_NIM4         0x0c
00027 #define ARG_DISP8        0x0c
00028 #define ARG_IMM4M1       0x0d
00029 #define CLASS_X          0x10
00030 #define CLASS_BA         0x20
00031 #define CLASS_DA         0x30
00032 #define CLASS_BX         0x40
00033 #define CLASS_DISP       0x50
00034 #define CLASS_IMM        0x60
00035 #define CLASS_CC         0x70
00036 #define CLASS_CTRL       0x80
00037 #define CLASS_IGNORE     0x90
00038 #define CLASS_ADDRESS    0xd0
00039 #define CLASS_0CCC       0xe0
00040 #define CLASS_1CCC       0xf0
00041 #define CLASS_0DISP7    0x100
00042 #define CLASS_1DISP7    0x200
00043 #define CLASS_01II      0x300
00044 #define CLASS_00II      0x400
00045 #define CLASS_BIT       0x500
00046 #define CLASS_FLAGS     0x600
00047 #define CLASS_IR        0x700
00048 #define CLASS_IRO       0x800
00049 #define CLASS_DISP8     0x900
00050 #define CLASS_BIT_1OR2  0xa00
00051 #define CLASS_REG       0x7000
00052 #define CLASS_REG_BYTE  0x2000
00053 #define CLASS_REG_WORD  0x3000
00054 #define CLASS_REG_QUAD  0x4000
00055 #define CLASS_REG_LONG  0x5000
00056 #define CLASS_REGN0     0x8000
00057 #define CLASS_PR       0x10000
00058 #define CLASS_MASK     0x1fff0
00059 #define OPC_adc      0
00060 #define OPC_adcb     1
00061 #define OPC_add      2
00062 #define OPC_addb     3
00063 #define OPC_addl     4
00064 #define OPC_and      5
00065 #define OPC_andb     6
00066 #define OPC_bit      7
00067 #define OPC_bitb     8
00068 #define OPC_call     9
00069 #define OPC_calr    10
00070 #define OPC_clr     11
00071 #define OPC_clrb    12
00072 #define OPC_com     13
00073 #define OPC_comb    14
00074 #define OPC_comflg  15
00075 #define OPC_cp      16
00076 #define OPC_cpb     17
00077 #define OPC_cpd     18
00078 #define OPC_cpdb    19
00079 #define OPC_cpdr    20
00080 #define OPC_cpdrb   21
00081 #define OPC_cpi     22
00082 #define OPC_cpib    23
00083 #define OPC_cpir    24
00084 #define OPC_cpirb   25
00085 #define OPC_cpl     26
00086 #define OPC_cpsd    27
00087 #define OPC_cpsdb   28
00088 #define OPC_cpsdr   29
00089 #define OPC_cpsdrb  30
00090 #define OPC_cpsi    31
00091 #define OPC_cpsib   32
00092 #define OPC_cpsir   33
00093 #define OPC_cpsirb  34
00094 #define OPC_dab     35
00095 #define OPC_dbjnz   36
00096 #define OPC_dec     37
00097 #define OPC_decb    38
00098 #define OPC_di      39
00099 #define OPC_div     40
00100 #define OPC_divl    41
00101 #define OPC_djnz    42
00102 #define OPC_ei      43
00103 #define OPC_ex      44
00104 #define OPC_exb     45
00105 #define OPC_exts    46
00106 #define OPC_extsb   47
00107 #define OPC_extsl   48
00108 #define OPC_halt    49
00109 #define OPC_in      50
00110 #define OPC_inb     51
00111 #define OPC_inc     52
00112 #define OPC_incb    53
00113 #define OPC_ind     54
00114 #define OPC_indb    55
00115 #define OPC_indr    56
00116 #define OPC_indrb   57
00117 #define OPC_ini     58
00118 #define OPC_inib    59
00119 #define OPC_inir    60
00120 #define OPC_inirb   61
00121 #define OPC_iret    62
00122 #define OPC_jp      63
00123 #define OPC_jr      64
00124 #define OPC_ld      65
00125 #define OPC_lda     66
00126 #define OPC_ldar    67
00127 #define OPC_ldb     68
00128 #define OPC_ldctl   69
00129 #define OPC_ldir    70
00130 #define OPC_ldirb   71
00131 #define OPC_ldk     72
00132 #define OPC_ldl     73
00133 #define OPC_ldm     74
00134 #define OPC_ldps    75
00135 #define OPC_ldr     76
00136 #define OPC_ldrb    77
00137 #define OPC_ldrl    78
00138 #define OPC_mbit    79
00139 #define OPC_mreq    80
00140 #define OPC_mres    81
00141 #define OPC_mset    82
00142 #define OPC_mult    83
00143 #define OPC_multl   84
00144 #define OPC_neg     85
00145 #define OPC_negb    86
00146 #define OPC_nop     87
00147 #define OPC_or      88
00148 #define OPC_orb     89
00149 #define OPC_otdr    90
00150 #define OPC_otdrb   91
00151 #define OPC_otir    92
00152 #define OPC_otirb   93
00153 #define OPC_out     94
00154 #define OPC_outb    95
00155 #define OPC_outd    96
00156 #define OPC_outdb   97
00157 #define OPC_outi    98
00158 #define OPC_outib   99
00159 #define OPC_pop    100
00160 #define OPC_popl   101
00161 #define OPC_push   102
00162 #define OPC_pushl  103
00163 #define OPC_res    104
00164 #define OPC_resb   105
00165 #define OPC_resflg 106
00166 #define OPC_ret    107
00167 #define OPC_rl     108
00168 #define OPC_rlb    109
00169 #define OPC_rlc    110
00170 #define OPC_rlcb   111
00171 #define OPC_rldb   112
00172 #define OPC_rr     113
00173 #define OPC_rrb    114
00174 #define OPC_rrc    115
00175 #define OPC_rrcb   116
00176 #define OPC_rrdb   117
00177 #define OPC_sbc    118
00178 #define OPC_sbcb   119
00179 #define OPC_sda    120
00180 #define OPC_sdab   121
00181 #define OPC_sdal   122
00182 #define OPC_sdl    123
00183 #define OPC_sdlb   124
00184 #define OPC_sdll   125
00185 #define OPC_set    126
00186 #define OPC_setb   127
00187 #define OPC_setflg 128
00188 #define OPC_sin    129
00189 #define OPC_sinb   130
00190 #define OPC_sind   131
00191 #define OPC_sindb  132
00192 #define OPC_sindr  133
00193 #define OPC_sindrb 134
00194 #define OPC_sini   135
00195 #define OPC_sinib  136
00196 #define OPC_sinir  137
00197 #define OPC_sinirb 138
00198 #define OPC_sla    139
00199 #define OPC_slab   140
00200 #define OPC_slal   141
00201 #define OPC_sll    142
00202 #define OPC_sllb   143
00203 #define OPC_slll   144
00204 #define OPC_sotdr  145
00205 #define OPC_sotdrb 146
00206 #define OPC_sotir  147
00207 #define OPC_sotirb 148
00208 #define OPC_sout   149
00209 #define OPC_soutb  150
00210 #define OPC_soutd  151
00211 #define OPC_soutdb 152
00212 #define OPC_souti  153
00213 #define OPC_soutib 154
00214 #define OPC_sra    155
00215 #define OPC_srab   156
00216 #define OPC_sral   157
00217 #define OPC_srl    158
00218 #define OPC_srlb   159
00219 #define OPC_srll   160
00220 #define OPC_sub    161
00221 #define OPC_subb   162
00222 #define OPC_subl   163
00223 #define OPC_tcc    164
00224 #define OPC_tccb   165
00225 #define OPC_test   166
00226 #define OPC_testb  167
00227 #define OPC_testl  168
00228 #define OPC_trdb   169
00229 #define OPC_trdrb  170
00230 #define OPC_trib   171
00231 #define OPC_trirb  172
00232 #define OPC_trtdrb 173
00233 #define OPC_trtib  174
00234 #define OPC_trtirb 175
00235 #define OPC_trtrb  176
00236 #define OPC_tset   177
00237 #define OPC_tsetb  178
00238 #define OPC_xor    179
00239 #define OPC_xorb   180
00240 #define OPC_ldd    181
00241 #define OPC_lddb   182
00242 #define OPC_lddr   183
00243 #define OPC_lddrb  184
00244 #define OPC_ldi    185
00245 #define OPC_ldib   186
00246 #define OPC_sc     187
00247 #define OPC_bpt    188
00248 #define OPC_ext0e  188
00249 #define OPC_ext0f  188
00250 #define OPC_ext8e  188
00251 #define OPC_ext8f  188
00252 #define OPC_rsvd36 188
00253 #define OPC_rsvd38 188
00254 #define OPC_rsvd78 188
00255 #define OPC_rsvd7e 188
00256 #define OPC_rsvd9d 188
00257 #define OPC_rsvd9f 188
00258 #define OPC_rsvdb9 188
00259 #define OPC_rsvdbf 188
00260 #define OPC_ldctlb 189
00261 #define OPC_trtdb  190
00262 #define OPC_brk    191
00263 
00264 typedef struct {
00265 #ifdef NICENAMES
00266   const char *nicename;
00267   int type;
00268   int cycles;
00269   int flags;
00270 #endif
00271   const char *name;
00272   unsigned char opcode;
00273   void (*func) PARAMS ((void));
00274   unsigned int arg_info[4];
00275   unsigned int byte_info[10];
00276   int noperands;
00277   int length;
00278   int idx;
00279 } opcode_entry_type;
00280 
00281 #ifdef DEFINE_TABLE
00282 const opcode_entry_type z8k_table[] = {
00283 
00284 /* 1011 0101 ssss dddd *** adc rd,rs */
00285 {
00286 #ifdef NICENAMES
00287 "adc rd,rs",16,5,0x3c,
00288 #endif
00289 "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
00290        {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
00291 
00292 /* 1011 0100 ssss dddd *** adcb rbd,rbs */
00293 {
00294 #ifdef NICENAMES
00295 "adcb rbd,rbs",8,5,0x3f,
00296 #endif
00297 "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
00298        {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
00299 
00300 /* 0000 0001 ssN0 dddd *** add rd,@rs */
00301 {
00302 #ifdef NICENAMES
00303 "add rd,@rs",16,7,0x3c,
00304 #endif
00305 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
00306        {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
00307 
00308 /* 0100 0001 0000 dddd address_src *** add rd,address_src */
00309 {
00310 #ifdef NICENAMES
00311 "add rd,address_src",16,9,0x3c,
00312 #endif
00313 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
00314        {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
00315 
00316 /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
00317 {
00318 #ifdef NICENAMES
00319 "add rd,address_src(rs)",16,10,0x3c,
00320 #endif
00321 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
00322        {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
00323 
00324 /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
00325 {
00326 #ifdef NICENAMES
00327 "add rd,imm16",16,7,0x3c,
00328 #endif
00329 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
00330        {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,2},
00331 
00332 /* 1000 0001 ssss dddd *** add rd,rs */
00333 {
00334 #ifdef NICENAMES
00335 "add rd,rs",16,4,0x3c,
00336 #endif
00337 "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
00338        {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
00339 
00340 /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
00341 {
00342 #ifdef NICENAMES
00343 "addb rbd,@rs",8,7,0x3f,
00344 #endif
00345 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
00346        {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
00347 
00348 /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
00349 {
00350 #ifdef NICENAMES
00351 "addb rbd,address_src",8,9,0x3f,
00352 #endif
00353 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
00354        {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
00355 
00356 /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
00357 {
00358 #ifdef NICENAMES
00359 "addb rbd,address_src(rs)",8,10,0x3f,
00360 #endif
00361 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
00362        {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
00363 
00364 /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
00365 {
00366 #ifdef NICENAMES
00367 "addb rbd,imm8",8,7,0x3f,
00368 #endif
00369 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
00370        {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,3},
00371 
00372 /* 1000 0000 ssss dddd *** addb rbd,rbs */
00373 {
00374 #ifdef NICENAMES
00375 "addb rbd,rbs",8,4,0x3f,
00376 #endif
00377 "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
00378        {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
00379 
00380 /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
00381 {
00382 #ifdef NICENAMES
00383 "addl rrd,@rs",32,14,0x3c,
00384 #endif
00385 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
00386        {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
00387 
00388 /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
00389 {
00390 #ifdef NICENAMES
00391 "addl rrd,address_src",32,15,0x3c,
00392 #endif
00393 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
00394        {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
00395 
00396 /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
00397 {
00398 #ifdef NICENAMES
00399 "addl rrd,address_src(rs)",32,16,0x3c,
00400 #endif
00401 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
00402        {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
00403 
00404 /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
00405 {
00406 #ifdef NICENAMES
00407 "addl rrd,imm32",32,14,0x3c,
00408 #endif
00409 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
00410        {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,4},
00411 
00412 /* 1001 0110 ssss dddd *** addl rrd,rrs */
00413 {
00414 #ifdef NICENAMES
00415 "addl rrd,rrs",32,8,0x3c,
00416 #endif
00417 "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
00418        {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
00419 
00420 /* 0000 0111 ssN0 dddd *** and rd,@rs */
00421 {
00422 #ifdef NICENAMES
00423 "and rd,@rs",16,7,0x18,
00424 #endif
00425 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
00426        {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
00427 
00428 /* 0100 0111 0000 dddd address_src *** and rd,address_src */
00429 {
00430 #ifdef NICENAMES
00431 "and rd,address_src",16,9,0x18,
00432 #endif
00433 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
00434        {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
00435 
00436 /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
00437 {
00438 #ifdef NICENAMES
00439 "and rd,address_src(rs)",16,10,0x18,
00440 #endif
00441 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
00442        {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
00443 
00444 /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
00445 {
00446 #ifdef NICENAMES
00447 "and rd,imm16",16,7,0x18,
00448 #endif
00449 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
00450        {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
00451 
00452 /* 1000 0111 ssss dddd *** and rd,rs */
00453 {
00454 #ifdef NICENAMES
00455 "and rd,rs",16,4,0x18,
00456 #endif
00457 "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
00458        {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
00459 
00460 /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
00461 {
00462 #ifdef NICENAMES
00463 "andb rbd,@rs",8,7,0x1c,
00464 #endif
00465 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
00466        {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
00467 
00468 /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
00469 {
00470 #ifdef NICENAMES
00471 "andb rbd,address_src",8,9,0x1c,
00472 #endif
00473 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
00474        {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
00475 
00476 /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
00477 {
00478 #ifdef NICENAMES
00479 "andb rbd,address_src(rs)",8,10,0x1c,
00480 #endif
00481 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
00482        {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
00483 
00484 /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
00485 {
00486 #ifdef NICENAMES
00487 "andb rbd,imm8",8,7,0x1c,
00488 #endif
00489 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
00490        {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,6},
00491 
00492 /* 1000 0110 ssss dddd *** andb rbd,rbs */
00493 {
00494 #ifdef NICENAMES
00495 "andb rbd,rbs",8,4,0x1c,
00496 #endif
00497 "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
00498        {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
00499 
00500 /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
00501 {
00502 #ifdef NICENAMES
00503 "bit @rd,imm4",16,8,0x10,
00504 #endif
00505 "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
00506        {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
00507 
00508 /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
00509 {
00510 #ifdef NICENAMES
00511 "bit address_dst(rd),imm4",16,11,0x10,
00512 #endif
00513 "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
00514        {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
00515 
00516 /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
00517 {
00518 #ifdef NICENAMES
00519 "bit address_dst,imm4",16,10,0x10,
00520 #endif
00521 "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
00522        {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
00523 
00524 /* 1010 0111 dddd imm4 *** bit rd,imm4 */
00525 {
00526 #ifdef NICENAMES
00527 "bit rd,imm4",16,4,0x10,
00528 #endif
00529 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
00530        {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
00531 
00532 /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
00533 {
00534 #ifdef NICENAMES
00535 "bit rd,rs",16,10,0x10,
00536 #endif
00537 "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
00538        {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,7},
00539 
00540 /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
00541 {
00542 #ifdef NICENAMES
00543 "bitb @rd,imm4",8,8,0x10,
00544 #endif
00545 "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
00546        {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
00547 
00548 /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
00549 {
00550 #ifdef NICENAMES
00551 "bitb address_dst(rd),imm4",8,11,0x10,
00552 #endif
00553 "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
00554        {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
00555 
00556 /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
00557 {
00558 #ifdef NICENAMES
00559 "bitb address_dst,imm4",8,10,0x10,
00560 #endif
00561 "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
00562        {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
00563 
00564 /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
00565 {
00566 #ifdef NICENAMES
00567 "bitb rbd,imm4",8,4,0x10,
00568 #endif
00569 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
00570        {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
00571 
00572 /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
00573 {
00574 #ifdef NICENAMES
00575 "bitb rbd,rs",8,10,0x10,
00576 #endif
00577 "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
00578        {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,8},
00579 
00580 /* 0011 0110 0000 0000 *** bpt */
00581 {
00582 #ifdef NICENAMES
00583 "bpt",8,2,0x00,
00584 #endif
00585 "bpt",OPC_bpt,0,{0},
00586        {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,9},
00587 
00588 /* 0000 1111 0000 1100 *** brk */
00589 {
00590 #ifdef NICENAMES
00591 "brk",8,10,0x00,
00592 #endif
00593 "brk",OPC_brk,0,{0},
00594        {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0xc,0,0,0,0,0,},0,2,10},
00595 
00596 /* 0001 1111 ddN0 0000 *** call @rd */
00597 {
00598 #ifdef NICENAMES
00599 "call @rd",32,10,0x00,
00600 #endif
00601 "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
00602        {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,11},
00603 
00604 /* 0101 1111 0000 0000 address_dst *** call address_dst */
00605 {
00606 #ifdef NICENAMES
00607 "call address_dst",32,12,0x00,
00608 #endif
00609 "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
00610        {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
00611 
00612 /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
00613 {
00614 #ifdef NICENAMES
00615 "call address_dst(rd)",32,13,0x00,
00616 #endif
00617 "call",OPC_call,0,{CLASS_X+(ARG_RD),},
00618        {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,11},
00619 
00620 /* 1101 disp12 *** calr disp12 */
00621 {
00622 #ifdef NICENAMES
00623 "calr disp12",16,10,0x00,
00624 #endif
00625 "calr",OPC_calr,0,{CLASS_DISP,},
00626        {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,12},
00627 
00628 /* 0000 1101 ddN0 1000 *** clr @rd */
00629 {
00630 #ifdef NICENAMES
00631 "clr @rd",16,8,0x00,
00632 #endif
00633 "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
00634        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
00635 
00636 /* 0100 1101 0000 1000 address_dst *** clr address_dst */
00637 {
00638 #ifdef NICENAMES
00639 "clr address_dst",16,11,0x00,
00640 #endif
00641 "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
00642        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
00643 
00644 /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
00645 {
00646 #ifdef NICENAMES
00647 "clr address_dst(rd)",16,12,0x00,
00648 #endif
00649 "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
00650        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
00651 
00652 /* 1000 1101 dddd 1000 *** clr rd */
00653 {
00654 #ifdef NICENAMES
00655 "clr rd",16,7,0x00,
00656 #endif
00657 "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
00658        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
00659 
00660 /* 0000 1100 ddN0 1000 *** clrb @rd */
00661 {
00662 #ifdef NICENAMES
00663 "clrb @rd",8,8,0x00,
00664 #endif
00665 "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
00666        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
00667 
00668 /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
00669 {
00670 #ifdef NICENAMES
00671 "clrb address_dst",8,11,0x00,
00672 #endif
00673 "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
00674        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
00675 
00676 /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
00677 {
00678 #ifdef NICENAMES
00679 "clrb address_dst(rd)",8,12,0x00,
00680 #endif
00681 "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
00682        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
00683 
00684 /* 1000 1100 dddd 1000 *** clrb rbd */
00685 {
00686 #ifdef NICENAMES
00687 "clrb rbd",8,7,0x00,
00688 #endif
00689 "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
00690        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,14},
00691 
00692 /* 0000 1101 ddN0 0000 *** com @rd */
00693 {
00694 #ifdef NICENAMES
00695 "com @rd",16,12,0x18,
00696 #endif
00697 "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
00698        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
00699 
00700 /* 0100 1101 0000 0000 address_dst *** com address_dst */
00701 {
00702 #ifdef NICENAMES
00703 "com address_dst",16,15,0x18,
00704 #endif
00705 "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
00706        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
00707 
00708 /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
00709 {
00710 #ifdef NICENAMES
00711 "com address_dst(rd)",16,16,0x18,
00712 #endif
00713 "com",OPC_com,0,{CLASS_X+(ARG_RD),},
00714        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
00715 
00716 /* 1000 1101 dddd 0000 *** com rd */
00717 {
00718 #ifdef NICENAMES
00719 "com rd",16,7,0x18,
00720 #endif
00721 "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
00722        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
00723 
00724 /* 0000 1100 ddN0 0000 *** comb @rd */
00725 {
00726 #ifdef NICENAMES
00727 "comb @rd",8,12,0x1c,
00728 #endif
00729 "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
00730        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
00731 
00732 /* 0100 1100 0000 0000 address_dst *** comb address_dst */
00733 {
00734 #ifdef NICENAMES
00735 "comb address_dst",8,15,0x1c,
00736 #endif
00737 "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
00738        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
00739 
00740 /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
00741 {
00742 #ifdef NICENAMES
00743 "comb address_dst(rd)",8,16,0x1c,
00744 #endif
00745 "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
00746        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,16},
00747 
00748 /* 1000 1100 dddd 0000 *** comb rbd */
00749 {
00750 #ifdef NICENAMES
00751 "comb rbd",8,7,0x1c,
00752 #endif
00753 "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
00754        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,16},
00755 
00756 /* 1000 1101 flags 0101 *** comflg flags */
00757 {
00758 #ifdef NICENAMES
00759 "comflg flags",16,7,0x3c,
00760 #endif
00761 "comflg",OPC_comflg,0,{CLASS_FLAGS,},
00762        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,17},
00763 
00764 /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
00765 {
00766 #ifdef NICENAMES
00767 "cp @rd,imm16",16,11,0x3c,
00768 #endif
00769 "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
00770        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
00771 
00772 /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
00773 {
00774 #ifdef NICENAMES
00775 "cp address_dst(rd),imm16",16,15,0x3c,
00776 #endif
00777 "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
00778        {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,18},
00779 
00780 /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
00781 {
00782 #ifdef NICENAMES
00783 "cp address_dst,imm16",16,14,0x3c,
00784 #endif
00785 "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
00786        {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,18},
00787 
00788 /* 0000 1011 ssN0 dddd *** cp rd,@rs */
00789 {
00790 #ifdef NICENAMES
00791 "cp rd,@rs",16,7,0x3c,
00792 #endif
00793 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
00794        {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
00795 
00796 /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
00797 {
00798 #ifdef NICENAMES
00799 "cp rd,address_src",16,9,0x3c,
00800 #endif
00801 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
00802        {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
00803 
00804 /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
00805 {
00806 #ifdef NICENAMES
00807 "cp rd,address_src(rs)",16,10,0x3c,
00808 #endif
00809 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
00810        {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
00811 
00812 /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
00813 {
00814 #ifdef NICENAMES
00815 "cp rd,imm16",16,7,0x3c,
00816 #endif
00817 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
00818        {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,18},
00819 
00820 /* 1000 1011 ssss dddd *** cp rd,rs */
00821 {
00822 #ifdef NICENAMES
00823 "cp rd,rs",16,4,0x3c,
00824 #endif
00825 "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
00826        {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
00827 
00828 /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
00829 {
00830 #ifdef NICENAMES
00831 "cpb @rd,imm8",8,11,0x3c,
00832 #endif
00833 "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
00834        {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,19},
00835 
00836 /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
00837 {
00838 #ifdef NICENAMES
00839 "cpb address_dst(rd),imm8",8,15,0x3c,
00840 #endif
00841 "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
00842        {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,19},
00843 
00844 /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
00845 {
00846 #ifdef NICENAMES
00847 "cpb address_dst,imm8",8,14,0x3c,
00848 #endif
00849 "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
00850        {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,19},
00851 
00852 /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
00853 {
00854 #ifdef NICENAMES
00855 "cpb rbd,@rs",8,7,0x3c,
00856 #endif
00857 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
00858        {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
00859 
00860 /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
00861 {
00862 #ifdef NICENAMES
00863 "cpb rbd,address_src",8,9,0x3c,
00864 #endif
00865 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
00866        {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
00867 
00868 /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
00869 {
00870 #ifdef NICENAMES
00871 "cpb rbd,address_src(rs)",8,10,0x3c,
00872 #endif
00873 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
00874        {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
00875 
00876 /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
00877 {
00878 #ifdef NICENAMES
00879 "cpb rbd,imm8",8,7,0x3c,
00880 #endif
00881 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
00882        {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,19},
00883 
00884 /* 1000 1010 ssss dddd *** cpb rbd,rbs */
00885 {
00886 #ifdef NICENAMES
00887 "cpb rbd,rbs",8,4,0x3c,
00888 #endif
00889 "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
00890        {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,19},
00891 
00892 /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
00893 {
00894 #ifdef NICENAMES
00895 "cpd rd,@rs,rr,cc",16,11,0x3c,
00896 #endif
00897 "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00898        {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,20},
00899 
00900 /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
00901 {
00902 #ifdef NICENAMES
00903 "cpdb rbd,@rs,rr,cc",8,11,0x3c,
00904 #endif
00905 "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00906        {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,21},
00907 
00908 /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
00909 {
00910 #ifdef NICENAMES
00911 "cpdr rd,@rs,rr,cc",16,11,0x3c,
00912 #endif
00913 "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00914        {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,22},
00915 
00916 /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
00917 {
00918 #ifdef NICENAMES
00919 "cpdrb rbd,@rs,rr,cc",8,11,0x3c,
00920 #endif
00921 "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00922        {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,23},
00923 
00924 /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
00925 {
00926 #ifdef NICENAMES
00927 "cpi rd,@rs,rr,cc",16,11,0x3c,
00928 #endif
00929 "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00930        {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,24},
00931 
00932 /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
00933 {
00934 #ifdef NICENAMES
00935 "cpib rbd,@rs,rr,cc",8,11,0x3c,
00936 #endif
00937 "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00938        {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,25},
00939 
00940 /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
00941 {
00942 #ifdef NICENAMES
00943 "cpir rd,@rs,rr,cc",16,11,0x3c,
00944 #endif
00945 "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00946        {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,26},
00947 
00948 /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
00949 {
00950 #ifdef NICENAMES
00951 "cpirb rbd,@rs,rr,cc",8,11,0x3c,
00952 #endif
00953 "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
00954        {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,27},
00955 
00956 /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
00957 {
00958 #ifdef NICENAMES
00959 "cpl rrd,@rs",32,14,0x3c,
00960 #endif
00961 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
00962        {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
00963 
00964 /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
00965 {
00966 #ifdef NICENAMES
00967 "cpl rrd,address_src",32,15,0x3c,
00968 #endif
00969 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
00970        {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
00971 
00972 /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
00973 {
00974 #ifdef NICENAMES
00975 "cpl rrd,address_src(rs)",32,16,0x3c,
00976 #endif
00977 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
00978        {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,28},
00979 
00980 /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
00981 {
00982 #ifdef NICENAMES
00983 "cpl rrd,imm32",32,14,0x3c,
00984 #endif
00985 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
00986        {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,28},
00987 
00988 /* 1001 0000 ssss dddd *** cpl rrd,rrs */
00989 {
00990 #ifdef NICENAMES
00991 "cpl rrd,rrs",32,8,0x3c,
00992 #endif
00993 "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
00994        {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,28},
00995 
00996 /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
00997 {
00998 #ifdef NICENAMES
00999 "cpsd @rd,@rs,rr,cc",16,11,0x3c,
01000 #endif
01001 "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01002        {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,29},
01003 
01004 /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
01005 {
01006 #ifdef NICENAMES
01007 "cpsdb @rd,@rs,rr,cc",8,11,0x3c,
01008 #endif
01009 "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01010        {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,30},
01011 
01012 /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
01013 {
01014 #ifdef NICENAMES
01015 "cpsdr @rd,@rs,rr,cc",16,11,0x3c,
01016 #endif
01017 "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01018        {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,31},
01019 
01020 /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
01021 {
01022 #ifdef NICENAMES
01023 "cpsdrb @rd,@rs,rr,cc",8,11,0x3c,
01024 #endif
01025 "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01026        {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,32},
01027 
01028 /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
01029 {
01030 #ifdef NICENAMES
01031 "cpsi @rd,@rs,rr,cc",16,11,0x3c,
01032 #endif
01033 "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01034        {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,33},
01035 
01036 /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
01037 {
01038 #ifdef NICENAMES
01039 "cpsib @rd,@rs,rr,cc",8,11,0x3c,
01040 #endif
01041 "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01042        {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,34},
01043 
01044 /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
01045 {
01046 #ifdef NICENAMES
01047 "cpsir @rd,@rs,rr,cc",16,11,0x3c,
01048 #endif
01049 "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01050        {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,35},
01051 
01052 /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
01053 {
01054 #ifdef NICENAMES
01055 "cpsirb @rd,@rs,rr,cc",8,11,0x3c,
01056 #endif
01057 "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
01058        {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,36},
01059 
01060 /* 1011 0000 dddd 0000 *** dab rbd */
01061 {
01062 #ifdef NICENAMES
01063 "dab rbd",8,5,0x38,
01064 #endif
01065 "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
01066        {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,37},
01067 
01068 /* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
01069 {
01070 #ifdef NICENAMES
01071 "dbjnz rbd,disp7",16,11,0x00,
01072 #endif
01073 "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
01074        {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,38},
01075 
01076 /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
01077 {
01078 #ifdef NICENAMES
01079 "dec @rd,imm4m1",16,11,0x1c,
01080 #endif
01081 "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01082        {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
01083 
01084 /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
01085 {
01086 #ifdef NICENAMES
01087 "dec address_dst(rd),imm4m1",16,14,0x1c,
01088 #endif
01089 "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01090        {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
01091 
01092 /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
01093 {
01094 #ifdef NICENAMES
01095 "dec address_dst,imm4m1",16,13,0x1c,
01096 #endif
01097 "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
01098        {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
01099 
01100 /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
01101 {
01102 #ifdef NICENAMES
01103 "dec rd,imm4m1",16,4,0x1c,
01104 #endif
01105 "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01106        {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
01107 
01108 /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
01109 {
01110 #ifdef NICENAMES
01111 "decb @rd,imm4m1",8,11,0x1c,
01112 #endif
01113 "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01114        {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
01115 
01116 /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
01117 {
01118 #ifdef NICENAMES
01119 "decb address_dst(rd),imm4m1",8,14,0x1c,
01120 #endif
01121 "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01122        {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
01123 
01124 /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
01125 {
01126 #ifdef NICENAMES
01127 "decb address_dst,imm4m1",8,13,0x1c,
01128 #endif
01129 "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
01130        {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,40},
01131 
01132 /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
01133 {
01134 #ifdef NICENAMES
01135 "decb rbd,imm4m1",8,4,0x1c,
01136 #endif
01137 "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01138        {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,40},
01139 
01140 /* 0111 1100 0000 00ii *** di i2 */
01141 {
01142 #ifdef NICENAMES
01143 "di i2",16,7,0x00,
01144 #endif
01145 "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
01146        {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,41},
01147 
01148 /* 0001 1011 ssN0 dddd *** div rrd,@rs */
01149 {
01150 #ifdef NICENAMES
01151 "div rrd,@rs",16,107,0x3c,
01152 #endif
01153 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
01154        {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
01155 
01156 /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
01157 {
01158 #ifdef NICENAMES
01159 "div rrd,address_src",16,107,0x3c,
01160 #endif
01161 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
01162        {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
01163 
01164 /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
01165 {
01166 #ifdef NICENAMES
01167 "div rrd,address_src(rs)",16,107,0x3c,
01168 #endif
01169 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
01170        {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
01171 
01172 /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
01173 {
01174 #ifdef NICENAMES
01175 "div rrd,imm16",16,107,0x3c,
01176 #endif
01177 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
01178        {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,42},
01179 
01180 /* 1001 1011 ssss dddd *** div rrd,rs */
01181 {
01182 #ifdef NICENAMES
01183 "div rrd,rs",16,107,0x3c,
01184 #endif
01185 "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01186        {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
01187 
01188 /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
01189 {
01190 #ifdef NICENAMES
01191 "divl rqd,@rs",32,744,0x3c,
01192 #endif
01193 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
01194        {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
01195 
01196 /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
01197 {
01198 #ifdef NICENAMES
01199 "divl rqd,address_src",32,745,0x3c,
01200 #endif
01201 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
01202        {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
01203 
01204 /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
01205 {
01206 #ifdef NICENAMES
01207 "divl rqd,address_src(rs)",32,746,0x3c,
01208 #endif
01209 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
01210        {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,43},
01211 
01212 /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
01213 {
01214 #ifdef NICENAMES
01215 "divl rqd,imm32",32,744,0x3c,
01216 #endif
01217 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
01218        {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,43},
01219 
01220 /* 1001 1010 ssss dddd *** divl rqd,rrs */
01221 {
01222 #ifdef NICENAMES
01223 "divl rqd,rrs",32,744,0x3c,
01224 #endif
01225 "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
01226        {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,43},
01227 
01228 /* 1111 dddd 1disp7 *** djnz rd,disp7 */
01229 {
01230 #ifdef NICENAMES
01231 "djnz rd,disp7",16,11,0x00,
01232 #endif
01233 "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
01234        {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,44},
01235 
01236 /* 0111 1100 0000 01ii *** ei i2 */
01237 {
01238 #ifdef NICENAMES
01239 "ei i2",16,7,0x00,
01240 #endif
01241 "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
01242        {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,45},
01243 
01244 /* 0010 1101 ssN0 dddd *** ex rd,@rs */
01245 {
01246 #ifdef NICENAMES
01247 "ex rd,@rs",16,12,0x00,
01248 #endif
01249 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
01250        {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
01251 
01252 /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
01253 {
01254 #ifdef NICENAMES
01255 "ex rd,address_src",16,15,0x00,
01256 #endif
01257 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
01258        {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
01259 
01260 /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
01261 {
01262 #ifdef NICENAMES
01263 "ex rd,address_src(rs)",16,16,0x00,
01264 #endif
01265 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
01266        {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
01267 
01268 /* 1010 1101 ssss dddd *** ex rd,rs */
01269 {
01270 #ifdef NICENAMES
01271 "ex rd,rs",16,6,0x00,
01272 #endif
01273 "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01274        {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
01275 
01276 /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
01277 {
01278 #ifdef NICENAMES
01279 "exb rbd,@rs",8,12,0x00,
01280 #endif
01281 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
01282        {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
01283 
01284 /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
01285 {
01286 #ifdef NICENAMES
01287 "exb rbd,address_src",8,15,0x00,
01288 #endif
01289 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
01290        {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
01291 
01292 /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
01293 {
01294 #ifdef NICENAMES
01295 "exb rbd,address_src(rs)",8,16,0x00,
01296 #endif
01297 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
01298        {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,47},
01299 
01300 /* 1010 1100 ssss dddd *** exb rbd,rbs */
01301 {
01302 #ifdef NICENAMES
01303 "exb rbd,rbs",8,6,0x00,
01304 #endif
01305 "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
01306        {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,47},
01307 
01308 /* 0000 1110 imm8 *** ext0e imm8 */
01309 {
01310 #ifdef NICENAMES
01311 "ext0e imm8",8,10,0x00,
01312 #endif
01313 "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
01314        {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,48},
01315 
01316 /* 0000 1111 imm8 *** ext0f imm8 */
01317 {
01318 #ifdef NICENAMES
01319 "ext0f imm8",8,10,0x00,
01320 #endif
01321 "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
01322        {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,49},
01323 
01324 /* 1000 1110 imm8 *** ext8e imm8 */
01325 {
01326 #ifdef NICENAMES
01327 "ext8e imm8",8,10,0x00,
01328 #endif
01329 "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
01330        {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,50},
01331 
01332 /* 1000 1111 imm8 *** ext8f imm8 */
01333 {
01334 #ifdef NICENAMES
01335 "ext8f imm8",8,10,0x00,
01336 #endif
01337 "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
01338        {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,51},
01339 
01340 /* 1011 0001 dddd 1010 *** exts rrd */
01341 {
01342 #ifdef NICENAMES
01343 "exts rrd",16,11,0x00,
01344 #endif
01345 "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
01346        {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,52},
01347 
01348 /* 1011 0001 dddd 0000 *** extsb rd */
01349 {
01350 #ifdef NICENAMES
01351 "extsb rd",8,11,0x00,
01352 #endif
01353 "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
01354        {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
01355 
01356 /* 1011 0001 dddd 0111 *** extsl rqd */
01357 {
01358 #ifdef NICENAMES
01359 "extsl rqd",32,11,0x00,
01360 #endif
01361 "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
01362        {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,54},
01363 
01364 /* 0111 1010 0000 0000 *** halt */
01365 {
01366 #ifdef NICENAMES
01367 "halt",16,8,0x00,
01368 #endif
01369 "halt",OPC_halt,0,{0},
01370        {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,55},
01371 
01372 /* 0011 1101 ssss dddd *** in rd,@ri */
01373 {
01374 #ifdef NICENAMES
01375 "in rd,@ri",16,10,0x00,
01376 #endif
01377 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IRO+(ARG_RS),},
01378        {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,56},
01379 
01380 /* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */
01381 {
01382 #ifdef NICENAMES
01383 "in rd,imm16",16,12,0x00,
01384 #endif
01385 "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
01386        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,56},
01387 
01388 /* 0011 1100 ssss dddd *** inb rbd,@ri */
01389 {
01390 #ifdef NICENAMES
01391 "inb rbd,@ri",8,12,0x00,
01392 #endif
01393 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IRO+(ARG_RS),},
01394        {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,57},
01395 
01396 /* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
01397 {
01398 #ifdef NICENAMES
01399 "inb rbd,imm16",8,10,0x00,
01400 #endif
01401 "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
01402        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,57},
01403 
01404 /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
01405 {
01406 #ifdef NICENAMES
01407 "inc @rd,imm4m1",16,11,0x1c,
01408 #endif
01409 "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01410        {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
01411 
01412 /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
01413 {
01414 #ifdef NICENAMES
01415 "inc address_dst(rd),imm4m1",16,14,0x1c,
01416 #endif
01417 "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01418        {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
01419 
01420 /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
01421 {
01422 #ifdef NICENAMES
01423 "inc address_dst,imm4m1",16,13,0x1c,
01424 #endif
01425 "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
01426        {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
01427 
01428 /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
01429 {
01430 #ifdef NICENAMES
01431 "inc rd,imm4m1",16,4,0x1c,
01432 #endif
01433 "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01434        {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
01435 
01436 /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
01437 {
01438 #ifdef NICENAMES
01439 "incb @rd,imm4m1",8,11,0x1c,
01440 #endif
01441 "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01442        {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
01443 
01444 /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
01445 {
01446 #ifdef NICENAMES
01447 "incb address_dst(rd),imm4m1",8,14,0x1c,
01448 #endif
01449 "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01450        {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
01451 
01452 /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
01453 {
01454 #ifdef NICENAMES
01455 "incb address_dst,imm4m1",8,13,0x1c,
01456 #endif
01457 "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
01458        {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,59},
01459 
01460 /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
01461 {
01462 #ifdef NICENAMES
01463 "incb rbd,imm4m1",8,4,0x1c,
01464 #endif
01465 "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
01466        {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,59},
01467 
01468 /* 0011 1011 ssss 1000 0000 aaaa ddN0 1000 *** ind @rd,@ri,ra */
01469 {
01470 #ifdef NICENAMES
01471 "ind @rd,@ri,ra",16,21,0x04,
01472 #endif
01473 "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01474        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,60},
01475 
01476 /* 0011 1010 ssss 1000 0000 aaaa ddN0 1000 *** indb @rd,@ri,ra */
01477 {
01478 #ifdef NICENAMES
01479 "indb @rd,@ri,ra",8,21,0x04,
01480 #endif
01481 "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01482        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,61},
01483 
01484 /* 0011 1011 ssss 1000 0000 aaaa ddN0 0000 *** indr @rd,@ri,ra */
01485 {
01486 #ifdef NICENAMES
01487 "indr @rd,@ri,ra",16,11,0x04,
01488 #endif
01489 "indr",OPC_indr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01490        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,62},
01491 
01492 /* 0011 1010 ssss 1000 0000 aaaa ddN0 0000 *** indrb @rd,@ri,ra */
01493 {
01494 #ifdef NICENAMES
01495 "indrb @rd,@ri,ra",8,11,0x04,
01496 #endif
01497 "indrb",OPC_indrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01498        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,63},
01499 
01500 /* 0011 1011 ssss 0000 0000 aaaa ddN0 1000 *** ini @rd,@ri,ra */
01501 {
01502 #ifdef NICENAMES
01503 "ini @rd,@ri,ra",16,21,0x04,
01504 #endif
01505 "ini",OPC_ini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01506        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,64},
01507 
01508 /* 0011 1010 ssss 0000 0000 aaaa ddN0 1000 *** inib @rd,@ri,ra */
01509 {
01510 #ifdef NICENAMES
01511 "inib @rd,@ri,ra",8,21,0x04,
01512 #endif
01513 "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01514        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,65},
01515 
01516 /* 0011 1011 ssss 0000 0000 aaaa ddN0 0000 *** inir @rd,@ri,ra */
01517 {
01518 #ifdef NICENAMES
01519 "inir @rd,@ri,ra",16,11,0x04,
01520 #endif
01521 "inir",OPC_inir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01522        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,66},
01523 
01524 /* 0011 1010 ssss 0000 0000 aaaa ddN0 0000 *** inirb @rd,@ri,ra */
01525 {
01526 #ifdef NICENAMES
01527 "inirb @rd,@ri,ra",8,11,0x04,
01528 #endif
01529 "inirb",OPC_inirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
01530        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,67},
01531 
01532 /* 0111 1011 0000 0000 *** iret */
01533 {
01534 #ifdef NICENAMES
01535 "iret",16,13,0x3f,
01536 #endif
01537 "iret",OPC_iret,0,{0},
01538        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,68},
01539 
01540 /* 0001 1110 ddN0 cccc *** jp cc,@rd */
01541 {
01542 #ifdef NICENAMES
01543 "jp cc,@rd",16,10,0x00,
01544 #endif
01545 "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
01546        {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,69},
01547 
01548 /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
01549 {
01550 #ifdef NICENAMES
01551 "jp cc,address_dst",16,7,0x00,
01552 #endif
01553 "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
01554        {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
01555 
01556 /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
01557 {
01558 #ifdef NICENAMES
01559 "jp cc,address_dst(rd)",16,8,0x00,
01560 #endif
01561 "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
01562        {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
01563 
01564 /* 1110 cccc disp8 *** jr cc,disp8 */
01565 {
01566 #ifdef NICENAMES
01567 "jr cc,disp8",16,6,0x00,
01568 #endif
01569 "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
01570        {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,70},
01571 
01572 /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
01573 {
01574 #ifdef NICENAMES
01575 "ld @rd,imm16",16,7,0x00,
01576 #endif
01577 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
01578        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
01579 
01580 /* 0010 1111 ddN0 ssss *** ld @rd,rs */
01581 {
01582 #ifdef NICENAMES
01583 "ld @rd,rs",16,8,0x00,
01584 #endif
01585 "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01586        {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,71},
01587 
01588 /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
01589 {
01590 #ifdef NICENAMES
01591 "ld address_dst(rd),imm16",16,15,0x00,
01592 #endif
01593 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
01594        {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,71},
01595 
01596 /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
01597 {
01598 #ifdef NICENAMES
01599 "ld address_dst(rd),rs",16,12,0x00,
01600 #endif
01601 "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01602        {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
01603 
01604 /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
01605 {
01606 #ifdef NICENAMES
01607 "ld address_dst,imm16",16,14,0x00,
01608 #endif
01609 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
01610        {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,71},
01611 
01612 /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
01613 {
01614 #ifdef NICENAMES
01615 "ld address_dst,rs",16,11,0x00,
01616 #endif
01617 "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
01618        {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,71},
01619 
01620 /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
01621 {
01622 #ifdef NICENAMES
01623 "ld rd(imm16),rs",16,14,0x00,
01624 #endif
01625 "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01626        {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
01627 
01628 /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
01629 {
01630 #ifdef NICENAMES
01631 "ld rd(rx),rs",16,14,0x00,
01632 #endif
01633 "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01634        {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,71},
01635 
01636 /* 0010 0001 ssN0 dddd *** ld rd,@rs */
01637 {
01638 #ifdef NICENAMES
01639 "ld rd,@rs",16,7,0x00,
01640 #endif
01641 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
01642        {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
01643 
01644 /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
01645 {
01646 #ifdef NICENAMES
01647 "ld rd,address_src",16,9,0x00,
01648 #endif
01649 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
01650        {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
01651 
01652 /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
01653 {
01654 #ifdef NICENAMES
01655 "ld rd,address_src(rs)",16,10,0x00,
01656 #endif
01657 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
01658        {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
01659 
01660 /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
01661 {
01662 #ifdef NICENAMES
01663 "ld rd,imm16",16,7,0x00,
01664 #endif
01665 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
01666        {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
01667 
01668 /* 1010 0001 ssss dddd *** ld rd,rs */
01669 {
01670 #ifdef NICENAMES
01671 "ld rd,rs",16,3,0x00,
01672 #endif
01673 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
01674        {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,71},
01675 
01676 /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
01677 {
01678 #ifdef NICENAMES
01679 "ld rd,rs(imm16)",16,14,0x00,
01680 #endif
01681 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
01682        {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,71},
01683 
01684 /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
01685 {
01686 #ifdef NICENAMES
01687 "ld rd,rs(rx)",16,14,0x00,
01688 #endif
01689 "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
01690        {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,71},
01691 
01692 /* 0111 0110 0000 dddd address_src *** lda prd,address_src */
01693 {
01694 #ifdef NICENAMES
01695 "lda prd,address_src",16,12,0x00,
01696 #endif
01697 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
01698        {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
01699 
01700 /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
01701 {
01702 #ifdef NICENAMES
01703 "lda prd,address_src(rs)",16,13,0x00,
01704 #endif
01705 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
01706        {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
01707 
01708 /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
01709 {
01710 #ifdef NICENAMES
01711 "lda prd,rs(imm16)",16,15,0x00,
01712 #endif
01713 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
01714        {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,72},
01715 
01716 /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
01717 {
01718 #ifdef NICENAMES
01719 "lda prd,rs(rx)",16,15,0x00,
01720 #endif
01721 "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
01722        {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,72},
01723 
01724 /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
01725 {
01726 #ifdef NICENAMES
01727 "ldar prd,disp16",16,15,0x00,
01728 #endif
01729 "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
01730        {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,73},
01731 
01732 /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
01733 {
01734 #ifdef NICENAMES
01735 "ldb @rd,imm8",8,7,0x00,
01736 #endif
01737 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
01738        {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,74},
01739 
01740 /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
01741 {
01742 #ifdef NICENAMES
01743 "ldb @rd,rbs",8,8,0x00,
01744 #endif
01745 "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
01746        {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,74},
01747 
01748 /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
01749 {
01750 #ifdef NICENAMES
01751 "ldb address_dst(rd),imm8",8,15,0x00,
01752 #endif
01753 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
01754        {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,74},
01755 
01756 /* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
01757 {
01758 #ifdef NICENAMES
01759 "ldb address_dst(rd),rbs",8,12,0x00,
01760 #endif
01761 "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
01762        {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
01763 
01764 /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
01765 {
01766 #ifdef NICENAMES
01767 "ldb address_dst,imm8",8,14,0x00,
01768 #endif
01769 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
01770        {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,74},
01771 
01772 /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
01773 {
01774 #ifdef NICENAMES
01775 "ldb address_dst,rbs",8,11,0x00,
01776 #endif
01777 "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
01778        {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,74},
01779 
01780 /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
01781 {
01782 #ifdef NICENAMES
01783 "ldb rbd,@rs",8,7,0x00,
01784 #endif
01785 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
01786        {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
01787 
01788 /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
01789 {
01790 #ifdef NICENAMES
01791 "ldb rbd,address_src",8,9,0x00,
01792 #endif
01793 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
01794        {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
01795 
01796 /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
01797 {
01798 #ifdef NICENAMES
01799 "ldb rbd,address_src(rs)",8,10,0x00,
01800 #endif
01801 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
01802        {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,74},
01803 
01804 /* 1100 dddd imm8 *** ldb rbd,imm8 */
01805 {
01806 #ifdef NICENAMES
01807 "ldb rbd,imm8",8,5,0x00,
01808 #endif
01809 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
01810        {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,74},
01811 
01812 /* 0010 0000 0000 dddd imm8 imm8 *** ldb rbd,imm8 */
01813 {
01814 #ifdef NICENAMES
01815 "ldb rbd,imm8",8,7,0x00,
01816 #endif
01817 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
01818        {CLASS_BIT+2,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,74},
01819 
01820 /* 1010 0000 ssss dddd *** ldb rbd,rbs */
01821 {
01822 #ifdef NICENAMES
01823 "ldb rbd,rbs",8,3,0x00,
01824 #endif
01825 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
01826        {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
01827 
01828 /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
01829 {
01830 #ifdef NICENAMES
01831 "ldb rbd,rs(imm16)",8,14,0x00,
01832 #endif
01833 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
01834        {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
01835 
01836 /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
01837 {
01838 #ifdef NICENAMES
01839 "ldb rbd,rs(rx)",8,14,0x00,
01840 #endif
01841 "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
01842        {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,74},
01843 
01844 /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
01845 {
01846 #ifdef NICENAMES
01847 "ldb rd(imm16),rbs",8,14,0x00,
01848 #endif
01849 "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
01850        {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,74},
01851 
01852 /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
01853 {
01854 #ifdef NICENAMES
01855 "ldb rd(rx),rbs",8,14,0x00,
01856 #endif
01857 "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
01858        {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,74},
01859 
01860 /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
01861 {
01862 #ifdef NICENAMES
01863 "ldctl ctrl,rs",32,7,0x00,
01864 #endif
01865 "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
01866        {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,75},
01867 
01868 /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
01869 {
01870 #ifdef NICENAMES
01871 "ldctl rd,ctrl",32,7,0x00,
01872 #endif
01873 "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
01874        {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,75},
01875 
01876 /* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
01877 {
01878 #ifdef NICENAMES
01879 "ldctlb ctrl,rbs",32,7,0x3f,
01880 #endif
01881 "ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
01882        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,76},
01883 
01884 /* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
01885 {
01886 #ifdef NICENAMES
01887 "ldctlb rbd,ctrl",32,7,0x00,
01888 #endif
01889 "ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
01890        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,76},
01891 
01892 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
01893 {
01894 #ifdef NICENAMES
01895 "ldd @rd,@rs,rr",16,11,0x04,
01896 #endif
01897 "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01898        {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,77},
01899 
01900 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
01901 {
01902 #ifdef NICENAMES
01903 "lddb @rd,@rs,rr",8,11,0x04,
01904 #endif
01905 "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01906        {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,78},
01907 
01908 /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
01909 {
01910 #ifdef NICENAMES
01911 "lddr @rd,@rs,rr",16,11,0x04,
01912 #endif
01913 "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01914        {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,79},
01915 
01916 /* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
01917 {
01918 #ifdef NICENAMES
01919 "lddrb @rd,@rs,rr",8,11,0x04,
01920 #endif
01921 "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01922        {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,80},
01923 
01924 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
01925 {
01926 #ifdef NICENAMES
01927 "ldi @rd,@rs,rr",16,11,0x04,
01928 #endif
01929 "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01930        {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,81},
01931 
01932 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
01933 {
01934 #ifdef NICENAMES
01935 "ldib @rd,@rs,rr",8,11,0x04,
01936 #endif
01937 "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01938        {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,82},
01939 
01940 /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
01941 {
01942 #ifdef NICENAMES
01943 "ldir @rd,@rs,rr",16,11,0x04,
01944 #endif
01945 "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01946        {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,83},
01947 
01948 /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
01949 {
01950 #ifdef NICENAMES
01951 "ldirb @rd,@rs,rr",8,11,0x04,
01952 #endif
01953 "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
01954        {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,84},
01955 
01956 /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
01957 {
01958 #ifdef NICENAMES
01959 "ldk rd,imm4",16,5,0x00,
01960 #endif
01961 "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
01962        {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,85},
01963 
01964 /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
01965 {
01966 #ifdef NICENAMES
01967 "ldl @rd,rrs",32,11,0x00,
01968 #endif
01969 "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
01970        {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,86},
01971 
01972 /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
01973 {
01974 #ifdef NICENAMES
01975 "ldl address_dst(rd),rrs",32,14,0x00,
01976 #endif
01977 "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
01978        {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
01979 
01980 /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
01981 {
01982 #ifdef NICENAMES
01983 "ldl address_dst,rrs",32,15,0x00,
01984 #endif
01985 "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
01986        {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,86},
01987 
01988 /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
01989 {
01990 #ifdef NICENAMES
01991 "ldl rd(imm16),rrs",32,17,0x00,
01992 #endif
01993 "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
01994        {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
01995 
01996 /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
01997 {
01998 #ifdef NICENAMES
01999 "ldl rd(rx),rrs",32,17,0x00,
02000 #endif
02001 "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
02002        {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,86},
02003 
02004 /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
02005 {
02006 #ifdef NICENAMES
02007 "ldl rrd,@rs",32,11,0x00,
02008 #endif
02009 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
02010        {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
02011 
02012 /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
02013 {
02014 #ifdef NICENAMES
02015 "ldl rrd,address_src",32,12,0x00,
02016 #endif
02017 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
02018        {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
02019 
02020 /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
02021 {
02022 #ifdef NICENAMES
02023 "ldl rrd,address_src(rs)",32,13,0x00,
02024 #endif
02025 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
02026        {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,86},
02027 
02028 /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
02029 {
02030 #ifdef NICENAMES
02031 "ldl rrd,imm32",32,11,0x00,
02032 #endif
02033 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
02034        {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
02035 
02036 /* 1001 0100 ssss dddd *** ldl rrd,rrs */
02037 {
02038 #ifdef NICENAMES
02039 "ldl rrd,rrs",32,5,0x00,
02040 #endif
02041 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
02042        {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,86},
02043 
02044 /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
02045 {
02046 #ifdef NICENAMES
02047 "ldl rrd,rs(imm16)",32,17,0x00,
02048 #endif
02049 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
02050        {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,86},
02051 
02052 /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
02053 {
02054 #ifdef NICENAMES
02055 "ldl rrd,rs(rx)",32,17,0x00,
02056 #endif
02057 "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
02058        {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,86},
02059 
02060 /* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */
02061 {
02062 #ifdef NICENAMES
02063 "ldm @rd,rs,n",16,11,0x00,
02064 #endif
02065 "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
02066        {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
02067 
02068 /* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */
02069 {
02070 #ifdef NICENAMES
02071 "ldm address_dst(rd),rs,n",16,15,0x00,
02072 #endif
02073 "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
02074        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
02075 
02076 /* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */
02077 {
02078 #ifdef NICENAMES
02079 "ldm address_dst,rs,n",16,14,0x00,
02080 #endif
02081 "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
02082        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),},3,6,87},
02083 
02084 /* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */
02085 {
02086 #ifdef NICENAMES
02087 "ldm rd,@rs,n",16,11,0x00,
02088 #endif
02089 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
02090        {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),0,},3,4,87},
02091 
02092 /* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */
02093 {
02094 #ifdef NICENAMES
02095 "ldm rd,address_src(rs),n",16,15,0x00,
02096 #endif
02097 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
02098        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
02099 
02100 /* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */
02101 {
02102 #ifdef NICENAMES
02103 "ldm rd,address_src,n",16,14,0x00,
02104 #endif
02105 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),},
02106        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_SRC),},3,6,87},
02107 
02108 /* 0011 1001 ssN0 0000 *** ldps @rs */
02109 {
02110 #ifdef NICENAMES
02111 "ldps @rs",16,12,0x3f,
02112 #endif
02113 "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
02114        {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,88},
02115 
02116 /* 0111 1001 0000 0000 address_src *** ldps address_src */
02117 {
02118 #ifdef NICENAMES
02119 "ldps address_src",16,16,0x3f,
02120 #endif
02121 "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
02122        {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
02123 
02124 /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
02125 {
02126 #ifdef NICENAMES
02127 "ldps address_src(rs)",16,17,0x3f,
02128 #endif
02129 "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
02130        {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,88},
02131 
02132 /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
02133 {
02134 #ifdef NICENAMES
02135 "ldr disp16,rs",16,14,0x00,
02136 #endif
02137 "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
02138        {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
02139 
02140 /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
02141 {
02142 #ifdef NICENAMES
02143 "ldr rd,disp16",16,14,0x00,
02144 #endif
02145 "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
02146        {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,89},
02147 
02148 /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
02149 {
02150 #ifdef NICENAMES
02151 "ldrb disp16,rbs",8,14,0x00,
02152 #endif
02153 "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
02154        {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
02155 
02156 /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
02157 {
02158 #ifdef NICENAMES
02159 "ldrb rbd,disp16",8,14,0x00,
02160 #endif
02161 "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
02162        {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,90},
02163 
02164 /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
02165 {
02166 #ifdef NICENAMES
02167 "ldrl disp16,rrs",32,17,0x00,
02168 #endif
02169 "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
02170        {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
02171 
02172 /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
02173 {
02174 #ifdef NICENAMES
02175 "ldrl rrd,disp16",32,17,0x00,
02176 #endif
02177 "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
02178        {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,91},
02179 
02180 /* 0111 1011 0000 1010 *** mbit */
02181 {
02182 #ifdef NICENAMES
02183 "mbit",16,7,0x38,
02184 #endif
02185 "mbit",OPC_mbit,0,{0},
02186        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,92},
02187 
02188 /* 0111 1011 dddd 1101 *** mreq rd */
02189 {
02190 #ifdef NICENAMES
02191 "mreq rd",16,12,0x18,
02192 #endif
02193 "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
02194        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,93},
02195 
02196 /* 0111 1011 0000 1001 *** mres */
02197 {
02198 #ifdef NICENAMES
02199 "mres",16,5,0x00,
02200 #endif
02201 "mres",OPC_mres,0,{0},
02202        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,94},
02203 
02204 /* 0111 1011 0000 1000 *** mset */
02205 {
02206 #ifdef NICENAMES
02207 "mset",16,5,0x00,
02208 #endif
02209 "mset",OPC_mset,0,{0},
02210        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,95},
02211 
02212 /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
02213 {
02214 #ifdef NICENAMES
02215 "mult rrd,@rs",16,70,0x3c,
02216 #endif
02217 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
02218        {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
02219 
02220 /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
02221 {
02222 #ifdef NICENAMES
02223 "mult rrd,address_src",16,70,0x3c,
02224 #endif
02225 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
02226        {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
02227 
02228 /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
02229 {
02230 #ifdef NICENAMES
02231 "mult rrd,address_src(rs)",16,70,0x3c,
02232 #endif
02233 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
02234        {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
02235 
02236 /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
02237 {
02238 #ifdef NICENAMES
02239 "mult rrd,imm16",16,70,0x3c,
02240 #endif
02241 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
02242        {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,96},
02243 
02244 /* 1001 1001 ssss dddd *** mult rrd,rs */
02245 {
02246 #ifdef NICENAMES
02247 "mult rrd,rs",16,70,0x3c,
02248 #endif
02249 "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02250        {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
02251 
02252 /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
02253 {
02254 #ifdef NICENAMES
02255 "multl rqd,@rs",32,282,0x3c,
02256 #endif
02257 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
02258        {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
02259 
02260 /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
02261 {
02262 #ifdef NICENAMES
02263 "multl rqd,address_src",32,282,0x3c,
02264 #endif
02265 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
02266        {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
02267 
02268 /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
02269 {
02270 #ifdef NICENAMES
02271 "multl rqd,address_src(rs)",32,282,0x3c,
02272 #endif
02273 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
02274        {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
02275 
02276 /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
02277 {
02278 #ifdef NICENAMES
02279 "multl rqd,imm32",32,282,0x3c,
02280 #endif
02281 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
02282        {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,97},
02283 
02284 /* 1001 1000 ssss dddd *** multl rqd,rrs */
02285 {
02286 #ifdef NICENAMES
02287 "multl rqd,rrs",32,282,0x3c,
02288 #endif
02289 "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
02290        {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
02291 
02292 /* 0000 1101 ddN0 0010 *** neg @rd */
02293 {
02294 #ifdef NICENAMES
02295 "neg @rd",16,12,0x3c,
02296 #endif
02297 "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
02298        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
02299 
02300 /* 0100 1101 0000 0010 address_dst *** neg address_dst */
02301 {
02302 #ifdef NICENAMES
02303 "neg address_dst",16,15,0x3c,
02304 #endif
02305 "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
02306        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
02307 
02308 /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
02309 {
02310 #ifdef NICENAMES
02311 "neg address_dst(rd)",16,16,0x3c,
02312 #endif
02313 "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
02314        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,98},
02315 
02316 /* 1000 1101 dddd 0010 *** neg rd */
02317 {
02318 #ifdef NICENAMES
02319 "neg rd",16,7,0x3c,
02320 #endif
02321 "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
02322        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,98},
02323 
02324 /* 0000 1100 ddN0 0010 *** negb @rd */
02325 {
02326 #ifdef NICENAMES
02327 "negb @rd",8,12,0x3c,
02328 #endif
02329 "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
02330        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
02331 
02332 /* 0100 1100 0000 0010 address_dst *** negb address_dst */
02333 {
02334 #ifdef NICENAMES
02335 "negb address_dst",8,15,0x3c,
02336 #endif
02337 "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
02338        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
02339 
02340 /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
02341 {
02342 #ifdef NICENAMES
02343 "negb address_dst(rd)",8,16,0x3c,
02344 #endif
02345 "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
02346        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,99},
02347 
02348 /* 1000 1100 dddd 0010 *** negb rbd */
02349 {
02350 #ifdef NICENAMES
02351 "negb rbd",8,7,0x3c,
02352 #endif
02353 "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
02354        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,99},
02355 
02356 /* 1000 1101 0000 0111 *** nop */
02357 {
02358 #ifdef NICENAMES
02359 "nop",16,7,0x00,
02360 #endif
02361 "nop",OPC_nop,0,{0},
02362        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,100},
02363 
02364 /* 0000 0101 ssN0 dddd *** or rd,@rs */
02365 {
02366 #ifdef NICENAMES
02367 "or rd,@rs",16,7,0x38,
02368 #endif
02369 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
02370        {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
02371 
02372 /* 0100 0101 0000 dddd address_src *** or rd,address_src */
02373 {
02374 #ifdef NICENAMES
02375 "or rd,address_src",16,9,0x38,
02376 #endif
02377 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
02378        {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
02379 
02380 /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
02381 {
02382 #ifdef NICENAMES
02383 "or rd,address_src(rs)",16,10,0x38,
02384 #endif
02385 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
02386        {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,101},
02387 
02388 /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
02389 {
02390 #ifdef NICENAMES
02391 "or rd,imm16",16,7,0x38,
02392 #endif
02393 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
02394        {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,101},
02395 
02396 /* 1000 0101 ssss dddd *** or rd,rs */
02397 {
02398 #ifdef NICENAMES
02399 "or rd,rs",16,4,0x38,
02400 #endif
02401 "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02402        {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,101},
02403 
02404 /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
02405 {
02406 #ifdef NICENAMES
02407 "orb rbd,@rs",8,7,0x3c,
02408 #endif
02409 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
02410        {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
02411 
02412 /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
02413 {
02414 #ifdef NICENAMES
02415 "orb rbd,address_src",8,9,0x3c,
02416 #endif
02417 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
02418        {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
02419 
02420 /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
02421 {
02422 #ifdef NICENAMES
02423 "orb rbd,address_src(rs)",8,10,0x3c,
02424 #endif
02425 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
02426        {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,102},
02427 
02428 /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
02429 {
02430 #ifdef NICENAMES
02431 "orb rbd,imm8",8,7,0x3c,
02432 #endif
02433 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
02434        {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,102},
02435 
02436 /* 1000 0100 ssss dddd *** orb rbd,rbs */
02437 {
02438 #ifdef NICENAMES
02439 "orb rbd,rbs",8,4,0x3c,
02440 #endif
02441 "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
02442        {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,102},
02443 
02444 /* 0011 1011 ssN0 1010 0000 aaaa dddd 0000 *** otdr @ro,@rs,ra */
02445 {
02446 #ifdef NICENAMES
02447 "otdr @ro,@rs,ra",16,11,0x04,
02448 #endif
02449 "otdr",OPC_otdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02450        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,103},
02451 
02452 /* 0011 1010 ssN0 1010 0000 aaaa dddd 0000 *** otdrb @ro,@rs,ra */
02453 {
02454 #ifdef NICENAMES
02455 "otdrb @ro,@rs,ra",8,11,0x04,
02456 #endif
02457 "otdrb",OPC_otdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02458        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,104},
02459 
02460 /* 0011 1011 ssN0 0010 0000 aaaa dddd 0000 *** otir @ro,@rs,ra */
02461 {
02462 #ifdef NICENAMES
02463 "otir @ro,@rs,ra",16,11,0x04,
02464 #endif
02465 "otir",OPC_otir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02466        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,105},
02467 
02468 /* 0011 1010 ssN0 0010 0000 aaaa dddd 0000 *** otirb @ro,@rs,ra */
02469 {
02470 #ifdef NICENAMES
02471 "otirb @ro,@rs,ra",8,11,0x04,
02472 #endif
02473 "otirb",OPC_otirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02474        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,106},
02475 
02476 /* 0011 1111 dddd ssss *** out @ro,rs */
02477 {
02478 #ifdef NICENAMES
02479 "out @ro,rs",16,10,0x00,
02480 #endif
02481 "out",OPC_out,0,{CLASS_IRO+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02482        {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,107},
02483 
02484 /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
02485 {
02486 #ifdef NICENAMES
02487 "out imm16,rs",16,12,0x00,
02488 #endif
02489 "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
02490        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,107},
02491 
02492 /* 0011 1110 dddd ssss *** outb @ro,rbs */
02493 {
02494 #ifdef NICENAMES
02495 "outb @ro,rbs",8,10,0x00,
02496 #endif
02497 "outb",OPC_outb,0,{CLASS_IRO+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
02498        {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,108},
02499 
02500 /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
02501 {
02502 #ifdef NICENAMES
02503 "outb imm16,rbs",8,12,0x00,
02504 #endif
02505 "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
02506        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,108},
02507 
02508 /* 0011 1011 ssN0 1010 0000 aaaa dddd 1000 *** outd @ro,@rs,ra */
02509 {
02510 #ifdef NICENAMES
02511 "outd @ro,@rs,ra",16,21,0x04,
02512 #endif
02513 "outd",OPC_outd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02514        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,109},
02515 
02516 /* 0011 1010 ssN0 1010 0000 aaaa dddd 1000 *** outdb @ro,@rs,ra */
02517 {
02518 #ifdef NICENAMES
02519 "outdb @ro,@rs,ra",8,21,0x04,
02520 #endif
02521 "outdb",OPC_outdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02522        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,110},
02523 
02524 /* 0011 1011 ssN0 0010 0000 aaaa dddd 1000 *** outi @ro,@rs,ra */
02525 {
02526 #ifdef NICENAMES
02527 "outi @ro,@rs,ra",16,21,0x04,
02528 #endif
02529 "outi",OPC_outi,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02530        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,111},
02531 
02532 /* 0011 1010 ssN0 0010 0000 aaaa dddd 1000 *** outib @ro,@rs,ra */
02533 {
02534 #ifdef NICENAMES
02535 "outib @ro,@rs,ra",8,21,0x04,
02536 #endif
02537 "outib",OPC_outib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
02538        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,112},
02539 
02540 /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
02541 {
02542 #ifdef NICENAMES
02543 "pop @rd,@rs",16,12,0x00,
02544 #endif
02545 "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
02546        {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,113},
02547 
02548 /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
02549 {
02550 #ifdef NICENAMES
02551 "pop address_dst(rd),@rs",16,16,0x00,
02552 #endif
02553 "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
02554        {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
02555 
02556 /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
02557 {
02558 #ifdef NICENAMES
02559 "pop address_dst,@rs",16,16,0x00,
02560 #endif
02561 "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
02562        {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,113},
02563 
02564 /* 1001 0111 ssN0 dddd *** pop rd,@rs */
02565 {
02566 #ifdef NICENAMES
02567 "pop rd,@rs",16,8,0x00,
02568 #endif
02569 "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
02570        {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,113},
02571 
02572 /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
02573 {
02574 #ifdef NICENAMES
02575 "popl @rd,@rs",32,19,0x00,
02576 #endif
02577 "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
02578        {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,114},
02579 
02580 /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
02581 {
02582 #ifdef NICENAMES
02583 "popl address_dst(rd),@rs",32,23,0x00,
02584 #endif
02585 "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
02586        {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
02587 
02588 /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
02589 {
02590 #ifdef NICENAMES
02591 "popl address_dst,@rs",32,23,0x00,
02592 #endif
02593 "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
02594        {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,114},
02595 
02596 /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
02597 {
02598 #ifdef NICENAMES
02599 "popl rrd,@rs",32,12,0x00,
02600 #endif
02601 "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
02602        {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,114},
02603 
02604 /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
02605 {
02606 #ifdef NICENAMES
02607 "push @rd,@rs",16,13,0x00,
02608 #endif
02609 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
02610        {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,115},
02611 
02612 /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
02613 {
02614 #ifdef NICENAMES
02615 "push @rd,address_src",16,14,0x00,
02616 #endif
02617 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
02618        {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
02619 
02620 /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
02621 {
02622 #ifdef NICENAMES
02623 "push @rd,address_src(rs)",16,14,0x00,
02624 #endif
02625 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
02626        {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,115},
02627 
02628 /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
02629 {
02630 #ifdef NICENAMES
02631 "push @rd,imm16",16,12,0x00,
02632 #endif
02633 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
02634        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,115},
02635 
02636 /* 1001 0011 ddN0 ssss *** push @rd,rs */
02637 {
02638 #ifdef NICENAMES
02639 "push @rd,rs",16,9,0x00,
02640 #endif
02641 "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02642        {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,115},
02643 
02644 /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
02645 {
02646 #ifdef NICENAMES
02647 "pushl @rd,@rs",32,20,0x00,
02648 #endif
02649 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
02650        {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,116},
02651 
02652 /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
02653 {
02654 #ifdef NICENAMES
02655 "pushl @rd,address_src",32,21,0x00,
02656 #endif
02657 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
02658        {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
02659 
02660 /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
02661 {
02662 #ifdef NICENAMES
02663 "pushl @rd,address_src(rs)",32,21,0x00,
02664 #endif
02665 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
02666        {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,116},
02667 
02668 /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
02669 {
02670 #ifdef NICENAMES
02671 "pushl @rd,rrs",32,12,0x00,
02672 #endif
02673 "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
02674        {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,116},
02675 
02676 /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
02677 {
02678 #ifdef NICENAMES
02679 "res @rd,imm4",16,11,0x00,
02680 #endif
02681 "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02682        {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
02683 
02684 /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
02685 {
02686 #ifdef NICENAMES
02687 "res address_dst(rd),imm4",16,14,0x00,
02688 #endif
02689 "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02690        {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
02691 
02692 /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
02693 {
02694 #ifdef NICENAMES
02695 "res address_dst,imm4",16,13,0x00,
02696 #endif
02697 "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
02698        {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,117},
02699 
02700 /* 1010 0011 dddd imm4 *** res rd,imm4 */
02701 {
02702 #ifdef NICENAMES
02703 "res rd,imm4",16,4,0x00,
02704 #endif
02705 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02706        {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,117},
02707 
02708 /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
02709 {
02710 #ifdef NICENAMES
02711 "res rd,rs",16,10,0x00,
02712 #endif
02713 "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02714        {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,117},
02715 
02716 /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
02717 {
02718 #ifdef NICENAMES
02719 "resb @rd,imm4",8,11,0x00,
02720 #endif
02721 "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02722        {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
02723 
02724 /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
02725 {
02726 #ifdef NICENAMES
02727 "resb address_dst(rd),imm4",8,14,0x00,
02728 #endif
02729 "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02730        {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
02731 
02732 /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
02733 {
02734 #ifdef NICENAMES
02735 "resb address_dst,imm4",8,13,0x00,
02736 #endif
02737 "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
02738        {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,118},
02739 
02740 /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
02741 {
02742 #ifdef NICENAMES
02743 "resb rbd,imm4",8,4,0x00,
02744 #endif
02745 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02746        {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,118},
02747 
02748 /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
02749 {
02750 #ifdef NICENAMES
02751 "resb rbd,rs",8,10,0x00,
02752 #endif
02753 "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02754        {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,118},
02755 
02756 /* 1000 1101 flags 0011 *** resflg flags */
02757 {
02758 #ifdef NICENAMES
02759 "resflg flags",16,7,0x3c,
02760 #endif
02761 "resflg",OPC_resflg,0,{CLASS_FLAGS,},
02762        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,119},
02763 
02764 /* 1001 1110 0000 cccc *** ret cc */
02765 {
02766 #ifdef NICENAMES
02767 "ret cc",16,10,0x00,
02768 #endif
02769 "ret",OPC_ret,0,{CLASS_CC,},
02770        {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,120},
02771 
02772 /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
02773 {
02774 #ifdef NICENAMES
02775 "rl rd,imm1or2",16,6,0x3c,
02776 #endif
02777 "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02778        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,121},
02779 
02780 /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
02781 {
02782 #ifdef NICENAMES
02783 "rlb rbd,imm1or2",8,6,0x3c,
02784 #endif
02785 "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02786        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,122},
02787 
02788 /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
02789 {
02790 #ifdef NICENAMES
02791 "rlc rd,imm1or2",16,6,0x3c,
02792 #endif
02793 "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02794        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,123},
02795 
02796 /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
02797 {
02798 #ifdef NICENAMES
02799 "rlcb rbd,imm1or2",8,9,0x10,
02800 #endif
02801 "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02802        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,124},
02803 
02804 /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
02805 {
02806 #ifdef NICENAMES
02807 "rldb rbb,rba",8,9,0x10,
02808 #endif
02809 "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
02810        {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,125},
02811 
02812 /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
02813 {
02814 #ifdef NICENAMES
02815 "rr rd,imm1or2",16,6,0x3c,
02816 #endif
02817 "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02818        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,126},
02819 
02820 /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
02821 {
02822 #ifdef NICENAMES
02823 "rrb rbd,imm1or2",8,6,0x3c,
02824 #endif
02825 "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02826        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,127},
02827 
02828 /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
02829 {
02830 #ifdef NICENAMES
02831 "rrc rd,imm1or2",16,6,0x3c,
02832 #endif
02833 "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02834        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,128},
02835 
02836 /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
02837 {
02838 #ifdef NICENAMES
02839 "rrcb rbd,imm1or2",8,9,0x10,
02840 #endif
02841 "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
02842        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,129},
02843 
02844 /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
02845 {
02846 #ifdef NICENAMES
02847 "rrdb rbb,rba",8,9,0x10,
02848 #endif
02849 "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
02850        {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,130},
02851 
02852 /* 0011 0110 imm8 *** rsvd36 */
02853 {
02854 #ifdef NICENAMES
02855 "rsvd36",8,10,0x00,
02856 #endif
02857 "rsvd36",OPC_rsvd36,0,{0},
02858        {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,131},
02859 
02860 /* 0011 1000 imm8 *** rsvd38 */
02861 {
02862 #ifdef NICENAMES
02863 "rsvd38",8,10,0x00,
02864 #endif
02865 "rsvd38",OPC_rsvd38,0,{0},
02866        {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,132},
02867 
02868 /* 0111 1000 imm8 *** rsvd78 */
02869 {
02870 #ifdef NICENAMES
02871 "rsvd78",8,10,0x00,
02872 #endif
02873 "rsvd78",OPC_rsvd78,0,{0},
02874        {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,133},
02875 
02876 /* 0111 1110 imm8 *** rsvd7e */
02877 {
02878 #ifdef NICENAMES
02879 "rsvd7e",8,10,0x00,
02880 #endif
02881 "rsvd7e",OPC_rsvd7e,0,{0},
02882        {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,134},
02883 
02884 /* 1001 1101 imm8 *** rsvd9d */
02885 {
02886 #ifdef NICENAMES
02887 "rsvd9d",8,10,0x00,
02888 #endif
02889 "rsvd9d",OPC_rsvd9d,0,{0},
02890        {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,135},
02891 
02892 /* 1001 1111 imm8 *** rsvd9f */
02893 {
02894 #ifdef NICENAMES
02895 "rsvd9f",8,10,0x00,
02896 #endif
02897 "rsvd9f",OPC_rsvd9f,0,{0},
02898        {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,136},
02899 
02900 /* 1011 1001 imm8 *** rsvdb9 */
02901 {
02902 #ifdef NICENAMES
02903 "rsvdb9",8,10,0x00,
02904 #endif
02905 "rsvdb9",OPC_rsvdb9,0,{0},
02906        {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,137},
02907 
02908 /* 1011 1111 imm8 *** rsvdbf */
02909 {
02910 #ifdef NICENAMES
02911 "rsvdbf",8,10,0x00,
02912 #endif
02913 "rsvdbf",OPC_rsvdbf,0,{0},
02914        {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,138},
02915 
02916 /* 1011 0111 ssss dddd *** sbc rd,rs */
02917 {
02918 #ifdef NICENAMES
02919 "sbc rd,rs",16,5,0x3c,
02920 #endif
02921 "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02922        {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,139},
02923 
02924 /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
02925 {
02926 #ifdef NICENAMES
02927 "sbcb rbd,rbs",8,5,0x3f,
02928 #endif
02929 "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
02930        {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,140},
02931 
02932 /* 0111 1111 imm8 *** sc imm8 */
02933 {
02934 #ifdef NICENAMES
02935 "sc imm8",8,33,0x3f,
02936 #endif
02937 "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
02938        {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,141},
02939 
02940 /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
02941 {
02942 #ifdef NICENAMES
02943 "sda rd,rs",16,15,0x3c,
02944 #endif
02945 "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02946        {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,142},
02947 
02948 /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
02949 {
02950 #ifdef NICENAMES
02951 "sdab rbd,rs",8,15,0x3c,
02952 #endif
02953 "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02954        {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,143},
02955 
02956 /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
02957 {
02958 #ifdef NICENAMES
02959 "sdal rrd,rs",32,15,0x3c,
02960 #endif
02961 "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02962        {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,144},
02963 
02964 /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
02965 {
02966 #ifdef NICENAMES
02967 "sdl rd,rs",16,15,0x38,
02968 #endif
02969 "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02970        {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,145},
02971 
02972 /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
02973 {
02974 #ifdef NICENAMES
02975 "sdlb rbd,rs",8,15,0x38,
02976 #endif
02977 "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02978        {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,146},
02979 
02980 /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
02981 {
02982 #ifdef NICENAMES
02983 "sdll rrd,rs",32,15,0x38,
02984 #endif
02985 "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
02986        {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,147},
02987 
02988 /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
02989 {
02990 #ifdef NICENAMES
02991 "set @rd,imm4",16,11,0x00,
02992 #endif
02993 "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
02994        {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
02995 
02996 /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
02997 {
02998 #ifdef NICENAMES
02999 "set address_dst(rd),imm4",16,14,0x00,
03000 #endif
03001 "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03002        {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
03003 
03004 /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
03005 {
03006 #ifdef NICENAMES
03007 "set address_dst,imm4",16,13,0x00,
03008 #endif
03009 "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
03010        {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,148},
03011 
03012 /* 1010 0101 dddd imm4 *** set rd,imm4 */
03013 {
03014 #ifdef NICENAMES
03015 "set rd,imm4",16,4,0x00,
03016 #endif
03017 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03018        {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,148},
03019 
03020 /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
03021 {
03022 #ifdef NICENAMES
03023 "set rd,rs",16,10,0x00,
03024 #endif
03025 "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
03026        {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,148},
03027 
03028 /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
03029 {
03030 #ifdef NICENAMES
03031 "setb @rd,imm4",8,11,0x00,
03032 #endif
03033 "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03034        {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
03035 
03036 /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
03037 {
03038 #ifdef NICENAMES
03039 "setb address_dst(rd),imm4",8,14,0x00,
03040 #endif
03041 "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03042        {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
03043 
03044 /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
03045 {
03046 #ifdef NICENAMES
03047 "setb address_dst,imm4",8,13,0x00,
03048 #endif
03049 "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
03050        {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,149},
03051 
03052 /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
03053 {
03054 #ifdef NICENAMES
03055 "setb rbd,imm4",8,4,0x00,
03056 #endif
03057 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03058        {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,149},
03059 
03060 /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
03061 {
03062 #ifdef NICENAMES
03063 "setb rbd,rs",8,10,0x00,
03064 #endif
03065 "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
03066        {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,149},
03067 
03068 /* 1000 1101 flags 0001 *** setflg flags */
03069 {
03070 #ifdef NICENAMES
03071 "setflg flags",16,7,0x3c,
03072 #endif
03073 "setflg",OPC_setflg,0,{CLASS_FLAGS,},
03074        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,150},
03075 
03076 /* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
03077 {
03078 #ifdef NICENAMES
03079 "sin rd,imm16",16,12,0x00,
03080 #endif
03081 "sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
03082        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,151},
03083 
03084 /* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
03085 {
03086 #ifdef NICENAMES
03087 "sinb rbd,imm16",8,10,0x00,
03088 #endif
03089 "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
03090        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,152},
03091 
03092 /* 0011 1011 ssss 1001 0000 aaaa ddN0 1000 *** sind @rd,@ri,ra */
03093 {
03094 #ifdef NICENAMES
03095 "sind @rd,@ri,ra",16,21,0x04,
03096 #endif
03097 "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03098        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,153},
03099 
03100 /* 0011 1010 ssss 1001 0000 aaaa ddN0 1000 *** sindb @rd,@ri,ra */
03101 {
03102 #ifdef NICENAMES
03103 "sindb @rd,@ri,ra",8,21,0x04,
03104 #endif
03105 "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03106        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,154},
03107 
03108 /* 0011 1011 ssss 1001 0000 aaaa ddN0 0000 *** sindr @rd,@ri,ra */
03109 {
03110 #ifdef NICENAMES
03111 "sindr @rd,@ri,ra",16,11,0x04,
03112 #endif
03113 "sindr",OPC_sindr,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03114        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,155},
03115 
03116 /* 0011 1010 ssss 1001 0000 aaaa ddN0 0000 *** sindrb @rd,@ri,ra */
03117 {
03118 #ifdef NICENAMES
03119 "sindrb @rd,@ri,ra",8,11,0x04,
03120 #endif
03121 "sindrb",OPC_sindrb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03122        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,156},
03123 
03124 /* 0011 1011 ssss 0001 0000 aaaa ddN0 1000 *** sini @rd,@ri,ra */
03125 {
03126 #ifdef NICENAMES
03127 "sini @rd,@ri,ra",16,21,0x04,
03128 #endif
03129 "sini",OPC_sini,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03130        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,157},
03131 
03132 /* 0011 1010 ssss 0001 0000 aaaa ddN0 1000 *** sinib @rd,@ri,ra */
03133 {
03134 #ifdef NICENAMES
03135 "sinib @rd,@ri,ra",8,21,0x04,
03136 #endif
03137 "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03138        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,158},
03139 
03140 /* 0011 1011 ssss 0001 0000 aaaa ddN0 0000 *** sinir @rd,@ri,ra */
03141 {
03142 #ifdef NICENAMES
03143 "sinir @rd,@ri,ra",16,11,0x04,
03144 #endif
03145 "sinir",OPC_sinir,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03146        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,159},
03147 
03148 /* 0011 1010 ssss 0001 0000 aaaa ddN0 0000 *** sinirb @rd,@ri,ra */
03149 {
03150 #ifdef NICENAMES
03151 "sinirb @rd,@ri,ra",8,11,0x04,
03152 #endif
03153 "sinirb",OPC_sinirb,0,{CLASS_IR+(ARG_RD),CLASS_IRO+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03154        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,160},
03155 
03156 /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
03157 {
03158 #ifdef NICENAMES
03159 "sla rd,imm8",16,13,0x3c,
03160 #endif
03161 "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03162        {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,161},
03163 
03164 /* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */
03165 {
03166 #ifdef NICENAMES
03167 "slab rbd,imm4",8,13,0x3c,
03168 #endif
03169 "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03170        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,162},
03171 
03172 /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
03173 {
03174 #ifdef NICENAMES
03175 "slal rrd,imm8",32,13,0x3c,
03176 #endif
03177 "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03178        {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,163},
03179 
03180 /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
03181 {
03182 #ifdef NICENAMES
03183 "sll rd,imm8",16,13,0x38,
03184 #endif
03185 "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03186        {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,164},
03187 
03188 /* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */
03189 {
03190 #ifdef NICENAMES
03191 "sllb rbd,imm4",8,13,0x38,
03192 #endif
03193 "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03194        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),0,},2,4,165},
03195 
03196 /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
03197 {
03198 #ifdef NICENAMES
03199 "slll rrd,imm8",32,13,0x38,
03200 #endif
03201 "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03202        {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,166},
03203 
03204 /* 0011 1011 ssN0 1011 0000 aaaa dddd 0000 *** sotdr @ro,@rs,ra */
03205 {
03206 #ifdef NICENAMES
03207 "sotdr @ro,@rs,ra",16,11,0x04,
03208 #endif
03209 "sotdr",OPC_sotdr,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03210        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,167},
03211 
03212 /* 0011 1010 ssN0 1011 0000 aaaa dddd 0000 *** sotdrb @ro,@rs,ra */
03213 {
03214 #ifdef NICENAMES
03215 "sotdrb @ro,@rs,ra",8,11,0x04,
03216 #endif
03217 "sotdrb",OPC_sotdrb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03218        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,168},
03219 
03220 /* 0011 1011 ssN0 0011 0000 aaaa dddd 0000 *** sotir @ro,@rs,ra */
03221 {
03222 #ifdef NICENAMES
03223 "sotir @ro,@rs,ra",16,11,0x04,
03224 #endif
03225 "sotir",OPC_sotir,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03226        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,169},
03227 
03228 /* 0011 1010 ssN0 0011 0000 aaaa dddd 0000 *** sotirb @ro,@rs,ra */
03229 {
03230 #ifdef NICENAMES
03231 "sotirb @ro,@rs,ra",8,11,0x04,
03232 #endif
03233 "sotirb",OPC_sotirb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03234        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+0,0,},3,4,170},
03235 
03236 /* 0011 1011 ssss 0110 imm16 *** sout imm16,rs */
03237 {
03238 #ifdef NICENAMES
03239 "sout imm16,rs",16,12,0x00,
03240 #endif
03241 "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
03242        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,171},
03243 
03244 /* 0011 1010 ssss 0110 imm16 *** soutb imm16,rbs */
03245 {
03246 #ifdef NICENAMES
03247 "soutb imm16,rbs",8,12,0x00,
03248 #endif
03249 "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
03250        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,172},
03251 
03252 /* 0011 1011 ssN0 1011 0000 aaaa dddd 1000 *** soutd @ro,@rs,ra */
03253 {
03254 #ifdef NICENAMES
03255 "soutd @ro,@rs,ra",16,21,0x04,
03256 #endif
03257 "soutd",OPC_soutd,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03258        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,173},
03259 
03260 /* 0011 1010 ssN0 1011 0000 aaaa dddd 1000 *** soutdb @ro,@rs,ra */
03261 {
03262 #ifdef NICENAMES
03263 "soutdb @ro,@rs,ra",8,21,0x04,
03264 #endif
03265 "soutdb",OPC_soutdb,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03266        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,174},
03267 
03268 /* 0011 1011 ssN0 0011 0000 aaaa dddd 1000 *** souti @ro,@rs,ra */
03269 {
03270 #ifdef NICENAMES
03271 "souti @ro,@rs,ra",16,21,0x04,
03272 #endif
03273 "souti",OPC_souti,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03274        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,175},
03275 
03276 /* 0011 1010 ssN0 0011 0000 aaaa dddd 1000 *** soutib @ro,@rs,ra */
03277 {
03278 #ifdef NICENAMES
03279 "soutib @ro,@rs,ra",8,21,0x04,
03280 #endif
03281 "soutib",OPC_soutib,0,{CLASS_IRO+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
03282        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RD),CLASS_BIT+8,0,},3,4,176},
03283 
03284 /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
03285 {
03286 #ifdef NICENAMES
03287 "sra rd,imm8",16,13,0x3c,
03288 #endif
03289 "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03290        {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,177},
03291 
03292 /* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */
03293 {
03294 #ifdef NICENAMES
03295 "srab rbd,imm4",8,13,0x3c,
03296 #endif
03297 "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03298        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,178},
03299 
03300 /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
03301 {
03302 #ifdef NICENAMES
03303 "sral rrd,imm8",32,13,0x3c,
03304 #endif
03305 "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03306        {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,179},
03307 
03308 /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
03309 {
03310 #ifdef NICENAMES
03311 "srl rd,imm8",16,13,0x3c,
03312 #endif
03313 "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03314        {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,180},
03315 
03316 /* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */
03317 {
03318 #ifdef NICENAMES
03319 "srlb rbd,imm4",8,13,0x3c,
03320 #endif
03321 "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
03322        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_IGNORE,CLASS_IGNORE,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM4),0,},2,4,181},
03323 
03324 /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
03325 {
03326 #ifdef NICENAMES
03327 "srll rrd,imm8",32,13,0x3c,
03328 #endif
03329 "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03330        {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,182},
03331 
03332 /* 0000 0011 ssN0 dddd *** sub rd,@rs */
03333 {
03334 #ifdef NICENAMES
03335 "sub rd,@rs",16,7,0x3c,
03336 #endif
03337 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
03338        {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
03339 
03340 /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
03341 {
03342 #ifdef NICENAMES
03343 "sub rd,address_src",16,9,0x3c,
03344 #endif
03345 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
03346        {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
03347 
03348 /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
03349 {
03350 #ifdef NICENAMES
03351 "sub rd,address_src(rs)",16,10,0x3c,
03352 #endif
03353 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
03354        {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
03355 
03356 /* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
03357 {
03358 #ifdef NICENAMES
03359 "sub rd,imm16",16,7,0x3c,
03360 #endif
03361 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
03362        {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,183},
03363 
03364 /* 1000 0011 ssss dddd *** sub rd,rs */
03365 {
03366 #ifdef NICENAMES
03367 "sub rd,rs",16,4,0x3c,
03368 #endif
03369 "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
03370        {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,183},
03371 
03372 /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
03373 {
03374 #ifdef NICENAMES
03375 "subb rbd,@rs",8,7,0x3f,
03376 #endif
03377 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
03378        {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
03379 
03380 /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
03381 {
03382 #ifdef NICENAMES
03383 "subb rbd,address_src",8,9,0x3f,
03384 #endif
03385 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
03386        {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
03387 
03388 /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
03389 {
03390 #ifdef NICENAMES
03391 "subb rbd,address_src(rs)",8,10,0x3f,
03392 #endif
03393 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
03394        {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
03395 
03396 /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
03397 {
03398 #ifdef NICENAMES
03399 "subb rbd,imm8",8,7,0x3f,
03400 #endif
03401 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03402        {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,184},
03403 
03404 /* 1000 0010 ssss dddd *** subb rbd,rbs */
03405 {
03406 #ifdef NICENAMES
03407 "subb rbd,rbs",8,4,0x3f,
03408 #endif
03409 "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
03410        {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,184},
03411 
03412 /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
03413 {
03414 #ifdef NICENAMES
03415 "subl rrd,@rs",32,14,0x3c,
03416 #endif
03417 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
03418        {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
03419 
03420 /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
03421 {
03422 #ifdef NICENAMES
03423 "subl rrd,address_src",32,15,0x3c,
03424 #endif
03425 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
03426        {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
03427 
03428 /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
03429 {
03430 #ifdef NICENAMES
03431 "subl rrd,address_src(rs)",32,16,0x3c,
03432 #endif
03433 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
03434        {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,185},
03435 
03436 /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
03437 {
03438 #ifdef NICENAMES
03439 "subl rrd,imm32",32,14,0x3c,
03440 #endif
03441 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
03442        {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,185},
03443 
03444 /* 1001 0010 ssss dddd *** subl rrd,rrs */
03445 {
03446 #ifdef NICENAMES
03447 "subl rrd,rrs",32,8,0x3c,
03448 #endif
03449 "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
03450        {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,185},
03451 
03452 /* 1010 1111 dddd cccc *** tcc cc,rd */
03453 {
03454 #ifdef NICENAMES
03455 "tcc cc,rd",16,5,0x00,
03456 #endif
03457 "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
03458        {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,186},
03459 
03460 /* 1010 1110 dddd cccc *** tccb cc,rbd */
03461 {
03462 #ifdef NICENAMES
03463 "tccb cc,rbd",8,5,0x00,
03464 #endif
03465 "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
03466        {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,187},
03467 
03468 /* 0000 1101 ddN0 0100 *** test @rd */
03469 {
03470 #ifdef NICENAMES
03471 "test @rd",16,8,0x18,
03472 #endif
03473 "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
03474        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
03475 
03476 /* 0100 1101 0000 0100 address_dst *** test address_dst */
03477 {
03478 #ifdef NICENAMES
03479 "test address_dst",16,11,0x00,
03480 #endif
03481 "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
03482        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
03483 
03484 /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
03485 {
03486 #ifdef NICENAMES
03487 "test address_dst(rd)",16,12,0x00,
03488 #endif
03489 "test",OPC_test,0,{CLASS_X+(ARG_RD),},
03490        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,188},
03491 
03492 /* 1000 1101 dddd 0100 *** test rd */
03493 {
03494 #ifdef NICENAMES
03495 "test rd",16,7,0x00,
03496 #endif
03497 "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
03498        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,188},
03499 
03500 /* 0000 1100 ddN0 0100 *** testb @rd */
03501 {
03502 #ifdef NICENAMES
03503 "testb @rd",8,8,0x1c,
03504 #endif
03505 "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
03506        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
03507 
03508 /* 0100 1100 0000 0100 address_dst *** testb address_dst */
03509 {
03510 #ifdef NICENAMES
03511 "testb address_dst",8,11,0x1c,
03512 #endif
03513 "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
03514        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
03515 
03516 /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
03517 {
03518 #ifdef NICENAMES
03519 "testb address_dst(rd)",8,12,0x1c,
03520 #endif
03521 "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
03522        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,189},
03523 
03524 /* 1000 1100 dddd 0100 *** testb rbd */
03525 {
03526 #ifdef NICENAMES
03527 "testb rbd",8,7,0x1c,
03528 #endif
03529 "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
03530        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,189},
03531 
03532 /* 0001 1100 ddN0 1000 *** testl @rd */
03533 {
03534 #ifdef NICENAMES
03535 "testl @rd",32,13,0x18,
03536 #endif
03537 "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
03538        {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
03539 
03540 /* 0101 1100 0000 1000 address_dst *** testl address_dst */
03541 {
03542 #ifdef NICENAMES
03543 "testl address_dst",32,16,0x18,
03544 #endif
03545 "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
03546        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
03547 
03548 /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
03549 {
03550 #ifdef NICENAMES
03551 "testl address_dst(rd)",32,17,0x18,
03552 #endif
03553 "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
03554        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,190},
03555 
03556 /* 1001 1100 dddd 1000 *** testl rrd */
03557 {
03558 #ifdef NICENAMES
03559 "testl rrd",32,13,0x18,
03560 #endif
03561 "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
03562        {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,190},
03563 
03564 /* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
03565 {
03566 #ifdef NICENAMES
03567 "trdb @rd,@rs,rba",8,25,0x1c,
03568 #endif
03569 "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
03570        {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,191},
03571 
03572 /* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
03573 {
03574 #ifdef NICENAMES
03575 "trdrb @rd,@rs,rba",8,25,0x1c,
03576 #endif
03577 "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
03578        {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,192},
03579 
03580 /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
03581 {
03582 #ifdef NICENAMES
03583 "trib @rd,@rs,rbr",8,25,0x1c,
03584 #endif
03585 "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
03586        {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,193},
03587 
03588 /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
03589 {
03590 #ifdef NICENAMES
03591 "trirb @rd,@rs,rbr",8,25,0x1c,
03592 #endif
03593 "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
03594        {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,194},
03595 
03596 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
03597 {
03598 #ifdef NICENAMES
03599 "trtdb @ra,@rb,rbr",8,25,0x1c,
03600 #endif
03601 "trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
03602        {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,195},
03603 
03604 /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
03605 {
03606 #ifdef NICENAMES
03607 "trtdrb @ra,@rb,rbr",8,25,0x1c,
03608 #endif
03609 "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
03610        {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,196},
03611 
03612 /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
03613 {
03614 #ifdef NICENAMES
03615 "trtib @ra,@rb,rbr",8,25,0x1c,
03616 #endif
03617 "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
03618        {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,197},
03619 
03620 /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
03621 {
03622 #ifdef NICENAMES
03623 "trtirb @ra,@rb,rbr",8,25,0x1c,
03624 #endif
03625 "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
03626        {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,198},
03627 
03628 /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
03629 {
03630 #ifdef NICENAMES
03631 "trtrb @ra,@rb,rbr",8,25,0x1c,
03632 #endif
03633 "trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
03634        {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,199},
03635 
03636 /* 0000 1101 ddN0 0110 *** tset @rd */
03637 {
03638 #ifdef NICENAMES
03639 "tset @rd",16,11,0x08,
03640 #endif
03641 "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
03642        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
03643 
03644 /* 0100 1101 0000 0110 address_dst *** tset address_dst */
03645 {
03646 #ifdef NICENAMES
03647 "tset address_dst",16,14,0x08,
03648 #endif
03649 "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
03650        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
03651 
03652 /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
03653 {
03654 #ifdef NICENAMES
03655 "tset address_dst(rd)",16,15,0x08,
03656 #endif
03657 "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
03658        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,200},
03659 
03660 /* 1000 1101 dddd 0110 *** tset rd */
03661 {
03662 #ifdef NICENAMES
03663 "tset rd",16,7,0x08,
03664 #endif
03665 "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
03666        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,200},
03667 
03668 /* 0000 1100 ddN0 0110 *** tsetb @rd */
03669 {
03670 #ifdef NICENAMES
03671 "tsetb @rd",8,11,0x08,
03672 #endif
03673 "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
03674        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,201},
03675 
03676 /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
03677 {
03678 #ifdef NICENAMES
03679 "tsetb address_dst",8,14,0x08,
03680 #endif
03681 "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
03682        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,201},
03683 
03684 /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
03685 {
03686 #ifdef NICENAMES
03687 "tsetb address_dst(rd)",8,15,0x08,
03688 #endif
03689 "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
03690        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,201},
03691 
03692 /* 1000 1100 dddd 0110 *** tsetb rbd */
03693 {
03694 #ifdef NICENAMES
03695 "tsetb rbd",8,7,0x08,
03696 #endif
03697 "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
03698        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,201},
03699 
03700 /* 0000 1001 ssN0 dddd *** xor rd,@rs */
03701 {
03702 #ifdef NICENAMES
03703 "xor rd,@rs",16,7,0x18,
03704 #endif
03705 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
03706        {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
03707 
03708 /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
03709 {
03710 #ifdef NICENAMES
03711 "xor rd,address_src",16,9,0x18,
03712 #endif
03713 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
03714        {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
03715 
03716 /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
03717 {
03718 #ifdef NICENAMES
03719 "xor rd,address_src(rs)",16,10,0x18,
03720 #endif
03721 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
03722        {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,202},
03723 
03724 /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
03725 {
03726 #ifdef NICENAMES
03727 "xor rd,imm16",16,7,0x18,
03728 #endif
03729 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
03730        {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,202},
03731 
03732 /* 1000 1001 ssss dddd *** xor rd,rs */
03733 {
03734 #ifdef NICENAMES
03735 "xor rd,rs",16,4,0x18,
03736 #endif
03737 "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
03738        {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,202},
03739 
03740 /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
03741 {
03742 #ifdef NICENAMES
03743 "xorb rbd,@rs",8,7,0x1c,
03744 #endif
03745 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
03746        {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,203},
03747 
03748 /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
03749 {
03750 #ifdef NICENAMES
03751 "xorb rbd,address_src",8,9,0x1c,
03752 #endif
03753 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
03754        {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,203},
03755 
03756 /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
03757 {
03758 #ifdef NICENAMES
03759 "xorb rbd,address_src(rs)",8,10,0x1c,
03760 #endif
03761 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
03762        {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,203},
03763 
03764 /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
03765 {
03766 #ifdef NICENAMES
03767 "xorb rbd,imm8",8,7,0x1c,
03768 #endif
03769 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
03770        {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,203},
03771 
03772 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
03773 {
03774 #ifdef NICENAMES
03775 "xorb rbd,rbs",8,4,0x1c,
03776 #endif
03777 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
03778        {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,203},
03779 
03780 /* 1000 1000 ssss dddd *** xorb rbd,rbs */
03781 {
03782 #ifdef NICENAMES
03783 "xorb rbd,rbs",8,4,0x01,
03784 #endif
03785 "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
03786        {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,203},
03787 
03788 /* end marker */
03789 {
03790 #ifdef NICENAMES
03791 NULL,0,0,
03792 0,
03793 #endif
03794 NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
03795 };
03796 #endif