Product Review: Hewlett-Packard HP-25 Programmable Scientific Calculator
October 1976 QST

October 1976 QST

October 1976 QST Cover - RF CafeTable 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 ground-breaking because of its size and the number of functions available. Thirty pushbutton keys including two second function keys provided more than seventy-two 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 HP-25C, which came out in 1976, had battery-backed 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 HP-25 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: Hewlett-Packard HP-25 Programmable Scientific Calculator

Product Review: Hewlett-Packard HP-25 Programmable Scientific Calculator, October 1976 QST - RF Cafe

Shown here is the Hewlett-Packard HP-25. 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 hand-held instrument, for in its programming capability are included features which just a few years ago could be performed only by an electronic computer. The HP-25 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 low-priced 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 six-dozen keys, including those which control the display and the program functions. The logic of the calculator is Reverse Polish Notation (RPN), using a 4-level 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 HP-25 has a basic 10-digit 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 fixed-point 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 fixed-point 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 2-digit 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 fixed-point display, values shown are automatically rounded in the scientific and engineering notations. If fixed-point 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 powers-of-10 exponents may be keyed directly into the instrument.

The HP-25 will handle numbers in value up to 9.9999999 x 1099. Overflow (a calculation resulting in a value greater than this maximum) is indicated by a display of all nines: If storage-register 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 HP-25 (exceeding a particular negative-value 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 HP-25 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 HP-25, offer a significant saving in the number of steps needed to program a sequence of functions. The instrument is 49-step programmable. But unlike most of its predecessors, an HP-25 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 49-step 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 great-circle bearing and distance calculations (including resolving ambiguities in the bearing calculation) and to do transmission-line 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 HP-25 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 HP-25 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 great-circle-bearing 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 HP-25 - 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 Hewlett-Packard, 19310 Pruneridge Ave., Cupertino, CA 95014, and are offered at a price class of $135. The HP-25 may be purchased from calculator distributors nationwide in the U.S. The "HP-25 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 / 50-60 Hz, a 120-page owner's handbook, a 164-page book chock full of applications programs, and a quick-reference 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 low-battery 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 5-1/8 x 2-5/8 inches (HW) and has a depth which tapers from 1-1/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 HP-25 "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