Fix sd address calculation
This commit is contained in:
@@ -41,7 +41,7 @@ pub fn sd(core: &mut Core, instr: Instruction) -> InstructionResult {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let page = (addr / 4096) as PageNum;
|
let page = (addr / 4096) as PageNum;
|
||||||
let offset = (addr & ((4096 / std::mem::size_of::<DWord>() as Addr) - 1)) as u16;
|
let offset = (addr / 8 & ((4096 / 8 as Addr) - 1)) as u16;
|
||||||
let value = core.reg_read(instr.rs2());
|
let value = core.reg_read(instr.rs2());
|
||||||
|
|
||||||
match core.mem.write_dword(page, offset, value) {
|
match core.mem.write_dword(page, offset, value) {
|
||||||
|
|||||||
Reference in New Issue
Block a user