Documentation
#[derive(Serialize, Deserialize, Copy, Clone, Debug)]
pub enum OpCode {
    Return,
    Branch(usize),
    ConditionalBranch(usize, usize),
    SIAdd(usize, usize),
    SISub(usize, usize),
    SIMul(usize, usize),
    SIDiv(usize, usize),
    SIMod(usize, usize),
    UIAdd(usize, usize),
    UISub(usize, usize),
    UIMul(usize, usize),
    UIDiv(usize, usize),
    UIMod(usize, usize),
    FAdd(usize, usize),
    FSub(usize, usize),
    FMul(usize, usize),
    FDiv(usize, usize),
    FMod(usize, usize),
    Shl(usize, usize),
    Shr(usize, usize),
    BitAnd(usize, usize),
    BitOr(usize, usize),
    Xor(usize, usize),
    LogicalNot(usize),
    BitNot(usize),
    SILt(usize, usize),
    SILe(usize, usize),
    SIGe(usize, usize),
    SIGt(usize, usize),
    UILt(usize, usize),
    UILe(usize, usize),
    UIGe(usize, usize),
    UIGt(usize, usize),
    FLt(usize, usize),
    FLe(usize, usize),
    FGe(usize, usize),
    FGt(usize, usize),
    Eq(usize, usize),
    Ne(usize, usize),
    SIConst8(usize, i8),
    SIConst16(usize, i16),
    SIConst32(usize, i32),
    SIConst64(usize, i64),
    UIConst8(usize, u8),
    UIConst16(usize, u16),
    UIConst32(usize, u32),
    UIConst64(usize, u64),
    FConst64(usize, f64),
    Load8(usize, usize),
    Load16(usize, usize),
    Load32(usize, usize),
    Load64(usize, usize),
    Store8(usize, usize),
    Store16(usize, usize),
    Store32(usize, usize),
    Store64(usize, usize),
    Mov(usize, usize),
    LoadGlobal(usize, usize),
    StoreGlobal(usize, usize),
    Call(usize),
    CallIndirect(usize),
    CallNative(usize),
    CallNativeIndirect(usize)
}