[fpc-pascal]1st post
Peter Vreman
peter at freepascal.org
Thu Jun 17 07:50:25 CEST 2004
> Hello,
>
> Thanks for the quick answers.
>
> Peter Vreman a écrit :
>> > 2) " end [ {$IFNDEF REGCALL} 'eax','ecx', {$ENDIF} 'edi']; "
>> > Is the previous line meaningful? (See the routine below)
>>
>> No, FPC 1.9.x follows standard calling conventions. The changed
>> registers
>> are fixed. This information is not used for assembler procedures. But
>> for
>> assembler blocks within a procedure the information is used.
>
> With "standard calling conventions", do you mean I have to write
> code like with Delphi (push/pop ebx,edi,esi)? Yesterday, I spent all
> day long to remove all these push/pop :-)
FPC is delphi compatible with it's calling conventions on i386.
> Should I also write push/pop for eax,ecx,edx when REGCALL is not
> defined?
See remark above. There is no difference with delphi anymore. Also note that
the REGCALL define is unsupported. It is only a temporary define used
internally for bootstrapping a 1.9.x compiler. It'll be removed without
notice in the development series after 2.0.
More information about the fpc-pascal
mailing list