Răsfoiți Sursa

armemu: Fix SASX

Lioncash 11 ani în urmă
părinte
comite
62fd564854
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      src/core/arm/interpreter/armemu.cpp

+ 1 - 1
src/core/arm/interpreter/armemu.cpp

@@ -5760,7 +5760,7 @@ L_stm_s_takeabort:
                 s16 a2 = ((state->Reg[src1] >> 0x10) & 0xFFFF);
                 s16 b1 = (state->Reg[src2] & 0xFFFF);
                 s16 b2 = ((state->Reg[src2] >> 0x10) & 0xFFFF);
-                state->Reg[tar] = ((a2 - b1) & 0xFFFF) | (((a2 + b1) & 0xFFFF) << 0x10);
+                state->Reg[tar] = ((a1 - b2) & 0xFFFF) | (((a2 + b1) & 0xFFFF) << 0x10);
                 return 1;
             }
             else printf ("Unhandled v6 insn: sadd/ssub\n");