fcml
1.2.2
|
#include <fcml_common.hpp>
Public Types | |
enum | AddressForm { AF_UNDEFINED = FCML_AF_UNDEFINED, AF_OFFSET = FCML_AF_OFFSET, AF_COMBINED = FCML_AF_COMBINED } |
Addressing type, see fcml_en_address_form enumerator. More... | |
Public Member Functions | |
Address () | |
Creates an empty address. More... | |
Address (const Integer &offset, fcml_usize sizeOperator=FCML_DS_UNDEF) | |
Creates an address instance with an offset and optional size operator set. More... | |
Address (const EffectiveAddress &effectiveAddress, fcml_usize sizeOperator=FCML_DS_UNDEF) | |
Creates an address instance with an effective address and optional size operator set. More... | |
Address (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector, fcml_usize sizeOperator=FCML_DS_UNDEF) | |
Creates an address instance with an effective address, segment selector and optional size operator set. More... | |
virtual | ~Address () |
bool | operator== (const Address &address) const |
Checks if two addresses are equal or not. More... | |
bool | operator!= (const Address &address) const |
Checks if two addresses are equal or not. More... | |
bool | isEffectiveAddress () const |
Returns true if address holds effective address. More... | |
bool | isOffset () const |
Returns true if address holds an offset only. More... | |
AddressForm | getAddressForm () const |
Gets an address form. More... | |
Address & | setAddressForm (AddressForm addressForm) |
Sets a new address form for the effective address. More... | |
const EffectiveAddress & | getEffectiveAddress () const |
Gets reference to the constant effective address associated with the address. More... | |
EffectiveAddress & | getEffectiveAddress () |
Gets reference to the effective address associated with the address. More... | |
Address & | setEffectiveAddress (const EffectiveAddress &effectiveAddress) |
Sets a new effective address for the address. More... | |
const Integer & | getOffset () const |
Gets the constant offset associated with the address. More... | |
Integer & | getOffset () |
Gets the offset associated with the address. More... | |
Address & | setOffset (const Integer &offset) |
Sets a new offset for the address. More... | |
const SegmentSelector & | getSegmentSelector () const |
Gets the constant segment selector associated with the address. More... | |
SegmentSelector & | getSegmentSelector () |
Gets the segment selector associated with the address. More... | |
Address & | setSegmentSelector (const SegmentSelector &segmentSelector) |
Sets a new segment selector for the address. More... | |
fcml_usize | getSizeOperator () const |
Gets the size operator associated with the address. More... | |
Address & | setSizeOperator (fcml_usize sizeOperator) |
Sets a new size operator for the address. More... | |
Static Public Member Functions | |
static Address | effective (const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the displacement only. More... | |
static Address | effective (const Register &base, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the base register only. More... | |
static Address | effective (const Register &base, const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the base register and displacement. More... | |
static Address | effective (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the index register, scale factor and displacement. More... | |
static Address | effective (const Register &base, const Register &index, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the base register and index register. More... | |
static Address | effective (const Register &base, const Register &index, fcml_uint8_t scaleFactor, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the base register, index register and scale factor. More... | |
static Address | effective (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address instance with the base register, index register, scale factor and displacement. More... | |
static Address | effective (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factor method which creates an instance of the address for an effective address, segment selector and optional size operator. More... | |
static Address | effective (const EffectiveAddress &effectiveAddress, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factor method which creates an address instance with an effective address and optional size operator set. More... | |
static Address | offset (const Integer &offset, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factor method which creates an address instance with an offset and optional size operator set. More... | |
Addressing type, see fcml_en_address_form enumerator.
|
inline |
Creates an empty address.
|
inline |
Creates an address instance with an offset and optional size operator set.
offset | Offset to be set for the address. |
sizeOperator | The optional size operator, set to FCML_DS_UNDEF by default. |
|
inline |
Creates an address instance with an effective address and optional size operator set.
effectiveAddress | The effective address to be set for the address. |
sizeOperator | The optional size operator, set to FCML_DS_UNDEF by default. |
|
inline |
Creates an address instance with an effective address, segment selector and optional size operator set.
effectiveAddress | The effective address to be set for the address. |
segmentSelector | The segment selector. |
sizeOperator | The optional size operator, set to FCML_DS_UNDEF by default. |
|
inlinevirtual |
|
inlinestatic |
Factory method which creates an effective address instance with the displacement only.
displacement | The displacement value. |
sizeOperator | Size operator. |
|
inlinestatic |
Factory method which creates an effective address instance with the base register only.
base | The base register. |
sizeOperator | Size operator. |
|
inlinestatic |
Factory method which creates an effective address instance with the base register and displacement.
base | The base register. |
displacement | The displacement value. |
sizeOperator | Size operator. |
|
inlinestatic |
Factory method which creates an effective address instance with the index register, scale factor and displacement.
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
sizeOperator | Size operator. |
|
inlinestatic |
Factory method which creates an effective address instance with the base register and index register.
base | The base register. |
index | The index register. |
sizeOperator | Size operator. |
|
inlinestatic |
Factory method which creates an effective address instance with the base register, index register and scale factor.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
sizeOperator | Size operator. |
|
inlinestatic |
Factory method which creates an effective address instance with the base register, index register, scale factor and displacement.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
sizeOperator | Size operator. |
|
inlinestatic |
Factor method which creates an instance of the address for an effective address, segment selector and optional size operator.
effectiveAddress | The effective address to be set for the address. |
segmentSelector | The segment selector. |
sizeOperator | The optional size operator, set to FCML_DS_UNDEF by default. |
|
inlinestatic |
Factor method which creates an address instance with an effective address and optional size operator set.
effectiveAddress | The effective address to be set for the address. |
sizeOperator | The optional size operator, set to FCML_DS_UNDEF by default. |
|
inline |
Gets an address form.
See fcml_en_address_form for more details.
|
inline |
Gets reference to the constant effective address associated with the address.
|
inline |
Gets reference to the effective address associated with the address.
|
inline |
Gets the constant offset associated with the address.
|
inline |
Gets the offset associated with the address.
|
inline |
Gets the constant segment selector associated with the address.
|
inline |
Gets the segment selector associated with the address.
|
inline |
Gets the size operator associated with the address.
|
inline |
Returns true if address holds effective address.
|
inline |
Returns true if address holds an offset only.
|
inlinestatic |
Factor method which creates an address instance with an offset and optional size operator set.
offset | The offset to be set for the address. |
sizeOperator | The optional size operator, set to FCML_DS_UNDEF by default. |
|
inline |
Checks if two addresses are equal or not.
address | The address to be compared with the current one. |
|
inline |
Checks if two addresses are equal or not.
address | The address to be compared with the current one. |
|
inline |
Sets a new address form for the effective address.
addressForm | The address form to be set for the effective address. |
|
inline |
Sets a new effective address for the address.
effectiveAddress | The new address to be set for the effective address. |
Sets a new offset for the address.
offset | The enw offset to be set for the address. |
|
inline |
Sets a new segment selector for the address.
segmentSelector | The new segment selector for the address. |
|
inline |
Sets a new size operator for the address.
sizeOperator | The size operator. |