Module aluvm::isa

source ·
Expand description

AluVM instruction set architecture

Modules

Structs

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