State-of-the-art binary code analysis tools

Detailed Description

A register variable allows the user to rename a general processor register to a meaningful name.

IDA doesn't check whether the target assembler supports the register renaming. All register definitions will appear at the beginning of the function.

Inherits range_t.

Public Attributes

char * canon = nullptr
 canonical register name (case-insensitive)
 
char * user = nullptr
 user-defined register name
 
char * cmt = nullptr
 comment to appear near definition
 
- Public Attributes inherited from range_t
ea_t start_ea
 start_ea included
 
ea_t end_ea
 end_ea excluded
 

Public Member Functions

 regvar_t (const regvar_t &r)
 
regvar_toperator= (const regvar_t &r)
 
void swap (regvar_t &r)
 
- Public Member Functions inherited from range_t
 range_t (void)
 Constructor.
 
 range_t (ea_t ea1, ea_t ea2)
 Constructor.
 
int compare (const range_t &r) const
 Compare two range_t instances, based on the start_ea.
 
bool operator== (const range_t &r) const
 Compare two range_t's with '=='.
 
bool operator != (const range_t &r) const
 Compare two range_t's with '!='.
 
bool operator > (const range_t &r) const
 Compare two range_t's with '<'.
 
bool operator< (const range_t &r) const
 Compare two range_t's with '>'.
 
bool contains (ea_t ea) const
 Is 'ea' in the address range?
 
bool contains (const range_t &r) const
 Is every ea in 'r' also in this range_t?
 
bool overlaps (const range_t &r) const
 Is there an ea in 'r' that is also in this range_t?
 
void clear (void)
 Set start_ea, end_ea to 0.
 
bool empty (void) const
 Is the size of the range_t <= 0?
 
asize_t size (void) const
 Get end_ea - start_ea.
 
void intersect (const range_t &r)
 Assign the range_t to the intersection between the range_t and 'r'.
 
void extend (ea_t ea)
 Ensure that the range_t includes 'ea'.
 
size_t print (char *buf, size_t bufsize) const
 Print the range_t. More...
 

The documentation for this struct was generated from the following file: