REG (generic)
[REG: Register Object]


Functions

BOOL LEVEL_BASE::REG_is_reg (REG reg)
BOOL LEVEL_BASE::REG_is_pseudo (REG reg)
BOOL LEVEL_BASE::REG_is_gr (REG reg)
BOOL LEVEL_BASE::REG_is_fr (REG reg)
BOOL LEVEL_BASE::REG_is_br (REG reg)
BOOL LEVEL_BASE::REG_is_gr64 (REG reg)
BOOL LEVEL_BASE::REG_is_gr32 (REG reg)
BOOL LEVEL_BASE::REG_is_pin_gr32 (REG reg)
BOOL LEVEL_BASE::REG_is_gr16 (REG reg)
BOOL LEVEL_BASE::REG_is_gr8 (REG reg)
BOOL LEVEL_BASE::REG_is_seg (REG reg)
BOOL LEVEL_BASE::REG_is_pin_gr (REG reg)
BOOL LEVEL_BASE::REG_is_pin_gr_half32 (REG reg)
REG LEVEL_BASE::REG_INVALID ()
BOOL LEVEL_BASE::REG_valid (REG reg)
BOOL LEVEL_BASE::REG_is_pin64 (REG reg)
REG LEVEL_BASE::REG_FullRegName (const REG reg)
string LEVEL_BASE::REG_StringShort (REG reg)
REG LEVEL_PINCLIENT::PIN_ClaimToolRegister ()

Detailed Description

Availability:
Mode: JIT & Probe
O/S: Linux & Windows
CPU: All

Function Documentation

REG LEVEL_PINCLIENT::PIN_ClaimToolRegister  ) 
 

Claim a PIN scratch register for use by this tool.

By using this function to claim scratch registers tools can avoid contention if a tool is composed from different components each of which uses scratch registers. Using this function is to be preferred to directly using the REG_INST_Gn register enumerations.

Note that although this function is available in probe mode, use of Pin scratch registers is not currently supported in probe mode, so this function is useless there.

Returns:
A register to be used, or REG_INVALID() if all of the scratch registers available for tool use have been allocated.
Availability:
Mode: JIT & Probe
O/S: Linux, Windows & OS X*
CPU: All

REG LEVEL_BASE::REG_FullRegName const REG  reg  ) 
 

If reg is a partial register, return the name of the full register containing it. For example, on IA-32, if reg is REG_AL, the function will return REG_EAX. If reg is a full register, the function returns it unchanged.

REG LEVEL_BASE::REG_INVALID  ) 
 

Return the invalid register.

BOOL LEVEL_BASE::REG_is_br REG  reg  ) 
 

Returns:
true if reg is a branch register

BOOL LEVEL_BASE::REG_is_fr REG  reg  ) 
 

Returns:
true if reg is a floating register

BOOL LEVEL_BASE::REG_is_gr REG  reg  ) 
 

Returns:
true if reg is a FULL WIDTH general purpose register

BOOL LEVEL_BASE::REG_is_gr16 REG  reg  ) 
 

Returns:
true if reg is a 16-bit general purpose register

BOOL LEVEL_BASE::REG_is_gr32 REG  reg  ) 
 

Returns:
true if reg is a 32-bit general purpose register

BOOL LEVEL_BASE::REG_is_gr64 REG  reg  ) 
 

Returns:
true if reg is a 64-bit general purpose register

BOOL LEVEL_BASE::REG_is_gr8 REG  reg  ) 
 

Returns:
true if reg is a 8-bit general purpose register

BOOL LEVEL_BASE::REG_is_pin64 REG  reg  ) 
 

Returns:
true if reg is a 64-bit pin register

BOOL LEVEL_BASE::REG_is_pin_gr REG  reg  ) 
 

Returns:
true if reg is a FULL WIDTH general purpose pin virtual register

BOOL LEVEL_BASE::REG_is_pin_gr32 REG  reg  ) 
 

Returns:
true if reg is a 32-bit pin register

BOOL LEVEL_BASE::REG_is_pin_gr_half32 REG  reg  ) 
 

Returns:
true if reg is a FULL WIDTH general purpose pin virtual register

BOOL LEVEL_BASE::REG_is_seg REG  reg  ) 
 

Returns:
true if reg is a segment register

string LEVEL_BASE::REG_StringShort REG  reg  ) 
 

convert a REG into a printable string

BOOL LEVEL_BASE::REG_valid REG  reg  ) 
 

Check if register is valid.


Generated on Sun Jan 28 23:35:38 2018 for Pin by  doxygen 1.4.6