aboutsummaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs45
1 files changed, 1 insertions, 44 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 1ef6f13..88c01b0 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,46 +1,3 @@
extern crate yaxpeax_arch;
-use yaxpeax_arch::{Arch, Decodable, LengthedInstruction};
-
-#[derive(Debug)]
-pub enum Opcode {
- NOP
-}
-
-#[derive(Debug)]
-pub struct Instruction {
- pub opcode: Opcode
-}
-
-impl LengthedInstruction for Instruction {
- type Unit = <PIC24 as Arch>::Address;
- fn len(&self) -> Self::Unit {
- 3 // ish
- }
-}
-
-impl Decodable for Instruction {
- fn decode<'a, T: IntoIterator<Item=&'a u8>>(bytes: T) -> Option<Self> {
- let mut blank = Instruction { opcode: Opcode::NOP };
- match blank.decode_into(bytes) {
- Some(_) => Some(blank),
- None => None
- }
- }
- fn decode_into<'a, T: IntoIterator<Item=&'a u8>>(&mut self, bytes: T) -> Option<()> {
- match bytes.into_iter().next() {
- Some(0x00) => {
- self.opcode = Opcode::NOP;
- Some(())
- },
- _ => None
- }
- }
-}
-
-pub struct PIC24;
-impl Arch for PIC24 {
- type Address = u32;
- type Instruction = Instruction;
- type Operand = ();
-}
+pub mod armv7;