Handbook
Glossary
ZydisDecodedInstruction
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:
ZydisDecodedInstruction
{
machine_mode
int
initial:
0
}
{
mnemonic
int
initial:
0
}
{
length
uint8_t
initial:
0
}
{
encoding
int
initial:
0
}
{
opcode_map
int
initial:
0
}
{
opcode
uint8_t
initial:
0
}
{
stack_width
uint8_t
initial:
0
}
{
operand_width
uint8_t
initial:
0
}
{
address_width
uint8_t
initial:
0
}
{
operand_count
uint8_t
initial:
0
}
{
operand_count_visible
uint8_t
initial:
0
}
{
attributes
uint64_t
initial:
0
}
{
cpu_flags ZydisAccessedFlags*
}
{
fpu_flags ZydisAccessedFlags*
}
{
avx
ZydisDecodedInstructionAvx
initial:
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
ZydisDecodedInstructionMeta
initial:
S{
ZydisDecodedInstructionMeta
{
category 0
}
{
isa_set 0
}
{
isa_ext 0
}
{
branch_type 0
}
{
exception_class 0
}
}
}
{
raw
ZydisDecodedInstructionRaw
initial:
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
S{
ZydisDecodedInstructionRawRex
{
W 0
}
{
R 0
}
{
X 0
}
{
B 0
}
{
offset 0
}
}
}
{
xop
S{
ZydisDecodedInstructionRawXop
{
R 0
}
{
X 0
}
{
B 0
}
{
m_mmmm 0
}
{
W 0
}
{
vvvv 0
}
{
L 0
}
{
pp 0
}
{
offset 0
}
}
}
{
vex
S{
ZydisDecodedInstructionRawVex
{
R 0
}
{
X 0
}
{
B 0
}
{
m_mmmm 0
}
{
W 0
}
{
vvvv 0
}
{
L 0
}
{
pp 0
}
{
offset 0
}
{
size 0
}
}
}
{
evex
S{
ZydisDecodedInstructionRawEvex
{
R 0
}
{
X 0
}
{
B 0
}
{
R2 0
}
{
mmm 0
}
{
W 0
}
{
vvvv 0
}
{
pp 0
}
{
z 0
}
{
L2 0
}
{
L 0
}
{
b 0
}
{
V2 0
}
{
aaa 0
}
{
offset 0
}
}
}
{
mvex
S{
ZydisDecodedInstructionRawMvex
{
R 0
}
{
X 0
}
{
B 0
}
{
R2 0
}
{
mmmm 0
}
{
W 0
}
{
vvvv 0
}
{
pp 0
}
{
E 0
}
{
SSS 0
}
{
V2 0
}
{
kkk 0
}
{
offset 0
}
}
}
}
}
{
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
S{
ZydisDecodedInstructionRawImmValue
{
u 0
}
{
s 0
}
}
}
{
size 0
}
{
offset 0
}
}
S{
ZydisDecodedInstructionRawImm
{
is_signed 0
}
{
is_relative 0
}
{
value
S{
ZydisDecodedInstructionRawImmValue
{
u 0
}
{
s 0
}
}
}
{
size 0
}
{
offset 0
}
}
}
}
}
}
;
Methods
USING:
classes.struct
classes.struct.private
kernel
tools.disassembler.zydis
;
M:
ZydisDecodedInstruction
clone
clone-underlying
\
ZydisDecodedInstruction
memory>struct
;
inline
USING:
accessors
classes.struct
combinators.smart
tools.disassembler.zydis
;
M:
ZydisDecodedInstruction
struct-slot-values
{
[
machine_mode>>
]
[
mnemonic>>
]
[
length>>
]
[
encoding>>
]
[
opcode_map>>
]
[
opcode>>
]
[
stack_width>>
]
[
operand_width>>
]
[
address_width>>
]
[
operand_count>>
]
[
operand_count_visible>>
]
[
attributes>>
]
[
cpu_flags>>
]
[
fpu_flags>>
]
[
avx>>
]
[
meta>>
]
[
raw>>
]
}
cleave>array
;
inline