fcml  1.2.2
Public Member Functions | Static Public Member Functions | List of all members
fcml::EffectiveAddress Class Reference

Describes effective address. More...

#include <fcml_common.hpp>

Public Member Functions

 EffectiveAddress ()
 Creates an empry effective address. More...
 
 EffectiveAddress (const Integer &displacement)
 Creates an effective address instance with the displacement only. More...
 
 EffectiveAddress (const Register &base)
 Creates an effective address instance with the base register only. More...
 
 EffectiveAddress (const Register &base, const Integer &displacement)
 Creates an effective address instance with the base register and displacement only. More...
 
 EffectiveAddress (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement)
 Creates an effective address instance with the index register, scale factor and displacement. More...
 
 EffectiveAddress (const Register &base, const Register &index)
 Creates an effective address instance with the base register and index register. More...
 
 EffectiveAddress (const Register &base, const Register &index, fcml_uint8_t scaleFactor)
 Creates an effective address instance with the base register, index register and scale factor set. More...
 
 EffectiveAddress (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement)
 Creates an effective address instance with the base register, index register, scale factor and displacement set. More...
 
virtual ~EffectiveAddress ()
 
bool operator== (const EffectiveAddress &address) const
 Checks whether two effective addresses are equal or not. More...
 
bool operator!= (const EffectiveAddress &address) const
 Checks whether two effective addresses are equal or not. More...
 
const RegistergetBase () const
 Gets the constant base register associated with the effective address. More...
 
RegistergetBase ()
 Gets the base register associated with the effective address. More...
 
EffectiveAddresssetBase (const Register &base)
 Sets a new base register for the effective address. More...
 
const IntegergetDisplacement () const
 Gets the constant displacement associated with the effective address. More...
 
IntegergetDisplacement ()
 Gets the displacement associated with the effective address. More...
 
EffectiveAddresssetDisplacement (const Integer &displacement)
 Sets a new displacement value for the effective address. More...
 
const RegistergetIndex () const
 Gets the constant index register associated with the effective address. More...
 
RegistergetIndex ()
 Gets the index register associated with the effective address. More...
 
EffectiveAddresssetIndex (const Register &index)
 Sets a new index register for the effective address. More...
 
fcml_uint8_t getScaleFactor () const
 Gets a scale factor value associated with the effective address. More...
 
EffectiveAddresssetScaleFactor (fcml_uint8_t scaleFactor)
 Sets a new scale factor for the effective address. More...
 

Static Public Member Functions

static EffectiveAddress addr (const Integer &displacement)
 Factory method which creates an effective address instance with the displacement only. More...
 
static EffectiveAddress addr (const Register &base)
 Factory method which creates an effective address instance with the base register only. More...
 
static EffectiveAddress addr (const Register &base, const Integer &displacement)
 Factory method which creates an effective address instance with the base register and displacement. More...
 
static EffectiveAddress addr (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement)
 Factory method which creates an effective address instance with the index register, scale factor and displacement. More...
 
static EffectiveAddress addr (const Register &base, const Register &index)
 Factory method which creates an effective address instance with the base register and index register. More...
 
static EffectiveAddress addr (const Register &base, const Register &index, fcml_uint8_t scaleFactor)
 Factory method which creates an effective address instance with the base register, index register and scale factor. More...
 
static EffectiveAddress addr (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement)
 Factory method which creates an effective address instance with the base register, index register, scale factor and displacement. More...
 

Detailed Description

Describes effective address.

It's a counterpart to the fcml_st_effective_address structure.

Since
1.1.0

Constructor & Destructor Documentation

◆ EffectiveAddress() [1/8]

fcml::EffectiveAddress::EffectiveAddress ( )
inline

Creates an empry effective address.

Since
1.1.0

◆ EffectiveAddress() [2/8]

fcml::EffectiveAddress::EffectiveAddress ( const Integer displacement)
inline

Creates an effective address instance with the displacement only.

Parameters
displacementThe displacement value.
Since
1.1.0

◆ EffectiveAddress() [3/8]

fcml::EffectiveAddress::EffectiveAddress ( const Register base)
inline

Creates an effective address instance with the base register only.

Parameters
baseThe base register.
Since
1.1.0

◆ EffectiveAddress() [4/8]

fcml::EffectiveAddress::EffectiveAddress ( const Register base,
const Integer displacement 
)
inline

Creates an effective address instance with the base register and displacement only.

Parameters
baseThe base register.
displacementThe displacement value.
Since
1.1.0

◆ EffectiveAddress() [5/8]

fcml::EffectiveAddress::EffectiveAddress ( const Register index,
fcml_uint8_t  scaleFactor,
const Integer displacement 
)
inline

Creates an effective address instance with the index register, scale factor and displacement.

Parameters
indexThe index register.
scaleFactorThe scale factor value.
displacementThe displacement.
Since
1.1.0

◆ EffectiveAddress() [6/8]

fcml::EffectiveAddress::EffectiveAddress ( const Register base,
const Register index 
)
inline

Creates an effective address instance with the base register and index register.

Parameters
baseThe base register.
indexThe index register.
Since
1.1.0

◆ EffectiveAddress() [7/8]

fcml::EffectiveAddress::EffectiveAddress ( const Register base,
const Register index,
fcml_uint8_t  scaleFactor 
)
inline

Creates an effective address instance with the base register, index register and scale factor set.

Parameters
baseThe base register.
indexTHe index register.
scaleFactorThe scale factor.
Since
1.1.0

◆ EffectiveAddress() [8/8]

fcml::EffectiveAddress::EffectiveAddress ( const Register base,
const Register index,
fcml_uint8_t  scaleFactor,
const Integer displacement 
)
inline

Creates an effective address instance with the base register, index register, scale factor and displacement set.

Parameters
baseThe base register.
indexThe index register.
scaleFactorThe scale factor value.
displacementThe displacement.
Since
1.1.0

◆ ~EffectiveAddress()

virtual fcml::EffectiveAddress::~EffectiveAddress ( )
inlinevirtual
Since
1.1.0

Member Function Documentation

◆ addr() [1/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Integer displacement)
inlinestatic

Factory method which creates an effective address instance with the displacement only.

Parameters
displacementThe displacement value.
Since
1.1.0

◆ addr() [2/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Register base)
inlinestatic

Factory method which creates an effective address instance with the base register only.

Parameters
baseThe base register.
Since
1.1.0

◆ addr() [3/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Register base,
const Integer displacement 
)
inlinestatic

Factory method which creates an effective address instance with the base register and displacement.

Parameters
baseThe base register.
displacementThe displacement value.
Since
1.1.0

◆ addr() [4/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Register index,
fcml_uint8_t  scaleFactor,
const Integer displacement 
)
inlinestatic

Factory method which creates an effective address instance with the index register, scale factor and displacement.

Parameters
indexThe index register.
scaleFactorThe scale factor.
displacementThe displacement value.
Since
1.1.0

◆ addr() [5/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Register base,
const Register index 
)
inlinestatic

Factory method which creates an effective address instance with the base register and index register.

Parameters
baseThe base register.
indexThe index register.
Since
1.1.0

◆ addr() [6/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Register base,
const Register index,
fcml_uint8_t  scaleFactor 
)
inlinestatic

Factory method which creates an effective address instance with the base register, index register and scale factor.

Parameters
baseThe base register.
indexThe index register.
scaleFactorThe scale factor.
Since
1.1.0

◆ addr() [7/7]

static EffectiveAddress fcml::EffectiveAddress::addr ( const Register base,
const Register index,
fcml_uint8_t  scaleFactor,
const Integer displacement 
)
inlinestatic

Factory method which creates an effective address instance with the base register, index register, scale factor and displacement.

Parameters
baseThe base register.
indexThe index register.
scaleFactorThe scale factor.
displacementThe displacement value.
Since
1.1.0

◆ getBase() [1/2]

const Register& fcml::EffectiveAddress::getBase ( ) const
inline

Gets the constant base register associated with the effective address.

Returns
The constant base register.
Since
1.1.0

◆ getBase() [2/2]

Register& fcml::EffectiveAddress::getBase ( )
inline

Gets the base register associated with the effective address.

Returns
The base register.
Since
1.1.0

◆ getDisplacement() [1/2]

const Integer& fcml::EffectiveAddress::getDisplacement ( ) const
inline

Gets the constant displacement associated with the effective address.

Returns
The constant displacement.
Since
1.1.0

◆ getDisplacement() [2/2]

Integer& fcml::EffectiveAddress::getDisplacement ( )
inline

Gets the displacement associated with the effective address.

Returns
The displacement.
Since
1.1.0

◆ getIndex() [1/2]

const Register& fcml::EffectiveAddress::getIndex ( ) const
inline

Gets the constant index register associated with the effective address.

Returns
The index register.
Since
1.1.0

◆ getIndex() [2/2]

Register& fcml::EffectiveAddress::getIndex ( )
inline

Gets the index register associated with the effective address.

Returns
The index register.
Since
1.1.0

◆ getScaleFactor()

fcml_uint8_t fcml::EffectiveAddress::getScaleFactor ( ) const
inline

Gets a scale factor value associated with the effective address.

Returns
The scale factor.
Since
1.1.0

◆ operator!=()

bool fcml::EffectiveAddress::operator!= ( const EffectiveAddress address) const
inline

Checks whether two effective addresses are equal or not.

Parameters
addressThe source address to be compared.
Returns
True if they are NOT equal.
Since
1.1.0

◆ operator==()

bool fcml::EffectiveAddress::operator== ( const EffectiveAddress address) const
inline

Checks whether two effective addresses are equal or not.

Parameters
addressThe source address to be compared.
Returns
True if they are equal.
Since
1.1.0

◆ setBase()

EffectiveAddress& fcml::EffectiveAddress::setBase ( const Register base)
inline

Sets a new base register for the effective address.

Parameters
baseThe new base register to be set.
Returns
Effective address itself.
Since
1.1.0

◆ setDisplacement()

EffectiveAddress& fcml::EffectiveAddress::setDisplacement ( const Integer displacement)
inline

Sets a new displacement value for the effective address.

Parameters
displacementThe new displacement for effective address.
Returns
The effective address itself.
Since
1.1.0

◆ setIndex()

EffectiveAddress& fcml::EffectiveAddress::setIndex ( const Register index)
inline

Sets a new index register for the effective address.

Parameters
indexThe new index register for the effective address.
Returns
The effective address itself.
Since
1.1.0

◆ setScaleFactor()

EffectiveAddress& fcml::EffectiveAddress::setScaleFactor ( fcml_uint8_t  scaleFactor)
inline

Sets a new scale factor for the effective address.

Parameters
scaleFactorThe new scale factor value.
Returns
Effective address itself.
Since
1.1.0

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