Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ PrefaceContents1 Introduction2 The basic language3 Storage and block structure of programs4 Routines5 Data I/O6 Monitor printing and fault diagnosis7 Presentation of complete programs8 Complex arithmetic9 Store Mapping10 The use of machine instructions11 Permanent routines □ Appendices and indices □ A1 Phrase structure notationA2 Standard functions and permanent routinesA3 DelimitersA4 Monitored faultsA5 Numerical equivalents of symbols
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureAtlas manualsAtlas Autocode :: ATLAS AUTOCODE REFERENCE MANUAL
ACLLiteratureAtlas manualsAtlas Autocode :: ATLAS AUTOCODE REFERENCE MANUAL
ACL ACD C&A INF CCD CISD Archives
Further reading

Preface
Contents
1 Introduction
2 The basic language
3 Storage and block structure of programs
4 Routines
5 Data I/O
6 Monitor printing and fault diagnosis
7 Presentation of complete programs
8 Complex arithmetic
9 Store Mapping
10 The use of machine instructions
11 Permanent routines
Appendices and indices
A1 Phrase structure notation
A2 Standard functions and permanent routines
A3 Delimiters
A4 Monitored faults
A5 Numerical equivalents of symbols

7 Presentation of Complete Programs

The running of programs on the computer is controlled by a supervisor program held permanently in the machine. The supervisor accepts complete programs as a series of tapes (program and data) and a JOB DESCRIPTION which may be on a separate tape or included with the program or data. A full description of the system is given elsewhere [1], and in this section we give examples to illustrate the general principles of job descriptions.

7.1 Program and Data on Same Tape

The simplest form of job consists of job decription, program and data on the one tape. For example:-

JOB
UMA, JONES 5/2
OUTPUT
0 LINEPRINTER 100 LINES
STORE 32 BLOCKS
COMPUTING 10000 INSTRUCTIONS
COMPILER AA

begin
 -------------
|             | 
|   PROGRAM   |
|             |
 -------------
end of program
 ---------------
|     DATA      |
|               |
 ---------------
               
***Z
NOTES

1. The title (and line) identifies the job. The first few characters will be a code to identify the particular organisation and the rest will be information of an arbitrary form to identify the programmer and the program within the organisation.

Reference

[1] 'Documents and Job Description' I.C.T. Ltd., October 1963. This gives a full description of the possible arrangements of program and data tapes and the utilisation of the multi-channel input/output facilities on Atlas.

2. The OUTPUT information says that reference to channel 0 in the program means the lineprinter (if no output channel is selected in the program channel 0 is used). The number of LINES gives an upper limit to the amount of output that is to be permitted.

3. STORE gives an upper limit on the number of 512 word main store blocks used by the program and data.

4. COMPUTING gives a limit on the running time of the program. An 'INSTRUCTION' is equivalent to 2048 machine instructions.

The OUTPUT, STORE, and COMPUTING sections are optional, both individually and collectively. If they are omitted the allowances given in the above example are assumed, i.e., 100 LINES, 32 BLOCKS, 10000 INSTRUCTIONS. These should in fact be adequate for most small problems, except possibly the 100 LINES. The foregoing example could therefore be shortened to:-

JOB
UMA, JONES 5/2
COMPILER AA
begin
 -------------
|             | 
|   PROGRAM   |
|             |
 -------------
end of program
 ---------------
|               |
|      DATA     |
|               |
 ---------------
               
***Z

A program tape is always assumed to be on input channel 0 so that in the above case, the data for the problem is also on channel 0, which is the channel used in the absence of a contrary 'select input' instruction in the program. ***Z is an end of tape marker and indicates that all the information on that tape has been read. This must be on a line of its own, and must be followed by at least one 'newline'.

7.2 Program and Data Tapes Separate

Often when a program is being used for production runs, it is convenient to keep the program on a separate tape which is never changed. For each run the job description and data form a separate tape. For example:-

COMPILER AA
(title 1)
begin
 -------------
|             | 
|   PROGRAM   |
|             |
 -------------
end of program
***Z

The data tape including the job description, would be

JOB
(title 2)
INPUT
0 (title 1)
SELF = 1
DATA
 ---------------
|               |
|     DATA      |
|               |
 ---------------
***Z

The input section gives the relevant program as being channel 0 (the program channel) and SELF = 1 indicates that the data tape is to be read as channel 1. Thus an instruction 'select input(1)' is required in the program. This tape could, if necessary, include any OUTPUT, STORE, and COMPUTING information since this is the part of the job description.

Possible titles for the above example might be

(title 1) UMA, P10
(title 2) UMA, P10/RUN 26

7.3 Program on Several Tapes

It is often convenient to have the program itself on two or more distinct tapes, where, for example, the program may be so long that it would be physically unmanageable to keep it on one tape.

Alternatively the program may contain a large section (declarations and routines perhaps) which is common to many programs and which can conveniently be kept on a separate tape.

The instruction

 
now compile from input [N]

is used to switch the compiler from one input stream to another. For example:-

JOB
(title 1)
INPUT
1 (title 2)
2 (title 3)
COMPILER AA
begin
 ---------------
|  FIRST PART   | 
|      OF       |
|  PROGRAM      |
 ---------------
now compile from input 1
***Z

COMPILER AA
(title 2)
 ---------------
|  SECOND PART  | 
|      OF       |
|  PROGRAM      |
 ---------------
end of program
***Z

DATA
(title 3)
 ---------------
|               |
|DATA           |
|               |
 ---------------
***Z
⇑ 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