Contact us
Heritage collections
Image license terms
HOME
ACL
Associates
Technology
Literature
Applications
Society
Software revisited
Early history
□
Minutes of committee meetings
□
Progress reports
□
Other reports
□
News cuttings
□
In-house publications
□
Committee papers
□
Personal recollections
□
ACL publications
□
Books
□
Early Atlas publications
□
FR80 reports
□
Atlas manuals
□
ICL1906A manuals
□
Other manuals
Algol Language
□
Algol Library
□
Atlas Autocode
□
ABL (Atlas Basic Language)
□
ABL exercises
□
Atlas Supervisor
□
Atlas 1 Extracodes
□
Atlas 1 Operators
□
Atlas 1 Preparing a program
□
Atlas 1 Supervisor and Fixed Store routines
□
Atlas 1 Supervisor Vol 1
□
Atlas 1 Supervisor Vol 2
□
Atlas 1 Supervisor Vol 3
□
Atlas 1 Features: Early Ferranti paper
□
Atlas Testing
□
Input/Output for Atlas 1 and 2
□
Atlas Computer: Ferranti Overview
□
Atlas Bible
□
Atlas 2 Supervisor
Further reading □
Overview
□
Contents
□
1. Introduction
□
2. The Atlas 1 computer
□
3. Accumulator
□
4. B-Registers
□
5. Routines and directives
□
6. Accumulator (cont)
□
7. Extracodes
□
8. Input and output
□
9. Magnetic tape
□
10. Preparing a complete program
□
11. Monitoring and fault detection
□
12. Further facilities and techniques
□
Appendices
ACD
C&A
INF
CCD
CISD
Archives
Contact us
Heritage archives
Image license terms
Search
⟶
ACL
⟶
Literature
⟶
Atlas manuals
⟶
Atlas Programming
:: ATLAS I COMPUTER PROGRAMMING MANUAL
⟶
ACL
⟶
Literature
⟶
Atlas manuals
⟶
Atlas Programming
:: ATLAS I COMPUTER PROGRAMMING MANUAL
ACL
ACD
C&A
INF
CCD
CISD
Archives
Applications
Associates
Literature
Society
Technology
Software revisited
Early history
□
Minutes of committee meetings
□
Progress reports
□
Other reports
□
News cuttings
□
In-house publications
□
Committee papers
□
Personal recollections
□
ACL publications
□
Books
□
Early Atlas publications
□
FR80 reports
□
Atlas manuals
□
ICL1906A manuals
□
Other manuals
Algol Language
□
Algol Library
□
Atlas Autocode
□
ABL (Atlas Basic Language)
□
ABL exercises
□
Atlas Supervisor
□
Atlas 1 Extracodes
□
Atlas 1 Operators
□
Atlas 1 Preparing a program
□
Atlas 1 Supervisor and Fixed Store routines
□
Atlas 1 Supervisor Vol 1
□
Atlas 1 Supervisor Vol 2
□
Atlas 1 Supervisor Vol 3
□
Atlas 1 Features: Early Ferranti paper
□
Atlas Testing
□
Input/Output for Atlas 1 and 2
□
Atlas Computer: Ferranti Overview
□
Atlas Bible
□
Atlas 2 Supervisor
Further reading
⇓
□
Overview
□
Contents
□
1. Introduction
□
2. The Atlas 1 computer
□
3. Accumulator
□
4. B-Registers
□
5. Routines and directives
□
6. Accumulator (cont)
□
7. Extracodes
□
8. Input and output
□
9. Magnetic tape
□
10. Preparing a complete program
□
11. Monitoring and fault detection
□
12. Further facilities and techniques
□
Appendices
Contents
CHAPTER 1
AUTOMATIC DIGITAL COMPUTERS
1.1 Introduction
1.2 Electronic Computers
1.2.1 Digital Computers
1.3 Addresses
1.4 Instruction Code
1.5 Jump Instructions
1.5.1 Looping
1.5.2 Modification Binary Numbers
1.6 Binary Numbers
1.6.1 Negative Numbers
CHAPTER 2
THE ATLAS 1 COMPUTER
2.1 A General Description of Atlas 1
2.1.1 The Control Unit
2.1.2 The Arithmetic Units
2.1.3 The Supervisor
2.1.4 Storage
2.1.5 Input and Output
2.2 The Main Store
2.3 Storage of information in Atlas 1
2.4 Instructions in the machine
2.5 The written form of Instructions
2.6 The full range of Atlas 1 addresses
CHAPTER 3
THE ACCUMULATOR
3.1 Floating-point numbers
3.2 The Accumulator
3.3 Standardised numbers
3.4 Fixed-point numbers
3.5 Rounding
3.6 Floating-point operations
3.7 Standardising and Rounding accumulator instructions
3.8 The timing of instructions
3.9 Some fixed-point instructions
CHAPTER 4
THE B-REGISTERS
4.1 General Purpose B-registers
4.2 Arithmetic Operations
4.3 Logical Operations
4.4 Test Instructions
4.5 Special Purpose B-registers
4.6 Modification/Counting Instructions
4.7 The B-test register
4.8 The Shifting Instructions
4.9 The Odd/Even Test Instructions
4.10 Restrictions on the use of B81-B119
4.11 The B-carry digit
CHAPTER 5
ROUTINES AND DIRECTIVES
5.1 Routines, Subroutines and Symbolic Addresses
5.2 Parameters
5.3 Preset Parameters
5.4 Global Parameters
5.5 Optional Parameter
5.6 Setting Expressions
5.7 Separators
5.8 The Special Parameter *
5.9 The Ba and Bm Parts of an Instruction
5.10 Half-Words, Six-Bit Words and Characters
5.11 Floating-Point Numbers
5.12 Library Routines
5.13 Directives
CHAPTER 6
THE REMAINING ACCUMULATOR INSTRUCTIONS
6.1 Standardised Unrounded Operations
6.2 Unstandardised Instructions
6.2.1 Storing and Loading the Accumulator
6.2.2 Unstandardised Multiplication
6.2.3 Division with Remainder
6.2.4 Miscellaneous Test Instructions
CHAPTER 7
EXTRACODE INSTRUCTIONS
7.1 Introduction
7.1.1 Uses of the Extracode Instructions
7.1.2 A-type and B-type Extracodes
7.2 The Logical Interpretation of Extracode Instructions
7.3 Allocation of Functions
7.4 The Accumulator Extracodes
7.4.1 The Most Used Arithmetic Functions
7.4.2 Other Floating-Paint Arithmetic Functions
7.4.3 Accumulator functions suitable for Fixed-Point Working
7.4.4 Double-Length Arithmetic
7.4.5 Arithmetic Using the Address as an Operand
7.4.6 Complex Arithmetic
7.4.7 Vector Arithmetic
7.4.8 Half-Word Packing
7.5 B-register Arithmetic
7.5.1 General B-register Operations
7.5.2 Character Data Processing
7.5.3 Logical Accumulator Instructions
7.6 Test Instructions
7.6.1 Accumulator Test Instructions
7.6.2 B-register Test Instructions
7.7 Subroutine Entry
7.8 Miscellaneous Operations
CHAPTER 8
INPUT AND OUTPUT
8.1 Introduction
8.1.1 Peripheral Devices
8.1.2 The System Input and Output Tapes
8.1.3 Internal Code Input and Output
8.1.4 Binary Input and Output
8.2 The Internal Code
8.2.1 Abbreviations
8.2.2 The Internal Code Table
8.2.3 Shifts and Case Changes
8.3 Carriage Control Characters and Records
8.4 Selecting Input and Output
Input using Ll00
8.5.1 Line reconstruction
8.5.2 Entries to L100
8.5.3 Data Preparation for L100
8.5.4 Punching Errors
8.6 The Entries to Ll00 in Detail
8.6.1 A1/Ll00 (am' = floating point number)
8.6.2 A2/Ll00 (b81' = 21-bit integer without octal fraction)
8.6.3 A3/L100 (b81' = character)
8.6.4 A4/L100 (lose current line)
8.6.5 A5/L100 (input text)
8.6.6 A6/Ll00 (input text)
8.6.7 A7/Ll00 (b81' = 24-bit integer)
8.6.8 A8/Ll00 (b81' = 21-bit integer with octal fraction)
8.6.9 A9/L100 (print reconstructed line)
8.7 Optional Parameters of L100
8.7.1 A20/L100 (private use of reconstructed line)
8.7.2 A21/L100 (spurious character in place of a number)
8.7.3 A22/Ll00 (spurious character within a number)
8.7.4 A23/L100 (number of inputs handled at one time)
8.7.5 A24/Ll00 (line length)
8.7.6 A25/Ll00 tab settings)
8.7.7 A26/Ll00 tab settings)
8.8 Fault Printing by L100
Output using L1
8.9.1 Entry Points to L1
The Entries to L1 in Detail
8.10.1 A1/L1 (print a floating point number)
8.10.2 A2/L1 (print an integer)
8.10.3 A3/L1 (print a character)
8.10.4 A4/L1 (new line or card)
8.10.5 A5/L1 (carriage control)
8.10.6 A6/L1 (output text)
8.10.7 A7/L1 (output text)
8.11 Optional Parameters of L1
8.11.1 A21/L1, A22/L1 (controlling places allowed before and after the decimal point on output)
8.11.2 A2.5/L1 (optional sign for floating point output)
8.11.3 A26/L1 (optional sign for integer output)
8.11.4 A27/L1 (printed width of exponents)
8.11.5 A28/L1 and A29/L1 (printed form of exponents)
8.12 Input and Output by Extracode
8.13 Binary Input and Output
8.14 The Input Extracodes
8.15The Output Extracodes
8.16Further Information on Binary Input/Output
CHAPTER 9
MAGNETIC TAPE
9.1 Introduction
9.2 Atlas One Inch Tape
9.3 Block Transfers on One Inch Tape
9.3.1 Block Transfer Instructions
9.3.2 Use of Block Transfers
9.4 Variable Length working on One Inch Tape
9.4.1 Variable Length Instructions
9.4.2 Start and Select Instructions
9.4.3 Transfer and Organisational Instructions
9.4.4 Efficiency of Variable Length Working
9.5 Organisational Instructions for One Inch Tape
9.5.1 Mount Instructions
9.5.2 Other organisational Extracodes
9.6 Specification of the Atlas One Inch Tape System
9.6.1 Control
9.6.2 The Tape Layout
9.6.3 Performance
9.6.4 Safeguards
9.7 Orion Tapes
9.8 Atlas Half inch Tape
9.9 Half Inch Tape Instructions
9.9.1 The Selection Instructions
9.9.2 The Transfer Instructions
9.9.3 The Skip Instructions
9.9.4 Other Instructions
9.9.5 Summary of Half Inch Tape Instructions
9.10 Specification of the Atlas Half Inch Tape System
9.10.1 Control
9.10.2 The Tape Layout
9.10.3 Performance
9.10.4 Safeguards
9.11 Half Inoh Tape Faults
CHAPTER 10
PREPARING A COMPLETE PROGRAM
10.1 Atlas Jobs
10.2 Documents
Document Headings and Titles
10.3.1 Headings
10.3.2 Titles
10.3.3 Rules for title preparation
10.4 The Input and Output Sections of the Job Description
10.4.1 The Input Section
10.4.2 The Output Section
10.4.3 Output: General Notes
10.5 A Complete Job Description
10.6 The Magnetic Tape Section of the Job Description
10.6.1 Single Tapes
10.6.2 Files
10.6.3 Deck Allotment
10.7 Time Estimates for a Job
10.7.1 Computing Time
10.7.2 Execution Time
10.8 Store Allocation
Job Description Format
10.9.1 Order of Sections
10.9.2 Case Changes
10.9.3 Backspace
10.10 Composite Documents
10.10.1 Job Description combined with Program
10.10.2 Job Description combined with Data Document
10.10.3 Data Files
10.11 Tape and Card Markers
10.11.1 The Tape Markers ***Z, C, T and A
10.11.2 The Binary tape Markers ***B, E and F
10.11.3 The Tape Marker ***P
10.11.4 Card Markers
10.12 Input and Output using Private Magnetic Tapes
10.12.1 Extensive Output
10.12.2 Job description Reference
10.12.3 Re-use of Documents on System Tapes
10.12.4 Extensive output
10.13 Job Description Parameter
CHAPTER 11
MONITORING AND FAULT DETECTION
11.1 Supervisor Monitoring
11.1.1 Types of Program Faults
11.1.2 Standard Post Mortem
11.1.3 Ending a Program
11.2 The Trapping Vector
11.3 Private Monitoring
11.4 Restarting and Re-entering a Program
11.4.1 Preventing a Restart
11.4.2 Re-entering a Program
11.5 Monitor Extracodes
11.6 Faults Detected by the Compiler
11.6.1 B-lines in ABL
11.6.2 Indeterminate Items
11.6.3 Diagnostic Printing
11.6.4 Fault Location
11.6.5 Diagnostic Printing Character Set
11.6.6 Explanatory Texts
CHAPTER 12
FURTHER FACILITIES AND TECHNIQUES
12.1 Programmed Drum Transfers
12.2 Optimization of Program Loops
12.2.1 Store Access
12.2.2 The Overlapping of Instructions
12.3 Branching
12.3.1 Existing Parallel Operations
12.3.2 The Branch Instructions
12.3.3 The Use of Branching
12.3.4 Store Requirements
12.4 Instruction Counters
12.5 Re-entering the Compiler
12.6 Special Preset Parameters
12.7 Private Library Routines
12.7.1 Library Routine Titles
12.7.2 Undefined Library Routines
12.7.3 Preparing a Private Library Routine
12.7.4 Incorporating a new Library Routine into the Public Library
12.7.5 Conventions
12.7.6 Referring to the master program from within a library routine
12.8 Correction of Programs, and System Peculiarities
12.8.1 Program Alterations
12.8.2 Further Peculiarities
12.9 Compiler and Supervisor Extracodes
APPENDIX A
References
APPENDIX B
Notation
APPENDIX C
V-Store addresses of Peripherals
APPENDIX D
Character Codes
APPENDIX E
Summary of Extracodes
APPENDIX F
Summary of Basic Instructions by Function
APPENDIX G
Summary of Basic Instructions by Number
⇑ Top of page