Trait alure::InstructionSet[][src]

pub trait InstructionSet: Bytecode + Display + Debug {
    fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep;
}
Expand description

Trait for instructions

Required methods

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

Executes given instruction taking all registers as input and output. The method is provided with the current code position which may be used by the instruction for constructing call stack.

Returns whether further execution should be stopped.

Implementors

impl InstructionSet for ArithmeticOp[src]

fn exec(self, regs: &mut Registers, _: LibSite) -> ExecStep[src]

impl InstructionSet for BitwiseOp[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl InstructionSet for BytesOp[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl InstructionSet for CmpOp[src]

fn exec(self, regs: &mut Registers, _: LibSite) -> ExecStep[src]

impl InstructionSet for ControlFlowOp[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl InstructionSet for Curve25519Op[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl InstructionSet for DigestOp[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl InstructionSet for MoveOp[src]

fn exec(self, regs: &mut Registers, _: LibSite) -> ExecStep[src]

impl InstructionSet for NOp[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl InstructionSet for PutOp[src]

fn exec(self, regs: &mut Registers, _: LibSite) -> ExecStep[src]

impl InstructionSet for Secp256k1Op[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]

impl<Extension> InstructionSet for Instr<Extension> where
    Extension: InstructionSet
[src]

fn exec(self, regs: &mut Registers, site: LibSite) -> ExecStep[src]