At 04:00 PM 10/12/2001 -0500, Brian Wheeler wrote:
>On Fri, 2001-10-12 at 15:45, Dan Sugalski wrote:
> > At 03:50 PM 10/12/2001 -0500, Brian Wheeler wrote:
> > >Neat-o, but I do have a question... how do I pass parameters to
> > >recursive subroutines, and/or save registers and not clobber the
> > >caller's?
> >
> > Ah, this doesn't get into that. I'm still not sure what the calling
> > conventions will be.
> >
>
>:) hehe, looks like I'm too eager to abuse it.
Heh. The more eager the better.
>In any case, wouldn't calling conventions be a language-dependant thing,
>sort of like the way Pascal and C have different conventions...though
>there might be a common one for calling libraries, etc.
No, we're going to have a standard calling convention. Various languages
are welcome to work around it if they like, and even go as far as to write
their own opcodes to implement it, but there will be a standard for
high-level subs. (Which is not to say it'll be the same as the low-level
code will use)
> > I see we don't have push-with-copy ops for the various register files. I
> > think I'll go fix that.
> >
>
>How do you do "pop, but I want to remember my return value"?
Save to stack, pop, restore from stack, return. Assuming, of course, that
the caller and callee agree on the registers that hold the return values.
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk