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