Contact us Heritage collections Image license terms
HOME ACL ACD ICF SUS DCS G&A STARLINK Literature
Further reading □ Overview □ Project □ GEC □ Overview □ 4000 Series □ GEC 4070 Operating System □ Installation □ Communications □ GEC 4000 family □ Nucleus □ Functional spec. □ Babbage assembler □ Instruction set manual □ Nucleus manual □ Prime □ Overview □ The company □ Primos Operating System □ Systems □ Communications □ Software □ Prime and UMIST □ Office Automation □ The Schools Project □ Prime 750 □ FOREST preprocessor □ META II TWS □ META II definition □ FINGS graphics system □ ROOTS extended FORTRAN □ Prime User Manual
C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
⟶ ACD ⟶ ICF ⟶ Multi User Minis
⟶ ACD ⟶ ICF ⟶ Multi User Minis
ACL ACD C&A INF CCD CISD Archives
Further reading ⇓

□ Overview □ Project
GEC
□ Overview □ 4000 Series □ GEC 4070 Operating System □ Installation □ Communications □ GEC 4000 family □ Nucleus □ Functional spec. □ Babbage assembler □ Instruction set manual □ Nucleus manual
Prime
□ Overview □ The company □ Primos Operating System □ Systems □ Communications □ Software □ Prime and UMIST □ Office Automation □ The Schools Project □ Prime 750 □ FOREST preprocessor □ META II TWS □ META II definition □ FINGS graphics system □ ROOTS extended FORTRAN □ Prime User Manual

Babbage

Babbage was the main assembler used on the GEC 4000 series.

Chapters

It defined programs as a set of Chapters, each of which could be separately compiled. Chapters could either be program chapters or data chapters. A data chapter could be shared by several program chapters.

Compiled chapters were relocatable within the address space of a process. The linkage stage allocated chapters to specific locations and resolved references between chapters.

Routines

Program chapters consisted of one or more routines which acted as subroutines.

Declarations

Variables were declared by giving their type, name and, possibly, initial value.

For example:

FULL count = 0, p, q = HEX'3F00'
REAL a, b = 3.255

Expressions

An expression consisted of a command describing an arithmetic evaluation. Expressions consisted of operands and operators and were evaluated from left to right, with the result of the operation and the next operator and operand defining the next instruction. There was a 1-1 correspondence between operators and instructions in the 4000 instruction set. The operator => indicated a store operation. For example:

FULL a, b, c, d
a+RX & 7 * b => c * d

would generate code:

LDW    a
RAD    A,X
NL     7
MW     b
STW    c
MW     d

Conditional operations were coded:

IF a EQ b THEN 1 => a

and this would generate code:

LD    a
CP    b
BNZ   address following ST
LDL   1
ST    a
⇑ 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