#include <enc_base.h>
Public Member Functions | |
Operand () | |
Initializes the instance with empty size and kind. | |
Operand (RegName reg) | |
Creates register operand from given RegName. | |
Operand (OpndSize sz, OpndKind kind, RegName reg) | |
Creates register operand from given RegName and with the specified size and kind. | |
Operand (OpndSize size, long long ival) | |
Creates immediate operand with the given size and value. | |
Operand (int ival) | |
Creates immediate operand of OpndSize_32. | |
Operand (short ival) | |
Creates immediate operand of OpndSize_16. | |
Operand (char ival) | |
Creates immediate operand of OpndSize_8. | |
Operand (OpndSize size, RegName base, RegName index, unsigned scale, int disp) | |
Creates memory operand. | |
Operand (OpndSize size, RegName base, int disp) | |
Creates memory operand with only base and displacement. | |
OpndKind | kind (void) const |
Returns kind of the operand. | |
OpndSize | size (void) const |
Returns size of the operand. | |
unsigned | hash (void) const |
Returns hash of the operand. | |
bool | need_rex (void) const |
bool | is_mem (void) const |
Tests whether operand is memory operand. | |
bool | is_imm (void) const |
Tests whether operand is immediate operand. | |
bool | is_reg (void) const |
Tests whether operand is register operand. | |
bool | is_gpreg (void) const |
Tests whether operand is general-purpose register operand. | |
bool | is_fpreg (void) const |
Tests whether operand is float-point pseudo-register operand. | |
bool | is_xmmreg (void) const |
Tests whether operand is XMM register operand. | |
RegName | base (void) const |
Returns base of memory operand (RegName_Null if not memory). | |
RegName | index (void) const |
Returns index of memory operand (RegName_Null if not memory). | |
unsigned | scale (void) const |
Returns scale of memory operand (0 if not memory). | |
int | disp (void) const |
Returns displacement of memory operand (0 if not memory). | |
RegName | reg (void) const |
Returns RegName of register operand (RegName_Null if not register). | |
long long | imm (void) const |
Returns value of immediate operand (0 if not immediate). | |
Friends | |
class | EncoderBase::Operands |
EncoderBase.Operand.Operand | ( | ) |
Initializes the instance with empty size and kind.
EncoderBase.Operand.Operand | ( | RegName | reg | ) |
Creates register operand from given RegName.
Creates register operand from given RegName and with the specified size and kind.
Used to speedup Operand creation as there is no need to extract size and kind from the RegName. The provided size and kind must match the RegName's ones though.
EncoderBase.Operand.Operand | ( | OpndSize | size, | |
long long | ival | |||
) |
Creates immediate operand with the given size and value.
EncoderBase.Operand.Operand | ( | int | ival | ) |
Creates immediate operand of OpndSize_32.
EncoderBase.Operand.Operand | ( | short | ival | ) |
Creates immediate operand of OpndSize_16.
EncoderBase.Operand.Operand | ( | char | ival | ) |
Creates immediate operand of OpndSize_8.
EncoderBase.Operand.Operand | ( | OpndSize | size, | |
RegName | base, | |||
RegName | index, | |||
unsigned | scale, | |||
int | disp | |||
) |
Creates memory operand.
Creates memory operand with only base and displacement.
OpndKind EncoderBase.Operand.kind | ( | void | ) | const |
Returns kind of the operand.
OpndSize EncoderBase.Operand.size | ( | void | ) | const |
Returns size of the operand.
unsigned EncoderBase.Operand.hash | ( | void | ) | const |
Returns hash of the operand.
bool EncoderBase.Operand.need_rex | ( | void | ) | const |
bool EncoderBase.Operand.is_mem | ( | void | ) | const |
Tests whether operand is memory operand.
bool EncoderBase.Operand.is_imm | ( | void | ) | const |
Tests whether operand is immediate operand.
bool EncoderBase.Operand.is_reg | ( | void | ) | const |
Tests whether operand is register operand.
bool EncoderBase.Operand.is_gpreg | ( | void | ) | const |
Tests whether operand is general-purpose register operand.
bool EncoderBase.Operand.is_fpreg | ( | void | ) | const |
Tests whether operand is float-point pseudo-register operand.
bool EncoderBase.Operand.is_xmmreg | ( | void | ) | const |
Tests whether operand is XMM register operand.
RegName EncoderBase.Operand.base | ( | void | ) | const |
Returns base of memory operand (RegName_Null if not memory).
RegName EncoderBase.Operand.index | ( | void | ) | const |
Returns index of memory operand (RegName_Null if not memory).
unsigned EncoderBase.Operand.scale | ( | void | ) | const |
Returns scale of memory operand (0 if not memory).
int EncoderBase.Operand.disp | ( | void | ) | const |
Returns displacement of memory operand (0 if not memory).
RegName EncoderBase.Operand.reg | ( | void | ) | const |
Returns RegName of register operand (RegName_Null if not register).
long long EncoderBase.Operand.imm | ( | void | ) | const |
Returns value of immediate operand (0 if not immediate).
friend class EncoderBase::Operands [friend] |
long long EncoderBase.Operand.m_imm64 |
Genereated on Tue Mar 11 19:25:42 2008 by Doxygen.
(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable.