Merge branch 'decode_print' of gitlab.istic.univ-rennes1.fr:simpleos/burritos into decode_print
This commit is contained in:
commit
3cbe1c0601
24
src/print.rs
24
src/print.rs
@ -1,3 +1,5 @@
|
|||||||
|
#![allow(dead_code)]
|
||||||
|
#![allow(unused_variables)]
|
||||||
use crate::decode::Instruction;
|
use crate::decode::Instruction;
|
||||||
|
|
||||||
const RISCV_LUI: u8 = 0x37;
|
const RISCV_LUI: u8 = 0x37;
|
||||||
@ -254,4 +256,26 @@ pub fn print(ins: Instruction, pc: i32) -> String { //TODO pc should be u64
|
|||||||
_ => "Unknown".to_string() // Error
|
_ => "Unknown".to_string() // Error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod Test {
|
||||||
|
use crate::{print, decode};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test1() {
|
||||||
|
let sub = decode::decode(0b01000001000010001000111000110011);
|
||||||
|
let add = decode::decode(0b00000001000010001000111000110011);
|
||||||
|
let xor = decode::decode(0b00000001000010001100111000110011);
|
||||||
|
let slr = decode::decode(0b00000001000010001101111000110011);
|
||||||
|
let sra = decode::decode(0b01000001000010001101111000110011);
|
||||||
|
|
||||||
|
assert_eq!("sub r28, r17, r16", print::print(sub, 0));
|
||||||
|
assert_eq!("xor r28, r17, r16", print::print(xor, 0));
|
||||||
|
assert_eq!("srl r28, r17, r16", print::print(slr, 0));
|
||||||
|
assert_eq!("sra r28, r17, r16", print::print(sra, 0));
|
||||||
|
assert_eq!("add r28, r17, r16", print::print(add, 0));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user