Преглед изворни кода

+ save the absolute variable's segment to the ppu file after r25666
* incremented the ppu version

git-svn-id: trunk@25672 -

nickysn пре 11 година
родитељ
комит
f165cee058
2 измењених фајлова са 15 додато и 7 уклоњено
  1. 1 1
      compiler/ppu.pas
  2. 14 6
      compiler/symsym.pas

+ 1 - 1
compiler/ppu.pas

@@ -43,7 +43,7 @@ type
 {$endif Test_Double_checksum}
 
 const
-  CurrentPPUVersion = 163;
+  CurrentPPUVersion = 164;
 
 { buffer sizes }
   maxentrysize = 1024;

+ 14 - 6
compiler/symsym.pas

@@ -2057,9 +2057,9 @@ implementation
          ref:=nil;
          asmname:=nil;
          abstyp:=absolutetyp(ppufile.getbyte);
-{$ifdef i386}
+{$if defined(i386) or defined(i8086)}
          absseg:=false;
-{$endif i386}
+{$endif i386 or i8086}
          case abstyp of
            tovar :
              ref:=ppufile.getpropaccesslist;
@@ -2068,9 +2068,13 @@ implementation
            toaddr :
              begin
                addroffset:=ppufile.getaword;
-{$ifdef i386}
+{$if defined(i386)}
+               absseg:=boolean(ppufile.getbyte);
+{$elseif defined(i8086)}
                absseg:=boolean(ppufile.getbyte);
-{$endif i386}
+               if absseg then
+                 addrsegment:=ppufile.getaword;
+{$endif}
              end;
          end;
       end;
@@ -2088,9 +2092,13 @@ implementation
            toaddr :
              begin
                ppufile.putaword(addroffset);
-{$ifdef i386}
+{$if defined(i386)}
                ppufile.putbyte(byte(absseg));
-{$endif i386}
+{$elseif defined(i8086)}
+               ppufile.putbyte(byte(absseg));
+               if absseg then
+                 ppufile.putaword(addrsegment);
+{$endif}
              end;
          end;
          ppufile.writeentry(ibabsolutevarsym);