Implement all missing instructions

This commit is contained in:
2023-12-03 15:48:31 +01:00
parent ebecd4e763
commit 71c766736a
10 changed files with 137 additions and 32 deletions

View File

@@ -3,9 +3,5 @@ name = "pim-isa"
version = "0.1.0"
edition = "2021"
[features]
default = ["std"]
std = []
[dependencies]
serde = { version = "1.0", default-features = false, features = ["derive"] }

View File

@@ -1,4 +1,4 @@
#![cfg_attr(not(feature = "std"), no_std)]
#![no_std]
use serde::{Deserialize, Serialize};
@@ -6,10 +6,40 @@ use serde::{Deserialize, Serialize};
pub enum Instruction {
NOP,
EXIT,
JUMP { offset: i16, count: u16 },
MOV { src: File, dst: File },
FILL { src: File, dst: File },
ADD { src0: File, src1: File, dst: File },
JUMP {
offset: i16,
count: u16,
},
MOV {
src: File,
dst: File,
},
FILL {
src: File,
dst: File,
},
ADD {
src0: File,
src1: File,
dst: File,
},
MUL {
src0: File,
src1: File,
dst: File,
},
MAC {
src0: File,
src1: File,
src2: File,
dst: File,
},
MAD {
src0: File,
src1: File,
src2: File,
dst: File,
},
}
impl Instruction {