by Wlodek Mier-Jedrzejowicz Ph.D.
|The HP-27 was only the
second calculator to provide an unusual but useful
feature called "recall arithmetic". Much more
common on HP calculators is "storage
Early calculators, especially those which did not have a stack like HP models, often provided an extra register, usually called M (for Memory), to let the user store information which would not be needed until later. Sometimes this register could be used to "accumulate" values, in other words add up a set of results - this was done with a key marked M+ - add to the Memory register. HP, in their usual thorough manner, expanded on this idea. First of all, they gave the user more than one M register - usually 4 or more "storage registers". Secondly, they let the user not only add to these registers, but also subtract from them, and multiply and divide them.
All these operations on storage registers are called "storage arithmetic" - the number in register X is used to do arithmetic on a storage register. A simple example of the use of storage arithmetic might be the calculation of compound interest - you store the original amount in a storage register, then use the stack to calculate the interest rate separately for each month in a year, and multiply the register by one plus that month's interest rate. I hasten to add that this idea is not restricted to old-style RPN calculators, exactly the same works in RPL, except that the number to use is stored in level 1 instead of stack register X, and works on a named variable instead of a numbered storage register. It even works on HP's algebraic calculators.
Extensions are possible to this idea. One is to increase the number of operations which can be carried out on a storage register - must we be limited to + - * and / ? If division is written STO/ nn to mean "divide the contents of register nn by the contents of X" then it should be possible to write STO^ nn to mean "set the contents of register nn to the power given in X". I made this suggestion in DATAFILE V3N3p22, the Summer 1984 issue (gosh, 10 years ago!), and I was delighted to find that HP did add this function when they brought out the HP-18C in June 1986. (It was kept in models derived from the HP-18C, the 17B, 17BII, 19B, 19BII and 27S, but was not put in other models.)
A second possible extension is to work in reverse, just as RCL nn is the opposite of STO nn - it recalls the contents of register nn to X instead of storing X in nn - so RCL+ nn could be used to recall the contents of register nn and add them to the contents of X, instead of adding X to the contents of register nn. This might seem less useful than storage arithmetic, but look again at the example of following a compound interest over a year. You could calculate the growth rate for each of 12 months, and store it in registers 01, 02 and so on up to 12. Then to see how your capital grows (or falls!) through the year, you would put the original sum in X, do RCL* 01 to see the growth in month 1, then RCL* 02, and so on up to RCL* 12. At each step, the compounded sum would be seen in the display, not hidden in some register as was the case when storage arithmetic was used.
Recall arithmetic was introduced along with storage arithmetic on HP's third handheld calculator, the HP-45, but then someone lost enthusiasm for it - it was next seen only on the HP-27, the eleventh model. The following model with recall arithmetic was the HP-15C, HP's 32nd model and the first programmable with RCL arithmetic - which is very useful on programmable RPN calculators because it lets you do arithmetic on the stack without changing registers X, Y, Z, T or L. Since then only the HP-32S (HP's model 49), the HP-42S (model 51) and most recently the HP32SII (model 58) have recall arithmetic.
Recall arithmetic is not
vital on calculators which have the general
"register exchange" command X<> nn, since
for example RCL+ nn can be replaced with X<> nn
STO+ nn X<> nn, but RCL+ nn is faster and more
compact. It is an interesting feature, but clearly HP
have not put much emphasis on it, probably because few
users exploited it. Pity - but at least we can say that
two current models have recall arithmetic!
This article is part of the WMJARTS file. This file contains a series of articles written by Wlodek Mier-Jedrzejowicz and published in DATAFILE, the journal of the HPCC. The article was reproduced with permission of the author.
Copyright © Wlodek Mier-Jedrzejowicz Ph.D.