Patent GB-1374081-A (GB)
Title: Calculating machines
IPC: G06F15/02
Filed: 1972-03-10
Abstract: 1374081 Calculating machine SUMLOOK ANITA ELECTRONICS Ltd 10 March 1972 [11 March 1971] 6584/71 Heading G4A A digital electric calculating machine includes a keyboard 1 having digit and function keys, a calculating circuit 3 for performing arithmetic and other operations under keyboard control, a printer 35 for recording data fed thereto, and program circuitry adapted to produce simulated keyboard signals so that the calculating circuit and printer may be operated under program control, the program circuitry including two program circuits 6a and 6b for generating signals to control the calculating circuit, a program circuit 75 controlled by the first two program circuits for generating signals to control the printer, and switching circuitry responsive to signals from the program circuits and to signals from the calculating circuit to cause control of the machine to be switched from one of the program circuits to another.  The Specification describes two embodiments in considerable detail. Briefly however the first embodiment includes a main program circuit 6a, a subroutine program circuit 6b, and a print format program circuit 75. The circuits 6a and 6b comprise prewired programs each having 100 steps. A two digit address is supplied to tens and units decoders which selectively energize one of a hundred lines which are interconnected to five output lines by replaceable, plug-in diode matrices. The function keys in the keyboard also produce five-bit coded outputs, the program and keyboard signals being connected via respective inhibit gates to an OR-gate whose output controls the calculator. Switching between the programs is controlled by a circuit 19 which includes bi-stables and gates (described in detail) which respond to predetermined instructions in the program sequences and other machine conditions. The printer, which may be an integral part of the machine or an associated solenoid-operated typewriter, is controlled by a program circuit 75 via an interface 23. The circuit 75 is energized by either of circuits 6a and 6b via control circuit 69. The sequence of circuit 75 consists of ten routines each of up to ten steps. A routine is entered at a tens address, e.g. 10, 20 &c., and ends at a units address within the tens address, e.g. 16. The print format sequences are executed in parallel with sequences from the main 6a or sub-routine 6b program circuits. The second embodiment is broadly similar except that four main program circuits 6a, (61a), 6b, and (61b) are provided, additional and modified gating circuits being provided to control switching between the programs. Various program instructions are described, e.g. "JUMP" in which a jump is made to the next "flag" instruction in the sequence. The calculating circuit 3 is also described in some detail. Briefly an input register 24, four general purpose register 27a-27d, any one of which may be selected to replace the input register by actuating a special key followed by a digit key, and an accumulator register 38 are provided. Registers 24 and 38 each comprise four recirculating registers and decimal data is stored in the registers in the form of pulse counts for each digit. The register contents may be shifted relative to each other by inhibiting or adding shift pulses. A function counter and a slip counter are provided for generating control signals (e.g. for enabling the gates in the control circuits 19 and 69) and for keeping track of shifts in the input register 24, and accumulator register 38. Timing signals are produced by a Johnson ring counter 9. A display 14 is provided comprising several number tubes energized by a Johnson ring counter 12, the data to be displayed being fed serially via staticizing bi-stables 18 and a decoder 20, and lamps 16a, 16c and 17 displaying a -ve sign, an indication, S, that the display relates to the contents of a memory register 27, and the decimal point respectively. The Specification gives details of addition, which involves aligning the decimal point by subtracting counts which are stored separately from the numbers, and adding the contents of the input register into the accumulator register, subtraction which is performed using nine's complement addition, and multiplication and division which are performed by repeated addition and subtraction respectively.