Parcourir la source

Encoding of preindexed LDRH/STRH opcodes was missing.

git-svn-id: branches/laksen/armiw@29254 -
Jeppe Johansen il y a 10 ans
Parent
commit
284a4d9dd7
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  1. 3 0
      compiler/arm/aasmcpu.pas

+ 3 - 0
compiler/arm/aasmcpu.pas

@@ -2762,6 +2762,9 @@ implementation
                   bytes:=bytes or (1 shl 23);
                   bytes:=bytes or getsupreg(oper[1]^.ref^.index);
                 end;
+              { set W bit }
+              if oper[1]^.ref^.addressmode=AM_PREINDEXED then
+                bytes:=bytes or (1 shl 21);
               { set P bit if necessary }
               if oper[1]^.ref^.addressmode<>AM_POSTINDEXED then
                 bytes:=bytes or (1 shl 24);