October 1976 QST
Table of Contents
Wax nostalgic about and learn from the history of early electronics. See articles
from
QST, published December 1915  present (visit ARRL
for info). All copyrights hereby acknowledged.

The Hewlett Packard
HP−25 programmable scientific
calculator was initially introduced in 1975 at a retail price of $195. It was considered
groundbreaking because of its size and the number of functions available. Thirty
pushbutton keys including two second function keys provided more than seventytwo
overall types of inputs, most of which could be incorporated in program steps (up
to 49 operations). This was not HP's first programmable calculator, but the price
point put it in reach of hobbyists and school kids. The original model would lose
its program at power down, but the HP25C, which came out in 1976, had batterybacked
memory (called "continuous memory by HP) that was retained even when turned off.
By the time this product review appeared in a 1976 issue of QST magazine,
the price had dropped to around $135. Here is the
HP Museum entry for the
HP25 calculator. A functional HP−25 calculator can be purchased on
eBay starting at less than $100, and for half a thousand dollars you can get
one in mint condition with the original packaging.
Product Review: HewlettPackard HP25 Programmable Scientific
Calculator
Shown here is the HewlettPackard HP25. The two prefix keys
at the upper right (f and g) allow most of the others to perform three different
functions.
The word calculator hardly seems to fit this little handheld instrument, for in
its programming capability are included features which just a few years ago could
be performed only by an electronic computer. The HP25 is the first of its type
to become available for less than $150, and for this reason it is becoming a very
popular instrument among amateurs and engineers alike. It truly is a different class
of calculator among the lowpriced programmables.
Thirty keys are contained on the calculator keyboard, but two prefix keys allow
most others to perform three different functions. The net result is the equivalent
of more than sixdozen keys, including those which control the display and the program
functions. The logic of the calculator is Reverse Polish Notation (RPN), using a
4level stack. What this means is that there are four "working" registers, each
capable of containing independent values  either initial entries or the results
of intermediate calculations. It is this feature which permits the solution of problems
like
(2 x 3) + (4 x 5) + (8  6)/7
without the need to key in parentheses, to use an auxiliary storage register,
or to jot down intermediate results on scratch paper. By working in "chain" fashion
the example can be extended indefinitely.
In addition to the four stack registers the calculator contains eight storage
registers, the contents of which can be stored and recalled at will. "Storage register
arithmetic" may also be performed, meaning the contents of any register may be changed
by adding, subtracting, multiplying, or dividing by another value without the need
to recall the initial register content. The content of any register may be "dumped"
simply by storing a new value. The calculator has yet another register, deemed LAST
x. In this register is saved the value which was displayed before the last mathematical
operation was performed. In some applications this register can be used as a separate
storage register. This register also makes it easy to recover from mistakes. Say
you accidently divided one number by another when you meant to subtract. Rather
than begin the problem again from scratch, you can simply recall LAST x, multiply
(which nullifies the erroneous division), and you're back to where you were earlier.
before making the mistake.
The HP25 has a basic 10digit display, and all calculations are done in ten
significant figures. The machine offers great flexibility in what it shows you,
however. Three display modes are available  fixed point, scientific, and engineering.
When first turned on, the calculator assumes a fixedpoint display of two decimal
digits, such as you'd use for working with dollars and cents. Any calculations which
result in more than two decimal digits (such as 20 ÷ 3) are automatically
rounded in the display (6.67), but ten significant digits (6.666666667) are still
carried in the calculating registers. The fixedpoint display can be set to show
from 0 to 9 decimal digits (up to a total of 10 digits in the display). In scientific
notation each value is shown with a single digit to the left of the decimal point
followed by (as controlled by the user) up to seven decimal digits, followed by
a 2digit power of 10 (with minus sign, if appropriate). Engineering notation is
similar except that a "floating" decimal position is used and the powers of 10 are
always multiples of three. As controlled by the user, from three to eight significant
digits may be dis played in engineering notation, but either 1, 2, or 3 digits
will always appear to the left of the decimal point. As in the fixedpoint display,
values shown are automatically rounded in the scientific and engineering notations.
If fixedpoint notation is being used and the result of a calculation is too large
or too small to be seen with a fixed decimal point, the display for that value will
automatically switch to scientific notation. And no matter what the display mode,
numbers with powersof10 exponents may be keyed directly into the instrument.
The HP25 will handle numbers in value up to 9.9999999 x 10^{99}. Overflow
(a calculation resulting in a value greater than this maximum) is indicated by a
display of all nines: If storageregister arithmetic is being performed and overflow
results in a register, the letters OF appear in the display. There is no such thing
as underflow with the HP25 (exceeding a particular negativevalue exponent of 10),
for a zero is automatically substituted in place of values less than 1 x 10^{99}.
Of course it almost goes without saying that the HP25 has a pi key and handles
squares, square roots, reciprocals. exponents, and log and trig functions, as well
as functions using the base e. But it can perform those trig functions using either
degrees, radians, or grads directly (400 grads = 360 degrees). And it has a handful
of other useful capabilities too  things like taking an absolute value, truncating,
converting from hours, minutes and seconds (or degrees, minutes and seconds) to
decimal hours (degrees) and back, converting from polar to rectangular coordinates
and back, and performing statistical functions (summations, standard deviation,
arithmetic mean, and the like). Combinations of these manipulations make it easy
to do things like vector summations, often used as the basis for calculating antenna
patterns. Oh yes, another rather unique feature: Invalid operations such as dividing
by zero result in the word Error appearing in the display.
Programming
Features like RPN; storage register arithmetic and the LAST x register, along
with the diversity of manipulations available in the HP25, offer a significant
saving in the number of steps needed to program a sequence of functions. The instrument
is 49step programmable. But unlike most of its predecessors, an HP25 program step
is not necessarily a single keystroke. Instead, a step may consist of one, two,
or three keystrokes, depending on the function being performed. This results in
the capability for even more functions to be crammed into that 49step sequence.
Of course, it is not necessary to use all 49 steps for every program  simple programs
will not require that many. But programs such as those to do greatcircle bearing
and distance calculations (including resolving ambiguities in the bearing calculation)
and to do transmissionline calculations while taking line losses into account (Smith
Chart type of problems) can be accommodated in those 49 steps. Now you can begin
to see why the HP25 is becoming popular in amateur circles.
Is programming hard to learn? Certainly not, for programming the calculator is
no more complicated than solving a problem manually. The calculator is placed in
the PROGRAM mode and the desired sequence of keystrokes is executed. The calculator
remembers these keystrokes and their sequence, and when placed in the RUN mode will
execute them much more rapidly (and probably more accurately) than you could. The
result? You can solve as many problems as you wish with that particular program,
in short order. A different program can be entered simply by erasing the internal
program memory and erasing a new sequence of steps. A most convenient feature of
the programming mode is that individual program steps can be changed at will  truly
handy in debugging new programs being developed or in correcting an erroneous entry
of a program you may be entering. In addition, the program may be halted manually
during execution without disrupting the program sequence, or the program can be
sequenced manually a step at a time  additional aids in debugging. The ability
to program a pause for the momentary display of an intermediate value or to program
a full halt to inspect or change register contents or enter "variables" in the program
sequence further increases programming flexibility.
These features alone make the HP25 a very versatile calculator for its cost,
but it is the very first instrument in its price class which has the capability
to do conditional and unconditional program branching. Execution of a program without
branching goes from one step to the next, beginning with step 1 and continuing through
steps 2, 3, and so on, to the end of the program. With branching, however, execution
can be transferred to any step in program memory, say
from step 9 to step 39, as an example. The branch may be unconditional, or it can
be made dependent on the outcome of a comparison of data values (conditional branch).
Citing an earlier example, conditional branching would be used, to resolve quadrant
(or hemisphere) ambiguities in greatcirclebearing calculations. Based on the outcome
of data values, the program sequence would be shifted to execute the appropriate
steps to provide the correct answer. Eight conditional tests are provided in the
HP25  one value less than, greater than or equal to, not equal to, or exactly
equal to another, or one value compared to zero in these same four tests. Here's
a simple illustration of how conditional branching is programmed, using words instead
of actual keystrokes. "Add the results of two previous calculations. Is the new
result less than 1? If yes, go to step 23; if no, go to step 39." With this feature
the calculator can actually make mathematical decisions!
Unconditional branching is often used to "go around" program steps which are
executed as part of a conditional branch, but this feature also has several other
applications. For example, during development of a new program it may be discovered
that a few necessary steps were omitted early in the recorded program sequence.
Rather than rerecord the complete sequence from where new steps need to be inserted,
an existing program step can be changed to an unconditional branch  such as GTO
39 (go to step 39), step 39 being beyond the end of the existing program. Step 39
may then be programmed to perform the function which was erased by the GTO instruction,
and steps 40, 41, etc., programmed to perform the needed additional steps. Another
unconditional branch at the end of the sequence (such as GTO 10) will resume operation
at the appropriate point in the initial sequence. The utmost in program flexibility
can be obtained by using combinations of conditional and unconditional branches
 in an iterative type of loop, for example, where the sequence of the same few
steps is used more than once in the overall program sequence. Judicious use of this
technique can result in getting the equivalent of many, many more than 49 steps
in a sequence .
All of these neat features are put into one package by HewlettPackard, 19310
Pruneridge Ave., Cupertino, CA 95014, and are offered at a price class of $135.
The HP25 may be purchased from calculator distributors nationwide in the U.S. The
"HP25 package" includes the calculator, it rechargeable NiCad battery pack, a soft
zippered carrying case, a charger/ac adapter which operates from 117 or 230 V ac
/ 5060 Hz, a 120page owner's handbook, a 164page book chock full of applications
programs, and a quickreference guide. From fully charged batteries the calculator
may be operated on batteries alone for from 2 to 10 or so hours, depending on the
type of operation. (The display digits consume a lion's share of the power.) A lowbattery
condition is indicated by a display full of decimal points. The calculator may be
operated from the ac line by using the charger. Program and register content is
lost when the power is switched off.
The calculator measures 51/8 x 25/8 inches (HW) and has a depth which tapers
from 11/8 to 7/8 inch. Display height is 1/8 inch. The tan case is of modern styling
in tough plastic. With the battery pack installed the instrument weighs a mere six
ounces. As is mentioned in the owner's handbook, with the HP25 "you have at your
fingertips a tool that was unavailable to Archimedes, Galileo, or Einstein. The
only limits to its flexibility are the limits of your own mind." To be sure, there's
an awful lot of calculating capability there, for such a small package!
Posted September 1, 2020
