Enum InstructionCategory
pub enum InstructionCategory {
Arithmetic,
BitwiseLogical,
Comparison,
ControlFlow,
Conversion,
LoadStore,
ObjectModel,
Prefix,
Misc,
}Expand description
Categorization of instructions by their primary function.
This classification helps in understanding the purpose of instructions and is useful for analysis, optimization, and code generation.
§Examples
use dotscope::disassembler::InstructionCategory;
// Different instruction categories
let arithmetic = InstructionCategory::Arithmetic; // add, sub, mul, div
let control_flow = InstructionCategory::ControlFlow; // br, switch, ret
let load_store = InstructionCategory::LoadStore; // ldloc, stfldVariants§
Arithmetic
Arithmetic operations (add, sub, mul, div, rem, neg)
BitwiseLogical
Bitwise and logical operations (and, or, xor, not, shl, shr)
Comparison
Comparison operations (ceq, cgt, clt)
ControlFlow
Control flow operations (br, switch, ret, call)
Conversion
Type conversion operations (conv.i4, conv.r8, box, unbox)
LoadStore
Load and store operations (ldloc, stfld, ldarg)
ObjectModel
Object model operations (newobj, ldfld, castclass)
Prefix
Prefix instructions (unaligned, volatile, tail)
Misc
Miscellaneous operations (nop, break, dup)
Trait Implementations§
§impl Clone for InstructionCategory
impl Clone for InstructionCategory
§fn clone(&self) -> InstructionCategory
fn clone(&self) -> InstructionCategory
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for InstructionCategory
impl Debug for InstructionCategory
§impl PartialEq for InstructionCategory
impl PartialEq for InstructionCategory
impl Copy for InstructionCategory
impl Eq for InstructionCategory
impl StructuralPartialEq for InstructionCategory
Auto Trait Implementations§
impl Freeze for InstructionCategory
impl RefUnwindSafe for InstructionCategory
impl Send for InstructionCategory
impl Sync for InstructionCategory
impl Unpin for InstructionCategory
impl UnwindSafe for InstructionCategory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more