Jump To Main Content

Jump Over Banner


ACLLiteratureManualsAtlas Programming

Jump Over Left Menu


This manual supersedes the manual CS 348, "The Atlas Provisional Programming Manual", January 1963. It provides information for the programming of the Atlas 1 computer in the language known as Atlas Basic Language (ABL). It is a self-contained document, providing sufficient information about the Atlas 1 computer to enable programmers to write and develop programs in ABL without recourse to any other documents about Atlas 1.

The Atlas 1 Computer is the latest result of a long-standing collaboration between Manchester University and Ferranti Ltd. A later version of the computer, known as Atlas 2, has been developed jointly by Cambridge University and Ferranti Ltd. In September 1963 the Computer Department of Ferranti Ltd., was acquired by I.C.T. Ltd., who now manufacture and market the Atlas computers.

Atlas Basic Language (ABL) is a symbolic input language close to "machine language". Each ABL instruction corresponds to one machine instruction, and each part of an ABL instruction to each part of a machine instruction. In its simplest form an ABL instruction consists of four numbers corresponding exactly to the internal machine representation, but extensive facilities are also provided in ABL for the use of a variety of parameters and symbolic expressions which are evaluated by the ABL compiler. ABL also provides a comprehensive system of directives to control the assembly of a complete program. Finally ABL provides facilities for the input, conversion and storage of fixed-point numbers, floating-point numbers and character strings for use by the program.

In this manual no attempt is normally made to differentiate between those facilities which are a basic part of the machine (e.g. the instruction repertoire) and those which are a part of the particular language ABL (e.g. the formats for writing instructions). This is partly because it is impossible to separate them completely - any feature of the machine itself needs a language in which to describe it, and in this case that language is ABL - and partly because it is not normally necessary or helpful for a programmer to be conscious of the distinction. However, inasmuch as certain facilities of the machine itself are described here, parts of this manual are relevant and interesting to users of other Atlas programming languages. In particular, Chapter 10 "Preparing a Complete Program" applies to all Atlas languages.

A word must be said about the enumeration of binary digits: throughout this manual the convention adopted is to number bits as 0, 1, 2 ...., starting always with bit number 0 at the more significant end. This convention differs from that used in documents on the Supervisor and in engineering documents, in which only the accumulator is numbered as here, and in all other cases bit 0 is the least-significant bit.