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 | if |
otherwise | |
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.