RegisterDesc

Struct RegisterDesc 

Source
pub struct RegisterDesc {
    pub flags: RegisterFlags,
    pub combined_id: u64,
    pub bit_count: i32,
    pub bit_offset: i32,
}
Expand description

Describes a VTIL register in an operand

Fields§

§flags: RegisterFlags

Flags describing the register

§combined_id: u64

Identifier for this register, use RegisterDesc::local_id

§bit_count: i32

The bit count of this register (e.g.: 32)

§bit_offset: i32

The bit offset of register access

Implementations§

Source§

impl RegisterDesc

Source

pub const UNDEFINED: RegisterDesc

Undefined register

Source

pub const IMGBASE: RegisterDesc

Image base register

Source

pub const FLAGS: RegisterDesc

Flags register

Source

pub const SP: RegisterDesc

Stack pointer register

Source

pub const X86_REG_RAX: RegisterDesc

X86_REG_RAX register

Source

pub const X86_REG_EAX: RegisterDesc

X86_REG_EAX register

Source

pub const X86_REG_AX: RegisterDesc

X86_REG_AX register

Source

pub const X86_REG_AH: RegisterDesc

X86_REG_AH register

Source

pub const X86_REG_AL: RegisterDesc

X86_REG_AL register

Source

pub const X86_REG_RBX: RegisterDesc

X86_REG_RBX register

Source

pub const X86_REG_EBX: RegisterDesc

X86_REG_EBX register

Source

pub const X86_REG_BX: RegisterDesc

X86_REG_BX register

Source

pub const X86_REG_BH: RegisterDesc

X86_REG_BH register

Source

pub const X86_REG_BL: RegisterDesc

X86_REG_BL register

Source

pub const X86_REG_RCX: RegisterDesc

X86_REG_RCX register

Source

pub const X86_REG_ECX: RegisterDesc

X86_REG_ECX register

Source

pub const X86_REG_CX: RegisterDesc

X86_REG_CX register

Source

pub const X86_REG_CH: RegisterDesc

X86_REG_CH register

Source

pub const X86_REG_CL: RegisterDesc

X86_REG_CL register

Source

pub const X86_REG_RDX: RegisterDesc

X86_REG_RDX register

Source

pub const X86_REG_EDX: RegisterDesc

X86_REG_EDX register

Source

pub const X86_REG_DX: RegisterDesc

X86_REG_DX register

Source

pub const X86_REG_DH: RegisterDesc

X86_REG_DH register

Source

pub const X86_REG_DL: RegisterDesc

X86_REG_DL register

Source

pub const X86_REG_RDI: RegisterDesc

X86_REG_RDI register

Source

pub const X86_REG_EDI: RegisterDesc

X86_REG_EDI register

Source

pub const X86_REG_DI: RegisterDesc

X86_REG_DI register

Source

pub const X86_REG_DIL: RegisterDesc

X86_REG_DIL register

Source

pub const X86_REG_RSI: RegisterDesc

X86_REG_RSI register

Source

pub const X86_REG_ESI: RegisterDesc

X86_REG_ESI register

Source

pub const X86_REG_SI: RegisterDesc

X86_REG_SI register

Source

pub const X86_REG_SIL: RegisterDesc

X86_REG_SIL register

Source

pub const X86_REG_RBP: RegisterDesc

X86_REG_RBP register

Source

pub const X86_REG_EBP: RegisterDesc

X86_REG_EBP register

Source

pub const X86_REG_BP: RegisterDesc

X86_REG_BP register

Source

pub const X86_REG_BPL: RegisterDesc

X86_REG_BPL register

Source

pub const X86_REG_RSP: RegisterDesc

X86_REG_RSP register

Source

pub const X86_REG_ESP: RegisterDesc

X86_REG_ESP register

Source

pub const X86_REG_SP: RegisterDesc

X86_REG_SP register

Source

pub const X86_REG_SPL: RegisterDesc

X86_REG_SPL register

Source

pub const X86_REG_R8: RegisterDesc

X86_REG_R8 register

Source

pub const X86_REG_R8D: RegisterDesc

X86_REG_R8D register

Source

pub const X86_REG_R8W: RegisterDesc

X86_REG_R8W register

Source

pub const X86_REG_R8B: RegisterDesc

X86_REG_R8B register

Source

pub const X86_REG_R9: RegisterDesc

X86_REG_R9 register

Source

pub const X86_REG_R9D: RegisterDesc

X86_REG_R9D register

Source

pub const X86_REG_R9W: RegisterDesc

X86_REG_R9W register

Source

pub const X86_REG_R9B: RegisterDesc

X86_REG_R9B register

Source

pub const X86_REG_R10: RegisterDesc

X86_REG_R10 register

Source

pub const X86_REG_R10D: RegisterDesc

X86_REG_R10D register

Source

pub const X86_REG_R10W: RegisterDesc

X86_REG_R10W register

Source

pub const X86_REG_R10B: RegisterDesc

X86_REG_R10B register

Source

pub const X86_REG_R11: RegisterDesc

X86_REG_R11 register

Source

pub const X86_REG_R11D: RegisterDesc

X86_REG_R11D register

Source

pub const X86_REG_R11W: RegisterDesc

X86_REG_R11W register

Source

pub const X86_REG_R11B: RegisterDesc

X86_REG_R11B register

Source

pub const X86_REG_R12: RegisterDesc

X86_REG_R12 register

Source

pub const X86_REG_R12D: RegisterDesc

X86_REG_R12D register

Source

pub const X86_REG_R12W: RegisterDesc

X86_REG_R12W register

Source

pub const X86_REG_R12B: RegisterDesc

X86_REG_R12B register

Source

pub const X86_REG_R13: RegisterDesc

X86_REG_R13 register

Source

pub const X86_REG_R13D: RegisterDesc

X86_REG_R13D register

Source

pub const X86_REG_R13W: RegisterDesc

X86_REG_R13W register

Source

pub const X86_REG_R13B: RegisterDesc

X86_REG_R13B register

Source

pub const X86_REG_R14: RegisterDesc

X86_REG_R14 register

Source

pub const X86_REG_R14D: RegisterDesc

X86_REG_R14D register

Source

pub const X86_REG_R14W: RegisterDesc

X86_REG_R14W register

Source

pub const X86_REG_R14B: RegisterDesc

X86_REG_R14B register

Source

pub const X86_REG_R15: RegisterDesc

X86_REG_R15 register

Source

pub const X86_REG_R15D: RegisterDesc

X86_REG_R15D register

Source

pub const X86_REG_R15W: RegisterDesc

X86_REG_R15W register

Source

pub const X86_REG_R15B: RegisterDesc

X86_REG_R15B register

Source

pub const X86_REG_EFLAGS: RegisterDesc

X86_REG_EFLAGS register

Source

pub const ARM64_REG_X0: RegisterDesc

ARM64_REG_X0 register

Source

pub const ARM64_REG_W0: RegisterDesc

ARM64_REG_W0 register

Source

pub const ARM64_REG_X1: RegisterDesc

ARM64_REG_X1 register

Source

pub const ARM64_REG_W1: RegisterDesc

ARM64_REG_W1 register

Source

pub const ARM64_REG_X2: RegisterDesc

ARM64_REG_X2 register

Source

pub const ARM64_REG_W2: RegisterDesc

ARM64_REG_W2 register

Source

pub const ARM64_REG_X3: RegisterDesc

ARM64_REG_X3 register

Source

pub const ARM64_REG_W3: RegisterDesc

ARM64_REG_W3 register

Source

pub const ARM64_REG_X4: RegisterDesc

ARM64_REG_X4 register

Source

pub const ARM64_REG_W4: RegisterDesc

ARM64_REG_W4 register

Source

pub const ARM64_REG_X5: RegisterDesc

ARM64_REG_X5 register

Source

pub const ARM64_REG_W5: RegisterDesc

ARM64_REG_W5 register

Source

pub const ARM64_REG_X6: RegisterDesc

ARM64_REG_X6 register

Source

pub const ARM64_REG_W6: RegisterDesc

ARM64_REG_W6 register

Source

pub const ARM64_REG_X7: RegisterDesc

ARM64_REG_X7 register

Source

pub const ARM64_REG_W7: RegisterDesc

ARM64_REG_W7 register

Source

pub const ARM64_REG_X8: RegisterDesc

ARM64_REG_X8 register

Source

pub const ARM64_REG_W8: RegisterDesc

ARM64_REG_W8 register

Source

pub const ARM64_REG_X9: RegisterDesc

ARM64_REG_X9 register

Source

pub const ARM64_REG_W9: RegisterDesc

ARM64_REG_W9 register

Source

pub const ARM64_REG_X10: RegisterDesc

ARM64_REG_X10 register

Source

pub const ARM64_REG_W10: RegisterDesc

ARM64_REG_W10 register

Source

pub const ARM64_REG_X11: RegisterDesc

ARM64_REG_X11 register

Source

pub const ARM64_REG_W11: RegisterDesc

ARM64_REG_W11 register

Source

pub const ARM64_REG_X12: RegisterDesc

ARM64_REG_X12 register

Source

pub const ARM64_REG_W12: RegisterDesc

ARM64_REG_W12 register

Source

pub const ARM64_REG_X13: RegisterDesc

ARM64_REG_X13 register

Source

pub const ARM64_REG_W13: RegisterDesc

ARM64_REG_W13 register

Source

pub const ARM64_REG_X14: RegisterDesc

ARM64_REG_X14 register

Source

pub const ARM64_REG_W14: RegisterDesc

ARM64_REG_W14 register

Source

pub const ARM64_REG_X15: RegisterDesc

ARM64_REG_X15 register

Source

pub const ARM64_REG_W15: RegisterDesc

ARM64_REG_W15 register

Source

pub const ARM64_REG_X16: RegisterDesc

ARM64_REG_X16 register

Source

pub const ARM64_REG_W16: RegisterDesc

ARM64_REG_W16 register

Source

pub const ARM64_REG_X17: RegisterDesc

ARM64_REG_X17 register

Source

pub const ARM64_REG_W17: RegisterDesc

ARM64_REG_W17 register

Source

pub const ARM64_REG_X18: RegisterDesc

ARM64_REG_X18 register

Source

pub const ARM64_REG_W18: RegisterDesc

ARM64_REG_W18 register

Source

pub const ARM64_REG_X19: RegisterDesc

ARM64_REG_X19 register

Source

pub const ARM64_REG_W19: RegisterDesc

ARM64_REG_W19 register

Source

pub const ARM64_REG_X20: RegisterDesc

ARM64_REG_X20 register

Source

pub const ARM64_REG_W20: RegisterDesc

ARM64_REG_W20 register

Source

pub const ARM64_REG_X21: RegisterDesc

ARM64_REG_X21 register

Source

pub const ARM64_REG_W21: RegisterDesc

ARM64_REG_W21 register

Source

pub const ARM64_REG_X22: RegisterDesc

ARM64_REG_X22 register

Source

pub const ARM64_REG_W22: RegisterDesc

ARM64_REG_W22 register

Source

pub const ARM64_REG_X23: RegisterDesc

ARM64_REG_X23 register

Source

pub const ARM64_REG_W23: RegisterDesc

ARM64_REG_W23 register

Source

pub const ARM64_REG_X24: RegisterDesc

ARM64_REG_X24 register

Source

pub const ARM64_REG_W24: RegisterDesc

ARM64_REG_W24 register

Source

pub const ARM64_REG_X25: RegisterDesc

ARM64_REG_X25 register

Source

pub const ARM64_REG_W25: RegisterDesc

ARM64_REG_W25 register

Source

pub const ARM64_REG_X26: RegisterDesc

ARM64_REG_X26 register

Source

pub const ARM64_REG_W26: RegisterDesc

ARM64_REG_W26 register

Source

pub const ARM64_REG_X27: RegisterDesc

ARM64_REG_X27 register

Source

pub const ARM64_REG_W27: RegisterDesc

ARM64_REG_W27 register

Source

pub const ARM64_REG_X28: RegisterDesc

ARM64_REG_X28 register

Source

pub const ARM64_REG_W28: RegisterDesc

ARM64_REG_W28 register

Source

pub const ARM64_REG_X29: RegisterDesc

ARM64_REG_X29 register

Source

pub const ARM64_REG_FP: RegisterDesc

ARM64_REG_FP register

Source

pub const ARM64_REG_W29: RegisterDesc

ARM64_REG_W29 register

Source

pub const ARM64_REG_X30: RegisterDesc

ARM64_REG_X30 register

Source

pub const ARM64_REG_LR: RegisterDesc

ARM64_REG_LR register

Source

pub const ARM64_REG_W30: RegisterDesc

ARM64_REG_W30 register

Source

pub const ARM64_REG_XZR: RegisterDesc

ARM64_REG_XZR register

Source

pub const ARM64_REG_WZR: RegisterDesc

ARM64_REG_WZR register

Source

pub const ARM64_REG_SP: RegisterDesc

ARM64_REG_SP register

Source

pub const ARM64_REG_WSP: RegisterDesc

ARM64_REG_WSP register

Source

pub const ARM64_REG_NZCV: RegisterDesc

ARM64_REG_NZCV register

Source

pub fn local_id(&self) -> u64

Local identifier that is intentionally unique to this register

Source

pub fn arch_id(&self) -> ArchitectureIdentifier

The underlying architecture of this register

Source

pub fn size(&self) -> usize

Operand size in bits, rounding up

Trait Implementations§

Source§

impl Clone for RegisterDesc

Source§

fn clone(&self) -> RegisterDesc

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RegisterDesc

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for RegisterDesc

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<RegisterDesc> for Operand

Source§

fn from(register_desc: RegisterDesc) -> Self

Converts to this type from the input type.
Source§

impl SizeWith<RegisterDesc> for RegisterDesc

Source§

impl TryFromCtx<'_, Endian> for RegisterDesc

Source§

type Error = Error

Source§

fn try_from_ctx(source: &[u8], endian: Endian) -> Result<(Self, usize)>

Source§

impl<'a, 'b> TryInto<&'b RegisterDesc> for &'a Operand
where 'a: 'b,

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<&'a RegisterDesc>

Performs the conversion.
Source§

impl TryIntoCtx<Endian> for RegisterDesc

Source§

type Error = Error

Source§

fn try_into_ctx(self, sink: &mut [u8], _endian: Endian) -> Result<usize>

Source§

impl Copy for RegisterDesc

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.