Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!ucbcad!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re: M2Amiga, another bunch of answers Message-ID: <8712080956.AA00572@cory.Berkeley.EDU> Date: Tue, 8-Dec-87 04:56:18 EST Article-I.D.: cory.8712080956.AA00572 Posted: Tue Dec 8 04:56:18 1987 Date-Received: Sun, 13-Dec-87 10:33:08 EST Sender: usenet@ucbvax.BERKELEY.EDU Lines: 25 >required ROMTag, jump table, and especially assembler-specified entry points >into routines (args passed in registers instead of on the stack). In C >I've done most of a device/library type item in C, but I still use the >Assembler to produce the jump table, ROMTag, and C compatible argument stack >for any objects that need parameters. Err... Yer supposed to use MakeLibrary() for that, no? (As I was told after posting the first version of my example library). Also, I figure if people make their own custom libraries they can use whatever calling sequence they want: in registers or on the stack. Look at it this way: If your library routines are in C passing arguments on the stack puts the burden of pushing them on the assembly programmer, but doesn't slow anything down because if they were passed in registers, the burden would be double ended (on both the library routines and the programmer). If your library routines are in assembly, passing arguments in registers puts the burden of placing them there on the assembly programmer (as if you could get out of it), but doesn't slow anything down because if they were passed on the stack instead, the burden would be double ended with the assembly having to put them back in registers. So I figure it be up to the library implementor, yah? -Matt