diff options
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/lib.rs | 12 |
2 files changed, 9 insertions, 5 deletions
@@ -8,7 +8,7 @@ repository = "http://git.iximeow.net/yaxpeax-pic24/" description = "pic24 decoders for the yaxpeax project" [dependencies] -yaxpeax-arch = { path = "../../yaxpeax-arch" } +yaxpeax-arch = { version = "0.0.2", default-features = false, features = [] } "serde" = "*" "serde_derive" = "*" @@ -21,6 +21,14 @@ pub struct Instruction { pub opcode: Opcode } +impl Default for Instruction { + fn default() -> Self { + Instruction { + opcode: Opcode::NOP + } + } +} + impl LengthedInstruction for Instruction { type Unit = <PIC24 as Arch>::Address; fn min_size() -> Self::Unit { @@ -65,10 +73,6 @@ pub struct InstDecoder {} impl Decoder<Instruction> for InstDecoder { type Error = DecodeError; - fn decode<T: IntoIterator<Item=u8>>(&self, bytes: T) -> Result<Instruction, Self::Error> { - let mut blank = Instruction { opcode: Opcode::NOP }; - self.decode_into(&mut blank, bytes).map(|_: ()| blank) - } fn decode_into<T: IntoIterator<Item=u8>>(&self, instr: &mut Instruction, bytes: T) -> Result<(), Self::Error> { match bytes.into_iter().next() { Some(0x00) => { |