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