MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / writeback_csrrwi_immediate

Function writeback_csrrwi_immediate

crates/virtual-machine/tests/vm_writeback.rs:196–217  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

194
195 let next_pc = writeback(mem_result, &mut regs, &mut csrs).expect("writeback should succeed");
196
197 // Old value returned
198 assert_eq!(regs.read_x(5), 0xF00);
199 // Bits cleared: 0xF00 & !0x800 = 0x700
200 assert_eq!(
201 csrs.read(addr::MIE).expect("writeback should succeed"),
202 0x700
203 );
204 assert_eq!(next_pc, 0x8000_0004);
205}
206
207#[test]
208fn writeback_csrrwi_immediate() {
209 let mut regs = Registers::new();
210 let mut csrs = CsrFile::new();
211
212 let mem_result = MemResult::Csr {
213 funct3: 5, // CSRRWI
214 rd: 5,
215 rs1_uimm: 7, // Immediate value
216 csr: addr::FRM,
217 operand: 7,
218 old_val: 0,
219 next_pc: 0x8000_0004,
220 };

Callers

nothing calls this directly

Calls 1

writebackFunction · 0.85

Tested by

no test coverage detected