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