Module aluvm::isa

source ·
Expand description

AluVM instruction set architecture

Modules

Structs

Encoding and overflowing flags for integer numbers
Reserved instruction, which equal to ControlFlowOp::Fail.

Enums

Arithmetic instructions.
Bit operations & boolean algebra instructions
Errors encoding instructions
Operations on byte strings.
Instructions comparing register values
Control-flow instructions
Operations on Curve25519 elliptic curve
Flags for bytestring delete operation. For the detailed description please read crate::isa::BytesOp::Del.
Cryptographic hashing functions
Turing machine movement after instruction execution
Flag for bytestring operations indicating whether the string should be extended to a new length or the operation should fail (for instance, see fill operation).
Float equality flag
Flags for bytestring insert operation. For the detailed description please read crate::isa::BytesOp::Ins.
Full set of instructions
List of standardised ISA extensions.
Merge flags for operations which need to add certain bit value to the register existing value
Instructions moving and swapping register values
Non-equality flag
Errors for parsing string representation for a flag values
Instructions setting register values
Rounding flags for float numbers
Operations on Secp256k1 elliptic curve
Integer encoding flag
Flags for bytestring split operation.

Traits

Non-failiable byte encoding for the instruction set. We can’t use io since (1) we are no_std, (2) it operates data with unlimited length (while we are bound by u16), (3) it provides too many fails in situations when we can’t fail because of u16-bounding and exclusive in-memory encoding handling.
Marker trait for flag types
Trait for instructions