aboutsummaryrefslogtreecommitdiff
path: root/ARMInterpreter_LoadStore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ARMInterpreter_LoadStore.cpp')
-rw-r--r--ARMInterpreter_LoadStore.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/ARMInterpreter_LoadStore.cpp b/ARMInterpreter_LoadStore.cpp
index ab0a96c..bc86dfb 100644
--- a/ARMInterpreter_LoadStore.cpp
+++ b/ARMInterpreter_LoadStore.cpp
@@ -743,6 +743,7 @@ s32 T_STMIA(ARM* cpu)
}
}
+ // TODO: check "Rb included in Rlist" case
cpu->R[(cpu->CurInstr >> 8) & 0x7] = base;
return cycles - C_S(1);
@@ -764,7 +765,8 @@ s32 T_LDMIA(ARM* cpu)
}
}
- cpu->R[(cpu->CurInstr >> 8) & 0x7] = base;
+ if (!(cpu->CurInstr & (1<<((cpu->CurInstr >> 8) & 0x7))))
+ cpu->R[(cpu->CurInstr >> 8) & 0x7] = base;
return cycles;
}