FlowControl

Control flow

iced_x86.FlowControl.NEXT: int = 0

The next instruction that will be executed is the next instruction in the instruction stream

iced_x86.FlowControl.UNCONDITIONAL_BRANCH: int = 1

It’s an unconditional branch instruction: JMP NEAR, JMP FAR

iced_x86.FlowControl.INDIRECT_BRANCH: int = 2

It’s an unconditional indirect branch: JMP NEAR reg, JMP NEAR [mem], JMP FAR [mem]

iced_x86.FlowControl.CONDITIONAL_BRANCH: int = 3

It’s a conditional branch instruction: Jcc SHORT, Jcc NEAR, LOOP, LOOPcc, JRCXZ, JKccD SHORT, JKccD NEAR

iced_x86.FlowControl.RETURN: int = 4

It’s a return instruction: RET NEAR, RET FAR, IRET, SYSRET, SYSEXIT, RSM, SKINIT, RDM, UIRET

iced_x86.FlowControl.CALL: int = 5

It’s a call instruction: CALL NEAR, CALL FAR, SYSCALL, SYSENTER, VMLAUNCH, VMRESUME, VMCALL, VMMCALL, VMGEXIT, VMRUN, TDCALL, SEAMCALL, SEAMRET

iced_x86.FlowControl.INDIRECT_CALL: int = 6

It’s an indirect call instruction: CALL NEAR reg, CALL NEAR [mem], CALL FAR [mem]

iced_x86.FlowControl.INTERRUPT: int = 7

It’s an interrupt instruction: INT n, INT3, INT1, INTO, SMINT, DMINT

iced_x86.FlowControl.XBEGIN_XABORT_XEND: int = 8

It’s XBEGIN

iced_x86.FlowControl.EXCEPTION: int = 9

It’s an invalid instruction, eg. iced_x86.Code.INVALID, UD0, UD1, UD2