ICL 1900 Series Computers

EXECutive Order Codes

Octal Order Code Nmenonic Execution
West Gorton Machines (1903T/1904A/1904S/1906A/1906S)
125E 125  0  N Set Mode to N

In the 125E instruction N has the following bit significance.

Bit No. Meaning
18=1 Set Extended Branch Mode
=0 Set Direct Branch Mode
19=1 Set Datumise Mode
20=1 Set Extended Store Mode
=0 Set Compact Store Mode
21=1 Set EXECutive Trace Facility
23=1 Set Zero Suppression Mode
=0 Clear Zero Suppression Mode
170E 170  X  N(M) Read Special Register N(M) into X

Copy the contents of the Special Register specified by N(M) into X.

The literal values of N(M) specify the following (not 1906A/1906S):
N = 0Real Time Clock
N = 1Mill Timer
N = 2Console Typewriter Input
N = 3Console Typewriter Output
N = 4-21Slow Peripheral Channels
N = 24-45Fast Peripheral Channels
N = 64Slow Peripheral Interrupts
N = 65Fast Peripheral Interrupts
N = 66Parity Fail Information
N = 128Multi-Processor Interrupt
N = 129Multi-Processor Identity
N = 256Adress of Parity Failed Word
N = 257Contents of Failed Word
171E 171  X  N(M) Write X into Special Register N(M)

Copy the contents of X into the Special Register specified by N(M).
172E 172  X  N(M) Exit from Executive

The 172E instruction returns to the processor to normal mode:-

1. Load Datum, Limit and G Registers from N(M) and N(M)+1.
2. Load X Registers from Program Area words 0-7.
3. Load ONR and set V and C from Program Area word 8.
4. Set Z from Program Area word 9.
5. Load A from Program Area words 12 and 13.
6. Enter Mormal Mode at address loaded at step 3 above.
173E 173  X  N(M) Load Datum, Limit and G Registers

The 173E instruction loads the Datum, Limit and G Registers from N(M) and N(M)+1.
174E 174  X  N(M) Send control character to Standard Interface Peripheral

The Control Code in character 3 of X is written to the Standard Interface peripheral specified by N(M).
175E 175  X  N(M) NULL

176E 176  X  N(M) NULL

177E 177  X  N(M) Test Datum and Limit

The 177E instruction tests the absolute address in X, setting C if less than Datum or greater/equal to Limit.
West Gorton Machines - Dual Processor (1903T/1904A/1904S) and 1906A/1906S Only
150E 150  X  N(M) I wish to read an area defined by N(M) and allow other processors to read from, but not write to this area.
151E 151  X  N(M) I wish to read an area defined by N(M) and prevent other processors reading from or writing to this area.
152E 152  X  N Search List N for Word X

Search a table starting at Xm and of length Xc for a bit pattern in X* of value n.

If Nt and X* = n, exit with X pointing to this Nt. Otherwise update X and read next Nt (until Xc = 0). If Xc = zero, set C and exit with X updated.
153E 153  X  N(M) As 152E for value > n.
154E 154  X  N(M) As 152E for value > n.
155E 155  X  N(M) 1904A: Illegal (stop machine)
1906A: Clear C
156E 156  X  N(M) 1904A: Illegal (stop machine)
1906A: Clear C
157E 157  X  N(M) 1904A: Illegal (stop machine)
1906A: Clear C
Stevenage Machines (1901A/1901S/1902A/1902S/1903A/1903S
033E
(X=0)
033  0  N Destructive Load

The 033E (X=0) instruction replaces the contents of N by all zeros.
033E
(X#0)
033  X  N Destructive Load

The 033E (X#0) instruction puts the contents of N into X and replaces the contents of N by all zeros.
125E
(X=0)
125  0  N Set Mode to N

The 125E (X=0) instruction sets all the mode bits to 0 or 1 from the values in N.

N Bit No. Meaning
0Zero Supression in 047 Order
1Add Datum to N
2Unused
3Unused
4Store Mode: 1-Extended, 0-Normal
5Unused
6Jump Mode: 1-Reinterpreted, 0-Normal
7Carry
8Unused
9Unused
10Unused
11Unused
125E
(X=1)
125  1  N Set Mode to N

The 125E (X=1) instruction sets only the mode bits which have a 1 in N.

N Bit No. Meaning
0Allow Program Interrupts
1Inhibit Program Interrupts
2Allow External Interrupts
3Inhibit External Interrupts
4Multi-Processor, Set Processor 0
5Multi-Processor, Set Processor 1
6Allow DATUM/LIMIT Check
7Inhibit DATUM/LIMIT Check
8Unused
9Unused
10Unused
11Force External Interrupt
150E 150  X  N Read Mark

Used with multi-processor configurations only.
151E 151  X  N Write Mark

Used with multi-processor configurations only.
160E 160  X  N Load EXECutive Accumulators

The 160E instruction loads the EXECutive program accumulators from the 8 word area starting at N.
161E 161  X  N Dump EXECutive Accumulators

The 161E instruction stores the EXECutive program accumulators in the 8 word area starting at N.
162E 162E  X  N Stop and Display n

This is used with the engineers' display box.
163E 163E  X  N Stop and Display N

This is used with the engineers' display box.
164E 164  X  N Search List N for Word X

Search a list of N words, whose starting address is in X*, for a word which is the same as that in X. If such a word is found, X is cleared and the absolute address of the word plus one is put into X*. If the word is not found the contents of X is indeterminate, the continuation address (starting address plus N) is put into X* and C is set.
165E 165  X  N Parity Search

Search a list of N words for a parity error. Both X and X* should be set to the starting address of the search. If a parity error is found, it will be removed and both X and X* will be set to the error address plus one and C will be set. If no error is found, X and X* will be set to the continuation address and C will be clear.
166E 166  X  N Test X unequal to N

The 166E instruction tests the contents of X against the value of N for equality, and sets C if they are not equal.
167E 167  X  N Test X less than N+C

The 167E instruction tests the contents of X against the value of N plus C, and sets C if the contents of X are less.
170E 170  X  N Send Code to Peripheral

The 170E instruction sends the 6-bit code in character 3 of X to the peripheral terminal, number 1 to 14, specified by the contents of N. The direct response is returned to character 3, the remainder of X being unchanged.

If bit 11 of the contents of N is a 1, the T-Pulse will not be sent and the direct response will be set to zero. If character 3 has its most significant 2 bits set to 1, then the code will be treated as a procesor command and should be ignored by the peripheral concerned. The 6-bit code has the following bit significance:
Bit 0Set terminal to bi-channel
Bit 1Unused
Bit 2Set terminal to External Interrupt mode
Bit 3Set interface G-Line to logic 1
Bit 41
Bit 51
171E 171  X  N Send Code to Peripheral

The 171E instruction is the same as 170E, but a T-Pulse is also sent.
172E 172  X  N Send Identifier to Peripheral

The 172E instruction raises the N0 line and sends the 6-bit code in character 3 of X to the peripheral terminal, number 1 to 14, specified by the contents of N. The direct response is returned to character 3, the remainder of X being unchanged.

If bit 11 of the contents of N is a 1, the T-Pulse will not be sent and the direct response will be set to zero.
173E 173  X  N Send Identifier to Peripheral

The 173E instruction is the same as 172E, but a T-Pulse is also sent.
174E 174  X  N Read Register

Copy the contents of the register specified by N into X. The literal values of N specify the following:
N = 0Limit Register
N = 1Datum Register
N = 2Program Interrupt Register, Word 0
N = 3Program Interrupt Register, Word 1
N = 4Handswitch Register
N = 5Program Timer
N = 6External Interrupt Register
N = 7Typewriter Interrupt Register
N = #10Processor Code Register
N = #11Implement and/or Read Status
N = #31First Control Word, Interface Terminal #21
N = #32First Control Word, Interface Terminal #22
N = #33First Control Word, Interface Terminal #23
N = #34First Control Word, Interface Terminal #24
N = #35First Control Word, Interface Terminal #25
N = #36First Control Word, Interface Terminal #26
N = #37PAC PI Demand Register
N = #100Typewriter Register (Read Character)
N = #200SEU Bit Map
N = #2011Disc PI Demand Register
175E 175  X  N Write Register

Copy the contents of X into the register specified by N, the literal values of N specify the following:
N = 0Limit Register
N = 1Datum Register
(X = original value)
N = 2Program Interrupt Register, Word 0
Clear PI as specified by X
N = 3Program Interrupt Register, Word 1
Clear PI as specified by X
N = 4Unused
N = 5Program Timer
N = 6Unused
N = 7Unused
N = #11Set Activation Order (Read)
N = #31Set Activation Order (Read Track)
N = #31First Control Word, Interface Terminal #21
N = #32First Control Word, Interface Terminal #22
N = #33First Control Word, Interface Terminal #23
N = #34First Control Word, Interface Terminal #24
N = #35First Control Word, Interface Terminal #25
N = #36First Control Word, Interface Terminal #26
N = #100Typewriter Register (Send Character)
N = #140Set Typewriter into Output Mode
N = #160Set Typewriter into Input Mode
N = #200SEU Bit Map
N = #1011Write, then Check Read
N = #1031Write, then Check Read, Eng. Mode
N = #2011Set Device X
N = #2031Set First Control Word from X
N = #3011Write Data
N = #3031Write Data, Eng. Mode
N = #4011Write Identifiers
N = #5011Check Read
N = #6011Erase
N = #6031Disconnect (X Ignored)
N = #7011Move Heads (X Special)
N = #7031Bootstrap Read (X Ignored)
176E 176  X  N Exit using link in location Datum+8

The 176E instruction restores the machine mode to object mode, restoring Carry, Store Mode, Branch Mode and Monitor Modes from location DATUM+8. X is used as a function extender as follows:

X=0 Restore V from the link only.
X=1 Set V if it was on in the link or it it was set by the EXECutive program.
177E 177  X  N Exit using link in Executive location 10

The 177E instruction restores the machine mode to object mode, restoring Carry, Store Mode, Branch Mode and Monitor Modes from location EXECutive location 10. X is used as a function extender as follows:

X=0 Restore V from the link only.
X=1 Set V if it was on in the link or it it was set by the EXECutive program.
Stevenage Machines - 1901A/1901S Only
126E 126  X  N Test X unequal to N

The 126E instruction tests the contents of X against the value of N for equality, and sets C if they are not equal.
127E 127  X  N Test X less than N+C

The 127E instruction tests the contents of X against the value of N plus C, and sets C if the contents of X are less.

The above information was taken from P00804 Executive Specification Manual and 5020581 1902A and 1903A Computers Technical Description and others sources. The above is assumed to be correct for the 1900 Range. Variations are known to exist for specific machines.