asmjit::x86::Gp Class Reference

General purpose register (X86).

Public Types

- Public Types inherited from asmjit::x86::Reg
- Public Types inherited from asmjit::BaseReg
- Public Types inherited from asmjit::Operand_

Member Functions

- Public Member Functions inherited from asmjit::x86::Reg
- Public Member Functions inherited from asmjit::BaseReg
- Public Member Functions inherited from asmjit::Operand
- Public Member Functions inherited from asmjit::Operand_

Static Functions

- Static Public Member Functions inherited from asmjit::x86::Reg
- Static Public Member Functions inherited from asmjit::BaseReg
- Static Public Member Functions inherited from asmjit::Operand_

Additional Inherited Members

- Public Attributes inherited from asmjit::Operand_
- Static Public Attributes inherited from asmjit::BaseReg

Member Enumeration Documentation

x86::Gp::Id : uint32_tenum

Physical id (X86).

Note
Register indexes have been reduced to only support general purpose registers. There is no need to have enumerations with number suffix that expands to the exactly same value as the suffix value itself.
ConstantDescription
kIdAx 

Physical id of AL|AH|AX|EAX|RAX registers.

kIdCx 

Physical id of CL|CH|CX|ECX|RCX registers.

kIdDx 

Physical id of DL|DH|DX|EDX|RDX registers.

kIdBx 

Physical id of BL|BH|BX|EBX|RBX registers.

kIdSp 

Physical id of SPL|SP|ESP|RSP registers.

kIdBp 

Physical id of BPL|BP|EBP|RBP registers.

kIdSi 

Physical id of SIL|SI|ESI|RSI registers.

kIdDi 

Physical id of DIL|DI|EDI|RDI registers.

kIdR8 

Physical id of R8B|R8W|R8D|R8 registers (64-bit only).

kIdR9 

Physical id of R9B|R9W|R9D|R9 registers (64-bit only).

kIdR10 

Physical id of R10B|R10W|R10D|R10 registers (64-bit only).

kIdR11 

Physical id of R11B|R11W|R11D|R11 registers (64-bit only).

kIdR12 

Physical id of R12B|R12W|R12D|R12 registers (64-bit only).

kIdR13 

Physical id of R13B|R13W|R13D|R13 registers (64-bit only).

kIdR14 

Physical id of R14B|R14W|R14D|R14 registers (64-bit only).

kIdR15 

Physical id of R15B|R15W|R15D|R15 registers (64-bit only).

Constructor & Destructor Documentation

x86::Gp::Gp()constexprconstexprnoexcept[1/5]

Default constructor that only setups basics.

x86::Gp::Gp(const Gp& other)constexprconstexprnoexcept[2/5]

Makes a copy of the other register operand.

x86::Gp::Gp(const BaseReg& other, uint32_t rId)constexprconstexprnoexcept[3/5]

Makes a copy of the other register having id set to rId

x86::Gp::Gp(uint32_t signature, uint32_t rId)constexprconstexprnoexcept[4/5]

Creates a register based on signature and rId.

x86::Gp::Gp(Globals::NoInit_)explicitnoexcept[5/5]

Creates a completely uninitialized Gp register operand (garbage).

Member Function Documentation

Gp x86::Gp::fromTypeAndId(uint32_t rType, uint32_t rId)staticnoexcept

Creates a new register from register type and id.

Gp x86::Gp::clone() constconstexprconstexprnoexcept

Clones the register operand.

GpbLo x86::Gp::r8() constnoexcept

Casts this register to 8-bit (LO) part.

GpbLo x86::Gp::r8Lo() constnoexcept

Casts this register to 8-bit (LO) part.

GpbHi x86::Gp::r8Hi() constnoexcept

Casts this register to 8-bit (HI) part.

Gpw x86::Gp::r16() constnoexcept

Casts this register to 16-bit.

Gpd x86::Gp::r32() constnoexcept

Casts this register to 32-bit.

Gpq x86::Gp::r64() constnoexcept

Casts this register to 64-bit.