Section 16
16. DATA HANDLING
16.1 File Control
The manner of input and output and the equipment used has been
described in sections 9 to 15. This section describes the various
computer actions which may be utilised in controlling the input and
output equipment.
As well as the basic actions for the input and output of infor-
mation other actions provide a preliminary check to ensure that the
equipment is available for use. There are also several facilities
for manipulating tape to a specified position.
16.1.1 Testing Route
Before any file manipulation takes place it is advisable to test
the route concerned to ensure that abnormal conditions are not present.
This is carried out by action 26.1.0 which tests for the following
conditions in the order stated.
(i) Route closed
(ii) Route engaged
(iii) 'Doubtful block' condition set
(iv) 'Advance warning of end' condition set
and changes sequence as specified in the action definition below.
Unless the route is tested before an input or output instruction
is given, the operator will not be informed automatically (by a
comment typed in the log) that an abnormal condition exists, nor, if
immediate input or output is impossible, will control be passed to
another programme.
Action 26.1.0 : TEST ROUTE
Definition: Test the route specified by N1 (literal)
(i) If the route is closed carry on to the next
instruction.
(ii) If the route is not closed but is engaged
set 'interrupt' condition on that route and
skip one instruction.
Section 16.1.1 (Cont'd)
(iii) If the route is neither closed nor engaged,
but the 'doubtful block' condition is set,
skip two instructions.
(iv) If the route is neither closed nor engaged
and the 'doubtful block' condition is not set,
but the 'advance warning of end' condition
is set, skip three instructions.
(v) If the route is neither closed nor engaged
and neither the 'doubtful block' condition
nor the 'warning of end' condition is set,
skip four instructions. (The route may be
assumed to be available).
Notes: (i) N1 specifies in binary the full route number,
i.e. (8 x channel number)+ route number.
Section 16.1.2
16.1.2 Interchanging Areas
During the running of a programme, processing is delayed whenever
the input of a block of information is not complete when the information
is required. These delays can be reduced by initiating input as far in
advance as possible before the information is required. This is
permitted by allocating two input areas to each route, and arranging for
the programme to initiate input of a block to one area immediately
before it starts to process the block already read into the other area.
The same arrangement is used for output. Two output areas are
allocated to each route, and the output of a block from one area to the
output equipment is initiated as soon as possible after it has been
formed up in one area, the programme then forms up the next block in the
other area.
Thus the two areas must perform their input (or output) function
alternately. Since input and output always take place to or from an
annexe whose start location is specified by (64 + R) - where R is the
full route number - the start locations of the two areas allocated to
route R must alternate with each other in compartment 64 + R. To achieve
this for each route, a compartment 64 + P is set aside where P is a
number in the range 0 to 63 not currently being used as a route number.
Initially the two area start locations are stacked, one in 64 + R, one
in 64 + P. (This is normally done by the Master Programme).
An action (1.0.3) is provided to interchange the contents of 64 + R
and 64 + P each time input or output is initiated. (The 'interchange
area addresses' action is placed after the 'test route' action but
before input or output in the programme).
Thus 64 + P always contains the start of the area not currently
being used for input or output. The programme uses this area by means
of modification by the contents of 64 + P.
Action 1.0.3 : INTERCHANGE AREA ADDRESSES
Definition: Interchange (64 + N1) and (64 + N2).
Notes: (i) N1 and N2 specify in binary the values of R
and P (see above).
(ii) When the Fast Channel control is fitted to the
326 machine, this action is not permissible.
Amendment No. 8
December 1964
Section 16.1.3
16.1.3 Initiation of File Control Action
When the route has been tested and found available, and areas
have been interchanged, the 19 action is used to send a signal to the
coordinator to initiate movement of the appropriate file.
Action 19 : FILE CONTROL
Definition: Test route N1 engaged. If engaged repeat the
instruction unless the address of the instruction
in the arithmetic unit is different from that in
store, in which case, repeat the previous
instruction (which in this case will be 24/0/0,
24/0/1, 24/0/3 or 24/1/2) also.
If not engaged, take action as follows:
Action 19.0.0 OUTPUT one block to route N1
Action 19.0.1
(millisecond timer) RESET timer (on route N1) to zero.
(other media) INPUT one block from route N1
Action 19.0.2 RUN BACK to next alignment mark on }
route N1 (see notes (vi) and (vii)) }
}
Action 19.0.3 RUN ON to next alignment mark on }
route N1 (see notes (vi) and (vii)) }
}
Action 19.1.0 STEP BACK one block on route N1 (see } These actions
note (viii)) } may be used
} only for
Action 19.1.1 REWIND route N1. Set route N1 to } magnetic
manual, rewind tape to position } tape routes
ready to read or overwrite first }
block, then open route N1. }
}
Action 19.1.2 UNLOAD route N1. Set route N1 to }
manual, and rewind tape onto upper }
spool ready to remove from the deck. }
Section 16.1.3 (Cont'd)
Action 19.1.3
(magnetic tape) STEP ON one block on route N1. Input the first word
in the block, then step on to the next block end
word without further transfer of information. The
tape is left in position ready to read or overwrite
the next block.
(other media) SET ROUTE N1 TO MANUAL.
Notes: (i) N1 specifies (8 x channel number + route number)
in binary.
(ii) The location of the first long word of the annexe
in the store must be specified by bits 1 to 15
of (64+N1), and the key to be set up in the
assembler key register must be held in bits 17
to 20 of (64+N1) except for assemblers using a
fixed location for annexe, e.g. paper tape punch,
24-hour clock and typewriter when (64+N1) is
irrelevant.
(iii) For assemblers referring to a function word, the
location of the function word for route N1 must
be given by (64+N1). The data to be output is
held in the words following the function word.
(iv) REWIND and UNLOAD do not engage the assembler.
(v) A block end character on magnetic tape or paper
tape input causes the assembler to cease reading.
A block end character on output stops the writing
process. For magnetic tape a special block end
word is required, held in the last long word in
the block. It contains block end characters in
the first and fifth positions, while the three
middle octets should be empty.
|----------|------|------|------|-----------|
|Block end | | | | Block end |
|----------|------|------|------|-----------|
The three central characters are used to hold
a six-bit track sum.
When the block end word is read into the store,
the three middle characters are empty unless
there is a track sum error, in which case a
doubtful block condition is generated.
Section 16.1.3 (Cont'd)
(vi) Alignment Blocks
Any block containing at least four 'alignment
mark' (2/15) characters is an 'alignment block',
These characters should occupy consecutive
locations in the same word.
The run on and run back actions stop on the
next block end encountered after the four
alignment marks. Thus when running on, the tape is
correctly aligned to read or overwrite the
block following the alignment block. When
running back, however, the tape is aligned on
the block end preceding the alignment block and
is not correctly aligned to read or overwrite any
block (see section 12). To read or over-
write the alignment block it is necessary to
first step back, then step on before reading
or writing (stepping on only, enables the block
following the alignment block to be read or
overwritten).
(vii) Reliability of Run Back
The reliability of this action is not guaranteed
when alignment marks are within eighty words of
a block end. In such circumstances the programme
should check the alignment.
(viii) Step Back
The step back instruction does not leave the
tape correctly aligned for reading/overwriting.
To remedy this, it is necessary to step back
one block further than required, then step on
one block.
(ix) If any 19 action, not applying to magnetic tape,
has a discriminant 1, the route is set to manual.
If the discriminant is zero, an input or output
instruction, as appropriate, is initiated.
Section 16.2
16.2 Handling Input Data
16.2.1 Data Representation
There are two main forms in which data streams enter the computer.
One form has a fixed number of characters in the stream to each item,
giving rise to 'fixed field' data layouts in the store. The other form
has unwanted zeros or spaces eliminated and the items separated by a
special character (number end) giving rise to 'variable field' data
layouts in the store.
Fixed field data is nearly always used on cards and often on
magnetic tape. Variable field data is usually used on paper tape and
often on magnetic tape. It is very rarely used on cards.
Whichever method is used the block will be stored in consecutive
long compartments of the input area, five alpha characters in each
compartment. To separate the items and stack them in separate
compartments and, if required, to convert them to numeric form, one of
the 'unpack' actions is used.
16.2.2 Unpack Actions
Two unpack actions are provided; one for fixed and one for variable
field data. Each refers to a table of constants held in consecutive
long compartments in the store, which describes the way each item is to
be unpacked. Normally one table entry is held for each item in a block
and consecutive table entries apply to consecutive items in the block.
Action : UNPACK FIXED FIELD DATA
Definition: Unpack data held in alpha octet form in a fixed
field layout in consecutive long compartments
starting at N, according to the table held in
consecutive long compartments starting at (A).
Stop unpacking when a table entry bearing a 'last
table entry' indication has been dealt with.
Section 16.2.2 (Cont'd)
Table: The layout of each table entry in its long compartment
is as follows:
B1
to Location in binary where item is to be stacked
B16
Q6 Number of characters in item (if this exceeds
the capacity of the destination compartment it
is the more significant characters
which are lost).
B37 0 = item to be stacked in numeric form (see
note on control quartets below)
1 = Item to be stacked in alpha form
B38 0 = numeric item to be stacked in short word
1 = numeric item to be stacked in long word
(if B37 = 1 the value of B38 does not
affect the action)
B39 0 = numeric item not to be signed
1 = numeric item to be signed
(if B37 = 1 the value of B39 does not
affect the action)
S2 0 = not last table entry
1 = last table entry
The values of other bits in the table entry do not
affect the action.
Notes: (i) A and B are left clear.
(ii) All items are aligned by the least significant
character after unpacking.
(iii) Interpretation of control quartets (in items to
be stacked in numeric form)
(a) First character of numeric item which is
to be signed
If the control quartet is 4p+1 or 4p+2
the sign bit of the destination is set
negative.
If the control quartet is 4p or 4p+3 it
is ignored.
Section 16.2 (Cont'd)
(b) All other characters
If the control quartet is 4p4+1 or 4p+2
the destination character is set as 10
or 11 respectively; the basic quartet
is ignored.
If the control quartet is 4p or 4p+3 it
is ignored.
(iv) The compartment after that containing the last
word to be unpacked must have a tag such that
access to it during the unpacking process will
not cause lockout(LEO III only).
Procedure: The action is carried out as follows:
(i) (SC) are stored in compartment 1.
(ii) (A) are copied to SC.
(iii) The first table entry is selected into register
D from the address specified by (SC).
(iv) The words to be unpacked are selected in
sequence into B from the address specified by
(OA). Each time a word is to be selected (OA)
are increased by 2. The number of characters
specified in the table entry are shifted into A
in either alpha or numeric form as required.
If Q6 = 0 sixteen characters are unpacked.
Negative signs and '10' and '11' characters are
inserted where appropriate when the item is to
be stacked in numeric form. When A holds the
desired number of characters they are written
into the location specified in the table entry.
(v) (SC) are increased by 2.
(vi) The next table entry is selected into register
D from the address specified by (SC).
(vii) Steps (iv), (v) and (vi) are repeated until
the unpacking of an item whose table entry
bears a 'last table entry' indication has
been completed.
(viii) The original contents of SC are replaced and
A end B cleared.
Amendment No. 8
December 1964
Section 16.2 (Cont'd)
Action 28.0.3 : UNPACK VARIABLE FIELD DATA
Definition: Unpack data held in alpha octet form in a variable
field layout separated by number ends in consecutive
long compartments starting at N, according to the
table held in consecutive long compartments starting
at (A). Stop unpacking when a line end or block end
character is reached, or when a table entry bearing
a 'last table entry' indication has been dealt with.
Table: One table entry is normally held for each item in the
block (unless bit 40 of a table entry is set - see
below). The layout of each table entry in its long
compartment is as follows:
B1
to Location in binary where item is to be stacked.
B16
B37 0 = item to be stacked in numeric form (control
quartets are ignored except in negative sign
characters; for these the sign bit of the
current destination is set negative).
1 = item to be stacked in alpha form.
B38 0 = numeric item to be stacked in short word form.
(If such an item contains more than five digits,
the least significant five digits of each set of
ten - or part of a set - are stacked in successive
short compartments beginning with the one
specified; the remaining characters of each set
of ten are lost).
1 = alpha item, or numeric item to be stacked
in long word form. (If such an item contains
more than five or ten digits as appropriate, the
following words will be used as necessary).
B40 0 = stack one item.
1 = stack consecutive items in the format
specified by this table entry in consecutive
compartments until a line end or block end
character is reached.
S2 0 = not last table entry.
1 = last table entry
The values of other bits in the table entry do not
affect the action.
Amendment No. 8
December 1964
Section 16.2 (Cont'd)
Notes: (i) At the end of the action A contains the
location of the last word unpacked; B is clear.
(ii) Alpha items are aligned by the most significant
character after unpacking.
(iii) Numeric items are aligned by the least significant
character after unpacking.
(iv) (LEO III) When unpacking alpha to numeric, 5/13
(question mark) is recognised as a 'number end'.
A 'line end' is not recognised if it follows ten
other characters.
(v) On LEO 326, the characters 13/14, 9/14, 5/14, and
1/14 will be treated as line end; the characters
15/14, 11/14, 7/14, 3/14 will be treated as
block end.
(vi) When unpacking (alpha to numeric), 15/13, 11/13,
7/13, and 3/13 characters will be treated as
number end, and 9/0 and 1/0 as a sign.
(vii) When unpacking (alpha) only 7/13 will be treated
as number end.
Procedure: The action is carried out as follows:
(i) (SC) are stored in compartment 1.
(ii) (A) are copied to SC.
(iii) The first table entry is selected into register
D from the address specified by (SC).
(iv) The words to be unpacked are selected in
sequence into B from the address specified by
(OA). Each time a word is to be selected (OA)
is increased by 2. Characters are shifted into
A in alpha or numeric form as specified by the
table entry. Whenever a character with control
quartet 1,2,6,9,10,13,14 is discovered on
unpacking numeric items, A is set negative and
the basic quartet ignored. When a number end,
line end or block end character is reached, (A)
is written into the location specified by the
table entry (after realigning to the more
significant end if the data is unpacked in alpha
form), step (v), (vi) or (vii) is then obeyed.
A is then cleared.
(v) If a number end, line end or block end character
was not discovered in step (iv) the table entry
in D is increased by 2 and step (iv) repeated.
Amendment No. 8
December 1964
Section 16.2 (Cont'd)
(vi) If a number end was discovered in step (iv),
action is taken as follows:
(a) If the table entry in D has bit 40 set the
table entry is increased by 2 and step (iv)
repeated.
(b) If the table entry has a 'last table entry'
indication (except in case (a) above), the
original contents of SC are replaced, (OA)
are copied to A, B is.cleared and the
action ends.
(c) If neither case (a) nor case (b) applies
(SC) are increased by 2 and the next table
entry selected into D from the address
specified by (SC). Step (iv) is then
repeated.
(vii) If a line end or block end was discovered in
step (iv), the original contents of SC are
replaced, (OA) are copied to A, B is cleared
and the action ends.
Action 29.0.3 : EXPAND
(available on LEO 326 only)
Definition: Expand data in the store from 'condensed' form into
its original form, according to the table held in
consecutive long compartments starting at (A). Stop
expanding when a last table entry or a block end
character has been encountered.
Table Layout of table entries is as given for CONDENSE
(section 16.3.2).
Notes: (i) The data is in alphanumeric form with number
end characters separating successive words,
and may have line end characters separating
successive sub-records.
(ii) When a line end character is encountered, the
next table entry is obtained. The data
specified by that table entry is then unpacked
in the normal manner.
Amendment No. 8
December 1964
Section 16.3
16.3 Preparing Data for Output
16.3.1 Data Representation
As in input, data for output may be in either fixed or variable
field form, and must be formed up by programme using either 'edit' or
condense' actions. Fixed field form is always used for punched cards,
usually for printer, and often for magnetic tape, but rarely for paper tape.
Variable field form is usually used for paper tape, often for
magnetic tape, rarely for printer and punched cards.
16.3.2 Edit and Condense Actions
The following actions are the output equivalent of the two unpack
actions. They use tables of a similar type to those used by the unpack
actions.
Action 28.1.2 : EDIT FIXED FIELD FORMATS
Definition: Edit items into a fixed field format in alpha sextet
form in consecutive compartments starting at N,
according to the table held in consecutive long
compartments starting at (A). Stop editing when a
table entry bearing a 'last table entry' indication
has been dealt with.
Table: The layout of each table entry in its long compartment
is as follows.
B1
to Location in binary of item to be edited.
B16
B17 0 = normal
1 = if last item edited has significant digits,
suppress 1 non-significant zero for this item,
otherwise suppress all non significant zeros
for this item. (The contents of B21 to B24
must be the same as those of B33 to B36.
The facility is used for e.g. shillings).
Q6 Number of characters of item to be edited.
Section 16.3.2 (Cont'd)
Q7 Number of space characters to be inserted
before item.
Q8 Number of characters of word containing item
to be discarded (counting from more significant
end).
Q9 Number of characters of item for which non-
significant zeros are to be replaced by space
characters.
B37 0 = item is in numeric form.
1 = item is long word in alpha form (the sign
bit will be ignored).
B38 0 = numeric item is short word.
1 = numeric item is long word.
(If B37 = 1 the value of B38 does not affect
the action).
B39 0 = alpha item, or numeric item for which no
sign is required.
1 = numeric item which is to be signed.
B40 0 = alpha item or numeric item which is to be
signed in variable field notation (i.e. with
a negative sign or space character following
the last numeric character). This notation
is also used for printer output.
1 = numeric item which is to be signed in fixed
field notation (i.e. with a 1 in the control
quartet of the first character of negative
items). This notation is not used for
printer output.
S2 0 = not last table entry.
1 = last table entry.
The values of the other bits in the table entry do not
affect the action.
Notes: (i) To ensure correct alignment of the last word
stacked, the total number of characters edited
by this action (including sign characters if any)
must be a multiple of 5 (It it is not it will
be made up to a multiple of 5 by the introduction
of spurious characters at the more significant
end of the last word).
Section 16.3.2 (Cont'd)
(ii) Block ends are not inserted automatically by
the action.
Procedure: The action is carried out as follows:
(i) (SC) are stored in compartment 1.
(ii) (A) are copied to SC and A is cleared.
(iii) The first table entry is selected into register
D from the address specified by (SC).
(iv) As many space characters are inserted into A as
specified by Q7 of D. The item is then read into
B (short word items are read into the most
significant five quartets of B), and us many
digits or characters are discarded prom the most
significant end of B as are specified by Q8 of D.
As many characters are then shifted into A in
alpha sextet form as are specified by Q6 of D.
If Q6 = 0 and B37 = 0, 16 characters are edited.
If Q6 = 0 and B37 = 1 no characters are edited.
For numeric items all control quartets become
zero except for significant zeros for which the
control quartet is 3. The introduction of
significant zeros begins either as soon as the
number of consecutive zero digits shifted into A
equals the number specified by Q9 or after the
first non-zero digit is shifted into A, whichever
is the sooner.
Negative signs are inserted as appropriate. (A)
are written to the address specified by (0A)
whenever A holds 5 characters and 0A) are
increased by 2.
(v) (SC) are increased by 2.
(vi) The next table entry is selected into register D
from the address specified by (SC).
Section 16.3.2 (Cont'd)
(vii) Steps (iv), (v) and (vi) are repeated until
the editing of an item whose table entry bears
a 'last table entry' indication has been
completed.
(viii) The original contents of SC are replaced and A
and B cleared.
Action 28.1.3 : CONDENSE
Definition: Condense items into a variable field layout in alpha
sextet form in consecutive compartments starting at
N, inserting number end characters after each item,
according to the table held in consecutive long
compartments starting at (A). Stop condensing when
a table entry bearing a 'last table entry' indication
has been dealt with.
Table: The layout of each table entry in its long compartment
is as follows:
B1
to Location in binary of first item to which this
B20 entry applies
B21
to Location in binary of last item to which this
B36 entry applies
B37 0 = item is in numeric form
1 = item is in alpha form (space characters are
not deleted unless they fill a complete word).
B38 0 = numeric item is in short word
1 = alpha or numeric item is in long word
B39 0 = item is to be without sign
1 = item is to be signed
S2 0 = not last table entry
1 = last table entry
The value of B40 in the table entry does not affect the
action.
Section 16.3.2 (Cont'd)
Notes: (i) At the end of the action A contains the location
of the next free compartment in the destination
area and B and C are clear.
(ii) The action does not delete non-significant spaces
or zeros from alpha items unless a whole word
consists of space characters.
(iii) On LEO III, overflow occurs if -0 is condensed.
On LEO 326, it will be condensed as a negative
sign character and a number end (if sign
requested in the table entry) and B will be
clear at the end of the action.
(iv) If the contents of B1 to 20 are greater than
those of B21 to 36, no condensing takes place
for that table entry.
Procedure: The action is carried out as follows:
(i) (SC) are stored in compartment 1.
(C) are stored in compartment 32.
(ii) (A) are copied to C.
(iii) The first table entry is selected into register
D from the address specified by (C). The 'first
item address' part of the table entry is copied
to SC,
(iv) The contents of the first compartment to be
condensed are selected from the location
specified by (SC).
If the item is numeric all non-significant zeros
are discarded and the item shifted into A in
alpha sextet form. If the item is negative and
a sign is required a negative sign is formed
and shifted into A. A number end character is
then formed and shifted in A.
If the item is alpha it is tested to see if it
consists of space characters only. If not the
whole item is shifted into A. A number end is
then formed and shifted into A as for numeric
items.
The contents of A are written to the address
specified by (OA) whenever A holds 5 characters
and (OA) increased by 2.
Amendment No. 8
Devember 1964
Section 16.3.2 (Cont'd)
(v) (SC) are increased by 1 or 2 according to the
setting of bit 38 of (D).
(vi) Steps (iv) and (v) are repeated until an item
has been dealt with whose location (as specified
by (SC))equals the 'last item address' in the
table entry (in register D).
(vii) (C) are increased by 2.
(viii) The next table entry is selected into register D
from the address specified by (C).
(ix) Steps (iv), (v), (vi), (vii) and (viii) are
repeated until the condensing of items whose
table entry bears a 'last table entry'
indication has been completed.
(x) The original contents of SC are replaced, (OA)
are copied to A, and B is cleared.
Note: If the last item condensed is negative, register B is
set at -0 instead of 0 at the end of the action. If
register B is actually required to be zero (e.g. for
double length shifting), a 1/0/1/0 order must be
inserted after the 'condense'.
Section 16.4
16.4 General Purpose Output Assembler Requirements
16.4.1 Because of the simplified way in which the General Purpose output
assembler operates, information for punched card or printer output
must be formed up by programme in a special way. This is done by
using one of the special actions 29/0/0 or 29/0/1 after an ordinary
edit actions 28/1/2.
16.4.2 General Purpose Output Actions
Two actions are provided - 29/0/0 for card output and 29/0/1
for high speed printer output.
Action 29.0.0 : EDIT FOR HOLLERITH OUTPUT
Definition: Clear long compartments N' to (N'+50) inclusive,
and fill them with information for output as follows:
(i) Transfer the long word from compartment (A)
to compartment N' (this is a function word).
(ii) Set bits in compartments N+4' to N+50' to
correspond to the value of the most significant
character of the compartment (A)+2', in
accordance with the table below.
(iii) Repeat (ii) for the remaining characters of
compartment (A)+2', and for successive
characters of (A)+4' onwards.
(iv) Terminate (iii) when 80 characters have been
dealt with, or when a block end character is
encountered.
Table of Equivalent Values
The action treats compartments. N+4' to N+50'.as
forming a matrix of 80 by 12 bits thus:
Bit No. 80- -41 40- -1
___________________
|N+ 6' |N+ 4' |
|N+10' |N+ 8' |
: :
: :
: :
___________________
|N+50' |N+48' |
Section 16.4.2 (Cont'd)
Successive pairs of long compartments are treated as
containing 80 bit positions, as shown.
Equivalent values of the characters in compartments
(A)+2' onwards are formed in this matrix according
to the following table:
______________________________________________________
| Value of control quartet | Value 1 placed in |
| of nth character | nth bit position of: |
| 0 | No entry made |
| 2 | (N + 6' /N + 4') |
| 3 | (N + 10' /N + 8') |
| 4 | (N + 14' /N + 12') |
| Value of basic quartet | Value 1 placed in |
| of nth character if | nth bit position of: |
| 0 | No entry made |
| 1 | (N + 18' /N + 16') |
| 2 | (N + 22' /N + 20') |
| 3 | (N + 26' /N + 24') |
| 4 | (N + 30' /N + 28') |
| 5 | (N + 34' /N + 32') |
| 6 | (N + 38' /N + 36') |
| 7 | (N + 42' /N + 40') |
| 8 | (N + 46' /N + 44') |
| 9 | (N + 50' /N + 48') |
Notes: (i) Characters 0/10 and 4/10 are edited as 1/0
Characters 0/11 and 4/11 are edited as 2/0
(ii) For LEO III/1,2,4 and 5 only, any character with
basic quartet 9 causes overflow. When overflow
occurs for this reason, the bit corresponding to
the control quartet will already have been placed
in the matrix. The block end character is the
exception as it stops the editing but is not
itself edited.
(iii) Overflow occurs if there are more than 80
characters before a block end character is
encountered.
Section 16.4.2 (Cont'd)
(iv) The sign bits of the source words are ignored.
(v) No entry is made in the matrix for space
characters.
(vi) On completion of the action, B is clear and (A)
contains the location of the last word edited.
Action 29.0.1 : EDIT FOR ANELEX OUTPUT
Definition: Transfer the function word from long compartment (A)
to compartment N'. Examine the function word in
long compartment (A). Then:
(a) If bit 37 is zero:
(i) Clear compartments N+2' to N+126'
(ii) Set bits in compartments N+2' to N+126'
to correspond to the value of the most
significant character of compartment (A)+2,
in accordance with the table below
(iii) Repeat (ii) for the remaining characters
of (A)+2', and for successive characters
of (A)+4' onwards until 40 characters
have been dealt with.
(b) If bit 37 is set at 1, leave compartments N' to
N+126' undisturbed.
(c) Repeat (a) or (b) according to the values of
bits 38, 39 and 40 of the function word and where:
bit 38 controls compartments N+130' to N+254'
btt 39 controls compartments N+258' to N+382'
bit 40 controls compartments N+386' to N+510'
taking source characters from the successive
compartments after those already dealt with
in (a)(ii) and (a)(iii).
Section 16.4.2 (Cont'd)
(d) Terminate the action when compartments N+384'
to N+510' have been treated as in (a) or (b)
or when a line end or block end character is
encountered in the source.
Table of Equivalent Values
The Action treats compartments N+2' to N+126',
N+130' to N+254', N+258' to N+382', N+386' to N+510'
as a matrix 160 bits by 63 bits thus:
Bit No. 160- -121 120- -81 80- -41 40- -1
____________________________________________
| N+386' | N+258' | N+130' | N+ 2' |
| N+388' | N+260' | N+132' | N+ 4' |
: : : :
: : : :
: : : :
____________________________________________
| N+510' | N+382' | N+254' | N+126' |
Sets of four long compartments are treated as
containing 160-bit positions as shown.
Equivalent values of the characters in compartments
(A)+2' onwards are formed in this matrix according
to the following table:
____________________________________________________________
| Value of control and basic | Value 1 placed in nth |
| quartets of nth character | bit position of: |
| 0/0 | No entry made |
| 0/1 | N+386'/N+258'/N+130'/N+2' |
| 0/2 | N+388'/N+260'/N+132'/N+4' |
| : | |
| 0/15 | N+414'/N+286'/N+158'/N+30' |
| 1/0 | N+416'/N+288'/N+160'/N+32' |
| : | |
| 1/15 | N+446'/N+318'/N+190'/N+62' |
| 2/0 | N+448'/N+320'/N+192'/N+64' |
| : | |
| 2/15 | N+478'/N+350'/N+222'/N+94' |
| 3/0 | N+480'/N+352'/N+224'/N+96' |
| : | |
| 3/15 | N+510'/N+382'/N+254'/N+128'|
Section 16.4.2 (Cont'd)
Where m = n if none of bits 37 to 40 of the function
word are set. Otherwise:
If n is in m = n if bit 37 = 0
range 1-40 m = n+40 if bit 37 = 1 and bit 38 = 0
m = n+80 if bits 37,38 = 1 and
bit 39 = 0
m = n+120 if bits 37,38,39 = 1 and
bit 40 = 0
If n is in m = n if bits 37,38 = 0
range 41-80 m = n+40 if one of bits 37,38 = 1 and
bit 39 = 0
m = n+80 if two of bits 37,38,39 = 1 and
bit 40 = 0
If n is in m = n if bits 37,38,39 = 0
range 81-120 m = n+40 if one of bits 37,38,39 = 1 and
and bit 40 = 0
If n is in m = n if bits 37,38,39,40 are all 0
range 121-160
In all other cases no bits are inserted in the matrix
as the action will have ended before the nth
character is reached.
Notes: (i) The sign bits in the source words are ignored.
(ii) No entry is made in the matrix for space
characters.
(iii) On completion of the action, B is clear and A
contains the location of the last word edited.
Section 16.5
16.5 Data Held in Integral Word Form
16.5.1 'Integral word' is the name given to a way of holding data in which
each item occupies an integral number of 5-character words. Data on
magnetic tape is sometimes held in this form.
To avoid the necessity to unpack this type of data an action is
provided to copy data in bulk from one part of the store to another,
with conversion between alpha and numeric forms if desired.
Associated with this action is one which clears specified areas
of the store.
16.5.2 Bulk Copy and Clear Actions.
The various versions of action 28 with modifier 0 or 1 provide
these facilities and are defined below.
Action 28.0/1 0/1 : BULK COPY
(Bit 38 of A = 0)
Definition: Bulk copy to compartments starting at N the items
specified by the table entry (A).
Action 28.0.0 COPY Short numeric words without change of form.
Action 28.0.1 COPY short numeric words to alpha form. N must be
D+1 where D is the first (long) destination
compartment.
Action 28.1.0 COPY alpha words to short numeric form. See note.
for B1 to 15 of (A) below.
Action 28.1.1 COPY alpha or long numeric words without change of
form.
Table: Register A must contain the following 'table entry':
B1
to First source location (in binary) plus one
B15 for action 28.1.0.
Section 16.5 (Cont'd)
B21 (in binary) Actions 28.0.0 and 28.0.1;
to number of short source words to be copied with
B33 a maximum of 4095.
Actions 28.1.0 and 28.1.1; twice the number of
long source words to be copied with a maximum
of 8190 (i.e. 4095 long words).
B38 Zero (1 = bulk clear, see below).
The values of the other bits of (A) do not affect
this action.
Notes: (i) Alpha-numeric transfers obey the same rules as
described for 'long discriminant and odd address'
in section 5.4.2 In particular, when converting
from numeric to alpha, all zeros are treated
as space characters.
(ii) When copying using Action 28.1.1 the sign bit
of the less significant half of each word is set
at zero in the destination.
(iii) A and B are left clear.
(iv) If the contents of A are negative, then more or
less locations than anticipated will be copied,
or the action will enter an endless loop (LEO
III only).
Procedure: See Bulk Clear.
Action 28.0/1.0/1 : BULK CLEAR
(Bit 38 of A = 1)
Definition: Bulk clear compartments starting at N as specified
by the table entry (A).
Action 28.0.0 CLEAR short compartments starting at N.
Action 28.1.1 CLEAR long compartments starting at N.
Table: Register A must contain the following 'table entry';
B21 (in binary) Action 28.0.0: number of short
to compartments to be cleared with a maximum of
B33 4095.
Action 28.1.1: twice the number of long
compartments to be cleared with a maximum of
8190 (i.e. 4095 1ong words).
B38 1 (0 = bulk copy, see above).
Amendment No. 8
December 1964
Section 16.5 (Cont'd)
The values of the other bits of (A) do not affect
This action.
Notes: (i) When clearing long compartments (action 28.1.1)
both sign bits are cleared.
(ii) A and B are left clear.
Procedure for Bulk Copy and Bulk Clear:
The actions are carried out as follows:
(i) (SC) are copied to compartment 1.
(ii) (Bits 1 to 15 of A) are copied to SC.
(iii) Bulk Copy only: A word is selected from the
compartment specified by (SC), long or short
as specified by the discriminant. If (SC)
are odd and discriminant = 1 alpha-numeric
conversion will take place.
(SC) are increased by 1 or 2 according to
whether the discriminant = 0 or 1
(iv) The word selected in step (iii) (Bulk Copy)
or zero (Bulk Clear) is copied to the compart-
ment specified by the modifier. If (OA) are
odd and modifier = 1 numeric - alpha conversion
will take place.
(v) (OA) are increased by 1 or 2 according to
whether the modifier = 0 or 1.
(vi) Steps (iii), (iv) and (v) are repeated until
the required number of compartments have been
copied or cleared.
(vii) The original contents of SC are replaced and
A and B are cleared.
Section 16.6
16.6 Sorting
16.6.1 The Sorting Process
Data in random order may have to be sorted into some specified
order. To enable this to be done each item must be given a key number
such that by sorting items into ascending order of key number, they
are sorted into the required order. The key must be the most significant
part of each item.
The sorting process is done in the following stages:
(i) 'Strings' of data (i.e. sequences of sorted data) are formed in
the store.
(ii) Pairs of strings are 'merged' into larger strings - reducing the
total number of strings to half.
(iii) Stage (ii) is repeated until one long string is formed
containing all the data.
The process is described in detail in Volume V (Part 2) of this
manual. This section describes the computer actions provided to
aid sorting.
16.6.2 Initial Formation of Strings
This may be carried out in several ways. One method is to make
use of the 'table look up' action which may be used to search for the
position of a new item in a sequential list of items already sorted.
Action 1.d.0 : TABLE LOOK-UP
Definition: Search successive compartments N onwards until a
compartment L is found such that (L) ≥ (A), and
then place L in B. (Comparison between compartments
and (A) is in binary).
Notes: (i) Overflow occurs if the contents of A plus the
reflection of the last word in the search
exceeds 240-1.
(ii) If (A) or any word in the table is negative,
overflow may occur. This does not apply to
LEO 326.
16.6.3 Merging of Strings
When it is required to merge two strings of data into one, Action
8 is used. There are two versions - one for fixed length items whose
length is specified by the programme and one for variable length items,
in which case the length of each must be stated in the data.
Amendment No. 8
December 1964
Section 16.6 (Cont'd)
'Keys' must be of constant length and must contain fixed field
information in each case. They must be the most significant part
of each item.
Action 8.0.0/8.1.0 : MERGE
Definition: Merge strings of items whose locations are specified
by modification registers 1 and 2 to form a string
whose location is specified by modification register
3 of the current modification group.
Compare items by binary subtraction from the two
'input' strings, word by word. As soon as a
difference occurs copy the item with the smaller word
to form the next item of the 'output' string. Stop
merging when either of the two input strings becomes
exhausted or when the output string is full.
Action 8.0.0 : MERGE CONSTANT LENGTH ITEMS as above. Item length
in short words is specified in binary by (N).
Action 8.1.0 : MERGE VARIABLE LENGTH ITEMS as above. Item length
in short words is specified in binary in alpha form
in the word preceding each item.
Notes: (i) The modification registers must be set with the
first (long) location of the string in the less
significant half and the last (long) location + 2
in the more significant half.
(ii) If two items are identical as far as the end of
the shorter one, that in the string indicated by
modification register 1 is stacked first into
the destination string.
(iii) The 'item length' associated with variable
length items specifies the number of compartments
occupied by the item plus the item length word.
(iv) In action 8.1.0, the contents of the compartment
specified by the address are read from store but
are not used.
(v) Both merge actions read (but do not use for
comparison) one extra word from each 'input'
area at the end of the action.
(vi) At the end of the action A contains (modifier -
end value) of modification resister 3 and B is
clear.
Amendment No. 8
December 1964
Section 16.6 (Cont'd)
(vii) If an item length of zero is specified the
action will enter a micro-loop.
(viii) (C) are unchanged at the end of the action.
(ix) If a word in either string is negative, overflow
may occur (LEO III only).
(x) If the item length is specified as one or zero,
overflow will occur, and in LEO III the action
may enter an endless loop.
Action 16.1.0 : COMPARE
(available on LEO 326 only)
Definition: Compare strings S1 and S2 of alpha data, where
S1 starts at N and S2 at (A). Successive pairs of
words are compared until a difference is found or
the end of one of the strings is reached.
If S2 > S1, the next instruction is obeyed.
If S2 = S1, one instruction is skipped.
If S2 < S1, two instructions are skipped.
Amendment No. 8
December 1964
Section 17
17. FACILITIES FOR CONCURRENT RUNNING OF PROGRAMMES.
This section describes facilities which aid concurrent running
of programmes on LEO III.
They are:
(i) The interrupt facility
(ii) The store reservations system
(iii) Actions used for communication with the operators.
The use made of these facilities is described in Volume IV, Part 1
of this manual (Master Programme Description).
17.1 Interruption
The purpose of the interruption facility is to allow the Master
Programme to transfer control from one programme to another when a
programme which has been held up becomes able to proceed ('external
interruption') and also to allow the Master Programme to assume control
when 'overflow' or 'lockout' occurs 'internal interruption').
The effect of interruption is to cause change of sequence to a
fixed compartment in the store. This compartment contains a
sequence change to an appropriate part of the Master Programme.
17.1.1 Conditions Causing Internal Interruption
Internal interruption will take place at the end of any action,
if at that time all the following conditions are satisfied
(i) 'overflow' or 'lockout' conditions set
(ii) 'halt' condition not set (see section 5.8.1)
(iii) Instruction just executed not 24/0/0, 24/0/1, 24/0/3 or 24/1/2,
('modify next instruction address').
17.1.2 Occurrence of Conditions for Internal Interruption
The overflow condition, which is automatically set whenever the
addition of two numbers of the same sign results in a sum of the
opposite sign, is represented by a flip-flop in the coordinator. It
can be set, reset and tested by micro-programme and is left set at the
ends of those actions which did not have the overflow corrected.
The lockout condition is described in section 17.2.2.
Section 17.1.3
17.1.3 Conditions Causing External Interruption
External interruption will take place at the end of an action if
at that time the following conditions are satisfied simultaneously:
(i) 'external interruption permitted' condition set.
(ii) 'external interruption requested' condition set.
(iii) 'overflow' and 'lockout' conditions not set.
(iv) 'halt' condition not set (see section 5.8.1)
(v) Instruction just executed is not 24/0/0, 24/0/1, 24/0/3 or 24/1/2,
('modify next instruction address').
17.1.4 Occurrence of Conditions for External Interruption
The 'external interruption permitted' condition is represented by
bit 13 of the indicator register. It is automatically set by the leave
Master Programme action 26/0/3 (see section 16.1.7) and is automatically
reset when interruption occurs. The condition can also be set, reset,
and tested by the indicator control actions described in section 16.3.
The 'external interruption requested' condition is represented by
a flip-flop in the coordinator and is generated whenever the 'interrupt'
condition of a route is set and that route is available. It is also
generated when the 'manual interrupt' condition is set, or when the
'millisecond timer interrupt' condition is set. These conditions occur
as follows:
(i) Corresponding to each route there is a condition which is referred
to as the 'interrupt' condition of that route. The interrupt
conditions of all the routes of a given channel are held in the
assembler for the channel. The interrupt condition of a route
becomes set if the route is tested by the 26/1/0 action at a time
when the route is engaged.
(ii) The 'manual interrupt' condition is part of the operating control
logic of the coordinator. It can be set by pressing the 'stack
indicators' button on the operators control desk (see section 17.3)
and so provides a means by which the operator can request
interruption.
Section 17.1.5 (Cont'd)
(iii) The 'millisecond timer interrupt' condition is set whenever the
most significant digit of the timer (the 'seconds' digit - see
section 10.4) has one of the values, 1, 3, 5, 7 or 9.
17.1.5 The Interruption Process
Interruption causes the following to take place:
(i) The action 26/0/2 (see section 17.1.6) is inserted in the instruction
register instead of the next programme instruction. The address of
the action is dependent on the type of interruption as follows:
(a) Lockout condition set - address is 16
(b) Overflow condition set and lockout condition not set - address
is 24
(c) External interruption (lockout and overflow conditions not set)
- address is 8.
(ii) The 'external interruption permitted' condition is reset.
(iii) All the 'route interrupt' conditions, the 'manual interrupt'
condition, and the 'millisecond timer interrupt' condition are
reset.
(iv) In the case of internal interruption, the overflow and lockout
conditions are reset.
17.1.6 Interruption Action
On interruption the following action (26/0/2) is automatically
inserted into the instruction register. It will cause a sequence change
into the Master Programme which will deal with the cause of interruption.
The action can also be used in a programme to enter the Master
Programme when it is not desired to return to the next instruction (see
note (ii) to the action definition). In the following definitions T
represents the arithmetic unit key number register - see section 17.2.2.
Action 26.0.2 : ENTER PRIORITY CONTROL
Definition: Place (SC) in bits 1 to 15 of N and (T) in bits 17
to 20 of N and change sequence to N+1. Set (T) = 14
before selecting next instruction.
Notes: (i) Tag 14 is set as the Master Programme has this
tag.
The paper manual has B rather than N in the next line, but N makes much more sense,
and as it is the next key to B it looks like a typographical error.
Section 17.1.7
(ii) (SC) is placed in N at the beginning of the
instruction and is not stepped on by 1 as it
normally would be. Thus the address stored in
N is dependent on the way the action occurred.
(a) If the action was inserted on interruption:
SC will have been set up ready to select the
instruction immediately before which
interruption occurred. This selection was
suppressed by the interruption and the
26/0/2 instruction obeyed instead. The
address stored is therefore that of the
next instruction to be obeyed when a return
is made after the interruption has been
dealt with, and may be used as a subroutine
link.
(b) If the action was reached as part of a
programme in the normal way: In this case
SC will have been set up to select this
instruction and will not have been stepped
on; hence the address stored is that of
this instruction. If a return to this
part of the programme is desired the stored
address must be stepped on by 1 before it
may be used as a subroutine link.
17.1.7 Access to Master Programme
If it is desired to enter the Master Programme, and later return
to the next instruction, action 23/0/2 is used. Action 26/0/3 is
provided to return control to a programme previously left for
entry to the Master Programme.
The actions are used in a similar manner to the subroutine
actions described in section 8.2.
Action 23.0.2 : ENTER MASTER PROGRAMME
Definition: Place (location of this instruction +1) in bits 1
to 15 of N. Set (T) = 14 and place the previous
contents of T in bits 17 to 20 of N. Change
sequence to N+1.
Section 17.1.8
Action 26.0.3 : LEAVE MASTER PROGRAMME
Definition: Replace (T) by bits 17 to 20 of (N), set bit 13
of I equal to 1 (external interruption permitted)
and change sequence to the location specified by
bits 1 to 15 of (N).
17.1.8 It is necessary when interruption occurs during the operation of a
programme for the Master Programme to store the contents of registers,
and to replace them when the programme is re-entered, so that no
information is lost. This is done using the special actions 0.1.0 and
0.1.1 to save time and space.
Action 0.1.0 : STORE (A), (B) and (C)
Definition: Copy (A), (B), (C) to N', N+2', N+4 respectively.
Notes: (i) No change is made between sign and modulus
and sign and complement forms:
(ii) If N is odd, C is copied to N+4; the sign bit
and least significant five quartets of
registers A and B respectively are copied (from
numeric to alpha forms) into words N-1' and
(N+1)' respectively.
Action 0.1.1 : REPLACE (A), (B) and (C)
Definition: Replace (A), (B), (C) by (N'), (N+2'), (N+4)
respectively.
Notes: (i) No change is made between sign and modulus
and sign and complement forms.
(ii) If N is odd, the contents of (N+1)' are copied
to B. The contents of (N-1)' and (N+3)' are
copied (from alpha to numeric form) into
registers A and C respectively.
In LEO 326, the contents of (N-1)',(N+1)' and
(N+3)' are copied (from alpha to numeric form)
into A, B, and C respectively.
Amendment No. 8
December 1964
Section 17.2
17.2 Store Reservations and Lockouts (optional facility).
The system provides the following facilities:
(a) Any attempt by one programme to corrupt information in areas of
the store assigned to other programmes is detected and may be
prevented if required. This is done by a system of interlocks
which are set up by the Master Programme. The Master Programme
can itself over-ride the interlocks, e.g. to clear the store
when unloading a programme.
(b) Any attempt by an input assembler to over-fill its assigned
annexe area is detected and may be prevented if required. This
is done by placing special 'guard words' at the end of annexe
areas (this is carried out by the Master Programme).
There are two modes of operation of the system, 'error detection' and
'error prevention'. The difference between these is described in
section 17.2.2.
17.2.1 Tags and Key Numbers
Each long compartment in the store has 4 'tag bits' associated
with it. When any instruction obtains store access the tag bits of
the compartment concerned are compared with the contents of a special
key register in the arithmetic unit. If a difference is detected the
lockout condition is set and interruption requested.
The contents of the arithmetic unit key register are set by the
enter and leave Master Programme instructions (see sections 17.1.6
and 17.1.7).
A key number is allocated to a programme when it is loaded under
Master Programme control, and is in the range 1 to 13. This number
is placed (in binary) in the tag bits of all compartments to be used
by that programme. No two programmes in the store at one time are
given the same key number. The Master Programme then arranges that
whenever a programme is entered, the key number associated with that
programme is placed in the arithmetic unit key register.
It is arranged that the tag of a compartment can be set up only
by a programme which has key number 14; consequently the Master
Programme is given this key number (with the exception mentioned
below).
Section 17.2.1 (Cont'd)
Each input or magnetic tape assembler also has a 4-bit key
register. This key is set up as follows:
(i) Input assemblers and magnetic tape assemblers: Compartment 64+R
for a route R (which contains the 'annexe start location' in bits
1 to 15) holds in bits 17 to 20 the key which is to be set up in the
assembler key register. Both of these are placed in the assembler
when input is initiated by action 19/0/1 (see section 16.1.3). The
key will normally be the same as that of the programme using the
assembler.
(ii) Output assemblers: These assemblers always have key 14 irrespective
of the contents of bits 17 to 20 of (64+R). In order to prevent an
assembler from over-filling an input annexe area, the compartment
following the annexe area is given tag 15. Such compartments are
said to contain a 'guard word'.
To allow guard words to be cleared when a programme is unloaded, the
Unloader Routine of the Master Programme is given key number 15.
Any programme or assembler can use only those areas of the store
which have the same tag as that set up in the arithmetic unit or
assembler key register, with the following exceptions:
(i) A compartment with tag 0 can be used by any programme or assembler.
(ii) A programme, part of a programme or assembler with key 14 can use
any compartment of the store except those with tag 15.
(iii) A programme or part of a programme with key 15 can use any
compartment of the store
17.2.2 Lockout
'Lockout' occurs whenever a request for store access by the main
frame or an assembler fails to satisfy any of the following conditions:
(i) Contents of key register in arithmetic unit or assembler = tag of
store compartment, or
Section 17.2.3
(ii) Tag of store compartment = 0, or
(iii) Contents of key register in arithmetic unit or assembler = 14
and tag of store compartment not = 15, or
(iv) Contents of key register in arithmetic unit or assembler = 15.
If lockout occurs on transfer of information from store, the
transfer is allowed to take place since this will not affect the
contents of the compartment. If lockout occurs on transfer to store,
the transfer is allowed to take place if the system is in the 'error
detect' mode, but if it is in the 'error prevent' mode the transfer
does not take place and the store compartment is not corrupted.
17.2.3 Lockout on Arithmetic Unit Access
The computer stops when the transfer of information is completed
(if it is permitted) and the 'lockout' condition is set. The assemblers
are not affected.
An engineer can then investigate the lockout. If he finds it was
not due to a computer fault (i.e. it was due to a programme error), he
can press the lockout restart key. This causes an attempt to be made to
select the next instruction, but since the lockout condition is set
interruption will occur (see section 17.1.1).
17.2.4 Lockout on Assembler Access
The channel is closed. The lockout condition is not set, and the
computer is not stopped. Interruption will thus not occur.
17.2.5 Lockout Actions
Lockout is a form of interruption and uses the 26/0/2 action
described in section 17.1.6. It is not dependent on the 'external
interruption permitted' condition.
The tag of a compartment may be set up or selected for inspection
by using the actions 23/0/3 and 23/1/m. These actions are used only by
the Master Programme and their attempted use by a programme with key
other than 14 or 15 causes lockout.
Section 17.2.5. (Cont'd)
The key of the arithmetic unit is set by the actions 23/0/2 and 26/0/3
described in sections 17.1.7 and used to enter or leave the Master
Programme. It is also set at 14 by interruption action 26/0/2
described in section 17.1.6.
The key register in the arithmetic unit is referred to in the
following definition as T.
Action 23.0.3 : SELECT TAG OF N
Definition: Select tag of N into the four least significant
bits of A and clear the remainder of A.
Note: Lookout is caused if (T) is not equal to 14 or 15.
Action 23.1.m : SET TAG OF N
Definition: Copy the four least significant bits of (A) into
the tag of N.
Notes: (i) (A) is unchanged.
(ii) The remainder of (N) is unchanged.
(iii) Lockout is caused if (T) is not equal to 14 or
15.
(iv) If m = 0, access is made to compartment 0, 8,
16 or 24 according to the modification group
setting, Lockout will occur if tags are
incorrect.
17.3 Communication with the Operator
The Master Programme uses the typewriter (described in section 14)
for communications to the operator. Communications from the operator
to the Master Programme are made via bits 1 to 12 of the indicator
register. (Bit 13 of this register specifies the 'external interruption
permitted condition, bits 14 and 15 specify the current modification
group).
The contents of bits 1 to 12 of this register may be set by the
operator using the 12 indicator setting keys on the control desk (see
Appendix C). The required pattern is set up on the keys and when the
stack indicator key is depressed the pattern is transferred to the
register and interruption is requested.
Actions are provided for the Master Programme to examine bits 1 to
13 of the indicator register, and also to set and reset any combination of
these bits.
Section 17.3 (Cont'd)
Action 24.1.3 : STORE INDICATORS
Definition: Copy (I) to N
Note: (I) is unchanged.
Action 25.1.0 : SET INDICATOR
Definition: For bits of N (literal) equal to 1 set the
corresponding bits in I equal to 1
Note: For bits of N equal to 0 the corresponding bits
in I are unchanged.
Action 25.1.1 : CLEAR INDICATORS
Definition: For bits of N (literal) equal to 1 set the
corresponding bits in I equal to 0.
Note: For bits of N equal to 0 the corresponding bits in
I are unchanged.
Action 25.1.2 : INTERROGATE INDICATORS
Definition: Collate (I) with N (literal) and copy the result
to A.
Note: (I) is unchanged.
Action 25.1.3 : CONDITIONAL HALT
Definition: Collate (I) with N (literal) and halt the computer
if the result is non-zero.
Note: (I) is unchanged.
Section 17.4
17.4 Halting the Computer
The computer may be halted by one of two actions - action 25/1/3
(see section 17.3) and action 0/0/0 (described below).
Action 0.0.0 : HALT
Definition: Set 'halt' condition (see section 5).
Note: The computer will halt before selecting the
next instruction.