fix SMULWx/SMLAWx. fixes #78, finally

This commit is contained in:
StapleButter 2017-12-29 03:17:32 +01:00
parent 9336e15197
commit d50e7e4686
1 changed files with 2 additions and 2 deletions

View File

@ -895,7 +895,7 @@ void A_SMLAWy(ARM* cpu)
if (cpu->CurInstr & (1<<6)) rs >>= 16;
else rs &= 0xFFFF;
u32 res_mul = ((s32)rm * (s16)rs) >> 16; // CHECKME
u32 res_mul = ((s64)(s32)rm * (s16)rs) >> 16;
u32 res = res_mul + rn;
cpu->R[(cpu->CurInstr >> 16) & 0xF] = res;
@ -930,7 +930,7 @@ void A_SMULWy(ARM* cpu)
if (cpu->CurInstr & (1<<6)) rs >>= 16;
else rs &= 0xFFFF;
u32 res = ((s32)rm * (s16)rs) >> 16; // CHECKME
u32 res = ((s64)(s32)rm * (s16)rs) >> 16;
cpu->R[(cpu->CurInstr >> 16) & 0xF] = res;
}