pub enum Instruction {
Show 80 variants Add { token: AddOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Addi { token: AddiOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, And { token: AndOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Andi { token: AndiOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Div { token: DivOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Divi { token: DiviOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Eq { token: EqOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Exp { token: ExpOpcode, ret: Ident, base: Ident, power: Ident, }, Expi { token: ExpiOpcode, ret: Ident, base: Ident, power: AsmImmediate, }, Gt { token: GtOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Lt { token: LtOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Mlog { token: MlogOpcode, ret: Ident, arg: Ident, base: Ident, }, Mod { token: ModOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Modi { token: ModiOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Move { token: MoveOpcode, ret: Ident, from: Ident, }, Movi { token: MoviOpcode, ret: Ident, arg: AsmImmediate, }, Mroo { token: MrooOpcode, ret: Ident, arg: Ident, root: Ident, }, Mul { token: MulOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Muli { token: MuliOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Noop { token: NoopOpcode, }, Not { token: NotOpcode, ret: Ident, arg: Ident, }, Or { token: OrOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Ori { token: OriOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Sll { token: SllOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Slli { token: SlliOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Srl { token: SrlOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Srli { token: SrliOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Sub { token: SubOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Subi { token: SubiOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Xor { token: XorOpcode, ret: Ident, lhs: Ident, rhs: Ident, }, Xori { token: XoriOpcode, ret: Ident, lhs: Ident, rhs: AsmImmediate, }, Jmp { token: JmpOpcode, offset: Ident, }, Ji { token: JiOpcode, offset: AsmImmediate, }, Jne { token: JneOpcode, lhs: Ident, rhs: Ident, offset: Ident, }, Jnei { token: JneiOpcode, lhs: Ident, rhs: Ident, offset: AsmImmediate, }, Jnzi { token: JnziOpcode, arg: Ident, offset: AsmImmediate, }, Ret { token: RetOpcode, value: Ident, }, Aloc { token: AlocOpcode, size: Ident, }, Cfei { token: CfeiOpcode, size: AsmImmediate, }, Cfsi { token: CfsiOpcode, size: AsmImmediate, }, Lb { token: LbOpcode, ret: Ident, addr: Ident, offset: AsmImmediate, }, Lw { token: LwOpcode, ret: Ident, addr: Ident, offset: AsmImmediate, }, Mcl { token: MclOpcode, addr: Ident, size: Ident, }, Mcli { token: McliOpcode, addr: Ident, size: AsmImmediate, }, Mcp { token: McpOpcode, dst_addr: Ident, src_addr: Ident, size: Ident, }, Mcpi { token: McpiOpcode, dst_addr: Ident, src_addr: Ident, size: AsmImmediate, }, Meq { token: MeqOpcode, ret: Ident, lhs_addr: Ident, rhs_addr: Ident, size: Ident, }, Sb { token: SbOpcode, addr: Ident, value: Ident, offset: AsmImmediate, }, Sw { token: SwOpcode, addr: Ident, value: Ident, offset: AsmImmediate, }, Bal { token: BalOpcode, ret: Ident, asset: Ident, contract: Ident, }, Bhei { token: BheiOpcode, ret: Ident, }, Bhsh { token: BhshOpcode, addr: Ident, height: Ident, }, Burn { token: BurnOpcode, coins: Ident, }, Call { token: CallOpcode, args_addr: Ident, coins: Ident, asset: Ident, gas: Ident, }, Cb { token: CbOpcode, addr: Ident, }, Ccp { token: CcpOpcode, dst_addr: Ident, contract: Ident, src_addr: Ident, size: Ident, }, Croo { token: CrooOpcode, addr: Ident, contract: Ident, }, Csiz { token: CsizOpcode, ret: Ident, contract: Ident, }, Ldc { token: LdcOpcode, contract: Ident, addr: Ident, size: Ident, }, Log { token: LogOpcode, reg_a: Ident, reg_b: Ident, reg_c: Ident, reg_d: Ident, }, Logd { token: LogdOpcode, reg_a: Ident, reg_b: Ident, addr: Ident, size: Ident, }, Mint { token: MintOpcode, coins: Ident, }, Retd { token: RetdOpcode, addr: Ident, size: Ident, }, Rvrt { token: RvrtOpcode, value: Ident, }, Smo { token: SmoOpcode, addr: Ident, len: Ident, output: Ident, coins: Ident, }, Scwq { token: ScwqOpcode, addr: Ident, is_set: Ident, len: Ident, }, Srw { token: SrwOpcode, ret: Ident, is_set: Ident, state_addr: Ident, }, Srwq { token: SrwqOpcode, addr: Ident, is_set: Ident, state_addr: Ident, count: Ident, }, Sww { token: SwwOpcode, state_addr: Ident, is_set: Ident, value: Ident, }, Swwq { token: SwwqOpcode, state_addr: Ident, is_set: Ident, addr: Ident, count: Ident, }, Time { token: TimeOpcode, ret: Ident, height: Ident, }, Tr { token: TrOpcode, contract: Ident, coins: Ident, asset: Ident, }, Tro { token: TroOpcode, addr: Ident, output: Ident, coins: Ident, asset: Ident, }, Ecr { token: EcrOpcode, addr: Ident, sig: Ident, hash: Ident, }, K256 { token: K256Opcode, addr: Ident, data: Ident, size: Ident, }, S256 { token: S256Opcode, addr: Ident, data: Ident, size: Ident, }, Flag { token: FlagOpcode, value: Ident, }, Gm { token: GmOpcode, ret: Ident, op: AsmImmediate, }, Gtf { token: GtfOpcode, ret: Ident, index: Ident, tx_field_id: AsmImmediate, }, Blob { token: BlobOpcode, size: AsmImmediate, },
}

Variants§

§

Add

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Addi

Fields

§ret: Ident
§lhs: Ident
§

And

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Andi

Fields

§ret: Ident
§lhs: Ident
§

Div

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Divi

Fields

§ret: Ident
§lhs: Ident
§

Eq

Fields

§token: EqOpcode
§ret: Ident
§lhs: Ident
§rhs: Ident
§

Exp

Fields

§ret: Ident
§base: Ident
§power: Ident
§

Expi

Fields

§ret: Ident
§base: Ident
§

Gt

Fields

§token: GtOpcode
§ret: Ident
§lhs: Ident
§rhs: Ident
§

Lt

Fields

§token: LtOpcode
§ret: Ident
§lhs: Ident
§rhs: Ident
§

Mlog

Fields

§ret: Ident
§arg: Ident
§base: Ident
§

Mod

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Modi

Fields

§ret: Ident
§lhs: Ident
§

Move

Fields

§ret: Ident
§from: Ident
§

Movi

Fields

§ret: Ident
§

Mroo

Fields

§ret: Ident
§arg: Ident
§root: Ident
§

Mul

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Muli

Fields

§ret: Ident
§lhs: Ident
§

Noop

Fields

§

Not

Fields

§ret: Ident
§arg: Ident
§

Or

Fields

§token: OrOpcode
§ret: Ident
§lhs: Ident
§rhs: Ident
§

Ori

Fields

§ret: Ident
§lhs: Ident
§

Sll

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Slli

Fields

§ret: Ident
§lhs: Ident
§

Srl

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Srli

Fields

§ret: Ident
§lhs: Ident
§

Sub

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Subi

Fields

§ret: Ident
§lhs: Ident
§

Xor

Fields

§ret: Ident
§lhs: Ident
§rhs: Ident
§

Xori

Fields

§ret: Ident
§lhs: Ident
§

Jmp

Fields

§offset: Ident
§

Ji

Fields

§token: JiOpcode
§

Jne

Fields

§lhs: Ident
§rhs: Ident
§offset: Ident
§

Jnei

Fields

§lhs: Ident
§rhs: Ident
§

Jnzi

Fields

§arg: Ident
§

Ret

Fields

§value: Ident
§

Aloc

Fields

§size: Ident
§

Cfei

Fields

§

Cfsi

Fields

§

Lb

Fields

§token: LbOpcode
§ret: Ident
§addr: Ident
§

Lw

Fields

§token: LwOpcode
§ret: Ident
§addr: Ident
§

Mcl

Fields

§addr: Ident
§size: Ident
§

Mcli

Fields

§addr: Ident
§

Mcp

Fields

§dst_addr: Ident
§src_addr: Ident
§size: Ident
§

Mcpi

Fields

§dst_addr: Ident
§src_addr: Ident
§

Meq

Fields

§ret: Ident
§lhs_addr: Ident
§rhs_addr: Ident
§size: Ident
§

Sb

Fields

§token: SbOpcode
§addr: Ident
§value: Ident
§

Sw

Fields

§token: SwOpcode
§addr: Ident
§value: Ident
§

Bal

Fields

§ret: Ident
§asset: Ident
§contract: Ident
§

Bhei

Fields

§ret: Ident
§

Bhsh

Fields

§addr: Ident
§height: Ident
§

Burn

Fields

§coins: Ident
§

Call

Fields

§args_addr: Ident
§coins: Ident
§asset: Ident
§gas: Ident
§

Cb

Fields

§token: CbOpcode
§addr: Ident
§

Ccp

Fields

§dst_addr: Ident
§contract: Ident
§src_addr: Ident
§size: Ident
§

Croo

Fields

§addr: Ident
§contract: Ident
§

Csiz

Fields

§ret: Ident
§contract: Ident
§

Ldc

Fields

§contract: Ident
§addr: Ident
§size: Ident
§

Log

Fields

§reg_a: Ident
§reg_b: Ident
§reg_c: Ident
§reg_d: Ident
§

Logd

Fields

§reg_a: Ident
§reg_b: Ident
§addr: Ident
§size: Ident
§

Mint

Fields

§coins: Ident
§

Retd

Fields

§addr: Ident
§size: Ident
§

Rvrt

Fields

§value: Ident
§

Smo

Fields

§addr: Ident
§len: Ident
§output: Ident
§coins: Ident
§

Scwq

Fields

§addr: Ident
§is_set: Ident
§len: Ident
§

Srw

Fields

§ret: Ident
§is_set: Ident
§state_addr: Ident
§

Srwq

Fields

§addr: Ident
§is_set: Ident
§state_addr: Ident
§count: Ident
§

Sww

Fields

§state_addr: Ident
§is_set: Ident
§value: Ident
§

Swwq

Fields

§state_addr: Ident
§is_set: Ident
§addr: Ident
§count: Ident
§

Time

Fields

§ret: Ident
§height: Ident
§

Tr

Fields

§token: TrOpcode
§contract: Ident
§coins: Ident
§asset: Ident
§

Tro

Fields

§addr: Ident
§output: Ident
§coins: Ident
§asset: Ident
§

Ecr

Fields

§addr: Ident
§sig: Ident
§hash: Ident
§

K256

Fields

§addr: Ident
§data: Ident
§size: Ident
§

S256

Fields

§addr: Ident
§data: Ident
§size: Ident
§

Flag

Fields

§value: Ident
§

Gm

Fields

§token: GmOpcode
§ret: Ident
§

Gtf

Fields

§ret: Ident
§index: Ident
§tx_field_id: AsmImmediate
§

Blob

Fields

Implementations§

Trait Implementations§

source§

impl Clone for Instruction

source§

fn clone(&self) -> Instruction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Instruction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Serialize for Instruction

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Spanned for Instruction

source§

fn span(&self) -> Span

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<T> StorageAsMut for T

§

fn storage<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,

§

fn storage_as_mut<Type>(&mut self) -> StorageMut<'_, Self, Type>where Type: Mappable,

§

impl<T> StorageAsRef for T

§

fn storage<Type>(&self) -> StorageRef<'_, Self, Type>where Type: Mappable,

§

fn storage_as_ref<Type>(&self) -> StorageRef<'_, Self, Type>where Type: Mappable,

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V