summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortaitep <taitep@taitep.se>2025-12-21 14:08:06 +0100
committertaitep <taitep@taitep.se>2025-12-21 14:08:06 +0100
commite9100360581845db23ba93066b443cc3f9fb85fb (patch)
treea4b0cb1d13ed8c551d165f8623d1fa54116bab88 /src
parent049334ebdb4b8093a307fd3a182a2ced911f6539 (diff)
Fix sd address calculation
Diffstat (limited to 'src')
-rw-r--r--src/instructions/rvi.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/instructions/rvi.rs b/src/instructions/rvi.rs
index e85934d..1fe1c7a 100644
--- a/src/instructions/rvi.rs
+++ b/src/instructions/rvi.rs
@@ -41,7 +41,7 @@ pub fn sd(core: &mut Core, instr: Instruction) -> InstructionResult {
}
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());
match core.mem.write_dword(page, offset, value) {