/** @file * Disassembler - opcode.h. */ /* * Copyright (C) 2006-2007 Sun Microsystems, Inc. * * This file is part of VirtualBox Open Source Edition (OSE), as * available from http://www.virtualbox.org. This file is free software; * you can redistribute it and/or modify it under the terms of the GNU * General Public License (GPL) as published by the Free Software * Foundation, in version 2 as it comes in the "COPYING" file of the * VirtualBox OSE distribution. VirtualBox OSE is distributed in the * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. * * The contents of this file may alternatively be used under the terms * of the Common Development and Distribution License Version 1.0 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the * VirtualBox OSE distribution, in which case the provisions of the * CDDL are applicable instead of those of the GPL. * * You may elect to license modified versions of this file under the * terms and conditions of either the GPL or the CDDL or both. * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 USA or visit http://www.sun.com if you need * additional information or have any questions. */ #ifndef ___VBox_opcode_h #define ___VBox_opcode_h #define MODRM_MOD(a) (a>>6) #define MODRM_REG(a) ((a>>3)&0x7) #define MODRM_RM(a) (a&0x7) #define MAKE_MODRM(mod, reg, rm) (((mod&3) << 6) | ((reg&7) << 3) | (rm&7)) #define SIB_SCALE(a) (a>>6) #define SIB_INDEX(a) ((a>>3)&0x7) #define SIB_BASE(a) (a&0x7) /** Full Intel X86 opcode list * @{ */ #define OP_INVALID 0 #define OP_OPSIZE 1 #define OP_ADDRSIZE 2 #define OP_SEG 3 #define OP_REPNE 4 #define OP_REPE 5 #define OP_REX 6 #define OP_LOCK 7 #define OP_LAST_PREFIX OP_LOCK /* disassembler assumes this is the last prefix byte value!!!! */ #define OP_AND 8 #define OP_OR 9 #define OP_DAA 10 #define OP_SUB 11 #define OP_DAS 12 #define OP_XOR 13 #define OP_AAA 14 #define OP_CMP 15 #define OP_IMM_GRP1 16 #define OP_AAS 17 #define OP_INC 18 #define OP_DEC 19 #define OP_PUSHA 20 #define OP_POPA 21 #define OP_BOUND 22 #define OP_ARPL 23 #define OP_PUSH 24 #define OP_POP 25 #define OP_IMUL 26 #define OP_INSB 27 #define OP_INSWD 28 #define OP_OUTSB 29 #define OP_OUTSWD 30 #define OP_JO 31 #define OP_JNO 32 #define OP_JC 33 #define OP_JNC 34 #define OP_JE 35 #define OP_JNE 36 #define OP_JBE 37 #define OP_JNBE 38 #define OP_JS 39 #define OP_JNS 40 #define OP_JP 41 #define OP_JNP 42 #define OP_JL 43 #define OP_JNL 44 #define OP_JLE 45 #define OP_JNLE 46 #define OP_ADD 47 #define OP_TEST 48 #define OP_XCHG 49 #define OP_MOV 50 #define OP_LEA 51 #define OP_NOP 52 #define OP_CBW 53 #define OP_CWD 54 #define OP_CALL 55 #define OP_WAIT 56 #define OP_PUSHF 57 #define OP_POPF 58 #define OP_SAHF 59 #define OP_LAHF 60 #define OP_MOVSB 61 #define OP_MOVSWD 62 #define OP_CMPSB 63 #define OP_CMPWD 64 #define OP_STOSB 65 #define OP_STOSWD 66 #define OP_LODSB 67 #define OP_LODSWD 68 #define OP_SCASB 69 #define OP_SCASWD 70 #define OP_SHIFT_GRP2 71 #define OP_RETN 72 #define OP_LES 73 #define OP_LDS 74 #define OP_ENTER 75 #define OP_LEAVE 76 #define OP_RETF 77 #define OP_INT3 78 #define OP_INT 79 #define OP_INTO 80 #define OP_IRET 81 #define OP_AAM 82 #define OP_AAD 83 #define OP_XLAT 84 #define OP_ESCF0 85 #define OP_ESCF1 86 #define OP_ESCF2 87 #define OP_ESCF3 88 #define OP_ESCF4 89 #define OP_ESCF5 90 #define OP_ESCF6 91 #define OP_ESCF7 92 #define OP_LOOPNE 93 #define OP_LOOPE 94 #define OP_LOOP 95 #define OP_JECXZ 96 #define OP_IN 97 #define OP_OUT 98 #define OP_JMP 99 #define OP_2B_ESC 100 #define OP_ADC 101 #define OP_SBB 102 #define OP_HLT 103 #define OP_CMC 104 #define OP_UNARY_GRP3 105 #define OP_CLC 106 #define OP_STC 107 #define OP_CLI 108 #define OP_STI 109 #define OP_CLD 110 #define OP_STD 111 #define OP_INC_GRP4 112 #define OP_IND_GRP5 113 #define OP_GRP6 114 #define OP_GRP7 115 #define OP_LAR 116 #define OP_LSL 117 #define OP_SYSCALL 118 #define OP_CLTS 119 #define OP_SYSRET 120 #define OP_INVD 121 #define OP_WBINVD 122 #define OP_ILLUD2 123 #define OP_FEMMS 124 #define OP_3DNOW 125 #define OP_MOVUPS 126 #define OP_MOVLPS 127 #define OP_UNPCKLPS 128 #define OP_MOVHPS 129 #define OP_UNPCKHPS 130 #define OP_PREFETCH_GRP16 131 #define OP_MOV_CR 132 #define OP_MOVAPS 133 #define OP_CVTPI2PS 134 #define OP_MOVNTPS 135 #define OP_CVTTPS2PI 136 #define OP_CVTPS2PI 137 #define OP_UCOMISS 138 #define OP_COMISS 139 #define OP_WRMSR 140 #define OP_RDTSC 141 #define OP_RDMSR 142 #define OP_RPPMC 143 #define OP_SYSENTER 144 #define OP_SYSEXIT 145 #define OP_PAUSE 146 #define OP_CMOVO 147 #define OP_CMOVNO 148 #define OP_CMOVC 149 #define OP_CMOVNC 150 #define OP_CMOVZ 151 #define OP_CMOVNZ 152 #define OP_CMOVBE 153 #define OP_CMOVNBE 154 #define OP_CMOVS 155 #define OP_CMOVNS 156 #define OP_CMOVP 157 #define OP_CMOVNP 158 #define OP_CMOVL 159 #define OP_CMOVNL 160 #define OP_CMOVLE 161 #define OP_CMOVNLE 162 #define OP_MOVMSKPS 163 #define OP_SQRTPS 164 #define OP_RSQRTPS 165 #define OP_RCPPS 166 #define OP_ANDPS 167 #define OP_ANDNPS 168 #define OP_ORPS 169 #define OP_XORPS 170 #define OP_ADDPS 171 #define OP_MULPS 172 #define OP_CVTPS2PD 173 #define OP_CVTDQ2PS 174 #define OP_SUBPS 175 #define OP_MINPS 176 #define OP_DIVPS 177 #define OP_MAXPS 178 #define OP_PUNPCKLBW 179 #define OP_PUNPCKLWD 180 #define OP_PUNPCKLDQ 181 #define OP_PACKSSWB 182 #define OP_PCMPGTB 183 #define OP_PCMPGTW 184 #define OP_PCMPGTD 185 #define OP_PACKUSWB 186 #define OP_PUNPCKHBW 187 #define OP_PUNPCKHWD 188 #define OP_PUNPCKHDQ 189 #define OP_PACKSSDW 190 #define OP_MOVD 191 #define OP_MOVQ 192 #define OP_PSHUFW 193 #define OP_3B_ESC4 194 #define OP_3B_ESC5 195 #define OP_PCMPEQB 196 #define OP_PCMPEQW 197 #define OP_PCMPEQD 198 #define OP_SETO 199 #define OP_SETNO 200 #define OP_SETC 201 #define OP_SETNC 202 #define OP_SETE 203 #define OP_SETNE 204 #define OP_SETBE 205 #define OP_SETNBE 206 #define OP_SETS 207 #define OP_SETNS 208 #define OP_SETP 209 #define OP_SETNP 210 #define OP_SETL 211 #define OP_SETNL 212 #define OP_SETLE 213 #define OP_SETNLE 214 #define OP_CPUID 215 #define OP_BT 216 #define OP_SHLD 217 #define OP_RSM 218 #define OP_BTS 219 #define OP_SHRD 220 #define OP_GRP15 221 #define OP_CMPXCHG 222 #define OP_LSS 223 #define OP_BTR 224 #define OP_LFS 225 #define OP_LGS 226 #define OP_MOVZX 227 #define OP_GRP10_INV 228 #define OP_GRP8 229 #define OP_BTC 230 #define OP_BSF 231 #define OP_BSR 232 #define OP_MOVSX 233 #define OP_XADD 234 #define OP_CMPPS 235 #define OP_MOVNTI 236 #define OP_PINSRW 237 #define OP_PEXTRW 238 #define OP_SHUFPS 239 #define OP_GRP9 240 #define OP_BSWAP 241 #define OP_PSRLW 242 #define OP_PSRLD 243 #define OP_PSRLQ 244 #define OP_PADDQ 245 #define OP_PMULLW 246 #define OP_PMOVSKB 247 #define OP_PSUBUSB 248 #define OP_PSUBUSW 249 #define OP_PMINUB 250 #define OP_PAND 251 #define OP_PADDUSB 252 #define OP_PADDUSW 253 #define OP_PMAXUB 254 #define OP_PANDN 255 #define OP_PAVGN 256 #define OP_PSRAW 257 #define OP_PSRAD 258 #define OP_PAVGW 259 #define OP_PMULHUW 260 #define OP_PMULHW 261 #define OP_MOVNTQ 262 #define OP_PSUBSB 263 #define OP_PSUBSW 264 #define OP_PMINSW 265 #define OP_POR 266 #define OP_PADDSB 267 #define OP_PADDSW 268 #define OP_PMAXSW 269 #define OP_PXOR 270 #define OP_PSLLW 271 #define OP_PSLLD 272 #define OP_PSSQ 273 #define OP_PMULUDQ 274 #define OP_PADDWD 275 #define OP_PADBW 276 #define OP_PMASKMOVQ 277 #define OP_PSUBB 278 #define OP_PSUBW 279 #define OP_PSUBD 281 #define OP_PADDB 282 #define OP_PADDW 283 #define OP_PADDD 284 #define OP_MOVUPD 285 #define OP_MOVLPD 286 #define OP_UNPCKLPD 287 #define OP_UNPCKHPD 288 #define OP_MOVHPD 289 #define OP_MOVAPD 291 #define OP_CVTPI2PD 292 #define OP_MOVNTPD 293 #define OP_CVTTPD2PI 294 #define OP_CVTPD2PI 295 #define OP_UCOMISD 296 #define OP_COMISD 297 #define OP_MOVMSKPD 298 #define OP_SQRTPD 299 #define OP_ANDPD 301 #define OP_ANDNPD 302 #define OP_ORPD 303 #define OP_XORPD 304 #define OP_ADDPD 305 #define OP_MULPD 306 #define OP_CVTPD2PS 307 #define OP_CVTPS2DQ 308 #define OP_SUBPD 309 #define OP_MINPD 310 #define OP_DIVPD 311 #define OP_MAXPD 312 #define OP_GRP12 313 #define OP_GRP13 314 #define OP_GRP14 315 #define OP_EMMS 316 #define OP_MMX_UD78 317 #define OP_MMX_UD79 318 #define OP_MMX_UD7A 319 #define OP_MMX_UD7B 320 #define OP_MMX_UD7C 321 #define OP_MMX_UD7D 322 #define OP_PUNPCKLQDQ 325 #define OP_PUNPCKHQD 326 #define OP_MOVDQA 328 #define OP_PSHUFD 329 #define OP_CMPPD 334 #define OP_SHUFPD 337 #define OP_CVTTPD2DQ 353 #define OP_MOVNTDQ 354 #define OP_PSHUFB 355 #define OP_PHADDW 356 #define OP_PHADDD 357 #define OP_PHADDSW 358 #define OP_PMADDUBSW 359 #define OP_PHSUBW 360 #define OP_PHSUBD 361 #define OP_PHSUBSW 362 #define OP_PSIGNB 363 #define OP_PSIGNW 364 #define OP_PSIGND 365 #define OP_PMULHRSW 366 #define OP_PBLENDVB 367 #define OP_BLENDVPS 368 #define OP_BLENDVPD 369 #define OP_PTEST 370 #define OP_PABSB 371 #define OP_PABSW 372 #define OP_PABSD 373 #define OP_PMASKMOVDQU 376 #define OP_MOVSD 377 #define OP_CVTSI2SD 378 #define OP_CVTTSD2SI 379 #define OP_CVTSD2SI 380 #define OP_SQRTSD 381 #define OP_ADDSD 382 #define OP_MULSD 383 #define OP_CVTSD2SS 384 #define OP_SUBSD 385 #define OP_MINSD 386 #define OP_DIVSD 387 #define OP_MAXSD 388 #define OP_PSHUFLW 389 #define OP_CMPSD 390 #define OP_MOVDQ2Q 391 #define OP_CVTPD2DQ 392 #define OP_MOVSS 393 #define OP_CVTSI2SS 394 #define OP_CVTTSS2SI 395 #define OP_CVTSS2SI 396 #define OP_SQRTSS 397 #define OP_RSQRTSS 398 #define OP_ADDSS 399 #define OP_MULSS 401 #define OP_CVTTPS2DQ 403 #define OP_SUBSS 404 #define OP_MINSS 405 #define OP_DIVSS 406 #define OP_MAXSS 407 #define OP_MOVDQU 408 #define OP_PSHUFHW 409 #define OP_CMPSS 410 #define OP_MOVQ2DQ 411 #define OP_CVTDQ2PD 412 /** @} */ /** Floating point ops * @{ */ #define OP_FADD 413 #define OP_FMUL 414 #define OP_FCOM 415 #define OP_FCOMP 416 #define OP_FSUB 417 #define OP_FSUBR 418 #define OP_FDIV 419 #define OP_FDIVR 420 #define OP_FLD 421 #define OP_FST 422 #define OP_FSTP 423 #define OP_FLDENV 424 #define OP_FSTENV 426 #define OP_FSTCW 427 #define OP_FXCH 428 #define OP_FNOP 429 #define OP_FCHS 430 #define OP_FABS 431 #define OP_FLD1 433 #define OP_FLDL2T 434 #define OP_FLDL2E 435 #define OP_FLDPI 436 #define OP_FLDLG2 437 #define OP_FLDLN2 438 #define OP_FLDZ 439 #define OP_F2XM1 440 #define OP_FYL2X 441 #define OP_FPTAN 442 #define OP_FPATAN 443 #define OP_FXTRACT 444 #define OP_FREM1 445 #define OP_FDECSTP 446 #define OP_FINCSTP 447 #define OP_FPREM 448 #define OP_FYL2XP1 449 #define OP_FSQRT 450 #define OP_FSINCOS 451 #define OP_FRNDINT 452 #define OP_FSCALE 453 #define OP_FSIN 454 #define OP_FCOS 455 #define OP_FIADD 456 #define OP_FIMUL 457 #define OP_FISUB 460 #define OP_FISUBR 461 #define OP_FIDIV 462 #define OP_FIDIVR 463 #define OP_FCMOVB 464 #define OP_FCMOVE 465 #define OP_FCMOVBE 466 #define OP_FCMOVU 467 #define OP_FUCOMPP 468 #define OP_FILD 469 #define OP_FIST 470 #define OP_FISTP 471 #define OP_FCMOVNB 474 #define OP_FCMOVNE 475 #define OP_FCMOVNBE 476 #define OP_FCMOVNU 477 #define OP_FCLEX 478 #define OP_FINIT 479 #define OP_FUCOMI 480 #define OP_FCOMI 481 #define OP_FRSTOR 482 #define OP_FSAVE 483 #define OP_FNSTSW 484 #define OP_FFREE 485 #define OP_FUCOM 486 #define OP_FUCOMP 487 #define OP_FICOM 490 #define OP_FICOMP 491 #define OP_FADDP 496 #define OP_FMULP 497 #define OP_FCOMPP 498 #define OP_FSUBRP 499 #define OP_FSUBP 500 #define OP_FDIVRP 501 #define OP_FDIVP 502 #define OP_FBLD 503 #define OP_FBSTP 504 #define OP_FCOMIP 506 #define OP_FUCOMIP 507 /** @} */ /** 3DNow! * @{ */ #define OP_PI2FW 508 #define OP_PI2FD 509 #define OP_PF2IW 510 #define OP_PF2ID 511 #define OP_PFPNACC 512 #define OP_PFCMPGE 513 #define OP_PFMIN 514 #define OP_PFRCP 515 #define OP_PFRSQRT 516 #define OP_PFSUB 517 #define OP_PFADD 518 #define OP_PFCMPGT 519 #define OP_PFMAX 520 #define OP_PFRCPIT1 521 #define OP_PFRSQRTIT1 522 #define OP_PFSUBR 523 #define OP_PFACC 524 #define OP_PFCMPEQ 525 #define OP_PFMUL 526 #define OP_PFRCPIT2 527 #define OP_PFMULHRW 528 #define OP_PFSWAPD 529 #define OP_PAVGUSB 530 #define OP_PFNACC 531 #define OP_ROL 532 #define OP_ROR 533 #define OP_RCL 534 #define OP_RCR 535 #define OP_SHL 536 #define OP_SHR 537 #define OP_SAR 538 #define OP_NOT 539 #define OP_NEG 540 #define OP_MUL 541 #define OP_DIV 542 #define OP_IDIV 543 #define OP_SLDT 544 #define OP_STR 545 #define OP_LLDT 546 #define OP_LTR 547 #define OP_VERR 548 #define OP_VERW 549 #define OP_SGDT 550 #define OP_LGDT 551 #define OP_SIDT 552 #define OP_LIDT 553 #define OP_SMSW 554 #define OP_LMSW 555 #define OP_INVLPG 556 #define OP_CMPXCHG8B 557 #define OP_PSLLQ 558 #define OP_PSRLDQ 559 #define OP_PSLLDQ 560 #define OP_FXSAVE 561 #define OP_FXRSTOR 562 #define OP_LDMXCSR 563 #define OP_STMXCSR 564 #define OP_LFENCE 565 #define OP_MFENCE 566 #define OP_SFENCE 567 #define OP_PREFETCH 568 #define OP_MONITOR 569 #define OP_MWAIT 570 #define OP_CLFLUSH 571 #define OP_MOV_DR 600 #define OP_MOV_TR 601 #define OP_SWAPGS 610 /* VT-x instructions */ #define OP_VMREAD 650 #define OP_VMWRITE 651 #define OP_VMCALL 652 #define OP_VMXON 653 #define OP_VMXOFF 654 #define OP_VMCLEAR 655 #define OP_VMLAUNCH 656 #define OP_VMRESUME 657 #define OP_VMPTRLD 658 #define OP_VMPTRST 659 #define OP_INVEPT 660 #define OP_INVVPID 661 /* 64 bits instruction */ #define OP_MOVSXD 700 /** @} */ /** Opcode parameters * @{ */ /* NOTE: Register order is important for translations!! */ #define OP_PARM_NONE 0 #define OP_PARM_REG_EAX 1 #define OP_PARM_REG_GEN32_START OP_PARM_REG_EAX #define OP_PARM_REG_ECX 2 #define OP_PARM_REG_EDX 3 #define OP_PARM_REG_EBX 4 #define OP_PARM_REG_ESP 5 #define OP_PARM_REG_EBP 6 #define OP_PARM_REG_ESI 7 #define OP_PARM_REG_EDI 8 #define OP_PARM_REG_GEN32_END OP_PARM_REG_EDI #define OP_PARM_REG_ES 9 #define OP_PARM_REG_SEG_START OP_PARM_REG_ES #define OP_PARM_REG_CS 10 #define OP_PARM_REG_SS 11 #define OP_PARM_REG_DS 12 #define OP_PARM_REG_FS 13 #define OP_PARM_REG_GS 14 #define OP_PARM_REG_SEG_END OP_PARM_REG_GS #define OP_PARM_REG_AX 15 #define OP_PARM_REG_GEN16_START OP_PARM_REG_AX #define OP_PARM_REG_CX 16 #define OP_PARM_REG_DX 17 #define OP_PARM_REG_BX 18 #define OP_PARM_REG_SP 19 #define OP_PARM_REG_BP 20 #define OP_PARM_REG_SI 21 #define OP_PARM_REG_DI 22 #define OP_PARM_REG_GEN16_END OP_PARM_REG_DI #define OP_PARM_REG_AL 23 #define OP_PARM_REG_GEN8_START OP_PARM_REG_AL #define OP_PARM_REG_CL 24 #define OP_PARM_REG_DL 25 #define OP_PARM_REG_BL 26 #define OP_PARM_REG_AH 27 #define OP_PARM_REG_CH 28 #define OP_PARM_REG_DH 29 #define OP_PARM_REG_BH 30 #define OP_PARM_REG_GEN8_END OP_PARM_REG_BH #define OP_PARM_REGFP_0 31 #define OP_PARM_REG_FP_START OP_PARM_REGFP_0 #define OP_PARM_REGFP_1 32 #define OP_PARM_REGFP_2 33 #define OP_PARM_REGFP_3 34 #define OP_PARM_REGFP_4 35 #define OP_PARM_REGFP_5 36 #define OP_PARM_REGFP_6 37 #define OP_PARM_REGFP_7 38 #define OP_PARM_REG_FP_END OP_PARM_REGFP_7 #define OP_PARM_NTA 39 #define OP_PARM_T0 40 #define OP_PARM_T1 41 #define OP_PARM_T2 42 #define OP_PARM_1 43 #define OP_PARM_REX 50 #define OP_PARM_REX_START OP_PARM_REX #define OP_PARM_REX_B 51 #define OP_PARM_REX_X 52 #define OP_PARM_REX_XB 53 #define OP_PARM_REX_R 54 #define OP_PARM_REX_RB 55 #define OP_PARM_REX_RX 56 #define OP_PARM_REX_RXB 57 #define OP_PARM_REX_W 58 #define OP_PARM_REX_WB 59 #define OP_PARM_REX_WX 60 #define OP_PARM_REX_WXB 61 #define OP_PARM_REX_WR 62 #define OP_PARM_REX_WRB 63 #define OP_PARM_REX_WRX 64 #define OP_PARM_REX_WRXB 65 #define OP_PARM_REG_RAX 100 #define OP_PARM_REG_GEN64_START OP_PARM_REG_RAX #define OP_PARM_REG_RCX 101 #define OP_PARM_REG_RDX 102 #define OP_PARM_REG_RBX 103 #define OP_PARM_REG_RSP 104 #define OP_PARM_REG_RBP 105 #define OP_PARM_REG_RSI 106 #define OP_PARM_REG_RDI 107 #define OP_PARM_REG_R8 108 #define OP_PARM_REG_R9 109 #define OP_PARM_REG_R10 110 #define OP_PARM_REG_R11 111 #define OP_PARM_REG_R12 112 #define OP_PARM_REG_R13 113 #define OP_PARM_REG_R14 114 #define OP_PARM_REG_R15 115 #define OP_PARM_REG_GEN64_END OP_PARM_REG_R15 #define OP_PARM_VTYPE(a) ((int)a & 0xFE0) #define OP_PARM_VSUBTYPE(a) ((int)a & 0x01F) #define OP_PARM_A 0x100 #define OP_PARM_VARIABLE OP_PARM_A #define OP_PARM_E 0x120 #define OP_PARM_F 0x140 #define OP_PARM_G 0x160 #define OP_PARM_I 0x180 #define OP_PARM_J 0x1A0 #define OP_PARM_M 0x1C0 #define OP_PARM_O 0x1E0 #define OP_PARM_Q 0x200 #define OP_PARM_R 0x220 #define OP_PARM_X 0x240 #define OP_PARM_Y 0x260 /* Grouped rare parameters for optimization purposes */ #define IS_OP_PARM_RARE(a) ((a & 0xF00) == 0x300) #define OP_PARM_C 0x300 /* control register */ #define OP_PARM_D 0x320 /* debug register */ #define OP_PARM_S 0x340 /* segment register */ #define OP_PARM_T 0x360 /* test register */ #define OP_PARM_P 0x380 /* mmx register */ #define OP_PARM_W 0x3A0 /* xmm register */ #define OP_PARM_V 0x3C0 #define OP_PARM_NONE 0 #define OP_PARM_a 0x1 #define OP_PARM_b 0x2 #define OP_PARM_d 0x3 #define OP_PARM_dq 0x4 #define OP_PARM_p 0x5 #define OP_PARM_pd 0x6 #define OP_PARM_pi 0x7 #define OP_PARM_ps 0x8 #define OP_PARM_pq 0x9 #define OP_PARM_q 0xA #define OP_PARM_s 0xB #define OP_PARM_sd 0xC #define OP_PARM_ss 0xD #define OP_PARM_v 0xE #define OP_PARM_w 0xF #define OP_PARM_z 0x10 #define OP_PARM_Ap (OP_PARM_A+OP_PARM_p) #define OP_PARM_Cd (OP_PARM_C+OP_PARM_d) #define OP_PARM_Dd (OP_PARM_D+OP_PARM_d) #define OP_PARM_Eb (OP_PARM_E+OP_PARM_b) #define OP_PARM_Ed (OP_PARM_E+OP_PARM_d) #define OP_PARM_Ep (OP_PARM_E+OP_PARM_p) #define OP_PARM_Ev (OP_PARM_E+OP_PARM_v) #define OP_PARM_Ew (OP_PARM_E+OP_PARM_w) #define OP_PARM_Fv (OP_PARM_F+OP_PARM_v) #define OP_PARM_Gb (OP_PARM_G+OP_PARM_b) #define OP_PARM_Gd (OP_PARM_G+OP_PARM_d) #define OP_PARM_Gv (OP_PARM_G+OP_PARM_v) #define OP_PARM_Gw (OP_PARM_G+OP_PARM_w) #define OP_PARM_Ib (OP_PARM_I+OP_PARM_b) #define OP_PARM_Id (OP_PARM_I+OP_PARM_d) #define OP_PARM_Iq (OP_PARM_I+OP_PARM_q) #define OP_PARM_Iw (OP_PARM_I+OP_PARM_w) #define OP_PARM_Iv (OP_PARM_I+OP_PARM_v) #define OP_PARM_Iz (OP_PARM_I+OP_PARM_z) #define OP_PARM_Jb (OP_PARM_J+OP_PARM_b) #define OP_PARM_Jv (OP_PARM_J+OP_PARM_v) #define OP_PARM_Ma (OP_PARM_M+OP_PARM_a) #define OP_PARM_Mb (OP_PARM_M+OP_PARM_b) #define OP_PARM_Mw (OP_PARM_M+OP_PARM_w) #define OP_PARM_Md (OP_PARM_M+OP_PARM_d) #define OP_PARM_Mp (OP_PARM_M+OP_PARM_p) #define OP_PARM_Mq (OP_PARM_M+OP_PARM_q) #define OP_PARM_Mdq (OP_PARM_M+OP_PARM_dq) #define OP_PARM_Ms (OP_PARM_M+OP_PARM_s) #define OP_PARM_Ob (OP_PARM_O+OP_PARM_b) #define OP_PARM_Ov (OP_PARM_O+OP_PARM_v) #define OP_PARM_Pq (OP_PARM_P+OP_PARM_q) #define OP_PARM_Pd (OP_PARM_P+OP_PARM_d) #define OP_PARM_Qd (OP_PARM_Q+OP_PARM_d) #define OP_PARM_Qq (OP_PARM_Q+OP_PARM_q) #define OP_PARM_Rd (OP_PARM_R+OP_PARM_d) #define OP_PARM_Rw (OP_PARM_R+OP_PARM_w) #define OP_PARM_Sw (OP_PARM_S+OP_PARM_w) #define OP_PARM_Td (OP_PARM_T+OP_PARM_d) #define OP_PARM_Vq (OP_PARM_V+OP_PARM_q) #define OP_PARM_Wq (OP_PARM_W+OP_PARM_q) #define OP_PARM_Ws (OP_PARM_W+OP_PARM_s) #define OP_PARM_Xb (OP_PARM_X+OP_PARM_b) #define OP_PARM_Xv (OP_PARM_X+OP_PARM_v) #define OP_PARM_Yb (OP_PARM_Y+OP_PARM_b) #define OP_PARM_Yv (OP_PARM_Y+OP_PARM_v) #define OP_PARM_Vps (OP_PARM_V+OP_PARM_ps) #define OP_PARM_Vss (OP_PARM_V+OP_PARM_ss) #define OP_PARM_Vpd (OP_PARM_V+OP_PARM_pd) #define OP_PARM_Vdq (OP_PARM_V+OP_PARM_dq) #define OP_PARM_Wps (OP_PARM_W+OP_PARM_ps) #define OP_PARM_Wpd (OP_PARM_W+OP_PARM_pd) #define OP_PARM_Wss (OP_PARM_W+OP_PARM_ss) #define OP_PARM_Wdq (OP_PARM_W+OP_PARM_dq) #define OP_PARM_Ppi (OP_PARM_P+OP_PARM_pi) #define OP_PARM_Qpi (OP_PARM_Q+OP_PARM_pi) #define OP_PARM_Qdq (OP_PARM_Q+OP_PARM_dq) #define OP_PARM_Vsd (OP_PARM_V+OP_PARM_sd) #define OP_PARM_Wsd (OP_PARM_W+OP_PARM_sd) #define OP_PARM_Vpq (OP_PARM_V+OP_PARM_pq) #define OP_PARM_Pdq (OP_PARM_P+OP_PARM_dq) /** @} */ #endif