Răsfoiți Sursa

Fixed computation of negative displacements

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@8532 8c9fc860-2736-0410-a75d-ab315db34111
negelef 6 ani în urmă
părinte
comite
1723cd58f4
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      source/FoxARMBackend.Mod

+ 2 - 2
source/FoxARMBackend.Mod

@@ -1289,9 +1289,9 @@ TYPE
 					(* offset cannot be encoded directly _> it has to be provided by means of an adapted base register *)
 					tempRegister := RegisterFromValue(ABS(offset), emptyOperand);
 					IF offset < 0 THEN
-						Emit3(opSUB, tempRegister, tempRegister, baseAddressRegister)
+						Emit3(opSUB, tempRegister, baseAddressRegister, tempRegister)
 					ELSE
-						Emit3(opADD, tempRegister, tempRegister, baseAddressRegister)
+						Emit3(opADD, tempRegister, baseAddressRegister, tempRegister)
 					END;
 					ReleaseHint(baseAddressRegister.register);
 					baseAddressRegister := tempRegister;