Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Overview1-4 System5-11 Matrix12-20 System22-28 I/O29-31 Translators37-48 System50-59 Linear algebra60-69 Eigen □ Equations □ 70-74 Algebraic75-79 Differential80-84 Quadrature85-95 Approx96-99 Probability100-105 Numerische Mathematik106-110 Graphing
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureAtlas manualsAlgol Library :: Atlas Algol Library
ACLLiteratureAtlas manualsAlgol Library :: Atlas Algol Library
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
1-4 System
5-11 Matrix
12-20 System
22-28 I/O
29-31 Translators
37-48 System
50-59 Linear algebra
60-69 Eigen
Equations
70-74 Algebraic
75-79 Differential
80-84 Quadrature
85-95 Approx
96-99 Probability
100-105 Numerische Mathematik
106-110 Graphing

ICT1

            procedure dump program (k,m,n);

This procedure is designed to dump a fully compiled program in binary on magnetic tape. It is intended to serve the dual purpose of:-

  1. Dumping fully debugged programs so that subsequent execution runs can use the compiled form of the program and save unnecessary compilations.
  2. Making periodic dumps of long running programs so that, in the case of failure, the program may be restarted at the last dump made.

This procedure when called will dump all the blocks in use at that point and all the B-lines onto magnetic tape (logical number k) in blocks m to n of the tape. If the dumping area on the magnetic tape is not sufficient, the diagnostic:-

DUMP SPACE EXCEEDED

will appear and the program will end. However if there is sufficient space the following line will appear:-

DUMP TO TAPE k (Title of tape from Job Description) IN THE RANGE (m,n)

Once the dumping has taken place the program will carry on executing from the point where the procedure dump program was called. There will now be a compiled version of the program on the magnetic tape and the following steering tape, substituting for k and n the same values as above, should be used for subsequent runs:-

JOB
----------
TAPE k ---
----------
COMPILER ABL 
1001, k, 0, n 
1002, k, 0, 2:
121, 127, 0, 2:
EA 
***Z

This will bring the program down from magnetic tape and re-enter the program immediately after the call of dump program. An example of the use of this procedure is as follows:-


JOB 10000 HOPGOOD DUMP AFTER READING FIXED DATA 
OUTPUT 0 LINEPRINTER 1000 LINES 
INPUT 1 CONSTANTDATA 
INPUT 2 VARIABLEDATA 
TAPE 3 N0009DMP*PERMIT 
DISC 99 R502 ALGOLIB 
COMPUTING 30 SECONDS 
COMPILER ALGOL 
INPUT INTERNAL ICT WITH ICT I/O PROCEDURES;
begin
            
library ICT1; select input (1); comment Read in all data which is constant for all runs of the program and set up all initial conditions; dump program (3,1,50); select input (2); comment Read in variable data and carry on with program; end ***Z

Note that by inserting data reading instructions in place of the first comment any large amount of fixed data could be stored on magnetic tape with the program. Subsequent runs would use:-

JOB 
I0000 HOPGOOD READ PROGRAM FROM TAPE 
OUTPUT 0 LINEPRINTER 1000 LINES 
INPUT 2 VARIABLEDATA 
TAPE 3 N0009DMP*INHIBIT 
COMPUTING 30 SECONDS 
COMPILER ABL 
1001, 3, 0, 50 
1002, 3, 0, 2: 
121, 127, 0, 2:
EA
***Z

See ICT2 in connection with this procedure.

ICT2

            procedure release mag tape (k);

Once a magnetic tape has been finished with it is a help to the operating staff and the efficient running of the computer for the tape to be dismounted by the user. The deck and tape are then available for other users. This procedure could be used in connection with the procedure ICT1 and also the library tape ALGOLIB.

The procedure will release the magnetic tape with logical tape number k.

ICT3

            procedure dump (str);
string str;

This procedure will dump either in octal or in machine order code format certain sections of the Algol program during program execution. It is of use mainly to users having a good knowledge of the internal workings of the Algol Compiler.

The string argument should consist of a set of words separated by commas. The possible words are:-

directory 
program 
stack 
constants 
i/o

For example:-

dump ('directory, stack');

The areas of store dumped are as follows:-

  1. directory The first block of store is dumped in octal. This contains the entry points to all procedures and block levels.
  2. program The Algol program is dumped in instruction format.
  3. stack The stack containing variables and block level information is dumped in octal.
  4. constants The Constant Stack is dumped in octal.
  5. i/o The area of program containing the input/output procedures is dumped in instruction format.

Each line has its store address in octal printed before it. If several lines are identical the first only is printed. A blank line is inserted to show where lines have not been printed.

ICT4

            procedure print input;

This procedure, when called, will read and print all the remaining characters on the selected input stream. The input is read using the same code conversion as data on that stream. It is designed to give a listing of program or data tapes. For example:-

JOB
I0000 HOPGOOD LIST DATA TAPE 
OUTPUT 0 LINEPRINTER 500 LINES 
COMPUTING 30 SECONDS 
TAPE 99 ALGOLIB*INHIBIT 
COMPILER ALGOL 
INPUT INTERNAL ICT WITH ICT I/O PROCEDURES;
begin
            
library ICT4; print input; end ***T

followed by a tape ending on ***Z would cause the tape to be printed. Some effort is made to keep paperthrows at positions where additional newlines have been inserted.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site