Cleaned clippy lint warnings from machine.rs
This commit is contained in:
parent
44e3f586e2
commit
be8435cf83
@ -149,7 +149,7 @@ impl Machine {
|
|||||||
/// ### Parameters
|
/// ### Parameters
|
||||||
///
|
///
|
||||||
/// - **machine** contains the memory
|
/// - **machine** contains the memory
|
||||||
pub fn extract_memory(machine: &mut Machine){
|
pub fn _extract_memory(machine: &mut Machine){
|
||||||
let file_path = "burritos_memory.txt";
|
let file_path = "burritos_memory.txt";
|
||||||
let write_to_file = |path| -> std::io::Result<File> {
|
let write_to_file = |path| -> std::io::Result<File> {
|
||||||
let mut file = File::create(path)?;
|
let mut file = File::create(path)?;
|
||||||
@ -221,8 +221,8 @@ impl Machine {
|
|||||||
panic!("ERROR : number max of instructions rushed");
|
panic!("ERROR : number max of instructions rushed");
|
||||||
}
|
}
|
||||||
let mut val: [u8; 4] = [0; 4];
|
let mut val: [u8; 4] = [0; 4];
|
||||||
for i in 0..4 {
|
for (i, mut _item) in val.iter_mut().enumerate() {
|
||||||
val[i] = machine.main_memory[machine.pc as usize + i];
|
_item = &mut machine.main_memory[machine.pc as usize + i];
|
||||||
}
|
}
|
||||||
|
|
||||||
let val = u32::from_be_bytes(val) as u64;
|
let val = u32::from_be_bytes(val) as u64;
|
||||||
@ -345,7 +345,7 @@ impl Machine {
|
|||||||
machine.int_reg.set_reg(inst.rd as usize, machine.int_reg.get_reg(inst.rs1 as usize) + inst.imm12_I_signed as i64);
|
machine.int_reg.set_reg(inst.rd as usize, machine.int_reg.get_reg(inst.rs1 as usize) + inst.imm12_I_signed as i64);
|
||||||
},
|
},
|
||||||
RISCV_OPI_SLTI => {
|
RISCV_OPI_SLTI => {
|
||||||
machine.int_reg.set_reg(inst.rd as usize, if machine.int_reg.get_reg(inst.rs1 as usize) < inst.imm12_I_signed as i64 { 1 } else { 0 } );
|
machine.int_reg.set_reg(inst.rd as usize, (machine.int_reg.get_reg(inst.rs1 as usize) < inst.imm12_I_signed as i64) as i64);
|
||||||
},
|
},
|
||||||
RISCV_OPI_XORI => {
|
RISCV_OPI_XORI => {
|
||||||
machine.int_reg.set_reg(inst.rd as usize, machine.int_reg.get_reg(inst.rs1 as usize) ^ inst.imm12_I_signed as i64);
|
machine.int_reg.set_reg(inst.rd as usize, machine.int_reg.get_reg(inst.rs1 as usize) ^ inst.imm12_I_signed as i64);
|
||||||
@ -465,12 +465,11 @@ impl Machine {
|
|||||||
machine.int_reg.set_reg(inst.rd as usize, result);
|
machine.int_reg.set_reg(inst.rd as usize, result);
|
||||||
},
|
},
|
||||||
RISCV_OPIW_SRW => {
|
RISCV_OPIW_SRW => {
|
||||||
let result;
|
let result = if inst.funct7 == RISCV_OPIW_SRW_SRLIW {
|
||||||
if inst.funct7 == RISCV_OPIW_SRW_SRLIW {
|
(local_data >> inst.shamt) & machine.shiftmask[32 + inst.shamt as usize] as i64
|
||||||
result = (local_data >> inst.shamt) & machine.shiftmask[32 + inst.shamt as usize] as i64;
|
|
||||||
} else { // SRAIW
|
} else { // SRAIW
|
||||||
result = local_data >> inst.shamt;
|
local_data >> inst.shamt
|
||||||
}
|
};
|
||||||
machine.int_reg.set_reg(inst.rd as usize, result);
|
machine.int_reg.set_reg(inst.rd as usize, result);
|
||||||
},
|
},
|
||||||
_ => {
|
_ => {
|
||||||
@ -627,13 +626,13 @@ impl Machine {
|
|||||||
RISCV_FP_FCMP => {
|
RISCV_FP_FCMP => {
|
||||||
match inst.funct3 {
|
match inst.funct3 {
|
||||||
RISCV_FP_FCMP_FEQ => {
|
RISCV_FP_FCMP_FEQ => {
|
||||||
machine.int_reg.set_reg(inst.rd as usize, if machine.fp_reg.get_reg(inst.rs1 as usize) == machine.fp_reg.get_reg(inst.rs2 as usize) {1} else {0});
|
machine.int_reg.set_reg(inst.rd as usize, (machine.fp_reg.get_reg(inst.rs1 as usize) == machine.fp_reg.get_reg(inst.rs2 as usize)) as i64);
|
||||||
},
|
},
|
||||||
RISCV_FP_FCMP_FLT => {
|
RISCV_FP_FCMP_FLT => {
|
||||||
machine.int_reg.set_reg(inst.rd as usize, if machine.fp_reg.get_reg(inst.rs1 as usize) < machine.fp_reg.get_reg(inst.rs2 as usize) {1} else {0});
|
machine.int_reg.set_reg(inst.rd as usize, (machine.fp_reg.get_reg(inst.rs1 as usize) < machine.fp_reg.get_reg(inst.rs2 as usize)) as i64);
|
||||||
},
|
},
|
||||||
RISCV_FP_FCMP_FLE => {
|
RISCV_FP_FCMP_FLE => {
|
||||||
machine.int_reg.set_reg(inst.rd as usize, if machine.fp_reg.get_reg(inst.rs1 as usize) <= machine.fp_reg.get_reg(inst.rs2 as usize) {1} else {0});
|
machine.int_reg.set_reg(inst.rd as usize, (machine.fp_reg.get_reg(inst.rs1 as usize) <= machine.fp_reg.get_reg(inst.rs2 as usize)) as i64);
|
||||||
},
|
},
|
||||||
_ => {
|
_ => {
|
||||||
panic!("this instruction ({}) doesn't exists", inst.value);
|
panic!("this instruction ({}) doesn't exists", inst.value);
|
||||||
@ -653,14 +652,14 @@ impl Machine {
|
|||||||
_ => { panic!("{:x} opcode non géré pc : {:x}", inst.opcode, machine.pc)},
|
_ => { panic!("{:x} opcode non géré pc : {:x}", inst.opcode, machine.pc)},
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
0
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// print memory FOR DEBUG
|
/// print memory FOR DEBUG
|
||||||
///
|
///
|
||||||
/// "@"adresse [16 bytes]
|
/// "@"adresse [16 bytes]
|
||||||
pub fn print_memory(machine : &mut Machine, from: usize, to: usize) {
|
pub fn _print_memory(machine : &mut Machine, from: usize, to: usize) {
|
||||||
for i in from..to {
|
for i in from..to {
|
||||||
if i%16 == 0 {
|
if i%16 == 0 {
|
||||||
print!("\n@{:04x} ", i);
|
print!("\n@{:04x} ", i);
|
||||||
|
Loading…
Reference in New Issue
Block a user