This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
On Friday 19 October 2001 06:08, David Korn wrote: > >-----Original Message----- > > From: Larry Gray [mailto:larry@greenmotor.com] > > >1. The m68k pushes everything onto the stack. This makes it > >difficult to > >determine the offset when calling multiple routines. I guess > >the only sure > >way is to compile with -S, or produce a listing file. > > Huh? > > Can you elaborate what you mean here? You aren't trying to reach > multiple levels up the stack, are you? What's difficult about working > out the offset? The args are pushed, you know from the function prototype > (yes, you can and should supply prototypes for asm routines that will be > called from C) how many args and what types they are, the subroutine is > called immediately after pushing the args, so on entry 0(sp) points to > your return addr, 4(sp) points to your first arg - always! - and subsequent > args are found by adding the (rounded according to alignment requirements) > size of each arg as you go past it. > > Where's the problem, maybe it's easier than you think ? > > > DaveK Hello, You're right, I was doing something boneheaded. I was using the frame pointer instead of the stack pointer. Thanks, Larry ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |