Pin
Functions | Variables
ins_api_xed_ia32.cpp File Reference
#include "level_base.H"
#include "level_core_with_ia32_ins.H"

Functions

BOOL LEVEL_CORE::INS_HasRealRep (INS ins)
 
BOOL LEVEL_CORE::INS_IsStandardMemop (INS ins)
 
BOOL LEVEL_CORE::INS_IsCacheLineFlush (INS ins)
 
INT32 LEVEL_CORE::INS_Category (const INS ins)
 
INT32 LEVEL_CORE::INS_Extension (const INS ins)
 
UINT32 LEVEL_CORE::INS_EffectiveAddressWidth (INS ins)
 
USIZE LEVEL_CORE::INS_MemoryOperandSize (INS ins, UINT32 memoryOp)
 
USIZE LEVEL_CORE::INS_MemoryWriteSize (INS ins)
 
USIZE LEVEL_CORE::INS_MemoryReadSize (INS ins)
 
PREDICATE LEVEL_CORE::INS_GetPredicate (INS ins)
 
BOOL LEVEL_CORE::INS_IsMemoryRead (INS ins)
 
BOOL LEVEL_CORE::INS_IsMemoryWrite (INS ins)
 
BOOL LEVEL_CORE::INS_HasMemoryRead2 (INS ins)
 
BOOL LEVEL_CORE::INS_HasFallThrough (INS ins)
 
BOOL LEVEL_CORE::INS_IsSysenter (INS ins)
 
BOOL LEVEL_CORE::INS_IsXbegin (INS ins)
 
BOOL LEVEL_CORE::INS_IsXend (INS ins)
 
BOOL LEVEL_CORE::INS_IsLea (INS ins)
 
BOOL LEVEL_CORE::INS_IsNop (INS ins)
 
std::string LEVEL_CORE::OPCODE_StringShort (UINT32 opcode)
 
std::string LEVEL_CORE::INS_Mnemonic (INS ins)
 
BOOL LEVEL_CORE::INS_IsBranch (INS ins)
 
BOOL LEVEL_CORE::INS_IsDirectBranch (INS ins)
 
BOOL LEVEL_CORE::INS_IsDirectCall (INS ins)
 
PIN_DEPRECATED_API BOOL LEVEL_CORE::INS_IsDirectBranchOrCall (INS ins)
 
BOOL LEVEL_CORE::INS_IsDirectControlFlow (INS ins)
 
BOOL LEVEL_CORE::INS_IsHalt (INS ins)
 
PIN_DEPRECATED_API BOOL LEVEL_CORE::INS_IsBranchOrCall (INS ins)
 
BOOL LEVEL_CORE::INS_Stutters (INS ins)
 
BOOL LEVEL_CORE::INS_IsPcMaterialization (INS ins)
 
BOOL LEVEL_CORE::INS_IsCall (INS ins)
 
BOOL LEVEL_CORE::INS_IsControlFlow (INS ins)
 
BOOL LEVEL_CORE::INS_IsFarCall (INS ins)
 
BOOL LEVEL_CORE::INS_IsFarJump (INS ins)
 
BOOL LEVEL_CORE::INS_IsDirectFarJump (INS ins)
 
BOOL LEVEL_CORE::INS_IsValidForIpointAfter (INS ins)
 
BOOL LEVEL_CORE::INS_IsValidForIpointTakenBranch (INS ins)
 
BOOL LEVEL_CORE::INS_IsVgather (INS ins)
 
BOOL LEVEL_CORE::INS_IsVscatter (INS ins)
 
BOOL LEVEL_CORE::INS_HasMemoryVector (INS ins)
 
VOID LEVEL_CORE::INS_GetFarPointer (INS ins, UINT16 &segment_selector, UINT32 &displacement)
 
BOOL LEVEL_CORE::INS_IsProcedureCall (INS ins)
 
BOOL LEVEL_CORE::INS_IsRet (INS ins)
 
BOOL LEVEL_CORE::INS_IsSysret (INS ins)
 
BOOL LEVEL_CORE::INS_IsFarRet (INS ins)
 
BOOL LEVEL_CORE::INS_IsPrefetch (INS ins)
 
BOOL LEVEL_CORE::INS_IsSub (const INS ins)
 
BOOL LEVEL_CORE::INS_IsMov (const INS ins)
 
BOOL LEVEL_CORE::INS_IsMovFullRegRegSame (const INS ins)
 
BOOL LEVEL_CORE::INS_IsAtomicUpdate (const INS ins)
 
BOOL LEVEL_CORE::INS_IsRDTSC (const INS ins)
 
BOOL LEVEL_CORE::INS_IsMaskMov (const INS ins)
 
REG LEVEL_CORE::INS_RepCountRegister (INS ins)
 
PIN_DEPRECATED_API BOOL LEVEL_CORE::INS_IsIndirectBranchOrCall (INS ins)
 
BOOL LEVEL_CORE::INS_IsIndirectControlFlow (INS ins)
 
REG LEVEL_CORE::INS_SegmentRegPrefix (INS ins)
 
BOOL LEVEL_CORE::INS_HasExplicitMemoryReference (INS ins)
 
LOCALVAR KNOB_COMMENT LEVEL_CORE::KnobDisassemblyFamily (knobfamily, "IA-32 architecture and Intel(R) 64 architecture disassembly format")
 
LOCALVAR KNOB< BOOL > LEVEL_CORE::KnobXedDisassembly (KNOB_MODE_WRITEONCE, knobfamily, "xedprint", "0", "Disassemble using Intel(R) X86 Encoder Decoder format")
 
LOCALVAR KNOB< BOOL > LEVEL_CORE::KnobATTDisassembly (KNOB_MODE_WRITEONCE, knobfamily, "attprint", "0", "Disassemble using ATT format")
 
LOCALVAR KNOB< BOOL > LEVEL_CORE::KnobIntelDisassembly (KNOB_MODE_WRITEONCE, knobfamily, "intelprint", "0", "Disassemble using Intel format (default)")
 
LOCALFUN VOID LEVEL_CORE::INS_SetSyntaxFromKnobs ()
 
VOID LEVEL_CORE::PIN_SetSyntaxIntel ()
 
VOID LEVEL_CORE::PIN_SetSyntaxATT ()
 
VOID LEVEL_CORE::PIN_SetSyntaxXED ()
 
REG LEVEL_CORE::INS_RegR (INS x, UINT32 k)
 
REG LEVEL_CORE::INS_RegW (INS x, UINT32 k)
 
std::string LEVEL_CORE::CATEGORY_StringShort (UINT32 num)
 
std::string LEVEL_CORE::EXTENSION_StringShort (UINT32 num)
 
BOOL LEVEL_CORE::INS_SegPrefixIsMemoryRead (INS ins)
 
BOOL LEVEL_CORE::INS_SegPrefixIsMemoryWrite (INS ins)
 
BOOL LEVEL_CORE::INS_AddressSizePrefix (INS ins)
 
BOOL LEVEL_CORE::INS_BranchNotTakenPrefix (INS ins)
 
BOOL LEVEL_CORE::INS_BranchTakenPrefix (INS ins)
 
BOOL LEVEL_CORE::INS_LockPrefix (INS ins)
 
BOOL LEVEL_CORE::INS_OperandSizePrefix (INS ins)
 
BOOL LEVEL_CORE::INS_RepPrefix (INS ins)
 
BOOL LEVEL_CORE::INS_RepnePrefix (INS ins)
 
BOOL LEVEL_CORE::INS_SegmentPrefix (INS ins)
 
BOOL LEVEL_CORE::INS_IsXchg (INS ins)
 
BOOL LEVEL_CORE::INS_IsStringop (INS ins)
 
BOOL LEVEL_CORE::INS_IsIRet (INS ins)
 

Variables

LOCALVAR CHAR const * LEVEL_CORE::knobfamily = "supported:disassembly"
 
LOCALVAR xed_syntax_enum_t LEVEL_CORE::syntax = XED_SYNTAX_INTEL
 

Detailed Description

this file contains functions visible in level_core it uses primitives from level_core_with_ia32_ins but does not leak out any IA32 stuff!