Enum alure::Instr [−][src]
#[non_exhaustive] pub enum Instr<Extension = NOp> where
Extension: InstructionSet, { ControlFlow(ControlFlowOp), Put(PutOp), Move(MoveOp), Cmp(CmpOp), Arithmetic(ArithmeticOp), Bitwise(BitwiseOp), Bytes(BytesOp), Digest(DigestOp), ExtensionCodes(Extension), Nop, }
Expand description
Full set of instructions
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
ControlFlow(ControlFlowOp)
Control-flow instructions
Put(PutOp)
Instructions setting register values
Move(MoveOp)
Instructions moving and swapping register values
Cmp(CmpOp)
Instructions comparing register values
Arithmetic(ArithmeticOp)
Arithmetic instructions
Bitwise(BitwiseOp)
Bit operations & boolean algebra instructions
Bytes(BytesOp)
Operations on byte strings
Digest(DigestOp)
Cryptographic hashing functions
Extension operations which can be provided by a host environment
No-operation instruction
Trait Implementations
Returns number of bytes which instruction and its argument occupies
Returns range of instruction btecodes covered by a set of operations
Returns byte representing instruction code (without its arguments)
fn write_args<W>(&self, writer: &mut W) -> Result<(), EncodeError> where
W: Write,
EncodeError: From<<W as Write>::Error>,
[src]
fn write_args<W>(&self, writer: &mut W) -> Result<(), EncodeError> where
W: Write,
EncodeError: From<<W as Write>::Error>,
[src]Writes instruction arguments as bytecode, omitting instruction code byte
fn read<R>(reader: &mut R) -> Result<Self, DecodeError> where
R: Read,
DecodeError: From<<R as Read>::Error>,
[src]
fn read<R>(reader: &mut R) -> Result<Self, DecodeError> where
R: Read,
DecodeError: From<<R as Read>::Error>,
[src]Reads the instruction from bytecode
fn write<W>(&self, writer: &mut W) -> Result<(), EncodeError> where
W: Write,
EncodeError: From<<W as Write>::Error>,
[src]
fn write<W>(&self, writer: &mut W) -> Result<(), EncodeError> where
W: Write,
EncodeError: From<<W as Write>::Error>,
[src]Writes the instruction as bytecode
Auto Trait Implementations
impl<Extension> RefUnwindSafe for Instr<Extension> where
Extension: RefUnwindSafe,
impl<Extension> UnwindSafe for Instr<Extension> where
Extension: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more