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