Enum iced_x86::FlowControl
source · [−]pub enum FlowControl {
Next,
UnconditionalBranch,
IndirectBranch,
ConditionalBranch,
Return,
Call,
IndirectCall,
Interrupt,
XbeginXabortXend,
Exception,
}Expand description
Control flow
Variants
Next
The next instruction that will be executed is the next instruction in the instruction stream
UnconditionalBranch
It’s an unconditional branch instruction: JMP NEAR, JMP FAR
IndirectBranch
It’s an unconditional indirect branch: JMP NEAR reg, JMP NEAR [mem], JMP FAR [mem]
ConditionalBranch
It’s a conditional branch instruction: Jcc SHORT, Jcc NEAR, LOOP, LOOPcc, JRCXZ, JKccD SHORT, JKccD NEAR
Return
It’s a return instruction: RET NEAR, RET FAR, IRET, SYSRET, SYSEXIT, RSM, SKINIT, RDM, UIRET
Call
It’s a call instruction: CALL NEAR, CALL FAR, SYSCALL, SYSENTER, VMLAUNCH, VMRESUME, VMCALL, VMMCALL, VMGEXIT, VMRUN, TDCALL, SEAMCALL, SEAMRET
IndirectCall
It’s an indirect call instruction: CALL NEAR reg, CALL NEAR [mem], CALL FAR [mem]
Interrupt
It’s an interrupt instruction: INT n, INT3, INT1, INTO, SMINT, DMINT
XbeginXabortXend
It’s XBEGIN
Exception
It’s an invalid instruction, eg. Code::INVALID, UD0, UD1, UD2
Implementations
sourceimpl 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
sourceimpl Clone for FlowControl
impl Clone for FlowControl
sourcefn clone(&self) -> FlowControl
fn clone(&self) -> FlowControl
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresourceimpl Debug for FlowControl
impl Debug for FlowControl
sourceimpl Default for FlowControl
impl Default for FlowControl
sourceimpl<'de> Deserialize<'de> for FlowControl
impl<'de> Deserialize<'de> for FlowControl
sourcefn 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>,
sourceimpl Hash for FlowControl
impl Hash for FlowControl
sourceimpl Ord for FlowControl
impl Ord for FlowControl
sourcefn cmp(&self, other: &FlowControl) -> Ordering
fn cmp(&self, other: &FlowControl) -> Ordering
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
sourceimpl PartialEq<FlowControl> for FlowControl
impl PartialEq<FlowControl> for FlowControl
sourcefn eq(&self, other: &FlowControl) -> bool
fn eq(&self, other: &FlowControl) -> bool
sourceimpl PartialOrd<FlowControl> for FlowControl
impl PartialOrd<FlowControl> for FlowControl
sourcefn partial_cmp(&self, other: &FlowControl) -> Option<Ordering>
fn partial_cmp(&self, other: &FlowControl) -> Option<Ordering>
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read more