Re: restated question about externals




glen herrmannsfeldt wrote:
> Gordon Sande wrote:
> (snip about requirements for a stack)
>
> > Most early Fortrans were based on static allocation and that even included
> > the aguement lists and return addresses. If you inadvertently had a
> > recursive
> > call there was no way back as the return would always be to one self (or
> > the daisy chain). Stacks were a new fangled thing associated with the
> > minicomputers like the various PDPs. Which as was recently noted were
> > not computers to fool the bean counters and paper pushers.
>
> Likely the reason why F66 and F77 disallow recursion.
>
> S/360 and S/370 don't have stacks, and the compilers I know for
> them use static variables and static register save areas.
>

Perhaps this is why a number of MS-DOS Fortran compilers with mainframe
heritage pass a pointer to an argument list (consisting of pointers to
arguments perhaps intermixed with string lengths, etc.) in ES:BX.

-- Elliot

.



Relevant Pages

  • Re: Interview question !!!
    ... 99.9% of stacks work, and basic C pointer arithmetic. ... A compiler that sees that fnever modifies x after it is ... > and the replies have pointed out that shooting yourself in the foot ...
    (comp.lang.c)
  • Re: call stacks order of parameters
    ... and both call stacks are like the following ... pointer to "ANDRE_KIRCHNER" ... Thus, for the called function to be able to know where we put the first argument, we need to pass it at a known offset into the stack frame. ... Bjarni ...
    (comp.lang.asm.x86)
  • Re: The machine stack and the C language
    ... All stacks have a stack pointer! ... Logical stacks ALSO. ... But not all stacks do allocation/deallocation by *moving* the pointer. ... You all think I'm paranoid, ...
    (comp.lang.c)