RegisterInfo¶
- class iced_x86.RegisterInfo(register)¶
Registerenum info, see alsoRegisterExt- Parameters:
register (
Register) – Enum value
Examples:
from iced_x86 import * info = RegisterInfo(Register.GS) assert info.number == 5
- base¶
Gets the base register, eg.
AL,AX,EAX,RAX,MM0,XMM0,YMM0,ZMM0,ESExamples:
from iced_x86 import * info = RegisterInfo(Register.GS) assert info.base == Register.ES info = RegisterInfo(Register.RDX) assert info.base == Register.RAX info = RegisterInfo(Register.XMM13) assert info.base == Register.XMM0 info = RegisterInfo(Register.YMM13) assert info.base == Register.YMM0 info = RegisterInfo(Register.ZMM13) assert info.base == Register.ZMM0
- Type:
- full_register¶
The full register that this one is a part of, eg.
CL/CH/CX/ECX/RCX->RCX,XMM11/YMM11/ZMM11->ZMM11Examples:
from iced_x86 import * info = RegisterInfo(Register.GS) assert info.full_register == Register.GS info = RegisterInfo(Register.BH) assert info.full_register == Register.RBX info = RegisterInfo(Register.DX) assert info.full_register == Register.RDX info = RegisterInfo(Register.ESP) assert info.full_register == Register.RSP info = RegisterInfo(Register.RCX) assert info.full_register == Register.RCX info = RegisterInfo(Register.XMM3) assert info.full_register == Register.ZMM3 info = RegisterInfo(Register.YMM3) assert info.full_register == Register.ZMM3 info = RegisterInfo(Register.ZMM3) assert info.full_register == Register.ZMM3
- Type:
- full_register32¶
Gets the full register that this one is a part of, except if it’s a GPR in which case the 32-bit register is returned, eg.
CL/CH/CX/ECX/RCX->ECX,XMM11/YMM11/ZMM11->ZMM11Examples:
from iced_x86 import * info = RegisterInfo(Register.GS) assert info.full_register32 == Register.GS info = RegisterInfo(Register.BH) assert info.full_register32 == Register.EBX info = RegisterInfo(Register.DX) assert info.full_register32 == Register.EDX info = RegisterInfo(Register.ESP) assert info.full_register32 == Register.ESP info = RegisterInfo(Register.RCX) assert info.full_register32 == Register.ECX info = RegisterInfo(Register.XMM3) assert info.full_register32 == Register.ZMM3 info = RegisterInfo(Register.YMM3) assert info.full_register32 == Register.ZMM3 info = RegisterInfo(Register.ZMM3) assert info.full_register32 == Register.ZMM3
- Type:
- number¶
The register number (index) relative to
RegisterInfo.base, eg. 0-15, or 0-31, or if 8-bit GPR, 0-19Examples:
from iced_x86 import * info = RegisterInfo(Register.GS) assert info.number == 5 info = RegisterInfo(Register.RDX) assert info.number == 2 info = RegisterInfo(Register.XMM13) assert info.number == 13 info = RegisterInfo(Register.YMM13) assert info.number == 13 info = RegisterInfo(Register.ZMM13) assert info.number == 13
- Type:
- register¶
Gets the register value passed into the constructor
Examples:
from iced_x86 import * info = RegisterInfo(Register.EAX) assert info.register == Register.EAX
- Type:
- size¶
Size of the register in bytes
Examples:
from iced_x86 import * info = RegisterInfo(Register.GS) assert info.size == 2 info = RegisterInfo(Register.BH) assert info.size == 1 info = RegisterInfo(Register.DX) assert info.size == 2 info = RegisterInfo(Register.ESP) assert info.size == 4 info = RegisterInfo(Register.RCX) assert info.size == 8 info = RegisterInfo(Register.XMM3) assert info.size == 16 info = RegisterInfo(Register.YMM3) assert info.size == 32 info = RegisterInfo(Register.ZMM3) assert info.size == 64
- Type: