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