Zydis  v2.0.0-beta1
ZydisDecodedOperand_ Struct Reference

Defines the ZydisDecodedOperand struct. More...

#include <DecoderTypes.h>

Data Fields

ZydisU8 id
 The operand-id. More...
 
ZydisOperandType type
 The type of the operand. More...
 
ZydisOperandVisibility visibility
 The visibility of the operand. More...
 
ZydisOperandAction action
 The operand-action. More...
 
ZydisOperandEncoding encoding
 The operand-encoding. More...
 
ZydisU16 size
 The logical size of the operand (in bits). More...
 
ZydisElementType elementType
 The element-type. More...
 
ZydisElementSize elementSize
 The size of a single element. More...
 
ZydisU16 elementCount
 The number of elements. More...
 
struct {
   ZydisRegister   value
 The register value. More...
 
reg
 Extended info for register-operands. More...
 
struct {
   ZydisMemoryOperandType   type
 The type of the memory operand. More...
 
   ZydisRegister   segment
 The segment register. More...
 
   ZydisRegister   base
 The base register. More...
 
   ZydisRegister   index
 The index register. More...
 
   ZydisU8   scale
 The scale factor. More...
 
   struct {
      ZydisBool   hasDisplacement
 Signals, if the displacement value is used. More...
 
      ZydisI64   value
 The displacement value. More...
 
   }   disp
 Extended info for memory-operands with displacement. More...
 
mem
 Extended info for memory-operands. More...
 
struct {
   ZydisU16   segment
 
   ZydisU32   offset
 
ptr
 Extended info for pointer-operands. More...
 
struct {
   ZydisBool   isSigned
 Signals, if the immediate value is signed. More...
 
   ZydisBool   isRelative
 Signals, if the immediate value contains a relative offset. More...
 
   union {
      ZydisU64   u
 
      ZydisI64   s
 
   }   value
 The immediate value. More...
 
imm
 Extended info for immediate-operands. More...
 

Detailed Description

Defines the ZydisDecodedOperand struct.

Field Documentation

◆ action

The operand-action.

◆ base

The base register.

◆ 

struct { ... } disp

Extended info for memory-operands with displacement.

◆ elementCount

ZydisU16 elementCount

The number of elements.

◆ elementSize

ZydisElementSize elementSize

The size of a single element.

◆ elementType

ZydisElementType elementType

The element-type.

◆ encoding

The operand-encoding.

◆ hasDisplacement

ZydisBool hasDisplacement

Signals, if the displacement value is used.

◆ id

ZydisU8 id

The operand-id.

◆ 

struct { ... } imm

Extended info for immediate-operands.

◆ index

The index register.

◆ isRelative

ZydisBool isRelative

Signals, if the immediate value contains a relative offset.

You can use ZydisCalcAbsoluteAddress to determine the absolute address value.

◆ isSigned

ZydisBool isSigned

Signals, if the immediate value is signed.

◆ 

struct { ... } mem

Extended info for memory-operands.

◆ offset

ZydisU32 offset

◆ 

struct { ... } ptr

Extended info for pointer-operands.

◆ 

struct { ... } reg

Extended info for register-operands.

◆ s

◆ scale

ZydisU8 scale

The scale factor.

◆ segment [1/2]

ZydisRegister segment

The segment register.

◆ segment [2/2]

ZydisU16 segment

◆ size

ZydisU16 size

The logical size of the operand (in bits).

◆ type [1/2]

The type of the operand.

◆ type [2/2]

The type of the memory operand.

◆ u

◆ value [1/3]

The register value.

◆ value [2/3]

ZydisI64 value

The displacement value.

◆  [3/3]

union { ... } value

The immediate value.

◆ visibility

The visibility of the operand.


The documentation for this struct was generated from the following file: