Considered as a computer, the Curta has registers, an ALU (arithmetic-logic unit), a barrel shifter, and a clock.
|Clock||1 per revolution (reversable)|
The clock is the operating handle. Each turn of the operating handle is one clock cycle, executes one instruction.
There are two ALU control bits for the
There is no clear register instruction, but there is an asynchronous register clear operation for the counting register and result register. The clear operation is executed by moving the clearing lever. Either or both registers may be cleared. Also, the registers may be partially cleared, but from complementary directions. That is, the counting register may be cleared from the least-significant direction and the result register from the most significant, or vice versa. The partial clearing operation to be performed must be decided prior to accumulating results in the registers.
The barrel shifter (S) operates on both datapaths, from the setting register to the counting register and from the handle (clock) to the counting register.
|Handle||Reversing Lever||Counting Register||Result Register|
|down||up||CR <- CR + 1*10S-1||RR <- RR + SR*10S-1|
|down||down||CR <- CR - 1*10S-1||RR <- RR + SR*10S-1|
|up||up||CR <- CR + 1*10S-1||RR <- RR - SR*10S-1|
|up||down||CR <- CR - 1*10S-1||RR <- RR - SR*10S-1|
See the DecimalPoints page.
Overflow and Underflow
See the OverFlowUnderFlow page.
See the CurtaOptimizations page.
See the CurtaAlgorithms page.