Programming Model

Click on the Curta Icon in the upper left corner to go to this site's Contents/Collaboration page.

Curta Model

Considered as a computer, the Curta has registers, an ALU (arithmetic-logic unit), a barrel shifter, and a clock.

Barrel shifter1
Clock1 per revolution (reversable)


Data Path


The clock is the operating handle. Each turn of the operating handle is one clock cycle, executes one instruction.

ALU Controls

There are two ALU control bits for the

Clearing Registers

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.

Barrel Shifter

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.


HandleReversing LeverCounting RegisterResult Register
downupCR <- CR + 1*10S-1RR <- RR + SR*10S-1
downdownCR <- CR - 1*10S-1RR <- RR + SR*10S-1
upupCR <- CR + 1*10S-1RR <- RR - SR*10S-1
updownCR <- CR - 1*10S-1RR <- RR - SR*10S-1

Decimal Points

See the DecimalPoints page.

Overflow and Underflow

See the OverFlowUnderFlow page.


See the CurtaOptimizations page.

Curta Algorithms

See the CurtaAlgorithms page.

Some Notation

The counting register
The setting register
The result register
The shift setting
The handle "bit", either up or down
The reverse lever "bit", either up or down

Edit Text of this page (last edited June 18, 2004 by
Find Page by browsing or searching
Brought to you by