Handbook
Glossary
ZydisDisassembledInstruction
Vocabulary
tools
.
disassembler
.
zydis
Definition
USING:
alien.c-types
classes.struct
specialized-arrays.instances.tools.disassembler.zydis.ZydisDecodedInstructionRawImm
specialized-arrays.instances.tools.disassembler.zydis.ZydisDecodedInstructionRawPrefixes
;
IN:
tools.disassembler.zydis
STRUCT:
ZydisDisassembledInstruction
{
runtime_address
uint64_t
initial:
0
}
{
info
ZydisDecodedInstruction
initial:
S{
ZydisDecodedInstruction
{
machine_mode 0
}
{
mnemonic 0
}
{
length 0
}
{
encoding 0
}
{
opcode_map 0
}
{
opcode 0
}
{
stack_width 0
}
{
operand_width 0
}
{
address_width 0
}
{
operand_count 0
}
{
operand_count_visible 0
}
{
attributes 0
}
{
cpu_flags
f
}
{
fpu_flags
f
}
{
avx
S{
ZydisDecodedInstructionAvx
{
vector_length 0
}
{
mask
S{
ZydisDecodedInstructionAvxMask
{
mode 0
}
{
reg 0
}
}
}
{
broadcast
S{
ZydisDecodedInstructionAvxBroadcast
{
is_static 0
}
{
mode 0
}
}
}
{
rounding
S{
ZydisDecodedInstructionAvxRounding
{
mode 0
}
}
}
{
swizzle
S{
ZydisDecodedInstructionAvxSwizzle
{
mode 0
}
}
}
{
conversion
S{
ZydisDecodedInstructionAvxConversion
{
mode 0
}
}
}
{
has_sae 0
}
{
has_eviction_hint 0
}
}
}
{
meta
S{
ZydisDecodedInstructionMeta
{
category 0
}
{
isa_set 0
}
{
isa_ext 0
}
{
branch_type 0
}
{
exception_class 0
}
}
}
{
raw
S{
ZydisDecodedInstructionRaw
{
prefix_count 0
}
{
prefixes
ZydisDecodedInstructionRawPrefixes-array{
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
S{
ZydisDecodedInstructionRawPrefixes
{
type 0
}
{
value 0
}
}
}
}
{
encoding2 0
}
{
value
S{
ZydisDecodedInstructionRawValueUnion
{
rex
~ZydisDecodedInstructionRawRex~
}
{
xop
~ZydisDecodedInstructionRawXop~
}
{
vex
~ZydisDecodedInstructionRawVex~
}
{
evex
~ZydisDecodedInstructionRawEvex~
}
{
mvex
~ZydisDecodedInstructionRawMvex~
}
}
}
{
modrm
S{
ZydisDecodedInstructionModRm
{
mod 0
}
{
reg 0
}
{
rm 0
}
{
offset 0
}
}
}
{
sib
S{
ZydisDecodedInstructionRawSib
{
scale 0
}
{
index 0
}
{
base 0
}
{
offset 0
}
}
}
{
disp
S{
ZydisDecodedInstructionRawDisp
{
value 0
}
{
size 0
}
{
offset 0
}
}
}
{
imm
ZydisDecodedInstructionRawImm-array{
S{
ZydisDecodedInstructionRawImm
{
is_signed 0
}
{
is_relative 0
}
{
value
~ZydisDecodedInstructionRawImmValue~
}
{
size 0
}
{
offset 0
}
}
S{
ZydisDecodedInstructionRawImm
{
is_signed 0
}
{
is_relative 0
}
{
value
~ZydisDecodedInstructionRawImmValue~
}
{
size 0
}
{
offset 0
}
}
}
}
}
}
}
}
{
operands ZydisDecodedOperand[10]
}
{
text char[96]
}
;
Methods
USING:
classes.struct
classes.struct.private
kernel
tools.disassembler.zydis
;
M:
ZydisDisassembledInstruction
clone
clone-underlying
\
ZydisDisassembledInstruction
memory>struct
;
inline
USING:
accessors
classes.struct
combinators.smart
tools.disassembler.zydis
;
M:
ZydisDisassembledInstruction
struct-slot-values
{
[
runtime_address>>
]
[
info>>
]
[
operands>>
]
[
text>>
]
}
cleave>array
;
inline