armemu: Fix SXTAB

This commit is contained in:
Normmatt 2014-12-17 02:54:24 -05:00 committed by Lioncash
parent efebd5589a
commit b5dbd6f2a2

View File

@ -6044,7 +6044,7 @@ L_stm_s_takeabort:
break; break;
} }
Rm = ((state->Reg[BITS(0, 3)] >> ror) & 0xFF); Rm = ((state->Reg[BITS(0, 3)] >> ror) & 0xFF) | ((state->Reg[BITS(0, 3)] << (32 - ror)) & 0xFF) & 0xFF;
if (Rm & 0x80) if (Rm & 0x80)
Rm |= 0xffffff00; Rm |= 0xffffff00;
@ -6053,7 +6053,7 @@ L_stm_s_takeabort:
state->Reg[BITS(12, 15)] = Rm; state->Reg[BITS(12, 15)] = Rm;
else else
/* SXTAB */ /* SXTAB */
state->Reg[BITS(12, 15)] += Rm; state->Reg[BITS(12, 15)] = state->Reg[BITS(16, 19)] + Rm;
return 1; return 1;
} }