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