diff options
Diffstat (limited to 'test/test.rs')
-rw-r--r-- | test/test.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/test/test.rs b/test/test.rs index 48cf90b..5a59df4 100644 --- a/test/test.rs +++ b/test/test.rs @@ -1,28 +1,26 @@ extern crate yaxpeax_arch; extern crate yaxpeax_msp430_mc; -use yaxpeax_arch::Decodable; -use yaxpeax_msp430_mc::{Instruction, Opcode}; +use yaxpeax_arch::{Arch, Decoder}; +use yaxpeax_msp430_mc::{Opcode, MSP430}; #[test] fn test_decode() { + let decoder = <MSP430 as Arch>::Decoder::default(); + let data = [0x02, 0x12]; - let mut instr = Instruction::blank(); - instr.decode_into(data.iter().map(|x| *x)); + let instr = decoder.decode(data.iter().cloned()).unwrap(); assert!(instr.opcode == Opcode::PUSH); let data = [0xb1, 0x92, 0x8d, 0x49]; - let mut instr = Instruction::blank(); - instr.decode_into(data.iter().map(|x| *x)); + let instr = decoder.decode(data.iter().cloned()).unwrap(); assert!(instr.opcode == Opcode::CMP); let data = [0x12, 0x00, 0x3f, 0x40]; - let mut instr = Instruction::blank(); - instr.decode_into(data.iter().map(|x| *x)); + let instr = decoder.decode(data.iter().cloned()).unwrap(); assert!(instr.opcode == Opcode::RRC); let data = [0x20, 0x0e]; - let mut instr = Instruction::blank(); - instr.decode_into(data.iter().map(|x| *x)); + let instr = decoder.decode(data.iter().cloned()).unwrap(); assert!(instr.opcode == Opcode::PUSH); } |