diff options
Diffstat (limited to 'ARMInterpreter_LoadStore.cpp')
-rw-r--r-- | ARMInterpreter_LoadStore.cpp | 4 |
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; } |