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

Prefixes details. More...

#include <fcml_disassembler.hpp>

Public Member Functions

 PrefixesDetails ()
 Default constructor. More...
 
const InstructionPrefixDetailsoperator[] (fcml_usize index) const
 Gets reference to the instruction prefix at given index. More...
 
InstructionPrefixDetailsoperator[] (fcml_usize index)
 Gets reference to the instruction prefix at given index. More...
 
fcml_uint8_t getB () const
 Gets b flag. More...
 
void setB (fcml_uint8_t B)
 Sets B flag. More...
 
bool isBranch () const
 Gets true if branch prefix is available. More...
 
void setBranch (bool isBranch)
 Sets branch prefix availability. More...
 
bool isLock () const
 Gets true if lock prefix is available. More...
 
void setLock (bool isLock)
 Sets lock prefix availability. More...
 
bool isNobranch () const
 Gets true if no-branch prefix is available. More...
 
void setNobranch (bool isNobranch)
 Sets no-branch prefix availability. More...
 
bool isRep () const
 Gets true if Rep prefix is available. More...
 
void setRep (bool isRep)
 Sets Rep prefix availability. More...
 
bool isRepne () const
 Gets true if Repne prefix is available. More...
 
void setRepne (bool isRepne)
 Sets Repne prefix availability. More...
 
bool isRex () const
 Gets true if Rex prefix is available. More...
 
void setRex (bool isRex)
 Sets REX prefix availability. More...
 
bool isVex () const
 Gets true if Vex prefix is available. More...
 
void setVex (bool isVex)
 Sets VEX prefix availability. More...
 
void setEvex (bool isEvex)
 Sets EVEX prefix availability. More...
 
bool isEvex () const
 Gets true if EVEX prefix is available. More...
 
bool isXacquire () const
 Gets true if xacquire prefix is available. More...
 
void setXacquire (bool isXacquire)
 Sets xacquire prefix availability. More...
 
bool isXop () const
 Gets true if XOP prefix is available. More...
 
void setXop (bool isXop)
 Sets XOP prefix availability. More...
 
bool isAvx () const
 Gets true if any AVX prefix is available. More...
 
void setAvx (bool isAvx)
 Sets XOP prefix availability. More...
 
bool isXrelease () const
 Gets true if xrelease prefix is available. More...
 
void setXrelease (bool isXrelease)
 Sets xrelease prefix availability. More...
 
fcml_uint8_t getL () const
 Gets L flag. More...
 
void setL (fcml_uint8_t L)
 Sets L flag. More...
 
fcml_uint8_t getLPrim () const
 Gets L' flag. More...
 
void setLPrim (fcml_uint8_t lPrim)
 Sets L' flag. More...
 
fcml_uint8_t getMmmm () const
 Gets MMMM field. More...
 
void setMmmm (fcml_uint8_t mmmm)
 Sets MMMM field. More...
 
fcml_uint8_t getPp () const
 Gets PP field. More...
 
void setPp (fcml_uint8_t pp)
 Sets PP field. More...
 
const InstructionPrefixDetailsgetPrefixes (fcml_usize index) const
 Gets a reference to the prefix of the given index. More...
 
InstructionPrefixDetailsgetPrefixes (fcml_usize index)
 Gets a reference to the prefix of the given index. More...
 
fcml_int getPrefixesBytesCount () const
 Gets number of bytes interpreted to be prefixes. More...
 
void setPrefixesBytesCount (fcml_int prefixesBytesCount)
 Sets number of prefixes bytes available for the instruction. More...
 
fcml_int getPrefixesCount () const
 Gets number of prefixes available for the instruction. More...
 
void setPrefixesCount (fcml_int prefixesCount)
 Sets number of prefixes available for the instruction. More...
 
fcml_uint8_t getR () const
 Gets R flag. More...
 
void setR (fcml_uint8_t r)
 Sets R flag. More...
 
fcml_uint8_t getRPrim () const
 Gets R' flag. More...
 
void setRPrim (fcml_uint8_t rPrim)
 Sets R' flag. More...
 
fcml_uint8_t getAvxFirstByte () const
 Gets the first byte of the AVX prefix. More...
 
void setAvxFirstByte (fcml_uint8_t avxFirstByte)
 Sets a first byte of the XOP/VEX prefix. More...
 
fcml_uint8_t getVvvv () const
 Gets VVVV field of the XOP/VEX prefix. More...
 
void setVvvv (fcml_uint8_t vvvv)
 Sets VVVV field of the XOP/VEX prefix. More...
 
fcml_uint8_t getAaa () const
 Gets 'aaa' field of the EVEX prefix. More...
 
void setAaa (fcml_uint8_t aaa)
 Sets 'aaa' field of the EVEX prefix. More...
 
fcml_uint8_t getVPrim () const
 Gets V' flag. More...
 
void setVPrim (fcml_uint8_t vPrim)
 Sets V' flag. More...
 
fcml_uint8_t getW () const
 Gets W flag. More...
 
void setW (fcml_uint8_t W)
 Sets W flag. More...
 
fcml_uint8_t getX () const
 Gets X flag. More...
 
void setX (fcml_uint8_t X)
 Sets X flag. More...
 
bool getBcast () const
 Gets EVEX.b bit. More...
 
void setBcast (bool b)
 Sets EVEX.b bit. More...
 
bool getZ () const
 Gets EVEX.z bit. More...
 
void setZ (bool z)
 Sets EVEX.z bit. More...
 

Detailed Description

Prefixes details.

Since
1.1.0

Constructor & Destructor Documentation

◆ PrefixesDetails()

fcml::PrefixesDetails::PrefixesDetails ( )
inline

Default constructor.

Since
1.1.0

Member Function Documentation

◆ getAaa()

fcml_uint8_t fcml::PrefixesDetails::getAaa ( ) const
inline

Gets 'aaa' field of the EVEX prefix.

Returns
aaa field of the EVEX prefix.
Since
1.2.0

◆ getAvxFirstByte()

fcml_uint8_t fcml::PrefixesDetails::getAvxFirstByte ( ) const
inline

Gets the first byte of the AVX prefix.

Returns
The first byte of the AVX prefix.
Since
1.2.0

◆ getB()

fcml_uint8_t fcml::PrefixesDetails::getB ( ) const
inline

Gets b flag.

Returns
The B flag.
Since
1.1.0

◆ getBcast()

bool fcml::PrefixesDetails::getBcast ( ) const
inline

Gets EVEX.b bit.

Returns
The EVEX.b bit.
Since
1.2.0

◆ getL()

fcml_uint8_t fcml::PrefixesDetails::getL ( ) const
inline

Gets L flag.

Returns
The L flag.
Since
1.1.0

◆ getLPrim()

fcml_uint8_t fcml::PrefixesDetails::getLPrim ( ) const
inline

Gets L' flag.

Returns
The L' flag.
Since
1.2.0

◆ getMmmm()

fcml_uint8_t fcml::PrefixesDetails::getMmmm ( ) const
inline

Gets MMMM field.

Returns
MMMM field.
Since
1.1.0

◆ getPp()

fcml_uint8_t fcml::PrefixesDetails::getPp ( ) const
inline

Gets PP field.

Returns
The PP field.
Since
1.1.0

◆ getPrefixes() [1/2]

const InstructionPrefixDetails& fcml::PrefixesDetails::getPrefixes ( fcml_usize  index) const
inline

Gets a reference to the prefix of the given index.

Parameters
indexIndex for the prefix.
Returns
The prefix at given index.
Exceptions
BadArgumentExceptionArray index out of bound.
Since
1.1.0

◆ getPrefixes() [2/2]

InstructionPrefixDetails& fcml::PrefixesDetails::getPrefixes ( fcml_usize  index)
inline

Gets a reference to the prefix of the given index.

Parameters
indexIndex for the prefix.
Returns
The prefix at given index.
Exceptions
BadArgumentExceptionArray index out of bound.
Since
1.1.0

◆ getPrefixesBytesCount()

fcml_int fcml::PrefixesDetails::getPrefixesBytesCount ( ) const
inline

Gets number of bytes interpreted to be prefixes.

Returns
Number of prefixes bytes.
Since
1.1.0

◆ getPrefixesCount()

fcml_int fcml::PrefixesDetails::getPrefixesCount ( ) const
inline

Gets number of prefixes available for the instruction.

Returns
Number of the prefixes for the instruction.
Since
1.1.0

◆ getR()

fcml_uint8_t fcml::PrefixesDetails::getR ( ) const
inline

Gets R flag.

Returns
The R flag.
Since
1.1.0

◆ getRPrim()

fcml_uint8_t fcml::PrefixesDetails::getRPrim ( ) const
inline

Gets R' flag.

Returns
The R' flag.
Since
1.2.0

◆ getVPrim()

fcml_uint8_t fcml::PrefixesDetails::getVPrim ( ) const
inline

Gets V' flag.

Returns
The V' flag.
Since
1.2.0

◆ getVvvv()

fcml_uint8_t fcml::PrefixesDetails::getVvvv ( ) const
inline

Gets VVVV field of the XOP/VEX prefix.

Returns
VVVV field of the XOP/VEX prefix.
Since
1.1.0

◆ getW()

fcml_uint8_t fcml::PrefixesDetails::getW ( ) const
inline

Gets W flag.

Returns
The W flag.
Since
1.1.0

◆ getX()

fcml_uint8_t fcml::PrefixesDetails::getX ( ) const
inline

Gets X flag.

Returns
The X flag.
Since
1.1.0

◆ getZ()

bool fcml::PrefixesDetails::getZ ( ) const
inline

Gets EVEX.z bit.

Returns
The EVEX.z bit.
Since
1.2.0

◆ isAvx()

bool fcml::PrefixesDetails::isAvx ( ) const
inline

Gets true if any AVX prefix is available.

Returns
True if any AVX prefix is available.
Since
1.2.0

◆ isBranch()

bool fcml::PrefixesDetails::isBranch ( ) const
inline

Gets true if branch prefix is available.

Returns
True if branch prefix is available.
Since
1.1.0

◆ isEvex()

bool fcml::PrefixesDetails::isEvex ( ) const
inline

Gets true if EVEX prefix is available.

Returns
True if EVEX prefix is available.
Since
1.2.0

◆ isLock()

bool fcml::PrefixesDetails::isLock ( ) const
inline

Gets true if lock prefix is available.

Returns
True if lock prefix is available.
Since
1.1.0

◆ isNobranch()

bool fcml::PrefixesDetails::isNobranch ( ) const
inline

Gets true if no-branch prefix is available.

Returns
True if no-branch prefix is available.
Since
1.1.0

◆ isRep()

bool fcml::PrefixesDetails::isRep ( ) const
inline

Gets true if Rep prefix is available.

Returns
True if Rep prefix is available.
Since
1.1.0

◆ isRepne()

bool fcml::PrefixesDetails::isRepne ( ) const
inline

Gets true if Repne prefix is available.

Returns
True if Repne prefix is available.
Since
1.1.0

◆ isRex()

bool fcml::PrefixesDetails::isRex ( ) const
inline

Gets true if Rex prefix is available.

Returns
True if Rex prefix is available.
Since
1.1.0

◆ isVex()

bool fcml::PrefixesDetails::isVex ( ) const
inline

Gets true if Vex prefix is available.

Returns
True if Vex prefix is available.
Since
1.1.0

◆ isXacquire()

bool fcml::PrefixesDetails::isXacquire ( ) const
inline

Gets true if xacquire prefix is available.

Returns
True if xacquire prefix is available.
Since
1.1.0

◆ isXop()

bool fcml::PrefixesDetails::isXop ( ) const
inline

Gets true if XOP prefix is available.

Returns
True if XOP prefix is available.
Since
1.1.0

◆ isXrelease()

bool fcml::PrefixesDetails::isXrelease ( ) const
inline

Gets true if xrelease prefix is available.

Returns
True if xrelease prefix is available.
Since
1.1.0

◆ operator[]() [1/2]

const InstructionPrefixDetails& fcml::PrefixesDetails::operator[] ( fcml_usize  index) const
inline

Gets reference to the instruction prefix at given index.

Parameters
indexNumber of the prefix.
Returns
The instruction prefix for given index.
Exceptions
IllegalArgumentExceptionIndex out of bound.
Since
1.1.0

◆ operator[]() [2/2]

InstructionPrefixDetails& fcml::PrefixesDetails::operator[] ( fcml_usize  index)
inline

Gets reference to the instruction prefix at given index.

Parameters
indexNumber of the prefix.
Returns
The instruction prefix for given index.
Exceptions
IllegalArgumentExceptionIndex out of bound.
Since
1.1.0

◆ setAaa()

void fcml::PrefixesDetails::setAaa ( fcml_uint8_t  aaa)
inline

Sets 'aaa' field of the EVEX prefix.

Parameters
aaaThe 'aaa' field.
Since
1.1.0

◆ setAvx()

void fcml::PrefixesDetails::setAvx ( bool  isAvx)
inline

Sets XOP prefix availability.

Parameters
isXopTrue if XOP prefix is available.
Since
1.2.0

◆ setAvxFirstByte()

void fcml::PrefixesDetails::setAvxFirstByte ( fcml_uint8_t  avxFirstByte)
inline

Sets a first byte of the XOP/VEX prefix.

Parameters
avxFirstByteThe first AVX prefix byte.
Since
1.2.0

◆ setB()

void fcml::PrefixesDetails::setB ( fcml_uint8_t  B)
inline

Sets B flag.

Parameters
bThe B flag.
Since
1.1.0

◆ setBcast()

void fcml::PrefixesDetails::setBcast ( bool  b)
inline

Sets EVEX.b bit.

Parameters
bThe EVEX.b bit.
Since
1.2.0

◆ setBranch()

void fcml::PrefixesDetails::setBranch ( bool  isBranch)
inline

Sets branch prefix availability.

Parameters
isBranchTrue if branch prefix is available.
Since
1.1.0

◆ setEvex()

void fcml::PrefixesDetails::setEvex ( bool  isEvex)
inline

Sets EVEX prefix availability.

Parameters
isEvexTrue if EVEX prefix is available.
Since
1.2.0

◆ setL()

void fcml::PrefixesDetails::setL ( fcml_uint8_t  L)
inline

Sets L flag.

Parameters
lThe L flag.
Since
1.1.0

◆ setLock()

void fcml::PrefixesDetails::setLock ( bool  isLock)
inline

Sets lock prefix availability.

Parameters
isLockTrue if lock prefix is available.
Since
1.1.0

◆ setLPrim()

void fcml::PrefixesDetails::setLPrim ( fcml_uint8_t  lPrim)
inline

Sets L' flag.

Parameters
lThe L' flag.
Since
1.2.0

◆ setMmmm()

void fcml::PrefixesDetails::setMmmm ( fcml_uint8_t  mmmm)
inline

Sets MMMM field.

Parameters
mmmmMMMM field.
Since
1.1.0

◆ setNobranch()

void fcml::PrefixesDetails::setNobranch ( bool  isNobranch)
inline

Sets no-branch prefix availability.

Parameters
isNobranchTrue if no-branch prefix is available.
Since
1.1.0

◆ setPp()

void fcml::PrefixesDetails::setPp ( fcml_uint8_t  pp)
inline

Sets PP field.

Parameters
ppPP field.
Since
1.1.0

◆ setPrefixesBytesCount()

void fcml::PrefixesDetails::setPrefixesBytesCount ( fcml_int  prefixesBytesCount)
inline

Sets number of prefixes bytes available for the instruction.

Parameters
prefixesBytesCountNumber of the prefixes bytes.
Since
1.1.0

◆ setPrefixesCount()

void fcml::PrefixesDetails::setPrefixesCount ( fcml_int  prefixesCount)
inline

Sets number of prefixes available for the instruction.

Parameters
prefixesCountNumber of the available prefixes.
Since
1.1.0

◆ setR()

void fcml::PrefixesDetails::setR ( fcml_uint8_t  r)
inline

Sets R flag.

Parameters
rThe R flag.
Since
1.1.0

◆ setRep()

void fcml::PrefixesDetails::setRep ( bool  isRep)
inline

Sets Rep prefix availability.

Parameters
isRepTrue if Rep prefix is available.
Since
1.1.0

◆ setRepne()

void fcml::PrefixesDetails::setRepne ( bool  isRepne)
inline

Sets Repne prefix availability.

Parameters
isRepneTrue if branch prefix is available.
Since
1.1.0

◆ setRex()

void fcml::PrefixesDetails::setRex ( bool  isRex)
inline

Sets REX prefix availability.

Parameters
isRexTrue if REX prefix is available.
Since
1.1.0

◆ setRPrim()

void fcml::PrefixesDetails::setRPrim ( fcml_uint8_t  rPrim)
inline

Sets R' flag.

Parameters
rPrimThe R' flag.
Since
1.2.0

◆ setVex()

void fcml::PrefixesDetails::setVex ( bool  isVex)
inline

Sets VEX prefix availability.

Parameters
isVexTrue if VEX prefix is available.
Since
1.1.0

◆ setVPrim()

void fcml::PrefixesDetails::setVPrim ( fcml_uint8_t  vPrim)
inline

Sets V' flag.

Parameters
vPrimThe V' flag.
Since
1.2.0

◆ setVvvv()

void fcml::PrefixesDetails::setVvvv ( fcml_uint8_t  vvvv)
inline

Sets VVVV field of the XOP/VEX prefix.

Parameters
vvvvThe VVVV field.
Since
1.1.0

◆ setW()

void fcml::PrefixesDetails::setW ( fcml_uint8_t  W)
inline

Sets W flag.

Parameters
wThe W flag.
Since
1.1.0

◆ setX()

void fcml::PrefixesDetails::setX ( fcml_uint8_t  X)
inline

Sets X flag.

Parameters
xThe X flag.
Since
1.1.0

◆ setXacquire()

void fcml::PrefixesDetails::setXacquire ( bool  isXacquire)
inline

Sets xacquire prefix availability.

Parameters
isXacquireTrue if xacquire prefix is available.
Since
1.1.0

◆ setXop()

void fcml::PrefixesDetails::setXop ( bool  isXop)
inline

Sets XOP prefix availability.

Parameters
isXopTrue if XOP prefix is available.
Since
1.1.0

◆ setXrelease()

void fcml::PrefixesDetails::setXrelease ( bool  isXrelease)
inline

Sets xrelease prefix availability.

Parameters
isXreleaseTrue if xrelease prefix is available.
Since
1.1.0

◆ setZ()

void fcml::PrefixesDetails::setZ ( bool  z)
inline

Sets EVEX.z bit.

Parameters
zThe EVEX.z bit.
Since
1.2.0

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