pub enum FlowControl {
Next = 0,
UnconditionalBranch = 1,
IndirectBranch = 2,
ConditionalBranch = 3,
Return = 4,
Call = 5,
IndirectCall = 6,
Interrupt = 7,
XbeginXabortXend = 8,
Exception = 9,
}Expand description
Control flow
Variants§
Next = 0
The next instruction that will be executed is the next instruction in the instruction stream
UnconditionalBranch = 1
It’s an unconditional branch instruction: JMP NEAR, JMP FAR
IndirectBranch = 2
It’s an unconditional indirect branch: JMP NEAR reg, JMP NEAR [mem], JMP FAR [mem]
ConditionalBranch = 3
It’s a conditional branch instruction: Jcc SHORT, Jcc NEAR, LOOP, LOOPcc, JRCXZ, JKccD SHORT, JKccD NEAR
Return = 4
It’s a return instruction: RET NEAR, RET FAR, IRET, SYSRET, SYSEXIT, RSM, SKINIT, RDM, UIRET
Call = 5
It’s a call instruction: CALL NEAR, CALL FAR, SYSCALL, SYSENTER, VMLAUNCH, VMRESUME, VMCALL, VMMCALL, VMGEXIT, VMRUN, TDCALL, SEAMCALL, SEAMRET
IndirectCall = 6
It’s an indirect call instruction: CALL NEAR reg, CALL NEAR [mem], CALL FAR [mem]
Interrupt = 7
It’s an interrupt instruction: INT n, INT3, INT1, INTO, SMINT, DMINT
XbeginXabortXend = 8
It’s XBEGIN
Exception = 9
It’s an invalid instruction, eg. Code::INVALID, UD0, UD1, UD2
Implementations§
Source§impl FlowControl
impl FlowControl
Sourcepub fn values() -> impl Iterator<Item = FlowControl> + DoubleEndedIterator + ExactSizeIterator + FusedIterator
pub fn values() -> impl Iterator<Item = FlowControl> + DoubleEndedIterator + ExactSizeIterator + FusedIterator
Iterates over all FlowControl enum values
Trait Implementations§
Source§impl Clone for FlowControl
impl Clone for FlowControl
Source§fn clone(&self) -> FlowControl
fn clone(&self) -> FlowControl
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FlowControl
Available on crate feature instr_info only.
impl Debug for FlowControl
instr_info only.Source§impl Default for FlowControl
Available on crate feature instr_info only.
impl Default for FlowControl
instr_info only.Source§impl<'de> Deserialize<'de> for FlowControl
impl<'de> Deserialize<'de> for FlowControl
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Hash for FlowControl
impl Hash for FlowControl
Source§impl Ord for FlowControl
impl Ord for FlowControl
Source§fn cmp(&self, other: &FlowControl) -> Ordering
fn cmp(&self, other: &FlowControl) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for FlowControl
impl PartialEq for FlowControl
Source§impl PartialOrd for FlowControl
impl PartialOrd for FlowControl
Source§impl Serialize for FlowControl
impl Serialize for FlowControl
Source§impl TryFrom<usize> for FlowControl
Available on crate feature instr_info only.
impl TryFrom<usize> for FlowControl
instr_info only.