Browse Source

+ added parameter 'hasofs' to ConcatConstSymbol. Will be used to support 'dd xx'
vs 'dd offset xx' being different on i8086.

git-svn-id: trunk@38148 -

nickysn 7 years ago
parent
commit
d591e698ac
3 changed files with 4 additions and 4 deletions
  1. 1 1
      compiler/raatt.pas
  2. 2 2
      compiler/rautils.pas
  3. 1 1
      compiler/x86/rax86int.pas

+ 1 - 1
compiler/raatt.pas

@@ -896,7 +896,7 @@ unit raatt;
                  begin
                  begin
                    if constsize<>sizeof(pint) then
                    if constsize<>sizeof(pint) then
                     Message(asmr_w_32bit_const_for_address);
                     Message(asmr_w_32bit_const_for_address);
-                   ConcatConstSymbol(curlist,asmsym,asmsymtyp,value,constsize)
+                   ConcatConstSymbol(curlist,asmsym,asmsymtyp,value,constsize,true)
                  end
                  end
                 else
                 else
                  ConcatConstant(curlist,value,constsize);
                  ConcatConstant(curlist,value,constsize);

+ 2 - 2
compiler/rautils.pas

@@ -198,7 +198,7 @@ Function AsmRegisterPara(sym: tabstractnormalvarsym): boolean;
 
 
   Procedure ConcatLabel(p: TAsmList;var l : tasmlabel);
   Procedure ConcatLabel(p: TAsmList;var l : tasmlabel);
   Procedure ConcatConstant(p : TAsmList;value: tcgint; constsize:byte);
   Procedure ConcatConstant(p : TAsmList;value: tcgint; constsize:byte);
-  Procedure ConcatConstSymbol(p : TAsmList;const sym:string;symtyp:tasmsymtype;l:tcgint;constsize:byte);
+  Procedure ConcatConstSymbol(p : TAsmList;const sym:string;symtyp:tasmsymtype;l:tcgint;constsize:byte;isofs:boolean);
   Procedure ConcatRealConstant(p : TAsmList;value: bestreal; real_typ : tfloattype);
   Procedure ConcatRealConstant(p : TAsmList;value: bestreal; real_typ : tfloattype);
   Procedure ConcatString(p : TAsmList;s:string);
   Procedure ConcatString(p : TAsmList;s:string);
   procedure ConcatAlign(p:TAsmList;l:tcgint);
   procedure ConcatAlign(p:TAsmList;l:tcgint);
@@ -1647,7 +1647,7 @@ Begin
 end;
 end;
 
 
 
 
-  Procedure ConcatConstSymbol(p : TAsmList;const sym:string;symtyp:tasmsymtype;l:tcgint;constsize:byte);
+  Procedure ConcatConstSymbol(p : TAsmList;const sym:string;symtyp:tasmsymtype;l:tcgint;constsize:byte;isofs:boolean);
   begin
   begin
     p.concat(Tai_const.Createname(sym,l));
     p.concat(Tai_const.Createname(sym,l));
   end;
   end;

+ 1 - 1
compiler/x86/rax86int.pas

@@ -2483,7 +2483,7 @@ Unit Rax86int;
                      end
                      end
                    else
                    else
 {$endif i8086}
 {$endif i8086}
-                     ConcatConstSymbol(curlist,asmsym,asmsymtyp,value,constsize);
+                     ConcatConstSymbol(curlist,asmsym,asmsymtyp,value,constsize,hasofs);
                  end
                  end
                 else
                 else
                  ConcatConstant(curlist,value,constsize);
                  ConcatConstant(curlist,value,constsize);