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