On Wednesday, September 21, 2022 at 5:43:50 AM UTC-7, Thomas Koenig wrote:
> gah4 <
ga...@u.washington.edu> schrieb:
(snip)
> > Last year, I had IBM's ECAP running. It seems to trace to Fortran II days,
> > though was later partly updated to Fortran IV, but with many older
> > constructs still there.
> > Among others, it has a feature that I have never seen anywhere else.
> > It seems that you can:
> > CALL LINK(program)
> > and it will load another program replacing the current one, but keeping
> > the variables in COMMON. And, interestingly, it is not a string constant.
> > To make that work, I write all the COMMON blocks out to a disk file,
> > and read them back in later. Funny features that used to be there.
> The old systems had overlays, yes. I read the documentation at
> the time I was working on mainframe systems, but I never needed
> to use them.
> What you can do today is the following: If you have two overlaid
> programs which share COMMON data, just make the two PROGRAMs into
> SUBROUTINEs and call them in turn.
There is also an ECAP for the PDP-10, which does that.
It also uses many DEC specific features that are not in any standard.
The way it actually works, is that there is a main program that reads
in all the input data cards, one of which tells it to do DC, AC, or
transient analysis. It then LINKs to the appropriate program,
for that analysis. When done, that one LINKs back to main.
It does get more interesting, though. You can do a follow-on,
without entering the whole thing again. Maybe change one
parameter, and then try again.
In any case, yes, I could make them into subroutines, and then
when one returns, it goes to the right place.
In some cases, it might be more complicated. Instead of return,
it might link to different routines, that link to other different routines.
In that case, it would be necessary to pass back an indication of
where to go next.
It seems that this is before the overlays as I have always known them,
which work on subroutine calls, and overlay only part of the program.
I have known those overlays on many different systems.