next up previous
Next: The B-tube. Up: Alan Turing's Manual for Previous: The multiplier and the

Subsections

The logical operations

There are a number of operations which can be applied to rows of digits and which have no particular relation to the interpretation of those rows as numbers. The only ones which we use are what we call the `logical operations', on account of a connection with the calculus of propositions in logic. In order to bring out this connection one should identify 1 with `truth' and 0 with `falsity'. The symbol `$\lor$' may be read as `or', `$\land$' may be read as `and', `$\not\equiv $' as `not equivalent to' [and $\sim$ as `not']. These symbols satisfy the equations

$0 \lor 0 = 0$ $0 \land 0 = 0$ $0 \not\equiv 0 = 0$ $\sim 0 = 1$
$0 \lor 1 = 1$ $0 \land 1 = 0$ $0 \not\equiv 1 = 1$ $\sim 1 = 0$
$1 \lor 0 = 1$ $1 \land 0 = 0$ $1 \not\equiv 0 = 1$  
$1 \lor 1 = 1$ $1 \land 1 = 1$ $1 \not\equiv 1 = 0$  
However we shall apply these symbols to rows of digits rather than to single digits. The value for each digit is then to be calculated by means of the above table from the corresponding digits of the arguments, e.g.,
$(01110) \lor (10010) = (11110)$

The main application of these operations occurs where several different pieces of information are packed into one line. For this purpose the operation `$\land$' is of the most use. It can be used for breaking a line up into its various significant parts. The operation `$\lor$' may also be used for combining parts together, but this can usually also be done with the aid of addition. The operation `$\sim$' can be obtained by using `$\not\equiv $' in combination with a row of 1's. [The following function codes are used to call for these operations:

Function symbol Equations
   
TD ${\tt\bf A}' = {\tt\bf A}\lor \{{\tt\bf S}_\pm\}_0^{79}$
TR ${\tt\bf A}' = {\tt\bf A}\land \{{\tt\bf S}_\pm\}_0^{79}$
TJ ${\tt\bf A}' = {\tt\bf A}\not\equiv \{{\tt\bf S}_\pm\}_0^{79}$
TS ${\tt\bf S}' = {\tt\bf L}\lor {\tt\bf S}$, ${\tt\bf A}' = 0$
TE ${\tt\bf L}' = {\tt\bf S}^{'} = {\tt\bf L}\lor {\tt\bf S}$, ${\tt\bf M}' = {\tt\bf M}$
where, as before, we define ${\tt\bf L}=\{{\tt\bf A}\}_0^{39}$ and ${\tt\bf M}=\{{\tt\bf A}\}_{40}^{80}$. Note that the TS and TE operations are deprecated as ``disadvantageous'' on p. [*], where the programmer is enjoined against their use.]

Example of use of `$\land$'

The name of a certain line is contained in the first two characters of . It is required to transfer this line to /C.

\begin{tube}{/}{E}
/ + T / & / & ! ! / / \\
/ E T R & E & / / / / \\
@ E T D &...
...\\
& I & \\
& U & \\
& + & \\
& D & \\
& R & \\
& J & \\
\end{tube}
[Note once again that ://S at A/ writes a /C/U instruction from AE into S/, in addition to writing a T/ instruction into :/, since it is a long-line store.]

Example for reader

Provide a sequence of instructions which will produce a line consisting of the first 10 digits of [/C] together with the last line of [@C].


next up previous
Next: The B-tube. Up: Alan Turing's Manual for Previous: The multiplier and the
Robert S. Thau 2000-02-13