[fpc-devel] AVR calling convention for shortstring result type

Christo Crause christo.crause at gmail.com
Tue Dec 12 05:32:29 CET 2017


On 11 Dec 2017 11:44 PM, "Florian Klämpfl" <florian at freepascal.org> wrote:
>
> Am 11.12.2017 um 21:58 schrieb Christo:
> > It appears from the generated code as if the function result location
is assigned before the
> > function is called, with the reference to the function result passed as
first parameter (in
> > R24:R25) and the reference to s passed as the second parameter (in
R22:R23). Is this indeed the
> > current parameter handling for shortstring function result type?
>
> Yes.
>
> >
> > If so it probably warrants a mention on the AVR wiki page.  Are there
any other data types that
> > deviates from the GCC AVR calling convention in this way?
>
> Where do the GCC AVR calling say something about how to pass
shortstrings? FPC always use a first
> "hidden" parameter to pass e.g. pointers to storage space for data types
not being returned in
> registers.

Thanks Florian. First time I'm working with more  complex data in assembly,
so it's a concept that is new to me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20171212/a40dad8b/attachment.html>


More information about the fpc-devel mailing list