mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-26 20:50:30 +02:00
* support X86_64 and NOX86_64 flags
This commit is contained in:
parent
4372f8ef91
commit
e741991cfc
@ -208,6 +208,7 @@ var
|
||||
nopfile,attfile,intfile,
|
||||
infile,insfile : text;
|
||||
{ instruction fields }
|
||||
skip : boolean;
|
||||
last,
|
||||
ops : longint;
|
||||
intopcode,
|
||||
@ -257,8 +258,6 @@ begin
|
||||
readln(infile,s);
|
||||
while (s[1]=' ') do
|
||||
delete(s,1,1);
|
||||
if (s=';!!!x86_64') and not(x86_64) then
|
||||
break;
|
||||
if (s='') or (s[1]=';') then
|
||||
continue;
|
||||
if (s[1]='[') then
|
||||
@ -343,6 +342,7 @@ begin
|
||||
optypes[3]:='';
|
||||
codes:='';
|
||||
flags:='';
|
||||
skip:=false;
|
||||
{ ops and optypes }
|
||||
i:=1;
|
||||
repeat
|
||||
@ -404,12 +404,16 @@ begin
|
||||
while not(s[i] in [' ',#9,#13,#10]) and (i<=length(s)) do
|
||||
begin
|
||||
hs:=readstr;
|
||||
if (hs='ignore') or
|
||||
((upcase(hs)='X86_64') and not(x86_64)) then
|
||||
begin
|
||||
flags:='0';
|
||||
break;
|
||||
end;
|
||||
if x86_64 then
|
||||
begin
|
||||
if (upcase(hs)='NOX86_64') then
|
||||
skip:=true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (upcase(hs)='X86_64') then
|
||||
skip:=true;
|
||||
end;
|
||||
if hs<>'ND' then
|
||||
begin
|
||||
if flags<>'' then
|
||||
@ -421,19 +425,22 @@ begin
|
||||
else
|
||||
break;
|
||||
end;
|
||||
{ write instruction }
|
||||
if not(first) then
|
||||
writeln(insfile,',')
|
||||
else
|
||||
first:=false;
|
||||
writeln(insfile,' (');
|
||||
writeln(insfile,' opcode : ',opcode,';');
|
||||
writeln(insfile,' ops : ',ops,';');
|
||||
writeln(insfile,' optypes : (',optypes[1],',',optypes[2],',',optypes[3],');');
|
||||
writeln(insfile,' code : ',codes,';');
|
||||
writeln(insfile,' flags : ',flags);
|
||||
write(insfile,' )');
|
||||
inc(insns);
|
||||
{ write instruction }
|
||||
if not skip then
|
||||
begin
|
||||
if not(first) then
|
||||
writeln(insfile,',')
|
||||
else
|
||||
first:=false;
|
||||
writeln(insfile,' (');
|
||||
writeln(insfile,' opcode : ',opcode,';');
|
||||
writeln(insfile,' ops : ',ops,';');
|
||||
writeln(insfile,' optypes : (',optypes[1],',',optypes[2],',',optypes[3],');');
|
||||
writeln(insfile,' code : ',codes,';');
|
||||
writeln(insfile,' flags : ',flags);
|
||||
write(insfile,' )');
|
||||
inc(insns);
|
||||
end;
|
||||
end;
|
||||
close(infile);
|
||||
closeinc(insfile);
|
||||
@ -448,7 +455,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.5 2004-02-03 16:50:51 peter
|
||||
Revision 1.6 2004-02-09 20:30:48 peter
|
||||
* support X86_64 and NOX86_64 flags
|
||||
|
||||
Revision 1.5 2004/02/03 16:50:51 peter
|
||||
* linux path separators
|
||||
|
||||
Revision 1.4 2004/01/15 14:01:32 florian
|
||||
|
Loading…
Reference in New Issue
Block a user