comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Pascal Calling Convention
Date: Sat, 26 Mar 2011 21:24:53 -0500
Date: 2011-03-26T21:24:53-05:00	[thread overview]
Message-ID: <imm75p$53o$1@munin.nbi.dk> (raw)
In-Reply-To: wccbp0xy5hu.fsf@shell01.TheWorld.com

"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message 
news:wccbp0xy5hu.fsf@shell01.TheWorld.com...
...
> Thanks for the clarification.  I agree with the above, and of course I
> agree that the stack doesn't have to be a contiguous block of memory.
> But why do you call that "contiguous stack" thing a "hardware stack"?
> I mean, on most architectures, push/pop are implemented by subtract/add
> instructions on the stack pointer register.  That's not a whole lot of
> "hardware support for stacks".  The hardware has instructions that
> support implementing arrays, and linked lists, too, but we don't call them
> "hardware arrays" or "hardware linked lists".
>
> OK, on x86, there are push/pop instructions.  But most stack
> manipulation is still just subtract/add.  Call pushes a return address.
> Enter/leave instructions are stack-oriented, but nobody uses those,
> because they're slow.  Maybe "the stack" on x86 could be called a
> "hardware stack", but it's pretty marginal in practice.

I can't speak for Keith, but most of the hardware architectures that I've 
worked on have had at least some architectual support for a "hardware" 
stack. Not only the Push/Pop instructions of the X86 for instance, but also 
the special SS stack segment register. The 68K also had a dedicated stack 
register and some special instructions for call/ret. Even the Unisys U2200 
mainframe had a stack segment and special instructions for call/ret and 
stack frames.

I agree that these things aren't that different than add or subtract, but 
given the way that they're documented (as a hardware-supported stack in each 
case), I think it is pretty obvious that these things exist. (Inventing your 
own terminology and ignoring the standard view of an architecture is a good 
way to confuse everyone who talks to you...)

                         Randy.





  reply	other threads:[~2011-03-27  2:24 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-23 21:37 Pascal Calling Convention Shark8
2011-03-23 23:25 ` Yannick Duchêne (Hibou57)
2011-03-24  0:24   ` Randy Brukardt
2011-03-24  0:43     ` Yannick Duchêne (Hibou57)
2011-03-24  2:04       ` Shark8
2011-03-25 15:40         ` Yannick Duchêne (Hibou57)
     [not found]       ` <F8mdnYCca6tRJBfQnZ2dnUVZ_s-dnZ2d@earthlink.com>
2011-03-24 19:20         ` Keith Thompson
2011-03-25 16:04           ` Robert A Duff
2011-03-25 17:02             ` Hyman Rosen
2011-03-25 17:09               ` Robert A Duff
2011-03-25 17:35                 ` Hyman Rosen
2011-03-26 19:51                   ` Robert A Duff
2011-03-25 17:51             ` Keith Thompson
2011-03-26 20:46               ` Robert A Duff
2011-03-27  2:24                 ` Randy Brukardt [this message]
2011-03-28 15:41                   ` Adam Beneschan
2011-03-28 19:52                   ` Robert A Duff
2011-03-29  2:32                     ` Randy Brukardt
2011-03-29  6:06                       ` Shark8
2011-03-29 23:45                         ` Randy Brukardt
2011-03-29 19:19                       ` Robert A Duff
2011-03-30  0:02                         ` Randy Brukardt
2011-03-30 12:40                           ` Robert A Duff
2011-03-30 19:40                             ` Randy Brukardt
2011-03-30 20:56                               ` tmoran
2011-03-30 22:34                                 ` Robert A Duff
2011-03-31 21:00                                   ` Randy Brukardt
2011-03-28 20:29                 ` Hyman Rosen
2011-03-28 21:16                   ` Adam Beneschan
2011-03-28 21:26                     ` Hyman Rosen
2011-03-28 22:08                       ` Adam Beneschan
2011-03-28 23:47                         ` Georg Bauhaus
2011-03-29 12:23                           ` stefan-lucks
2011-03-29 13:10                             ` Hyman Rosen
2011-03-30 13:42                             ` Phil Clayton
2011-03-31  7:40                               ` Phil Clayton
2011-03-29  2:48                         ` Hyman Rosen
2011-03-29 18:30                           ` Robert A Duff
2011-03-29 23:25                             ` Adam Beneschan
2011-03-30 12:50                               ` Robert A Duff
2011-03-30 14:47                                 ` Adam Beneschan
2011-03-30 18:10                                   ` Robert A Duff
2011-03-29  3:01                         ` Hyman Rosen
2011-03-29 18:22                           ` Robert A Duff
2011-03-26 21:30           ` Florian Weimer
2011-03-27 16:18             ` Robert A Duff
2011-03-27 16:38               ` Florian Weimer
2011-03-27 16:56                 ` Robert A Duff
2011-03-24  2:15   ` Shark8
2011-03-24  0:38 ` ytomino
2011-03-24  2:23   ` Shark8
2011-03-24 21:29 ` Gautier write-only
2011-03-25 12:47 ` Marco
2011-03-25 15:38   ` Yannick Duchêne (Hibou57)
2011-03-26  8:39     ` ObjectAda [was: Pascal Calling Convention] Gautier write-only
2011-03-26 14:05       ` Marco
2011-03-26 21:58         ` Gautier write-only
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox