1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! Instruction decoding and execution module.
use crateInstruction;
use crate;
use cratedecode_instruction;
/// Execute trait. All instructions must implement this trait.
/// Decode and execute an instruction.
///
/// Arguments:
/// - `interpreter`: Mutable pointer to embive interpreter.
/// - `data`: `u32` value representing the instruction.
///
/// Returns:
/// - `Ok(EngineState)`: The instruction was decoded and executed successfully.
/// - `Err(Error)`: Failed to decode or execute instruction.