Welcome to the BeaEngine Sweet Home - x86 x86-64 disassembler library - (IA-32 & Intel64)

Constantes

Voici la liste exhaustive des constantes utilisées dans les différents champs renvoyés par BeaEngine. Je me suis efforcé de rendre ces listes les plus fonctionnelles possibles.

Valeurs prises par (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,

Valeurs prises par 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

Valeurs prises par MyDisasm.Instruction.BranchType

// ===================== langage : 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
; ===================== langage : 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

Valeurs prises par (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,

Valeurs prises par 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

Valeurs prises par MyDisasm.Options

  NoTabulation = 0x0,
  Tabulation = 0x1,

  MasmSyntax = 0x000,
  GoAsmSyntax = 0x100,
  NasmSyntax = 0x200,
  ATSyntax = 0x400,

  PrefixedNumeral = 0x10000,
  SuffixedNumeral = 0x00000,

  ShowSegmentRegs = 0x01000000

Valeurs prises par 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

Valeurs prises par MyDisasm.Instruction.Flags.OF_ , .SF_ ...

  TE_ = 1,
  MO_ = 2,
  RE_ = 4,
  SE_ = 8,
  UN_ = 0x10,
  PR_ = 0x20

Valid XHTML 1.0 Strict

Valid CSS!