Attribute VB_Name = "mx86" | |
Option Explicit | |
'Capstone Disassembly Engine bindings for VB6 | |
'Contributed by FireEye FLARE Team | |
'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com> | |
'License: Apache | |
'Copyright: FireEye 2017 | |
Enum x86_reg | |
X86_REG_INVALID = 0 | |
X86_REG_AH | |
X86_REG_AL | |
X86_REG_AX | |
X86_REG_BH | |
X86_REG_BL | |
X86_REG_BP | |
X86_REG_BPL | |
X86_REG_BX | |
X86_REG_CH | |
X86_REG_CL | |
X86_REG_CS | |
X86_REG_CX | |
X86_REG_DH | |
X86_REG_DI | |
X86_REG_DIL | |
X86_REG_DL | |
X86_REG_DS | |
X86_REG_DX | |
X86_REG_EAX | |
X86_REG_EBP | |
X86_REG_EBX | |
X86_REG_ECX | |
X86_REG_EDI | |
X86_REG_EDX | |
X86_REG_EFLAGS | |
X86_REG_EIP | |
X86_REG_EIZ | |
X86_REG_ES | |
X86_REG_ESI | |
X86_REG_ESP | |
X86_REG_FPSW | |
X86_REG_FS | |
X86_REG_GS | |
X86_REG_IP | |
X86_REG_RAX | |
X86_REG_RBP | |
X86_REG_RBX | |
X86_REG_RCX | |
X86_REG_RDI | |
X86_REG_RDX | |
X86_REG_RIP | |
X86_REG_RIZ | |
X86_REG_RSI | |
X86_REG_RSP | |
X86_REG_SI | |
X86_REG_SIL | |
X86_REG_SP | |
X86_REG_SPL | |
X86_REG_SS | |
X86_REG_CR0 | |
X86_REG_CR1 | |
X86_REG_CR2 | |
X86_REG_CR3 | |
X86_REG_CR4 | |
X86_REG_CR5 | |
X86_REG_CR6 | |
X86_REG_CR7 | |
X86_REG_CR8 | |
X86_REG_CR9 | |
X86_REG_CR10 | |
X86_REG_CR11 | |
X86_REG_CR12 | |
X86_REG_CR13 | |
X86_REG_CR14 | |
X86_REG_CR15 | |
X86_REG_DR0 | |
X86_REG_DR1 | |
X86_REG_DR2 | |
X86_REG_DR3 | |
X86_REG_DR4 | |
X86_REG_DR5 | |
X86_REG_DR6 | |
X86_REG_DR7 | |
X86_REG_FP0 | |
X86_REG_FP1 | |
X86_REG_FP2 | |
X86_REG_FP3 | |
X86_REG_FP4 | |
X86_REG_FP5 | |
X86_REG_FP6 | |
X86_REG_FP7 | |
X86_REG_K0 | |
X86_REG_K1 | |
X86_REG_K2 | |
X86_REG_K3 | |
X86_REG_K4 | |
X86_REG_K5 | |
X86_REG_K6 | |
X86_REG_K7 | |
X86_REG_MM0 | |
X86_REG_MM1 | |
X86_REG_MM2 | |
X86_REG_MM3 | |
X86_REG_MM4 | |
X86_REG_MM5 | |
X86_REG_MM6 | |
X86_REG_MM7 | |
X86_REG_R8 | |
X86_REG_R9 | |
X86_REG_R10 | |
X86_REG_R11 | |
X86_REG_R12 | |
X86_REG_R13 | |
X86_REG_R14 | |
X86_REG_R15 | |
X86_REG_ST0 | |
X86_REG_ST1 | |
X86_REG_ST2 | |
X86_REG_ST3 | |
X86_REG_ST4 | |
X86_REG_ST5 | |
X86_REG_ST6 | |
X86_REG_ST7 | |
X86_REG_XMM0 | |
X86_REG_XMM1 | |
X86_REG_XMM2 | |
X86_REG_XMM3 | |
X86_REG_XMM4 | |
X86_REG_XMM5 | |
X86_REG_XMM6 | |
X86_REG_XMM7 | |
X86_REG_XMM8 | |
X86_REG_XMM9 | |
X86_REG_XMM10 | |
X86_REG_XMM11 | |
X86_REG_XMM12 | |
X86_REG_XMM13 | |
X86_REG_XMM14 | |
X86_REG_XMM15 | |
X86_REG_XMM16 | |
X86_REG_XMM17 | |
X86_REG_XMM18 | |
X86_REG_XMM19 | |
X86_REG_XMM20 | |
X86_REG_XMM21 | |
X86_REG_XMM22 | |
X86_REG_XMM23 | |
X86_REG_XMM24 | |
X86_REG_XMM25 | |
X86_REG_XMM26 | |
X86_REG_XMM27 | |
X86_REG_XMM28 | |
X86_REG_XMM29 | |
X86_REG_XMM30 | |
X86_REG_XMM31 | |
X86_REG_YMM0 | |
X86_REG_YMM1 | |
X86_REG_YMM2 | |
X86_REG_YMM3 | |
X86_REG_YMM4 | |
X86_REG_YMM5 | |
X86_REG_YMM6 | |
X86_REG_YMM7 | |
X86_REG_YMM8 | |
X86_REG_YMM9 | |
X86_REG_YMM10 | |
X86_REG_YMM11 | |
X86_REG_YMM12 | |
X86_REG_YMM13 | |
X86_REG_YMM14 | |
X86_REG_YMM15 | |
X86_REG_YMM16 | |
X86_REG_YMM17 | |
X86_REG_YMM18 | |
X86_REG_YMM19 | |
X86_REG_YMM20 | |
X86_REG_YMM21 | |
X86_REG_YMM22 | |
X86_REG_YMM23 | |
X86_REG_YMM24 | |
X86_REG_YMM25 | |
X86_REG_YMM26 | |
X86_REG_YMM27 | |
X86_REG_YMM28 | |
X86_REG_YMM29 | |
X86_REG_YMM30 | |
X86_REG_YMM31 | |
X86_REG_ZMM0 | |
X86_REG_ZMM1 | |
X86_REG_ZMM2 | |
X86_REG_ZMM3 | |
X86_REG_ZMM4 | |
X86_REG_ZMM5 | |
X86_REG_ZMM6 | |
X86_REG_ZMM7 | |
X86_REG_ZMM8 | |
X86_REG_ZMM9 | |
X86_REG_ZMM10 | |
X86_REG_ZMM11 | |
X86_REG_ZMM12 | |
X86_REG_ZMM13 | |
X86_REG_ZMM14 | |
X86_REG_ZMM15 | |
X86_REG_ZMM16 | |
X86_REG_ZMM17 | |
X86_REG_ZMM18 | |
X86_REG_ZMM19 | |
X86_REG_ZMM20 | |
X86_REG_ZMM21 | |
X86_REG_ZMM22 | |
X86_REG_ZMM23 | |
X86_REG_ZMM24 | |
X86_REG_ZMM25 | |
X86_REG_ZMM26 | |
X86_REG_ZMM27 | |
X86_REG_ZMM28 | |
X86_REG_ZMM29 | |
X86_REG_ZMM30 | |
X86_REG_ZMM31 | |
X86_REG_R8B | |
X86_REG_R9B | |
X86_REG_R10B | |
X86_REG_R11B | |
X86_REG_R12B | |
X86_REG_R13B | |
X86_REG_R14B | |
X86_REG_R15B | |
X86_REG_R8D | |
X86_REG_R9D | |
X86_REG_R10D | |
X86_REG_R11D | |
X86_REG_R12D | |
X86_REG_R13D | |
X86_REG_R14D | |
X86_REG_R15D | |
X86_REG_R8W | |
X86_REG_R9W | |
X86_REG_R10W | |
X86_REG_R11W | |
X86_REG_R12W | |
X86_REG_R13W | |
X86_REG_R14W | |
X86_REG_R15W | |
X86_REG_ENDING ' <-- mark the end of the list of registers | |
End Enum | |
'Operand type for instruction's operands | |
Enum x86_op_type | |
X86_OP_INVALID = 0 'CS_OP_INVALID (Uninitialized). | |
X86_OP_REG 'CS_OP_REG (Register operand). | |
X86_OP_IMM 'CS_OP_IMM (Immediate operand). | |
x86_op_mem 'CS_OP_MEM (Memory operand). | |
X86_OP_FP 'CS_OP_FP (Floating-Point operand). | |
End Enum | |
'AVX broadcast type | |
Public Enum x86_avx_bcast | |
X86_AVX_BCAST_INVALID = 0 ' Uninitialized. | |
X86_AVX_BCAST_2 ' AVX512 broadcast type {1to2} | |
X86_AVX_BCAST_4 ' AVX512 broadcast type {1to4} | |
X86_AVX_BCAST_8 ' AVX512 broadcast type {1to8} | |
X86_AVX_BCAST_16 ' AVX512 broadcast type {1to16} | |
End Enum | |
'SSE Code Condition type | |
Public Enum x86_sse_cc | |
X86_SSE_CC_INVALID = 0 ' Uninitialized. | |
X86_SSE_CC_EQ | |
X86_SSE_CC_LT | |
X86_SSE_CC_LE | |
X86_SSE_CC_UNORD | |
X86_SSE_CC_NEQ | |
X86_SSE_CC_NLT | |
X86_SSE_CC_NLE | |
X86_SSE_CC_ORD | |
X86_SSE_CC_EQ_UQ | |
X86_SSE_CC_NGE | |
X86_SSE_CC_NGT | |
X86_SSE_CC_FALSE | |
X86_SSE_CC_NEQ_OQ | |
X86_SSE_CC_GE | |
X86_SSE_CC_GT | |
X86_SSE_CC_TRUE | |
End Enum | |
'AVX Code Condition type | |
Public Enum x86_avx_cc | |
X86_AVX_CC_INVALID = 0 ' Uninitialized. | |
X86_AVX_CC_EQ | |
X86_AVX_CC_LT | |
X86_AVX_CC_LE | |
X86_AVX_CC_UNORD | |
X86_AVX_CC_NEQ | |
X86_AVX_CC_NLT | |
X86_AVX_CC_NLE | |
X86_AVX_CC_ORD | |
X86_AVX_CC_EQ_UQ | |
X86_AVX_CC_NGE | |
X86_AVX_CC_NGT | |
X86_AVX_CC_FALSE | |
X86_AVX_CC_NEQ_OQ | |
X86_AVX_CC_GE | |
X86_AVX_CC_GT | |
X86_AVX_CC_TRUE | |
X86_AVX_CC_EQ_OS | |
X86_AVX_CC_LT_OQ | |
X86_AVX_CC_LE_OQ | |
X86_AVX_CC_UNORD_S | |
X86_AVX_CC_NEQ_US | |
X86_AVX_CC_NLT_UQ | |
X86_AVX_CC_NLE_UQ | |
X86_AVX_CC_ORD_S | |
X86_AVX_CC_EQ_US | |
X86_AVX_CC_NGE_UQ | |
X86_AVX_CC_NGT_UQ | |
X86_AVX_CC_FALSE_OS | |
X86_AVX_CC_NEQ_OS | |
X86_AVX_CC_GE_OQ | |
X86_AVX_CC_GT_OQ | |
X86_AVX_CC_TRUE_US | |
End Enum | |
'AVX static rounding mode type | |
Public Enum x86_avx_rm | |
X86_AVX_RM_INVALID = 0 ' Uninitialized. | |
X86_AVX_RM_RN ' Round to nearest | |
X86_AVX_RM_RD ' Round down | |
X86_AVX_RM_RU ' Round up | |
X86_AVX_RM_RZ ' Round toward zero | |
End Enum | |
'Instruction prefixes - to be used in cs_x86.prefix[] | |
Public Enum x86_prefix | |
X86_PREFIX_LOCK = &HF0 ' lock (cs_x86.prefix[0] | |
X86_PREFIX_REP = &HF3 ' rep (cs_x86.prefix[0] | |
X86_PREFIX_REPNE = &HF2 ' repne (cs_x86.prefix[0] | |
X86_PREFIX_CS = &H2E ' segment override CS (cs_x86.prefix[1] | |
X86_PREFIX_SS = &H36 ' segment override SS (cs_x86.prefix[1] | |
X86_PREFIX_DS = &H3E ' segment override DS (cs_x86.prefix[1] | |
X86_PREFIX_ES = &H26 ' segment override ES (cs_x86.prefix[1] | |
X86_PREFIX_FS = &H64 ' segment override FS (cs_x86.prefix[1] | |
X86_PREFIX_GS = &H65 ' segment override GS (cs_x86.prefix[1] | |
X86_PREFIX_OPSIZE = &H66 ' operand-size override (cs_x86.prefix[2] | |
X86_PREFIX_ADDRSIZE = &H67 ' address-size override (cs_x86.prefix[3] | |
End Enum | |
'Instruction's operand referring to memory | |
'This is associated with X86_OP_MEM operand type above | |
Public Type x86_op_mem | |
segment As Long ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED | |
base As Long ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED | |
index As Long ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED | |
scale As Long ' scale for index register | |
disp As Currency ' displacement value | |
End Type | |
'Instruction operand 48 bytes | |
'typedef struct cs_x86_op { | |
' x86_op_type type; // operand type | |
' union { | |
' x86_reg reg; // register value for REG operand | |
' int64_t imm; // immediate value for IMM operand | |
' double fp; // floating point value for FP operand | |
' x86_op_mem mem; // base/index/scale/disp value for MEM operand | |
' }; | |
' | |
' // size of this operand (in bytes). | |
' uint8_t size; | |
' | |
' // AVX broadcast type, or 0 if irrelevant | |
' x86_avx_bcast avx_bcast; | |
' | |
' // AVX zero opmask {z} | |
' bool avx_zero_opmask; | |
'} cs_x86_op; | |
'Instruction structure | |
Public Type cs_x86 | |
' Instruction prefix, which can be up to 4 bytes. | |
' A prefix byte gets value 0 when irrelevant. | |
' prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above) | |
' prefix[1] indicates segment override (irrelevant for x86_64): | |
' See X86_PREFIX_CS/SS/DS/ES/FS/GS above. | |
' prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE) | |
' prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE) | |
prefix(0 To 3) As Byte ' UNSIGNED | |
' Instruction opcode, wich can be from 1 to 4 bytes in size. | |
' This contains VEX opcode as well. | |
' An trailing opcode byte gets value 0 when irrelevant. | |
opcode(0 To 3) As Byte ' UNSIGNED | |
rex As Byte ' REX prefix: only a non-zero value is relavant for x86_64 UNSIGNED | |
addr_size As Byte ' Address size, which can be overrided with above prefix[5]. UNSIGNED | |
modrm As Byte ' ModR/M byte UNSIGNED | |
sib As Byte ' SIB value, or 0 when irrelevant. UNSIGNED | |
disp As Long ' Displacement value, or 0 when irrelevant. | |
sib_index As x86_reg ' SIB index register, or X86_REG_INVALID when irrelevant. | |
sib_scale As Byte ' SIB scale. only applicable if sib_index is relavant. | |
sib_base As x86_reg ' SIB base register, or X86_REG_INVALID when irrelevant. | |
sse_cc As x86_sse_cc ' SSE Code Condition | |
avx_cc As x86_avx_cc ' AVX Code Condition | |
avx_sae As Byte ' AVX Suppress all Exception | |
avx_rm As x86_avx_rm ' AVX static rounding mode | |
op_count As Byte ' Number of operands of this instruction, or 0 when instruction has no operand.UNSIGNED | |
'operands(0 To 7) As cs_x86_op ' operands for this instruction. | |
'opBuf(0 To 383) As Byte | |
End Type | |
'X86 instructions | |
Public Enum x86_insn | |
X86_INS_INVALID = 0 | |
X86_INS_AAA | |
X86_INS_AAD | |
X86_INS_AAM | |
X86_INS_AAS | |
X86_INS_FABS | |
X86_INS_ADC | |
X86_INS_ADCX | |
X86_INS_ADD | |
X86_INS_ADDPD | |
X86_INS_ADDPS | |
X86_INS_ADDSD | |
X86_INS_ADDSS | |
X86_INS_ADDSUBPD | |
X86_INS_ADDSUBPS | |
X86_INS_FADD | |
X86_INS_FIADD | |
X86_INS_FADDP | |
X86_INS_ADOX | |
X86_INS_AESDECLAST | |
X86_INS_AESDEC | |
X86_INS_AESENCLAST | |
X86_INS_AESENC | |
X86_INS_AESIMC | |
X86_INS_AESKEYGENASSIST | |
X86_INS_AND | |
X86_INS_ANDN | |
X86_INS_ANDNPD | |
X86_INS_ANDNPS | |
X86_INS_ANDPD | |
X86_INS_ANDPS | |
X86_INS_ARPL | |
X86_INS_BEXTR | |
X86_INS_BLCFILL | |
X86_INS_BLCI | |
X86_INS_BLCIC | |
X86_INS_BLCMSK | |
X86_INS_BLCS | |
X86_INS_BLENDPD | |
X86_INS_BLENDPS | |
X86_INS_BLENDVPD | |
X86_INS_BLENDVPS | |
X86_INS_BLSFILL | |
X86_INS_BLSI | |
X86_INS_BLSIC | |
X86_INS_BLSMSK | |
X86_INS_BLSR | |
X86_INS_BOUND | |
X86_INS_BSF | |
X86_INS_BSR | |
X86_INS_BSWAP | |
X86_INS_BT | |
X86_INS_BTC | |
X86_INS_BTR | |
X86_INS_BTS | |
X86_INS_BZHI | |
X86_INS_CALL | |
X86_INS_CBW | |
X86_INS_CDQ | |
X86_INS_CDQE | |
X86_INS_FCHS | |
X86_INS_CLAC | |
X86_INS_CLC | |
X86_INS_CLD | |
X86_INS_CLFLUSH | |
X86_INS_CLGI | |
X86_INS_CLI | |
X86_INS_CLTS | |
X86_INS_CMC | |
X86_INS_CMOVA | |
X86_INS_CMOVAE | |
X86_INS_CMOVB | |
X86_INS_CMOVBE | |
X86_INS_FCMOVBE | |
X86_INS_FCMOVB | |
X86_INS_CMOVE | |
X86_INS_FCMOVE | |
X86_INS_CMOVG | |
X86_INS_CMOVGE | |
X86_INS_CMOVL | |
X86_INS_CMOVLE | |
X86_INS_FCMOVNBE | |
X86_INS_FCMOVNB | |
X86_INS_CMOVNE | |
X86_INS_FCMOVNE | |
X86_INS_CMOVNO | |
X86_INS_CMOVNP | |
X86_INS_FCMOVNU | |
X86_INS_CMOVNS | |
X86_INS_CMOVO | |
X86_INS_CMOVP | |
X86_INS_FCMOVU | |
X86_INS_CMOVS | |
X86_INS_CMP | |
X86_INS_CMPPD | |
X86_INS_CMPPS | |
X86_INS_CMPSB | |
X86_INS_CMPSD | |
X86_INS_CMPSQ | |
X86_INS_CMPSS | |
X86_INS_CMPSW | |
X86_INS_CMPXCHG16B | |
X86_INS_CMPXCHG | |
X86_INS_CMPXCHG8B | |
X86_INS_COMISD | |
X86_INS_COMISS | |
X86_INS_FCOMP | |
X86_INS_FCOMPI | |
X86_INS_FCOMI | |
X86_INS_FCOM | |
X86_INS_FCOS | |
X86_INS_CPUID | |
X86_INS_CQO | |
X86_INS_CRC32 | |
X86_INS_CVTDQ2PD | |
X86_INS_CVTDQ2PS | |
X86_INS_CVTPD2DQ | |
X86_INS_CVTPD2PS | |
X86_INS_CVTPS2DQ | |
X86_INS_CVTPS2PD | |
X86_INS_CVTSD2SI | |
X86_INS_CVTSD2SS | |
X86_INS_CVTSI2SD | |
X86_INS_CVTSI2SS | |
X86_INS_CVTSS2SD | |
X86_INS_CVTSS2SI | |
X86_INS_CVTTPD2DQ | |
X86_INS_CVTTPS2DQ | |
X86_INS_CVTTSD2SI | |
X86_INS_CVTTSS2SI | |
X86_INS_CWD | |
X86_INS_CWDE | |
X86_INS_DAA | |
X86_INS_DAS | |
X86_INS_DATA16 | |
X86_INS_DEC | |
X86_INS_DIV | |
X86_INS_DIVPD | |
X86_INS_DIVPS | |
X86_INS_FDIVR | |
X86_INS_FIDIVR | |
X86_INS_FDIVRP | |
X86_INS_DIVSD | |
X86_INS_DIVSS | |
X86_INS_FDIV | |
X86_INS_FIDIV | |
X86_INS_FDIVP | |
X86_INS_DPPD | |
X86_INS_DPPS | |
X86_INS_RET | |
X86_INS_ENCLS | |
X86_INS_ENCLU | |
X86_INS_ENTER | |
X86_INS_EXTRACTPS | |
X86_INS_EXTRQ | |
X86_INS_F2XM1 | |
X86_INS_LCALL | |
X86_INS_LJMP | |
X86_INS_FBLD | |
X86_INS_FBSTP | |
X86_INS_FCOMPP | |
X86_INS_FDECSTP | |
X86_INS_FEMMS | |
X86_INS_FFREE | |
X86_INS_FICOM | |
X86_INS_FICOMP | |
X86_INS_FINCSTP | |
X86_INS_FLDCW | |
X86_INS_FLDENV | |
X86_INS_FLDL2E | |
X86_INS_FLDL2T | |
X86_INS_FLDLG2 | |
X86_INS_FLDLN2 | |
X86_INS_FLDPI | |
X86_INS_FNCLEX | |
X86_INS_FNINIT | |
X86_INS_FNOP | |
X86_INS_FNSTCW | |
X86_INS_FNSTSW | |
X86_INS_FPATAN | |
X86_INS_FPREM | |
X86_INS_FPREM1 | |
X86_INS_FPTAN | |
X86_INS_FRNDINT | |
X86_INS_FRSTOR | |
X86_INS_FNSAVE | |
X86_INS_FSCALE | |
X86_INS_FSETPM | |
X86_INS_FSINCOS | |
X86_INS_FNSTENV | |
X86_INS_FXAM | |
X86_INS_FXRSTOR | |
X86_INS_FXRSTOR64 | |
X86_INS_FXSAVE | |
X86_INS_FXSAVE64 | |
X86_INS_FXTRACT | |
X86_INS_FYL2X | |
X86_INS_FYL2XP1 | |
X86_INS_MOVAPD | |
X86_INS_MOVAPS | |
X86_INS_ORPD | |
X86_INS_ORPS | |
X86_INS_VMOVAPD | |
X86_INS_VMOVAPS | |
X86_INS_XORPD | |
X86_INS_XORPS | |
X86_INS_GETSEC | |
X86_INS_HADDPD | |
X86_INS_HADDPS | |
X86_INS_HLT | |
X86_INS_HSUBPD | |
X86_INS_HSUBPS | |
X86_INS_IDIV | |
X86_INS_FILD | |
X86_INS_IMUL | |
X86_INS_IN | |
X86_INS_INC | |
X86_INS_INSB | |
X86_INS_INSERTPS | |
X86_INS_INSERTQ | |
X86_INS_INSD | |
X86_INS_INSW | |
X86_INS_INT | |
X86_INS_INT1 | |
X86_INS_INT3 | |
X86_INS_INTO | |
X86_INS_INVD | |
X86_INS_INVEPT | |
X86_INS_INVLPG | |
X86_INS_INVLPGA | |
X86_INS_INVPCID | |
X86_INS_INVVPID | |
X86_INS_IRET | |
X86_INS_IRETD | |
X86_INS_IRETQ | |
X86_INS_FISTTP | |
X86_INS_FIST | |
X86_INS_FISTP | |
X86_INS_UCOMISD | |
X86_INS_UCOMISS | |
X86_INS_VCMP | |
X86_INS_VCOMISD | |
X86_INS_VCOMISS | |
X86_INS_VCVTSD2SS | |
X86_INS_VCVTSI2SD | |
X86_INS_VCVTSI2SS | |
X86_INS_VCVTSS2SD | |
X86_INS_VCVTTSD2SI | |
X86_INS_VCVTTSD2USI | |
X86_INS_VCVTTSS2SI | |
X86_INS_VCVTTSS2USI | |
X86_INS_VCVTUSI2SD | |
X86_INS_VCVTUSI2SS | |
X86_INS_VUCOMISD | |
X86_INS_VUCOMISS | |
X86_INS_JAE | |
X86_INS_JA | |
X86_INS_JBE | |
X86_INS_JB | |
X86_INS_JCXZ | |
X86_INS_JECXZ | |
X86_INS_JE | |
X86_INS_JGE | |
X86_INS_JG | |
X86_INS_JLE | |
X86_INS_JL | |
X86_INS_JMP | |
X86_INS_JNE | |
X86_INS_JNO | |
X86_INS_JNP | |
X86_INS_JNS | |
X86_INS_JO | |
X86_INS_JP | |
X86_INS_JRCXZ | |
X86_INS_JS | |
X86_INS_KANDB | |
X86_INS_KANDD | |
X86_INS_KANDNB | |
X86_INS_KANDND | |
X86_INS_KANDNQ | |
X86_INS_KANDNW | |
X86_INS_KANDQ | |
X86_INS_KANDW | |
X86_INS_KMOVB | |
X86_INS_KMOVD | |
X86_INS_KMOVQ | |
X86_INS_KMOVW | |
X86_INS_KNOTB | |
X86_INS_KNOTD | |
X86_INS_KNOTQ | |
X86_INS_KNOTW | |
X86_INS_KORB | |
X86_INS_KORD | |
X86_INS_KORQ | |
X86_INS_KORTESTW | |
X86_INS_KORW | |
X86_INS_KSHIFTLW | |
X86_INS_KSHIFTRW | |
X86_INS_KUNPCKBW | |
X86_INS_KXNORB | |
X86_INS_KXNORD | |
X86_INS_KXNORQ | |
X86_INS_KXNORW | |
X86_INS_KXORB | |
X86_INS_KXORD | |
X86_INS_KXORQ | |
X86_INS_KXORW | |
X86_INS_LAHF | |
X86_INS_LAR | |
X86_INS_LDDQU | |
X86_INS_LDMXCSR | |
X86_INS_LDS | |
X86_INS_FLDZ | |
X86_INS_FLD1 | |
X86_INS_FLD | |
X86_INS_LEA | |
X86_INS_LEAVE | |
X86_INS_LES | |
X86_INS_LFENCE | |
X86_INS_LFS | |
X86_INS_LGDT | |
X86_INS_LGS | |
X86_INS_LIDT | |
X86_INS_LLDT | |
X86_INS_LMSW | |
X86_INS_OR | |
X86_INS_SUB | |
X86_INS_XOR | |
X86_INS_LODSB | |
X86_INS_LODSD | |
X86_INS_LODSQ | |
X86_INS_LODSW | |
X86_INS_LOOP | |
X86_INS_LOOPE | |
X86_INS_LOOPNE | |
X86_INS_RETF | |
X86_INS_RETFQ | |
X86_INS_LSL | |
X86_INS_LSS | |
X86_INS_LTR | |
X86_INS_XADD | |
X86_INS_LZCNT | |
X86_INS_MASKMOVDQU | |
X86_INS_MAXPD | |
X86_INS_MAXPS | |
X86_INS_MAXSD | |
X86_INS_MAXSS | |
X86_INS_MFENCE | |
X86_INS_MINPD | |
X86_INS_MINPS | |
X86_INS_MINSD | |
X86_INS_MINSS | |
X86_INS_CVTPD2PI | |
X86_INS_CVTPI2PD | |
X86_INS_CVTPI2PS | |
X86_INS_CVTPS2PI | |
X86_INS_CVTTPD2PI | |
X86_INS_CVTTPS2PI | |
X86_INS_EMMS | |
X86_INS_MASKMOVQ | |
X86_INS_MOVD | |
X86_INS_MOVDQ2Q | |
X86_INS_MOVNTQ | |
X86_INS_MOVQ2DQ | |
X86_INS_MOVQ | |
X86_INS_PABSB | |
X86_INS_PABSD | |
X86_INS_PABSW | |
X86_INS_PACKSSDW | |
X86_INS_PACKSSWB | |
X86_INS_PACKUSWB | |
X86_INS_PADDB | |
X86_INS_PADDD | |
X86_INS_PADDQ | |
X86_INS_PADDSB | |
X86_INS_PADDSW | |
X86_INS_PADDUSB | |
X86_INS_PADDUSW | |
X86_INS_PADDW | |
X86_INS_PALIGNR | |
X86_INS_PANDN | |
X86_INS_PAND | |
X86_INS_PAVGB | |
X86_INS_PAVGW | |
X86_INS_PCMPEQB | |
X86_INS_PCMPEQD | |
X86_INS_PCMPEQW | |
X86_INS_PCMPGTB | |
X86_INS_PCMPGTD | |
X86_INS_PCMPGTW | |
X86_INS_PEXTRW | |
X86_INS_PHADDSW | |
X86_INS_PHADDW | |
X86_INS_PHADDD | |
X86_INS_PHSUBD | |
X86_INS_PHSUBSW | |
X86_INS_PHSUBW | |
X86_INS_PINSRW | |
X86_INS_PMADDUBSW | |
X86_INS_PMADDWD | |
X86_INS_PMAXSW | |
X86_INS_PMAXUB | |
X86_INS_PMINSW | |
X86_INS_PMINUB | |
X86_INS_PMOVMSKB | |
X86_INS_PMULHRSW | |
X86_INS_PMULHUW | |
X86_INS_PMULHW | |
X86_INS_PMULLW | |
X86_INS_PMULUDQ | |
X86_INS_POR | |
X86_INS_PSADBW | |
X86_INS_PSHUFB | |
X86_INS_PSHUFW | |
X86_INS_PSIGNB | |
X86_INS_PSIGND | |
X86_INS_PSIGNW | |
X86_INS_PSLLD | |
X86_INS_PSLLQ | |
X86_INS_PSLLW | |
X86_INS_PSRAD | |
X86_INS_PSRAW | |
X86_INS_PSRLD | |
X86_INS_PSRLQ | |
X86_INS_PSRLW | |
X86_INS_PSUBB | |
X86_INS_PSUBD | |
X86_INS_PSUBQ | |
X86_INS_PSUBSB | |
X86_INS_PSUBSW | |
X86_INS_PSUBUSB | |
X86_INS_PSUBUSW | |
X86_INS_PSUBW | |
X86_INS_PUNPCKHBW | |
X86_INS_PUNPCKHDQ | |
X86_INS_PUNPCKHWD | |
X86_INS_PUNPCKLBW | |
X86_INS_PUNPCKLDQ | |
X86_INS_PUNPCKLWD | |
X86_INS_PXOR | |
X86_INS_MONITOR | |
X86_INS_MONTMUL | |
X86_INS_MOV | |
X86_INS_MOVABS | |
X86_INS_MOVBE | |
X86_INS_MOVDDUP | |
X86_INS_MOVDQA | |
X86_INS_MOVDQU | |
X86_INS_MOVHLPS | |
X86_INS_MOVHPD | |
X86_INS_MOVHPS | |
X86_INS_MOVLHPS | |
X86_INS_MOVLPD | |
X86_INS_MOVLPS | |
X86_INS_MOVMSKPD | |
X86_INS_MOVMSKPS | |
X86_INS_MOVNTDQA | |
X86_INS_MOVNTDQ | |
X86_INS_MOVNTI | |
X86_INS_MOVNTPD | |
X86_INS_MOVNTPS | |
X86_INS_MOVNTSD | |
X86_INS_MOVNTSS | |
X86_INS_MOVSB | |
X86_INS_MOVSD | |
X86_INS_MOVSHDUP | |
X86_INS_MOVSLDUP | |
X86_INS_MOVSQ | |
X86_INS_MOVSS | |
X86_INS_MOVSW | |
X86_INS_MOVSX | |
X86_INS_MOVSXD | |
X86_INS_MOVUPD | |
X86_INS_MOVUPS | |
X86_INS_MOVZX | |
X86_INS_MPSADBW | |
X86_INS_MUL | |
X86_INS_MULPD | |
X86_INS_MULPS | |
X86_INS_MULSD | |
X86_INS_MULSS | |
X86_INS_MULX | |
X86_INS_FMUL | |
X86_INS_FIMUL | |
X86_INS_FMULP | |
X86_INS_MWAIT | |
X86_INS_NEG | |
X86_INS_NOP | |
X86_INS_NOT | |
X86_INS_OUT | |
X86_INS_OUTSB | |
X86_INS_OUTSD | |
X86_INS_OUTSW | |
X86_INS_PACKUSDW | |
X86_INS_PAUSE | |
X86_INS_PAVGUSB | |
X86_INS_PBLENDVB | |
X86_INS_PBLENDW | |
X86_INS_PCLMULQDQ | |
X86_INS_PCMPEQQ | |
X86_INS_PCMPESTRI | |
X86_INS_PCMPESTRM | |
X86_INS_PCMPGTQ | |
X86_INS_PCMPISTRI | |
X86_INS_PCMPISTRM | |
X86_INS_PDEP | |
X86_INS_PEXT | |
X86_INS_PEXTRB | |
X86_INS_PEXTRD | |
X86_INS_PEXTRQ | |
X86_INS_PF2ID | |
X86_INS_PF2IW | |
X86_INS_PFACC | |
X86_INS_PFADD | |
X86_INS_PFCMPEQ | |
X86_INS_PFCMPGE | |
X86_INS_PFCMPGT | |
X86_INS_PFMAX | |
X86_INS_PFMIN | |
X86_INS_PFMUL | |
X86_INS_PFNACC | |
X86_INS_PFPNACC | |
X86_INS_PFRCPIT1 | |
X86_INS_PFRCPIT2 | |
X86_INS_PFRCP | |
X86_INS_PFRSQIT1 | |
X86_INS_PFRSQRT | |
X86_INS_PFSUBR | |
X86_INS_PFSUB | |
X86_INS_PHMINPOSUW | |
X86_INS_PI2FD | |
X86_INS_PI2FW | |
X86_INS_PINSRB | |
X86_INS_PINSRD | |
X86_INS_PINSRQ | |
X86_INS_PMAXSB | |
X86_INS_PMAXSD | |
X86_INS_PMAXUD | |
X86_INS_PMAXUW | |
X86_INS_PMINSB | |
X86_INS_PMINSD | |
X86_INS_PMINUD | |
X86_INS_PMINUW | |
X86_INS_PMOVSXBD | |
X86_INS_PMOVSXBQ | |
X86_INS_PMOVSXBW | |
X86_INS_PMOVSXDQ | |
X86_INS_PMOVSXWD | |
X86_INS_PMOVSXWQ | |
X86_INS_PMOVZXBD | |
X86_INS_PMOVZXBQ | |
X86_INS_PMOVZXBW | |
X86_INS_PMOVZXDQ | |
X86_INS_PMOVZXWD | |
X86_INS_PMOVZXWQ | |
X86_INS_PMULDQ | |
X86_INS_PMULHRW | |
X86_INS_PMULLD | |
X86_INS_POP | |
X86_INS_POPAW | |
X86_INS_POPAL | |
X86_INS_POPCNT | |
X86_INS_POPF | |
X86_INS_POPFD | |
X86_INS_POPFQ | |
X86_INS_PREFETCH | |
X86_INS_PREFETCHNTA | |
X86_INS_PREFETCHT0 | |
X86_INS_PREFETCHT1 | |
X86_INS_PREFETCHT2 | |
X86_INS_PREFETCHW | |
X86_INS_PSHUFD | |
X86_INS_PSHUFHW | |
X86_INS_PSHUFLW | |
X86_INS_PSLLDQ | |
X86_INS_PSRLDQ | |
X86_INS_PSWAPD | |
X86_INS_PTEST | |
X86_INS_PUNPCKHQDQ | |
X86_INS_PUNPCKLQDQ | |
X86_INS_PUSH | |
X86_INS_PUSHAW | |
X86_INS_PUSHAL | |
X86_INS_PUSHF | |
X86_INS_PUSHFD | |
X86_INS_PUSHFQ | |
X86_INS_RCL | |
X86_INS_RCPPS | |
X86_INS_RCPSS | |
X86_INS_RCR | |
X86_INS_RDFSBASE | |
X86_INS_RDGSBASE | |
X86_INS_RDMSR | |
X86_INS_RDPMC | |
X86_INS_RDRAND | |
X86_INS_RDSEED | |
X86_INS_RDTSC | |
X86_INS_RDTSCP | |
X86_INS_ROL | |
X86_INS_ROR | |
X86_INS_RORX | |
X86_INS_ROUNDPD | |
X86_INS_ROUNDPS | |
X86_INS_ROUNDSD | |
X86_INS_ROUNDSS | |
X86_INS_RSM | |
X86_INS_RSQRTPS | |
X86_INS_RSQRTSS | |
X86_INS_SAHF | |
X86_INS_SAL | |
X86_INS_SALC | |
X86_INS_SAR | |
X86_INS_SARX | |
X86_INS_SBB | |
X86_INS_SCASB | |
X86_INS_SCASD | |
X86_INS_SCASQ | |
X86_INS_SCASW | |
X86_INS_SETAE | |
X86_INS_SETA | |
X86_INS_SETBE | |
X86_INS_SETB | |
X86_INS_SETE | |
X86_INS_SETGE | |
X86_INS_SETG | |
X86_INS_SETLE | |
X86_INS_SETL | |
X86_INS_SETNE | |
X86_INS_SETNO | |
X86_INS_SETNP | |
X86_INS_SETNS | |
X86_INS_SETO | |
X86_INS_SETP | |
X86_INS_SETS | |
X86_INS_SFENCE | |
X86_INS_SGDT | |
X86_INS_SHA1MSG1 | |
X86_INS_SHA1MSG2 | |
X86_INS_SHA1NEXTE | |
X86_INS_SHA1RNDS4 | |
X86_INS_SHA256MSG1 | |
X86_INS_SHA256MSG2 | |
X86_INS_SHA256RNDS2 | |
X86_INS_SHL | |
X86_INS_SHLD | |
X86_INS_SHLX | |
X86_INS_SHR | |
X86_INS_SHRD | |
X86_INS_SHRX | |
X86_INS_SHUFPD | |
X86_INS_SHUFPS | |
X86_INS_SIDT | |
X86_INS_FSIN | |
X86_INS_SKINIT | |
X86_INS_SLDT | |
X86_INS_SMSW | |
X86_INS_SQRTPD | |
X86_INS_SQRTPS | |
X86_INS_SQRTSD | |
X86_INS_SQRTSS | |
X86_INS_FSQRT | |
X86_INS_STAC | |
X86_INS_STC | |
X86_INS_STD | |
X86_INS_STGI | |
X86_INS_STI | |
X86_INS_STMXCSR | |
X86_INS_STOSB | |
X86_INS_STOSD | |
X86_INS_STOSQ | |
X86_INS_STOSW | |
X86_INS_STR | |
X86_INS_FST | |
X86_INS_FSTP | |
X86_INS_FSTPNCE | |
X86_INS_SUBPD | |
X86_INS_SUBPS | |
X86_INS_FSUBR | |
X86_INS_FISUBR | |
X86_INS_FSUBRP | |
X86_INS_SUBSD | |
X86_INS_SUBSS | |
X86_INS_FSUB | |
X86_INS_FISUB | |
X86_INS_FSUBP | |
X86_INS_SWAPGS | |
X86_INS_SYSCALL | |
X86_INS_SYSENTER | |
X86_INS_SYSEXIT | |
X86_INS_SYSRET | |
X86_INS_T1MSKC | |
X86_INS_TEST | |
X86_INS_UD2 | |
X86_INS_FTST | |
X86_INS_TZCNT | |
X86_INS_TZMSK | |
X86_INS_FUCOMPI | |
X86_INS_FUCOMI | |
X86_INS_FUCOMPP | |
X86_INS_FUCOMP | |
X86_INS_FUCOM | |
X86_INS_UD2B | |
X86_INS_UNPCKHPD | |
X86_INS_UNPCKHPS | |
X86_INS_UNPCKLPD | |
X86_INS_UNPCKLPS | |
X86_INS_VADDPD | |
X86_INS_VADDPS | |
X86_INS_VADDSD | |
X86_INS_VADDSS | |
X86_INS_VADDSUBPD | |
X86_INS_VADDSUBPS | |
X86_INS_VAESDECLAST | |
X86_INS_VAESDEC | |
X86_INS_VAESENCLAST | |
X86_INS_VAESENC | |
X86_INS_VAESIMC | |
X86_INS_VAESKEYGENASSIST | |
X86_INS_VALIGND | |
X86_INS_VALIGNQ | |
X86_INS_VANDNPD | |
X86_INS_VANDNPS | |
X86_INS_VANDPD | |
X86_INS_VANDPS | |
X86_INS_VBLENDMPD | |
X86_INS_VBLENDMPS | |
X86_INS_VBLENDPD | |
X86_INS_VBLENDPS | |
X86_INS_VBLENDVPD | |
X86_INS_VBLENDVPS | |
X86_INS_VBROADCASTF128 | |
X86_INS_VBROADCASTI128 | |
X86_INS_VBROADCASTI32X4 | |
X86_INS_VBROADCASTI64X4 | |
X86_INS_VBROADCASTSD | |
X86_INS_VBROADCASTSS | |
X86_INS_VCMPPD | |
X86_INS_VCMPPS | |
X86_INS_VCMPSD | |
X86_INS_VCMPSS | |
X86_INS_VCVTDQ2PD | |
X86_INS_VCVTDQ2PS | |
X86_INS_VCVTPD2DQX | |
X86_INS_VCVTPD2DQ | |
X86_INS_VCVTPD2PSX | |
X86_INS_VCVTPD2PS | |
X86_INS_VCVTPD2UDQ | |
X86_INS_VCVTPH2PS | |
X86_INS_VCVTPS2DQ | |
X86_INS_VCVTPS2PD | |
X86_INS_VCVTPS2PH | |
X86_INS_VCVTPS2UDQ | |
X86_INS_VCVTSD2SI | |
X86_INS_VCVTSD2USI | |
X86_INS_VCVTSS2SI | |
X86_INS_VCVTSS2USI | |
X86_INS_VCVTTPD2DQX | |
X86_INS_VCVTTPD2DQ | |
X86_INS_VCVTTPD2UDQ | |
X86_INS_VCVTTPS2DQ | |
X86_INS_VCVTTPS2UDQ | |
X86_INS_VCVTUDQ2PD | |
X86_INS_VCVTUDQ2PS | |
X86_INS_VDIVPD | |
X86_INS_VDIVPS | |
X86_INS_VDIVSD | |
X86_INS_VDIVSS | |
X86_INS_VDPPD | |
X86_INS_VDPPS | |
X86_INS_VERR | |
X86_INS_VERW | |
X86_INS_VEXTRACTF128 | |
X86_INS_VEXTRACTF32X4 | |
X86_INS_VEXTRACTF64X4 | |
X86_INS_VEXTRACTI128 | |
X86_INS_VEXTRACTI32X4 | |
X86_INS_VEXTRACTI64X4 | |
X86_INS_VEXTRACTPS | |
X86_INS_VFMADD132PD | |
X86_INS_VFMADD132PS | |
X86_INS_VFMADD213PD | |
X86_INS_VFMADD213PS | |
X86_INS_VFMADDPD | |
X86_INS_VFMADD231PD | |
X86_INS_VFMADDPS | |
X86_INS_VFMADD231PS | |
X86_INS_VFMADDSD | |
X86_INS_VFMADD213SD | |
X86_INS_VFMADD132SD | |
X86_INS_VFMADD231SD | |
X86_INS_VFMADDSS | |
X86_INS_VFMADD213SS | |
X86_INS_VFMADD132SS | |
X86_INS_VFMADD231SS | |
X86_INS_VFMADDSUB132PD | |
X86_INS_VFMADDSUB132PS | |
X86_INS_VFMADDSUB213PD | |
X86_INS_VFMADDSUB213PS | |
X86_INS_VFMADDSUBPD | |
X86_INS_VFMADDSUB231PD | |
X86_INS_VFMADDSUBPS | |
X86_INS_VFMADDSUB231PS | |
X86_INS_VFMSUB132PD | |
X86_INS_VFMSUB132PS | |
X86_INS_VFMSUB213PD | |
X86_INS_VFMSUB213PS | |
X86_INS_VFMSUBADD132PD | |
X86_INS_VFMSUBADD132PS | |
X86_INS_VFMSUBADD213PD | |
X86_INS_VFMSUBADD213PS | |
X86_INS_VFMSUBADDPD | |
X86_INS_VFMSUBADD231PD | |
X86_INS_VFMSUBADDPS | |
X86_INS_VFMSUBADD231PS | |
X86_INS_VFMSUBPD | |
X86_INS_VFMSUB231PD | |
X86_INS_VFMSUBPS | |
X86_INS_VFMSUB231PS | |
X86_INS_VFMSUBSD | |
X86_INS_VFMSUB213SD | |
X86_INS_VFMSUB132SD | |
X86_INS_VFMSUB231SD | |
X86_INS_VFMSUBSS | |
X86_INS_VFMSUB213SS | |
X86_INS_VFMSUB132SS | |
X86_INS_VFMSUB231SS | |
X86_INS_VFNMADD132PD | |
X86_INS_VFNMADD132PS | |
X86_INS_VFNMADD213PD | |
X86_INS_VFNMADD213PS | |
X86_INS_VFNMADDPD | |
X86_INS_VFNMADD231PD | |
X86_INS_VFNMADDPS | |
X86_INS_VFNMADD231PS | |
X86_INS_VFNMADDSD | |
X86_INS_VFNMADD213SD | |
X86_INS_VFNMADD132SD | |
X86_INS_VFNMADD231SD | |
X86_INS_VFNMADDSS | |
X86_INS_VFNMADD213SS | |
X86_INS_VFNMADD132SS | |
X86_INS_VFNMADD231SS | |
X86_INS_VFNMSUB132PD | |
X86_INS_VFNMSUB132PS | |
X86_INS_VFNMSUB213PD | |
X86_INS_VFNMSUB213PS | |
X86_INS_VFNMSUBPD | |
X86_INS_VFNMSUB231PD | |
X86_INS_VFNMSUBPS | |
X86_INS_VFNMSUB231PS | |
X86_INS_VFNMSUBSD | |
X86_INS_VFNMSUB213SD | |
X86_INS_VFNMSUB132SD | |
X86_INS_VFNMSUB231SD | |
X86_INS_VFNMSUBSS | |
X86_INS_VFNMSUB213SS | |
X86_INS_VFNMSUB132SS | |
X86_INS_VFNMSUB231SS | |
X86_INS_VFRCZPD | |
X86_INS_VFRCZPS | |
X86_INS_VFRCZSD | |
X86_INS_VFRCZSS | |
X86_INS_VORPD | |
X86_INS_VORPS | |
X86_INS_VXORPD | |
X86_INS_VXORPS | |
X86_INS_VGATHERDPD | |
X86_INS_VGATHERDPS | |
X86_INS_VGATHERPF0DPD | |
X86_INS_VGATHERPF0DPS | |
X86_INS_VGATHERPF0QPD | |
X86_INS_VGATHERPF0QPS | |
X86_INS_VGATHERPF1DPD | |
X86_INS_VGATHERPF1DPS | |
X86_INS_VGATHERPF1QPD | |
X86_INS_VGATHERPF1QPS | |
X86_INS_VGATHERQPD | |
X86_INS_VGATHERQPS | |
X86_INS_VHADDPD | |
X86_INS_VHADDPS | |
X86_INS_VHSUBPD | |
X86_INS_VHSUBPS | |
X86_INS_VINSERTF128 | |
X86_INS_VINSERTF32X4 | |
X86_INS_VINSERTF64X4 | |
X86_INS_VINSERTI128 | |
X86_INS_VINSERTI32X4 | |
X86_INS_VINSERTI64X4 | |
X86_INS_VINSERTPS | |
X86_INS_VLDDQU | |
X86_INS_VLDMXCSR | |
X86_INS_VMASKMOVDQU | |
X86_INS_VMASKMOVPD | |
X86_INS_VMASKMOVPS | |
X86_INS_VMAXPD | |
X86_INS_VMAXPS | |
X86_INS_VMAXSD | |
X86_INS_VMAXSS | |
X86_INS_VMCALL | |
X86_INS_VMCLEAR | |
X86_INS_VMFUNC | |
X86_INS_VMINPD | |
X86_INS_VMINPS | |
X86_INS_VMINSD | |
X86_INS_VMINSS | |
X86_INS_VMLAUNCH | |
X86_INS_VMLOAD | |
X86_INS_VMMCALL | |
X86_INS_VMOVQ | |
X86_INS_VMOVDDUP | |
X86_INS_VMOVD | |
X86_INS_VMOVDQA32 | |
X86_INS_VMOVDQA64 | |
X86_INS_VMOVDQA | |
X86_INS_VMOVDQU16 | |
X86_INS_VMOVDQU32 | |
X86_INS_VMOVDQU64 | |
X86_INS_VMOVDQU8 | |
X86_INS_VMOVDQU | |
X86_INS_VMOVHLPS | |
X86_INS_VMOVHPD | |
X86_INS_VMOVHPS | |
X86_INS_VMOVLHPS | |
X86_INS_VMOVLPD | |
X86_INS_VMOVLPS | |
X86_INS_VMOVMSKPD | |
X86_INS_VMOVMSKPS | |
X86_INS_VMOVNTDQA | |
X86_INS_VMOVNTDQ | |
X86_INS_VMOVNTPD | |
X86_INS_VMOVNTPS | |
X86_INS_VMOVSD | |
X86_INS_VMOVSHDUP | |
X86_INS_VMOVSLDUP | |
X86_INS_VMOVSS | |
X86_INS_VMOVUPD | |
X86_INS_VMOVUPS | |
X86_INS_VMPSADBW | |
X86_INS_VMPTRLD | |
X86_INS_VMPTRST | |
X86_INS_VMREAD | |
X86_INS_VMRESUME | |
X86_INS_VMRUN | |
X86_INS_VMSAVE | |
X86_INS_VMULPD | |
X86_INS_VMULPS | |
X86_INS_VMULSD | |
X86_INS_VMULSS | |
X86_INS_VMWRITE | |
X86_INS_VMXOFF | |
X86_INS_VMXON | |
X86_INS_VPABSB | |
X86_INS_VPABSD | |
X86_INS_VPABSQ | |
X86_INS_VPABSW | |
X86_INS_VPACKSSDW | |
X86_INS_VPACKSSWB | |
X86_INS_VPACKUSDW | |
X86_INS_VPACKUSWB | |
X86_INS_VPADDB | |
X86_INS_VPADDD | |
X86_INS_VPADDQ | |
X86_INS_VPADDSB | |
X86_INS_VPADDSW | |
X86_INS_VPADDUSB | |
X86_INS_VPADDUSW | |
X86_INS_VPADDW | |
X86_INS_VPALIGNR | |
X86_INS_VPANDD | |
X86_INS_VPANDND | |
X86_INS_VPANDNQ | |
X86_INS_VPANDN | |
X86_INS_VPANDQ | |
X86_INS_VPAND | |
X86_INS_VPAVGB | |
X86_INS_VPAVGW | |
X86_INS_VPBLENDD | |
X86_INS_VPBLENDMD | |
X86_INS_VPBLENDMQ | |
X86_INS_VPBLENDVB | |
X86_INS_VPBLENDW | |
X86_INS_VPBROADCASTB | |
X86_INS_VPBROADCASTD | |
X86_INS_VPBROADCASTMB2Q | |
X86_INS_VPBROADCASTMW2D | |
X86_INS_VPBROADCASTQ | |
X86_INS_VPBROADCASTW | |
X86_INS_VPCLMULQDQ | |
X86_INS_VPCMOV | |
X86_INS_VPCMP | |
X86_INS_VPCMPD | |
X86_INS_VPCMPEQB | |
X86_INS_VPCMPEQD | |
X86_INS_VPCMPEQQ | |
X86_INS_VPCMPEQW | |
X86_INS_VPCMPESTRI | |
X86_INS_VPCMPESTRM | |
X86_INS_VPCMPGTB | |
X86_INS_VPCMPGTD | |
X86_INS_VPCMPGTQ | |
X86_INS_VPCMPGTW | |
X86_INS_VPCMPISTRI | |
X86_INS_VPCMPISTRM | |
X86_INS_VPCMPQ | |
X86_INS_VPCMPUD | |
X86_INS_VPCMPUQ | |
X86_INS_VPCOMB | |
X86_INS_VPCOMD | |
X86_INS_VPCOMQ | |
X86_INS_VPCOMUB | |
X86_INS_VPCOMUD | |
X86_INS_VPCOMUQ | |
X86_INS_VPCOMUW | |
X86_INS_VPCOMW | |
X86_INS_VPCONFLICTD | |
X86_INS_VPCONFLICTQ | |
X86_INS_VPERM2F128 | |
X86_INS_VPERM2I128 | |
X86_INS_VPERMD | |
X86_INS_VPERMI2D | |
X86_INS_VPERMI2PD | |
X86_INS_VPERMI2PS | |
X86_INS_VPERMI2Q | |
X86_INS_VPERMIL2PD | |
X86_INS_VPERMIL2PS | |
X86_INS_VPERMILPD | |
X86_INS_VPERMILPS | |
X86_INS_VPERMPD | |
X86_INS_VPERMPS | |
X86_INS_VPERMQ | |
X86_INS_VPERMT2D | |
X86_INS_VPERMT2PD | |
X86_INS_VPERMT2PS | |
X86_INS_VPERMT2Q | |
X86_INS_VPEXTRB | |
X86_INS_VPEXTRD | |
X86_INS_VPEXTRQ | |
X86_INS_VPEXTRW | |
X86_INS_VPGATHERDD | |
X86_INS_VPGATHERDQ | |
X86_INS_VPGATHERQD | |
X86_INS_VPGATHERQQ | |
X86_INS_VPHADDBD | |
X86_INS_VPHADDBQ | |
X86_INS_VPHADDBW | |
X86_INS_VPHADDDQ | |
X86_INS_VPHADDD | |
X86_INS_VPHADDSW | |
X86_INS_VPHADDUBD | |
X86_INS_VPHADDUBQ | |
X86_INS_VPHADDUBW | |
X86_INS_VPHADDUDQ | |
X86_INS_VPHADDUWD | |
X86_INS_VPHADDUWQ | |
X86_INS_VPHADDWD | |
X86_INS_VPHADDWQ | |
X86_INS_VPHADDW | |
X86_INS_VPHMINPOSUW | |
X86_INS_VPHSUBBW | |
X86_INS_VPHSUBDQ | |
X86_INS_VPHSUBD | |
X86_INS_VPHSUBSW | |
X86_INS_VPHSUBWD | |
X86_INS_VPHSUBW | |
X86_INS_VPINSRB | |
X86_INS_VPINSRD | |
X86_INS_VPINSRQ | |
X86_INS_VPINSRW | |
X86_INS_VPLZCNTD | |
X86_INS_VPLZCNTQ | |
X86_INS_VPMACSDD | |
X86_INS_VPMACSDQH | |
X86_INS_VPMACSDQL | |
X86_INS_VPMACSSDD | |
X86_INS_VPMACSSDQH | |
X86_INS_VPMACSSDQL | |
X86_INS_VPMACSSWD | |
X86_INS_VPMACSSWW | |
X86_INS_VPMACSWD | |
X86_INS_VPMACSWW | |
X86_INS_VPMADCSSWD | |
X86_INS_VPMADCSWD | |
X86_INS_VPMADDUBSW | |
X86_INS_VPMADDWD | |
X86_INS_VPMASKMOVD | |
X86_INS_VPMASKMOVQ | |
X86_INS_VPMAXSB | |
X86_INS_VPMAXSD | |
X86_INS_VPMAXSQ | |
X86_INS_VPMAXSW | |
X86_INS_VPMAXUB | |
X86_INS_VPMAXUD | |
X86_INS_VPMAXUQ | |
X86_INS_VPMAXUW | |
X86_INS_VPMINSB | |
X86_INS_VPMINSD | |
X86_INS_VPMINSQ | |
X86_INS_VPMINSW | |
X86_INS_VPMINUB | |
X86_INS_VPMINUD | |
X86_INS_VPMINUQ | |
X86_INS_VPMINUW | |
X86_INS_VPMOVDB | |
X86_INS_VPMOVDW | |
X86_INS_VPMOVMSKB | |
X86_INS_VPMOVQB | |
X86_INS_VPMOVQD | |
X86_INS_VPMOVQW | |
X86_INS_VPMOVSDB | |
X86_INS_VPMOVSDW | |
X86_INS_VPMOVSQB | |
X86_INS_VPMOVSQD | |
X86_INS_VPMOVSQW | |
X86_INS_VPMOVSXBD | |
X86_INS_VPMOVSXBQ | |
X86_INS_VPMOVSXBW | |
X86_INS_VPMOVSXDQ | |
X86_INS_VPMOVSXWD | |
X86_INS_VPMOVSXWQ | |
X86_INS_VPMOVUSDB | |
X86_INS_VPMOVUSDW | |
X86_INS_VPMOVUSQB | |
X86_INS_VPMOVUSQD | |
X86_INS_VPMOVUSQW | |
X86_INS_VPMOVZXBD | |
X86_INS_VPMOVZXBQ | |
X86_INS_VPMOVZXBW | |
X86_INS_VPMOVZXDQ | |
X86_INS_VPMOVZXWD | |
X86_INS_VPMOVZXWQ | |
X86_INS_VPMULDQ | |
X86_INS_VPMULHRSW | |
X86_INS_VPMULHUW | |
X86_INS_VPMULHW | |
X86_INS_VPMULLD | |
X86_INS_VPMULLW | |
X86_INS_VPMULUDQ | |
X86_INS_VPORD | |
X86_INS_VPORQ | |
X86_INS_VPOR | |
X86_INS_VPPERM | |
X86_INS_VPROTB | |
X86_INS_VPROTD | |
X86_INS_VPROTQ | |
X86_INS_VPROTW | |
X86_INS_VPSADBW | |
X86_INS_VPSCATTERDD | |
X86_INS_VPSCATTERDQ | |
X86_INS_VPSCATTERQD | |
X86_INS_VPSCATTERQQ | |
X86_INS_VPSHAB | |
X86_INS_VPSHAD | |
X86_INS_VPSHAQ | |
X86_INS_VPSHAW | |
X86_INS_VPSHLB | |
X86_INS_VPSHLD | |
X86_INS_VPSHLQ | |
X86_INS_VPSHLW | |
X86_INS_VPSHUFB | |
X86_INS_VPSHUFD | |
X86_INS_VPSHUFHW | |
X86_INS_VPSHUFLW | |
X86_INS_VPSIGNB | |
X86_INS_VPSIGND | |
X86_INS_VPSIGNW | |
X86_INS_VPSLLDQ | |
X86_INS_VPSLLD | |
X86_INS_VPSLLQ | |
X86_INS_VPSLLVD | |
X86_INS_VPSLLVQ | |
X86_INS_VPSLLW | |
X86_INS_VPSRAD | |
X86_INS_VPSRAQ | |
X86_INS_VPSRAVD | |
X86_INS_VPSRAVQ | |
X86_INS_VPSRAW | |
X86_INS_VPSRLDQ | |
X86_INS_VPSRLD | |
X86_INS_VPSRLQ | |
X86_INS_VPSRLVD | |
X86_INS_VPSRLVQ | |
X86_INS_VPSRLW | |
X86_INS_VPSUBB | |
X86_INS_VPSUBD | |
X86_INS_VPSUBQ | |
X86_INS_VPSUBSB | |
X86_INS_VPSUBSW | |
X86_INS_VPSUBUSB | |
X86_INS_VPSUBUSW | |
X86_INS_VPSUBW | |
X86_INS_VPTESTMD | |
X86_INS_VPTESTMQ | |
X86_INS_VPTESTNMD | |
X86_INS_VPTESTNMQ | |
X86_INS_VPTEST | |
X86_INS_VPUNPCKHBW | |
X86_INS_VPUNPCKHDQ | |
X86_INS_VPUNPCKHQDQ | |
X86_INS_VPUNPCKHWD | |
X86_INS_VPUNPCKLBW | |
X86_INS_VPUNPCKLDQ | |
X86_INS_VPUNPCKLQDQ | |
X86_INS_VPUNPCKLWD | |
X86_INS_VPXORD | |
X86_INS_VPXORQ | |
X86_INS_VPXOR | |
X86_INS_VRCP14PD | |
X86_INS_VRCP14PS | |
X86_INS_VRCP14SD | |
X86_INS_VRCP14SS | |
X86_INS_VRCP28PD | |
X86_INS_VRCP28PS | |
X86_INS_VRCP28SD | |
X86_INS_VRCP28SS | |
X86_INS_VRCPPS | |
X86_INS_VRCPSS | |
X86_INS_VRNDSCALEPD | |
X86_INS_VRNDSCALEPS | |
X86_INS_VRNDSCALESD | |
X86_INS_VRNDSCALESS | |
X86_INS_VROUNDPD | |
X86_INS_VROUNDPS | |
X86_INS_VROUNDSD | |
X86_INS_VROUNDSS | |
X86_INS_VRSQRT14PD | |
X86_INS_VRSQRT14PS | |
X86_INS_VRSQRT14SD | |
X86_INS_VRSQRT14SS | |
X86_INS_VRSQRT28PD | |
X86_INS_VRSQRT28PS | |
X86_INS_VRSQRT28SD | |
X86_INS_VRSQRT28SS | |
X86_INS_VRSQRTPS | |
X86_INS_VRSQRTSS | |
X86_INS_VSCATTERDPD | |
X86_INS_VSCATTERDPS | |
X86_INS_VSCATTERPF0DPD | |
X86_INS_VSCATTERPF0DPS | |
X86_INS_VSCATTERPF0QPD | |
X86_INS_VSCATTERPF0QPS | |
X86_INS_VSCATTERPF1DPD | |
X86_INS_VSCATTERPF1DPS | |
X86_INS_VSCATTERPF1QPD | |
X86_INS_VSCATTERPF1QPS | |
X86_INS_VSCATTERQPD | |
X86_INS_VSCATTERQPS | |
X86_INS_VSHUFPD | |
X86_INS_VSHUFPS | |
X86_INS_VSQRTPD | |
X86_INS_VSQRTPS | |
X86_INS_VSQRTSD | |
X86_INS_VSQRTSS | |
X86_INS_VSTMXCSR | |
X86_INS_VSUBPD | |
X86_INS_VSUBPS | |
X86_INS_VSUBSD | |
X86_INS_VSUBSS | |
X86_INS_VTESTPD | |
X86_INS_VTESTPS | |
X86_INS_VUNPCKHPD | |
X86_INS_VUNPCKHPS | |
X86_INS_VUNPCKLPD | |
X86_INS_VUNPCKLPS | |
X86_INS_VZEROALL | |
X86_INS_VZEROUPPER | |
X86_INS_WAIT | |
X86_INS_WBINVD | |
X86_INS_WRFSBASE | |
X86_INS_WRGSBASE | |
X86_INS_WRMSR | |
X86_INS_XABORT | |
X86_INS_XACQUIRE | |
X86_INS_XBEGIN | |
X86_INS_XCHG | |
X86_INS_FXCH | |
X86_INS_XCRYPTCBC | |
X86_INS_XCRYPTCFB | |
X86_INS_XCRYPTCTR | |
X86_INS_XCRYPTECB | |
X86_INS_XCRYPTOFB | |
X86_INS_XEND | |
X86_INS_XGETBV | |
X86_INS_XLATB | |
X86_INS_XRELEASE | |
X86_INS_XRSTOR | |
X86_INS_XRSTOR64 | |
X86_INS_XSAVE | |
X86_INS_XSAVE64 | |
X86_INS_XSAVEOPT | |
X86_INS_XSAVEOPT64 | |
X86_INS_XSETBV | |
X86_INS_XSHA1 | |
X86_INS_XSHA256 | |
X86_INS_XSTORE | |
X86_INS_XTEST | |
X86_INS_ENDING ' mark the end of the list of insn | |
End Enum | |
'Group of X86 instructions | |
Public Enum x86_insn_group | |
X86_GRP_INVALID = 0 ' = CS_GRP_INVALID | |
' > Generic groups ' | |
X86_GRP_JUMP 'all jump instructions (conditional+direct+indirect jumps) = CS_GRP_JUMP | |
X86_GRP_CALL 'all call instructions = CS_GRP_CALL | |
X86_GRP_RET ' all return instructions = CS_GRP_RET | |
X86_GRP_INT 'all interrupt instructions (int+syscall) = CS_GRP_INT | |
X86_GRP_IRET 'all interrupt return instructions = CS_GRP_IRET | |
' > Architecture-specific groups | |
X86_GRP_VM = 128 ' all virtualization instructions (VT-x + AMD-V) | |
X86_GRP_3DNOW | |
X86_GRP_AES | |
X86_GRP_ADX | |
X86_GRP_AVX | |
X86_GRP_AVX2 | |
X86_GRP_AVX512 | |
X86_GRP_BMI | |
X86_GRP_BMI2 | |
X86_GRP_CMOV | |
X86_GRP_F16C | |
X86_GRP_FMA | |
X86_GRP_FMA4 | |
X86_GRP_FSGSBASE | |
X86_GRP_HLE | |
X86_GRP_MMX | |
X86_GRP_MODE32 | |
X86_GRP_MODE64 | |
X86_GRP_RTM | |
X86_GRP_SHA | |
X86_GRP_SSE1 | |
X86_GRP_SSE2 | |
X86_GRP_SSE3 | |
X86_GRP_SSE41 | |
X86_GRP_SSE42 | |
X86_GRP_SSE4A | |
X86_GRP_SSSE3 | |
X86_GRP_PCLMUL | |
X86_GRP_XOP | |
X86_GRP_CDI | |
X86_GRP_ERI | |
X86_GRP_TBM | |
X86_GRP_16BITMODE | |
X86_GRP_NOT64BITMODE | |
X86_GRP_SGX | |
X86_GRP_DQI | |
X86_GRP_BWI | |
X86_GRP_PFI | |
X86_GRP_VLX | |
X86_GRP_SMAP | |
X86_GRP_NOVLX | |
X86_GRP_ENDING | |
End Enum | |
Function x86_sse_cc2str(v As x86_sse_cc) As String | |
Dim r As String | |
If v = X86_SSE_CC_INVALID Then r = "X86_SSE_CC_INVALID" | |
If v = X86_SSE_CC_EQ Then r = "X86_SSE_CC_EQ" | |
If v = X86_SSE_CC_LT Then r = "X86_SSE_CC_LT" | |
If v = X86_SSE_CC_LE Then r = "X86_SSE_CC_LE" | |
If v = X86_SSE_CC_UNORD Then r = "X86_SSE_CC_UNORD" | |
If v = X86_SSE_CC_NEQ Then r = "X86_SSE_CC_NEQ" | |
If v = X86_SSE_CC_NLT Then r = "X86_SSE_CC_NLT" | |
If v = X86_SSE_CC_NLE Then r = "X86_SSE_CC_NLE" | |
If v = X86_SSE_CC_ORD Then r = "X86_SSE_CC_ORD" | |
If v = X86_SSE_CC_EQ_UQ Then r = "X86_SSE_CC_EQ_UQ" | |
If v = X86_SSE_CC_NGE Then r = "X86_SSE_CC_NGE" | |
If v = X86_SSE_CC_NGT Then r = "X86_SSE_CC_NGT" | |
If v = X86_SSE_CC_FALSE Then r = "X86_SSE_CC_FALSE" | |
If v = X86_SSE_CC_NEQ_OQ Then r = "X86_SSE_CC_NEQ_OQ" | |
If v = X86_SSE_CC_GE Then r = "X86_SSE_CC_GE" | |
If v = X86_SSE_CC_GT Then r = "X86_SSE_CC_GT" | |
If v = X86_SSE_CC_TRUE Then r = "X86_SSE_CC_TRUE" | |
If Len(r) = 0 Then | |
r = "Unknown: " & Hex(v) | |
ElseIf DEBUG_DUMP Then | |
r = r & " (" & Hex(v) & ")" | |
End If | |
x86_sse_cc2str = r | |
End Function | |
Function x86_avx_cc2str(v As x86_avx_cc) As String | |
Dim r As String | |
If v = X86_AVX_CC_INVALID Then r = "X86_AVX_CC_INVALID" | |
If v = X86_AVX_CC_EQ Then r = "X86_AVX_CC_EQ" | |
If v = X86_AVX_CC_LT Then r = "X86_AVX_CC_LT" | |
If v = X86_AVX_CC_LE Then r = "X86_AVX_CC_LE" | |
If v = X86_AVX_CC_UNORD Then r = "X86_AVX_CC_UNORD" | |
If v = X86_AVX_CC_NEQ Then r = "X86_AVX_CC_NEQ" | |
If v = X86_AVX_CC_NLT Then r = "X86_AVX_CC_NLT" | |
If v = X86_AVX_CC_NLE Then r = "X86_AVX_CC_NLE" | |
If v = X86_AVX_CC_ORD Then r = "X86_AVX_CC_ORD" | |
If v = X86_AVX_CC_EQ_UQ Then r = "X86_AVX_CC_EQ_UQ" | |
If v = X86_AVX_CC_NGE Then r = "X86_AVX_CC_NGE" | |
If v = X86_AVX_CC_NGT Then r = "X86_AVX_CC_NGT" | |
If v = X86_AVX_CC_FALSE Then r = "X86_AVX_CC_FALSE" | |
If v = X86_AVX_CC_NEQ_OQ Then r = "X86_AVX_CC_NEQ_OQ" | |
If v = X86_AVX_CC_GE Then r = "X86_AVX_CC_GE" | |
If v = X86_AVX_CC_GT Then r = "X86_AVX_CC_GT" | |
If v = X86_AVX_CC_TRUE Then r = "X86_AVX_CC_TRUE" | |
If v = X86_AVX_CC_EQ_OS Then r = "X86_AVX_CC_EQ_OS" | |
If v = X86_AVX_CC_LT_OQ Then r = "X86_AVX_CC_LT_OQ" | |
If v = X86_AVX_CC_LE_OQ Then r = "X86_AVX_CC_LE_OQ" | |
If v = X86_AVX_CC_UNORD_S Then r = "X86_AVX_CC_UNORD_S" | |
If v = X86_AVX_CC_NEQ_US Then r = "X86_AVX_CC_NEQ_US" | |
If v = X86_AVX_CC_NLT_UQ Then r = "X86_AVX_CC_NLT_UQ" | |
If v = X86_AVX_CC_NLE_UQ Then r = "X86_AVX_CC_NLE_UQ" | |
If v = X86_AVX_CC_ORD_S Then r = "X86_AVX_CC_ORD_S" | |
If v = X86_AVX_CC_EQ_US Then r = "X86_AVX_CC_EQ_US" | |
If v = X86_AVX_CC_NGE_UQ Then r = "X86_AVX_CC_NGE_UQ" | |
If v = X86_AVX_CC_NGT_UQ Then r = "X86_AVX_CC_NGT_UQ" | |
If v = X86_AVX_CC_FALSE_OS Then r = "X86_AVX_CC_FALSE_OS" | |
If v = X86_AVX_CC_NEQ_OS Then r = "X86_AVX_CC_NEQ_OS" | |
If v = X86_AVX_CC_GE_OQ Then r = "X86_AVX_CC_GE_OQ" | |
If v = X86_AVX_CC_GT_OQ Then r = "X86_AVX_CC_GT_OQ" | |
If v = X86_AVX_CC_TRUE_US Then r = "X86_AVX_CC_TRUE_US" | |
If Len(r) = 0 Then | |
r = "Unknown: " & Hex(v) | |
ElseIf DEBUG_DUMP Then | |
r = r & " (" & Hex(v) & ")" | |
End If | |
x86_avx_cc2str = r | |
End Function | |
Function x86_avx_rm2str(v As x86_avx_rm) As String | |
Dim r As String | |
If v = X86_AVX_RM_INVALID Then r = "X86_AVX_RM_INVALID" | |
If v = X86_AVX_RM_RN Then r = "X86_AVX_RM_RN" | |
If v = X86_AVX_RM_RD Then r = "X86_AVX_RM_RD" | |
If v = X86_AVX_RM_RU Then r = "X86_AVX_RM_RU" | |
If v = X86_AVX_RM_RZ Then r = "X86_AVX_RM_RZ" | |
If Len(r) = 0 Then | |
r = "Unknown: " & Hex(v) | |
ElseIf DEBUG_DUMP Then | |
r = r & " (" & Hex(v) & ")" | |
End If | |
x86_avx_rm2str = r | |
End Function | |