Ignore:
Timestamp:
Aug 16, 2003, 6:59:22 PM (22 years ago)
Author:
bird
Message:

binutils v2.14 - offical sources.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/binutils/opcodes/z8k-opc.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r608 r609  
    1                         /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */
     1/* DO NOT EDIT!  -*- buffer-read-only: t -*-
     2   This file is automatically generated by z8kgen.  */
     3
    24#define ARG_MASK 0x0f
    35#define ARG_SRC 0x01
     
    2224#define ARG_IMM1OR2 0x0b
    2325#define ARG_DISP12 0x0b
     26#define ARG_NIM4 0x0c
    2427#define ARG_DISP8 0x0c
    2528#define ARG_IMM4M1 0x0d
     
    3336#define CLASS_CC 0x70
    3437#define CLASS_CTRL 0x80
     38#define CLASS_IGNORE 0x90
    3539#define CLASS_ADDRESS 0xd0
    3640#define CLASS_0CCC 0xe0
     
    211215#define OPC_trtib 157
    212216#define OPC_trtirb 158
    213 #define OPC_trtdb 159
     217#define OPC_trtrb 159
    214218#define OPC_tset 160
    215219#define OPC_tsetb 161
     
    237241#define OPC_rsvdbf 172
    238242#define OPC_outi 173
     243#define OPC_ldctlb 174
     244#define OPC_sin 175
     245#define OPC_trtdb 176
     246
    239247typedef struct {
    240248#ifdef NICENAMES
    241 char *nicename;
    242 int type;
    243 int cycles;
    244 int flags;
    245 #endif
    246 char *name;
    247 unsigned char opcode;
    248 void (*func)();
    249 unsigned int arg_info[4];
    250 unsigned int byte_info[10];
    251 int noperands;
    252 int length;
    253 int idx;
     249  const char *nicename;
     250  int type;
     251  int cycles;
     252  int flags;
     253#endif
     254  const char *name;
     255  unsigned char opcode;
     256  void (*func) PARAMS ((void));
     257  unsigned int arg_info[4];
     258  unsigned int byte_info[10];
     259  int noperands;
     260  int length;
     261  int idx;
    254262} opcode_entry_type;
     263
    255264#ifdef DEFINE_TABLE
    256 opcode_entry_type z8k_table[] = {
    257 
     265const opcode_entry_type z8k_table[] = {
    258266
    259267/* 1011 0101 ssss dddd *** adc rd,rs */
    260268{
    261269#ifdef NICENAMES
    262 "adc rd,rs",16,5,
    263 0x3c,
     270"adc rd,rs",16,5,0x3c,
    264271#endif
    265272"adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    266273        {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
    267274
    268 
    269275/* 1011 0100 ssss dddd *** adcb rbd,rbs */
    270276{
    271277#ifdef NICENAMES
    272 "adcb rbd,rbs",8,5,
    273 0x3f,
     278"adcb rbd,rbs",8,5,0x3f,
    274279#endif
    275280"adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    276281        {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
    277282
    278 
    279283/* 0000 0001 ssN0 dddd *** add rd,@rs */
    280284{
    281285#ifdef NICENAMES
    282 "add rd,@rs",16,7,
    283 0x3c,
     286"add rd,@rs",16,7,0x3c,
    284287#endif
    285288"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    286289        {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
    287290
    288 
    289291/* 0100 0001 0000 dddd address_src *** add rd,address_src */
    290292{
    291293#ifdef NICENAMES
    292 "add rd,address_src",16,9,
    293 0x3c,
     294"add rd,address_src",16,9,0x3c,
    294295#endif
    295296"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    296         {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
    297 
     297        {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,2},
    298298
    299299/* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
    300300{
    301301#ifdef NICENAMES
    302 "add rd,address_src(rs)",16,10,
    303 0x3c,
     302"add rd,address_src(rs)",16,10,0x3c,
    304303#endif
    305304"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    306         {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
    307 
     305        {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},
    308306
    309307/* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
    310308{
    311309#ifdef NICENAMES
    312 "add rd,imm16",16,7,
    313 0x3c,
     310"add rd,imm16",16,7,0x3c,
    314311#endif
    315312"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    316         {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
    317 
     313        {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,2},
    318314
    319315/* 1000 0001 ssss dddd *** add rd,rs */
    320316{
    321317#ifdef NICENAMES
    322 "add rd,rs",16,4,
    323 0x3c,
     318"add rd,rs",16,4,0x3c,
    324319#endif
    325320"add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    326         {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
    327 
     321        {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
    328322
    329323/* 0000 0000 ssN0 dddd *** addb rbd,@rs */
    330324{
    331325#ifdef NICENAMES
    332 "addb rbd,@rs",8,7,
    333 0x3f,
     326"addb rbd,@rs",8,7,0x3f,
    334327#endif
    335328"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    336         {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
    337 
     329        {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
    338330
    339331/* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
    340332{
    341333#ifdef NICENAMES
    342 "addb rbd,address_src",8,9,
    343 0x3f,
     334"addb rbd,address_src",8,9,0x3f,
    344335#endif
    345336"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    346         {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
    347 
     337        {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
    348338
    349339/* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
    350340{
    351341#ifdef NICENAMES
    352 "addb rbd,address_src(rs)",8,10,
    353 0x3f,
     342"addb rbd,address_src(rs)",8,10,0x3f,
    354343#endif
    355344"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    356         {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
    357 
     345        {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},
    358346
    359347/* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
    360348{
    361349#ifdef NICENAMES
    362 "addb rbd,imm8",8,7,
    363 0x3f,
     350"addb rbd,imm8",8,7,0x3f,
    364351#endif
    365352"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    366         {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},
    367 
     353        {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},
    368354
    369355/* 1000 0000 ssss dddd *** addb rbd,rbs */
    370356{
    371357#ifdef NICENAMES
    372 "addb rbd,rbs",8,4,
    373 0x3f,
     358"addb rbd,rbs",8,4,0x3f,
    374359#endif
    375360"addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    376         {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
    377 
     361        {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,3},
    378362
    379363/* 0001 0110 ssN0 dddd *** addl rrd,@rs */
    380364{
    381365#ifdef NICENAMES
    382 "addl rrd,@rs",32,14,
    383 0x3c,
     366"addl rrd,@rs",32,14,0x3c,
    384367#endif
    385368"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    386         {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
    387 
     369        {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
    388370
    389371/* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
    390372{
    391373#ifdef NICENAMES
    392 "addl rrd,address_src",32,15,
    393 0x3c,
     374"addl rrd,address_src",32,15,0x3c,
    394375#endif
    395376"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
    396         {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
    397 
     377        {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
    398378
    399379/* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
    400380{
    401381#ifdef NICENAMES
    402 "addl rrd,address_src(rs)",32,16,
    403 0x3c,
     382"addl rrd,address_src(rs)",32,16,0x3c,
    404383#endif
    405384"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
    406         {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
    407 
     385        {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},
    408386
    409387/* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
    410388{
    411389#ifdef NICENAMES
    412 "addl rrd,imm32",32,14,
    413 0x3c,
     390"addl rrd,imm32",32,14,0x3c,
    414391#endif
    415392"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
    416         {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
    417 
     393        {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,4},
    418394
    419395/* 1001 0110 ssss dddd *** addl rrd,rrs */
    420396{
    421397#ifdef NICENAMES
    422 "addl rrd,rrs",32,8,
    423 0x3c,
     398"addl rrd,rrs",32,8,0x3c,
    424399#endif
    425400"addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    426         {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
    427 
     401        {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,4},
    428402
    429403/* 0000 0111 ssN0 dddd *** and rd,@rs */
    430404{
    431405#ifdef NICENAMES
    432 "and rd,@rs",16,7,
    433 0x18,
     406"and rd,@rs",16,7,0x18,
    434407#endif
    435408"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    436         {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
    437 
     409        {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
    438410
    439411/* 0100 0111 0000 dddd address_src *** and rd,address_src */
    440412{
    441413#ifdef NICENAMES
    442 "and rd,address_src",16,9,
    443 0x18,
     414"and rd,address_src",16,9,0x18,
    444415#endif
    445416"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    446         {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
    447 
     417        {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,5},
    448418
    449419/* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
    450420{
    451421#ifdef NICENAMES
    452 "and rd,address_src(rs)",16,10,
    453 0x18,
     422"and rd,address_src(rs)",16,10,0x18,
    454423#endif
    455424"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    456         {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
    457 
     425        {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},
    458426
    459427/* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
    460428{
    461429#ifdef NICENAMES
    462 "and rd,imm16",16,7,
    463 0x18,
     430"and rd,imm16",16,7,0x18,
    464431#endif
    465432"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    466         {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
    467 
     433        {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
    468434
    469435/* 1000 0111 ssss dddd *** and rd,rs */
    470436{
    471437#ifdef NICENAMES
    472 "and rd,rs",16,4,
    473 0x18,
     438"and rd,rs",16,4,0x18,
    474439#endif
    475440"and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    476         {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
    477 
     441        {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,5},
    478442
    479443/* 0000 0110 ssN0 dddd *** andb rbd,@rs */
    480444{
    481445#ifdef NICENAMES
    482 "andb rbd,@rs",8,7,
    483 0x1c,
     446"andb rbd,@rs",8,7,0x1c,
    484447#endif
    485448"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    486         {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
    487 
     449        {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
    488450
    489451/* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
    490452{
    491453#ifdef NICENAMES
    492 "andb rbd,address_src",8,9,
    493 0x1c,
     454"andb rbd,address_src",8,9,0x1c,
    494455#endif
    495456"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    496         {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
    497 
     457        {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,6},
    498458
    499459/* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
    500460{
    501461#ifdef NICENAMES
    502 "andb rbd,address_src(rs)",8,10,
    503 0x1c,
     462"andb rbd,address_src(rs)",8,10,0x1c,
    504463#endif
    505464"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    506         {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
    507 
     465        {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},
    508466
    509467/* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
    510468{
    511469#ifdef NICENAMES
    512 "andb rbd,imm8",8,7,
    513 0x1c,
     470"andb rbd,imm8",8,7,0x1c,
    514471#endif
    515472"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    516         {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},
    517 
     473        {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},
    518474
    519475/* 1000 0110 ssss dddd *** andb rbd,rbs */
    520476{
    521477#ifdef NICENAMES
    522 "andb rbd,rbs",8,4,
    523 0x1c,
     478"andb rbd,rbs",8,4,0x1c,
    524479#endif
    525480"andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    526         {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
    527 
     481        {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
    528482
    529483/* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
    530484{
    531485#ifdef NICENAMES
    532 "bit @rd,imm4",16,8,
    533 0x10,
     486"bit @rd,imm4",16,8,0x10,
    534487#endif
    535488"bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    536         {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
    537 
     489        {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
    538490
    539491/* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
    540492{
    541493#ifdef NICENAMES
    542 "bit address_dst(rd),imm4",16,11,
    543 0x10,
     494"bit address_dst(rd),imm4",16,11,0x10,
    544495#endif
    545496"bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    546         {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
    547 
     497        {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},
    548498
    549499/* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
    550500{
    551501#ifdef NICENAMES
    552 "bit address_dst,imm4",16,10,
    553 0x10,
     502"bit address_dst,imm4",16,10,0x10,
    554503#endif
    555504"bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
    556         {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
    557 
     505        {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,7},
    558506
    559507/* 1010 0111 dddd imm4 *** bit rd,imm4 */
    560508{
    561509#ifdef NICENAMES
    562 "bit rd,imm4",16,4,
    563 0x10,
     510"bit rd,imm4",16,4,0x10,
    564511#endif
    565512"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    566         {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
    567 
     513        {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,7},
    568514
    569515/* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
    570516{
    571517#ifdef NICENAMES
    572 "bit rd,rs",16,10,
    573 0x10,
     518"bit rd,rs",16,10,0x10,
    574519#endif
    575520"bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    576         {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},
    577 
     521        {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},
    578522
    579523/* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
    580524{
    581525#ifdef NICENAMES
    582 "bitb @rd,imm4",8,8,
    583 0x10,
     526"bitb @rd,imm4",8,8,0x10,
    584527#endif
    585528"bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    586         {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
    587 
     529        {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
    588530
    589531/* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
    590532{
    591533#ifdef NICENAMES
    592 "bitb address_dst(rd),imm4",8,11,
    593 0x10,
     534"bitb address_dst(rd),imm4",8,11,0x10,
    594535#endif
    595536"bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    596         {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
    597 
     537        {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},
    598538
    599539/* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
    600540{
    601541#ifdef NICENAMES
    602 "bitb address_dst,imm4",8,10,
    603 0x10,
     542"bitb address_dst,imm4",8,10,0x10,
    604543#endif
    605544"bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
    606         {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
    607 
     545        {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,8},
    608546
    609547/* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
    610548{
    611549#ifdef NICENAMES
    612 "bitb rbd,imm4",8,4,
    613 0x10,
     550"bitb rbd,imm4",8,4,0x10,
    614551#endif
    615552"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    616         {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
    617 
     553        {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,8},
    618554
    619555/* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
    620556{
    621557#ifdef NICENAMES
    622 "bitb rbd,rs",8,10,
    623 0x10,
     558"bitb rbd,rs",8,10,0x10,
    624559#endif
    625560"bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    626         {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},
    627 
     561        {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},
    628562
    629563/* 0011 0110 0000 0000 *** bpt */
    630564{
    631565#ifdef NICENAMES
    632 "bpt",8,2,
    633 0x00,
     566"bpt",8,2,0x00,
    634567#endif
    635568"bpt",OPC_bpt,0,{0},
    636         {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
    637 
     569        {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,9},
    638570
    639571/* 0001 1111 ddN0 0000 *** call @rd */
    640572{
    641573#ifdef NICENAMES
    642 "call @rd",32,10,
    643 0x00,
     574"call @rd",32,10,0x00,
    644575#endif
    645576"call",OPC_call,0,{CLASS_IR+(ARG_RD),},
    646         {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
    647 
     577        {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,10},
    648578
    649579/* 0101 1111 0000 0000 address_dst *** call address_dst */
    650580{
    651581#ifdef NICENAMES
    652 "call address_dst",32,12,
    653 0x00,
     582"call address_dst",32,12,0x00,
    654583#endif
    655584"call",OPC_call,0,{CLASS_DA+(ARG_DST),},
    656         {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
    657 
     585        {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,10},
    658586
    659587/* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
    660588{
    661589#ifdef NICENAMES
    662 "call address_dst(rd)",32,13,
    663 0x00,
     590"call address_dst(rd)",32,13,0x00,
    664591#endif
    665592"call",OPC_call,0,{CLASS_X+(ARG_RD),},
    666         {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
    667 
     593        {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,10},
    668594
    669595/* 1101 disp12 *** calr disp12 */
    670596{
    671597#ifdef NICENAMES
    672 "calr disp12",16,10,
    673 0x00,
     598"calr disp12",16,10,0x00,
    674599#endif
    675600"calr",OPC_calr,0,{CLASS_DISP,},
    676         {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
    677 
     601        {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,11},
    678602
    679603/* 0000 1101 ddN0 1000 *** clr @rd */
    680604{
    681605#ifdef NICENAMES
    682 "clr @rd",16,8,
    683 0x00,
     606"clr @rd",16,8,0x00,
    684607#endif
    685608"clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
    686         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
    687 
     609        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,12},
    688610
    689611/* 0100 1101 0000 1000 address_dst *** clr address_dst */
    690612{
    691613#ifdef NICENAMES
    692 "clr address_dst",16,11,
    693 0x00,
     614"clr address_dst",16,11,0x00,
    694615#endif
    695616"clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
    696         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
    697 
     617        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,12},
    698618
    699619/* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
    700620{
    701621#ifdef NICENAMES
    702 "clr address_dst(rd)",16,12,
    703 0x00,
     622"clr address_dst(rd)",16,12,0x00,
    704623#endif
    705624"clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
    706         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
    707 
     625        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,12},
    708626
    709627/* 1000 1101 dddd 1000 *** clr rd */
    710628{
    711629#ifdef NICENAMES
    712 "clr rd",16,7,
    713 0x00,
     630"clr rd",16,7,0x00,
    714631#endif
    715632"clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
    716         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
    717 
     633        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,12},
    718634
    719635/* 0000 1100 ddN0 1000 *** clrb @rd */
    720636{
    721637#ifdef NICENAMES
    722 "clrb @rd",8,8,
    723 0x00,
     638"clrb @rd",8,8,0x00,
    724639#endif
    725640"clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
    726         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
    727 
     641        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
    728642
    729643/* 0100 1100 0000 1000 address_dst *** clrb address_dst */
    730644{
    731645#ifdef NICENAMES
    732 "clrb address_dst",8,11,
    733 0x00,
     646"clrb address_dst",8,11,0x00,
    734647#endif
    735648"clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
    736         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
    737 
     649        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
    738650
    739651/* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
    740652{
    741653#ifdef NICENAMES
    742 "clrb address_dst(rd)",8,12,
    743 0x00,
     654"clrb address_dst(rd)",8,12,0x00,
    744655#endif
    745656"clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
    746         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
    747 
     657        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,13},
    748658
    749659/* 1000 1100 dddd 1000 *** clrb rbd */
    750660{
    751661#ifdef NICENAMES
    752 "clrb rbd",8,7,
    753 0x00,
     662"clrb rbd",8,7,0x00,
    754663#endif
    755664"clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
    756         {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
    757 
     665        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,13},
    758666
    759667/* 0000 1101 ddN0 0000 *** com @rd */
    760668{
    761669#ifdef NICENAMES
    762 "com @rd",16,12,
    763 0x18,
     670"com @rd",16,12,0x18,
    764671#endif
    765672"com",OPC_com,0,{CLASS_IR+(ARG_RD),},
    766         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
    767 
     673        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,14},
    768674
    769675/* 0100 1101 0000 0000 address_dst *** com address_dst */
    770676{
    771677#ifdef NICENAMES
    772 "com address_dst",16,15,
    773 0x18,
     678"com address_dst",16,15,0x18,
    774679#endif
    775680"com",OPC_com,0,{CLASS_DA+(ARG_DST),},
    776         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
    777 
     681        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
    778682
    779683/* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
    780684{
    781685#ifdef NICENAMES
    782 "com address_dst(rd)",16,16,
    783 0x18,
     686"com address_dst(rd)",16,16,0x18,
    784687#endif
    785688"com",OPC_com,0,{CLASS_X+(ARG_RD),},
    786         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
    787 
     689        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,14},
    788690
    789691/* 1000 1101 dddd 0000 *** com rd */
    790692{
    791693#ifdef NICENAMES
    792 "com rd",16,7,
    793 0x18,
     694"com rd",16,7,0x18,
    794695#endif
    795696"com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
    796         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
    797 
     697        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,14},
    798698
    799699/* 0000 1100 ddN0 0000 *** comb @rd */
    800700{
    801701#ifdef NICENAMES
    802 "comb @rd",8,12,
    803 0x1c,
     702"comb @rd",8,12,0x1c,
    804703#endif
    805704"comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
    806         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
    807 
     705        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
    808706
    809707/* 0100 1100 0000 0000 address_dst *** comb address_dst */
    810708{
    811709#ifdef NICENAMES
    812 "comb address_dst",8,15,
    813 0x1c,
     710"comb address_dst",8,15,0x1c,
    814711#endif
    815712"comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
    816         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
    817 
     713        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
    818714
    819715/* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
    820716{
    821717#ifdef NICENAMES
    822 "comb address_dst(rd)",8,16,
    823 0x1c,
     718"comb address_dst(rd)",8,16,0x1c,
    824719#endif
    825720"comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
    826         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
    827 
     721        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,15},
    828722
    829723/* 1000 1100 dddd 0000 *** comb rbd */
    830724{
    831725#ifdef NICENAMES
    832 "comb rbd",8,7,
    833 0x1c,
     726"comb rbd",8,7,0x1c,
    834727#endif
    835728"comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
    836         {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
    837 
     729        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,15},
    838730
    839731/* 1000 1101 flags 0101 *** comflg flags */
    840732{
    841733#ifdef NICENAMES
    842 "comflg flags",16,7,
    843 0x3c,
     734"comflg flags",16,7,0x3c,
    844735#endif
    845736"comflg",OPC_comflg,0,{CLASS_FLAGS,},
    846         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,58},
    847 
     737        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+5,0,0,0,0,0,},1,2,16},
    848738
    849739/* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
    850740{
    851741#ifdef NICENAMES
    852 "cp @rd,imm16",16,11,
    853 0x3c,
     742"cp @rd,imm16",16,11,0x3c,
    854743#endif
    855744"cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    856         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
    857 
     745        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,17},
    858746
    859747/* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
    860748{
    861749#ifdef NICENAMES
    862 "cp address_dst(rd),imm16",16,15,
    863 0x3c,
     750"cp address_dst(rd),imm16",16,15,0x3c,
    864751#endif
    865752"cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    866         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,60},
    867 
     753        {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,17},
    868754
    869755/* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
    870756{
    871757#ifdef NICENAMES
    872 "cp address_dst,imm16",16,14,
    873 0x3c,
     758"cp address_dst,imm16",16,14,0x3c,
    874759#endif
    875760"cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
    876         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,61},
    877 
     761        {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,17},
    878762
    879763/* 0000 1011 ssN0 dddd *** cp rd,@rs */
    880764{
    881765#ifdef NICENAMES
    882 "cp rd,@rs",16,7,
    883 0x3c,
     766"cp rd,@rs",16,7,0x3c,
    884767#endif
    885768"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    886         {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
    887 
     769        {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
    888770
    889771/* 0100 1011 0000 dddd address_src *** cp rd,address_src */
    890772{
    891773#ifdef NICENAMES
    892 "cp rd,address_src",16,9,
    893 0x3c,
     774"cp rd,address_src",16,9,0x3c,
    894775#endif
    895776"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    896         {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
    897 
     777        {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,17},
    898778
    899779/* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
    900780{
    901781#ifdef NICENAMES
    902 "cp rd,address_src(rs)",16,10,
    903 0x3c,
     782"cp rd,address_src(rs)",16,10,0x3c,
    904783#endif
    905784"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    906         {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
    907 
     785        {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,17},
    908786
    909787/* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
    910788{
    911789#ifdef NICENAMES
    912 "cp rd,imm16",16,7,
    913 0x3c,
     790"cp rd,imm16",16,7,0x3c,
    914791#endif
    915792"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    916         {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
    917 
     793        {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,17},
    918794
    919795/* 1000 1011 ssss dddd *** cp rd,rs */
    920796{
    921797#ifdef NICENAMES
    922 "cp rd,rs",16,4,
    923 0x3c,
     798"cp rd,rs",16,4,0x3c,
    924799#endif
    925800"cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    926         {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
    927 
     801        {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
    928802
    929803/* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
    930804{
    931805#ifdef NICENAMES
    932 "cpb @rd,imm8",8,11,
    933 0x3c,
     806"cpb @rd,imm8",8,11,0x3c,
    934807#endif
    935808"cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    936         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,67},
    937 
     809        {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,18},
    938810
    939811/* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
    940812{
    941813#ifdef NICENAMES
    942 "cpb address_dst(rd),imm8",8,15,
    943 0x3c,
     814"cpb address_dst(rd),imm8",8,15,0x3c,
    944815#endif
    945816"cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    946         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,68},
    947 
     817        {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,18},
    948818
    949819/* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
    950820{
    951821#ifdef NICENAMES
    952 "cpb address_dst,imm8",8,14,
    953 0x3c,
     822"cpb address_dst,imm8",8,14,0x3c,
    954823#endif
    955824"cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
    956         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,69},
    957 
     825        {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,18},
    958826
    959827/* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
    960828{
    961829#ifdef NICENAMES
    962 "cpb rbd,@rs",8,7,
    963 0x3c,
     830"cpb rbd,@rs",8,7,0x3c,
    964831#endif
    965832"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    966         {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
    967 
     833        {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
    968834
    969835/* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
    970836{
    971837#ifdef NICENAMES
    972 "cpb rbd,address_src",8,9,
    973 0x3c,
     838"cpb rbd,address_src",8,9,0x3c,
    974839#endif
    975840"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    976         {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
    977 
     841        {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
    978842
    979843/* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
    980844{
    981845#ifdef NICENAMES
    982 "cpb rbd,address_src(rs)",8,10,
    983 0x3c,
     846"cpb rbd,address_src(rs)",8,10,0x3c,
    984847#endif
    985848"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    986         {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
    987 
     849        {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
    988850
    989851/* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
    990852{
    991853#ifdef NICENAMES
    992 "cpb rbd,imm8",8,7,
    993 0x3c,
     854"cpb rbd,imm8",8,7,0x3c,
    994855#endif
    995856"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    996         {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,73},
    997 
     857        {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,18},
    998858
    999859/* 1000 1010 ssss dddd *** cpb rbd,rbs */
    1000860{
    1001861#ifdef NICENAMES
    1002 "cpb rbd,rbs",8,4,
    1003 0x3c,
     862"cpb rbd,rbs",8,4,0x3c,
    1004863#endif
    1005864"cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    1006         {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
    1007 
     865        {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,18},
    1008866
    1009867/* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
    1010868{
    1011869#ifdef NICENAMES
    1012 "cpd rd,@rs,rr,cc",16,11,
    1013 0x3c,
     870"cpd rd,@rs,rr,cc",16,11,0x3c,
    1014871#endif
    1015872"cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1016         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,75},
    1017 
     873        {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,19},
    1018874
    1019875/* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
    1020876{
    1021877#ifdef NICENAMES
    1022 "cpdb rbd,@rs,rr,cc",8,11,
    1023 0x3c,
     878"cpdb rbd,@rs,rr,cc",8,11,0x3c,
    1024879#endif
    1025880"cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1026         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
    1027 
     881        {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,20},
    1028882
    1029883/* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
    1030884{
    1031885#ifdef NICENAMES
    1032 "cpdr rd,@rs,rr,cc",16,11,
    1033 0x3c,
     886"cpdr rd,@rs,rr,cc",16,11,0x3c,
    1034887#endif
    1035888"cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1036         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,77},
    1037 
     889        {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,21},
    1038890
    1039891/* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
    1040892{
    1041893#ifdef NICENAMES
    1042 "cpdrb rbd,@rs,rr,cc",8,11,
    1043 0x3c,
     894"cpdrb rbd,@rs,rr,cc",8,11,0x3c,
    1044895#endif
    1045896"cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1046         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,78},
    1047 
     897        {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,22},
    1048898
    1049899/* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
    1050900{
    1051901#ifdef NICENAMES
    1052 "cpi rd,@rs,rr,cc",16,11,
    1053 0x3c,
     902"cpi rd,@rs,rr,cc",16,11,0x3c,
    1054903#endif
    1055904"cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1056         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,79},
    1057 
     905        {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,23},
    1058906
    1059907/* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
    1060908{
    1061909#ifdef NICENAMES
    1062 "cpib rbd,@rs,rr,cc",8,11,
    1063 0x3c,
     910"cpib rbd,@rs,rr,cc",8,11,0x3c,
    1064911#endif
    1065912"cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1066         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,80},
    1067 
     913        {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,24},
    1068914
    1069915/* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
    1070916{
    1071917#ifdef NICENAMES
    1072 "cpir rd,@rs,rr,cc",16,11,
    1073 0x3c,
     918"cpir rd,@rs,rr,cc",16,11,0x3c,
    1074919#endif
    1075920"cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1076         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,81},
    1077 
     921        {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,25},
    1078922
    1079923/* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
    1080924{
    1081925#ifdef NICENAMES
    1082 "cpirb rbd,@rs,rr,cc",8,11,
    1083 0x3c,
     926"cpirb rbd,@rs,rr,cc",8,11,0x3c,
    1084927#endif
    1085928"cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1086         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,82},
    1087 
     929        {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,26},
    1088930
    1089931/* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
    1090932{
    1091933#ifdef NICENAMES
    1092 "cpl rrd,@rs",32,14,
    1093 0x3c,
     934"cpl rrd,@rs",32,14,0x3c,
    1094935#endif
    1095936"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    1096         {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
    1097 
     937        {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,27},
    1098938
    1099939/* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
    1100940{
    1101941#ifdef NICENAMES
    1102 "cpl rrd,address_src",32,15,
    1103 0x3c,
     942"cpl rrd,address_src",32,15,0x3c,
    1104943#endif
    1105944"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1106         {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
    1107 
     945        {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,27},
    1108946
    1109947/* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
    1110948{
    1111949#ifdef NICENAMES
    1112 "cpl rrd,address_src(rs)",32,16,
    1113 0x3c,
     950"cpl rrd,address_src(rs)",32,16,0x3c,
    1114951#endif
    1115952"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
    1116         {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
    1117 
     953        {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,27},
    1118954
    1119955/* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
    1120956{
    1121957#ifdef NICENAMES
    1122 "cpl rrd,imm32",32,14,
    1123 0x3c,
     958"cpl rrd,imm32",32,14,0x3c,
    1124959#endif
    1125960"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
    1126         {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
    1127 
     961        {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,27},
    1128962
    1129963/* 1001 0000 ssss dddd *** cpl rrd,rrs */
    1130964{
    1131965#ifdef NICENAMES
    1132 "cpl rrd,rrs",32,8,
    1133 0x3c,
     966"cpl rrd,rrs",32,8,0x3c,
    1134967#endif
    1135968"cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    1136         {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
    1137 
     969        {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,27},
    1138970
    1139971/* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
    1140972{
    1141973#ifdef NICENAMES
    1142 "cpsd @rd,@rs,rr,cc",16,11,
    1143 0x3c,
     974"cpsd @rd,@rs,rr,cc",16,11,0x3c,
    1144975#endif
    1145976"cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1146         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,88},
    1147 
     977        {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,28},
    1148978
    1149979/* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
    1150980{
    1151981#ifdef NICENAMES
    1152 "cpsdb @rd,@rs,rr,cc",8,11,
    1153 0x3c,
     982"cpsdb @rd,@rs,rr,cc",8,11,0x3c,
    1154983#endif
    1155984"cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1156         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,89},
    1157 
     985        {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,29},
    1158986
    1159987/* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
    1160988{
    1161989#ifdef NICENAMES
    1162 "cpsdr @rd,@rs,rr,cc",16,11,
    1163 0x3c,
     990"cpsdr @rd,@rs,rr,cc",16,11,0x3c,
    1164991#endif
    1165992"cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1166         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,90},
    1167 
     993        {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,30},
    1168994
    1169995/* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
    1170996{
    1171997#ifdef NICENAMES
    1172 "cpsdrb @rd,@rs,rr,cc",8,11,
    1173 0x3c,
     998"cpsdrb @rd,@rs,rr,cc",8,11,0x3c,
    1174999#endif
    11751000"cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1176         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,91},
    1177 
     1001        {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,31},
    11781002
    11791003/* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
    11801004{
    11811005#ifdef NICENAMES
    1182 "cpsi @rd,@rs,rr,cc",16,11,
    1183 0x3c,
     1006"cpsi @rd,@rs,rr,cc",16,11,0x3c,
    11841007#endif
    11851008"cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1186         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,92},
    1187 
     1009        {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,32},
    11881010
    11891011/* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
    11901012{
    11911013#ifdef NICENAMES
    1192 "cpsib @rd,@rs,rr,cc",8,11,
    1193 0x3c,
     1014"cpsib @rd,@rs,rr,cc",8,11,0x3c,
    11941015#endif
    11951016"cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1196         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,93},
    1197 
     1017        {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,33},
    11981018
    11991019/* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
    12001020{
    12011021#ifdef NICENAMES
    1202 "cpsir @rd,@rs,rr,cc",16,11,
    1203 0x3c,
     1022"cpsir @rd,@rs,rr,cc",16,11,0x3c,
    12041023#endif
    12051024"cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1206         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,94},
    1207 
     1025        {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,34},
    12081026
    12091027/* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
    12101028{
    12111029#ifdef NICENAMES
    1212 "cpsirb @rd,@rs,rr,cc",8,11,
    1213 0x3c,
     1030"cpsirb @rd,@rs,rr,cc",8,11,0x3c,
    12141031#endif
    12151032"cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
    1216         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,95},
    1217 
     1033        {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,35},
    12181034
    12191035/* 1011 0000 dddd 0000 *** dab rbd */
    12201036{
    12211037#ifdef NICENAMES
    1222 "dab rbd",8,5,
    1223 0x38,
     1038"dab rbd",8,5,0x38,
    12241039#endif
    12251040"dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
    1226         {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
    1227 
     1041        {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,36},
    12281042
    12291043/* 1111 dddd 0disp7 *** dbjnz rbd,disp7 */
    12301044{
    12311045#ifdef NICENAMES
    1232 "dbjnz rbd,disp7",16,11,
    1233 0x00,
     1046"dbjnz rbd,disp7",16,11,0x00,
    12341047#endif
    12351048"dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
    1236         {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,97},
    1237 
     1049        {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,37},
    12381050
    12391051/* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
    12401052{
    12411053#ifdef NICENAMES
    1242 "dec @rd,imm4m1",16,11,
    1243 0x1c,
     1054"dec @rd,imm4m1",16,11,0x1c,
    12441055#endif
    12451056"dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1246         {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
    1247 
     1057        {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,38},
    12481058
    12491059/* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
    12501060{
    12511061#ifdef NICENAMES
    1252 "dec address_dst(rd),imm4m1",16,14,
    1253 0x1c,
     1062"dec address_dst(rd),imm4m1",16,14,0x1c,
    12541063#endif
    12551064"dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1256         {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
    1257 
     1065        {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,38},
    12581066
    12591067/* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
    12601068{
    12611069#ifdef NICENAMES
    1262 "dec address_dst,imm4m1",16,13,
    1263 0x1c,
     1070"dec address_dst,imm4m1",16,13,0x1c,
    12641071#endif
    12651072"dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
    1266         {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
    1267 
     1073        {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,38},
    12681074
    12691075/* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
    12701076{
    12711077#ifdef NICENAMES
    1272 "dec rd,imm4m1",16,4,
    1273 0x1c,
     1078"dec rd,imm4m1",16,4,0x1c,
    12741079#endif
    12751080"dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1276         {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
    1277 
     1081        {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,38},
    12781082
    12791083/* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
    12801084{
    12811085#ifdef NICENAMES
    1282 "decb @rd,imm4m1",8,11,
    1283 0x1c,
     1086"decb @rd,imm4m1",8,11,0x1c,
    12841087#endif
    12851088"decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1286         {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
    1287 
     1089        {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
    12881090
    12891091/* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
    12901092{
    12911093#ifdef NICENAMES
    1292 "decb address_dst(rd),imm4m1",8,14,
    1293 0x1c,
     1094"decb address_dst(rd),imm4m1",8,14,0x1c,
    12941095#endif
    12951096"decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1296         {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
    1297 
     1097        {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
    12981098
    12991099/* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
    13001100{
    13011101#ifdef NICENAMES
    1302 "decb address_dst,imm4m1",8,13,
    1303 0x1c,
     1102"decb address_dst,imm4m1",8,13,0x1c,
    13041103#endif
    13051104"decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
    1306         {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
    1307 
     1105        {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,39},
    13081106
    13091107/* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
    13101108{
    13111109#ifdef NICENAMES
    1312 "decb rbd,imm4m1",8,4,
    1313 0x1c,
     1110"decb rbd,imm4m1",8,4,0x1c,
    13141111#endif
    13151112"decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1316         {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
    1317 
     1113        {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,39},
    13181114
    13191115/* 0111 1100 0000 00ii *** di i2 */
    13201116{
    13211117#ifdef NICENAMES
    1322 "di i2",16,7,
    1323 0x00,
     1118"di i2",16,7,0x00,
    13241119#endif
    13251120"di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
    1326         {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
    1327 
     1121        {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,40},
    13281122
    13291123/* 0001 1011 ssN0 dddd *** div rrd,@rs */
    13301124{
    13311125#ifdef NICENAMES
    1332 "div rrd,@rs",16,107,
    1333 0x3c,
     1126"div rrd,@rs",16,107,0x3c,
    13341127#endif
    13351128"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    1336         {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
    1337 
     1129        {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,41},
    13381130
    13391131/* 0101 1011 0000 dddd address_src *** div rrd,address_src */
    13401132{
    13411133#ifdef NICENAMES
    1342 "div rrd,address_src",16,107,
    1343 0x3c,
     1134"div rrd,address_src",16,107,0x3c,
    13441135#endif
    13451136"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1346         {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
    1347 
     1137        {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,41},
    13481138
    13491139/* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
    13501140{
    13511141#ifdef NICENAMES
    1352 "div rrd,address_src(rs)",16,107,
    1353 0x3c,
     1142"div rrd,address_src(rs)",16,107,0x3c,
    13541143#endif
    13551144"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
    1356         {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
    1357 
     1145        {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,41},
    13581146
    13591147/* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
    13601148{
    13611149#ifdef NICENAMES
    1362 "div rrd,imm16",16,107,
    1363 0x3c,
     1150"div rrd,imm16",16,107,0x3c,
    13641151#endif
    13651152"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    1366         {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
    1367 
     1153        {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,41},
    13681154
    13691155/* 1001 1011 ssss dddd *** div rrd,rs */
    13701156{
    13711157#ifdef NICENAMES
    1372 "div rrd,rs",16,107,
    1373 0x3c,
     1158"div rrd,rs",16,107,0x3c,
    13741159#endif
    13751160"div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1376         {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
    1377 
     1161        {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,41},
    13781162
    13791163/* 0001 1010 ssN0 dddd *** divl rqd,@rs */
    13801164{
    13811165#ifdef NICENAMES
    1382 "divl rqd,@rs",32,744,
    1383 0x3c,
     1166"divl rqd,@rs",32,744,0x3c,
    13841167#endif
    13851168"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
    1386         {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
    1387 
     1169        {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
    13881170
    13891171/* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
    13901172{
    13911173#ifdef NICENAMES
    1392 "divl rqd,address_src",32,745,
    1393 0x3c,
     1174"divl rqd,address_src",32,745,0x3c,
    13941175#endif
    13951176"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1396         {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
    1397 
     1177        {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
    13981178
    13991179/* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
    14001180{
    14011181#ifdef NICENAMES
    1402 "divl rqd,address_src(rs)",32,746,
    1403 0x3c,
     1182"divl rqd,address_src(rs)",32,746,0x3c,
    14041183#endif
    14051184"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
    1406         {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
    1407 
     1185        {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,42},
    14081186
    14091187/* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
    14101188{
    14111189#ifdef NICENAMES
    1412 "divl rqd,imm32",32,744,
    1413 0x3c,
     1190"divl rqd,imm32",32,744,0x3c,
    14141191#endif
    14151192"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
    1416         {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
    1417 
     1193        {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,42},
    14181194
    14191195/* 1001 1010 ssss dddd *** divl rqd,rrs */
    14201196{
    14211197#ifdef NICENAMES
    1422 "divl rqd,rrs",32,744,
    1423 0x3c,
     1198"divl rqd,rrs",32,744,0x3c,
    14241199#endif
    14251200"divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    1426         {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
    1427 
     1201        {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,42},
    14281202
    14291203/* 1111 dddd 1disp7 *** djnz rd,disp7 */
    14301204{
    14311205#ifdef NICENAMES
    1432 "djnz rd,disp7",16,11,
    1433 0x00,
     1206"djnz rd,disp7",16,11,0x00,
    14341207#endif
    14351208"djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
    1436         {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,117},
    1437 
     1209        {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,43},
    14381210
    14391211/* 0111 1100 0000 01ii *** ei i2 */
    14401212{
    14411213#ifdef NICENAMES
    1442 "ei i2",16,7,
    1443 0x00,
     1214"ei i2",16,7,0x00,
    14441215#endif
    14451216"ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
    1446         {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
    1447 
     1217        {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,44},
    14481218
    14491219/* 0010 1101 ssN0 dddd *** ex rd,@rs */
    14501220{
    14511221#ifdef NICENAMES
    1452 "ex rd,@rs",16,12,
    1453 0x00,
     1222"ex rd,@rs",16,12,0x00,
    14541223#endif
    14551224"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    1456         {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
    1457 
     1225        {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,45},
    14581226
    14591227/* 0110 1101 0000 dddd address_src *** ex rd,address_src */
    14601228{
    14611229#ifdef NICENAMES
    1462 "ex rd,address_src",16,15,
    1463 0x00,
     1230"ex rd,address_src",16,15,0x00,
    14641231#endif
    14651232"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1466         {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
    1467 
     1233        {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,45},
    14681234
    14691235/* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
    14701236{
    14711237#ifdef NICENAMES
    1472 "ex rd,address_src(rs)",16,16,
    1473 0x00,
     1238"ex rd,address_src(rs)",16,16,0x00,
    14741239#endif
    14751240"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    1476         {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
    1477 
     1241        {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,45},
    14781242
    14791243/* 1010 1101 ssss dddd *** ex rd,rs */
    14801244{
    14811245#ifdef NICENAMES
    1482 "ex rd,rs",16,6,
    1483 0x00,
     1246"ex rd,rs",16,6,0x00,
    14841247#endif
    14851248"ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1486         {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
    1487 
     1249        {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,45},
    14881250
    14891251/* 0010 1100 ssN0 dddd *** exb rbd,@rs */
    14901252{
    14911253#ifdef NICENAMES
    1492 "exb rbd,@rs",8,12,
    1493 0x00,
     1254"exb rbd,@rs",8,12,0x00,
    14941255#endif
    14951256"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    1496         {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
    1497 
     1257        {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
    14981258
    14991259/* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
    15001260{
    15011261#ifdef NICENAMES
    1502 "exb rbd,address_src",8,15,
    1503 0x00,
     1262"exb rbd,address_src",8,15,0x00,
    15041263#endif
    15051264"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1506         {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
    1507 
     1265        {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
    15081266
    15091267/* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
    15101268{
    15111269#ifdef NICENAMES
    1512 "exb rbd,address_src(rs)",8,16,
    1513 0x00,
     1270"exb rbd,address_src(rs)",8,16,0x00,
    15141271#endif
    15151272"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    1516         {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
    1517 
     1273        {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,46},
    15181274
    15191275/* 1010 1100 ssss dddd *** exb rbd,rbs */
    15201276{
    15211277#ifdef NICENAMES
    1522 "exb rbd,rbs",8,6,
    1523 0x00,
     1278"exb rbd,rbs",8,6,0x00,
    15241279#endif
    15251280"exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    1526         {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
    1527 
     1281        {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,46},
    15281282
    15291283/* 0000 1110 imm8 *** ext0e imm8 */
    15301284{
    15311285#ifdef NICENAMES
    1532 "ext0e imm8",8,10,
    1533 0x00,
     1286"ext0e imm8",8,10,0x00,
    15341287#endif
    15351288"ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
    1536         {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
    1537 
     1289        {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,47},
    15381290
    15391291/* 0000 1111 imm8 *** ext0f imm8 */
    15401292{
    15411293#ifdef NICENAMES
    1542 "ext0f imm8",8,10,
    1543 0x00,
     1294"ext0f imm8",8,10,0x00,
    15441295#endif
    15451296"ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
    1546         {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
    1547 
     1297        {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,48},
    15481298
    15491299/* 1000 1110 imm8 *** ext8e imm8 */
    15501300{
    15511301#ifdef NICENAMES
    1552 "ext8e imm8",8,10,
    1553 0x00,
     1302"ext8e imm8",8,10,0x00,
    15541303#endif
    15551304"ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
    1556         {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
    1557 
     1305        {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,49},
    15581306
    15591307/* 1000 1111 imm8 *** ext8f imm8 */
    15601308{
    15611309#ifdef NICENAMES
    1562 "ext8f imm8",8,10,
    1563 0x00,
     1310"ext8f imm8",8,10,0x00,
    15641311#endif
    15651312"ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
    1566         {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
    1567 
     1313        {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,50},
    15681314
    15691315/* 1011 0001 dddd 1010 *** exts rrd */
    15701316{
    15711317#ifdef NICENAMES
    1572 "exts rrd",16,11,
    1573 0x00,
     1318"exts rrd",16,11,0x00,
    15741319#endif
    15751320"exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
    1576         {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
    1577 
     1321        {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,51},
    15781322
    15791323/* 1011 0001 dddd 0000 *** extsb rd */
    15801324{
    15811325#ifdef NICENAMES
    1582 "extsb rd",8,11,
    1583 0x00,
     1326"extsb rd",8,11,0x00,
    15841327#endif
    15851328"extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
    1586         {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
    1587 
     1329        {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,52},
    15881330
    15891331/* 1011 0001 dddd 0111 *** extsl rqd */
    15901332{
    15911333#ifdef NICENAMES
    1592 "extsl rqd",32,11,
    1593 0x00,
     1334"extsl rqd",32,11,0x00,
    15941335#endif
    15951336"extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
    1596         {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
    1597 
     1337        {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,53},
    15981338
    15991339/* 0111 1010 0000 0000 *** halt */
    16001340{
    16011341#ifdef NICENAMES
    1602 "halt",16,8,
    1603 0x00,
     1342"halt",16,8,0x00,
    16041343#endif
    16051344"halt",OPC_halt,0,{0},
    1606         {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
    1607 
     1345        {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,54},
    16081346
    16091347/* 0011 1101 ssN0 dddd *** in rd,@rs */
    16101348{
    16111349#ifdef NICENAMES
    1612 "in rd,@rs",16,10,
    1613 0x00,
     1350"in rd,@rs",16,10,0x00,
    16141351#endif
    16151352"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    1616         {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
    1617 
    1618 
    1619 /* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
    1620 {
    1621 #ifdef NICENAMES
    1622 "in rd,imm16",16,12,
    1623 0x00,
     1353        {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,55},
     1354
     1355/* 0011 1011 dddd 0100 imm16 *** in rd,imm16 */
     1356{
     1357#ifdef NICENAMES
     1358"in rd,imm16",16,12,0x00,
    16241359#endif
    16251360"in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    1626         {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
    1627 
     1361        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,55},
    16281362
    16291363/* 0011 1100 ssN0 dddd *** inb rbd,@rs */
    16301364{
    16311365#ifdef NICENAMES
    1632 "inb rbd,@rs",8,12,
    1633 0x00,
     1366"inb rbd,@rs",8,12,0x00,
    16341367#endif
    16351368"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    1636         {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
    1637 
     1369        {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,56},
    16381370
    16391371/* 0011 1010 dddd 0100 imm16 *** inb rbd,imm16 */
    16401372{
    16411373#ifdef NICENAMES
    1642 "inb rbd,imm16",8,10,
    1643 0x00,
     1374"inb rbd,imm16",8,10,0x00,
    16441375#endif
    16451376"inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    1646         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
    1647 
     1377        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,56},
    16481378
    16491379/* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
    16501380{
    16511381#ifdef NICENAMES
    1652 "inc @rd,imm4m1",16,11,
    1653 0x1c,
     1382"inc @rd,imm4m1",16,11,0x1c,
    16541383#endif
    16551384"inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1656         {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
    1657 
     1385        {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,57},
    16581386
    16591387/* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
    16601388{
    16611389#ifdef NICENAMES
    1662 "inc address_dst(rd),imm4m1",16,14,
    1663 0x1c,
     1390"inc address_dst(rd),imm4m1",16,14,0x1c,
    16641391#endif
    16651392"inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1666         {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
    1667 
     1393        {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,57},
    16681394
    16691395/* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
    16701396{
    16711397#ifdef NICENAMES
    1672 "inc address_dst,imm4m1",16,13,
    1673 0x1c,
     1398"inc address_dst,imm4m1",16,13,0x1c,
    16741399#endif
    16751400"inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
    1676         {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
    1677 
     1401        {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,57},
    16781402
    16791403/* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
    16801404{
    16811405#ifdef NICENAMES
    1682 "inc rd,imm4m1",16,4,
    1683 0x1c,
     1406"inc rd,imm4m1",16,4,0x1c,
    16841407#endif
    16851408"inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1686         {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
    1687 
     1409        {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,57},
    16881410
    16891411/* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
    16901412{
    16911413#ifdef NICENAMES
    1692 "incb @rd,imm4m1",8,11,
    1693 0x1c,
     1414"incb @rd,imm4m1",8,11,0x1c,
    16941415#endif
    16951416"incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1696         {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
    1697 
     1417        {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
    16981418
    16991419/* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
    17001420{
    17011421#ifdef NICENAMES
    1702 "incb address_dst(rd),imm4m1",8,14,
    1703 0x1c,
     1422"incb address_dst(rd),imm4m1",8,14,0x1c,
    17041423#endif
    17051424"incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1706         {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
    1707 
     1425        {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
    17081426
    17091427/* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
    17101428{
    17111429#ifdef NICENAMES
    1712 "incb address_dst,imm4m1",8,13,
    1713 0x1c,
     1430"incb address_dst,imm4m1",8,13,0x1c,
    17141431#endif
    17151432"incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
    1716         {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
    1717 
     1433        {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,58},
    17181434
    17191435/* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
    17201436{
    17211437#ifdef NICENAMES
    1722 "incb rbd,imm4m1",8,4,
    1723 0x1c,
     1438"incb rbd,imm4m1",8,4,0x1c,
    17241439#endif
    17251440"incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
    1726         {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
    1727 
     1441        {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,58},
    17281442
    17291443/* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
    17301444{
    17311445#ifdef NICENAMES
    1732 "ind @rd,@rs,ra",16,21,
    1733 0x04,
     1446"ind @rd,@rs,ra",16,21,0x04,
    17341447#endif
    17351448"ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    1736         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
    1737 
     1449        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,59},
    17381450
    17391451/* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
    17401452{
    17411453#ifdef NICENAMES
    1742 "indb @rd,@rs,rba",8,21,
    1743 0x04,
     1454"indb @rd,@rs,rba",8,21,0x04,
    17441455#endif
    17451456"indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
    1746         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
    1747 
     1457        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,60},
    17481458
    17491459/* 0011 1010 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
    17501460{
    17511461#ifdef NICENAMES
    1752 "inib @rd,@rs,ra",8,21,
    1753 0x04,
     1462"inib @rd,@rs,ra",8,21,0x04,
    17541463#endif
    17551464"inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    1756         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
    1757 
     1465        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,61},
    17581466
    17591467/* 0011 1010 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
    17601468{
    17611469#ifdef NICENAMES
    1762 "inibr @rd,@rs,ra",16,21,
    1763 0x04,
     1470"inibr @rd,@rs,ra",16,21,0x04,
    17641471#endif
    17651472"inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    1766         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
    1767 
     1473        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,62},
    17681474
    17691475/* 0111 1011 0000 0000 *** iret */
    17701476{
    17711477#ifdef NICENAMES
    1772 "iret",16,13,
    1773 0x3f,
     1478"iret",16,13,0x3f,
    17741479#endif
    17751480"iret",OPC_iret,0,{0},
    1776         {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
    1777 
     1481        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,63},
    17781482
    17791483/* 0001 1110 ddN0 cccc *** jp cc,@rd */
    17801484{
    17811485#ifdef NICENAMES
    1782 "jp cc,@rd",16,10,
    1783 0x00,
     1486"jp cc,@rd",16,10,0x00,
    17841487#endif
    17851488"jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
    1786         {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
    1787 
     1489        {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,64},
    17881490
    17891491/* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
    17901492{
    17911493#ifdef NICENAMES
    1792 "jp cc,address_dst",16,7,
    1793 0x00,
     1494"jp cc,address_dst",16,7,0x00,
    17941495#endif
    17951496"jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
    1796         {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
    1797 
     1497        {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,64},
    17981498
    17991499/* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
    18001500{
    18011501#ifdef NICENAMES
    1802 "jp cc,address_dst(rd)",16,8,
    1803 0x00,
     1502"jp cc,address_dst(rd)",16,8,0x00,
    18041503#endif
    18051504"jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
    1806         {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
    1807 
     1505        {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,64},
    18081506
    18091507/* 1110 cccc disp8 *** jr cc,disp8 */
    18101508{
    18111509#ifdef NICENAMES
    1812 "jr cc,disp8",16,6,
    1813 0x00,
     1510"jr cc,disp8",16,6,0x00,
    18141511#endif
    18151512"jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
    1816         {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
    1817 
     1513        {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,65},
    18181514
    18191515/* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
    18201516{
    18211517#ifdef NICENAMES
    1822 "ld @rd,imm16",16,7,
    1823 0x00,
     1518"ld @rd,imm16",16,7,0x00,
    18241519#endif
    18251520"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    1826         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
    1827 
     1521        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,66},
    18281522
    18291523/* 0010 1111 ddN0 ssss *** ld @rd,rs */
    18301524{
    18311525#ifdef NICENAMES
    1832 "ld @rd,rs",16,8,
    1833 0x00,
     1526"ld @rd,rs",16,8,0x00,
    18341527#endif
    18351528"ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1836         {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
    1837 
     1529        {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,66},
    18381530
    18391531/* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
    18401532{
    18411533#ifdef NICENAMES
    1842 "ld address_dst(rd),imm16",16,15,
    1843 0x00,
     1534"ld address_dst(rd),imm16",16,15,0x00,
    18441535#endif
    18451536"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    1846         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,158},
    1847 
     1537        {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,66},
    18481538
    18491539/* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
    18501540{
    18511541#ifdef NICENAMES
    1852 "ld address_dst(rd),rs",16,12,
    1853 0x00,
     1542"ld address_dst(rd),rs",16,12,0x00,
    18541543#endif
    18551544"ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1856         {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
    1857 
     1545        {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,66},
    18581546
    18591547/* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
    18601548{
    18611549#ifdef NICENAMES
    1862 "ld address_dst,imm16",16,14,
    1863 0x00,
     1550"ld address_dst,imm16",16,14,0x00,
    18641551#endif
    18651552"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
    1866         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,160},
    1867 
     1553        {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,66},
    18681554
    18691555/* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
    18701556{
    18711557#ifdef NICENAMES
    1872 "ld address_dst,rs",16,11,
    1873 0x00,
     1558"ld address_dst,rs",16,11,0x00,
    18741559#endif
    18751560"ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
    1876         {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
    1877 
     1561        {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,66},
    18781562
    18791563/* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
    18801564{
    18811565#ifdef NICENAMES
    1882 "ld rd(imm16),rs",16,14,
    1883 0x00,
     1566"ld rd(imm16),rs",16,14,0x00,
    18841567#endif
    18851568"ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1886         {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
    1887 
     1569        {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,66},
    18881570
    18891571/* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
    18901572{
    18911573#ifdef NICENAMES
    1892 "ld rd(rx),rs",16,14,
    1893 0x00,
     1574"ld rd(rx),rs",16,14,0x00,
    18941575#endif
    18951576"ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1896         {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,163},
    1897 
     1577        {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,66},
    18981578
    18991579/* 0010 0001 ssN0 dddd *** ld rd,@rs */
    19001580{
    19011581#ifdef NICENAMES
    1902 "ld rd,@rs",16,7,
    1903 0x00,
     1582"ld rd,@rs",16,7,0x00,
    19041583#endif
    19051584"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    1906         {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
    1907 
     1585        {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
    19081586
    19091587/* 0110 0001 0000 dddd address_src *** ld rd,address_src */
    19101588{
    19111589#ifdef NICENAMES
    1912 "ld rd,address_src",16,9,
    1913 0x00,
     1590"ld rd,address_src",16,9,0x00,
    19141591#endif
    19151592"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1916         {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
    1917 
     1593        {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,66},
    19181594
    19191595/* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
    19201596{
    19211597#ifdef NICENAMES
    1922 "ld rd,address_src(rs)",16,10,
    1923 0x00,
     1598"ld rd,address_src(rs)",16,10,0x00,
    19241599#endif
    19251600"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    1926         {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
    1927 
     1601        {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,66},
    19281602
    19291603/* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
    19301604{
    19311605#ifdef NICENAMES
    1932 "ld rd,imm16",16,7,
    1933 0x00,
     1606"ld rd,imm16",16,7,0x00,
    19341607#endif
    19351608"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    1936         {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
    1937 
     1609        {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,66},
    19381610
    19391611/* 1010 0001 ssss dddd *** ld rd,rs */
    19401612{
    19411613#ifdef NICENAMES
    1942 "ld rd,rs",16,3,
    1943 0x00,
     1614"ld rd,rs",16,3,0x00,
    19441615#endif
    19451616"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    1946         {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
    1947 
     1617        {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
    19481618
    19491619/* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
    19501620{
    19511621#ifdef NICENAMES
    1952 "ld rd,rs(imm16)",16,14,
    1953 0x00,
     1622"ld rd,rs(imm16)",16,14,0x00,
    19541623#endif
    19551624"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
    1956         {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
    1957 
     1625        {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,66},
    19581626
    19591627/* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
    19601628{
    19611629#ifdef NICENAMES
    1962 "ld rd,rs(rx)",16,14,
    1963 0x00,
     1630"ld rd,rs(rx)",16,14,0x00,
    19641631#endif
    19651632"ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
    1966         {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,170},
    1967 
     1633        {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,66},
    19681634
    19691635/* 0111 0110 0000 dddd address_src *** lda prd,address_src */
    19701636{
    19711637#ifdef NICENAMES
    1972 "lda prd,address_src",16,12,
    1973 0x00,
     1638"lda prd,address_src",16,12,0x00,
    19741639#endif
    19751640"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
    1976         {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
    1977 
     1641        {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,67},
    19781642
    19791643/* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
    19801644{
    19811645#ifdef NICENAMES
    1982 "lda prd,address_src(rs)",16,13,
    1983 0x00,
     1646"lda prd,address_src(rs)",16,13,0x00,
    19841647#endif
    19851648"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
    1986         {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
    1987 
     1649        {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,67},
    19881650
    19891651/* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
    19901652{
    19911653#ifdef NICENAMES
    1992 "lda prd,rs(imm16)",16,15,
    1993 0x00,
     1654"lda prd,rs(imm16)",16,15,0x00,
    19941655#endif
    19951656"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
    1996         {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
    1997 
     1657        {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,67},
    19981658
    19991659/* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
    20001660{
    20011661#ifdef NICENAMES
    2002 "lda prd,rs(rx)",16,15,
    2003 0x00,
     1662"lda prd,rs(rx)",16,15,0x00,
    20041663#endif
    20051664"lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
    2006         {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,174},
    2007 
     1665        {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,67},
    20081666
    20091667/* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
    20101668{
    20111669#ifdef NICENAMES
    2012 "ldar prd,disp16",16,15,
    2013 0x00,
     1670"ldar prd,disp16",16,15,0x00,
    20141671#endif
    20151672"ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
    2016         {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
    2017 
     1673        {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,68},
    20181674
    20191675/* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
    20201676{
    20211677#ifdef NICENAMES
    2022 "ldb @rd,imm8",8,7,
    2023 0x00,
     1678"ldb @rd,imm8",8,7,0x00,
    20241679#endif
    20251680"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    2026         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,176},
    2027 
     1681        {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,69},
    20281682
    20291683/* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
    20301684{
    20311685#ifdef NICENAMES
    2032 "ldb @rd,rbs",8,8,
    2033 0x00,
     1686"ldb @rd,rbs",8,8,0x00,
    20341687#endif
    20351688"ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2036         {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
    2037 
     1689        {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,69},
    20381690
    20391691/* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
    20401692{
    20411693#ifdef NICENAMES
    2042 "ldb address_dst(rd),imm8",8,15,
    2043 0x00,
     1694"ldb address_dst(rd),imm8",8,15,0x00,
    20441695#endif
    20451696"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    2046         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,178},
    2047 
     1697        {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,69},
    20481698
    20491699/* 0110 1110 ddN0 ssss address_dst *** ldb address_dst(rd),rbs */
    20501700{
    20511701#ifdef NICENAMES
    2052 "ldb address_dst(rd),rbs",8,12,
    2053 0x00,
     1702"ldb address_dst(rd),rbs",8,12,0x00,
    20541703#endif
    20551704"ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2056         {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
    2057 
     1705        {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
    20581706
    20591707/* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
    20601708{
    20611709#ifdef NICENAMES
    2062 "ldb address_dst,imm8",8,14,
    2063 0x00,
     1710"ldb address_dst,imm8",8,14,0x00,
    20641711#endif
    20651712"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
    2066         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,180},
    2067 
     1713        {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,69},
    20681714
    20691715/* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
    20701716{
    20711717#ifdef NICENAMES
    2072 "ldb address_dst,rbs",8,11,
    2073 0x00,
     1718"ldb address_dst,rbs",8,11,0x00,
    20741719#endif
    20751720"ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
    2076         {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
    2077 
     1721        {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,69},
    20781722
    20791723/* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
    20801724{
    20811725#ifdef NICENAMES
    2082 "ldb rbd,@rs",8,7,
    2083 0x00,
     1726"ldb rbd,@rs",8,7,0x00,
    20841727#endif
    20851728"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    2086         {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
    2087 
     1729        {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,69},
    20881730
    20891731/* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
    20901732{
    20911733#ifdef NICENAMES
    2092 "ldb rbd,address_src",8,9,
    2093 0x00,
     1734"ldb rbd,address_src",8,9,0x00,
    20941735#endif
    20951736"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    2096         {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
    2097 
     1737        {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,69},
    20981738
    20991739/* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
    21001740{
    21011741#ifdef NICENAMES
    2102 "ldb rbd,address_src(rs)",8,10,
    2103 0x00,
     1742"ldb rbd,address_src(rs)",8,10,0x00,
    21041743#endif
    21051744"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    2106         {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
    2107 
     1745        {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,69},
    21081746
    21091747/* 1100 dddd imm8 *** ldb rbd,imm8 */
    21101748{
    21111749#ifdef NICENAMES
    2112 "ldb rbd,imm8",8,5,
    2113 0x00,
     1750"ldb rbd,imm8",8,5,0x00,
    21141751#endif
    21151752"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    2116         {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
    2117 
     1753        {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,69},
    21181754
    21191755/* 1010 0000 ssss dddd *** ldb rbd,rbs */
    21201756{
    21211757#ifdef NICENAMES
    2122 "ldb rbd,rbs",8,3,
    2123 0x00,
     1758"ldb rbd,rbs",8,3,0x00,
    21241759#endif
    21251760"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2126         {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
    2127 
     1761        {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,69},
    21281762
    21291763/* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
    21301764{
    21311765#ifdef NICENAMES
    2132 "ldb rbd,rs(imm16)",8,14,
    2133 0x00,
     1766"ldb rbd,rs(imm16)",8,14,0x00,
    21341767#endif
    21351768"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
    2136         {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
    2137 
     1769        {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,69},
    21381770
    21391771/* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
    21401772{
    21411773#ifdef NICENAMES
    2142 "ldb rbd,rs(rx)",8,14,
    2143 0x00,
     1774"ldb rbd,rs(rx)",8,14,0x00,
    21441775#endif
    21451776"ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
    2146         {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,188},
    2147 
     1777        {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,69},
    21481778
    21491779/* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
    21501780{
    21511781#ifdef NICENAMES
    2152 "ldb rd(imm16),rbs",8,14,
    2153 0x00,
     1782"ldb rd(imm16),rbs",8,14,0x00,
    21541783#endif
    21551784"ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2156         {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
    2157 
     1785        {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,69},
    21581786
    21591787/* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
    21601788{
    21611789#ifdef NICENAMES
    2162 "ldb rd(rx),rbs",8,14,
    2163 0x00,
     1790"ldb rd(rx),rbs",8,14,0x00,
    21641791#endif
    21651792"ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2166         {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,190},
    2167 
     1793        {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,69},
    21681794
    21691795/* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
    21701796{
    21711797#ifdef NICENAMES
    2172 "ldctl ctrl,rs",32,7,
    2173 0x00,
     1798"ldctl ctrl,rs",32,7,0x00,
    21741799#endif
    21751800"ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
    2176         {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
    2177 
     1801        {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,70},
    21781802
    21791803/* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
    21801804{
    21811805#ifdef NICENAMES
    2182 "ldctl rd,ctrl",32,7,
    2183 0x00,
     1806"ldctl rd,ctrl",32,7,0x00,
    21841807#endif
    21851808"ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
    2186         {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
    2187 
     1809        {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,70},
     1810
     1811/* 1000 1100 ssss 1001 *** ldctlb ctrl,rbs */
     1812{
     1813#ifdef NICENAMES
     1814"ldctlb ctrl,rbs",32,7,0x3f,
     1815#endif
     1816"ldctlb",OPC_ldctlb,0,{CLASS_CTRL,CLASS_REG_BYTE+(ARG_RS),},
     1817        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_BIT+9,0,0,0,0,0,},2,2,71},
     1818
     1819/* 1000 1100 dddd 0001 *** ldctlb rbd,ctrl */
     1820{
     1821#ifdef NICENAMES
     1822"ldctlb rbd,ctrl",32,7,0x00,
     1823#endif
     1824"ldctlb",OPC_ldctlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_CTRL,},
     1825        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+1,0,0,0,0,0,},2,2,71},
    21881826
    21891827/* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rd,@rs,rr */
    21901828{
    21911829#ifdef NICENAMES
    2192 "ldd @rd,@rs,rr",16,11,
    2193 0x04,
     1830"ldd @rd,@rs,rr",16,11,0x04,
    21941831#endif
    21951832"ldd",OPC_ldd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2196         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,193},
    2197 
     1833        {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,72},
    21981834
    21991835/* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rd,@rs,rr */
    22001836{
    22011837#ifdef NICENAMES
    2202 "lddb @rd,@rs,rr",8,11,
    2203 0x04,
     1838"lddb @rd,@rs,rr",8,11,0x04,
    22041839#endif
    22051840"lddb",OPC_lddb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2206         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,194},
    2207 
     1841        {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,73},
    22081842
    22091843/* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rd,@rs,rr */
    22101844{
    22111845#ifdef NICENAMES
    2212 "lddr @rd,@rs,rr",16,11,
    2213 0x04,
     1846"lddr @rd,@rs,rr",16,11,0x04,
    22141847#endif
    22151848"lddr",OPC_lddr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2216         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,195},
    2217 
     1849        {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,74},
    22181850
    22191851/* 1011 1010 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rd,@rs,rr */
    22201852{
    22211853#ifdef NICENAMES
    2222 "lddrb @rd,@rs,rr",8,11,
    2223 0x04,
     1854"lddrb @rd,@rs,rr",8,11,0x04,
    22241855#endif
    22251856"lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2226         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,196},
    2227 
     1857        {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,75},
    22281858
    22291859/* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
    22301860{
    22311861#ifdef NICENAMES
    2232 "ldi @rd,@rs,rr",16,11,
    2233 0x04,
     1862"ldi @rd,@rs,rr",16,11,0x04,
    22341863#endif
    22351864"ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2236         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,197},
    2237 
     1865        {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,76},
    22381866
    22391867/* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
    22401868{
    22411869#ifdef NICENAMES
    2242 "ldib @rd,@rs,rr",8,11,
    2243 0x04,
     1870"ldib @rd,@rs,rr",8,11,0x04,
    22441871#endif
    22451872"ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2246         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,198},
    2247 
     1873        {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,77},
    22481874
    22491875/* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
    22501876{
    22511877#ifdef NICENAMES
    2252 "ldir @rd,@rs,rr",16,11,
    2253 0x04,
     1878"ldir @rd,@rs,rr",16,11,0x04,
    22541879#endif
    22551880"ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2256         {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,199},
    2257 
     1881        {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,78},
    22581882
    22591883/* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
    22601884{
    22611885#ifdef NICENAMES
    2262 "ldirb @rd,@rs,rr",8,11,
    2263 0x04,
     1886"ldirb @rd,@rs,rr",8,11,0x04,
    22641887#endif
    22651888"ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
    2266         {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,200},
    2267 
     1889        {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,79},
    22681890
    22691891/* 1011 1101 dddd imm4 *** ldk rd,imm4 */
    22701892{
    22711893#ifdef NICENAMES
    2272 "ldk rd,imm4",16,5,
    2273 0x00,
     1894"ldk rd,imm4",16,5,0x00,
    22741895#endif
    22751896"ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    2276         {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,201},
    2277 
     1897        {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,80},
    22781898
    22791899/* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
    22801900{
    22811901#ifdef NICENAMES
    2282 "ldl @rd,rrs",32,11,
    2283 0x00,
     1902"ldl @rd,rrs",32,11,0x00,
    22841903#endif
    22851904"ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    2286         {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,202},
    2287 
     1905        {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,81},
    22881906
    22891907/* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
    22901908{
    22911909#ifdef NICENAMES
    2292 "ldl address_dst(rd),rrs",32,14,
    2293 0x00,
     1910"ldl address_dst(rd),rrs",32,14,0x00,
    22941911#endif
    22951912"ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    2296         {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,203},
    2297 
     1913        {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,81},
    22981914
    22991915/* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
    23001916{
    23011917#ifdef NICENAMES
    2302 "ldl address_dst,rrs",32,15,
    2303 0x00,
     1918"ldl address_dst,rrs",32,15,0x00,
    23041919#endif
    23051920"ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
    2306         {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,204},
    2307 
     1921        {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,81},
    23081922
    23091923/* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
    23101924{
    23111925#ifdef NICENAMES
    2312 "ldl rd(imm16),rrs",32,17,
    2313 0x00,
     1926"ldl rd(imm16),rrs",32,17,0x00,
    23141927#endif
    23151928"ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    2316         {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,205},
    2317 
     1929        {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,81},
    23181930
    23191931/* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
    23201932{
    23211933#ifdef NICENAMES
    2322 "ldl rd(rx),rrs",32,17,
    2323 0x00,
     1934"ldl rd(rx),rrs",32,17,0x00,
    23241935#endif
    23251936"ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    2326         {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,206},
    2327 
     1937        {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,81},
    23281938
    23291939/* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
    23301940{
    23311941#ifdef NICENAMES
    2332 "ldl rrd,@rs",32,11,
    2333 0x00,
     1942"ldl rrd,@rs",32,11,0x00,
    23341943#endif
    23351944"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    2336         {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,207},
    2337 
     1945        {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,81},
    23381946
    23391947/* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
    23401948{
    23411949#ifdef NICENAMES
    2342 "ldl rrd,address_src",32,12,
    2343 0x00,
     1950"ldl rrd,address_src",32,12,0x00,
    23441951#endif
    23451952"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
    2346         {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,208},
    2347 
     1953        {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,81},
    23481954
    23491955/* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
    23501956{
    23511957#ifdef NICENAMES
    2352 "ldl rrd,address_src(rs)",32,13,
    2353 0x00,
     1958"ldl rrd,address_src(rs)",32,13,0x00,
    23541959#endif
    23551960"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
    2356         {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,209},
    2357 
     1961        {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,81},
    23581962
    23591963/* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
    23601964{
    23611965#ifdef NICENAMES
    2362 "ldl rrd,imm32",32,11,
    2363 0x00,
     1966"ldl rrd,imm32",32,11,0x00,
    23641967#endif
    23651968"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
    2366         {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,210},
    2367 
     1969        {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,81},
    23681970
    23691971/* 1001 0100 ssss dddd *** ldl rrd,rrs */
    23701972{
    23711973#ifdef NICENAMES
    2372 "ldl rrd,rrs",32,5,
    2373 0x00,
     1974"ldl rrd,rrs",32,5,0x00,
    23741975#endif
    23751976"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    2376         {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,211},
    2377 
     1977        {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,81},
    23781978
    23791979/* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
    23801980{
    23811981#ifdef NICENAMES
    2382 "ldl rrd,rs(imm16)",32,17,
    2383 0x00,
     1982"ldl rrd,rs(imm16)",32,17,0x00,
    23841983#endif
    23851984"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
    2386         {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,212},
    2387 
     1985        {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,81},
    23881986
    23891987/* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
    23901988{
    23911989#ifdef NICENAMES
    2392 "ldl rrd,rs(rx)",32,17,
    2393 0x00,
     1990"ldl rrd,rs(rx)",32,17,0x00,
    23941991#endif
    23951992"ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
    2396         {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,213},
    2397 
    2398 
    2399 /* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
    2400 {
    2401 #ifdef NICENAMES
    2402 "ldm @rd,rs,n",16,11,
    2403 0x00,
    2404 #endif
    2405 "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
    2406         {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,214},
    2407 
    2408 
    2409 /* 0101 1100 ddN0 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
    2410 {
    2411 #ifdef NICENAMES
    2412 "ldm address_dst(rd),rs,n",16,15,
    2413 0x00,
    2414 #endif
    2415 "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
    2416         {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,215},
    2417 
    2418 
    2419 /* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
    2420 {
    2421 #ifdef NICENAMES
    2422 "ldm address_dst,rs,n",16,14,
    2423 0x00,
    2424 #endif
    2425 "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
    2426         {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,216},
    2427 
    2428 
    2429 /* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
    2430 {
    2431 #ifdef NICENAMES
    2432 "ldm rd,@rs,n",16,11,
    2433 0x00,
    2434 #endif
    2435 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
    2436         {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,217},
    2437 
    2438 
    2439 /* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
    2440 {
    2441 #ifdef NICENAMES
    2442 "ldm rd,address_src(rs),n",16,15,
    2443 0x00,
    2444 #endif
    2445 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
    2446         {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,218},
    2447 
    2448 
    2449 /* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
    2450 {
    2451 #ifdef NICENAMES
    2452 "ldm rd,address_src,n",16,14,
    2453 0x00,
    2454 #endif
    2455 "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
    2456         {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,219},
    2457 
     1993        {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,81},
     1994
     1995/* 0001 1100 ddN0 1001 0000 ssss 0000 imm4m1 *** ldm @rd,rs,n */
     1996{
     1997#ifdef NICENAMES
     1998"ldm @rd,rs,n",16,11,0x00,
     1999#endif
     2000"ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
     2001        {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,82},
     2002
     2003/* 0101 1100 ddN0 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst(rd),rs,n */
     2004{
     2005#ifdef NICENAMES
     2006"ldm address_dst(rd),rs,n",16,15,0x00,
     2007#endif
     2008"ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
     2009        {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,82},
     2010
     2011/* 0101 1100 0000 1001 0000 ssss 0000 imm4m1 address_dst *** ldm address_dst,rs,n */
     2012{
     2013#ifdef NICENAMES
     2014"ldm address_dst,rs,n",16,14,0x00,
     2015#endif
     2016"ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
     2017        {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,82},
     2018
     2019/* 0001 1100 ssN0 0001 0000 dddd 0000 imm4m1 *** ldm rd,@rs,n */
     2020{
     2021#ifdef NICENAMES
     2022"ldm rd,@rs,n",16,11,0x00,
     2023#endif
     2024"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
     2025        {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,82},
     2026
     2027/* 0101 1100 ssN0 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src(rs),n */
     2028{
     2029#ifdef NICENAMES
     2030"ldm rd,address_src(rs),n",16,15,0x00,
     2031#endif
     2032"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMM4M1),},
     2033        {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,82},
     2034
     2035/* 0101 1100 0000 0001 0000 dddd 0000 imm4m1 address_src *** ldm rd,address_src,n */
     2036{
     2037#ifdef NICENAMES
     2038"ldm rd,address_src,n",16,14,0x00,
     2039#endif
     2040"ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMM4M1),},
     2041        {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,82},
    24582042
    24592043/* 0011 1001 ssN0 0000 *** ldps @rs */
    24602044{
    24612045#ifdef NICENAMES
    2462 "ldps @rs",16,12,
    2463 0x3f,
     2046"ldps @rs",16,12,0x3f,
    24642047#endif
    24652048"ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
    2466         {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,220},
    2467 
     2049        {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,83},
    24682050
    24692051/* 0111 1001 0000 0000 address_src *** ldps address_src */
    24702052{
    24712053#ifdef NICENAMES
    2472 "ldps address_src",16,16,
    2473 0x3f,
     2054"ldps address_src",16,16,0x3f,
    24742055#endif
    24752056"ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
    2476         {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,221},
    2477 
     2057        {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,83},
    24782058
    24792059/* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
    24802060{
    24812061#ifdef NICENAMES
    2482 "ldps address_src(rs)",16,17,
    2483 0x3f,
     2062"ldps address_src(rs)",16,17,0x3f,
    24842063#endif
    24852064"ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
    2486         {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,222},
    2487 
     2065        {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,83},
    24882066
    24892067/* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
    24902068{
    24912069#ifdef NICENAMES
    2492 "ldr disp16,rs",16,14,
    2493 0x00,
     2070"ldr disp16,rs",16,14,0x00,
    24942071#endif
    24952072"ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
    2496         {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,223},
    2497 
     2073        {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,84},
    24982074
    24992075/* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
    25002076{
    25012077#ifdef NICENAMES
    2502 "ldr rd,disp16",16,14,
    2503 0x00,
     2078"ldr rd,disp16",16,14,0x00,
    25042079#endif
    25052080"ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
    2506         {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,224},
    2507 
     2081        {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,84},
    25082082
    25092083/* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
    25102084{
    25112085#ifdef NICENAMES
    2512 "ldrb disp16,rbs",8,14,
    2513 0x00,
     2086"ldrb disp16,rbs",8,14,0x00,
    25142087#endif
    25152088"ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
    2516         {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
    2517 
     2089        {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,85},
    25182090
    25192091/* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
    25202092{
    25212093#ifdef NICENAMES
    2522 "ldrb rbd,disp16",8,14,
    2523 0x00,
     2094"ldrb rbd,disp16",8,14,0x00,
    25242095#endif
    25252096"ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
    2526         {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
    2527 
     2097        {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,85},
    25282098
    25292099/* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
    25302100{
    25312101#ifdef NICENAMES
    2532 "ldrl disp16,rrs",32,17,
    2533 0x00,
     2102"ldrl disp16,rrs",32,17,0x00,
    25342103#endif
    25352104"ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
    2536         {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
    2537 
     2105        {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,86},
    25382106
    25392107/* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
    25402108{
    25412109#ifdef NICENAMES
    2542 "ldrl rrd,disp16",32,17,
    2543 0x00,
     2110"ldrl rrd,disp16",32,17,0x00,
    25442111#endif
    25452112"ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
    2546         {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
    2547 
     2113        {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,86},
    25482114
    25492115/* 0111 1011 0000 1010 *** mbit */
    25502116{
    25512117#ifdef NICENAMES
    2552 "mbit",16,7,
    2553 0x38,
     2118"mbit",16,7,0x38,
    25542119#endif
    25552120"mbit",OPC_mbit,0,{0},
    2556         {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,229},
    2557 
     2121        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,87},
    25582122
    25592123/* 0111 1011 dddd 1101 *** mreq rd */
    25602124{
    25612125#ifdef NICENAMES
    2562 "mreq rd",16,12,
    2563 0x18,
     2126"mreq rd",16,12,0x18,
    25642127#endif
    25652128"mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
    2566         {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,230},
    2567 
     2129        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,88},
    25682130
    25692131/* 0111 1011 0000 1001 *** mres */
    25702132{
    25712133#ifdef NICENAMES
    2572 "mres",16,5,
    2573 0x00,
     2134"mres",16,5,0x00,
    25742135#endif
    25752136"mres",OPC_mres,0,{0},
    2576         {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,231},
    2577 
     2137        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,89},
    25782138
    25792139/* 0111 1011 0000 1000 *** mset */
    25802140{
    25812141#ifdef NICENAMES
    2582 "mset",16,5,
    2583 0x00,
     2142"mset",16,5,0x00,
    25842143#endif
    25852144"mset",OPC_mset,0,{0},
    2586         {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,232},
    2587 
     2145        {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,90},
    25882146
    25892147/* 0001 1001 ssN0 dddd *** mult rrd,@rs */
    25902148{
    25912149#ifdef NICENAMES
    2592 "mult rrd,@rs",16,70,
    2593 0x3c,
     2150"mult rrd,@rs",16,70,0x3c,
    25942151#endif
    25952152"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    2596         {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,233},
    2597 
     2153        {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,91},
    25982154
    25992155/* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
    26002156{
    26012157#ifdef NICENAMES
    2602 "mult rrd,address_src",16,70,
    2603 0x3c,
     2158"mult rrd,address_src",16,70,0x3c,
    26042159#endif
    26052160"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
    2606         {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,234},
    2607 
     2161        {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,91},
    26082162
    26092163/* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
    26102164{
    26112165#ifdef NICENAMES
    2612 "mult rrd,address_src(rs)",16,70,
    2613 0x3c,
     2166"mult rrd,address_src(rs)",16,70,0x3c,
    26142167#endif
    26152168"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
    2616         {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,235},
    2617 
     2169        {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,91},
    26182170
    26192171/* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
    26202172{
    26212173#ifdef NICENAMES
    2622 "mult rrd,imm16",16,70,
    2623 0x3c,
     2174"mult rrd,imm16",16,70,0x3c,
    26242175#endif
    26252176"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    2626         {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,236},
    2627 
     2177        {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,91},
    26282178
    26292179/* 1001 1001 ssss dddd *** mult rrd,rs */
    26302180{
    26312181#ifdef NICENAMES
    2632 "mult rrd,rs",16,70,
    2633 0x3c,
     2182"mult rrd,rs",16,70,0x3c,
    26342183#endif
    26352184"mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    2636         {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,237},
    2637 
     2185        {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,91},
    26382186
    26392187/* 0001 1000 ssN0 dddd *** multl rqd,@rs */
    26402188{
    26412189#ifdef NICENAMES
    2642 "multl rqd,@rs",32,282,
    2643 0x3c,
     2190"multl rqd,@rs",32,282,0x3c,
    26442191#endif
    26452192"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
    2646         {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,238},
    2647 
     2193        {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,92},
    26482194
    26492195/* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
    26502196{
    26512197#ifdef NICENAMES
    2652 "multl rqd,address_src",32,282,
    2653 0x3c,
     2198"multl rqd,address_src",32,282,0x3c,
    26542199#endif
    26552200"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    2656         {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,239},
    2657 
     2201        {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,92},
    26582202
    26592203/* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
    26602204{
    26612205#ifdef NICENAMES
    2662 "multl rqd,address_src(rs)",32,282,
    2663 0x3c,
     2206"multl rqd,address_src(rs)",32,282,0x3c,
    26642207#endif
    26652208"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
    2666         {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,240},
    2667 
     2209        {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,92},
    26682210
    26692211/* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
    26702212{
    26712213#ifdef NICENAMES
    2672 "multl rqd,imm32",32,282,
    2673 0x3c,
     2214"multl rqd,imm32",32,282,0x3c,
    26742215#endif
    26752216"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
    2676         {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,241},
    2677 
     2217        {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,92},
    26782218
    26792219/* 1001 1000 ssss dddd *** multl rqd,rrs */
    26802220{
    26812221#ifdef NICENAMES
    2682 "multl rqd,rrs",32,282,
    2683 0x3c,
     2222"multl rqd,rrs",32,282,0x3c,
    26842223#endif
    26852224"multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    2686         {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,242},
    2687 
     2225        {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,92},
    26882226
    26892227/* 0000 1101 ddN0 0010 *** neg @rd */
    26902228{
    26912229#ifdef NICENAMES
    2692 "neg @rd",16,12,
    2693 0x3c,
     2230"neg @rd",16,12,0x3c,
    26942231#endif
    26952232"neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
    2696         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,243},
    2697 
     2233        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,93},
    26982234
    26992235/* 0100 1101 0000 0010 address_dst *** neg address_dst */
    27002236{
    27012237#ifdef NICENAMES
    2702 "neg address_dst",16,15,
    2703 0x3c,
     2238"neg address_dst",16,15,0x3c,
    27042239#endif
    27052240"neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
    2706         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,244},
    2707 
     2241        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,93},
    27082242
    27092243/* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
    27102244{
    27112245#ifdef NICENAMES
    2712 "neg address_dst(rd)",16,16,
    2713 0x3c,
     2246"neg address_dst(rd)",16,16,0x3c,
    27142247#endif
    27152248"neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
    2716         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,245},
    2717 
     2249        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,93},
    27182250
    27192251/* 1000 1101 dddd 0010 *** neg rd */
    27202252{
    27212253#ifdef NICENAMES
    2722 "neg rd",16,7,
    2723 0x3c,
     2254"neg rd",16,7,0x3c,
    27242255#endif
    27252256"neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
    2726         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,246},
    2727 
     2257        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,93},
    27282258
    27292259/* 0000 1100 ddN0 0010 *** negb @rd */
    27302260{
    27312261#ifdef NICENAMES
    2732 "negb @rd",8,12,
    2733 0x3c,
     2262"negb @rd",8,12,0x3c,
    27342263#endif
    27352264"negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
    2736         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,247},
    2737 
     2265        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,94},
    27382266
    27392267/* 0100 1100 0000 0010 address_dst *** negb address_dst */
    27402268{
    27412269#ifdef NICENAMES
    2742 "negb address_dst",8,15,
    2743 0x3c,
     2270"negb address_dst",8,15,0x3c,
    27442271#endif
    27452272"negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
    2746         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,248},
    2747 
     2273        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,94},
    27482274
    27492275/* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
    27502276{
    27512277#ifdef NICENAMES
    2752 "negb address_dst(rd)",8,16,
    2753 0x3c,
     2278"negb address_dst(rd)",8,16,0x3c,
    27542279#endif
    27552280"negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
    2756         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,249},
    2757 
     2281        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,94},
    27582282
    27592283/* 1000 1100 dddd 0010 *** negb rbd */
    27602284{
    27612285#ifdef NICENAMES
    2762 "negb rbd",8,7,
    2763 0x3c,
     2286"negb rbd",8,7,0x3c,
    27642287#endif
    27652288"negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
    2766         {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,250},
    2767 
     2289        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,94},
    27682290
    27692291/* 1000 1101 0000 0111 *** nop */
    27702292{
    27712293#ifdef NICENAMES
    2772 "nop",16,7,
    2773 0x00,
     2294"nop",16,7,0x00,
    27742295#endif
    27752296"nop",OPC_nop,0,{0},
    2776         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,251},
    2777 
     2297        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,95},
    27782298
    27792299/* 0000 0101 ssN0 dddd *** or rd,@rs */
    27802300{
    27812301#ifdef NICENAMES
    2782 "or rd,@rs",16,7,
    2783 0x38,
     2302"or rd,@rs",16,7,0x38,
    27842303#endif
    27852304"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    2786         {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,252},
    2787 
     2305        {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
    27882306
    27892307/* 0100 0101 0000 dddd address_src *** or rd,address_src */
    27902308{
    27912309#ifdef NICENAMES
    2792 "or rd,address_src",16,9,
    2793 0x38,
     2310"or rd,address_src",16,9,0x38,
    27942311#endif
    27952312"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    2796         {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,253},
    2797 
     2313        {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
    27982314
    27992315/* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
    28002316{
    28012317#ifdef NICENAMES
    2802 "or rd,address_src(rs)",16,10,
    2803 0x38,
     2318"or rd,address_src(rs)",16,10,0x38,
    28042319#endif
    28052320"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    2806         {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,254},
    2807 
     2321        {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,96},
    28082322
    28092323/* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
    28102324{
    28112325#ifdef NICENAMES
    2812 "or rd,imm16",16,7,
    2813 0x38,
     2326"or rd,imm16",16,7,0x38,
    28142327#endif
    28152328"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    2816         {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,255},
    2817 
     2329        {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,96},
    28182330
    28192331/* 1000 0101 ssss dddd *** or rd,rs */
    28202332{
    28212333#ifdef NICENAMES
    2822 "or rd,rs",16,4,
    2823 0x38,
     2334"or rd,rs",16,4,0x38,
    28242335#endif
    28252336"or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    2826         {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,256},
    2827 
     2337        {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,96},
    28282338
    28292339/* 0000 0100 ssN0 dddd *** orb rbd,@rs */
    28302340{
    28312341#ifdef NICENAMES
    2832 "orb rbd,@rs",8,7,
    2833 0x3c,
     2342"orb rbd,@rs",8,7,0x3c,
    28342343#endif
    28352344"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    2836         {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,257},
    2837 
     2345        {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
    28382346
    28392347/* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
    28402348{
    28412349#ifdef NICENAMES
    2842 "orb rbd,address_src",8,9,
    2843 0x3c,
     2350"orb rbd,address_src",8,9,0x3c,
    28442351#endif
    28452352"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    2846         {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,258},
    2847 
     2353        {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
    28482354
    28492355/* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
    28502356{
    28512357#ifdef NICENAMES
    2852 "orb rbd,address_src(rs)",8,10,
    2853 0x3c,
     2358"orb rbd,address_src(rs)",8,10,0x3c,
    28542359#endif
    28552360"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    2856         {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,259},
    2857 
     2361        {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,97},
    28582362
    28592363/* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
    28602364{
    28612365#ifdef NICENAMES
    2862 "orb rbd,imm8",8,7,
    2863 0x3c,
     2366"orb rbd,imm8",8,7,0x3c,
    28642367#endif
    28652368"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    2866         {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,260},
    2867 
     2369        {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,97},
    28682370
    28692371/* 1000 0100 ssss dddd *** orb rbd,rbs */
    28702372{
    28712373#ifdef NICENAMES
    2872 "orb rbd,rbs",8,4,
    2873 0x3c,
     2374"orb rbd,rbs",8,4,0x3c,
    28742375#endif
    28752376"orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2876         {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,261},
    2877 
     2377        {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,97},
    28782378
    28792379/* 0011 1111 ddN0 ssss *** out @rd,rs */
    28802380{
    28812381#ifdef NICENAMES
    2882 "out @rd,rs",16,0,
    2883 0x04,
     2382"out @rd,rs",16,0,0x04,
    28842383#endif
    28852384"out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    2886         {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,262},
    2887 
     2385        {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,98},
    28882386
    28892387/* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
    28902388{
    28912389#ifdef NICENAMES
    2892 "out imm16,rs",16,0,
    2893 0x04,
     2390"out imm16,rs",16,0,0x04,
    28942391#endif
    28952392"out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
    2896         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,263},
    2897 
     2393        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,98},
    28982394
    28992395/* 0011 1110 ddN0 ssss *** outb @rd,rbs */
    29002396{
    29012397#ifdef NICENAMES
    2902 "outb @rd,rbs",8,0,
    2903 0x04,
     2398"outb @rd,rbs",8,0,0x04,
    29042399#endif
    29052400"outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    2906         {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
    2907 
     2401        {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,99},
    29082402
    29092403/* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
    29102404{
    29112405#ifdef NICENAMES
    2912 "outb imm16,rbs",8,0,
    2913 0x04,
     2406"outb imm16,rbs",8,0,0x04,
    29142407#endif
    29152408"outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
    2916         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
    2917 
     2409        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,99},
    29182410
    29192411/* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
    29202412{
    29212413#ifdef NICENAMES
    2922 "outd @rd,@rs,ra",16,0,
    2923 0x04,
     2414"outd @rd,@rs,ra",16,0,0x04,
    29242415#endif
    29252416"outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    2926         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,266},
    2927 
     2417        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,100},
    29282418
    29292419/* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
    29302420{
    29312421#ifdef NICENAMES
    2932 "outdb @rd,@rs,rba",16,0,
    2933 0x04,
     2422"outdb @rd,@rs,rba",16,0,0x04,
    29342423#endif
    29352424"outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
    2936         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,267},
    2937 
     2425        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,101},
    29382426
    29392427/* 0011 1011 ssN0 0010 0000 aaaa ddN0 1000 *** outi @rd,@rs,ra */
    29402428{
    29412429#ifdef NICENAMES
    2942 "outi @rd,@rs,ra",16,0,
    2943 0x04,
     2430"outi @rd,@rs,ra",16,0,0x04,
    29442431#endif
    29452432"outi",OPC_outi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    2946         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
    2947 
     2433        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,102},
    29482434
    29492435/* 0011 1010 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
    29502436{
    29512437#ifdef NICENAMES
    2952 "outib @rd,@rs,ra",16,0,
    2953 0x04,
     2438"outib @rd,@rs,ra",16,0,0x04,
    29542439#endif
    29552440"outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    2956         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,269},
    2957 
     2441        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,103},
    29582442
    29592443/* 0011 1010 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
    29602444{
    29612445#ifdef NICENAMES
    2962 "outibr @rd,@rs,ra",16,0,
    2963 0x04,
     2446"outibr @rd,@rs,ra",16,0,0x04,
    29642447#endif
    29652448"outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    2966         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,270},
    2967 
     2449        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,104},
    29682450
    29692451/* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
    29702452{
    29712453#ifdef NICENAMES
    2972 "pop @rd,@rs",16,12,
    2973 0x00,
     2454"pop @rd,@rs",16,12,0x00,
    29742455#endif
    29752456"pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
    2976         {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,271},
    2977 
     2457        {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,105},
    29782458
    29792459/* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
    29802460{
    29812461#ifdef NICENAMES
    2982 "pop address_dst(rd),@rs",16,16,
    2983 0x00,
     2462"pop address_dst(rd),@rs",16,16,0x00,
    29842463#endif
    29852464"pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
    2986         {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,272},
    2987 
     2465        {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,105},
    29882466
    29892467/* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
    29902468{
    29912469#ifdef NICENAMES
    2992 "pop address_dst,@rs",16,16,
    2993 0x00,
     2470"pop address_dst,@rs",16,16,0x00,
    29942471#endif
    29952472"pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
    2996         {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,273},
    2997 
     2473        {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,105},
    29982474
    29992475/* 1001 0111 ssN0 dddd *** pop rd,@rs */
    30002476{
    30012477#ifdef NICENAMES
    3002 "pop rd,@rs",16,8,
    3003 0x00,
     2478"pop rd,@rs",16,8,0x00,
    30042479#endif
    30052480"pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    3006         {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,274},
    3007 
     2481        {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,105},
    30082482
    30092483/* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
    30102484{
    30112485#ifdef NICENAMES
    3012 "popl @rd,@rs",32,19,
    3013 0x00,
     2486"popl @rd,@rs",32,19,0x00,
    30142487#endif
    30152488"popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
    3016         {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,275},
    3017 
     2489        {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,106},
    30182490
    30192491/* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
    30202492{
    30212493#ifdef NICENAMES
    3022 "popl address_dst(rd),@rs",32,23,
    3023 0x00,
     2494"popl address_dst(rd),@rs",32,23,0x00,
    30242495#endif
    30252496"popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
    3026         {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,276},
    3027 
     2497        {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,106},
    30282498
    30292499/* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
    30302500{
    30312501#ifdef NICENAMES
    3032 "popl address_dst,@rs",32,23,
    3033 0x00,
     2502"popl address_dst,@rs",32,23,0x00,
    30342503#endif
    30352504"popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
    3036         {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,277},
    3037 
     2505        {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,106},
    30382506
    30392507/* 1001 0101 ssN0 dddd *** popl rrd,@rs */
    30402508{
    30412509#ifdef NICENAMES
    3042 "popl rrd,@rs",32,12,
    3043 0x00,
     2510"popl rrd,@rs",32,12,0x00,
    30442511#endif
    30452512"popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    3046         {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,278},
    3047 
     2513        {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,106},
    30482514
    30492515/* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
    30502516{
    30512517#ifdef NICENAMES
    3052 "push @rd,@rs",16,13,
    3053 0x00,
     2518"push @rd,@rs",16,13,0x00,
    30542519#endif
    30552520"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
    3056         {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,279},
    3057 
     2521        {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,107},
    30582522
    30592523/* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
    30602524{
    30612525#ifdef NICENAMES
    3062 "push @rd,address_src",16,14,
    3063 0x00,
     2526"push @rd,address_src",16,14,0x00,
    30642527#endif
    30652528"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
    3066         {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,280},
    3067 
     2529        {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,107},
    30682530
    30692531/* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
    30702532{
    30712533#ifdef NICENAMES
    3072 "push @rd,address_src(rs)",16,14,
    3073 0x00,
     2534"push @rd,address_src(rs)",16,14,0x00,
    30742535#endif
    30752536"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
    3076         {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,281},
    3077 
     2537        {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,107},
    30782538
    30792539/* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
    30802540{
    30812541#ifdef NICENAMES
    3082 "push @rd,imm16",16,12,
    3083 0x00,
     2542"push @rd,imm16",16,12,0x00,
    30842543#endif
    30852544"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    3086         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,282},
    3087 
     2545        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,107},
    30882546
    30892547/* 1001 0011 ddN0 ssss *** push @rd,rs */
    30902548{
    30912549#ifdef NICENAMES
    3092 "push @rd,rs",16,9,
    3093 0x00,
     2550"push @rd,rs",16,9,0x00,
    30942551#endif
    30952552"push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3096         {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,283},
    3097 
     2553        {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,107},
    30982554
    30992555/* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
    31002556{
    31012557#ifdef NICENAMES
    3102 "pushl @rd,@rs",32,20,
    3103 0x00,
     2558"pushl @rd,@rs",32,20,0x00,
    31042559#endif
    31052560"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
    3106         {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,284},
    3107 
     2561        {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,108},
    31082562
    31092563/* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
    31102564{
    31112565#ifdef NICENAMES
    3112 "pushl @rd,address_src",32,21,
    3113 0x00,
     2566"pushl @rd,address_src",32,21,0x00,
    31142567#endif
    31152568"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
    3116         {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,285},
    3117 
     2569        {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
    31182570
    31192571/* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
    31202572{
    31212573#ifdef NICENAMES
    3122 "pushl @rd,address_src(rs)",32,21,
    3123 0x00,
     2574"pushl @rd,address_src(rs)",32,21,0x00,
    31242575#endif
    31252576"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
    3126         {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,286},
    3127 
     2577        {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
    31282578
    31292579/* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
    31302580{
    31312581#ifdef NICENAMES
    3132 "pushl @rd,rrs",32,12,
    3133 0x00,
     2582"pushl @rd,rrs",32,12,0x00,
    31342583#endif
    31352584"pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    3136         {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,287},
    3137 
     2585        {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,108},
    31382586
    31392587/* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
    31402588{
    31412589#ifdef NICENAMES
    3142 "res @rd,imm4",16,11,
    3143 0x00,
     2590"res @rd,imm4",16,11,0x00,
    31442591#endif
    31452592"res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3146         {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,288},
    3147 
     2593        {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,109},
    31482594
    31492595/* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
    31502596{
    31512597#ifdef NICENAMES
    3152 "res address_dst(rd),imm4",16,14,
    3153 0x00,
     2598"res address_dst(rd),imm4",16,14,0x00,
    31542599#endif
    31552600"res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3156         {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,289},
    3157 
     2601        {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,109},
    31582602
    31592603/* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
    31602604{
    31612605#ifdef NICENAMES
    3162 "res address_dst,imm4",16,13,
    3163 0x00,
     2606"res address_dst,imm4",16,13,0x00,
    31642607#endif
    31652608"res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
    3166         {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,290},
    3167 
     2609        {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,109},
    31682610
    31692611/* 1010 0011 dddd imm4 *** res rd,imm4 */
    31702612{
    31712613#ifdef NICENAMES
    3172 "res rd,imm4",16,4,
    3173 0x00,
     2614"res rd,imm4",16,4,0x00,
    31742615#endif
    31752616"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3176         {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,291},
    3177 
     2617        {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,109},
    31782618
    31792619/* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
    31802620{
    31812621#ifdef NICENAMES
    3182 "res rd,rs",16,10,
    3183 0x00,
     2622"res rd,rs",16,10,0x00,
    31842623#endif
    31852624"res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3186         {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,292},
    3187 
     2625        {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,109},
    31882626
    31892627/* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
    31902628{
    31912629#ifdef NICENAMES
    3192 "resb @rd,imm4",8,11,
    3193 0x00,
     2630"resb @rd,imm4",8,11,0x00,
    31942631#endif
    31952632"resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3196         {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,293},
    3197 
     2633        {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,110},
    31982634
    31992635/* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
    32002636{
    32012637#ifdef NICENAMES
    3202 "resb address_dst(rd),imm4",8,14,
    3203 0x00,
     2638"resb address_dst(rd),imm4",8,14,0x00,
    32042639#endif
    32052640"resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3206         {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,294},
    3207 
     2641        {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,110},
    32082642
    32092643/* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
    32102644{
    32112645#ifdef NICENAMES
    3212 "resb address_dst,imm4",8,13,
    3213 0x00,
     2646"resb address_dst,imm4",8,13,0x00,
    32142647#endif
    32152648"resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
    3216         {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,295},
    3217 
     2649        {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,110},
    32182650
    32192651/* 1010 0010 dddd imm4 *** resb rbd,imm4 */
    32202652{
    32212653#ifdef NICENAMES
    3222 "resb rbd,imm4",8,4,
    3223 0x00,
     2654"resb rbd,imm4",8,4,0x00,
    32242655#endif
    32252656"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3226         {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,296},
    3227 
     2657        {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,110},
    32282658
    32292659/* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
    32302660{
    32312661#ifdef NICENAMES
    3232 "resb rbd,rs",8,10,
    3233 0x00,
     2662"resb rbd,rs",8,10,0x00,
    32342663#endif
    32352664"resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3236         {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,297},
    3237 
     2665        {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,110},
    32382666
    32392667/* 1000 1101 flags 0011 *** resflg flags */
    32402668{
    32412669#ifdef NICENAMES
    3242 "resflg flags",16,7,
    3243 0x3c,
     2670"resflg flags",16,7,0x3c,
    32442671#endif
    32452672"resflg",OPC_resflg,0,{CLASS_FLAGS,},
    3246         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,298},
    3247 
     2673        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+3,0,0,0,0,0,},1,2,111},
    32482674
    32492675/* 1001 1110 0000 cccc *** ret cc */
    32502676{
    32512677#ifdef NICENAMES
    3252 "ret cc",16,10,
    3253 0x00,
     2678"ret cc",16,10,0x00,
    32542679#endif
    32552680"ret",OPC_ret,0,{CLASS_CC,},
    3256         {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,299},
    3257 
     2681        {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,112},
    32582682
    32592683/* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
    32602684{
    32612685#ifdef NICENAMES
    3262 "rl rd,imm1or2",16,6,
    3263 0x3c,
     2686"rl rd,imm1or2",16,6,0x3c,
    32642687#endif
    32652688"rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3266         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,300},
    3267 
     2689        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,113},
    32682690
    32692691/* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
    32702692{
    32712693#ifdef NICENAMES
    3272 "rlb rbd,imm1or2",8,6,
    3273 0x3c,
     2694"rlb rbd,imm1or2",8,6,0x3c,
    32742695#endif
    32752696"rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3276         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,301},
    3277 
     2697        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,114},
    32782698
    32792699/* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
    32802700{
    32812701#ifdef NICENAMES
    3282 "rlc rd,imm1or2",16,6,
    3283 0x3c,
     2702"rlc rd,imm1or2",16,6,0x3c,
    32842703#endif
    32852704"rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3286         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,302},
    3287 
     2705        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,115},
    32882706
    32892707/* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
    32902708{
    32912709#ifdef NICENAMES
    3292 "rlcb rbd,imm1or2",8,9,
    3293 0x10,
     2710"rlcb rbd,imm1or2",8,9,0x10,
    32942711#endif
    32952712"rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3296         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,303},
    3297 
     2713        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,116},
    32982714
    32992715/* 1011 1110 aaaa bbbb *** rldb rbb,rba */
    33002716{
    33012717#ifdef NICENAMES
    3302 "rldb rbb,rba",8,9,
    3303 0x10,
     2718"rldb rbb,rba",8,9,0x10,
    33042719#endif
    33052720"rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
    3306         {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,304},
    3307 
     2721        {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,117},
    33082722
    33092723/* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
    33102724{
    33112725#ifdef NICENAMES
    3312 "rr rd,imm1or2",16,6,
    3313 0x3c,
     2726"rr rd,imm1or2",16,6,0x3c,
    33142727#endif
    33152728"rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3316         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,305},
    3317 
     2729        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,118},
    33182730
    33192731/* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
    33202732{
    33212733#ifdef NICENAMES
    3322 "rrb rbd,imm1or2",8,6,
    3323 0x3c,
     2734"rrb rbd,imm1or2",8,6,0x3c,
    33242735#endif
    33252736"rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3326         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,306},
    3327 
     2737        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,119},
    33282738
    33292739/* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
    33302740{
    33312741#ifdef NICENAMES
    3332 "rrc rd,imm1or2",16,6,
    3333 0x3c,
     2742"rrc rd,imm1or2",16,6,0x3c,
    33342743#endif
    33352744"rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3336         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,307},
    3337 
     2745        {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,120},
    33382746
    33392747/* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
    33402748{
    33412749#ifdef NICENAMES
    3342 "rrcb rbd,imm1or2",8,9,
    3343 0x10,
     2750"rrcb rbd,imm1or2",8,9,0x10,
    33442751#endif
    33452752"rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
    3346         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,308},
    3347 
     2753        {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,121},
    33482754
    33492755/* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
    33502756{
    33512757#ifdef NICENAMES
    3352 "rrdb rbb,rba",8,9,
    3353 0x10,
     2758"rrdb rbb,rba",8,9,0x10,
    33542759#endif
    33552760"rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
    3356         {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,309},
    3357 
     2761        {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,122},
    33582762
    33592763/* 0011 0110 imm8 *** rsvd36 */
    33602764{
    33612765#ifdef NICENAMES
    3362 "rsvd36",8,10,
    3363 0x00,
     2766"rsvd36",8,10,0x00,
    33642767#endif
    33652768"rsvd36",OPC_rsvd36,0,{0},
    3366         {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,310},
    3367 
     2769        {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,123},
    33682770
    33692771/* 0011 1000 imm8 *** rsvd38 */
    33702772{
    33712773#ifdef NICENAMES
    3372 "rsvd38",8,10,
    3373 0x00,
     2774"rsvd38",8,10,0x00,
    33742775#endif
    33752776"rsvd38",OPC_rsvd38,0,{0},
    3376         {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,311},
    3377 
     2777        {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,124},
    33782778
    33792779/* 0111 1000 imm8 *** rsvd78 */
    33802780{
    33812781#ifdef NICENAMES
    3382 "rsvd78",8,10,
    3383 0x00,
     2782"rsvd78",8,10,0x00,
    33842783#endif
    33852784"rsvd78",OPC_rsvd78,0,{0},
    3386         {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
    3387 
     2785        {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,125},
    33882786
    33892787/* 0111 1110 imm8 *** rsvd7e */
    33902788{
    33912789#ifdef NICENAMES
    3392 "rsvd7e",8,10,
    3393 0x00,
     2790"rsvd7e",8,10,0x00,
    33942791#endif
    33952792"rsvd7e",OPC_rsvd7e,0,{0},
    3396         {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
    3397 
     2793        {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,126},
    33982794
    33992795/* 1001 1101 imm8 *** rsvd9d */
    34002796{
    34012797#ifdef NICENAMES
    3402 "rsvd9d",8,10,
    3403 0x00,
     2798"rsvd9d",8,10,0x00,
    34042799#endif
    34052800"rsvd9d",OPC_rsvd9d,0,{0},
    3406         {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
    3407 
     2801        {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,127},
    34082802
    34092803/* 1001 1111 imm8 *** rsvd9f */
    34102804{
    34112805#ifdef NICENAMES
    3412 "rsvd9f",8,10,
    3413 0x00,
     2806"rsvd9f",8,10,0x00,
    34142807#endif
    34152808"rsvd9f",OPC_rsvd9f,0,{0},
    3416         {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
    3417 
     2809        {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,128},
    34182810
    34192811/* 1011 1001 imm8 *** rsvdb9 */
    34202812{
    34212813#ifdef NICENAMES
    3422 "rsvdb9",8,10,
    3423 0x00,
     2814"rsvdb9",8,10,0x00,
    34242815#endif
    34252816"rsvdb9",OPC_rsvdb9,0,{0},
    3426         {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
    3427 
     2817        {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,129},
    34282818
    34292819/* 1011 1111 imm8 *** rsvdbf */
    34302820{
    34312821#ifdef NICENAMES
    3432 "rsvdbf",8,10,
    3433 0x00,
     2822"rsvdbf",8,10,0x00,
    34342823#endif
    34352824"rsvdbf",OPC_rsvdbf,0,{0},
    3436         {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,317},
    3437 
     2825        {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,130},
    34382826
    34392827/* 1011 0111 ssss dddd *** sbc rd,rs */
    34402828{
    34412829#ifdef NICENAMES
    3442 "sbc rd,rs",16,5,
    3443 0x3c,
     2830"sbc rd,rs",16,5,0x3c,
    34442831#endif
    34452832"sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3446         {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,318},
    3447 
     2833        {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,131},
    34482834
    34492835/* 1011 0110 ssss dddd *** sbcb rbd,rbs */
    34502836{
    34512837#ifdef NICENAMES
    3452 "sbcb rbd,rbs",8,5,
    3453 0x3f,
     2838"sbcb rbd,rbs",8,5,0x3f,
    34542839#endif
    34552840"sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    3456         {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,319},
    3457 
     2841        {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,132},
    34582842
    34592843/* 0111 1111 imm8 *** sc imm8 */
    34602844{
    34612845#ifdef NICENAMES
    3462 "sc imm8",8,33,
    3463 0x3f,
     2846"sc imm8",8,33,0x3f,
    34642847#endif
    34652848"sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
    3466         {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,320},
    3467 
     2849        {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,133},
    34682850
    34692851/* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
    34702852{
    34712853#ifdef NICENAMES
    3472 "sda rd,rs",16,15,
    3473 0x3c,
     2854"sda rd,rs",16,15,0x3c,
    34742855#endif
    34752856"sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3476         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,321},
    3477 
     2857        {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,134},
    34782858
    34792859/* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
    34802860{
    34812861#ifdef NICENAMES
    3482 "sdab rbd,rs",8,15,
    3483 0x3c,
     2862"sdab rbd,rs",8,15,0x3c,
    34842863#endif
    34852864"sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3486         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,322},
    3487 
     2865        {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,135},
    34882866
    34892867/* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
    34902868{
    34912869#ifdef NICENAMES
    3492 "sdal rrd,rs",32,15,
    3493 0x3c,
     2870"sdal rrd,rs",32,15,0x3c,
    34942871#endif
    34952872"sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3496         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,323},
    3497 
     2873        {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,136},
    34982874
    34992875/* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
    35002876{
    35012877#ifdef NICENAMES
    3502 "sdl rd,rs",16,15,
    3503 0x38,
     2878"sdl rd,rs",16,15,0x38,
    35042879#endif
    35052880"sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3506         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,324},
    3507 
     2881        {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,137},
    35082882
    35092883/* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
    35102884{
    35112885#ifdef NICENAMES
    3512 "sdlb rbd,rs",8,15,
    3513 0x38,
     2886"sdlb rbd,rs",8,15,0x38,
    35142887#endif
    35152888"sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3516         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,325},
    3517 
     2889        {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,138},
    35182890
    35192891/* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
    35202892{
    35212893#ifdef NICENAMES
    3522 "sdll rrd,rs",32,15,
    3523 0x38,
     2894"sdll rrd,rs",32,15,0x38,
    35242895#endif
    35252896"sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3526         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,326},
    3527 
     2897        {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,139},
    35282898
    35292899/* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
    35302900{
    35312901#ifdef NICENAMES
    3532 "set @rd,imm4",16,11,
    3533 0x00,
     2902"set @rd,imm4",16,11,0x00,
    35342903#endif
    35352904"set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3536         {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,327},
    3537 
     2905        {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,140},
    35382906
    35392907/* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
    35402908{
    35412909#ifdef NICENAMES
    3542 "set address_dst(rd),imm4",16,14,
    3543 0x00,
     2910"set address_dst(rd),imm4",16,14,0x00,
    35442911#endif
    35452912"set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3546         {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,328},
    3547 
     2913        {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
    35482914
    35492915/* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
    35502916{
    35512917#ifdef NICENAMES
    3552 "set address_dst,imm4",16,13,
    3553 0x00,
     2918"set address_dst,imm4",16,13,0x00,
    35542919#endif
    35552920"set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
    3556         {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,329},
    3557 
     2921        {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
    35582922
    35592923/* 1010 0101 dddd imm4 *** set rd,imm4 */
    35602924{
    35612925#ifdef NICENAMES
    3562 "set rd,imm4",16,4,
    3563 0x00,
     2926"set rd,imm4",16,4,0x00,
    35642927#endif
    35652928"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3566         {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,330},
    3567 
     2929        {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,140},
    35682930
    35692931/* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
    35702932{
    35712933#ifdef NICENAMES
    3572 "set rd,rs",16,10,
    3573 0x00,
     2934"set rd,rs",16,10,0x00,
    35742935#endif
    35752936"set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3576         {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,331},
    3577 
     2937        {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,140},
    35782938
    35792939/* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
    35802940{
    35812941#ifdef NICENAMES
    3582 "setb @rd,imm4",8,11,
    3583 0x00,
     2942"setb @rd,imm4",8,11,0x00,
    35842943#endif
    35852944"setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3586         {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,332},
    3587 
     2945        {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,141},
    35882946
    35892947/* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
    35902948{
    35912949#ifdef NICENAMES
    3592 "setb address_dst(rd),imm4",8,14,
    3593 0x00,
     2950"setb address_dst(rd),imm4",8,14,0x00,
    35942951#endif
    35952952"setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3596         {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,333},
    3597 
     2953        {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
    35982954
    35992955/* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
    36002956{
    36012957#ifdef NICENAMES
    3602 "setb address_dst,imm4",8,13,
    3603 0x00,
     2958"setb address_dst,imm4",8,13,0x00,
    36042959#endif
    36052960"setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
    3606         {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,334},
    3607 
     2961        {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
    36082962
    36092963/* 1010 0100 dddd imm4 *** setb rbd,imm4 */
    36102964{
    36112965#ifdef NICENAMES
    3612 "setb rbd,imm4",8,4,
    3613 0x00,
     2966"setb rbd,imm4",8,4,0x00,
    36142967#endif
    36152968"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
    3616         {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,335},
    3617 
     2969        {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,141},
    36182970
    36192971/* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
    36202972{
    36212973#ifdef NICENAMES
    3622 "setb rbd,rs",8,10,
    3623 0x00,
     2974"setb rbd,rs",8,10,0x00,
    36242975#endif
    36252976"setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3626         {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,336},
    3627 
     2977        {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,141},
    36282978
    36292979/* 1000 1101 flags 0001 *** setflg flags */
    36302980{
    36312981#ifdef NICENAMES
    3632 "setflg flags",16,7,
    3633 0x3c,
     2982"setflg flags",16,7,0x3c,
    36342983#endif
    36352984"setflg",OPC_setflg,0,{CLASS_FLAGS,},
    3636         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,337},
    3637 
     2985        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_FLAGS,CLASS_BIT+1,0,0,0,0,0,},1,2,142},
     2986
     2987/* 0011 1011 dddd 0101 imm16 *** sin rd,imm16 */
     2988{
     2989#ifdef NICENAMES
     2990"sin rd,imm16",8,0,0x00,
     2991#endif
     2992"sin",OPC_sin,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
     2993        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,143},
    36382994
    36392995/* 0011 1010 dddd 0101 imm16 *** sinb rbd,imm16 */
    36402996{
    36412997#ifdef NICENAMES
    3642 "sinb rbd,imm16",8,0,
    3643 0x00,
     2998"sinb rbd,imm16",8,0,0x00,
    36442999#endif
    36453000"sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    3646         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,338},
    3647 
    3648 
    3649 /* 0011 1011 dddd 0101 imm16 *** sinb rd,imm16 */
    3650 {
    3651 #ifdef NICENAMES
    3652 "sinb rd,imm16",8,0,
    3653 0x00,
    3654 #endif
    3655 "sinb",OPC_sinb,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    3656         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,339},
    3657 
     3001        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,144},
    36583002
    36593003/* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
    36603004{
    36613005#ifdef NICENAMES
    3662 "sind @rd,@rs,ra",16,0,
    3663 0x00,
     3006"sind @rd,@rs,ra",16,0,0x00,
    36643007#endif
    36653008"sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    3666         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,340},
    3667 
     3009        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,145},
    36683010
    36693011/* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
    36703012{
    36713013#ifdef NICENAMES
    3672 "sindb @rd,@rs,rba",8,0,
    3673 0x00,
     3014"sindb @rd,@rs,rba",8,0,0x00,
    36743015#endif
    36753016"sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
    3676         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,341},
    3677 
     3017        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,146},
    36783018
    36793019/* 0011 1010 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
    36803020{
    36813021#ifdef NICENAMES
    3682 "sinib @rd,@rs,ra",8,0,
    3683 0x00,
     3022"sinib @rd,@rs,ra",8,0,0x00,
    36843023#endif
    36853024"sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    3686         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,342},
    3687 
     3025        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
    36883026
    36893027/* 0011 1010 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
    36903028{
    36913029#ifdef NICENAMES
    3692 "sinibr @rd,@rs,ra",16,0,
    3693 0x00,
     3030"sinibr @rd,@rs,ra",16,0,0x00,
    36943031#endif
    36953032"sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    3696         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,343},
    3697 
     3033        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,148},
    36983034
    36993035/* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
    37003036{
    37013037#ifdef NICENAMES
    3702 "sla rd,imm8",16,13,
    3703 0x3c,
     3038"sla rd,imm8",16,13,0x3c,
    37043039#endif
    37053040"sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3706         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,344},
    3707 
    3708 
    3709 /* 1011 0010 dddd 1001  0000 0000 imm8 *** slab rbd,imm8 */
    3710 {
    3711 #ifdef NICENAMES
    3712 "slab rbd,imm8",8,13,
    3713 0x3c,
    3714 #endif
    3715 "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3716         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,345},
    3717 
     3041        {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,149},
     3042
     3043/* 1011 0010 dddd 1001 iiii iiii 0000 imm4 *** slab rbd,imm4 */
     3044{
     3045#ifdef NICENAMES
     3046"slab rbd,imm4",8,13,0x3c,
     3047#endif
     3048"slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
     3049        {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,150},
    37183050
    37193051/* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
    37203052{
    37213053#ifdef NICENAMES
    3722 "slal rrd,imm8",32,13,
    3723 0x3c,
     3054"slal rrd,imm8",32,13,0x3c,
    37243055#endif
    37253056"slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3726         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,346},
    3727 
     3057        {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,151},
    37283058
    37293059/* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
    37303060{
    37313061#ifdef NICENAMES
    3732 "sll rd,imm8",16,13,
    3733 0x38,
     3062"sll rd,imm8",16,13,0x38,
    37343063#endif
    37353064"sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3736         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,347},
    3737 
    3738 
    3739 /* 1011 0010 dddd 0001  0000 0000 imm8 *** sllb rbd,imm8 */
    3740 {
    3741 #ifdef NICENAMES
    3742 "sllb rbd,imm8",8,13,
    3743 0x38,
    3744 #endif
    3745 "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3746         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
    3747 
     3065        {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,152},
     3066
     3067/* 1011 0010 dddd 0001 iiii iiii 0000 imm4 *** sllb rbd,imm4 */
     3068{
     3069#ifdef NICENAMES
     3070"sllb rbd,imm4",8,13,0x38,
     3071#endif
     3072"sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
     3073        {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,153},
    37483074
    37493075/* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
    37503076{
    37513077#ifdef NICENAMES
    3752 "slll rrd,imm8",32,13,
    3753 0x38,
     3078"slll rrd,imm8",32,13,0x38,
    37543079#endif
    37553080"slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3756         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,349},
    3757 
     3081        {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,154},
    37583082
    37593083/* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
    37603084{
    37613085#ifdef NICENAMES
    3762 "sout imm16,rs",16,0,
    3763 0x00,
     3086"sout imm16,rs",16,0,0x00,
    37643087#endif
    37653088"sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
    3766         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,350},
    3767 
     3089        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,155},
    37683090
    37693091/* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
    37703092{
    37713093#ifdef NICENAMES
    3772 "soutb imm16,rbs",8,0,
    3773 0x00,
     3094"soutb imm16,rbs",8,0,0x00,
    37743095#endif
    37753096"soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
    3776         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,351},
    3777 
     3097        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
    37783098
    37793099/* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
    37803100{
    37813101#ifdef NICENAMES
    3782 "soutd @rd,@rs,ra",16,0,
    3783 0x00,
     3102"soutd @rd,@rs,ra",16,0,0x00,
    37843103#endif
    37853104"soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    3786         {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,352},
    3787 
     3105        {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,157},
    37883106
    37893107/* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
    37903108{
    37913109#ifdef NICENAMES
    3792 "soutdb @rd,@rs,rba",8,0,
    3793 0x00,
     3110"soutdb @rd,@rs,rba",8,0,0x00,
    37943111#endif
    37953112"soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
    3796         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,353},
    3797 
     3113        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,158},
    37983114
    37993115/* 0011 1010 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
    38003116{
    38013117#ifdef NICENAMES
    3802 "soutib @rd,@rs,ra",8,0,
    3803 0x00,
     3118"soutib @rd,@rs,ra",8,0,0x00,
    38043119#endif
    38053120"soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    3806         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,354},
    3807 
     3121        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,159},
    38083122
    38093123/* 0011 1010 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
    38103124{
    38113125#ifdef NICENAMES
    3812 "soutibr @rd,@rs,ra",16,0,
    3813 0x00,
     3126"soutibr @rd,@rs,ra",16,0,0x00,
    38143127#endif
    38153128"soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
    3816         {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,355},
    3817 
     3129        {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,160},
    38183130
    38193131/* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
    38203132{
    38213133#ifdef NICENAMES
    3822 "sra rd,imm8",16,13,
    3823 0x3c,
     3134"sra rd,imm8",16,13,0x3c,
    38243135#endif
    38253136"sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3826         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,356},
    3827 
    3828 
    3829 /* 1011 0010 dddd 1001 0000 0000 nim8 *** srab rbd,imm8 */
    3830 {
    3831 #ifdef NICENAMES
    3832 "srab rbd,imm8",8,13,
    3833 0x3c,
    3834 #endif
    3835 "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3836         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,357},
    3837 
     3137        {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,161},
     3138
     3139/* 1011 0010 dddd 1001 iiii iiii 1111 nim4 *** srab rbd,imm4 */
     3140{
     3141#ifdef NICENAMES
     3142"srab rbd,imm4",8,13,0x3c,
     3143#endif
     3144"srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
     3145        {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,162},
    38383146
    38393147/* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
    38403148{
    38413149#ifdef NICENAMES
    3842 "sral rrd,imm8",32,13,
    3843 0x3c,
     3150"sral rrd,imm8",32,13,0x3c,
    38443151#endif
    38453152"sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3846         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,358},
    3847 
     3153        {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,163},
    38483154
    38493155/* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
    38503156{
    38513157#ifdef NICENAMES
    3852 "srl rd,imm8",16,13,
    3853 0x3c,
     3158"srl rd,imm8",16,13,0x3c,
    38543159#endif
    38553160"srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3856         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,359},
    3857 
    3858 
    3859 /* 1011 0010 dddd 0001 0000 0000 nim8 *** srlb rbd,imm8 */
    3860 {
    3861 #ifdef NICENAMES
    3862 "srlb rbd,imm8",8,13,
    3863 0x3c,
    3864 #endif
    3865 "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3866         {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
    3867 
     3161        {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,164},
     3162
     3163/* 1011 0010 dddd 0001 iiii iiii 1111 nim4 *** srlb rbd,imm4 */
     3164{
     3165#ifdef NICENAMES
     3166"srlb rbd,imm4",8,13,0x3c,
     3167#endif
     3168"srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
     3169        {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,165},
    38683170
    38693171/* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
    38703172{
    38713173#ifdef NICENAMES
    3872 "srll rrd,imm8",32,13,
    3873 0x3c,
     3174"srll rrd,imm8",32,13,0x3c,
    38743175#endif
    38753176"srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3876         {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,361},
    3877 
     3177        {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,166},
    38783178
    38793179/* 0000 0011 ssN0 dddd *** sub rd,@rs */
    38803180{
    38813181#ifdef NICENAMES
    3882 "sub rd,@rs",16,7,
    3883 0x3c,
     3182"sub rd,@rs",16,7,0x3c,
    38843183#endif
    38853184"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    3886         {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,362},
    3887 
     3185        {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,167},
    38883186
    38893187/* 0100 0011 0000 dddd address_src *** sub rd,address_src */
    38903188{
    38913189#ifdef NICENAMES
    3892 "sub rd,address_src",16,9,
    3893 0x3c,
     3190"sub rd,address_src",16,9,0x3c,
    38943191#endif
    38953192"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    3896         {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,363},
    3897 
     3193        {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,167},
    38983194
    38993195/* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
    39003196{
    39013197#ifdef NICENAMES
    3902 "sub rd,address_src(rs)",16,10,
    3903 0x3c,
     3198"sub rd,address_src(rs)",16,10,0x3c,
    39043199#endif
    39053200"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    3906         {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,364},
    3907 
     3201        {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,167},
    39083202
    39093203/* 0000 0011 0000 dddd imm16 *** sub rd,imm16 */
    39103204{
    39113205#ifdef NICENAMES
    3912 "sub rd,imm16",16,7,
    3913 0x3c,
     3206"sub rd,imm16",16,7,0x3c,
    39143207#endif
    39153208"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    3916         {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,365},
    3917 
     3209        {CLASS_BIT+0,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
    39183210
    39193211/* 1000 0011 ssss dddd *** sub rd,rs */
    39203212{
    39213213#ifdef NICENAMES
    3922 "sub rd,rs",16,4,
    3923 0x3c,
     3214"sub rd,rs",16,4,0x3c,
    39243215#endif
    39253216"sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    3926         {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,366},
    3927 
     3217        {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,167},
    39283218
    39293219/* 0000 0010 ssN0 dddd *** subb rbd,@rs */
    39303220{
    39313221#ifdef NICENAMES
    3932 "subb rbd,@rs",8,7,
    3933 0x3f,
     3222"subb rbd,@rs",8,7,0x3f,
    39343223#endif
    39353224"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    3936         {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,367},
    3937 
     3225        {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
    39383226
    39393227/* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
    39403228{
    39413229#ifdef NICENAMES
    3942 "subb rbd,address_src",8,9,
    3943 0x3f,
     3230"subb rbd,address_src",8,9,0x3f,
    39443231#endif
    39453232"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    3946         {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,368},
    3947 
     3233        {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,168},
    39483234
    39493235/* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
    39503236{
    39513237#ifdef NICENAMES
    3952 "subb rbd,address_src(rs)",8,10,
    3953 0x3f,
     3238"subb rbd,address_src(rs)",8,10,0x3f,
    39543239#endif
    39553240"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    3956         {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,369},
    3957 
     3241        {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,168},
    39583242
    39593243/* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
    39603244{
    39613245#ifdef NICENAMES
    3962 "subb rbd,imm8",8,7,
    3963 0x3f,
     3246"subb rbd,imm8",8,7,0x3f,
    39643247#endif
    39653248"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    3966         {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,370},
    3967 
     3249        {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,168},
    39683250
    39693251/* 1000 0010 ssss dddd *** subb rbd,rbs */
    39703252{
    39713253#ifdef NICENAMES
    3972 "subb rbd,rbs",8,4,
    3973 0x3f,
     3254"subb rbd,rbs",8,4,0x3f,
    39743255#endif
    39753256"subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    3976         {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,371},
    3977 
     3257        {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
    39783258
    39793259/* 0001 0010 ssN0 dddd *** subl rrd,@rs */
    39803260{
    39813261#ifdef NICENAMES
    3982 "subl rrd,@rs",32,14,
    3983 0x3c,
     3262"subl rrd,@rs",32,14,0x3c,
    39843263#endif
    39853264"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
    3986         {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,372},
    3987 
     3265        {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,169},
    39883266
    39893267/* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
    39903268{
    39913269#ifdef NICENAMES
    3992 "subl rrd,address_src",32,15,
    3993 0x3c,
     3270"subl rrd,address_src",32,15,0x3c,
    39943271#endif
    39953272"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
    3996         {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,373},
    3997 
     3273        {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,169},
    39983274
    39993275/* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
    40003276{
    40013277#ifdef NICENAMES
    4002 "subl rrd,address_src(rs)",32,16,
    4003 0x3c,
     3278"subl rrd,address_src(rs)",32,16,0x3c,
    40043279#endif
    40053280"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
    4006         {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,374},
    4007 
     3281        {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,169},
    40083282
    40093283/* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
    40103284{
    40113285#ifdef NICENAMES
    4012 "subl rrd,imm32",32,14,
    4013 0x3c,
     3286"subl rrd,imm32",32,14,0x3c,
    40143287#endif
    40153288"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
    4016         {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,375},
    4017 
     3289        {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,169},
    40183290
    40193291/* 1001 0010 ssss dddd *** subl rrd,rrs */
    40203292{
    40213293#ifdef NICENAMES
    4022 "subl rrd,rrs",32,8,
    4023 0x3c,
     3294"subl rrd,rrs",32,8,0x3c,
    40243295#endif
    40253296"subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
    4026         {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,376},
    4027 
     3297        {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,169},
    40283298
    40293299/* 1010 1111 dddd cccc *** tcc cc,rd */
    40303300{
    40313301#ifdef NICENAMES
    4032 "tcc cc,rd",16,5,
    4033 0x00,
     3302"tcc cc,rd",16,5,0x00,
    40343303#endif
    40353304"tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
    4036         {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,377},
    4037 
     3305        {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,170},
    40383306
    40393307/* 1010 1110 dddd cccc *** tccb cc,rbd */
    40403308{
    40413309#ifdef NICENAMES
    4042 "tccb cc,rbd",8,5,
    4043 0x00,
     3310"tccb cc,rbd",8,5,0x00,
    40443311#endif
    40453312"tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
    4046         {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,378},
    4047 
     3313        {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,171},
    40483314
    40493315/* 0000 1101 ddN0 0100 *** test @rd */
    40503316{
    40513317#ifdef NICENAMES
    4052 "test @rd",16,8,
    4053 0x18,
     3318"test @rd",16,8,0x18,
    40543319#endif
    40553320"test",OPC_test,0,{CLASS_IR+(ARG_RD),},
    4056         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,379},
    4057 
     3321        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,172},
    40583322
    40593323/* 0100 1101 0000 0100 address_dst *** test address_dst */
    40603324{
    40613325#ifdef NICENAMES
    4062 "test address_dst",16,11,
    4063 0x00,
     3326"test address_dst",16,11,0x00,
    40643327#endif
    40653328"test",OPC_test,0,{CLASS_DA+(ARG_DST),},
    4066         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,380},
    4067 
     3329        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,172},
    40683330
    40693331/* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
    40703332{
    40713333#ifdef NICENAMES
    4072 "test address_dst(rd)",16,12,
    4073 0x00,
     3334"test address_dst(rd)",16,12,0x00,
    40743335#endif
    40753336"test",OPC_test,0,{CLASS_X+(ARG_RD),},
    4076         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,381},
    4077 
     3337        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,172},
    40783338
    40793339/* 1000 1101 dddd 0100 *** test rd */
    40803340{
    40813341#ifdef NICENAMES
    4082 "test rd",16,7,
    4083 0x00,
     3342"test rd",16,7,0x00,
    40843343#endif
    40853344"test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
    4086         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,382},
    4087 
     3345        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,172},
    40883346
    40893347/* 0000 1100 ddN0 0100 *** testb @rd */
    40903348{
    40913349#ifdef NICENAMES
    4092 "testb @rd",8,8,
    4093 0x1c,
     3350"testb @rd",8,8,0x1c,
    40943351#endif
    40953352"testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
    4096         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,383},
    4097 
     3353        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,173},
    40983354
    40993355/* 0100 1100 0000 0100 address_dst *** testb address_dst */
    41003356{
    41013357#ifdef NICENAMES
    4102 "testb address_dst",8,11,
    4103 0x1c,
     3358"testb address_dst",8,11,0x1c,
    41043359#endif
    41053360"testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
    4106         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,384},
    4107 
     3361        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,173},
    41083362
    41093363/* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
    41103364{
    41113365#ifdef NICENAMES
    4112 "testb address_dst(rd)",8,12,
    4113 0x1c,
     3366"testb address_dst(rd)",8,12,0x1c,
    41143367#endif
    41153368"testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
    4116         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,385},
    4117 
     3369        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,173},
    41183370
    41193371/* 1000 1100 dddd 0100 *** testb rbd */
    41203372{
    41213373#ifdef NICENAMES
    4122 "testb rbd",8,7,
    4123 0x1c,
     3374"testb rbd",8,7,0x1c,
    41243375#endif
    41253376"testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
    4126         {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,386},
    4127 
     3377        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,173},
    41283378
    41293379/* 0001 1100 ddN0 1000 *** testl @rd */
    41303380{
    41313381#ifdef NICENAMES
    4132 "testl @rd",32,13,
    4133 0x18,
     3382"testl @rd",32,13,0x18,
    41343383#endif
    41353384"testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
    4136         {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,387},
    4137 
     3385        {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,174},
    41383386
    41393387/* 0101 1100 0000 1000 address_dst *** testl address_dst */
    41403388{
    41413389#ifdef NICENAMES
    4142 "testl address_dst",32,16,
    4143 0x18,
     3390"testl address_dst",32,16,0x18,
    41443391#endif
    41453392"testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
    4146         {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,388},
    4147 
     3393        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,174},
    41483394
    41493395/* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
    41503396{
    41513397#ifdef NICENAMES
    4152 "testl address_dst(rd)",32,17,
    4153 0x18,
     3398"testl address_dst(rd)",32,17,0x18,
    41543399#endif
    41553400"testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
    4156         {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,389},
    4157 
     3401        {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,174},
    41583402
    41593403/* 1001 1100 dddd 1000 *** testl rrd */
    41603404{
    41613405#ifdef NICENAMES
    4162 "testl rrd",32,13,
    4163 0x18,
     3406"testl rrd",32,13,0x18,
    41643407#endif
    41653408"testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
    4166         {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,390},
    4167 
     3409        {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,174},
    41683410
    41693411/* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
    41703412{
    41713413#ifdef NICENAMES
    4172 "trdb @rd,@rs,rba",8,25,
    4173 0x1c,
     3414"trdb @rd,@rs,rba",8,25,0x1c,
    41743415#endif
    41753416"trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
    4176         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,391},
    4177 
     3417        {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,175},
    41783418
    41793419/* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
    41803420{
    41813421#ifdef NICENAMES
    4182 "trdrb @rd,@rs,rba",8,25,
    4183 0x1c,
     3422"trdrb @rd,@rs,rba",8,25,0x1c,
    41843423#endif
    41853424"trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
    4186         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,392},
    4187 
     3425        {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,176},
    41883426
    41893427/* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
    41903428{
    41913429#ifdef NICENAMES
    4192 "trib @rd,@rs,rbr",8,25,
    4193 0x1c,
     3430"trib @rd,@rs,rbr",8,25,0x1c,
    41943431#endif
    41953432"trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
    4196         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
    4197 
     3433        {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,177},
    41983434
    41993435/* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
    42003436{
    42013437#ifdef NICENAMES
    4202 "trirb @rd,@rs,rbr",8,25,
    4203 0x1c,
     3438"trirb @rd,@rs,rbr",8,25,0x1c,
    42043439#endif
    42053440"trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
    4206         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,394},
    4207 
     3441        {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,178},
    42083442
    42093443/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtdb @ra,@rb,rbr */
    42103444{
    42113445#ifdef NICENAMES
    4212 "trtdb @ra,@rb,rbr",8,25,
    4213 0x1c,
     3446"trtdb @ra,@rb,rbr",8,25,0x1c,
    42143447#endif
    42153448"trtdb",OPC_trtdb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
    4216         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,395},
    4217 
     3449        {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,179},
    42183450
    42193451/* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
    42203452{
    42213453#ifdef NICENAMES
    4222 "trtdrb @ra,@rb,rbr",8,25,
    4223 0x1c,
     3454"trtdrb @ra,@rb,rbr",8,25,0x1c,
    42243455#endif
    42253456"trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
    4226         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,396},
    4227 
     3457        {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,180},
    42283458
    42293459/* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rbr */
    42303460{
    42313461#ifdef NICENAMES
    4232 "trtib @ra,@rb,rbr",8,25,
    4233 0x1c,
     3462"trtib @ra,@rb,rbr",8,25,0x1c,
    42343463#endif
    42353464"trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
    4236         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,397},
    4237 
     3465        {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,181},
    42383466
    42393467/* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
    42403468{
    42413469#ifdef NICENAMES
    4242 "trtirb @ra,@rb,rbr",8,25,
    4243 0x1c,
     3470"trtirb @ra,@rb,rbr",8,25,0x1c,
    42443471#endif
    42453472"trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
    4246         {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,398},
    4247 
     3473        {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,182},
     3474
     3475/* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
     3476{
     3477#ifdef NICENAMES
     3478"trtrb @ra,@rb,rbr",8,25,0x1c,
     3479#endif
     3480"trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
     3481        {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,183},
    42483482
    42493483/* 0000 1101 ddN0 0110 *** tset @rd */
    42503484{
    42513485#ifdef NICENAMES
    4252 "tset @rd",16,11,
    4253 0x08,
     3486"tset @rd",16,11,0x08,
    42543487#endif
    42553488"tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
    4256         {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,399},
    4257 
     3489        {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,184},
    42583490
    42593491/* 0100 1101 0000 0110 address_dst *** tset address_dst */
    42603492{
    42613493#ifdef NICENAMES
    4262 "tset address_dst",16,14,
    4263 0x08,
     3494"tset address_dst",16,14,0x08,
    42643495#endif
    42653496"tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
    4266         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,400},
    4267 
     3497        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,184},
    42683498
    42693499/* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
    42703500{
    42713501#ifdef NICENAMES
    4272 "tset address_dst(rd)",16,15,
    4273 0x08,
     3502"tset address_dst(rd)",16,15,0x08,
    42743503#endif
    42753504"tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
    4276         {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,401},
    4277 
     3505        {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,184},
    42783506
    42793507/* 1000 1101 dddd 0110 *** tset rd */
    42803508{
    42813509#ifdef NICENAMES
    4282 "tset rd",16,7,
    4283 0x08,
     3510"tset rd",16,7,0x08,
    42843511#endif
    42853512"tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
    4286         {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
    4287 
     3513        {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,184},
    42883514
    42893515/* 0000 1100 ddN0 0110 *** tsetb @rd */
    42903516{
    42913517#ifdef NICENAMES
    4292 "tsetb @rd",8,11,
    4293 0x08,
     3518"tsetb @rd",8,11,0x08,
    42943519#endif
    42953520"tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
    4296         {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,403},
    4297 
     3521        {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,185},
    42983522
    42993523/* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
    43003524{
    43013525#ifdef NICENAMES
    4302 "tsetb address_dst",8,14,
    4303 0x08,
     3526"tsetb address_dst",8,14,0x08,
    43043527#endif
    43053528"tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
    4306         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
    4307 
     3529        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,185},
    43083530
    43093531/* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
    43103532{
    43113533#ifdef NICENAMES
    4312 "tsetb address_dst(rd)",8,15,
    4313 0x08,
     3534"tsetb address_dst(rd)",8,15,0x08,
    43143535#endif
    43153536"tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
    4316         {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,405},
    4317 
     3537        {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,185},
    43183538
    43193539/* 1000 1100 dddd 0110 *** tsetb rbd */
    43203540{
    43213541#ifdef NICENAMES
    4322 "tsetb rbd",8,7,
    4323 0x08,
     3542"tsetb rbd",8,7,0x08,
    43243543#endif
    43253544"tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
    4326         {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,406},
    4327 
     3545        {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,185},
    43283546
    43293547/* 0000 1001 ssN0 dddd *** xor rd,@rs */
    43303548{
    43313549#ifdef NICENAMES
    4332 "xor rd,@rs",16,7,
    4333 0x18,
     3550"xor rd,@rs",16,7,0x18,
    43343551#endif
    43353552"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
    4336         {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,407},
    4337 
     3553        {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
    43383554
    43393555/* 0100 1001 0000 dddd address_src *** xor rd,address_src */
    43403556{
    43413557#ifdef NICENAMES
    4342 "xor rd,address_src",16,9,
    4343 0x18,
     3558"xor rd,address_src",16,9,0x18,
    43443559#endif
    43453560"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
    4346         {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,408},
    4347 
     3561        {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,186},
    43483562
    43493563/* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
    43503564{
    43513565#ifdef NICENAMES
    4352 "xor rd,address_src(rs)",16,10,
    4353 0x18,
     3566"xor rd,address_src(rs)",16,10,0x18,
    43543567#endif
    43553568"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
    4356         {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,409},
    4357 
     3569        {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,186},
    43583570
    43593571/* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
    43603572{
    43613573#ifdef NICENAMES
    4362 "xor rd,imm16",16,7,
    4363 0x18,
     3574"xor rd,imm16",16,7,0x18,
    43643575#endif
    43653576"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
    4366         {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,410},
    4367 
     3577        {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,186},
    43683578
    43693579/* 1000 1001 ssss dddd *** xor rd,rs */
    43703580{
    43713581#ifdef NICENAMES
    4372 "xor rd,rs",16,4,
    4373 0x18,
     3582"xor rd,rs",16,4,0x18,
    43743583#endif
    43753584"xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
    4376         {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,411},
    4377 
     3585        {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
    43783586
    43793587/* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
    43803588{
    43813589#ifdef NICENAMES
    4382 "xorb rbd,@rs",8,7,
    4383 0x1c,
     3590"xorb rbd,@rs",8,7,0x1c,
    43843591#endif
    43853592"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
    4386         {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,412},
    4387 
     3593        {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,187},
    43883594
    43893595/* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
    43903596{
    43913597#ifdef NICENAMES
    4392 "xorb rbd,address_src",8,9,
    4393 0x1c,
     3598"xorb rbd,address_src",8,9,0x1c,
    43943599#endif
    43953600"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
    4396         {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,413},
    4397 
     3601        {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,187},
    43983602
    43993603/* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
    44003604{
    44013605#ifdef NICENAMES
    4402 "xorb rbd,address_src(rs)",8,10,
    4403 0x1c,
     3606"xorb rbd,address_src(rs)",8,10,0x1c,
    44043607#endif
    44053608"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
    4406         {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,414},
    4407 
     3609        {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,187},
    44083610
    44093611/* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
    44103612{
    44113613#ifdef NICENAMES
    4412 "xorb rbd,imm8",8,7,
    4413 0x1c,
     3614"xorb rbd,imm8",8,7,0x1c,
    44143615#endif
    44153616"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
    4416         {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,415},
    4417 
     3617        {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,187},
    44183618
    44193619/* 1000 1000 ssss dddd *** xorb rbd,rbs */
    44203620{
    44213621#ifdef NICENAMES
    4422 "xorb rbd,rbs",8,4,
    4423 0x1c,
     3622"xorb rbd,rbs",8,4,0x1c,
    44243623#endif
    44253624"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    4426         {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,416},
    4427 
     3625        {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,187},
    44283626
    44293627/* 1000 1000 ssss dddd *** xorb rbd,rbs */
    44303628{
    44313629#ifdef NICENAMES
    4432 "xorb rbd,rbs",8,4,
    4433 0x01,
     3630"xorb rbd,rbs",8,4,0x01,
    44343631#endif
    44353632"xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
    4436         {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,417},
    4437 0,0};
    4438 #endif
     3633        {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,187},
     3634
     3635/* end marker */
     3636{
     3637#ifdef NICENAMES
     3638NULL,0,0,
     36390,
     3640#endif
     3641NULL,0,0,{0,0,0,0},{0,0,0,0,0,0,0,0,0,0},0,0,0}
     3642};
     3643#endif
Note: See TracChangeset for help on using the changeset viewer.