[][src]Enum rysk_tools::instruction::BaseInstruction

pub enum BaseInstruction {
    LUI {
        destination: usize,
        immediate: i32,
    },
    AUIPC {
        destination: usize,
        immediate: i32,
    },
    JAL {
        destination: usize,
        immediate: i32,
    },
    JALR {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    BEQ {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    BNE {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    BLT {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    BGE {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    BLTU {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    BGEU {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    LB {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    LH {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    LW {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    LBU {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    LHU {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    SB {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    SH {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    SW {
        source1: usize,
        source2: usize,
        immediate: i32,
    },
    ADDI {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    SLTI {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    SLTIU {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    XORI {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    ORI {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    ANDI {
        destination: usize,
        source: usize,
        immediate: i32,
    },
    SLLI {
        destination: usize,
        source: usize,
        amount: usize,
    },
    SRLI {
        destination: usize,
        source: usize,
        amount: usize,
    },
    SRAI {
        destination: usize,
        source: usize,
        amount: usize,
    },
    ADD {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    SUB {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    SLL {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    SLT {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    SLTU {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    XOR {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    SRL {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    SRA {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    OR {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    AND {
        destination: usize,
        source1: usize,
        source2: usize,
    },
    FENCE {
        destination: usize,
        source: usize,
        immediate: i32,
    },
}

Variants

LUI

Fields of LUI

destination: usizeimmediate: i32
AUIPC

Fields of AUIPC

destination: usizeimmediate: i32
JAL

Fields of JAL

destination: usizeimmediate: i32
JALR

Fields of JALR

destination: usizesource: usizeimmediate: i32
BEQ

Fields of BEQ

source1: usizesource2: usizeimmediate: i32
BNE

Fields of BNE

source1: usizesource2: usizeimmediate: i32
BLT

Fields of BLT

source1: usizesource2: usizeimmediate: i32
BGE

Fields of BGE

source1: usizesource2: usizeimmediate: i32
BLTU

Fields of BLTU

source1: usizesource2: usizeimmediate: i32
BGEU

Fields of BGEU

source1: usizesource2: usizeimmediate: i32
LB

Fields of LB

destination: usizesource: usizeimmediate: i32
LH

Fields of LH

destination: usizesource: usizeimmediate: i32
LW

Fields of LW

destination: usizesource: usizeimmediate: i32
LBU

Fields of LBU

destination: usizesource: usizeimmediate: i32
LHU

Fields of LHU

destination: usizesource: usizeimmediate: i32
SB

Fields of SB

source1: usizesource2: usizeimmediate: i32
SH

Fields of SH

source1: usizesource2: usizeimmediate: i32
SW

Fields of SW

source1: usizesource2: usizeimmediate: i32
ADDI

Fields of ADDI

destination: usizesource: usizeimmediate: i32
SLTI

Fields of SLTI

destination: usizesource: usizeimmediate: i32
SLTIU

Fields of SLTIU

destination: usizesource: usizeimmediate: i32
XORI

Fields of XORI

destination: usizesource: usizeimmediate: i32
ORI

Fields of ORI

destination: usizesource: usizeimmediate: i32
ANDI

Fields of ANDI

destination: usizesource: usizeimmediate: i32
SLLI

Fields of SLLI

destination: usizesource: usizeamount: usize
SRLI

Fields of SRLI

destination: usizesource: usizeamount: usize
SRAI

Fields of SRAI

destination: usizesource: usizeamount: usize
ADD

Fields of ADD

destination: usizesource1: usizesource2: usize
SUB

Fields of SUB

destination: usizesource1: usizesource2: usize
SLL

Fields of SLL

destination: usizesource1: usizesource2: usize
SLT

Fields of SLT

destination: usizesource1: usizesource2: usize
SLTU

Fields of SLTU

destination: usizesource1: usizesource2: usize
XOR

Fields of XOR

destination: usizesource1: usizesource2: usize
SRL

Fields of SRL

destination: usizesource1: usizesource2: usize
SRA

Fields of SRA

destination: usizesource1: usizesource2: usize
OR

Fields of OR

destination: usizesource1: usizesource2: usize
AND

Fields of AND

destination: usizesource1: usizesource2: usize
FENCE

Fields of FENCE

destination: usizesource: usizeimmediate: i32

Implementations

impl BaseInstruction[src]

pub fn decode(instruction: &mut [u8]) -> Option<(Self, &mut [u8])>[src]

Consumes 2 or 4 bytes, converting them to a parsed instruction

pub fn encode(self) -> MachineInstruction[src]

pub fn mnemonic(&self) -> &'static str[src]

pub fn name(&self) -> &'static str[src]

Trait Implementations

impl Clone for BaseInstruction[src]

impl Copy for BaseInstruction[src]

impl Debug for BaseInstruction[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.