It will have been noticed that a number of the examples already given involve the formation of an instruction in the accumulator by addition, the copying of this instruction into the list of instructions, and the subsequent obeying of it. This is a rather clumsy process, and appears particularly so when it is desired to add the same number to several `skeleton instructions' to obtain actual instructions. The `B-tube' is primarily a device to enable this to be done more readily. It provides for eight different quantities which may be added to any instruction. One such quantity normally has to be added to each instruction. This could become a nuisance, but we avoid any such difficulty by adopting the convention that normally one of those lines (called B0) is to be zero.
We must therefore extend still further the quantities which go to make
up the state of the machine and include the eight four-character lines
of the B-tube. These are called B0, ..., B7. We also have
to modify considerably the description of the manner in which the
`instruction
next to be obeyed' is to be determined from
the state
of the machine. We first carry out the process
described for the reduced machine, viz. add 1 to control and take the
short line whose name is the resulting quantity. This however is not
the instruction itself but what we may call the `presumptive
instruction'. This presumptive instruction we will call J. It is
a row of 20 digits. This presumptive instruction is to be divided
into four parts:
We must next look at the function number part of the presumptive instruction and decide whether it is `B-normal' or `B-exceptional'. The B-exceptional cases are those where digits 14, 18, 19 are all 1, i.e., where the third character is one of T, Z, ..., £ and the fourth one of O, B, ..., £. The next step is to form the `actual instruction'. In the B-exceptional cases this is identical with the presumptive instruction, but in the B-normal cases it is obtained by adding the content of one of the B lines to the presumptive instruction. The number of the B line concerned is given in the B-line part of the presumptive instruction.
It will be seen on looking at the list of equations that quantities
B, appear in certain of them. These are the (before and
after) contents of the B line whose number is given in the B line
whose number is given in the B line part of the actual instruction.
Likewise, S,
are the store lines whose addresses are to be
found in the actual instruction and the equations applied are to be
determined according to the function number part of the actual
instruction.
In addition to the B-lines there is yet another quantity to be included in the state of the machine. This is the one-digit row Q, known as the `B sign flip flop'. Its properties are entirely covered by the equations. It is particularly useful in counting processes.
The B-tube may be considered as having essentially three functions.
The primary purpose is the modification of presumptive instructions to
give actual instructions. This was the only purpose in the Mark I
machine. Since counting operations often go hand in hand with
altering the B additives, the Q facility was added, and also the
facility for subtracting (TL and TG) from the B lines as
well as setting them (TT and TO). By adding the
functions TZ and TB it was made possible to use the B
tube as a `shunting station' for 20 digit lines. The complexities of
the exceptional instructions were made necessary by the fact that when
one is setting a B line one does not usually wish the instruction
involved to be modified by what is already in the B line in question.
However when using the B line as a shunting station, particularly when
transferring from a B line to an `indeterminate' position it is
necessary that the instruction involved should bring two different
B-lines into action, one containing information as to the destination
of the content of the other. These cases can be covered by the
`B-normal' variants TT, TZ, TL of the more
frequently used TO, TB, TG (see
p. ).
[Once again, here is a list of relevant instructions from the full table:
Function symbol | Equations |
/T |
![]() ![]() |
![]() |
|
TT |
![]() |
TO | as TT, but B-exceptional |
TZ |
![]() ![]() ![]() |
TB | as TZ, but B-exceptional |
TL |
![]() |
TW | as TL |
TG | as TL, but B-exceptional |
As an example of the use of the B-tube we have again programmed the process of adding up the lines in page 4 [3 in the original]. We shall make a number of remarks about this routine.
Make up a routine, with an official account, for the purpose of copying column ¼ onto column D.