CHAIN - execute a sequence of smaller linked F77 programs.


call chain(string)


is a character expression (1-64 characters) that is a filename of a Fortran77 program (source, object or H*). The filename must be terminated by a blank.


This subroutine allows an ASCII time sharing F77 program that is too large to fit into main memory to be executed as a sequence of smaller programs.

When CHAIN is called, the following events occur:

  1. The current program is terminated and any open UFAS files are closed.
  2. The file descriptor is passed to the FR7 subsystem to compile the source program and build an H* file. DSS=GO, TSLOAD, EXEC, NOGO, or NOLOAD options in a source file will be ignored.
  3. The main link on the generated H* file is loaded into memory on top of the chaining program and receives control.

Since chained programs are loaded on top of each other, blank common may be used to pass data. The LOWLOAD option must appear in a "*$" line within the chained file. The first item declared in blank common must be a 36-word array that is not referenced by either the chaining or the chained program.


This technique is NOT recommended. A well thought out overlay structure will work much better.

Copyright © 1996, Thinkage Ltd.