Module fuel_asm::op

source ·
Expand description

Definitions and implementations for each unique instruction type, one for each unique Opcode variant.

Structs

  • Adds two registers.
  • Adds a register and an immediate value.
  • Allocate a number of bytes from the heap.
  • Bitwise ANDs two registers.
  • Bitwise ANDs a register and an immediate value.
  • Get the balance of contract of an asset ID.
  • Get current block height.
  • Get block header hash for height.
  • Burn coins of the current contract’s asset ID.
  • Call a contract.
  • Get current block proposer’s address.
  • Copy contract code for a contract.
  • Extend the current call frame’s stack
  • Extend the current call frame’s stack by an immediate value.
  • Shrink the current call frame’s stack
  • Shrink the current call frame’s stack by an immediate value.
  • Get code root of a contract.
  • Get code size of a contract.
  • Divides two registers.
  • Divides a register and an immediate value.
  • The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message.
  • Compares two registers for equality.
  • Raises one register to the power of another.
  • Raises one register to the power of an immediate value.
  • Set flag register to a register.
  • Get metadata from memory.
  • Compares two registers for greater-than.
  • Get transaction fields.
  • Jump.
  • Dynamic jump.
  • Unconditional dynamic relative jump backwards, with a constant offset.
  • Unconditional dynamic relative jump forwards, with a constant offset.
  • Conditional dynamic jump.
  • Dynamic relative jump backwards, conditional on comparsion, with a constant offset.
  • Dynamic relative jump forwards, conditional on comparsion, with a constant offset.
  • Conditional jump.
  • Dynamic relative jump backwards, conditional against zero, with a constant offset.
  • Dynamic relative jump forwards, conditional against zero, with a constant offset.
  • Conditional jump against zero.
  • The keccak-256 hash of a slice.
  • A byte is loaded from the specified address offset by an immediate value.
  • Load a contract’s code as executable.
  • Log an event.
  • Log data.
  • Compares two registers for less-than.
  • A word is loaded from the specified address offset by an immediate value.
  • Clear a variable number of bytes in memory.
  • Clear an immediate number of bytes in memory.
  • Copy a variable number of bytes in memory.
  • Copy an immediate number of bytes in memory.
  • Compare bytes in memory.
  • Mint coins of the current contract’s asset ID.
  • The integer logarithm of a register.
  • Modulo remainder of two registers.
  • Modulo remainder of a register and an immediate value.
  • Copy from one register to another.
  • Copy immediate value into a register
  • The integer root of a register.
  • Multiplies two registers.
  • Multiplies a register and an immediate value.
  • Performs no operation.
  • Bitwise NOT a register.
  • Bitwise ORs two registers.
  • Bitwise ORs a register and an immediate value.
  • Return from context.
  • Return from context with data.
  • Halt execution, reverting state changes and returning a value.
  • The SHA-2-256 hash of a slice.
  • Write the least significant byte of a register to memory.
  • Clear a series of slots from contract storage.
  • Left shifts a register by a register.
  • Left shifts a register by an immediate value.
  • Send a message to recipient address with call abi, coins, and output.
  • Right shifts a register by a register.
  • Right shifts a register by an immediate value.
  • Load a word from contract storage.
  • Load a series of 32 byte slots from contract storage.
  • Subtracts two registers.
  • Subtracts a register and an immediate value.
  • Write a register to memory.
  • Store a word in contract storage.
  • Store a series of 32 byte slots in contract storage.
  • Get timestamp of block at given height.
  • Transfer coins to a contract unconditionally.
  • Transfer coins to a variable output.
  • Bitwise XORs two registers.
  • Bitwise XORs a register and an immediate value.

Functions

  • Adds two registers.
  • Adds a register and an immediate value.
  • Allocate a number of bytes from the heap.
  • Bitwise ANDs two registers.
  • Bitwise ANDs a register and an immediate value.
  • Get the balance of contract of an asset ID.
  • Get current block height.
  • Get block header hash for height.
  • Burn coins of the current contract’s asset ID.
  • Call a contract.
  • Get current block proposer’s address.
  • Copy contract code for a contract.
  • Extend the current call frame’s stack
  • Extend the current call frame’s stack by an immediate value.
  • Shrink the current call frame’s stack
  • Shrink the current call frame’s stack by an immediate value.
  • Get code root of a contract.
  • Get code size of a contract.
  • Divides two registers.
  • Divides a register and an immediate value.
  • The 64-byte public key (x, y) recovered from 64-byte signature on 32-byte message.
  • Compares two registers for equality.
  • Raises one register to the power of another.
  • Raises one register to the power of an immediate value.
  • Set flag register to a register.
  • Get metadata from memory.
  • Construct a GM instruction from its arguments.
  • Compares two registers for greater-than.
  • Get transaction fields.
  • Construct a GM instruction from its arguments.
  • Jump.
  • Dynamic jump.
  • Unconditional dynamic relative jump backwards, with a constant offset.
  • Unconditional dynamic relative jump forwards, with a constant offset.
  • Conditional dynamic jump.
  • Dynamic relative jump backwards, conditional on comparsion, with a constant offset.
  • Dynamic relative jump forwards, conditional on comparsion, with a constant offset.
  • Conditional jump.
  • Dynamic relative jump backwards, conditional against zero, with a constant offset.
  • Dynamic relative jump forwards, conditional against zero, with a constant offset.
  • Conditional jump against zero.
  • The keccak-256 hash of a slice.
  • A byte is loaded from the specified address offset by an immediate value.
  • Load a contract’s code as executable.
  • Log an event.
  • Log data.
  • Compares two registers for less-than.
  • A word is loaded from the specified address offset by an immediate value.
  • Clear a variable number of bytes in memory.
  • Clear an immediate number of bytes in memory.
  • Copy a variable number of bytes in memory.
  • Copy an immediate number of bytes in memory.
  • Compare bytes in memory.
  • Mint coins of the current contract’s asset ID.
  • The integer logarithm of a register.
  • Modulo remainder of two registers.
  • Modulo remainder of a register and an immediate value.
  • Copy from one register to another.
  • Copy immediate value into a register
  • The integer root of a register.
  • Multiplies two registers.
  • Multiplies a register and an immediate value.
  • Performs no operation.
  • Bitwise NOT a register.
  • Bitwise ORs two registers.
  • Bitwise ORs a register and an immediate value.
  • Return from context.
  • Return from context with data.
  • Halt execution, reverting state changes and returning a value.
  • The SHA-2-256 hash of a slice.
  • Write the least significant byte of a register to memory.
  • Clear a series of slots from contract storage.
  • Left shifts a register by a register.
  • Left shifts a register by an immediate value.
  • Send a message to recipient address with call abi, coins, and output.
  • Right shifts a register by a register.
  • Right shifts a register by an immediate value.
  • Load a word from contract storage.
  • Load a series of 32 byte slots from contract storage.
  • Subtracts two registers.
  • Subtracts a register and an immediate value.
  • Write a register to memory.
  • Store a word in contract storage.
  • Store a series of 32 byte slots in contract storage.
  • Get timestamp of block at given height.
  • Transfer coins to a contract unconditionally.
  • Transfer coins to a variable output.
  • Bitwise XORs two registers.
  • Bitwise XORs a register and an immediate value.