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

Memory operand (ARM).

Public Types

- Public Types inherited from asmjit::Operand_

Member Functions

Construction & Destruction
Overloaded Operators
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_
- Static Public Member Functions inherited from asmjit::Operand_

Member Enumeration Documentation

arm::Mem::OffsetMode : uint32_tenum

Memory offset mode.

Additional constants that can be used with the predicate.


Pre-index "[BASE, #Offset {, <shift>}]!" with write-back.


Post-index "[BASE], #Offset {, <shift>}" with write-back.

Constructor & Destructor Documentation


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

Member Function Documentation

Mem arm::Mem::clone() constconstexprnoexcept

Clones the memory operand.

Mem arm::Mem::cloneAdjusted(int64_t off) constnoexcept

Gets new memory operand adjusted by off.

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

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

void arm::Mem::resetShift()noexcept

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

uint32_t arm::Mem::predicate() constconstexprnoexcept

Gets memory predicate (shift mode or offset mode), see ShiftOp and OffsetMode.

void arm::Mem::setPredicate(uint32_t predicate)noexcept

Sets memory predicate to predicate, see Mem::ShiftOp.

void arm::Mem::resetPredicate()noexcept

Resets shift mode to LSL (default).

void BaseMem::setIndexnoexcept

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