fcml
1.2.2
|
#include <fcml_common.hpp>
Static Public Member Functions | |
static Operand | undef () |
Factory method which builds an empty operand. More... | |
static Operand | imm (const Integer &imm) |
Factory method which builds an immediate operand. More... | |
static Operand | far_ptr (fcml_uint16_t seg, fcml_int16_t addr) |
Factory method which builds a far pointer operand. More... | |
static Operand | far_ptr (fcml_uint16_t seg, fcml_int32_t addr) |
Factory method which builds a far pointer operand. More... | |
static Operand | far_ptr (const FarPointer &pointer) |
Factory method which builds a far pointer operand. More... | |
static Operand | addr (const Address &address) |
Factory method which builds an address operand. More... | |
static Operand | off (const Integer &offset, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which builds an address operand. More... | |
static Operand | offb (const Integer &offset) |
Factory method which builds an offset based address operand with byte size operator. More... | |
static Operand | offw (const Integer &offset) |
Factory method which builds an offset based address operand with word size operator. More... | |
static Operand | offd (const Integer &offset) |
Factory method which builds an offset based address operand with double word size operator. More... | |
static Operand | offq (const Integer &offset) |
Factory method which builds an offset based address operand with quadro word size operator. More... | |
static Operand | addr (const EffectiveAddress &effectiveAddress, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates address type operand for given effective address and optional size operator. More... | |
static Operand | addrb (const EffectiveAddress &effectiveAddress) |
Factory method which creates address type operand for given effective address and byte size operator. More... | |
static Operand | addrw (const EffectiveAddress &effectiveAddress) |
Factory method which creates address type operand for given effective address and word size operator. More... | |
static Operand | addrd (const EffectiveAddress &effectiveAddress) |
Factory method which creates address type operand for given effective address and double word size operator. More... | |
static Operand | addrq (const EffectiveAddress &effectiveAddress) |
Factory method which creates address type operand for given effective address and quadro word size operator. More... | |
static Operand | addr (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates address type operand for given segment selector, effective address and optional size operator. More... | |
static Operand | addrb (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector) |
Factory method which creates address type operand for given effective address and byte size operator. More... | |
static Operand | addrw (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector) |
Factory method which creates address type operand for given effective address and word size operator. More... | |
static Operand | addrd (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector) |
Factory method which creates address type operand for given effective address and double word size operator. More... | |
static Operand | addrq (const EffectiveAddress &effectiveAddress, const SegmentSelector &segmentSelector) |
Factory method which creates address type operand for given effective address and quadro word size operator. More... | |
static Operand | reg (const Register ®) |
Factory method which creates an register based operator for given register. More... | |
static Operand | reg (fcml_uint8_t reg, fcml_usize size, Register::RegisterType type=Register::REG_GPR, fcml_bool x64_exp=FCML_FALSE) |
Factory method which creates an register based operator for given parameters. More... | |
static Operand | eff (const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address based operator for a displacement and optional size operator. More... | |
static Operand | effb (const Integer &displacement) |
Factory method which creates an effective address based operator for a displacement and byte size operator. More... | |
static Operand | effw (const Integer &displacement) |
Factory method which creates an effective address based operator for a displacement and word size operator. More... | |
static Operand | effd (const Integer &displacement) |
Factory method which creates an effective address based operator for a displacement and double word size operator. More... | |
static Operand | effq (const Integer &displacement) |
Factory method which creates an effective address based operator for a displacement and quadro byte size operator. More... | |
static Operand | eff (const Register &base, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address based operator for a base register and optional size operator. More... | |
static Operand | effb (const Register &base) |
Factory method which creates an effective address based operator for a base register and byte size operator. More... | |
static Operand | effw (const Register &base) |
Factory method which creates an effective address based operator for a base register and word size operator. More... | |
static Operand | effd (const Register &base) |
Factory method which creates an effective address based operator for a base register and double word size operator. More... | |
static Operand | effq (const Register &base) |
Factory method which creates an effective address based operator for a base register and quadro word size operator. More... | |
static Operand | eff (const Register &base, const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address based operator for a base register, displacement and optional size operator. More... | |
static Operand | effb (const Register &base, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, displacement and byte size operator. More... | |
static Operand | effw (const Register &base, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, displacement and word size operator. More... | |
static Operand | effd (const Register &base, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, displacement and double word size operator. More... | |
static Operand | effq (const Register &base, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, displacement and quadro word size operator. More... | |
static Operand | eff (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and optional size operator. More... | |
static Operand | effb (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and byte size operator. More... | |
static Operand | effw (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and word size operator. More... | |
static Operand | effd (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and double word size operator. More... | |
static Operand | effq (const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and quadro word size operator. More... | |
static Operand | eff (const Register &base, const Register &index, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address based operator for a base register, index register and optional size operator. More... | |
static Operand | effb (const Register &base, const Register &index) |
Factory method which creates an effective address based operator for a base register, index register and byte size operator. More... | |
static Operand | effw (const Register &base, const Register &index) |
Factory method which creates an effective address based operator for a base register, index register and word size operator. More... | |
static Operand | effd (const Register &base, const Register &index) |
Factory method which creates an effective address based operator for a base register, index register and double word size operator. More... | |
static Operand | effq (const Register &base, const Register &index) |
Factory method which creates an effective address based operator for a base register, index register and quadro word size operator. More... | |
static Operand | eff (const Register &base, const Register &index, fcml_uint8_t scaleFactor, fcml_usize sizeOperator=FCML_DS_UNDEF) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and optional size operator. More... | |
static Operand | effb (const Register &base, const Register &index, fcml_uint8_t scaleFactor) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and byte size operator. More... | |
static Operand | effw (const Register &base, const Register &index, fcml_uint8_t scaleFactor) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and word size operator. More... | |
static Operand | effd (const Register &base, const Register &index, fcml_uint8_t scaleFactor) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and double word size operator. More... | |
static Operand | effq (const Register &base, const Register &index, fcml_uint8_t scaleFactor) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and quadro word size operator. More... | |
static Operand | eff (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 based operator for a base register, index register, scale factor and optional size operator. More... | |
static Operand | effb (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and byte size operator. More... | |
static Operand | effw (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and word size operator. More... | |
static Operand | effd (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and double word size operator. More... | |
static Operand | effq (const Register &base, const Register &index, fcml_uint8_t scaleFactor, const Integer &displacement) |
Factory method which creates an effective address based operator for a base register, index register, scale factor and quardo word size operator. More... | |
Operand builder.
A builder that exposes various factory methods that can be used to create several types of the instruction operands. These methods are very simple so no API documentation has been provided for now. Just take a look at the source code.
Factory method which builds an address operand.
address | An address instance. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and optional size operator.
effectiveAddress | The effective address. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates address type operand for given segment selector, effective address and optional size operator.
effectiveAddress | The effective address. |
segmentSelector | The segment selector. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and byte size operator.
effectiveAddress | The effective address. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and byte size operator.
effectiveAddress | The effective address. |
segmentSelector | The segment selector. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and double word size operator.
effectiveAddress | The effective address. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and double word size operator.
effectiveAddress | The effective address. |
segmentSelector | The segment selector. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and quadro word size operator.
effectiveAddress | The effective address. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and quadro word size operator.
effectiveAddress | The effective address. |
segmentSelector | The segment selector. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and word size operator.
effectiveAddress | The effective address. |
|
inlinestatic |
Factory method which creates address type operand for given effective address and word size operator.
effectiveAddress | The effective address. |
segmentSelector | The segment selector. |
|
inlinestatic |
Factory method which creates an effective address based operator for a displacement and optional size operator.
displacement | The displacement value. |
sizeOperator | The size operator. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register and optional size operator.
base | The base register. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, displacement and optional size operator.
base | The base register. |
displacement | The displacement value. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and optional size operator.
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register and optional size operator.
base | The base register. |
index | The index register. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and optional size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
sizeOperator | The optional size operator. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and optional size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
sizeOperator | The optional size operator. |
Factory method which creates an effective address based operator for a displacement and byte size operator.
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register and byte size operator.
base | The base register. |
Factory method which creates an effective address based operator for a base register, displacement and byte size operator.
base | The base register. |
displacement | The displacement value. |
|
inlinestatic |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and byte size operator.
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register, index register and byte size operator.
base | The base register. |
index | The index register. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and byte size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and byte size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a displacement and double word size operator.
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register and double word size operator.
base | The base register. |
Factory method which creates an effective address based operator for a base register, displacement and double word size operator.
base | The base register. |
displacement | The displacement value. |
|
inlinestatic |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and double word size operator.
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register, index register and double word size operator.
base | The base register. |
index | The index register. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and double word size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and double word size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a displacement and quadro byte size operator.
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register and quadro word size operator.
base | The base register. |
Factory method which creates an effective address based operator for a base register, displacement and quadro word size operator.
base | The base register. |
displacement | The displacement value. |
|
inlinestatic |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and quadro word size operator.
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register, index register and quadro word size operator.
base | The base register. |
index | The index register. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and quadro word size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and quardo word size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a displacement and word size operator.
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register and word size operator.
base | The base register. |
Factory method which creates an effective address based operator for a base register, displacement and word size operator.
base | The base register. |
displacement | The displacement value. |
|
inlinestatic |
Factory method which creates an effective address based operator for an index register, scaleFactor, displacement and word size operator.
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
Factory method which creates an effective address based operator for a base register, index register and word size operator.
base | The base register. |
index | The index register. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and word size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
|
inlinestatic |
Factory method which creates an effective address based operator for a base register, index register, scale factor and word size operator.
base | The base register. |
index | The index register. |
scaleFactor | The scale factor. |
displacement | The displacement value. |
|
inlinestatic |
Factory method which builds a far pointer operand.
seg | A segment selector. |
addr | An 16-bit offset value. |
|
inlinestatic |
Factory method which builds a far pointer operand.
seg | A segment selector. |
addr | An 32-bit offset value. |
|
inlinestatic |
Factory method which builds a far pointer operand.
pointer | A far pointer instance. |
Factory method which builds an immediate operand.
|
inlinestatic |
Factory method which builds an address operand.
offset | An offset instance. |
sizeOperator | An optional size operator. |
Factory method which builds an offset based address operand with byte size operator.
offset | An offset instance. |
Factory method which builds an offset based address operand with double word size operator.
offset | An offset instance. |
Factory method which builds an offset based address operand with quadro word size operator.
offset | An offset instance. |
Factory method which builds an offset based address operand with word size operator.
offset | An offset instance. |
Factory method which creates an register based operator for given register.
reg | The register. |
|
inlinestatic |
Factory method which creates an register based operator for given parameters.
reg | The FCML register number. |
size | The register size. |
type | The register type. |
x64_exp | See manual for more information. |
|
inlinestatic |
Factory method which builds an empty operand.