On 1/22/20, Noel Chiappa <jnc(a)mercury.lcs.mit.edu> wrote:
Pretty interesting machine, if you study its
instruction set, BTW; with no
stack, subroutines are 'interesting'.
Another machine family like that was the CDC 6x00 and 7x00 machines of
the late 1960s and early 1970s.
I worked on a CDC 6400 for a few years. A call was done by storing
the return address in the first word of the called routine, and
jumping to its second word. The return was done with an indirect jump
through the first word.
That was fine for Fortran, which at the time had no concept of
recursion. However, Urs Ammann implemented a compiler for Niklaus
Wirth's Pascal language on a CDC 6400 (or 6600) in Zurich, and he had
to simulate a stack. See
On Code Generation in a PASCAL Compiler
Software --- Practice and Experience 7(3) 391--423 May/June 1977
https://doi.org/10.1002/spe.4380070311
I have read that article in the past, but don't have download access
from our academic library to get a copy to refresh my memory.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL:
http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------