@@ -1,4 +1,4 @@
|
||||
use crate::vm::{reg::Reg, inst::*};
|
||||
use crate::vm::{inst::*, reg::Reg};
|
||||
|
||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||
pub enum SectionBlock {
|
||||
@@ -69,27 +69,27 @@ pub enum Inst {
|
||||
impl Inst {
|
||||
pub fn op(&self) -> InstOp {
|
||||
match self {
|
||||
Inst::Add(_, _) => { ADD }
|
||||
Inst::Mul(_, _) => { MUL }
|
||||
Inst::Div(_, _) => { DIV }
|
||||
Inst::Mod(_, _) => { MOD }
|
||||
Inst::INeg(_) => { INEG }
|
||||
Inst::And(_, _) => { AND }
|
||||
Inst::Or(_, _) => { OR }
|
||||
Inst::Inv(_) => { INV }
|
||||
Inst::Not(_) => { NOT }
|
||||
Inst::Xor(_, _) => { XOR }
|
||||
Inst::Shl(_, _) => { SHL }
|
||||
Inst::Shr(_, _) => { SHR }
|
||||
Inst::Add(_, _) => ADD,
|
||||
Inst::Mul(_, _) => MUL,
|
||||
Inst::Div(_, _) => DIV,
|
||||
Inst::Mod(_, _) => MOD,
|
||||
Inst::INeg(_) => INEG,
|
||||
Inst::And(_, _) => AND,
|
||||
Inst::Or(_, _) => OR,
|
||||
Inst::Inv(_) => INV,
|
||||
Inst::Not(_) => NOT,
|
||||
Inst::Xor(_, _) => XOR,
|
||||
Inst::Shl(_, _) => SHL,
|
||||
Inst::Shr(_, _) => SHR,
|
||||
|
||||
Inst::CmpEq(_, _) => { CMPEQ }
|
||||
Inst::CmpLt(_, _) => { CMPLT }
|
||||
Inst::Jmp(_) => { JMP }
|
||||
Inst::Jz(_) => { JZ }
|
||||
Inst::Jnz(_) => { JNZ }
|
||||
Inst::CmpEq(_, _) => CMPEQ,
|
||||
Inst::CmpLt(_, _) => CMPLT,
|
||||
Inst::Jmp(_) => JMP,
|
||||
Inst::Jz(_) => JZ,
|
||||
Inst::Jnz(_) => JNZ,
|
||||
|
||||
Inst::Load(_, _) => { LOAD }
|
||||
Inst::Store(_, _) => { STORE }
|
||||
Inst::Load(_, _) => LOAD,
|
||||
Inst::Store(_, _) => STORE,
|
||||
Inst::StoreImm(_, imm) => {
|
||||
if let ImmValue::Number(imm) = imm {
|
||||
if *imm > (u32::max_value() as u64) {
|
||||
@@ -101,11 +101,11 @@ impl Inst {
|
||||
STOREIMM64
|
||||
}
|
||||
}
|
||||
Inst::MemCopy(_, _) => { MEMCOPY }
|
||||
Inst::RegCopy(_, _) => { REGCOPY }
|
||||
Inst::MemCopy(_, _) => MEMCOPY,
|
||||
Inst::RegCopy(_, _) => REGCOPY,
|
||||
|
||||
Inst::Nop => { NOP }
|
||||
Inst::Halt => { HALT }
|
||||
Inst::Nop => NOP,
|
||||
Inst::Halt => HALT,
|
||||
}
|
||||
}
|
||||
pub fn len(&self) -> usize {
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
use snafu::Snafu;
|
||||
use std::{
|
||||
fmt::Debug,
|
||||
io,
|
||||
};
|
||||
use std::{fmt::Debug, io};
|
||||
|
||||
#[derive(Debug, Snafu)]
|
||||
pub enum ParseError {
|
||||
|
||||
Reference in New Issue
Block a user