Re: Archaic hardware (was Fortran calls)

"robin" <robin51@dodo.com.au>
Wed, 9 May 2012 10:46:17 +1000

          From comp.compilers

Related articles
[3 earlier articles]
Re: PL/I nostalgia gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-04-24)
Re: PL/I nostalgia robin51@dodo.com.au (robin) (2012-04-28)
Re: PL/I nostalgia gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-04-28)
Re: PL/I code robin51@dodo.com.au (robin) (2012-05-05)
Re: PL/I code gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-05-05)
Re: Fortran calls, was PL/I code gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-05-06)
Re: Archaic hardware (was Fortran calls) robin51@dodo.com.au (robin) (2012-05-09)
| List of all articles for this month |
From: "robin" <robin51@dodo.com.au>
Newsgroups: comp.compilers
Date: Wed, 9 May 2012 10:46:17 +1000
Organization: Compilers Central
References: 12-04-070 12-04-077 12-04-081 12-04-082 12-04-084 12-04-085 12-05-004 12-05-005 12-05-006
Keywords: history
Posted-Date: 10 May 2012 12:38:25 EDT

From: "glen herrmannsfeldt" <gah@ugcs.caltech.edu>
Sent: Sunday, 6 May 2012 3:13 PM


> I remembered the PDP-8 using the "store the return address in the
> first word" method, but, yes, there was an earlier PDP-10 compiler.
> The one I used was, I believe, called Fortran-10 and the older one
> Fortran-40.


The CDC machines 7600, Cyber 70 series, etc used that method to store
the return address.


Surprising that those machines should take a step backwards,
in view of around a decade of Algol (with recursion).


It meant that each subroutine/function needed to implement its own
stack should it be called recursively.


Alan Turing designed the push-down pop-up stack
for subroutines back in 1945, for his computer (later
christened Automatic Computing Engine).
That feature did not see hardware at that time.
However, the Pilot ACE (1951) included a push-down stack
(or, if you like) a queue. That push-down stack was
continued into the DEUCE line (1955).


The stack as a means of calling and returning from subroutines/
functions was implemented in the KDF9 (1961, delivered 1963).


The S/360 and subsequent issue stored the return address in a register.
That made it somewhat easier to have a universal stack manipulated
by software.



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.