IndexARM Commonsasmjit::arm::Mem
asmjit::arm::Mem Class Reference
Inheritance diagram for asmjit::arm::Mem:
asmjit::BaseMem asmjit::Operand asmjit::Operand_

Memory operand (ARM).

Member Functions

Construction & Destruction
Overloaded Operators
Clone
Base & Index
ARM Specific Features
- Public Member Functions inherited from asmjit::BaseMem
- Public Member Functions inherited from asmjit::Operand
- Public Member Functions inherited from asmjit::Operand_

Additional Inherited Members

- Public Attributes inherited from asmjit::Operand_
- Public Types inherited from asmjit::Operand_
- Static Public Member Functions inherited from asmjit::Operand_

arm::Mem::Mem()constexprnoexcept[¶]

Construct a default Mem operand, that points to [0].

Mem arm::Mem::clone() constconstexprnoexcept[¶]

Clones the memory operand.

Mem arm::Mem::cloneAdjusted(
int64_t off
) constnoexcept[¶]

Gets new memory operand adjusted by off.

Mem arm::Mem::pre() constnoexcept[1/2][¶]

Clones the memory operand and makes it pre-index.

Mem arm::Mem::pre(
int64_t off
) constnoexcept[2/2][¶]

Clones the memory operand, applies a given offset off and makes it pre-index.

Mem arm::Mem::post() constnoexcept[1/2][¶]

Clones the memory operand and makes it post-index.

Mem arm::Mem::post(
int64_t off
) constnoexcept[2/2][¶]

Clones the memory operand, applies a given offset off and makes it post-index.

Reg arm::Mem::baseReg() constnoexcept[¶]

Converts memory baseType and baseId to arm::Reg instance.

The memory must have a valid base register otherwise the result will be wrong.

Reg arm::Mem::indexReg() constnoexcept[¶]

Converts memory indexType and indexId to arm::Reg instance.

The memory must have a valid index register otherwise the result will be wrong.

OffsetMode arm::Mem::offsetMode() constconstexprnoexcept[¶]

Gets offset mode.

void arm::Mem::setOffsetMode()noexcept[¶]

Sets offset mode to mode.

void arm::Mem::resetOffsetMode()noexcept[¶]

Resets offset mode to default (fixed offset, without write-back).

bool arm::Mem::isFixedOffset() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is fixed (see OffsetMode::kFixed).

bool arm::Mem::isPreOrPost() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is either pre-index or post-index (write-back is used).

bool arm::Mem::isPreIndex() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is pre-index (write-back is used).

bool arm::Mem::isPostIndex() constconstexprnoexcept[¶]

Tests whether the current memory offset mode is post-index (write-back is used).

void arm::Mem::makePreIndex()noexcept[¶]

Sets offset mode of this memory operand to pre-index (write-back is used).

void arm::Mem::makePostIndex()noexcept[¶]

Sets offset mode of this memory operand to post-index (write-back is used).

ShiftOp arm::Mem::shiftOp() constconstexprnoexcept[¶]

Gets shift operation that is used by index register.

void arm::Mem::setShiftOp()noexcept[¶]

Sets shift operation that is used by index register.

void arm::Mem::resetShiftOp()noexcept[¶]

Resets shift operation that is used by index register to LSL (default value).

bool arm::Mem::hasShift() constconstexprnoexcept[¶]

Gets whether the memory operand has shift (aka scale) constant.

uint32_t arm::Mem::shift() constconstexprnoexcept[¶]

Gets the memory operand's shift (aka scale) constant.

void arm::Mem::setShift(
uint32_t shift
)noexcept[1/2][¶]

Sets the memory operand's shift (aka scale) constant.

void arm::Mem::setShift(
Shift shift
)noexcept[2/2][¶]

Sets the memory operand's shift and shift operation.

void arm::Mem::resetShift()noexcept[¶]

Resets the memory operand's shift (aka scale) constant to zero.

void BaseMem::setIndex(
const BaseReg& index
)noexcept[¶]

Sets the index register to type and id of the given index operand.