* armemu.c (LoadSMult): Use WriteR15() to discard the least

significant bits of PC.
This commit is contained in:
Alexandre Oliva 2000-07-04 06:39:39 +00:00
parent 892c6b9d8f
commit 13b6dd6f68
2 changed files with 5 additions and 2 deletions

View File

@ -1,5 +1,8 @@
2000-07-04 Alexandre Oliva <aoliva@redhat.com>
* armemu.c (LoadSMult): Use WriteR15() to discard the least
significant bits of PC.
* armemu.h (WRITEDESTB): New macro.
* armemu.c (ARMul_Emulate26, bl): Use WriteR15Branch() to
modify PC. Moved the existing logic...

View File

@ -3544,7 +3544,7 @@ LoadSMult (ARMul_State * state, ARMword instr,
state->Cpsr = GETSPSR (state->Bank);
ARMul_CPSRAltered (state);
}
state->Reg[15] = PC;
WriteR15 (state, PC);
#else
if (state->Mode == USER26MODE || state->Mode == USER32MODE)
{ /* protect bits in user mode */
@ -3555,8 +3555,8 @@ LoadSMult (ARMul_State * state, ARMword instr,
}
else
ARMul_R15Altered (state);
#endif
FLUSHPIPE;
#endif
}
if (!BIT (15) && state->Mode != USER26MODE && state->Mode != USER32MODE)