The Museum of HP Calculators

# HP-32S

The HP-32S was an inexpensive yet powerful calculator. It had a single line display but with many annunciators to convey additional information. It had a fairly uncluttered keyboard due to its menu system yet it was packed with such features as:

• Basic scientific functions including hyperbolic functions.
• Statistics.
• Probability.
• Solver (Solved RPN functions.)
• Numeric integration (of RPN functions.)
• Binary, octal, decimal and hexadecimal bases. (With windowing to view long binary numbers.)
• Complex Arithmetic functions (see below.)
• 390 Bytes of user memory.
• Variables instead of numbered registers (see below.)
• Programmability (see below.)
• Obvious error messages (like Divide By 0.)

## Complex arithmetic

Instead of the HP-15C's complex mode, the HP-32S had just one mode but allowed the CMPLX key to be used as a prefix to the other functions in much the same way other calculators used HYP or ARC prefixes on trigonometric functions. The Functions that could be prefixed with CMPLX were:

• +/- (change sign)
• 1/x
• LN and e^x
• SIN, COS, TAN
• +, -, *, /

Because there was no complex "mode" and no "complex stack" as on the HP-15C, complex numbers were each entered into two levels of the normal stack.

## Variables Instead Of Numbered Registers

The calculator used the 27 lettered variables A-Z and i (indirection) rather than numbered variables. While these variables were used in much the same way as numeric registers, they were more than just a relabeling. The lettered variables were not allocated from memory until used and they could be individually deallocated by simply storing 0 in them.

When RCL or STO was pressed, an A..Z annunciator appeared. The letters A-Z where printed to the sides of the keys. All the variables could be scanned with the VAR command. A single variable could be displayed without entering it on the stack by pressing VIEW followed by the letter. This was handy for debugging since it didn't affect the stack.

## Programmability

The programming features were impressive for a calculator of its price. The calculator used label addressing and allowed subroutine nesting to seven levels deep. To aid in navigating programs, line numbers began with the most recent label followed by two digits. (Like A01.) For very long functions, the next 100 lines were displayed as A.01-A.99 and the next hundred as A,01-A,99. Unlike most previous models, this one checked for duplicate labels and produced an error message.

Indirection was available via the i variable which was distinct from the I variable. The index could be stored with STO i, and an indirect store could be done via STO (i).

Another new feature was the program checksum. This gave the user assurance that the program was entered correctly. (In fact, in large program listings, HP typically listed a checksum every dozen or so lines so the user could find mistakes quickly.)

Most program lines required 1.5 Bytes of memory but the calculator used fully merged keycodes - including numbers. Any number fit on one code line but those code lines require 9.5 Bytes. (Although the calculator optimized integer numbers from 1 to 99 into 1.5 Byte lines.)

Other programming features included:

• Labeled Input/Output via the INPUT and VIEW commands.
• ISG/DSE looping.
• Conditional tests, flags, pause.
• Integer, fraction, rounding, absolute value.

## The RPN Solver

The HP-32S featured to the first RPN solver. The HP-34C had introduced the first built-in root-finder which could solve for f(x) = 0 expressed as an RPN program. To use the root finder the user wrote a function that accepted x, and left f(x) in the X register. The RPN Solver on the HP-32S allowed the user to enter a program which accepted multiple variables and computed f(a, b, c, ...) = 0. After entering a single program, the user could solve for any variable.

For example, given a change in velocity over time problem expressed by the equation:

```    f = i + at
where:
i is the initial velocity
f is the final velocity
a is the acceleration
t is is the time
```

The equation could be rewritten in the form f(f, i, a, t) = 0 ie:

```   i + at - f = 0
```

which could be expressed in the following HP-32S program:

```LBL V      ; Name the program V
INPUT F    ; input all the variables
INPUT I
INPUT A
INPUT T
RCL A
RCL T
x          ; at
RCL I
+          ; i + at
RCL F
-          ; i + at -f
RTN
```

After exiting program mode, the user would press FN=V to indicate that the V program was to be solved. The user executed SOLVE and pressed F, I, A, or T to indicate which variable to solve for. The calculator then requested that the user input the other variables and solved for the unknown. For example:

```SOLVE T
F?60
I?10
A?5
```

Displayed SOLVING and then T=10. Or:

```SOLVE I
F?120
A?11
T?6
```

Displayed SOLVING and then I=54. Or:

```SOLVE T
F?100
I?10
A?0
```

Displayed SOLVING and then NO ROOT FND since it is impossible to go from 10 to 100 with zero acceleration.

## Amazing Power And Friendliness For The Price

About 20 years before the HP-32S, a four function electronic calculator cost around \$10,000 of today's dollars. The HP-32S offered a list of functions that few people would have dreamed of in 1968 for 0.7% of the cost. In addition, it was tiny, light weight, simple to use and ran just about forever on batteries.

Front view (~79K)
Front view of the Anniversary Edition (~134K)
Three quarter view of the Anniversary Edition (~78K)
Pioneer series rear view (~27K)
Internal picture (~79K) Note CPU held in place by plastic "backbone". Image by Paul Brogger.

Saturn Architecture

Price: \$70.  (The Anniversary Edition was \$50 for shareholders and employees only.)

Introduction-Discontinuation: 1988-1991