Related articles |
---|
[7 earlier articles] |
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-14) |
Re: The C Stack in interpreters - why? Marko.Makela@HUT.FI (Marko =?ISO-8859-1?Q?M=E4kel=E4?=) (2005-05-14) |
Re: The C Stack in interpreters - why? marcov@stack.nl (Marco van de Voort) (2005-05-14) |
Re: The C Stack in interpreters - why? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-05-15) |
Re: The C Stack in interpreters - why? gene@abhost.us (Gene Wirchenko) (2005-05-15) |
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-15) |
Re: The C Stack in interpreters - why? gneuner2@comcast.net (George Neuner) (2005-05-16) |
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-16) |
Re: The C Stack in interpreters - why? scooter.phd@gmail.com (scooter.phd@gmail.com) (2005-05-18) |
From: | George Neuner <gneuner2@comcast.net> |
Newsgroups: | comp.compilers |
Date: | 16 May 2005 11:17:06 -0400 |
Organization: | Compilers Central |
References: | 05-05-072 05-05-073 05-05-084 05-05-100 05-05-122 |
Keywords: | C, architecture |
Posted-Date: | 16 May 2005 11:17:06 EDT |
On 15 May 2005 16:12:22 -0400, Gene Wirchenko <gene@abhost.us> wrote:
>The 6502 does not have a *real*[1] stack.
>
>[1] Not to be confused with floating-point, especially by FORTRAN
>programmers.
If I can find my copy of Apple ][ Lisp, I will fire up my old Apple ][
and create a stack named *real*.
What do you consider a real stack? The 6502 stack had a hardware
incremented address register, dedicated push/pop access instructions
and automatic push/pop of PC and status registers upon
entering/leaving a subroutine.
To be sure, the 6502 stack wasn't the most convenient thing to use ...
it was too small, it had a fixed address range, it had neither
top-relative addressing nor framing, did I mention it was too small
.... but if it wasn't a real stack then I don't know what one is.
George
Return to the
comp.compilers page.
Search the
comp.compilers archives again.