Ver Fonte

Encoding of preindexed LDRH/STRH opcodes was missing.

git-svn-id: branches/laksen/armiw@29254 -
Jeppe Johansen há 10 anos atrás
pai
commit
284a4d9dd7
1 ficheiros alterados com 3 adições e 0 exclusões
  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);