Enum binaryninja::mlil::MediumLevelILInstruction
source · [−]pub enum MediumLevelILInstruction {
Show 130 variants
Nop(NoArgs),
Noret(NoArgs),
Bp(NoArgs),
Undef(NoArgs),
Unimpl(NoArgs),
If(MediumLevelILOperationIf),
FloatConst(FloatConst),
Const(Constant),
ConstPtr(Constant),
Import(Constant),
ExternPtr(ExternPtr),
ConstData(ConstantData),
Jump(Jump),
RetHint(Jump),
StoreSsa(StoreSsa),
StoreStructSsa(StoreStructSsa),
StoreStruct(StoreStruct),
Store(Store),
JumpTo(JumpTo),
Goto(Goto),
FreeVarSlot(FreeVarSlot),
SetVarField(SetVarField),
SetVar(SetVar),
FreeVarSlotSsa(FreeVarSlotSsa),
SetVarSsaField(SetVarSsaField),
SetVarAliasedField(SetVarSsaField),
SetVarAliased(SetVarAliased),
SetVarSsa(SetVarSsa),
VarPhi(VarPhi),
MemPhi(MemPhi),
VarSplit(VarSplit),
SetVarSplit(SetVarSplit),
VarSplitSsa(VarSplitSsa),
SetVarSplitSsa(SetVarSplitSsa),
Add(BinaryOp),
Sub(BinaryOp),
And(BinaryOp),
Or(BinaryOp),
Xor(BinaryOp),
Lsl(BinaryOp),
Lsr(BinaryOp),
Asr(BinaryOp),
Rol(BinaryOp),
Ror(BinaryOp),
Mul(BinaryOp),
MuluDp(BinaryOp),
MulsDp(BinaryOp),
Divu(BinaryOp),
DivuDp(BinaryOp),
Divs(BinaryOp),
DivsDp(BinaryOp),
Modu(BinaryOp),
ModuDp(BinaryOp),
Mods(BinaryOp),
ModsDp(BinaryOp),
CmpE(BinaryOp),
CmpNe(BinaryOp),
CmpSlt(BinaryOp),
CmpUlt(BinaryOp),
CmpSle(BinaryOp),
CmpUle(BinaryOp),
CmpSge(BinaryOp),
CmpUge(BinaryOp),
CmpSgt(BinaryOp),
CmpUgt(BinaryOp),
TestBit(BinaryOp),
AddOverflow(BinaryOp),
FcmpE(BinaryOp),
FcmpNe(BinaryOp),
FcmpLt(BinaryOp),
FcmpLe(BinaryOp),
FcmpGe(BinaryOp),
FcmpGt(BinaryOp),
FcmpO(BinaryOp),
FcmpUo(BinaryOp),
Fadd(BinaryOp),
Fsub(BinaryOp),
Fmul(BinaryOp),
Fdiv(BinaryOp),
Adc(BinaryOpCarry),
Sbb(BinaryOpCarry),
Rlc(BinaryOpCarry),
Rrc(BinaryOpCarry),
Call(Call),
Tailcall(Call),
Syscall(Syscall),
Intrinsic(Intrinsic),
IntrinsicSsa(IntrinsicSsa),
CallSsa(CallSsa),
TailcallSsa(CallSsa),
CallUntypedSsa(CallUntypedSsa),
TailcallUntypedSsa(CallUntypedSsa),
SyscallSsa(SyscallSsa),
SyscallUntypedSsa(SyscallUntypedSsa),
CallUntyped(CallUntyped),
TailcallUntyped(CallUntyped),
SyscallUntyped(SyscallUntyped),
SeparateParamList(SeparateParamList),
SharedParamSlot(SharedParamSlot),
Neg(UnaryOp),
Not(UnaryOp),
Sx(UnaryOp),
Zx(UnaryOp),
LowPart(UnaryOp),
BoolToInt(UnaryOp),
UnimplMem(UnaryOp),
Fsqrt(UnaryOp),
Fneg(UnaryOp),
Fabs(UnaryOp),
FloatToInt(UnaryOp),
IntToFloat(UnaryOp),
FloatConv(UnaryOp),
RoundToInt(UnaryOp),
Floor(UnaryOp),
Ceil(UnaryOp),
Ftrunc(UnaryOp),
Load(UnaryOp),
LoadStruct(LoadStruct),
LoadStructSsa(LoadStructSsa),
LoadSsa(LoadSsa),
Ret(Ret),
Var(Var),
AddressOf(Var),
VarField(Field),
AddressOfField(Field),
VarSsa(VarSsa),
VarAliased(VarSsa),
VarSsaField(VarSsaField),
VarAliasedField(VarSsaField),
Trap(Trap),
}
Variants
Nop(NoArgs)
Noret(NoArgs)
Bp(NoArgs)
Undef(NoArgs)
Unimpl(NoArgs)
If(MediumLevelILOperationIf)
FloatConst(FloatConst)
Const(Constant)
ConstPtr(Constant)
Import(Constant)
ExternPtr(ExternPtr)
ConstData(ConstantData)
Jump(Jump)
RetHint(Jump)
StoreSsa(StoreSsa)
StoreStructSsa(StoreStructSsa)
StoreStruct(StoreStruct)
Store(Store)
JumpTo(JumpTo)
Goto(Goto)
FreeVarSlot(FreeVarSlot)
SetVarField(SetVarField)
SetVar(SetVar)
FreeVarSlotSsa(FreeVarSlotSsa)
SetVarSsaField(SetVarSsaField)
SetVarAliasedField(SetVarSsaField)
SetVarAliased(SetVarAliased)
SetVarSsa(SetVarSsa)
VarPhi(VarPhi)
MemPhi(MemPhi)
VarSplit(VarSplit)
SetVarSplit(SetVarSplit)
VarSplitSsa(VarSplitSsa)
SetVarSplitSsa(SetVarSplitSsa)
Add(BinaryOp)
Sub(BinaryOp)
And(BinaryOp)
Or(BinaryOp)
Xor(BinaryOp)
Lsl(BinaryOp)
Lsr(BinaryOp)
Asr(BinaryOp)
Rol(BinaryOp)
Ror(BinaryOp)
Mul(BinaryOp)
MuluDp(BinaryOp)
MulsDp(BinaryOp)
Divu(BinaryOp)
DivuDp(BinaryOp)
Divs(BinaryOp)
DivsDp(BinaryOp)
Modu(BinaryOp)
ModuDp(BinaryOp)
Mods(BinaryOp)
ModsDp(BinaryOp)
CmpE(BinaryOp)
CmpNe(BinaryOp)
CmpSlt(BinaryOp)
CmpUlt(BinaryOp)
CmpSle(BinaryOp)
CmpUle(BinaryOp)
CmpSge(BinaryOp)
CmpUge(BinaryOp)
CmpSgt(BinaryOp)
CmpUgt(BinaryOp)
TestBit(BinaryOp)
AddOverflow(BinaryOp)
FcmpE(BinaryOp)
FcmpNe(BinaryOp)
FcmpLt(BinaryOp)
FcmpLe(BinaryOp)
FcmpGe(BinaryOp)
FcmpGt(BinaryOp)
FcmpO(BinaryOp)
FcmpUo(BinaryOp)
Fadd(BinaryOp)
Fsub(BinaryOp)
Fmul(BinaryOp)
Fdiv(BinaryOp)
Adc(BinaryOpCarry)
Sbb(BinaryOpCarry)
Rlc(BinaryOpCarry)
Rrc(BinaryOpCarry)
Call(Call)
Tailcall(Call)
Syscall(Syscall)
Intrinsic(Intrinsic)
IntrinsicSsa(IntrinsicSsa)
CallSsa(CallSsa)
TailcallSsa(CallSsa)
CallUntypedSsa(CallUntypedSsa)
TailcallUntypedSsa(CallUntypedSsa)
SyscallSsa(SyscallSsa)
SyscallUntypedSsa(SyscallUntypedSsa)
CallUntyped(CallUntyped)
TailcallUntyped(CallUntyped)
SyscallUntyped(SyscallUntyped)
SeparateParamList(SeparateParamList)
SharedParamSlot(SharedParamSlot)
Neg(UnaryOp)
Not(UnaryOp)
Sx(UnaryOp)
Zx(UnaryOp)
LowPart(UnaryOp)
BoolToInt(UnaryOp)
UnimplMem(UnaryOp)
Fsqrt(UnaryOp)
Fneg(UnaryOp)
Fabs(UnaryOp)
FloatToInt(UnaryOp)
IntToFloat(UnaryOp)
FloatConv(UnaryOp)
RoundToInt(UnaryOp)
Floor(UnaryOp)
Ceil(UnaryOp)
Ftrunc(UnaryOp)
Load(UnaryOp)
LoadStruct(LoadStruct)
LoadStructSsa(LoadStructSsa)
LoadSsa(LoadSsa)
Ret(Ret)
Var(Var)
AddressOf(Var)
VarField(Field)
AddressOfField(Field)
VarSsa(VarSsa)
VarAliased(VarSsa)
VarSsaField(VarSsaField)
VarAliasedField(VarSsaField)
Trap(Trap)
Implementations
sourceimpl MediumLevelILInstruction
impl MediumLevelILInstruction
pub fn function(&self) -> &MediumLevelILFunction
pub fn address(&self) -> u64
pub fn lift(&self) -> MediumLevelILLiftedInstruction
pub fn operands(
&self
) -> Box<dyn Iterator<Item = (&'static str, MediumLevelILOperand)> + '_>
Trait Implementations
sourceimpl Clone for MediumLevelILInstruction
impl Clone for MediumLevelILInstruction
sourcefn clone(&self) -> MediumLevelILInstruction
fn clone(&self) -> MediumLevelILInstruction
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations
impl RefUnwindSafe for MediumLevelILInstruction
impl Send for MediumLevelILInstruction
impl Sync for MediumLevelILInstruction
impl Unpin for MediumLevelILInstruction
impl UnwindSafe for MediumLevelILInstruction
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more