summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/arm/interpreter/armemu.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp
index 843323293..cffbae7e7 100644
--- a/src/core/arm/interpreter/armemu.cpp
+++ b/src/core/arm/interpreter/armemu.cpp
@@ -6044,7 +6044,7 @@ L_stm_s_takeabort:
6044 break; 6044 break;
6045 } 6045 }
6046 6046
6047 Rm = ((state->Reg[BITS(0, 3)] >> ror) & 0xFF); 6047 Rm = ((state->Reg[BITS(0, 3)] >> ror) & 0xFF) | ((state->Reg[BITS(0, 3)] << (32 - ror)) & 0xFF) & 0xFF;
6048 if (Rm & 0x80) 6048 if (Rm & 0x80)
6049 Rm |= 0xffffff00; 6049 Rm |= 0xffffff00;
6050 6050
@@ -6053,7 +6053,7 @@ L_stm_s_takeabort:
6053 state->Reg[BITS(12, 15)] = Rm; 6053 state->Reg[BITS(12, 15)] = Rm;
6054 else 6054 else
6055 /* SXTAB */ 6055 /* SXTAB */
6056 state->Reg[BITS(12, 15)] += Rm; 6056 state->Reg[BITS(12, 15)] = state->Reg[BITS(16, 19)] + Rm;
6057 6057
6058 return 1; 6058 return 1;
6059 } 6059 }