Page:Alan Turing - Proposed Electronic Calculator (1945).pdf/32

From Wikisource
Jump to navigation Jump to search
This page has been proofread, but needs to be validated.

– 31 –

CALPOL.

CALPOL 1. Clear TS 22, 23; DL 1, 14 - TS 27;

DL 1,15 - TS 29. CALPOL 8

CALPOL 8. B, BURY; B, INDEXIN; TS 28 - TS 18; B, BURY; B, PLUSIND;

B, BURY; B, INDEXIN; TS 28 - TS 19; B, BURY; B, ADD; B, BURY;

B, PLUSIND; TS 27 - TS 2; TS 29 - TS 3; AND; Q, CALPOL 40;

TS 6 - TS 15; Q, CALPOL 37; TS 6 - TS 16; B, BURY; B, DISCRIM; B, 1

CALPOL 37. TS 13 - TS 18; TS 14 - TS 19; B, BURY; B, TRANS 45;

B, BURY; B, MULTIP; B, BURY; B, TRANS 45. CALPOL 49.

CALPOL 49. B, CALPOL 8.

CALPOL 50. TS 22 - TS 25; TS 23 - TS 26; B, UNBURY.

The above table for CALPOL has been expressed in a more abbreviated form than the one we gave for INDEXIN, several operations being listed at a time. AND is of course the logical operation and B,1 indicates B with a 1 in column 17.

Outline of operation (CALPOL). If we denote the polynomial by a1 x15 + a2 x14 + . . . the calculation proceeds by the equations b1 = a1, c1 = b1 x, b2 = c1 + a2, c2 = b2 x, . . . After the calculation of each br we have to determine whether this is the one required, viz. b16 or not. This is done by examining the content of TS 27 which includes the number r and is also, one might say principally, used to describe the position of the next coefficient ar+1. If it is the one required we find ourselves at CALPOL 40 and have to pass br out to TS 25,26. Otherwise we go to CALPOL 31, and after multiplying br by x to give cr we find ourselves back at CALPOL 8 and repeating processes we have done before.

It will be evident that the table CALPOL is somewhat wasteful of space. Each time a subsidiary operation is required we have to repeat B, BURY, and each time we make a transfer we have to do it in two stages, each of which uses a whole minor cycle of which most is wasted. It is possible to avoid this waste of space by keeping the instruction tables in some abbreviated form, and expanding each table whenever we want it. This will require a table EXPAND, and will require each table to include appropriate references to the table EXPAND. These references will however be put in by EXPAND itself (when working under contract to a higher authority), just as EXPAND will put in the references to BURY and UNBURY.

BINDEC (General Description). The number in TS 13, 14 is translated into decimal form of the type α x 10m where 1 ≤ α < 10, and is transferred into DL 10. The notation of the decimal form is such that the content of DL 10 can be passed out onto a card in the usual way and if the card is then listed the digits of the numbers α,m will then appear on the listing paper in the usual way. Or in other words only the first 10 minor cycles of DL 10 are used, and a decimal digit is represented by the minor cycle in which a pulse occurs, and its significance by the position of it within the minor cycle.

(This account is incomplete as regards signs and some other details).

14.