Contents

Introduction

0.0 General informations

0.1 Performance of programming systems

0.2 Our terminology

0.3 On chapter titles

Chapter 1. The Algol 1204 Language

1.0 Relation of Algol 1204 and international algorithmic language Algol 60

1.1 Algol 1204 character set

1.2 Spaces and New Line Codes

1,3 Crossed and Underlined Symbols

1.4 Comments

1.5 Multi-tape Programs and Data

1.6 Control Characters of OPTIMA Typewriter

1.7 Storage of Information in the Compiled Program

1.8 tape and drum symbols

1.9 Independent translation of procedures

1,10 Effect of the tape command

1.11 Effect of the drum command

1.12 Code segmentation

Chapter 2. Resolution in Algol 1204 of the more important ambiguities of Algol 60

2.0 General comments

2.1 own variables

2.2 Scope of standard names

2.3 Conditional statement

2.4 Conditional expression

2.5 Simple expressions

2.6 for statement

2.7 Repetition of the formal parameters

2.8 Matching of the actual parameter and the formal parameter declaration

2.9 Declaration of label parameter as own

2.10 Function name as procedure instruction

2.11 Value of a procedure

2.12 Assignment into procedure name

2.13 Order of evaluation of the own parameters

2.14 Procedure side effects

Chapter 3. Standard procedures and variables

3.0 General comments

3.1 Syntax of input numbers

3.2 Standard mathematical functions

3.3 Procedure ref

3.4 Procedure key

3.5 Procedure setinput – selection of input channel

3.6 Procedure read

3.7 Procedures ininteger and inreal

3.8 Procedure inchar

3.9 Procedure instring – input of a string

3.10 Procedure setoutput – selection of output channel

3.11 Procedure outchar – single character output

3.12 Procedure space – output of spaces

3.13 Procedure line – output of newline codes

3.14 Procedure outstring – output of a string

3.15 Procedure print

3.16 Procedure format

3.17 (D) Line printer

3.18 Procedures wait and stop

3.19 Standard variables lastchar, lastinteger, lastreal, time and drumplace

3.20 Procedures copy and exch

3.21 (D) procedures todrum and fromdrum

Chapter 4. Examples of Algol 1204 Programs

4.0 General comments

4.1 Conditional output of debugging results

4.2 Reading of data with repetitions

4.3 Reading of logical values

4.4 Minimal Format Output of Integers

4.5 I/O of data series of unknown length

4.6 Comparison of two sort methods

4.7 Timing of fast operations

4.8 Timing without repetitions

4.9 Printing of a function family

4.10 (D) Sorting of objects

4.11 Switching between P and A keyboards

Chapter 5. Principles of code optimization

5.0 General comments

5.1 More important timing results

5.2 Optimization of simplest code fragments

5.3 Indexed variables

5.4 General principle of optimization of execution statements

5.5 for statement

5.6 Conditional statement and expression

5.7 Non-standard functions and procedures

5.8 Recursive procedures

Chapter 6. Odra 1204 assembler in Algol 1204

6.0 General informations

6.1 Machine registers and structure of binary instruction

6.2 Machine number representation

6.3 Execution scheme for an instruction

6.4 Schemes of conditional flags

6.5 Rules for substitution of addresses into actual parameters of standard procedures

6.6 Jump instructions

6.7 Instructions for short-word operations

6.8 Instructions for long word operations

6.9 Shift instructions

6.10 Instructions testing conditions

6.11 Modification instructions

6.12 skw instructions

6.13 Comments on usage of standard procedures

Chapter 7. Examples of assembler usage

7.0 General comments

7.1 Checking of available dynamic memory

7.2 Checking of available drum space

7.3 Multiplication of the long integer by a short integer

7.4 Octal output of machine words

7.5 Minimal format output of integers

7.6 Code optimization

Chapter 8. Debugging and correction of programs

8.0 General comments

8.1 Translation errors

8.2 Scheme of grammar remembered by the translator

8.3 Output of standard symbols unavailable on P keyboard

8.4 Run-time errors

8.5 Undetected errors

8.6 Dynamic and retroactive trace

8.7 Correction and copying of programs aided by the translator

8.8 Breakpoints and line numbering

8.9 Form of the list of program corrections

Chapter 9. Computer and its translators

9.0 Typical hardware configurations of Odra 1204

9.1 (M) A and B translators and run time library PP

9.2 (D) D translator

9.3 Running of translators and binary programs

9.4 Explanation of system, translator and run-time messages

Chapter 10. MASON and MASON(D) operating systems

10.0 Introductory remarks

10.1 OS input and control

10.2 Typing of commands

10.3 Operation of peripheral devices

10.4 System status and acceptability of commands

10.5 (D) Partitioning of drum memory

10.6 Loading of MASON(D) OS to drum

10.7 (D) System library

Chapter 11. Indexes

11.0 Character codes

11.1 Commands for Algol 1204 translator

11.2 Explanation of error messages

11.3 Pause signals from translators and programs

11.4 Default meaning of 0,1,2,3 and 4 panel keys in Algol 1204

11.5 MASON and MASON(D) commands

11.6 Initial memory block in Algol 1204

Chapter 12. Specialized versions of Algol 1204

12.0 General Comments

12.1 DISP Algol 1204

12.2 Translator D-COAN

References

Index of names, symbols and messages