DecoderOptions

Decoder options

iced_x86.DecoderOptions.NONE: int = 0

No option is enabled

iced_x86.DecoderOptions.NO_INVALID_CHECK: int = 1

Disable some checks for invalid encodings of instructions, eg. most instructions can’t use a LOCK prefix so if one is found, they’re decoded as iced_x86.Code.INVALID unless this option is enabled.

iced_x86.DecoderOptions.AMD: int = 2

AMD decoder: allow 16-bit branch/ret instructions in 64-bit mode, no o64 CALL/JMP FAR [mem], o64 LSS/LFS/LGS, UD0 has no modr/m byte, decode LOCK MOV CR. The AMD decoder can still decode Intel instructions.

iced_x86.DecoderOptions.FORCE_RESERVED_NOP: int = 4

Decode opcodes 0F0D and 0F18-0F1F as reserved-nop instructions (eg. iced_x86.Code.RESERVEDNOP_RM32_R32_0F1D)

iced_x86.DecoderOptions.UMOV: int = 8

Decode UMOV instructions

iced_x86.DecoderOptions.XBTS: int = 16

Decode XBTS/IBTS

iced_x86.DecoderOptions.CMPXCHG486A: int = 32

Decode 0FA6/0FA7 as CMPXCHG

iced_x86.DecoderOptions.OLD_FPU: int = 64

Decode some old removed FPU instructions (eg. FRSTPM)

iced_x86.DecoderOptions.PCOMMIT: int = 128

Decode PCOMMIT

iced_x86.DecoderOptions.LOADALL286: int = 256

Decode 286 STOREALL/LOADALL (0F04 and 0F05)

iced_x86.DecoderOptions.LOADALL386: int = 512

Decode 386 LOADALL

iced_x86.DecoderOptions.CL1INVMB: int = 1024

Decode CL1INVMB

iced_x86.DecoderOptions.MOV_TR: int = 2048

Decode MOV r32,tr and MOV tr,r32

iced_x86.DecoderOptions.JMPE: int = 4096

Decode JMPE instructions

iced_x86.DecoderOptions.NO_PAUSE: int = 8192

Don’t decode PAUSE, decode NOP instead

iced_x86.DecoderOptions.NO_WBNOINVD: int = 16384

Don’t decode WBNOINVD, decode WBINVD instead

iced_x86.DecoderOptions.UDBG: int = 32768

Decode undocumented Intel RDUDBG and WRUDBG instructions

iced_x86.DecoderOptions.NO_MPFX_0FBC: int = 65536

Don’t decode TZCNT, decode BSF instead

iced_x86.DecoderOptions.NO_MPFX_0FBD: int = 131072

Don’t decode LZCNT, decode BSR instead

iced_x86.DecoderOptions.NO_LAHF_SAHF_64: int = 262144

Don’t decode LAHF and SAHF in 64-bit mode

iced_x86.DecoderOptions.MPX: int = 524288

Decode MPX instructions

iced_x86.DecoderOptions.CYRIX: int = 1048576

Decode most Cyrix instructions: FPU, EMMI, SMM, DDI

iced_x86.DecoderOptions.CYRIX_SMINT_0F7E: int = 2097152

Decode Cyrix SMINT 0F7E (Cyrix 6x86 or earlier)

iced_x86.DecoderOptions.CYRIX_DMI: int = 4194304

Decode Cyrix DMI instructions (AMD Geode GX/LX)

iced_x86.DecoderOptions.ALTINST: int = 8388608

Decode Centaur ALTINST

iced_x86.DecoderOptions.KNC: int = 16777216

Decode Intel Knights Corner instructions