Casio FX-502P series

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
CASIO FX-501P / FX-502P
A Casio FX-501P in working condition displaying the number π
TypeProgrammable Scientific
Entry modeInfix
Precision12 digits mantissa, ±99 exponent
Display typeLCD seven-segment display
Display size10 + 3 Digits
Programming language(s)Keystroke (fully merged, Turing complete)
Memory register11 (FX-501P), 22 (FX-502P)
Program steps128 (FX-501P), 256 (FX-502P)
Portsone vendor specific
Connects toCompact Cassette via:
Power supply2×"G13" or 2×"LR44"
Power consumption0.0008 W
Weight141 g, 5 oz
Dimensions15.24×7.6×1.2 cm, 6"×3"×½"

The FX-501P and FX-502P were programmable calculators, manufactured by Casio from 1978/1979.[citation needed] They were the predecessors of the FX-601P and FX-602P.

It is likely that the FX-501P/502P were the first LCD programmable Calculators to be produced as up until 1979 (and the introduction of the HP-41C) no manufacturer had introduced such a device.


The FX-502P series use the algebraic logic as was state of the art at the time.


The FX-501P and FX-502P featured a single line 7-segment liquid crystal display with 10 digits as main display. An additional 3 digits 7-segment display used to display exponents and program steps when entering or debugging programs and 10 status indicators. The display was covered with a yellow filter, supposedly to prevent ultra-violet radiation damage to the unstable (at the time) Liquid Crystal compound.[citation needed]


The programming model employed was key stroke programming by which each key pressed was recorded and later played back. On record multiple key presses were merged into a single programming step. All operations fitted into one program step.[1]

The FX-501P could store 128 steps, with 11 memory registers. The FX-502P had twice that capacity with 256 steps and 22 memory registers.

Conditional and unconditional jumps as well as subroutines were supported. The FX-502P series supported 10 labels for programs and subroutines called P0 .. P9. Each program or subroutine could have up to 10 local labels called LBL0 .. LBL9 for jumps and branches.

The FX-501P and FX-502P supported indirect addressing both for memory access and jumps and therefore the programming model could be considered Turing complete.

Since the FX-501P and FX-502P only employed a seven-segment display each program step was represented by a special 2-digit codes made up of the digits 0 .. 9 and the character C, E, F and P. The calculator came with a special overlay[2] so the user did not need to memorize the mapping between code and actual command.

What differentiated the FX-501 / FX-502P from its competitors was that programming was retained in a battery-buffered memory when the calculator was turned off.

Programming example[edit]

Here is a sample program that computes the factorial of an integer number from 2 to 69. For 5!, the user would type 5 P0 and get the result 120. The whole program is only 9 bytes long.

Key-code Display-code Comment
P0 P0 call the program with the P0 key
Min0 C6-00 stores the value in register 0
1 01 starts with 1
LBL0 F0-00 label for the loop
* E1 multiply
MR0 C7-00 with M0
INV DSZ FF-01 Decrements M0 and skips next command if M0=Zero
GOTO0 F1-00 Go to LBL0
= E5 end of loop, the machine has calculated


Casio FA-1
Connects toFX-502P series and FX-602P series

Compact Cassette via one of:

TypeCompact Cassette Interface

The FX-501P and FX-502P used the FA-1 to store program and data to Compact Cassette using the Kansas City standard. The FA-1 also enabled the calculators to generate musical notes.[2]


  1. ^ FX-602P Token list - the FX-502P series only employed the standard plane.
  2. ^ a b casio fx-501p with programming overlay

External links[edit]