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 |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
01 LBL'IG 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