Hewlett-Packard HP-20S

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: 1990-2002 Display type: Numeric display  
New price: USD 39.95   Display color: Black  
    Display technology: Liquid crystal display 
Size: 6"×3"×½" Display size: 12(9+2) digits
Weight: 6 oz    
    Entry method: Algebraic with precedence 
Batteries: 3×"LR44" button cell Advanced functions: Trig Exp Cmem Eqlib 
External power:   Memory functions: +/-/×/÷ 
I/O:      
    Programming model: Fully-merged keystroke entry 
Precision: 12 digits Program functions: Jump Cond Subr Lbl  
Memories: 10 numbers Program display: Keycode display  
Program memory: 100 program steps Program editing: Auto-insert program entry  
Chipset: Saturn   Forensic result:  

hp20s.jpg (24981 bytes)The HP-20S is a member of Hewlett-Packard's current line of calculators. When I first held one in my hands, I was very pleasantly surprised; despite the low cost, the HP-20S feels like a quality Hewlett-Packard device, and it has all the features most folks will ever need from a programmable scientific calculator.

Like its famous cousins from the past, the HP-20S is a keystroke programmable calculator. This method of programming has been largely abandoned these days in favor of various calculator programming languages. A pity, I say; when I program a calculator, I usually have no need for an elaborate, structured, or object-oriented programming language, what I want to do is capture short key sequences; which is precisely what keystroke programming is all about.

One feature that Hewlett-Packard did abandon with the HP-20S is the RPN (Reverse Polish Notation) entry logic. No doubt they were responding to market forces; for most calculator users, RPN remains an incomprehensible mystery. Still, it's a pity; once you know how to use it, RPN is much more efficient than algebraic entry, especially when used for keystroke programming. Oh well.

Algebraic logic notwithstanding, the HP-20S is a pleasure to use. Although this is not the purpose of my calculator-related Web pages, I heartily recommend the HP-20S to everyone looking for a low-cost, high-quality calculating device.

As a matter of interest, the HP-20S is very similar in terms of its capabilities to Hewlett-Packard's first programmable handheld device, the HP-65. The HP-20S has 10 memory registers whereas the HP-65 has nine; both calculators have 99 steps of program memory. The HP-20S has no magnetic card reader, but it has continuous memory, and it also contains several programs in its built-in program library. Of course there is a huge difference in price; whereas the HP-65 cost 800 dollars in 1975, the HP-20S can be purchased for under 40 dollars today.

Needless to say, I have written a Gamma function implementation for this calculator as well. Due to the limited size of program memory (99 steps) it was necessary to make use of registers for storing constants. The program uses 8 out of the calculator's ten registers (6 of which must be preset before running the program), and 92 out of 100 program steps. It usually yields a Gamma function value with ten digits of precision.

M3: 2.50662827511
M4: 83.8676043424
M5: 1168.92649479
M6: 8687.24529705
M7: 36308.2951477
M8: 80916.6278952
M9: 75122.6331530
01 -   61 41 A	LBL A
02 -   21 1	STO 1
03 -   1	1
04 -   21 0	STO 0
05 -   61 41 1	LBL 1
06 -   0	0
07 -   31	INPUT
08 -   22 1	RCL 1
09 -   61 42	x<=y?
10 -   51 41 2	GTO 2
11 -   21 45 0	STO÷ 0
12 -   1	1
13 -   21 75 1	STO+ 1
14 -   51 41 1	GTO 1
15 -   61 41 2	LBL 2
16 -   71	C
17 -   22 1	RCL 1
18 -   55	×
19 -   22 3	RCL 3
20 -   75	+
21 -   22 4	RCL 4
22 -   74	=
23 -   55	×
24 -   22 1	RCL 1
25 -   75	+
26 -   22 5	RCL 5
27 -   74	=
28 -   55	×
29 -   22 1	RCL 1
30 -   75	+
31 -   22 6	RCL 6
32 -   74	=
33 -   55	×
34 -   22 1	RCL 1
35 -   75	+
36 -   22 7	RCL 7
37 -   74	=
38 -   55	×
39 -   22 1	RCL 1
40 -   75	+
41 -   22 8	RCL 8
42 -   75	+
43 -   22 9	RCL 9
44 -   45	÷
45 -   22 1	RCL 1
46 -   74	=
47 -   45	÷
48 -   1	1
49 -   21 75 1	STO+ 1
50 -   22 1	RCL 1
51 -   45	÷
52 -   1	1
53 -   21 75 1	STO+ 1
54 -   22 1	RCL 1
55 -   45	÷
56 -   1	1
57 -   21 75 1	STO+ 1
58 -   22 1	RCL 1
59 -   45	÷
60 -   1	1
61 -   21 75 1	STO+ 1
62 -   22 1	RCL 1
63 -   45	÷
64 -   1	1
65 -   21 75 1	STO+ 1
66 -   22 1	RCL 1
67 -   45	÷
68 -   33	(
69 -   22 1	RCL 1
70 -   75	+
71 -   1	1
72 -   74	=
73 -   55	×
74 -   73	.
75 -   5	5
76 -   21 75 1	STO+ 1
77 -   22 1	RCL 1
78 -   14	yx
79 -   33	(
80 -   22 1	RCL 1
81 -   65	-
82 -   5	5
83 -   74	=
84 -   13	LN
85 -   65	-
86 -   22 1	RCL 1
87 -   74	=
88 -   12	ex
89 -   55	×
90 -   22 0	RCL 0
91 -   74	=
92 -   61 26	RTN