mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 06:49:13 +02:00
* ts010021.pp problem solved for ag386bin !
This commit is contained in:
parent
42c7a976cb
commit
f95fe26921
@ -107,6 +107,7 @@ unit ag386bin;
|
|||||||
begin
|
begin
|
||||||
hp:=nil;
|
hp:=nil;
|
||||||
s:=StrPas(P);
|
s:=StrPas(P);
|
||||||
|
i:=-2; {needed below (PM) }
|
||||||
end;
|
end;
|
||||||
{ When in pass 1 then only alloc and leave }
|
{ When in pass 1 then only alloc and leave }
|
||||||
if currpass=1 then
|
if currpass=1 then
|
||||||
@ -125,6 +126,7 @@ unit ag386bin;
|
|||||||
Val(Copy(s,1,j-1),nidx,code);
|
Val(Copy(s,1,j-1),nidx,code);
|
||||||
if code<>0 then
|
if code<>0 then
|
||||||
internalerror(33002);
|
internalerror(33002);
|
||||||
|
i:=i+2+j;
|
||||||
Delete(s,1,j);
|
Delete(s,1,j);
|
||||||
j:=pos(',',s);
|
j:=pos(',',s);
|
||||||
if (j=0) then
|
if (j=0) then
|
||||||
@ -132,6 +134,7 @@ unit ag386bin;
|
|||||||
Val(Copy(s,1,j-1),nother,code);
|
Val(Copy(s,1,j-1),nother,code);
|
||||||
if code<>0 then
|
if code<>0 then
|
||||||
internalerror(33004);
|
internalerror(33004);
|
||||||
|
i:=i+j;
|
||||||
Delete(s,1,j);
|
Delete(s,1,j);
|
||||||
j:=pos(',',s);
|
j:=pos(',',s);
|
||||||
if j=0 then
|
if j=0 then
|
||||||
@ -142,16 +145,17 @@ unit ag386bin;
|
|||||||
Val(Copy(s,1,j-1),line,code);
|
Val(Copy(s,1,j-1),line,code);
|
||||||
if code<>0 then
|
if code<>0 then
|
||||||
internalerror(33005);
|
internalerror(33005);
|
||||||
if ofs=0 then
|
|
||||||
Delete(s,1,j);
|
|
||||||
if ofs=0 then
|
if ofs=0 then
|
||||||
begin
|
begin
|
||||||
|
Delete(s,1,j);
|
||||||
|
i:=i+j;
|
||||||
Val(s,ofs,code);
|
Val(s,ofs,code);
|
||||||
if code=0 then
|
if code=0 then
|
||||||
reloc:=false
|
reloc:=false
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
ofs:=0;
|
ofs:=0;
|
||||||
|
s:=strpas(@p[i]);
|
||||||
{ handle asmsymbol or
|
{ handle asmsymbol or
|
||||||
asmsymbol - asmsymbol }
|
asmsymbol - asmsymbol }
|
||||||
j:=pos(' ',s);
|
j:=pos(' ',s);
|
||||||
@ -171,9 +175,16 @@ unit ag386bin;
|
|||||||
end;
|
end;
|
||||||
if j<256 then
|
if j<256 then
|
||||||
begin
|
begin
|
||||||
delete(s,1,j);
|
i:=i+j;
|
||||||
while (s<>'') and (s[1]=' ') do
|
s:=strpas(@p[i]);
|
||||||
delete(s,1,1);
|
if (s<>'') and (s[1]=' ') then
|
||||||
|
begin
|
||||||
|
j:=0;
|
||||||
|
while (s[j+1]=' ') do
|
||||||
|
inc(j);
|
||||||
|
i:=i+j;
|
||||||
|
s:=strpas(@p[i]);
|
||||||
|
end;
|
||||||
ps:=getasmsymbol(s);
|
ps:=getasmsymbol(s);
|
||||||
if not assigned(ps) then
|
if not assigned(ps) then
|
||||||
internalerror(33007)
|
internalerror(33007)
|
||||||
@ -801,7 +812,10 @@ unit ag386bin;
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.12 1999-05-27 19:43:59 peter
|
Revision 1.13 1999-06-01 10:24:09 pierre
|
||||||
|
* ts010021.pp problem solved for ag386bin !
|
||||||
|
|
||||||
|
Revision 1.12 1999/05/27 19:43:59 peter
|
||||||
* removed oldasm
|
* removed oldasm
|
||||||
* plabel -> pasmlabel
|
* plabel -> pasmlabel
|
||||||
* -a switches to source writing automaticly
|
* -a switches to source writing automaticly
|
||||||
|
Loading…
Reference in New Issue
Block a user