Here is an exhaustive list of constants used by fields sends back by BeaEngine. I tried to make these lists as easy to use as possible.
Values taken by (MyDisasm.Instruction.Category & 0xFFFF0000)
GENERAL_PURPOSE_INSTRUCTION = 0x10000, FPU_INSTRUCTION = 0x20000, MMX_INSTRUCTION = 0x40000, SSE_INSTRUCTION = 0x80000, SSE2_INSTRUCTION = 0x100000, SSE3_INSTRUCTION = 0x200000, SSSE3_INSTRUCTION = 0x400000, SSE41_INSTRUCTION = 0x800000, SSE42_INSTRUCTION = 0x1000000, SYSTEM_INSTRUCTION = 0x2000000, VM_INSTRUCTION = 0x4000000, UNDOCUMENTED_INSTRUCTION = 0x8000000, AMD_INSTRUCTION = 0x10000000, ILLEGAL_INSTRUCTION = 0x20000000, INCOMPATIBLE_TYPE = 0x80000000,
Values taken by LOWORD(MyDisasm.Instruction.Category)
DATA_TRANSFER = 0x1 ARITHMETIC_INSTRUCTION = 2 LOGICAL_INSTRUCTION = 3 SHIFT_ROTATE = 4 BIT_BYTE = 5 CONTROL_TRANSFER = 6 STRING_INSTRUCTION = 7 InOutINSTRUCTION = 8 ENTER_LEAVE_INSTRUCTION = 9 FLAG_CONTROL_INSTRUCTION = 10 SEGMENT_REGISTER = 11 MISCELLANEOUS_INSTRUCTION = 12 COMPARISON_INSTRUCTION = 13 LOGARITHMIC_INSTRUCTION = 14 TRIGONOMETRIC_INSTRUCTION = 15 UNSUPPORTED_INSTRUCTION = 16 LOAD_CONSTANTS = 17 FPUCONTROL = 18 STATE_MANAGEMENT = 19 CONVERSION_INSTRUCTION = 20 SHUFFLE_UNPACK = 21 PACKED_SINGLE_PRECISION = 22 SIMD128bits = 23 SIMD64bits = 24 CACHEABILITY_CONTROL = 25 FP_INTEGER_CONVERSION = 26 SPECIALIZED_128bits = 27 SIMD_FP_PACKED = 28 SIMD_FP_HORIZONTAL = 29 AGENT_SYNCHRONISATION = 30 PACKED_ALIGN_RIGHT = 31 PACKED_SIGN = 32 PACKED_BLENDING_INSTRUCTION = 33 PACKED_TEST = 34 PACKED_MINMAX = 35 HORIZONTAL_SEARCH = 36 PACKED_EQUALITY = 37 STREAMING_LOAD = 38 INSERTION_EXTRACTION = 39 DOT_PRODUCT = 40 SAD_INSTRUCTION = 41 ACCELERATOR_INSTRUCTION = 42 ROUND_INSTRUCTION = 43
Values taken by MyDisasm.Instruction.BranchType
// ===================== language : C JO = 1, JC = 2, JE = 3, JA = 4, JS = 5, JP = 6, JL = 7, JG = 8, JB = 9, JECXZ = 10, JmpType = 11, CallType = 12, RetType = 13, JNO = -1, JNC = -2, JNE = -3, JNA = -4, JNS = -5, JNP = -6, JNL = -7, JNG = -8, JNB = -9
; ===================== language : asm Jo_ equ 1 Jc_ equ 2 Je_ equ 3 Ja_ equ 4 Js_ equ 5 Jp_ equ 6 Jl_ equ 7 Jg_ equ 8 Jb_ equ 9 Jecxz_ equ 10 JmpType equ 11 CallType equ 12 RetType equ 13 Jno_ equ -1 Jnc_ equ -2 Jne_ equ -3 Jna_ equ -4 Jns_ equ -5 Jnp_ equ -6 Jnl_ equ -7 Jng_ equ -8 Jnb_ equ -9
Values taken by (MyDisasm.Argumentxx.ArgType & 0xFFFF0000)
NO_ARGUMENT = 0x10000000, REGISTER_TYPE + MMX_REG = 0x20010000, REGISTER_TYPE + GENERAL_REG = 0x20020000, REGISTER_TYPE + FPU_REG = 0x20040000, REGISTER_TYPE + SSE_REG = 0x20080000, REGISTER_TYPE + CR_REG = 0x20100000, REGISTER_TYPE + DR_REG = 0x20200000, REGISTER_TYPE + SPECIAL_REG = 0x20400000, REGISTER_TYPE + MEMORY_MANAGEMENT_REG = 0x20800000, REGISTER_TYPE + SEGMENT_REG = 0x21000000, MEMORY_TYPE = 0x40000000, CONSTANT_TYPE + RELATIVE_ = 0x84000000, CONSTANT_TYPE + ABSOLUTE_ = 0x88000000,
Values taken by LOWORD(MyDisasm.Argumentxx.ArgType)
REG0 = 0x1, ( RAX / MM0 / ST0 / XMM0 / CR0 / DR0 / GDTR / ES ) REG1 = 0x2, ( RCX / MM1 / ST1 / XMM1 / CR1 / DR1 / LDTR / CS ) REG2 = 0x4, ( RDX / MM2 / ST2 / XMM2 / CR2 / DR2 / IDTR / SS ) REG3 = 0x8, ( RBX / MM3 / ST3 / XMM3 / CR3 / DR3 / TR / DS ) REG4 = 0x10, ( RSP / MM4 / ST4 / XMM4 / CR4 / DR4 / ---- / FS ) REG5 = 0x20, ( RBP / MM5 / ST5 / XMM5 / CR5 / DR5 / ---- / GS ) REG6 = 0x40, ( RSI / MM6 / ST6 / XMM6 / CR6 / DR6 / ---- / -- ) REG7 = 0x80, ( RDI / MM7 / ST7 / XMM7 / CR7 / DR7 / ---- / -- ) REG8 = 0x100, ( R8 / --- / --- / XMM8 / CR8 / DR8 / ---- / -- ) REG9 = 0x200, ( R9 / --- / --- / XMM9 / CR9 / DR9 / ---- / -- ) REG10 = 0x400, ( R10 / --- / --- / XMM10 / CR10 / DR10 / ---- / -- ) REG11 = 0x800, ( R11 / --- / --- / XMM11 / CR11 / DR11 / ---- / -- ) REG12 = 0x1000, ( R12 / --- / --- / XMM12 / CR12 / DR12 / ---- / -- ) REG13 = 0x2000, ( R13 / --- / --- / XMM13 / CR13 / DR13 / ---- / -- ) REG14 = 0x4000, ( R14 / --- / --- / XMM14 / CR14 / DR14 / ---- / -- ) REG15 = 0x8000, ( R15 / --- / --- / XMM15 / CR15 / DR15 / ---- / -- ) EFLAGS = 0x1, MXCSR = 0x2
Values taken by MyDisasm.Options
NoTabulation = 0x0, Tabulation = 0x1, MasmSyntax = 0x000, GoAsmSyntax = 0x100, NasmSyntax = 0x200, ATSyntax = 0x400, PrefixedNumeral = 0x10000, SuffixedNumeral = 0x00000, ShowSegmentRegs = 0x01000000
Values taken by MyDisasm.Argument1.SegmentReg et MyDisasm.Argument2.SegmentReg
#define ESReg 1 #define DSReg 2 #define FSReg 3 #define GSReg 4 #define CSReg 5 #define SSReg 6
Values taken by MyDisasm.Instruction.Flags.OF_ , .SF_ ...
TE_ = 1, MO_ = 2, RE_ = 4, SE_ = 8, UN_ = 0x10, PR_ = 0x20