Hewlett-Packard HP-41C

Datasheet legend
Ab/c: Fractions calculation
AC: Alternating current
BaseN: Number base calculations
Card: Magnetic card storage
Cmem: Continuous memory
Cond: Conditional execution
Const: Scientific constants
Cplx: Complex number arithmetic
DC: Direct current
Eqlib: Equation library
Exp: Exponential/logarithmic functions
Fin: Financial functions
Grph: Graphing capability
Hyp: Hyperbolic functions
Ind: Indirect addressing
Intg: Numerical integration
Jump: Unconditional jump (GOTO)
Lbl: Program labels
LCD: Liquid Crystal Display
LED: Light-Emitting Diode
Li-ion: Lithium-ion rechargeable battery
Lreg: Linear regression (2-variable statistics)
mA: Milliamperes of current
Mtrx: Matrix support
NiCd: Nickel-Cadmium rechargeable battery
NiMH: Nickel-metal-hydrite rechargeable battery
Prnt: Printer
RTC: Real-time clock
Sdev: Standard deviation (1-variable statistics)
Solv: Equation solver
Subr: Subroutine call capability
Symb: Symbolic computing
Tape: Magnetic tape storage
Trig: Trigonometric functions
Units: Unit conversions
VAC: Volts AC
VDC: Volts DC
Years of production: 1979-1985 Display type: 14-segment alphanumeric  
New price: USD 325.00   Display color: Black  
    Display technology: Liquid crystal display 
Size: 5½"×3"×1" Display size: 12 14-segment characters
Weight: 7 oz    
    Entry method: Reverse Polish Notation 
Batteries: 4×"N" alkaline Advanced functions: Trig Exp Lreg Cmem Snd 
External power: HP adapter (with battery pack)   Memory functions: +/-/×/÷ 
I/O: expansion ports     
    Programming model: Fully-merged keystroke entry 
Precision: 10 digits Program functions: Jump Cond Subr Lbl Ind  
Memories: 63(0) numbers Program display: Mnemonic display  
Program memory: 441 bytes Program editing: Auto-insert program entry  
Chipset:   Forensic result: 9.000417403  

hp41c.jpg (22501 bytes)The HP-41C was the first in a revolutionary new line of calculators by Hewlett-Packard. In addition to its large memory and an unprecendentedly rich set of internal functions, the machine offered an alphanumeric display, and perhaps most importantly, extreme versatility in the form of four expansion ports. With these ports, the HP-41C became much more than a mere calculator; it became a superbly flexible computing platform. In addition to being a dream machine to many a student around the world, the HP-41C found its way to the most unusual places, including the US military or the cockpit of the famous supersonic Concorde airliner.

And if the almost fearsomely rich set of functions offered by the HP-41C or its many expansion modules wasn't enough, the HP-41C was also a hacker's dream: "synthetic programming", as it was called, opened up whole new vistas for the adventurous programmer who wished to explore undocumented instructions, internal functions, and more.

As a programming example, I previously wrote a Gamma function implementation for the HP-41CX. Although this implementation fits into the smaller memory of the HP-41C, the fit is somewhat tight; you need to use the SIZE 009 command to create enough space in program memory, leaving only 9 data registers for other purposes.

So instead, here's another way to calculate the Gamma function: using the incomplete Gamma function algorithm which, although somewhat slower, requires a lot less room. To use the program below, enter the argument and an integration limit; e.g., 5 ENTER 40 yields exactly 24.

02	STO 01
03	X<>Y
04	STO 02
05	Y^X
06	RCL 02
07	/
08	STO 03
09	LBL 01
10	RCL 01
11	RCL 02
12	1
13	+
14	STO 02
15	/
16	RCL 03
17	*
18	STO 03
19	+
20	X!=Y?
21	GTO 01
22	RCL 01
23	E^X
24	/
25	RTN