pub enum Instruction {
Show 235 variants
Nop,
Assert,
AssertWithError(ErrorMsg),
AssertEq,
AssertEqWithError(ErrorMsg),
AssertEqw,
AssertEqwWithError(ErrorMsg),
Assertz,
AssertzWithError(ErrorMsg),
Add,
AddImm(ImmFelt),
Sub,
SubImm(ImmFelt),
Mul,
MulImm(ImmFelt),
Div,
DivImm(ImmFelt),
Neg,
ILog2,
Inv,
Incr,
Pow2,
Exp,
ExpImm(ImmFelt),
ExpBitLength(u8),
Not,
And,
Or,
Xor,
Eq,
EqImm(ImmFelt),
Neq,
NeqImm(ImmFelt),
Eqw,
Lt,
Lte,
Gt,
Gte,
IsOdd,
Ext2Add,
Ext2Sub,
Ext2Mul,
Ext2Div,
Ext2Neg,
Ext2Inv,
U32Test,
U32TestW,
U32Assert,
U32AssertWithError(ErrorMsg),
U32Assert2,
U32Assert2WithError(ErrorMsg),
U32AssertW,
U32AssertWWithError(ErrorMsg),
U32Split,
U32Cast,
U32WrappingAdd,
U32WrappingAddImm(ImmU32),
U32OverflowingAdd,
U32OverflowingAddImm(ImmU32),
U32OverflowingAdd3,
U32WrappingAdd3,
U32WrappingSub,
U32WrappingSubImm(ImmU32),
U32OverflowingSub,
U32OverflowingSubImm(ImmU32),
U32WrappingMul,
U32WrappingMulImm(ImmU32),
U32OverflowingMul,
U32OverflowingMulImm(ImmU32),
U32OverflowingMadd,
U32WrappingMadd,
U32Div,
U32DivImm(ImmU32),
U32Mod,
U32ModImm(ImmU32),
U32DivMod,
U32DivModImm(ImmU32),
U32And,
U32Or,
U32Xor,
U32Not,
U32Shr,
U32ShrImm(ImmU8),
U32Shl,
U32ShlImm(ImmU8),
U32Rotr,
U32RotrImm(ImmU8),
U32Rotl,
U32RotlImm(ImmU8),
U32Popcnt,
U32Ctz,
U32Clz,
U32Clo,
U32Cto,
U32Lt,
U32Lte,
U32Gt,
U32Gte,
U32Min,
U32Max,
Drop,
DropW,
PadW,
Dup0,
Dup1,
Dup2,
Dup3,
Dup4,
Dup5,
Dup6,
Dup7,
Dup8,
Dup9,
Dup10,
Dup11,
Dup12,
Dup13,
Dup14,
Dup15,
DupW0,
DupW1,
DupW2,
DupW3,
Swap1,
Swap2,
Swap3,
Swap4,
Swap5,
Swap6,
Swap7,
Swap8,
Swap9,
Swap10,
Swap11,
Swap12,
Swap13,
Swap14,
Swap15,
SwapW1,
SwapW2,
SwapW3,
SwapDw,
MovUp2,
MovUp3,
MovUp4,
MovUp5,
MovUp6,
MovUp7,
MovUp8,
MovUp9,
MovUp10,
MovUp11,
MovUp12,
MovUp13,
MovUp14,
MovUp15,
MovUpW2,
MovUpW3,
MovDn2,
MovDn3,
MovDn4,
MovDn5,
MovDn6,
MovDn7,
MovDn8,
MovDn9,
MovDn10,
MovDn11,
MovDn12,
MovDn13,
MovDn14,
MovDn15,
MovDnW2,
MovDnW3,
Reversew,
Reversedw,
CSwap,
CSwapW,
CDrop,
CDropW,
Push(Immediate<PushValue>),
PushSlice(Immediate<WordValue>, Range<usize>),
PushFeltList(Vec<Felt>),
Locaddr(ImmU16),
Sdepth,
Caller,
Clk,
MemLoad,
MemLoadImm(ImmU32),
MemLoadW,
MemLoadWImm(ImmU32),
MemLoadWBe,
MemLoadWBeImm(ImmU32),
MemLoadWLe,
MemLoadWLeImm(ImmU32),
LocLoad(ImmU16),
LocLoadW(ImmU16),
MemStore,
MemStoreImm(ImmU32),
MemStoreW,
MemStoreWImm(ImmU32),
MemStoreWBe,
MemStoreWBeImm(ImmU32),
MemStoreWLe,
MemStoreWLeImm(ImmU32),
LocStore(ImmU16),
LocStoreW(ImmU16),
MemStream,
AdvPipe,
AdvPush(ImmU8),
AdvLoadW,
SysEvent(SystemEventNode),
Hash,
HMerge,
HPerm,
MTreeGet,
MTreeSet,
MTreeMerge,
MTreeVerify,
MTreeVerifyWithError(ErrorMsg),
FriExt2Fold4,
HornerBase,
HornerExt,
EvalCircuit,
Exec(InvocationTarget),
Call(InvocationTarget),
SysCall(InvocationTarget),
DynExec,
DynCall,
ProcRef(InvocationTarget),
Breakpoint,
Debug(DebugOptions),
Emit,
EmitImm(ImmFelt),
Trace(ImmU32),
}
Expand description
Represents the set of primitive instructions in Miden Assembly syntax.
NOTE: For control flow instructions, see crate::ast::Op.
Variants§
Nop
Assert
AssertWithError(ErrorMsg)
AssertEq
AssertEqWithError(ErrorMsg)
AssertEqw
AssertEqwWithError(ErrorMsg)
Assertz
AssertzWithError(ErrorMsg)
Add
AddImm(ImmFelt)
Sub
SubImm(ImmFelt)
Mul
MulImm(ImmFelt)
Div
DivImm(ImmFelt)
Neg
ILog2
Inv
Incr
Pow2
Exp
ExpImm(ImmFelt)
ExpBitLength(u8)
Not
And
Or
Xor
Eq
EqImm(ImmFelt)
Neq
NeqImm(ImmFelt)
Eqw
Lt
Lte
Gt
Gte
IsOdd
Ext2Add
Ext2Sub
Ext2Mul
Ext2Div
Ext2Neg
Ext2Inv
U32Test
U32TestW
U32Assert
U32AssertWithError(ErrorMsg)
U32Assert2
U32Assert2WithError(ErrorMsg)
U32AssertW
U32AssertWWithError(ErrorMsg)
U32Split
U32Cast
U32WrappingAdd
U32WrappingAddImm(ImmU32)
U32OverflowingAdd
U32OverflowingAddImm(ImmU32)
U32OverflowingAdd3
U32WrappingAdd3
U32WrappingSub
U32WrappingSubImm(ImmU32)
U32OverflowingSub
U32OverflowingSubImm(ImmU32)
U32WrappingMul
U32WrappingMulImm(ImmU32)
U32OverflowingMul
U32OverflowingMulImm(ImmU32)
U32OverflowingMadd
U32WrappingMadd
U32Div
U32DivImm(ImmU32)
U32Mod
U32ModImm(ImmU32)
U32DivMod
U32DivModImm(ImmU32)
U32And
U32Or
U32Xor
U32Not
U32Shr
U32ShrImm(ImmU8)
U32Shl
U32ShlImm(ImmU8)
U32Rotr
U32RotrImm(ImmU8)
U32Rotl
U32RotlImm(ImmU8)
U32Popcnt
U32Ctz
U32Clz
U32Clo
U32Cto
U32Lt
U32Lte
U32Gt
U32Gte
U32Min
U32Max
Drop
DropW
PadW
Dup0
Dup1
Dup2
Dup3
Dup4
Dup5
Dup6
Dup7
Dup8
Dup9
Dup10
Dup11
Dup12
Dup13
Dup14
Dup15
DupW0
DupW1
DupW2
DupW3
Swap1
Swap2
Swap3
Swap4
Swap5
Swap6
Swap7
Swap8
Swap9
Swap10
Swap11
Swap12
Swap13
Swap14
Swap15
SwapW1
SwapW2
SwapW3
SwapDw
MovUp2
MovUp3
MovUp4
MovUp5
MovUp6
MovUp7
MovUp8
MovUp9
MovUp10
MovUp11
MovUp12
MovUp13
MovUp14
MovUp15
MovUpW2
MovUpW3
MovDn2
MovDn3
MovDn4
MovDn5
MovDn6
MovDn7
MovDn8
MovDn9
MovDn10
MovDn11
MovDn12
MovDn13
MovDn14
MovDn15
MovDnW2
MovDnW3
Reversew
Reversedw
CSwap
CSwapW
CDrop
CDropW
Push(Immediate<PushValue>)
PushSlice(Immediate<WordValue>, Range<usize>)
PushFeltList(Vec<Felt>)
Locaddr(ImmU16)
Sdepth
Caller
Clk
MemLoad
MemLoadImm(ImmU32)
MemLoadW
MemLoadWImm(ImmU32)
MemLoadWBe
MemLoadWBeImm(ImmU32)
MemLoadWLe
MemLoadWLeImm(ImmU32)
LocLoad(ImmU16)
LocLoadW(ImmU16)
MemStore
MemStoreImm(ImmU32)
MemStoreW
MemStoreWImm(ImmU32)
MemStoreWBe
MemStoreWBeImm(ImmU32)
MemStoreWLe
MemStoreWLeImm(ImmU32)
LocStore(ImmU16)
LocStoreW(ImmU16)
MemStream
AdvPipe
AdvPush(ImmU8)
AdvLoadW
SysEvent(SystemEventNode)
Hash
HMerge
HPerm
MTreeGet
MTreeSet
MTreeMerge
MTreeVerify
MTreeVerifyWithError(ErrorMsg)
FriExt2Fold4
HornerBase
HornerExt
EvalCircuit
Exec(InvocationTarget)
Call(InvocationTarget)
SysCall(InvocationTarget)
DynExec
DynCall
ProcRef(InvocationTarget)
Breakpoint
Debug(DebugOptions)
Emit
EmitImm(ImmFelt)
Trace(ImmU32)
Implementations§
Source§impl Instruction
impl Instruction
Sourcepub const fn should_break(&self) -> bool
pub const fn should_break(&self) -> bool
Returns true if the instruction should yield a breakpoint.
Trait Implementations§
Source§impl Clone for Instruction
impl Clone for Instruction
Source§fn clone(&self) -> Instruction
fn clone(&self) -> Instruction
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 moreSource§impl Debug for Instruction
impl Debug for Instruction
Source§impl Display for Instruction
impl Display for Instruction
Source§impl PartialEq for Instruction
impl PartialEq for Instruction
Source§impl PrettyPrint for Instruction
impl PrettyPrint for Instruction
Source§fn to_pretty_string(&self) -> String
fn to_pretty_string(&self) -> String
Source§fn pretty_print(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn pretty_print(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Pretty-print this object to the given core::fmt::Formatter. Read more
impl Eq for Instruction
impl StructuralPartialEq for Instruction
Auto Trait Implementations§
impl Freeze for Instruction
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnwindSafe for Instruction
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Set the foreground color generically Read more
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Set the background color generically. Read more
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Change the foreground color to black
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Change the background color to black
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Change the foreground color to red
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Change the background color to red
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Change the foreground color to green
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Change the background color to green
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Change the foreground color to yellow
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Change the background color to yellow
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Change the foreground color to blue
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Change the background color to blue
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Change the foreground color to magenta
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to magenta
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Change the foreground color to purple
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Change the background color to purple
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Change the foreground color to cyan
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Change the background color to cyan
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Change the foreground color to white
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Change the background color to white
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Change the foreground color to the terminal default
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Change the background color to the terminal default
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Change the foreground color to bright black
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Change the background color to bright black
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Change the foreground color to bright red
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Change the background color to bright red
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Change the foreground color to bright green
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Change the background color to bright green
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Change the foreground color to bright yellow
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Change the background color to bright yellow
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Change the foreground color to bright blue
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Change the background color to bright blue
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright magenta
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright magenta
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Change the foreground color to bright purple
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Change the background color to bright purple
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Change the foreground color to bright cyan
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Change the background color to bright cyan
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Change the foreground color to bright white
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Change the background color to bright white
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Make the text bold
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Make the text dim
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Make the text italicized
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Make the text underlined
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Make the text blink
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Make the text blink (but fast!)
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Swap the foreground and background colors
Hide the text
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Cross out the text
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the foreground color at runtime. Only use if you do not know which color will be used at
compile-time. If the color is constant, use either
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
Set the background color at runtime. Only use if you do not know what color to use at
compile-time. If the color is constant, use either
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read moreSource§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the foreground color to a specific RGB value.
Source§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
Set the background color to a specific RGB value.
Source§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
Sets the foreground color to an RGB value.
Source§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
Sets the background color to an RGB value.