Patent FR-74027-E (FR)
IPC: G06F11/10
Filed: 1956-12-17
Granted: 1960-11-07
Abstract: 889,269. Correcting binary-coded decimal operations. INTERNATIONAL BUSINESS MACHINES CORPORATION. Oct. 12, 1960 [Oct. 14, 1959], No. 34960/60. Class 106 (1). In a serial by bit, serial by number, binarycoded (1, 2, 4, 8) decimal adder, the correction necessary when the sum is greater than ten is made by submitting the sum to the adder  together with filler digits. An order of a decimal number appears on input lines X or Y to adder 11 (Fig. 5), during two time slots known as  A- and B- times. Each is subdivided into 1-, 2-, 4- and 8- times. The bits representing the number appear at 1A, 2A, 4A and 8A times, and a parity bit at 4B time. If addition is to be performed switch 25 is open and the two numbers are applied to the adder 11 through gates 19, 20 during A time, the sum outputs appearing on line 33 and carries on line 34. The carries are applied to a one-cycle delay 14 which comprises a flip-flop T, set by a carry pulse, the output of which is gated through circuit 123 by the next sync. pulse to input 31 of the adder. The sum outputs are passed during A-time through gate 35 to a 4-cycle delay, a shift register (Fig. 4, not shown), and are applied to the adder 11 during B-time on line 97. The sum output line is also applied to a correction circuit 15. Gate 39 is open at 2A and 4A time and if a pulse is present on line 33 at either of these times flip-flop T a  is set. Gate 40 is open at 8A time and an 8A sum pulse on line 33 sets flip-flop Tb. The setting of these flip-flops indicates that the sum contains an 8-bit and at least a 4-bit or a 2-bit. If the X and Y inputs to the adder each contain an 8-bit, i.e. are both up or 8A time, a carry will appear on line 116 at 1B time when gate 115 is open, resulting in the setting of flip-flop T C . If flip-flops T a  and T b  are both set and the operation is addition and circuit 91 is activated to produce after 8A time, the time of setting flip-flop Tb, a potential opening gate 47 to 2B and 4B sync. pulses from or circuit 42. Similarly if T C  is operated gate 47 is also opened. In this way a filler digit of 6 is applied to the adder when the sum is applied during B time. If triggers T a  and Tb are on, the addition of the correction will produce at 8B time a carryon line 34 which will appear on input 31 at the next 1A time when the 1-bits of the next order of the addend are on the X and Y inputs. If trigger T c  is on, no such carry will be produced: instead the output of the trigger is gated through circuit 48 by an 8B sync. pulse to the input of the carry delay circuit. During B time gate 36 is open (Fig. 6), and the corrected sum appears at terminal 12. Parity counting.-The parity bit counter 16 passes all carries generated by the two additions through or circuit 139 except (a) a carry appearing on line 116 at 1B time, when inverter 46 is up; and (b) a carry appearing on line 116 or 4B time coincidentally with the parity bits of the numbers being added being unlike; in such a case one of the and circuits 131 or 132 are activated and both or circuit 134 and line 51 are up, resulting in no output from or circuit 139. The outputs of or circuit 139 are gated to either flip-flop T f  or T e  according to the setting of flip-flop T 8 ; the flip-flops T f , Te respectively compute the parity of alternate order sums. A B-time signal is applied to T 8  which is switched when this signal goes down. Assume output c is up. Gate 143 is open and signals on line 52 switch flip-flop T f . At 1B time gate 146 is open and flip-flop Te is set in preparation for use at the next A-time. At the end of B-time T 8  is switched and T f  stores the parity of the corrected sum. Line d is now up and at 4A time, i.e. during the A time following the introduction of the numbers on lines X and Y, gate 147 is open and the parity bit appears at terminal 12.  Subtraction.-Closing switch 25 turns adder 11 into a subtractor and closes gate 91. Correction is needed only when a borrow is needed at 8A time and only flip-flop T c  is required to determine the necessity for correction.