On Fri, 2001-10-12 at 16:04, Dan Sugalski wrote:
> 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)
> 

Fair enough. I thought more about cross-language stuff after I
posted...and the pain of trying to get one language to call the other
under DOS.


> > > 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.
> 

Hmm.  I must be missing something.  Can you show an example?

Brian




>                                       Dan
> 
> --------------------------------------"it's like this"-------------------
> Dan Sugalski                          even samurai
> [EMAIL PROTECTED]                         have teddy bears and even
>                                       teddy bears get drunk


Reply via email to