ICL 1900 Series Computers

Word Formats

The ICL 1900 series machine has a 24-bit word which can be used in several different formats. The 24 binary digits in each word are referred to, from left to right, as B0, B1, B2, etc., up to B23.

Unsigned Binary Integer - The word represents a 24-bit unsigned binary integer, in which B23 is the least significant digit position.

Signed Binary Integer - The integer is contained in B1 to B23, the sign being in B0. If B0 is zero, the integer is positive (or zero), and if B0 is one, the integer is negative. If the integer is negative, it is held in two's complement form where the radix is two. The integer lies in the range -223 to +223-1.

Signed Binary Fraction - The fraction is contained in B1 to B23, the sign being in B0. If B0 is zero, the fraction is positive (or zero), and if B0 is one, the fraction is negative. The binary point may be considered to be to the right of B0 and to the left of B1. If the fraction is negative, it is held in two's complement form where the radix is two. The fraction lies in the range -1.0 to +1.0-2-23.

Some examples of signed binary fractions are:

Fraction Binary Representation in a 24-bit Word
0 10000 000000 000000 000000
0 11000 000000 000000 000000
1 01000 000000 000000 000000

Fixed-Point Number - A fixed-point number may be contained in one or more words that are usually adjacent. Part of the number is regarded as an integer and part as a fraction. If the number is held in one word, the sign is indicated in B0. If the number is held in two or more words, the sign is indicated in B0 of the word containing the most significant part of the number, and B0 of each of the remaining words is zero.

A common use of the fixed-point number is the double-length mid-point number, in which the integral part is held in the lower-numbered word and the fractional part in the other word. The binary point is then considered to be between the two words.

Floating-Point Number - A floating-point number is contained in two adjacent words, the bits in the higher numbered word being referred to as B24 to B47. Any floating-point number may be represented by

    a.rb

where

    a is the fixed-point part (the argument)

    r is the ratio

    b is the exponent

For 1900 series computers, r = 2 and a is a signed binary fraction that extends over the range of B0 to B23 and B25 to B38; B39 to B47 contain an unsigned binary number that equals b + 256. B24 is used to indicate floating-point overflow conditions.

The standard range for the argument a is:

    ½ ≤ a < 1 or -1 ≤ a < -½

During the course of arithmetic operations on floating-point numbers, the argument may go out of range. The process of shifting the argument into standard range and adjusting the exponent is termed normaisation; functions are provided to do this for both single-length and double-length floating-point numbers.

The exponent is not recorded as b, but as b + 256. Hence the exponent part of a floating-point number will never be negative, and standard floating-point zero (0 x 2-256) has both argument and exponent as zero. Consequently, floating-point zero can be detected by the same 'branch on zero' instructions as fixed-point zero.

Characters - Six consecutive bits can represent, according to a defined code, any of the 64 characters, including letters or digits. One word can thus contain four characters:

B0 to B5
B6 to B11
B12 to B17
B18 to B23
Character 0
Character 1
Character 2
Character 3

Counter Modifier Index Word

15AM B0 to B8
B9 to B23
Count
Word Modifier
22AM B0 to B1
B2 to B23
Unused
Word Modifier
(Count held in seperate word)

Character Counter Modifier Index Word

15AM B0 to B1
B2 to B8
B9 to B23
Character Modifier
Count
Word Modifier
22AM B0 to B1
B2 to B23
Character Modifier
Word Modifier
(Count held in seperate word)

Instruction Words - There are four formats depending on the type of instruction and Branch Mode

Normal Orders B0 to B2
B3 to B9
B10 to B11
B12 to B23
X-Field (accumulator)
F-Field (function)
M-Field (modifier)
N-Field (operand)
Branch Orders B0 to B2
B3 to B8
B9 to B23
X-Field (accumulator)
F-Field (function)
N-Field (destination address)
Shift Orders B0 to B2
B3 to B9
B10 to B11
B12 to B13
B14 to B23
X-Field (accumulator)
F-Field (function)
M-Field (modifier)
Nt-Field (type of shift)
Ns-Field (number of places)
Branch Orders
(Extended Mode)
B0 to B2
B3 to B8
B9
B10 to B23
X-Field (accumulator)
F-Field (function)
R-Field (relative/replaced)
N-Field (destination address)