diff options
Diffstat (limited to 'src/ARMInterpreter_LoadStore.cpp')
-rw-r--r-- | src/ARMInterpreter_LoadStore.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ARMInterpreter_LoadStore.cpp b/src/ARMInterpreter_LoadStore.cpp index 23e6b62..7edf88c 100644 --- a/src/ARMInterpreter_LoadStore.cpp +++ b/src/ARMInterpreter_LoadStore.cpp @@ -220,7 +220,7 @@ A_IMPLEMENT_WB_LDRSTR(LDRB) // TODO: CHECK LDRD/STRD TIMINGS!! #define A_LDRD \ - if (cpu->Num != 0) return A_UNK(cpu); \ + if (cpu->Num != 0) return; \ offset += cpu->R[(cpu->CurInstr>>16) & 0xF]; \ if (cpu->CurInstr & (1<<21)) cpu->R[(cpu->CurInstr>>16) & 0xF] = offset; \ cpu->Cycles += 1; \ @@ -229,7 +229,7 @@ A_IMPLEMENT_WB_LDRSTR(LDRB) cpu->R[r+1] = cpu->DataRead32(offset+4); \ #define A_LDRD_POST \ - if (cpu->Num != 0) return A_UNK(cpu); \ + if (cpu->Num != 0) return; \ u32 addr = cpu->R[(cpu->CurInstr>>16) & 0xF]; \ cpu->R[(cpu->CurInstr>>16) & 0xF] += offset; \ cpu->Cycles += 1; \ @@ -238,7 +238,7 @@ A_IMPLEMENT_WB_LDRSTR(LDRB) cpu->R[r+1] = cpu->DataRead32(addr+4); \ #define A_STRD \ - if (cpu->Num != 0) return A_UNK(cpu); \ + if (cpu->Num != 0) return; \ offset += cpu->R[(cpu->CurInstr>>16) & 0xF]; \ if (cpu->CurInstr & (1<<21)) cpu->R[(cpu->CurInstr>>16) & 0xF] = offset; \ u32 r = (cpu->CurInstr>>12) & 0xF; \ @@ -246,7 +246,7 @@ A_IMPLEMENT_WB_LDRSTR(LDRB) cpu->DataWrite32(offset+4, cpu->R[r+1]); \ #define A_STRD_POST \ - if (cpu->Num != 0) return A_UNK(cpu); \ + if (cpu->Num != 0) return; \ cpu->R[(cpu->CurInstr>>16) & 0xF] += offset; \ u32 r = (cpu->CurInstr>>12) & 0xF; \ cpu->DataWrite32(offset , cpu->R[r ]); \ |