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