class UDis86::Operand

Defined in:

udis86/operand.cr

Constant Summary

REGS = {UDType::R_AL => :al, UDType::R_CL => :cl, UDType::R_DL => :dl, UDType::R_BL => :bl, UDType::R_AH => :ah, UDType::R_CH => :ch, UDType::R_DH => :dh, UDType::R_BH => :bh, UDType::R_SPL => :spl, UDType::R_BPL => :bpl, UDType::R_SIL => :sil, UDType::R_DIL => :dil, UDType::R_R8B => :r8b, UDType::R_R9B => :r9b, UDType::R_R10B => :r10b, UDType::R_R11B => :r11b, UDType::R_R12B => :r12b, UDType::R_R13B => :r13b, UDType::R_R14B => :r14b, UDType::R_R15B => :r15b, UDType::R_AX => :ax, UDType::R_CX => :cx, UDType::R_DX => :dx, UDType::R_BX => :bx, UDType::R_SP => :sp, UDType::R_BP => :bp, UDType::R_SI => :si, UDType::R_DI => :di, UDType::R_R8W => :r8w, UDType::R_R9W => :r9w, UDType::R_R10W => :r10w, UDType::R_R11W => :r11w, UDType::R_R12W => :r12w, UDType::R_R13W => :r13w, UDType::R_R14W => :r14w, UDType::R_R15W => :r15w, UDType::R_EAX => :eax, UDType::R_ECX => :ecx, UDType::R_EDX => :edx, UDType::R_EBX => :ebx, UDType::R_ESP => :esp, UDType::R_EBP => :ebp, UDType::R_ESI => :esi, UDType::R_EDI => :edi, UDType::R_R8D => :r8d, UDType::R_R9D => :r9d, UDType::R_R10D => :r10d, UDType::R_R11D => :r11d, UDType::R_R12D => :r12d, UDType::R_R13D => :r13d, UDType::R_R14D => :r14d, UDType::R_R15D => :r15d, UDType::R_RAX => :rax, UDType::R_RCX => :rcx, UDType::R_RDX => :rdx, UDType::R_RBX => :rbx, UDType::R_RSP => :rsp, UDType::R_RBP => :rbp, UDType::R_RSI => :rsi, UDType::R_RDI => :rdi, UDType::R_R8 => :r8, UDType::R_R9 => :r9, UDType::R_R10 => :r10, UDType::R_R11 => :r11, UDType::R_R12 => :r12, UDType::R_R13 => :r13, UDType::R_R14 => :r14, UDType::R_R15 => :r15, UDType::R_ES => :es, UDType::R_CS => :cs, UDType::R_SS => :ss, UDType::R_DS => :ds, UDType::R_FS => :fs, UDType::R_GS => :gs, UDType::R_CR0 => :cr0, UDType::R_CR1 => :cr1, UDType::R_CR2 => :cr2, UDType::R_CR3 => :cr3, UDType::R_CR4 => :cr4, UDType::R_CR5 => :cr5, UDType::R_CR6 => :cr6, UDType::R_CR7 => :cr7, UDType::R_CR8 => :cr8, UDType::R_CR9 => :cr9, UDType::R_CR10 => :cr10, UDType::R_CR11 => :cr11, UDType::R_CR12 => :cr12, UDType::R_CR13 => :cr13, UDType::R_CR14 => :cr14, UDType::R_CR15 => :cr15, UDType::R_DR0 => :dr0, UDType::R_DR1 => :dr1, UDType::R_DR2 => :dr2, UDType::R_DR3 => :dr3, UDType::R_DR4 => :dr4, UDType::R_DR5 => :dr5, UDType::R_DR6 => :dr6, UDType::R_DR7 => :dr7, UDType::R_DR8 => :dr8, UDType::R_DR9 => :dr9, UDType::R_DR10 => :dr10, UDType::R_DR11 => :dr11, UDType::R_DR12 => :dr12, UDType::R_DR13 => :dr13, UDType::R_DR14 => :dr14, UDType::R_DR15 => :dr15, UDType::R_MM0 => :mm0, UDType::R_MM1 => :mm1, UDType::R_MM2 => :mm2, UDType::R_MM3 => :mm3, UDType::R_MM4 => :mm4, UDType::R_MM5 => :mm5, UDType::R_MM6 => :mm6, UDType::R_MM7 => :mm7, UDType::R_ST0 => :st0, UDType::R_ST1 => :st1, UDType::R_ST2 => :st2, UDType::R_ST3 => :st3, UDType::R_ST4 => :st4, UDType::R_ST5 => :st5, UDType::R_ST6 => :st6, UDType::R_ST7 => :st7, UDType::R_XMM0 => :xmm0, UDType::R_XMM1 => :xmm1, UDType::R_XMM2 => :xmm2, UDType::R_XMM3 => :xmm3, UDType::R_XMM4 => :xmm4, UDType::R_XMM5 => :xmm5, UDType::R_XMM6 => :xmm6, UDType::R_XMM7 => :xmm7, UDType::R_XMM8 => :xmm8, UDType::R_XMM9 => :xmm9, UDType::R_XMM10 => :xmm10, UDType::R_XMM11 => :xmm11, UDType::R_XMM12 => :xmm12, UDType::R_XMM13 => :xmm13, UDType::R_XMM14 => :xmm14, UDType::R_XMM15 => :xmm15, UDType::R_YMM0 => :ymm0, UDType::R_YMM1 => :ymm1, UDType::R_YMM2 => :ymm2, UDType::R_YMM3 => :ymm3, UDType::R_YMM4 => :ymm4, UDType::R_YMM5 => :ymm5, UDType::R_YMM6 => :ymm6, UDType::R_YMM7 => :ymm7, UDType::R_YMM8 => :ymm8, UDType::R_YMM9 => :ymm9, UDType::R_YMM10 => :ymm10, UDType::R_YMM11 => :ymm11, UDType::R_YMM12 => :ymm12, UDType::R_YMM13 => :ymm13, UDType::R_YMM14 => :ymm14, UDType::R_YMM15 => :ymm15, UDType::R_RIP => :rip}

Mappoing of libudis86 register UDTypes to Symbol names

TYPES = {UDType::OP_REG => :reg, UDType::OP_MEM => :mem, UDType::OP_PTR => :ptr, UDType::OP_IMM => :imm, UDType::OP_JIMM => :jimm, UDType::OP_CONST => :const}

Constructors

Instance Method Summary

Constructor Detail

def self.new(operand : LibUDis86::UDOperand) #

Initializes the operand object.


[View source]

Instance Method Detail

def base : Symbol #

The base register used by the operand.


[View source]
def index : Symbol #

The index register used by the operand.


[View source]
def is_const? : Bool #

Determines if the operand is a data constant.


[View source]
def is_imm? : Bool #

Determines if the operand is immediate data.


[View source]
def is_jmp_imm? : Bool #

Determines if the operand is a relative offset used in a jump.


[View source]
def is_mem? : Bool #

Determines if the operand is a memory access.


[View source]
def is_reg? : Bool #

Determines if the operand is a register.


[View source]
def is_seg_ptr? : Bool #

Determines if the operand is Segment:Offset pointer.


[View source]
def offset : OperandValue | Int32 #

The offset value used by the operand.


[View source]
def offset_size #

The word-length of the offset used with the operand.


[View source]
def reg #

[View source]
def scale(*args, **options) #

The scale value used by the operand.


[View source]
def scale(*args, **options, &) #

The scale value used by the operand.


[View source]
def size(*args, **options) #

The size of the operand.


[View source]
def size(*args, **options, &) #

The size of the operand.


[View source]
def type : Symbol #

The type of the operand.


[View source]
def value : OperandPointer | OperandValue | Nil #

The value of the operand.


[View source]