Early
Electronic
Calculator
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 
Correction
for
subtraction
required
 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
No
correction
required
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
Correction
for
addition
required
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
bhilpert
Nov 2004