EarlyElectronicCalculator Casio AL-1000 Calculator Technical Description:The Arithmetic Unit

The arithmetic unit is a 4-bit parallel adder/subtracter with BCD sum correction. Three inputs control the primary function performed as per table 1. A carry flag is incorporated for carry between digits and additional logic permits a carry to be injected for several reasons: incrementing or decrementing a register's decimal point position, incrementing or decrementing a register digit, and incrementing the program counter. Additional inputs permit disabling of the sum correction so that base-16 data (the decimal point position and program instructions) will not be corrected.

 Table 1: Arithmetic Unit Functions CARNOBC CARNOA nCARSUB Function 0 0 0 W=A-B-C 0 0 1 W=A+B+C 0 1 0 - 0 1 1 W=B+C 1 0 0 W=A 1 0 1 W=A 1 1 0 W=0 1 1 1 W=0

The BCD sum correction is performed by some additional combinatorial logic placed at the outputs of the 4-bit parallel adder/subtracter and which adjust the outputs before they leave the arithmetic unit. Table 2 shows the corrections performed. Blank entries in the table are situations that do not occur for the given function.

 Table 2: Sum Correction Addition A+B+C Subtraction A-B-C Uncorrected Sum/Diff Ten's Carry Addition Corrected Subtraction Corrected Correctionforsubtractionrequired 0-9-1 6 1 0 0-9-0 7 1 1 0-8-0 8 1 2 0-7-0 9 1 3 0-6-0 A 1 4 0-5-0 B 1 5 0-4-0 C 1 6 0-3-0 D 1 7 0-2-0 E 1 8 0-1-0 F 1 9 Nocorrectionrequired 0 0 0 0 0 0 1 1 1 0 1 1 2 2 2 0 2 2 3 3 3 0 3 3 4 4 4 0 4 4 5 5 5 0 5 5 6 6 6 0 6 6 7 7 7 0 7 7 8 8 8 0 8 8 9 9 9 0 9 9 Correctionforadditionrequired 9+1+0 A 1 0 9+2+0 B 1 1 9+3+0 C 1 2 9+4+0 D 1 3 9+5+0 E 1 4 9+6+0 F 1 5 9+7+0 6 1 6 9+8+0 7 1 7 9+9+0 8 1 8 9+9+1 9 1 9

 Architecture | Electronics | Arithmetic | Timing | T States | States | Procedures | Numeral-Entry Casio AL-1000 Technical Description EEC bhilpertNov 2004