Argument Passing in C

Scott Wilson swilson%thetone at Sun.COM
Wed Sep 21 07:08:47 AEST 1988


>The
>Honeywell machines don't have a hardware stack, and can have any number
>of software stacks.

Can someone explain to me what the difference is between a hardware stack
and a software stack?  I worked on a C compiler project once where
one person said the target machine "doesn't even have a hardware stack."
I asked what the difference was between the target machine and, say, a 68000.
The answer was the 68000 had a stack because it supported addressing modes
like "movl d7, at sp-" whereas the target machine required you to use two
instructions, first a move then an explicit decrement of the stack pointer.
So what?, I thought.  So which machines have a hardware stack and which
don't and how do the differences appear to, say, an assembly language
programmer.

--
Scott Wilson		arpa: swilson at sun.com
Sun Microsystems	uucp: ...!sun!swilson
Mt. View, CA



More information about the Comp.lang.c mailing list