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 · sourceconst fn clone_from(&mut self, source: &Self)
const 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 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 · sourceconst fn max(self, other: Self) -> Self
const fn max(self, other: Self) -> Self
1.21.0 · sourceconst fn min(self, other: Self) -> Self
const fn min(self, other: Self) -> Self
1.50.0 · sourceconst fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
const 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 · sourceconst fn le(&self, other: &Rhs) -> bool
const fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more