ICL 1900 Series Computers

Registers

The ICL 1900 series machine has 8 * 24-bit accumulators (general purpose registers), X0-X7 which appear as the first 8 words of a program. Of these 8 registers, X1-X3 can be used as modifiers, i.e. as address pointers in various instructions.

On the smaller machines, there are no hardware accumulators, on these machines the CPU simply stores data directly into the first 8 store location. THis clearly imposes a time penalty but makes the machine cheaper.

The machines without hardware accululators were the 1901, 1902 and 1901, the 1901A, 1902A, 1903A, 1902S, 1902T and 1903S.

The 1904, 1905 and 1909 machines also did not have hardware accumulators.

The 1904E and 1905E had hardware accumulators as an option.

The 1904F and 1905F installed hardware accumulators as standard

The 1904A, 1904S, 1903T, 1906A and 1906S all had hardware accumulators as standard.

There is an Overflow or V register associated with, but outside, the program. Overflow is set V=1 when the result of carrying out an instruction in single length working exceeds 23-bits plus sign. Once set, V remains set until explicitly cleared.

The Carry or C Register is a special one-bit register associated with, but outside, the program. Carry is set C=1 when the result of carrying out an instruction in multi-length working exceeds the capacity. Carry is cleared C=0 by any instruction (except OBEY, SMO and NULL) unless that instruction would result in C being set.

There is also a Floating-Point Accumulator A with a Floating Point Overflow Register FOVR which is set when the exponent goes out of range. The 1906A and 1906S machines also had a Floating Point Underflow FUNR.  This FUNR provides a means of alerting a program to the production of floating-point values that are too small to represent accurately. Extended FP available on the 190A and 1906S also provided a means of controlling the actions taken when these underflows occur.