diff options
Diffstat (limited to 'sim/arm/armsupp.c')
-rw-r--r-- | sim/arm/armsupp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sim/arm/armsupp.c b/sim/arm/armsupp.c index 2d0390d..99b6099 100644 --- a/sim/arm/armsupp.c +++ b/sim/arm/armsupp.c @@ -206,7 +206,8 @@ void ARMul_FixCPSR (ARMul_State * state, ARMword instr, ARMword rhs) { state->Cpsr = ARMul_GetCPSR (state); - if (state->Bank != USERBANK) + if (state->Mode != USER26MODE + && state->Mode != USER32MODE) { /* In user mode, only write flags */ if (BIT (16)) SETPSR_C (state->Cpsr, rhs); |