ICL 1900 Series Computers

Order Codes 16x

Octal Order Code Nmenonic Execution
160
(X=0)
SUSTY    N(M) Suspend and Type

The SUSTY instruction suspends the program member and types a message on the console typewriter. Other members of the program may or may not be suspended. The issuing program member remains suspended awaiting operator action.

The message may be up to 40 characters long, and is referenced by means of an index word. It must not contain the characters represented by #74 to #77. The index word, held in the location specified by N(M), indicates the number of characters and the address of the first character in the message. The first character must be in the n0 position of a word.

The instruction can be modified. On dual and multi-programming processors, each message is preceded by n#name; HALTED:- (or an abbreviation thereof) where n is the program member number and name is the name of the program sending the message. On single-programming processors, the message is preceded by HALTED only (or an abbreviation thereof).

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
160
(X=1)
DISTY    N(M) Display Message

The DISTY instruction causes a message to be typed on the console typewriter. This message may be up to 40 characters long, and is referenced by means of an index word. It must not contain the characters represented by #74 to #77. The index word, held in the location specified by N(M), indicates the number of characters and the address of the first character in the message. The first character must be in the n0 position of a word. On dual and multi-programming processors, each message is preceded by n#name; DISPLAY:- (or an abbreviation thereof) where n is the program member number and name is the name of the program sending the message. On single-programming processors, the message is preceded by DISPLAY only (or an abbreviation thereof).

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
160
(X=2)
DELTY    N(M) Delete and Type

The DELTY instruction deletes the program and types a message on the console typewriter. The message must be either a FIND directive or a LOAD directive. EXECutive then operates upon the message as if it had been input by the operator, except that the information in the propgram's accumulators at the time of deletion is passed on to the accumulators of the successor program. The DELTY instruction should only be used in member 0 of the program.

The message may be up to 40 characters long, and is referenced by means of an index word. It must not contain the characters represented by #74 to #77. The index word, held in the location specified by N(M), indicates the number of characters and the address of the first character in the message. The first character must be in the n0 position of a word.

On dual and multi-programming processors, each message is preceded by 0#name; DELETED:- (or an abbreviation thereof) where name is the name of the program sending the message. On single-programming processors, the message is preceded by DELETED only (or an abbreviation thereof).

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
160
(X=7)
160  7  N(M) Recieve a Message

The 160  7 informs EXECutive that it is ready to receive a message, where N(M) specifies a count (maximum 38) and address of an area for the message as an index word. EXECutive remembers the request, and the program is allowed to continue.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
161
(X=0)
SUSWT    N(M) Suspend and Await Operator Action

The SUSWT instruction suspends the program member and types a message on the console typewriter. Other members of the program may or may not be suspended. The issuing program member remains suspended awaiting operator action.

The message includes the word HALTED (or an abbreviation thereof) followed by 2 characters from the card/printer set. The characters represented by #74 to #77 may not be used. The two characters are formed as follows:

1 If the operand was written as up to 4 octal digits, preceded by # and possibly modified, then the corresponding 12-bit quantity (if modified, only the least significant 12 bits are used) is treated as two 6-bit characters and the corresponding symbols are printed.

2 If the operand was written as two symbols preded by 2H, then these symbols are printed.

On dual and multi-programming processors, each message is preceded by n#name where n is the program member number and name is the name of the program sending the message.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand. Bits above bit 12, which can only arise through modification, will be ignored in the output message.
161
(X=1)
DISP    N(M) Display Characters

The DISP instruction causes a message to be typed on the console typewriter. The message includes the word DISPLAY (or an abbreviation thereof) followed by 2 characters from the card/printer set. The characters represented by #74 to #77 may not be used. The two characters are formed as follows:

1 If the operand was written as up to 4 octal digits, preceded by # and possibly modified, then the corresponding 12-bit quantity (if modified, only the least significant 12 bits are used) is treated as two 6-bit characters and the corresponding symbols are printed.

2 If the operand was written as two symbols preceded by 2H, then these symbols are printed.

On dual and multi-programming processors, each message is preceded by n#name where n is the program member number and name is the name of the program sending the message.

C is not used and will be left clear.

V is not used and cannot be set.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand. Bits above bit 12, which can only arise through modification, will be ignored in the output message.
161
(X=2)
DEL    N(M) Delete the Program

The DEL instruction causes a voluntary entry to Executive which then types a message on the console typewriter. The message includes the word DELETED (or an abbreviation thereof) followed by 2 characters from the card/printer set. The characters represented by #74 to #77 may not be used. The two characters are formed as follows:

1 If the operand was written as up to 4 octal digits, preceded by # and possibly modified, then the corresponding 12-bit quantity (if modified, only the least significant 12 bits are used) is treated as two 6-bit characters and the corresponding symbols are printed.

2 If the operand was written as two symbols preceded by 2H, then these symbols are printed.

On dual and multi-programming processors, the message is preceded by n#name where n is the program member number and name is the name of the program sending the message. The program is then deleted from the store. In a multi-program (but not single or dual-program) processor, any programs occupying higher addresses in the store are moved to fill the store area vacated by the program just deleted.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand. Bits above bit 12, which can only arise through modification, will be ignored in the output message.
162 SUSMA  X  N(M) Test and Transfer to Common Storage

If a program consists of more than one member this instruction is used to control their common storage (e.g. a buffer area) and to communiacte, as between members, the current state of that storage. The instruction sets the common storage word N+1(M) and if it is equal to zero then the following action occurs:
  1. The word N+1(M) is made not zero.
  2. The word N(M) is made equal to the contents of accumulator X.
  3. A branch is made to the instruction in the location next but one following the SUSMA instruction.
If, on testing, the word N+1(M) is not equal to zero, then there is no action and the program proceeds to the instruction immediately following the SUSMA statement.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
163 AUTO  X  N(M) Activate and Enter Subprogram

If a program consists of more than one member then, on loading, member 0 will be active, and all other members will be suspended awaiting activation by an AUTO statement with an operand which must not be zero; the accumulator field specifying the program member (X=0, 1, 2, 3 or 5) and N(M) refers to the location that contains the instruction at which the member is to be activated. Any member other than member 0 may be activated by an AUTO statement in this form, but no one member may be activated by such a statement more than once.

For subsequent activations of any member, the form of AUTO statement with the operand equal to zero should be used and this will cause the member to be entered at the instruction following the SUSAR or SUSIN by which the member was last suspended. If the member X is active at the time the AUTO statement is issued, then its indicator, M, will be set and will remain set until member X itself issues a SUSIN statement which will clear M, but not suspend member X.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
164
(X=0)
SUSAR  0 Suspend Current Program Member and Reactivate Master Program

The statement allows a program member to suspend itself and reactivate the master program.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field (but N(M) must be zero).
164
(X=1)
SUSAR  1 Suspend Current Program Member Awaiting Reactivation

The statement allows a program member to suspend itself awaiting reactivation by another member. If however a request for the reactivation of this current member has been 'queued' by the setting of the M indicator, then the member is not suspended, but the M indicator is cleared and the member proceeds to the next instruction.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field (but N(M) must be zero).
164
(X=2)
SUSIN  2 Suspend Subprogram Awaiting Flag-Setting Interrupt or AUTO

If one or more AUTO operations or flag-setting interrupts from any peripheral assigned to this program have caused the M or P indicators to be set, then SUSIN clears these indicators and the program proceeds to the next instruction.

If the M and P indicators are clear, then the current member is suspended until such time as either an AUTO operation refering to it or a flag-setting interrupt (from any peripheral assigned to this program) occurs. When reactivated by such an occurrence the program member commences from the instruction immediately following the SUSIN instruction.

Thus if a flag-seting peripheral is controlled by a subprogram and flag-setting interrupt occurs, then if the program member has been suspended by a SUSIN it will be reactivated,or if it currently active the P indicator will be set and may be tested and subsequently cleared by a SUSIN.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field (but N(M) must be zero).
164
(X=3)
SUSIN  3 This is a variant of the SUSIN 2 statement used where a Priority Member (5) is present.
164
(X=4)
SUSIN  4 This is a variant of the SUSIN 2 statement used where a Priority Member (5) is present.
165 GIVE  X  N(M) Give Information

The GIVE instruction causes information to be put into accumulator X or two consecutive accumulators XX*, according to the value of N(M). With some values of N(M), changes may be requested in the internal operating environment, depending on the initial contents of X; the final contents if X in such cases indicate the extent to which the request has been implemented.

N(M)=0 Give today's date in binary in X. Accumulator X will contain in binary form the number of days from 1st January 1900, that day being 1.
N(M)=1 Give today's date in character form in XX*. Accumulators XX* will contain eight characters in the form DD/MM/YY.
N(M)=2 Give current time in character form in XX*. Accumulators XX* will contain eight characters in the form HH/MM/SS.
N(M)=3 Give the total number of words of core store allocated to this program as a binary integer in X.
N(M)=4 Attempt to alter the number of words of core store locations allocated to the program specified in the least significant 22 bits of X. Bits 0 and 1 of X must be zero.

If the program has no sub-programs, or if none of the program's members or subprograms has a number greater than 1, then the contents of X must be greater than or equal to 64. If program has a member or subprogram has a number greater than 1, then the contents of X must be greater than or equal to 128.

The amount of core store specified in X may be greater than, equal to, or less than the amount currently assigned to the program. If more core store is requested than is currently available, the maximum amount available is given.

If additional core store is allocated to the program, the additional store contains zero in all locations.

On completion of the instruction the new core store allocation is inserted in X. The program's request block stored by the EXECutive is not updated when the amount of core store allocated to the program is altered.
N(M)=5 Give details of Executive and Central Processor.

The reply in accumulators X and X* gives details of features, not common throughout the series, which are present in this processor, excluding any information about peripheral devices.

X
Bit Value 0 Value 1
0 X* indeterminate X* defined
1 Handkeys Console Typewriter
2 (Reserved)
3 Level A/B Instruction Set Level C Instruction Set
4 Level A Instruction Set Level B Instruction Set
5 Sub-level 1 Instruction Set Sub-level 2 Instruction Set
6 No Floating Point Floating Point Available
7 Standard Floating Point Facilities Generalized Floating Point Facilities
8 No Subprogramming Subprogramming Available
9 (Reserved)
10 (Reserved)
11 (Reserved)
12 Extracode: 040, 041, 042, 044, 045, 046 Hardware: 040, 041, 042, 044, 045, 046
13 Extracode: 043, 047 Hardware: 043, 047
14 Extracode: 126 & 127 (116 if level B or C) Hardware: 126 & 127 (116 if level B or C)
15 Extracode: 132 to 137 or not available Hardware: 132 to 137
16 Extracode: 114 & 115 or not available Hardware: 114 & 115
17 (Reserved)
18 Basic Direct Access Standards Unified Direct Access Standards
19 (Reserved)
20 (Reserved)
21-23 0 - Operator's EXECutive
1 - GEORGE 1 and 1S
2 - GEORGE 2
3 - GEORGE 3
4 - GEORGE 4
5 - (Reserved)
6 - Private Operating System
7 - MINIMOP
X*
Bit Value 0 Value 1
0 Standard Floating Point Extended Floating Point
1-17 (Reserved)
18-23 Used with GEORGE 3 and 4 to give mark number
N(M)=6 Undefined
N(M)=7 Request changes to the Trap Event List according to the contents of accumulator X.
N(M)=8 Give current address mode and branch mode of issuing member.

Accumulator X will contain an indication of the address mode and branch mode in which the issuing program member is currently operating, as follows:

Bits 0 to 20 Undefined (normally zero)
Bit 21 Set to zero if in Direct Branch Mode, set to one if in Extended Branch Mode.
Bit 22 Undefined (normally zero)
Bit 23 Set to zero if in 15-bit Address Mode, set to one if in 22-bit Address Mode.
N(M)=9 Request a change in address mode and/or branch mode of issuing member.

Accumulator X must contain an indication of the address mode and branch mode in which the issuing program member requires to operate, as deescribed for N(M)=8 above.

On completion of the instruction, reply information is put into accumulator X indicating the address mode and branch mode in which the program member is operating. The format of the reply information is the same as for N(M)=8 above.

In environments which do not offer a choice of address modes or of branch modes, an attempt to switch to a non-available mode will leave the issuing member in the mode in which it was already operating, with the reply information set accordingly. In this respect the address mode request and the branch mode request operate independently of each other.
N(M)=10 Give relative program mill time in micro seconds.

Accumulators X and X* contain the approximate relative mill time in micro-seconds as a double length integer. The differences of times provides only a rough guide to the mill time a program has used in the interval. The time given depends not only on the operating environment, but also on other programs running concurrently. In particular peripheral transfer hesitation time is liable to be attributed to whatever program is current.

This instruction is only implemented in some operating environments where a mill timer is fitted. In other environments X is set to zero.
N(M)=11 Give time in seconds since midnight as a mid-point number.

For environments in which the instruction is implemented, the time in seconds since midnight is placed in accumulators X and X* as a standard mid-point number.
N(M)=12 May be implemented in unpaged operating environments where active programs are liable to be interchanged between processor store and backing store. The purpose of the instruction is to allow the operating environment to increase its efficiency by making use of the fact that only the active part of the program store image need be in store while the program is being obeyed. In paged environments such efficiency can be achieved in other ways.

The active store limit of a program is the limit beyond which a program will not refer until after a subsequent 165 N=4 or 165 N=12 instruction. The dormant limit of a program is the limit of the store area assigned to the program. The dormant limit is greater than or equal to the active limit. The area between the active and dormant limits is known as the dormant area. The user specifies the active store limit required in the least significant 22 bits of X. Bits 0 and 1 of X must be zero.

In environments where the 165 N=12 instruction is not implemented, the reply in X is set to zero.

Any attempt to refer to a dormant area will have an undefined effect which will usually be to send the program illegal.
N(M)=13 Give details of EXECutive and processor

Accumulator X will contain the EXECutive name and accumulator X* the mend level.

X=EWG3 - 1904S with GEORGE 3
X=E6RM - 1904S with Manual EXECutive
X=E96G - 2960 with GEORGE 3
X=E96M - 2960 with Manual EXECutive
X=E73J - 2903 range with EXEC 1
X=E73M - 2903 range with EXEC 2
X=E73T - 2903 range with EXEC 3S
X=E93T - ME29
N(M)=14 Give Microcode assist level.
(2903 Range only)
N(M)=15 Undefined
N(M)=16 Report Paged Area Status.
(GEORGE 4 only)
N(M)=17 Set Specified Permission.
(GEORGE 4 only)
N(M)=18 Allow Specified Permission.
(GEORGE 4 only)
N(M)=19 Inhibit Specified Permission.
(GEORGE 4 only)
N(M)=60 upwards Available on 2903 Range


C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
166 RRQ  X  N(M) Read or Replace Request Block

The RRQ instruction has two variants depending on the setting of the X field.

X=0 Read the request block stored by EXECutive into the 16 word area starting at N(M).

X=1 Replace the request block stored by EXECutive by the contents of the 14 or 16 word area starting at N(M) Subject to qualifications, any change in the program name, introduction of new program members, or change in the priority of any program member will be implemented immediately by EXECutive; other changes will be recorded but not implemented, so that they will only be noticeable through subsequent RRQ (X=0) instructions or dumps of the program by EXECutive.

C is not used and will be left clear.

V is not used and remains unchanged.

Modification This statement has an M field. When modified, the least significant 15 bits of N + M are taken as the operand. In the extended data mode, the least significant 22 bits of N + M are taken as the operand.
167   Special Trusted Program instruction