* small updates for ag386bin

This commit is contained in:
peter 1999-02-24 00:59:11 +00:00
parent c3137d9426
commit e25d934e2f
4 changed files with 61 additions and 23 deletions

View File

@ -27,6 +27,12 @@ interface
uses uses
dos,cobjects,globtype,globals,aasm; dos,cobjects,globtype,globals,aasm;
{$ifdef Ag386Bin}
{$define NoAg386Att}
{$define NoAg386Int}
{$define NoAg386Nsm}
{$endif}
const const
{$ifdef tp} {$ifdef tp}
AsmOutSize=1024; AsmOutSize=1024;
@ -562,7 +568,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.36 1999-02-22 02:15:01 peter Revision 1.37 1999-02-24 00:59:11 peter
* small updates for ag386bin
Revision 1.36 1999/02/22 02:15:01 peter
* updates for ag386bin * updates for ag386bin
Revision 1.35 1999/02/17 10:16:26 peter Revision 1.35 1999/02/17 10:16:26 peter

View File

@ -174,12 +174,13 @@ unit cobjects;
end; end;
Tnamed_object=object Tnamed_object=object
name:Pstring; _name:Pstring;
left,right:Pnamed_object; left,right:Pnamed_object;
speedvalue:longint; speedvalue:longint;
owner:Pdictionary; owner:Pdictionary;
constructor init(const n:string); constructor init(const n:string);
destructor done;virtual; destructor done;virtual;
function name:string;
end; end;
{$ifdef BUFFEREDFILE} {$ifdef BUFFEREDFILE}
@ -831,23 +832,27 @@ end;
****************************************************************************} ****************************************************************************}
constructor Tnamed_object.init(const n:string); constructor Tnamed_object.init(const n:string);
begin begin
left:=nil; left:=nil;
right:=nil; right:=nil;
name:=stringdup(n); _name:=stringdup(n);
speedvalue:=getspeedvalue(n); speedvalue:=getspeedvalue(n);
end; end;
destructor Tnamed_object.done; destructor Tnamed_object.done;
begin begin
stringdispose(name); stringdispose(_name);
end; end;
function Tnamed_object.name:string;
begin
name:=_name^;
end;
{**************************************************************************** {****************************************************************************
TDICTIONARY TDICTIONARY
****************************************************************************} ****************************************************************************}
constructor Tdictionary.init(usehash:boolean); constructor Tdictionary.init(usehash:boolean);
@ -938,8 +943,8 @@ function Tdictionary.insert(obj:Pnamed_object):Pnamed_object;
begin begin
new(s1); new(s1);
new(s2); new(s2);
s1^:=osym^.name^; s1^:=osym^._name^;
s2^:=obj^.name^; s2^:=obj^._name^;
if s1^>s2^ then if s1^>s2^ then
begin begin
dispose(s2); dispose(s2);
@ -964,7 +969,7 @@ function Tdictionary.insert(obj:Pnamed_object):Pnamed_object;
begin begin
obj^.owner:=@self; obj^.owner:=@self;
obj^.speedvalue:=getspeedvalue(obj^.name^); obj^.speedvalue:=getspeedvalue(obj^._name^);
if assigned(hasharray) then if assigned(hasharray) then
insert:=_insert(hasharray^[obj^.speedvalue mod hasharraysize]) insert:=_insert(hasharray^[obj^.speedvalue mod hasharraysize])
else else
@ -997,13 +1002,13 @@ begin
hp:=hp^.right hp:=hp^.right
else else
begin begin
if (hp^.name^=s) then if (hp^._name^=s) then
begin begin
speedsearch:=hp; speedsearch:=hp;
exit; exit;
end end
else else
if s>hp^.name^ then if s>hp^._name^ then
hp:=hp^.left hp:=hp^.left
else else
hp:=hp^.right; hp:=hp^.right;
@ -1408,7 +1413,10 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.17 1999-01-19 11:00:33 daniel Revision 1.18 1999-02-24 00:59:13 peter
* small updates for ag386bin
Revision 1.17 1999/01/19 11:00:33 daniel
+ Tdictionary object: Tsymtable will become object(TTdictionary) in the + Tdictionary object: Tsymtable will become object(TTdictionary) in the
future future
+ Tnamed_item object: Tsym will become object(Tnamed_item) in the future + Tnamed_item object: Tsym will become object(Tnamed_item) in the future

View File

@ -315,7 +315,7 @@ unit pdecl;
aktvarsym:=new(pvarsym,init_C(s,target_os.Cprefix+C_name,p)); aktvarsym:=new(pvarsym,init_C(s,target_os.Cprefix+C_name,p));
tokenpos:=storetokenpos; tokenpos:=storetokenpos;
aktvarsym^.var_options:=aktvarsym^.var_options or vo_is_external; aktvarsym^.var_options:=aktvarsym^.var_options or vo_is_external;
externals^.concat(new(pai_external,init(aktvarsym^.mangledname,EXT_NEAR))); concat_external(aktvarsym^.mangledname,EXT_NEAR);
symtablestack^.insert(aktvarsym); symtablestack^.insert(aktvarsym);
symdone:=true; symdone:=true;
end; end;
@ -494,7 +494,7 @@ unit pdecl;
importlib^.importvariable(aktvarsym^.mangledname,dll_name,C_name) importlib^.importvariable(aktvarsym^.mangledname,dll_name,C_name)
end end
else else
externals^.concat(new(pai_external,init(aktvarsym^.mangledname,EXT_NEAR))); concat_external(aktvarsym^.mangledname,EXT_NEAR);
end; end;
symdone:=true; symdone:=true;
end end
@ -2193,7 +2193,10 @@ unit pdecl;
end. end.
{ {
$Log$ $Log$
Revision 1.99 1999-02-22 23:33:29 florian Revision 1.100 1999-02-24 00:59:14 peter
* small updates for ag386bin
Revision 1.99 1999/02/22 23:33:29 florian
+ message directive for integers added + message directive for integers added
Revision 1.98 1999/02/22 20:13:36 florian Revision 1.98 1999/02/22 20:13:36 florian

View File

@ -525,15 +525,30 @@ implementation
) )
,( ,(
id : as_i386_dbg; id : as_i386_dbg;
idtxt : 'DBG' idtxt : 'DBG';
asmbin : '';
asmcmd : '';
externals : true;
labelprefix : '';
comment : ''
) )
,( ,(
id : as_i386_coff; id : as_i386_coff;
idtxt : 'COFF' idtxt : 'COFF';
asmbin : '';
asmcmd : '';
externals : true;
labelprefix : '';
comment : ''
) )
,( ,(
id : as_i386_pecoff; id : as_i386_pecoff;
idtxt : 'PECOFF' idtxt : 'PECOFF';
asmbin : '';
asmcmd : '';
externals : true;
labelprefix : '';
comment : ''
) )
{$endif i386} {$endif i386}
{$ifdef m68k} {$ifdef m68k}
@ -1327,7 +1342,10 @@ begin
end. end.
{ {
$Log$ $Log$
Revision 1.57 1999-02-22 02:15:42 peter Revision 1.58 1999-02-24 00:59:16 peter
* small updates for ag386bin
Revision 1.57 1999/02/22 02:15:42 peter
* updates for ag386bin * updates for ag386bin
Revision 1.56 1999/01/10 15:38:01 peter Revision 1.56 1999/01/10 15:38:01 peter