Manual WP 34s 3 1
Manual WP 34s 3 1
WP 34S is distributed in the hope that it will be useful, but without any
warranty; without even the implied warranty of merchantability or fit-
ness for a particular purpose. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with WP 34S. If not, please see http://www.gnu.org/licenses/ .
This manual may change without notice if we, the developers, modify WP 34S. We reserve the right to do so
at any time. The cover picture may stay unchanged – the document status can be seen from the last note on
last page. We recommend you watch http://sourceforge.net/projects/wp34s/develop to stay informed.
“The success and prosperity of our company will be assured only if we offer our customers
superior products that fill real needs and provide lasting value, and that are supported by a
wide variety of useful services, both before and after sales.”
Just in Case …
... you do not have your WP 34S calculator yet: WP 34S runs on an HP-20b Business Consultant or an
HP-30b Business Professional. Both are financial pocket calculators. So if one of those is sitting on your
desk unchanged as produced for HP, please turn to Appendix A for instructions how to convert it into a full-
fledged WP 34S yourself. On the other hand, if you do not want to bother with cables on your desk
connecting it to your computer, with flashing the calculator firmware and attaching a sticky overlay, you can
purchase an HP-30b-based WP 34S readily on the internet; see e.g. http://commerce.hpcalc.org/34s.php or
http://www.thecalculatorstore.com/epages/eb9376.sf/en_GB/?ObjectPath=/Shops/eb9376/Products/%22WP34s%20Pack%22 .
The first way (doing it yourself) will just cost you some time, the second will cost you some money. If you
choose buying your WP 34S at one of the sites mentioned, we (the developers) will get a very modest
fraction of the price to support our otherwise unpaid efforts on the WP 34S project. Either way will work – it is
your choice.
Furthermore, there are three optional hardware modifications requiring some fine soldering, cutting,
gluing, and drilling a little hole in the plastic case of your business calculator. It is no sorcery for a
young electronics engineer with a slow hand and good eyesight, but might come close to it for others
(including me, W.B.). So check Appendix H and decide whether you want to do that yourself. Else look
for somebody who is able to do it for you.
The WP 34S package includes a full size emulator, so you may test it on your computer before buying any
hardware. And later on, you may test your programs there as well before sending them to your WP 34S. The
function sets are identical.
For the following, we assume the conversion is done and you hold your WP 34S in your hands.
Welcome! ................................................................................................................ 7
Print Conventions and Common Abbreviations ....................................................9
Appendix F: Corresponding Operations to the HP-42S and -16C Function Sets 172
HP-42S ............................................................................................................ 172
HP-16C ............................................................................................................ 178
Dear user, now you have got it: your very own WP 34S. It uses the mechanics and
hardware of an HP-20b Business Consultant or an HP-30b Business Professional, re-
spectively, so you benefit from the excellent processor speed of these pocket calculators.
And with an HP-30b you also get the famous rotate-and-click keys, giving you the tactile
feedback that has been appreciated in vintage Hewlett-Packard calculators for decades.
On the other hand, the firmware and user interface of your WP 34S were thoroughly
thought through and discussed by us, newly designed and written from scratch, loaded
with functions, pressed into the little memory available, and tested over and over again to
give you a fast and compact scientific calculator like you have never had before –
fully keystroke programmable, comfortably fitting into your shirt pocket, and RPN1.
The function set of your WP 34S is based on the famous HP-42S RPN Scientific of 1988,
the most powerful programmable RPN calculator industrially built so far.2 We expanded
the set, incorporating the functions of the renowned computer scientist’s HP-16C, the
fraction mode of the HP-32SII, and probability distributions similar to those of the HP-21S.
We also included numerous additional useful functions for mathematics, statistics,
physics, engineering, programming, I/O, etc., such as
+ Euler’s Beta and Riemann’s Zeta functions, Bernoulli and Fibonacci numbers,
Lambert’s W, the error function, and the Chebyshev, Hermite, Laguerre, and
Legendre orthogonal polynomials (no more need to carry heavy printed tables),
+ many statistical distributions and their inverses: Poisson, Binomial, Geometric,
Cauchy-Lorentz, Exponential, Logistic, Weibull, Lognormal, and Gaussian,
+ programmable sums and products, first and second derivatives, solving quadratic
equations for real and complex roots,
+ testing for primality,
+ integer computing in fifteen bases from binary to hexadecimal,
+ extended date and time operations and a stopwatch3 based on a real-time clock,
+ financial operations such as mean rate of return and margin calculations,
+ 88 conversions, mainly from old Imperial to universal SI units and vice versa,
+ 50 fundamental physical constants as accurate as used today by national standards
institutes such as NIST or PTB, plus a selection of important constants from
mathematics, astronomy, and surveying,
+ bidirectional serial communication with your computer, as well as printing on an HP
82240A/B 4,
+ battery-fail-safe on-board backup memory,
+ Greek and extended Latin letters covering the languages of almost half of the world’s
population (upper and lower case in two font sizes), plus mathematical symbols.
1
RPN stands for reverse Polish notation, a very effective and coherent method of calculating (see p. 15).
2
The matrix menu of the HP-42S cannot be supported by WP 34S for hardware reasons. Your WP 34S
features a set of basic matrix commands and several library routines dealing with matrices instead.
3
The stopwatch requires adding a quartz crystal and two tiny capacitors.
4
Printing requires adding an IR diode and a resistor. Even a USB board is available for your WP 34S.
WP 34S Owner’s Manual Edition 3.1 Page 7 of 211
WP 34S is the first RPN calculator overcoming the limits of a four-level stack –
stop worrying about stack overflow in calculations. WP 34S features a choice of two stack
sizes expanded by a complex LASTx register: traditional four stack levels for HP
compatibility, eight levels for convenient calculations in complex domain, for advanced real
calculus, vector algebra in 4D, or whatever application you have in mind. You will find a full
set of commands for stack handling and navigation in either stack size.
Furthermore, your WP 34S features up to 107 global general purpose registers, 112 global
user flags, up to 928 program steps in RAM, up to 6014 program steps in flash memory, a
30 byte alpha register for message generation, 16 local flags as well as up to 144 local
registers allowing for recursive programming, and 4 user-programmable hotkeys for your
personal favorite functions. Most of the memory layout is conveniently user-settable.
WP 34S is the result of a collaboration of two individuals, an Australian and a German, that
started in 2008. We developed WP 34S in our free time – so you may call it our hobby
(although some people close to us found other names for it). From the very beginning, we
have discussed our project in the forum of the Museum of HP Calculators. We would like
to thank all its international members, who taught us a lot and contributed their ideas and
lent their support throughout several stages of our project. Special thanks go to Marcus
von Cube (Germany) who joined us in bringing WP 34S to life by designing an emulator for
v1.14, allowing for widespread use and convenient testing. Starting with v1.17, the
software began running on an HP-20b hardware. A very useful assembler/disassembler
has been provided by Neil Hamilton (Canada) since v1.18 – even a symbolic preprocessor
has been added since v2.1. For v3.0, Pascal Méheut (France) contributed a versatile
flashing tool for various operating systems. With v3.1, printing on an HP82240A/B printer
became possible thanks to the gracious support by Christoph Gießelink (Germany); a set
of micro USB boards was developed by Harald Pott (Germany); Ciaran Brady (UK) wrote a
Beginner’s Guide for our WP 34S, and Christian Tvergaard and Peter Murphy (both USA)
carefully proofread this manual. We greatly appreciate all your support!
We named our baby WP 34S in honor of the HP-34C from 1979, one of the most powerful
compact LED pocket calculators. WP 34S is our humble approach – within the constraints
of HP’s hardware – to a future 43S we can only dream of succeeding the HP-42S at one
point. May our project help to convince those that have access to more resources than we
do: Catering to the market for serious scientific instruments is well worthwhile!
We carefully checked all aspects of WP 34S to the best of our ability. Our hope is that
WP 34S is free of severe bugs. However, this cannot be guaranteed. We promise to
continue improving WP 34S whenever necessary. If you discover any strange results,
please report them to us. If they turn out to be caused by internal errors, we will provide
you with an update as soon as it is available. Just as before, we will continue striving to
maintain short response times.
Enjoy!
Throughout this manual, standard font is Arial. Emphasis is added by underlining or bold
printing. Specific terms, titles, trademarks, names or abbreviations are printed in italics,
hyperlinks in blue underlined italics. Bold italic letters such as n are used for variables;
constant sample values (e.g. of labels or displayed characters) use bold normal letters.
Calculator COMMANDS are generally called by their names, printed in capitals in running
text.
This font is taken for explicit references to calculator keys. Alphanumeric and numeric
displays (such as Hello! and 12,34 ) are quoted using the respective calculator fonts
where applicable and beneficial.
Register ADDRESSES are printed using bold Times New Roman capitals, while register
contents are expressed by lower case bold italics. So e.g. the value y lives in stack register
Y, r45 in general purpose register R45, and alpha in the alpha register. Overall stack
contents are generally quoted in the order [ x, y, z, …] . Lower case normal italics are for
units.
Finally: WARNING indicates the risk of severe errors. There are only four warnings printed in this
manual. Locking up your calculator is the worst that can happen to it, as far as we know.
If you know how to deal with a good old Hewlett-Packard RPN scientific calculator,
you can start using your WP 34S almost right away. Use this manual to get
information on some basic design concepts that put your WP 34S ahead of previous
RPN calculators. Continue using this manual for reference.
On the other hand, if this is your first RPN scientific calculator at all or the first you
use for a long time, we recommend you get an HP-42S Owner’s Manual. It is
available at low cost on a DVD distributed by the Museum of HP Calculators (see
here: http://www.hpmuseum.org/cd/cddesc.htm ).
Further documentation, including complete information about the other vintage calcu-
lators and the famous PPC ROM mentioned in this manual, is readily accessible on
said DVD, too.
Alternatively to the HP-42S Owner’s Manual, you can download a dedicated WP 34S
Beginners Guide, recently written by one of our users:
http://sourceforge.net/projects/wp34s/files/doc/WP_34S_Beg_Guide.pdf .
Most traditional commands on your WP 34S will work as they did on the HP-42S. This little
manual here is meant as a supplement presenting all the new features. It contains the
necessary information about them, including equations and technical explanations; it is not
intended, however, to replace textbooks on mathematics, statistics, physics, engineering,
or programming, nor is it a hypothetical Beginner’s Guide to RPN Computing.
The following text starts with presenting you the user interface, so you learn where you will
find what you are looking for. It continues by demonstrating some basic methods, the
WP 34S memory and addressing items therein, and the display and indicators that give
you feedback about what is going on. Then the major part of this manual consists of an
index of all available operations and how to access them, and of lists of all catalog
contents. This manual closes with appendices covering special topics, e.g. a list of error
messages your WP 34S will return if abnormal conditions prevent it from executing your
command as expected. There you will also find instructions for keeping your WP 34S up-
to-date when new firmware revisions appear.
Start exploring your WP 34S: Press its bottom left key to turn it on – notice that .ON. is
printed below that key. If you turn on your WP 34S the very first time, you will get what you
see displayed below. To turn it off again, press the green key (notice a little ⓗ showing
up top left in display), then (which has OFF printed on its lower part). Since your
WP 34S has Continuous Memory, turning it off does not affect the information it contains.
To conserve battery energy, your WP 34S will shut down some five minutes after you stop
using it – when you turn it on again, you can resume your work right where you left off.
Time for a little problem solving example. Turn your WP 34S on again if necessary (it
may have shut down automatically in the meantime). Anyway it will still show its last
display
5
.
Now let us assume you want to fence a little rectangular patch of land, 40 yards long
and 30 yards wide. 6 You have already set the first corner post (A), and also the
second (B) in a distance of 40 yards from A. Where do you set the third and fourth
post (C and D) to be sure that the fence will form a proper rectangle? Simply key in
So, just get 80 yards of rope, nail its one end on post A and its other end on B, fetch
the loose loop and walk 30 yards away. When both sections of the rope are tightly
stretched, stop and place post C there. You may set post D the same way.
This method works for arbitrary rectangles: whatever other distances may apply in
your case. As soon as you press , your WP 34S does the necessary calculation
of the diagonal automatically for you. You just provide the land, posts, rope, hammer
and nails. And it will be up to you to set the posts!
5
If your WP 34S fails to show this display for any reason whatsoever (e.g. because you played around with it
a bit in the meantime), you will get it by sliding the battery cover open, locating the little hole below the label
RESET, and actuating the button behind it using a suitable pin. Then close the cover again and press .
6
This manual is written for an international readership, and we very well know the SI system of units agreed
on internationally and adopted by almost all countries on this planet. Despite this fact, we use (old British)
Imperial units here so our US-American readers can follow. But the example will work with meters as well.
7
Note the number 40 being adjusted to the right and a radix mark added. This indicates input being closed
for this number.
Generally, we shall quote only numeric displays in the following for space reasons, using the proper font.
And for better readability on paper, we refer to keyboard labels using dark print on white like e.g. or
, omitting the prefix for the latter since redundant by color print. Also we will use points as radix
marks, although significantly less visible than commas, unless specified otherwise explicitly. By experience,
“comma people“ seem to be more capable of reading radix points and interpreting them correctly than vice
versa.
WP 34S Owner’s Manual Edition 3.1 Page 12 of 211
As you have found on the keyboard next to two other labels showing arrows as well,
the labels on your WP 34S are generally grouped according to their purposes. Generally,
functions and their inverses – if existent – are placed next to each other. If a function is
called using , its inverse is called using . Besides
the keys for numeric input ( , , , …, , , , , , and ),
the three prefixes explained so far ( , , and ), and
the four elementary arithmetic operations ( , , , and ),
there are five larger groups of labels as outlined below:
Stack and
register
Mathematical operations
functions typ-
ically working
with real Integer
numbers and logic
operations
Probability
and statistics
Program-
ming
Getting used to the groups, you will very soon find your functions on your WP 34S easily.
Most of the 168 labels printed on it point to operations carrying simply the same name.
, for instance, calls the function ALL and calls FIX. In the example above,
however, pressing called the function POL – there are a few special labels like this.
Let us introduce them to you, starting top left on the keyboard:
WP 34S Owner’s Manual Edition 3.1 Page 13 of 211
1. , , , and are named hotkeys – calling directly the user programs carrying
these labels. Take your chance to make up to four of your favorite functions directly
accessible. Unless the respective labels are defined, these keys act as
, , , or , respectively, as is printed above them.
2. (i.e. + ) is the
prefix for hyperbolic functions
SINH, COSH, and TANH;
(i.e. + ) is the
prefix for their inverses ASINH,
ACOSH, and ATANH. Similar-
ly, stands for ASIN, etc.
3. is a prefix for direct con-
version of the value displayed
(i.e. x). It may be trailed by
, , , , or
(the respective function
names then read e.g. H.MS).
trailed by , , or
will display x converted to an
integer of the respective base.
is also used for indirect
register access (see below).
converts polar to rect-
angular coordinates in a plane,
converts vice versa. So
this pair covers the two classic
coordinate transformations
(see REC and POL).
These are all the special labels featured. A complete list of each and every command
provided on your WP 34S, the keystrokes calling it, and the necessary individual
explanation is in the Index of Operations (IOP) below for your reference.
WP 34S Owner’s Manual Edition 3.1 Page 14 of 211
Let us return to our introductory example for two remarks8:
1. There is no need to enter units in your calculations. Just stay with a consistent set of
units and you will get meaningful results within this set.9 If you want to convert results
from one unit to another, however, see the catalog CONV described further below.
2. Although we entered integer numbers only for both sides of our little ground, your
WP 34S calculated the diagonal in default floating point mode. This allows for
decimal fractions of e.g. yards in input and output as well. Another mode lets you
enter proper fractions such as e.g. 6 ¼ where you need them. Your WP 34S features
more modes – we will introduce them to you from p. 35 on). Before, let us show you
some ways to enter numbers in your WP 34S and to further deal with them in typical
calculations .
Entering Numbers
Any numeric input will just fill the display and is interpreted when completed, not earlier.
8
Generally, we assume you have graduated from US High School at minimum, passed Abitur, Matura, or an
equivalent graduation. So we will not explain basic mathematical rules and concepts here.
And in four decades of scientific pocket calculators, a wealth of funny to sophisticated sample applications
has been created and described by different authors – more and better than we can ever invent ourselves.
It is not our intention to copy them. Instead, we recommend the DVD mentioned above once again:
it contains nearly all the user guides, handbooks, and manuals published for vintage Hewlett-Packard
calculators beginning with their very first, the HP-9100A of 1968. Be assured that almost every calculation
described there for any scientific calculator can be done significantly faster on your WP 34S – and often
even in a more elegant way.
9
The big advantage of SI is that it is the largest consistent set available.
WP 34S Owner’s Manual Edition 3.1 Page 15 of 211
Real Calculations
Most of the commands your WP 34S features are mathematical operations or functions
taking and returning real numbers such as 1 or -2.34 or or 5.6E-7. Note that integer
numbers such as 3, 10, or -1 are just a subset of real numbers.
Many real number functions provided operate on one number only. For example,
enter 0.49
2
and press . You will get 0.7 since 0.7 = 0.49 .
That is easy, isn’t it? Generally, such functions replace x (i.e. the value displayed) by its
result f(x) . In this example, f(x) .
The vast majority of calculators works this way, so this is no real surprise.
Some of the most popular mathematical functions, however, operate on two numbers
instead. Think of + and –, for example.
Example: Assume having an account of 1,234 US$ and taking 56.7 US$ away from
it. What will remain? One easy way to solve such a task works as follows:
Write down the 1st number: 1234 Key in the 1st number: 1234
st nd
Start a new line. Separate 1 from 2 :
nd
Write down the 2 number: 56.7 Key in the 2nd number:
56.7
And a major advantage of RPN compared to other entry systems for calculators is that it
sticks to this basic rule. Always.10
As the paper holds your operands before you calculate manually, a place holding your
operands on your WP 34S is required. The stack does that. It will also take care of
intermediate results, if applicable, as your paper may do. Turn overleaf to see how this is
done.
10
Some people claim this being true for RPL only. RPL is a language developed from RPN in the 1980’s.
Maybe they are even right. In my opinion, however, RPL strains the underlying postfix principle beyond the
pain barrier, exceeding the limit where it becomes annoying for the human brain. Not for everybody, of
course, but also for many scientists and engineers. Thus we decided to stick to RPN on the WP 34S.
WP 34S Owner’s Manual Edition 3.1 Page 16 of 211
Elementary Stack Mechanics
Think of the stack like a pile of registers 11 : bottom up, Stack register content
they are traditionally named X, Y, Z, T, optionally D d
followed by A, B, C, and D on your WP 34S. New input is C c
always loaded in X, and only its content x is displayed.
B b
separates two input numbers by closing the A a
number x and copying it into Y 12, so X can take another T t
numeric input then without losing information.
Z z
After having completed the second numeric input in the Y y
little account example above, subtracts x from y and Display X x
puts the result f(x, y) = y – x into X for display. This
method applies for most two-number real functions.
T
Z
Y 12.3 12.3
X 12.3 12.3 45.6 -33.3
Input
You will have recognized that the first parenthesis was solved exactly as shown in
our little account example above. Now proceed to the second parenthesis:
T
Z -33.3 -33.3
Y A -33.3 78.9 78.9 -33.3
X 78.9 78.9 1.2 80.1 -2,667.33
Input
11
Learn more about the registers provided by your WP 34S in next chapter.
12
This is the classic way ENTER worked from the HP-35 of 1972 until the HP-42S ceased in 1995. It is often
said ENTER ‘pushes x on the stack’. In doing so, the higher stack contents are lifted out of the way before.
So z goes into T and y into Z before x goes into Y. See page 20 for detailed stack pictures.
The HP-30b employs a different ENTER – the WP 34S sticks to classic RPN, however.
13
There may be data loaded in the higher stack levels already. They are from previous operations and are
not relevant for this calculation, so leave them aside here.
WP 34S Owner’s Manual Edition 3.1 Page 17 of 211
Note the result of the first parenthesis was lifted automatically (A) to Y to avoid
overwriting it when the next number was keyed in step 1 of this row. This is called
automatic stack lift and is standard in RPN calculators.14
And after having solved the second parenthesis in step 4 of row 2, we had the results
of both upper parentheses on the stack – so everything was ready for multiplication
to complete the numerator and we did it.
Now we will simply continue and start calculating the denominator:
T
Z -2667.33 -2667.33 A -2667.33
Y A -2667.33 3.4 3.4 -2667.33 A -2.2 -2667.33
X 3.4 3.4 5.6 -2.2 7 -249.43…
Input
Last job remaining is the final division of numerator by denominator. Both are on the
stack in the right order. Just press and see the result: 10.6934534648 .
As you have observed several times now, the contents of the stack registers drop when a
two-number function is executed. Like the automatic stack lift mentioned above, this stack
drop affects all levels: x and y are combined giving the result f(x, y) loaded into X, then z
drops to Y, and t to Z. Since there is nothing available above for dropping, the top stack
level content will be repeated here. You may employ this top level repetition for some nice
tricks. See the following compound interest calculation, for example:
Assume the bank pays you 3.25% p.a. on an amount of 15,000 US$; what would be
your account status after 2, 3, 5, and 8 years? You are interested in currency values
only, so set the display format to 2 for this. It causes the output being shown
rounded to next cent (internally, the numbers are kept with far higher precision).15
Here, each multiplication consumes x and y for the new product put in X, followed by
z dropping to Y, and t to Z. Due to top level repetition the interest rate is kept as a
constant on the stack, so the accumulated capital value computation becomes a
simple series of strokes.
14
For a four level stack, the full automatic stack lift procedure is moving z to T, then y to Z, and finally x to Y.
The old content of the top level T is overwritten. So automatic stack lift affects all stack levels. It will not be
indicated after this example anymore. In fact it is worth mentioning when automatic stack lift is disabled
since this is under fixed conditions only and occurs far rarer.
15
In the following, we will use plain text for numeric input for space reasons, unless mentioned otherwise.
WP 34S Owner’s Manual Edition 3.1 Page 18 of 211
Debt calculations are significantly more complicated – so avoid debts whenever
possible! In the long run, it is better for you and the economy. Nevertheless, you can
cope with those calculations using your WP 34S as well (see further below).
There are also a few three-number real functions featured by your WP 34S (e.g.
DATE and %MRR) replacing x by the result f(x, y, z) . Then t drops into Y and so on,
and the content of the top stack level is repeated twice.
Some real functions (e.g. DECOMP or DATE ) operate on one number but return two or
three. Other operations (such as RCL or SUM) do not consume any stack input at all but
just return one or two numbers. Then these extra numbers will be pushed on the stack,
taking one level per real number.
For the first time ever in a calculator, your WP 34S offers you a choice of four or eight
stack levels (see SSIZE4 and SSIZE8). Thus, the fate of stack contents depends not only
on the particular operation executed and its domain but also on the stack size chosen.
Real functions in a four-level stack work as known for decades. In the larger stack of your
WP 34S everything works alike – just with more levels for intermediate results. Turn
overleaf for details.
Level
at the number numbers
beginning: ENTER FILL DROP x y R R LASTx such as x2 such as /
T t = 44.4 33.3 11.1 44.4 44.4 11.1 33.3 33.3 44.4 44.4
With 4
stack Z z = 33.3 22.2 11.1 44.4 33.3 44.4 22.2 22.2 33.3 44.4
levels Y y = 22.2 11.1 11.1 33.3 11.1 33.3 11.1 11.1 22.2 33.3
X x = 11.1 11.1 11.1 22.2 22.2 22.2 44.4 last x 123.21 2
D d = 88.8 77.7 11.1 88.8 88.8 11.1 77.7 77.7 88.8 88.8
With 8
stack C c = 77.7 66.6 11.1 88.8 77.7 88.8 66.6 66.6 77.7 88.8
levels B b = 66.6 55.5 11.1 77.7 66.6 77.7 55.5 55.5 66.6 77.7
A a = 55.5 44.4 11.1 66.6 55.5 66.6 44.4 44.4 55.5 66.6
T t = 44.4 33.3 11.1 55.5 44.4 55.5 33.3 33.3 44.4 55.5
Z z = 33.3 22.2 11.1 44.4 33.3 44.4 22.2 22.2 33.3 44.4
Y y = 22.2 11.1 11.1 33.3 11.1 33.3 11.1 11.1 22.2 33.3
X x = 11.1 11.1 11.1 22.2 22.2 22.2 88.8 last x 123.21 2
Using the stack, RPN makes all parentheses such as , , , , , or completely unnecessary in calculations. There is no
operator precedence. Here is another example showing a slightly more complicated formula and the keystrokes used for solving it:
7 4 5 6
6.5 5.9 3 7 1.7
3.5 complete denominator
7.6 .8 30 7 4
6 5 5.1
.3 1 complete numerator
complete result (0.37)
Calculating such a formula from inside out stays a wise strategy. If you had started with
the numerator of that sample formula straight ahead, you would have needed five levels
for its complete solution. With eight levels as provided here, you will be on the safe side
even with the most advanced equations you compute in your life as a scientist or engineer.
Let your WP 34S do the arithmetic while you do the mathematics!
Error Recovery
Nobody is perfect – errors will happen. With RPN, however, error recovery is easy even in
long calculations since your WP 34S loads x into the special register L (for Last x) auto-
matically just before a function is executed.16 How does this help in real life?
1. If you got an error message in response to your function call, press to erase that
message and you will return to the state before that error happened. Now do it right!
2. If you have erroneously called a wrong one-number function (or ), just press
17
and to undo it. These two steps restore the stack exactly as it was
before the error happened – then resume calculating where you were interrupted.
T older stuff older stuff older stuff older stuff older stuff older stuff older stuff
Z old stuff older stuff old stuff older stuff old stuff older stuff older stuff
Y numerator old stuff num * den old stuff num old stuff old stuff
X denominator num * den den num den num/den 0.37
Input
Fine so far. Oops! 1 2 3 Resume
In step 1, recalls the complete denominator, the last x before the error.
Step 2 undoes the erroneous operation by executing its inverse.
Finally, step 3 regains the stack exactly as it was before the mistake. Now you can
simply resume your calculation and you will get the correct complete result.
16
There are only a few commands changing x but not loading L. They are mentioned explicitly in the IOP.
17
Note there is a grey L printed bottom left of the key . Nevertheless, we will quote these keystrokes as
instead of for reasons becoming clear in the next section.
WP 34S Owner’s Manual Edition 3.1 Page 21 of 211
An erroneous may be undone the same way:
T older stuff older stuff older stuff older stuff older stuff
Z old stuff older stuff old stuff older stuff old stuff
den
Y num old stuff num old stuff num
den
X den num den num den
Input
Oops! 1 2 3
More advanced two-number functions may require more effort for error recovery.
Having called x inadvertently can be undone, too, but needs an additional
auxiliary register:
T older stuff older stuff older stuff older stuff older stuff older stuff older stuff
Z old stuff older stuff old stuff old stuff old stuff older stuff old stuff
Y num old stuff LOGdnnm LOGdnnm den old stuff num
X den LOGdnnm den den LOGdnnm num den
Input x 00 00
Oops! 1 2 3 4 5
Generally, this kind of recovery procedure requires that the inverse of the erroneous
operation is provided.
4. Inadvertent pushes on the stack can be undone by executing DROP once (for
, , , , and alike) or twice (e.g. for or ). You will lose the
contents of the top (two) stack level(s) by this mistake, however, so set your stack to
eight levels to minimize the effects.
Your WP 34S features more than 600 different commands. 168 labels are printed on the
keyboard. So how do you learn about the other commands? And when you know their
names, how can you call them?
The answer to the first question is most easy: read! The IOP contains everything.
The answer to the second question is less obvious, but easy as well: the ‘hidden
commands’ are stored in catalogs. Remember labels underlined point to such collections
of commands. You will find such labels on your WP 34S on the slanted fronts of ten keys.
For example, + points to , the largest catalog provided.
meaning 0.46875 = 15 / 32 .
And answering the question of last section, is stored in as well. Just key in
and you get ↕ ᵡ√y .
Now you know sufficient about calling commands and real calculations on the stack.
There are, however, far more places in your WP 34S where numbers may be stored and
saved, and there are also more objects than just real numbers your WP 34S can handle
for you. Let us show them to you.
During input processing in memory addressing, e.g. while entering parameters for
storing, recalling, swapping, copying, clearing, or comparing, you will need far less than
the 168 labels presented on the keyboard. Just 34 keyboard labels will do instead. The
calculator mode supporting exactly these 34 labels (and no more) is called transient
alpha mode. As shown in examples on the next two pages, it may be (temporarily) set in
cases as outlined above. Entering αT mode, the keyboard is automatically reassigned to
work as pictured here:
MODE
A B C D
This kind of picture is called a
virtual keyboard since it
I deviates from the physical (or
real) one of your WP 34S.
ENTER In such a picture, dark red
background is used to high-
J K L light changed key function-
7 8 9 / ality. White print denotes
primary functions also on
virtual keyboards, such as
▲ 4 5 6 × the top left key entering the
letter A in αT mode directly.
T* On the other hand, what is
▼ 1 2 3 – printed white on your physical
WP 34S is called a default
primary function.
EXIT 0 ● +
X* Y Z*
Note all keys are primary in αT mode – no shift keys needed. This allows for fast and
easy input of a limited character set. So you can reach all register addresses available
with a minimum of keystrokes.
Special rules may apply for T, X, and Z here – see two pages below.
αT mode will be terminated or left (returning to the mode set before) as soon as sufficient
characters are put in for the respective step. You may delete pending input (character by
character) using or just abort the pending command by – the latter will leave
αT mode immediately.
1 User
, , x< ?, x≤ ?, x≈ ?, x≥ ?, or x> ?
input
Echo OP? nn
e.g.
x≠? 23
Compares x with
the number stored in
R23.
18
You may skip this keystroke for register addresses >19 or local registers. The latter start their address
with a – see the section about programming and Appendix B below.
Echo OP x OP nn OP _
e.g. SF K e.g. SCI 10
Echo OP x OP nn
e.g. VIEW→L e.g. STO→45
Type Number range21 (some more registers and flags carry letters)
}
Registers 0 … 99 for direct addressing of global numbered registers upper limits
.0 … .15 for direct addressing of local registers depend on
0 … 255 for indirect addressing (≤111 without local registers) allocation
Flags 0 … 99 for direct addressing of global numbered flags
.0 … .15 for direct addressing of local flags if allocated
0 … 127 for indirect addressing (≤111 without local flags)
Decimals 0 … 11
Integer bases 2 … 16
Bits 0 … 63, word sizes up to 64 bits
19
For and , any of , , , , , or may precede step 2, except in and
. Entering the operator twice will remove it, e.g. equals .
Note calls ENGOVR and calls SCIOVR. See the index of operations.
20
Exceptions: , , , , DISP, and BASE accept lettered registers in indirect addressing only.
Else, specifying register X as well as RCL T, STO T, RCL× T, STO× T, RCL Z, STO Z, RCL+ Z and
STO+ Z require an heading the letter, e.g. for the latter.
21
For short numbers, you may key in e.g. instead of .
If you know of matrices, however, note your WP 34S features a set of operations for
adding, multiplying, inverting and transposing matrices, as well as for manipulating rows
in such matrices. In general, the respective commands are building blocks designed to
provide the low level support routines for creating more useful matrix functions in the
form of keystroke programs. I.e. they represent the basic linear algebra subprograms of
the WP 34S matrix support. On the other hand, your WP 34S also provides functions for
computing determinants or for solving systems of linear equations.
A matrix is represented within your WP 34S by its descriptor, formatted bb.rrcc with
rr being the number of rows and
cc the number of columns it features. Thus this matrix has rr × cc elements.
These elements are stored in consecutive registers starting at base address |bb| .
The matrix descriptor 7.0203 tells you where the values of these elements are
stored:
Depending on the current contents of these registers, the actual matrix may
look like this:
, for example.
A vector may be regarded as a special case of a matrix featuring either one row or one
column only. Thus, a vector descriptor looks like bb.01cc or bb.rr01 . Library
routines are readily provided for 3D vector calculus.
Complex Calculations
Mathematicians know of more complicated items than real numbers. There are also
complex numbers. If you do not know of them, leave them aside – you can use your
WP 34S perfectly without them.
If you know of complex numbers, however, note your WP 34S supports many operations
in complex domain as well. The key is employed as a prefix for calling complex
functions. E.g. calls the complex cosine, and it is displayed and listed as
C
COS (the elevated C is the signature for complex functions in your WP 34S).
22
The HP-42S supported a special data type for complex numbers. This is not viable using the hardware
of the HP-30b, however. See Appendix F for the reasons.
Two-number real functions replace x by the result f(x, y) as shown above. In complete
analogy, two-argument complex functions replace x by the real part and y by the
imaginary part of the complex result Cf(xc, yc) . The next stack levels are filled with the
complex contents of higher levels, and the complex number contained in the top two
stack levels is repeated as shown overleaf. Such complex functions are the basic
arithmetic operations in complex domain as well as CIDIV, CLOGX, Cyx, Cx√y, Cβ, and C||.
Turn to the stack diagrams overleaf for further details.
Where a complex operation (such as CRCL) does not consume any stack input at all but
just returns a complex number, this number will be pushed on the stack taking two
levels.
Whenever a complex result is displayed, a capital C is lit in the upper left corner of the
LCD reminding you to look also at stack level Y at least.
With 8 D Im( tc )
stack zc xc tc tc xc zc zc tc tc
C Re( tc )
levels
B Im( zc )
yc xc tc zc tc yc yc zc tc
A Re( zc )
T Im( yc )
xc xc zc xc zc xc xc yc zc
Z Re( yc )
Y Im( xc )
xc xc yc yc yc tc last xc (xc)2 yc / x
Re( xc ) c
X
So, an 8-level stack gives you the same flexibility in complex domain you are used to with a 4-level stack in real domain. See the IOP
for all commands supported in complex domain. Many of them are contained in the complex X.FCN catalog.
You can use complex domain for 2D vector algebra as well. The functions CABS, C+, C–, CCROSS, CDOT, and CSIGN wait for you.
ENTER x y +/–
CONST x
FILL
Note that a second
7 8 9 / , a , or
directly after will
e X LN 10 X LG 2X LB y X LOGX 1 /x || just cancel the prefix
4 5 6 , so you return to
× the default keyboard
!
Cy,xPy,x √x x 2 assignments.
1 2 3 –
X.FCN
x=≠ ? Constants in complex
domain and such cal-
EXIT i + culations occupy two
registers like all other
I x I RND IP FP STOPW complex numbers!
Pure real constants, identified by a zero imaginary part, are easily put in for complex
calculations as follows:
real_constant , or alternatively
n for integers 0 < n ≤ 9 only.
In programming, # n with 0 ≤ n ≤ 256 will save steps.
Pure imaginary constants, on the other hand, having a zero real part, are entered thus:
imaginary_constant .
1 User or
input
Echo OP _
(with mode set)
e.g.
©x=_?
Echo OP? nn
e.g.
©x≠? 26
Compares x + i y
with r26 + i r27 .
23
You may skip this keystroke for register numbers >19 or local registers. The latter start with a – see
the section about programming and Appendix B below.
WP 34S Owner’s Manual Edition 3.1 Page 33 of 211
1 User
, , or
input
Echo OP _
(with mode set)
e.g.
©RCL _24
Echo OP x OP nn OP _
e.g. e.g.
©RCL L ©STO 18
C
3 User This is LASTx –
input the real part is recalled
from register L to X,
the imaginary part Stack level or lettered Register number
from I to Y. register … ,
, , ... , … ,
if the respective register is
allocated.
Echo OP x OP nn
e.g. e.g.
©x⇆→Z ©STO→45
Swaps x and the content of the register where z is pointing to, Stores x + i y into
and y with the content of the next one. 2 consecutive registers,
Assume e.g. x = 4, y = 3, z = 20, r20 = 5, r21 = 6, then you starting with the register
will find x = 5, y = 6, r20 = 4, r21 = 3 after x
c
Z. r45 is pointing to.
ATTENTION: A complex operation will always affect a pair of registers: the one
specified and the one following this. To avoid ambiguity we strongly recommend
storing complex numbers with their real parts at even register addresses always. This
is guaranteed if you specify an even register number in direct addressing.
24
For and , any of , , , or may precede step 2. See the index of operations.
25 C C C C
Exceptions: RCL Z, RCL+ Z, STO Z, and STO+ Z require an preceding , e.g.
for the latter.
WP 34S Owner’s Manual Edition 3.1 Page 34 of 211
YOUR WP 34S IN VARIOUS OPERATING MODES
The Display
The LCD is your window to your WP 34S – there you see what is going on and what the
results are. This display sports a total of 400 elements in three sections: numeric, dot
matrix and fixed symbols. The numeric section features a minus sign and 12 digits for the
mantissa, as well as a minus sign and 3 digits for the exponent. The dot matrix is 6 dots
high and 43 dots wide, allowing for some 7 to 12 characters, depending on their widths.
The fixed symbols on the top right side (except the big ‘=’) are called annunciators.
The numeric section in the lower part of the LCD is used for displaying numbers in
different formats, status data, or message parts. See the examples below for more.
The dot matrix section above is used for passing additional information to the user.
During command input, for example, the dot matrix displays the command chosen
until input is completed, i.e. until all required trailing parameters are entered. The
prefixes , , , and are shown until they are resolved ( goes
with by default). If you pressed any such prefix erroneously, recovery is as easy
as follows:
o = = = = = NOP
o = = = NOP
o = = NOP
o = =
= =
= =
In addressing, progress is recorded as explained in the tables above in detail. You
may edit or cancel such pending operations by or (see p. 119ff).
If two or more requests compete for display space, the priorities are:
1. error messages as described in Appendix C,
2. special information as explained below,
3. information about the modes your WP 34S is running in.
The annunciators or specific characters either in the dot matrix or in the exponent section
indicate most modes and system states:
program pointer
BEG otherwise
at step 000
STO , Programming mode
flashes while a
RCL program is program stopped
running
RAD ,
Angular mode (see p. 42)
360 ,
almost every See p. 38 for handling of
RPN a temporary message
command temporary messages in general.
_c_ carry set, , carry clear Indicate the respective bits set in
integer modes (see p. 53).
__o overflow,
ⓕ
see p. 35 Transient signal of prefix pending
ⓖ
Ⓖ , Angular mode (see p. 42)
ⓖ →
see p. 35 Transient signal of prefix pending
ⓗ
M.DY M.DY, SETUS
any other date or region
Y.MD, SETJPN, Date modes (see p. 39)
Y.MD setting
SETCHN
Defaults D.MY and DECM are not indicated. Radix marks and separators are seen in the
numeric output immediately, time modes (12h / 24h) in the time string. The numeric format
of fraction mode (FRC) is unambiguous as well. Check the examples shown on p. 40ff.
Some mode and display settings may be saved and recovered collectively by STOM and
RCLM. These are stack depth, display contrast, complete decimal display settings, trig
mode, choices for date and time display, parameters of integer and fraction mode, curve fit
model, rounding mode, and precision selected. STOM stores this information in the
register you specify. RCLM recalls such a register content and sets the WP 34S modes
accordingly.
ATTENTION: Ensure that you actually recall mode data – else your WP 34S may be
driven into very strange settings and it may cost you considerable effort to recover
from that unless you find your previous modes stored elsewhere! See Appendix H.
All keyboard input will be interpreted when the input is completed, according to the modes
set at input time.
Some common commands use the LCD in a special way. The respective operations are
listed below. Three of them (and more mentioned further below) present temporary
messages as defined here:
1. returns very useful information about current memory allocation and the
space available. It continues showing the user flags set. See p. 127 for a detailed
description of this browser.
2. VERS generates a temporary message showing you version and build of the firmware
running on your WP 34S.
3. ERR and MSG display the corresponding error message as a temporary message. See
Appendix C for more.
4. A few far-reaching commands (such as CLALL, for example) will ask you for
confirmation before executing. Answer (by pressing ) or (pressing ).
Also or will be read as , all other input will be ignored.
Further commands returning special displays and temporary messages are specific to
particular modes of your WP 34S and are thus covered in the sections following.
Floating point modes cover the ‘usual’ numbers you calculate with: decimal real or
complex numbers, fractions, measured values, times and dates. DECM is the startup
default mode of your WP 34S. Many commands apply exclusively to it and its sub-modes.
Set display preferences according to your region's practices at once using single
dedicated commands:
26
See http://upload.wikimedia.org/wikipedia/commons/a/a8/DecimalSeparator.svg for a world map of radix
mark use. Looks like an even score in this matter. Thus, the international standard ISO 31-0 allows either a
decimal point or a comma as radix mark, and requires a narrow blank as separator of digit groups to avoid
misunderstandings. The numeric display hardware of HP-20b or HP-30b, however, does not allow for
narrow blanks.
27
See http://upload.wikimedia.org/wikipedia/commons/0/05/Date_format_by_country.svg for a world map of
date formats used. The international standard ISO 8601:2004 states 24h for times, Y.MD for dates. This
combination is commonly used in East Asia.
28
This column states the year the Gregorian Calendar was introduced in the particular region, typically
replacing the Julian Calendar (in East Asia, national calendars were replaced in the respective years). Your
WP 34S supports both 1582 and 1752. See the index of operations for JG1582 and JG1752.
WP 34S Owner’s Manual Edition 3.1 Page 39 of 211
Floating Point Modes – 2: Displaying Decimal Numbers, Fractions, Times, etc.
1. For floating point decimal numbers, startup default allows displaying all digits as
long as they fit the display width; it will switch to SCIentific (i.e. mantissa plus exponent)
notation to avoid flowing over the display limits. This format is ALL 00, SCIOVR.
Besides ALL and SCI, there are two more numeric display formats, FIX and ENG. Their
effects can be most easily demonstrated and distinguished using an example:
Within FIX, the radix mark will always stay at the FIXed position defined. The radix
2 2
mark floats in the other notations, where e.g. 1.0712 represents 1.0712∙10 , while
-3 -3
18.670 V would mean 18.67∙10 V = 18.67 mV. Within ENG, the exponent will
always be a multiple of three corresponding to the unit prefixes in SI – thus it is called
the ENGineer’s notation.
As soon as a number entry is completed, the mantissa will be displayed adjusted to the
right, the exponent to the left. Within the mantissa, either points or commas may be
selected as radix marks, and additional marks may be chosen to separate thousands.
Assume the display set to FIX 4 again. Key in 12345678 901 , and you get
Without these separators (i.e. E3OFF), the same number will look like this:
or
29
These separators may also be beneficial in fraction mode described below.
WP 34S Owner’s Manual Edition 3.1 Page 40 of 211
With ENG 3 and after , you will get
or
When the last operation executed has returned a complex result, C is lit in the top left
of the LCD pointing to the fact that you will find the result of this function in X and Y.
2. and display the full number x, i.e. all sixteen digits present internally in the
mantissa of standard floating point numbers (imagine a radix mark after the first digit),
and all digits of the exponent almost like in scientific display format. All this is shown in
one temporary message, working like the SHOW command in the HP-42S.
3. Fraction mode works similarly to the one in the HP-35S or the HP-32SII. In particular,
DENMAX sets the maximum allowable denominator (see the IOP). Display will look like
in the examples below – fractions are adjusted to the left. If the fraction is exactly
equal, slightly less, or greater than the floating point number converted, =, Lt, or Gt is
indicated in the exponent, respectively. On your WP 34S, fraction mode can handle
numbers with absolute values less than 100,000 and greater than 0.0001. Maximum
denominator is 9999. Underflows and overflows will be displayed in the format set
before fraction mode was entered.
3
since 1/3 > 0.333333333333.
Pressing results in
Now, enter for converting this into a proper fraction.30 You get
with a little hook left of the first digit shown. This indicates the leading integer
number is displayed incompletely – there are at least two digits preceding 47
but no more display space. Press (see the previous point) to unveil the
integer part of this proper fraction as 2247.
Numeric input in fraction mode is straightforward and logically coherent. If you enter
two points, the first is interpreted as a space, the second as a fraction mark:
12 3/4
1/2
1 0/1 ( = 1 0/2) 31
4. There are three angular modes featured: DEG, RAD, and GRAD. 32 And degrees
(DEG) may be displayed in decimal numbers as well as in hours, minutes, seconds and
hundredth of seconds (H.MS). The usual angular conversions are provided:
30
This is a new feature compared to previous RPN calculators. By the way, ‘proper fractions’ cover “echte
Brüche” (like ¾) and “gemischte Brüche” (like 2 ½) in German.
31
This display of an integer number tells you unambiguously your WP 34S is in proper fraction mode. For
comparison, note the HP-32SII reads as ½ – but this is not consistent with its other input
interpretations in fraction mode.
WP 34S Owner’s Manual Edition 3.1 Page 42 of 211
Example: Enter the following: and you will see:
Choose radians as current
angular mode.
300 4 0.0105 So /300
0.6000 are exactly 0.6°
0.3600 or 0°36’0”.
… to degrees H.MS — — — —
… to decimal degrees —
rad→° G→°
… to radians — —
°→rad G→rad
… to gon (grad) — —
°→G rad→G
5. For fitting measured and accumulated data points with a regression curve, four
mathematical models are provided as in the HP-42S. See the commands EXPF, LINF,
LOGF, and POWERF in the IOP. The command BESTF will set your WP 34S to select
the model resulting in the greatest absolute correlation coefficient (see CORR).
,
the fit model applied is displayed temporarily after each command related to fitting (i.e.
after CORR, COV, L.R., sXY, x, ŷ). Like with all other auto-functionality, you should
know what you are doing here.
32
This traditional calculator notation is misleading in German at least: DEGrees on your WP 34S mean
“Grad”, while GRADs are called “Gon”.
WP 34S Owner’s Manual Edition 3.1 Page 43 of 211
6. In H.MS display mode, entered via , decimal numbers are converted and
displayed in a format hhhh°mm'ss.dd" with the number of hours or degrees limited to
9,000. This temporary message may look like
For decimal times less than 5ms or 0.005 angular seconds but greater than zero,
an u for underflow will be lit in the exponent section:
Note there are no leading zeroes in the hours, minutes, and seconds sections.
For times or angles exceeding 9,000, an o is shown in the exponent section signaling
an overflow, and the value is displayed modulo 9,000.
For example:
7. WDAY returns a display looking like the following for an input of 13.01201 in default
D.MY mode (equivalent to inputs of 2010.0113 in Y.MD or 1.13201 in M.DY):
33
Dates before the year 8 may be indicated differently to what they really were due to the inconsistent
application of the leap year rule before this. We count on your understanding and hope this shortcoming
will not affect too many calculations.
WP 34S Owner’s Manual Edition 3.1 Page 44 of 211
Floating Point Modes – 3: Real Statistical Calculations
Besides the basic functions and , you will find a lot of statistical commands
embedded in your WP 34S, going far beyond the Gaussian distribution. They are all
concentrated in the light green frame shown in the picture. Many preprogrammed
operations are implemented in your WP 34S for the first time ever in an RPN calculator –
we packed-in everything we always had missed.
, , and
stand for x!, COMB,
and PERM as intro-
duced above.
The shifted functions of cover statistical distributions: standard normal Φ and its
inverse Φ , as well as the catalog covering nine more continuous distributions
and three discrete ones. All these functions have a few features in common:
Discrete statistical distributions (like Poisson and Binomial) are confined to integers.
Whenever your WP 34S sums up a probability mass function (pmf 34) to get a
cumulated distribution function (cdf) it starts at . Thus,
m
F (m) p ( n) Pm .
n 0
Whenever your WP 34S integrates a function, it starts at the left end of the integration
interval. Thus, integrating a continuous probability density function (pdf) to get a
cdf typically works as
x
F ( x) f d Px .
34
In a nutshell, discrete statistical distributions deal with “events” governed by a known mathematical model.
The pmf then tells the probability to observe a certain number of such events, e.g. 7. And the cdf gives the
probability to observe up to 7 such events, but not more.
For doing statistics with continuous statistical variables – e.g. the heights of three-year-old toddlers –
similar rules apply: Assume we know the applicable mathematical model. Then the respective cdf gives the
probability for their heights being less than an arbitrary limit value, for example less than 1 m. And the
corresponding pdf tells how these heights are distributed in a sample of let’s say 1000 children of this age.
BEWARE: This is a very rudimentary sketch of this topic only – turn to good textbooks about statistics
to learn dealing with it properly.
The terms pmf and pdf translate to German „Dichtefunktion“ or „Wahrscheinlichkeitsdichte“, cdf to
„Verteilungsfunktion“ or „Wahrscheinlichkeitsverteilung“.
WP 34S Owner’s Manual Edition 3.1 Page 45 of 211
Many frequently used pdfs and
pmfs look more or less like the
ones plotted in the upper dia-
gram here. The corresponding
cdfs are shown below, using
the same colors. Typically, any
cdf starts with a very shallow
slope, becomes steeper then,
and runs out with a decreasing
slope while slowly approaching
100%. This holds even if the
respective pdf does not look as
nice and symmetric as the
examples here.
Obviously you get the most
precise results on the left side
of the cdf using P. On its right
side, however, where P ap-
proaches 1, the error prob-
ability Q=1–P is more
precise. Thus, your WP 34S
also computes Q for each
distribution, independent of P .
On your WP 34S, with an arbitrary cdf named XYZ you will find the name
XYZu for its error probability Q (also known as upper tail probability), if applicable,
XYZ -1 for the inverse of the cdf (the so-called quantile function or qf ), and
XYZP for its pdf or pmf.
This naming convention holds for Binomial, Cauchy (a.k.a. Lorentz or Breit-Wigner),
Exponential, Fisher’s F, Geometrical, LogNormal, Logistic, Normal, Poisson,
Student’s t, and Weibull distributions. Chisquare and Standard Normal (Gaussian)
distributions are named differently for reasons of tradition. See the catalog PROB and
the respective entries in the IOP. For those interested, some mathematical background
and further links may be found in Appendix I.
There is also a wealth of commands for sample and population statistics featured,
applicable in one or two dimensions. All these are located to the right of key on the
keyboard. After clearing the summation registers by , use (or the primary
shortcut top left on the keyboard) to accumulate your experimental data – typically
counted or measured values – as on the HP-42S etc.; weighted data require the weight in
Y, pairs of data or coordinates of data points must be provided in X and Y as usual.
is provided for easy data correction.
To get an idea of the possibilities provided and of some constraints inherent to statistics,
see the two sample applications shown here:
Application 1: Assume you own a little tool shop and want to know the quality of the
parts you produce. You drew a representative sample of nominally equal parts and
precisely measured their real sizes. How can you know your batch will be ok? That is
easy, based upon analysis of that sample.
Do you want to know what pin diameters you will get? Statistics cannot tell you
about all of them here but it will tell you where to find almost all (e.g. 99%) of
them.
Example (continued): Reset the summation registers and accumulate the ten
measured values:
03
12.356 1.000
12.362 2.000
12.360 3.000
12.364 4.000
12.340 5.000
12.345 6.000
12.342 7.000
12.344 8.000
12.355 9.000
12.353 10.000
99%
0.5% 0.5%
So based on the ten pin 12,321
12,352
12,383
sample analyzed, you may
expect 0.5% of all pins with
diameters smaller than
0.005 ↕ Norml⁸ 12.330
and another 0.5% with diameters greater than
0.995 ↕ Norml⁸ 12.375 .
Are you interested in the mean pin diameter of your batch? Do you want to know
the limit below which it will lie with a probability of e.g. 95%?35 Then determine
the applicable sample mean value and the size of its variation. Use them to find
said limit.
These chances are an inevitable consequence of the fact that you know something
about a sample only (being a limited, usually small number of specimens drawn from
a population), but want or have to tell something about said total population.38 If you
cannot live with these chances or the widths of the confidence limits, do not blame
statistics but collect more (or more precise) data instead.
Application 2: Assume you have taken a sample out of a process at day 1. Then
you have changed the process parameters, waited for stabilization, and now have
taken another sample of same size at day 2. Being serious, you have thoroughly
measured and recorded the critical value (e.g. a characteristic dimension) for each
specimen investigated at both days. Now: do the results of both samples show any
significant difference? The following simple three-step test is well established. It may
easily save yourself some unwanted embarrassments in your next presentation or
after your next publication39 :
37 -1
The upper limit can be calculated this easy way since t (p) is symmetric.
38
Statisticians call these chances ‘probabilities of a type I error’ or ‘probabilities of an error of the first kind’.
By the way, ‘confidence limit’ translates to German “Vertrauensbereichsgrenze”, ‘confidence level’ to
„Vertrauensniveau“, and ‘type I error’ to “Fehler 1. Art”.
39
This test goes back to DGQ (Deutsche Gesellschaft für Qualität). It assumes your data are drawn from a
Gaussian process, which is frequently the case in real life (but needs to be checked). Note the term
‘significant’ is well defined in statistics – this definition may deviate from common language.
Generally, standard confidence limits and levels, also those defined for indicating significant differences,
may depend on the country or industry you are working in. Be sure to check the applicable valid standards.
WP 34S Owner’s Manual Edition 3.1 Page 49 of 211
1. Let your WP 34S compute and the standard error sE for both samples, then
x1 x2
their normalized distance d . Assume you are working with four
s E21 s E2 2
stack levels still, this calculation could look like the following:
↕ SERR
returns both standard errors in X and Y.
this is the complete denominator now.
and this is d.
Also provide the degrees of freedom for the next two steps:
↕ nΣ
recall the number of specimens measured.
calculate the degrees of freedom
and store them where they belong for the
next step.
2. Let your WP 34S calculate the critical limit tcr of Student’s t for f degrees of
freedom and a probability of 97.5% now:
.975 0.975
↕ t⁸(p) as mentioned above, the requested qf lives
in catalog PROB.
executes this function, taking the degrees of
freedom stored in J to get tcr.
If d t cr then the test indicates the difference between both samples being due to
random deviations only. Congratulations – you have got a robust process regarding
the parameters you changed.
3. Let your WP 34S compute a new critical limit tcs for f and 99.5%:
.995 0.995
↕ t⁸(p) note this function shows up immediately
when opening the catalog again.
get tcs.
Integer modes are entered as described on p. 36. They are designed to deal exclusively
with integers – in input, output, and calculations. This is useful e.g. for computer logic and
system programming – typical applications of an HP-16C. Your WP 34S contains all the
functions of the HP-16C and more, and it allows for integer computing in fifteen bases from
binary to hexadecimal (see overleaf).
yX √x
A B C D
ALL FIX SCI ENG MODE
A B C D E F
Calculating in bases 11 … 15, those keys not needed for numeric input will work as shown
in the first picture above. In any integer base, attempts to enter an illegal digit from the
keyboard – such as e.g. 4 in binary – will be blocked.
40
In such cases, operations printed golden on the key plate cannot be called anymore. This means for the
key , for example, we cannot access in hexadecimal mode – no loss here, of course.
Reassignments are generally chosen this way. – Note may call a program if defined.
WP 34S Owner’s Manual Edition 3.1 Page 52 of 211
Integer Modes – 2: Displaying Integer Numbers
In integer modes, the mantissa section of numeric display shows the integer in X. The
exponent section is not needed for numeric display here but may transmit other
information. Sign and first digit of the exponent indicate the base set:
Base 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Carry and overflow – if set – show up as a c in the second or an o in the third digit
of the exponent, respectively. So in base 12, the exponent section may well look
like -2co . Generally, carry and overflow behave like they do in the HP-16C. Note
that they are flags – if you want to set, clear, or check them individually, use the flag
commands of your WP 34S.
Word size and complement setting are indicated in the dot matrix using a format xx.ww,
with xx being 1c or 2c for 1’s or 2’s complement, respectively, un for unsigned, or sm for
sign-and-mantissa mode. Startup default is 2c. These modes control the handling of
negative numbers. They are understood most easily with a little example:
Set your WP 34S to WSIZE 12, LZON. This setting allows seeing all 12 bits in one
WP 34S display easily. Enter 147. Then turn to 1COMPL, BASE 2. You will see:
and – after – .
Forget the ’¦ top right for the moment – it will be explained later here. Note
the low byte of our number is displayed larger than its top four bits for easy
reading. Obviously in 1c inverts every bit, being equivalent to here.
Return to the original number via now, choose 2COMPL and you will get:
and – after – .
Note the negative number equals the inverse plus one in 2c.
Now return again to the original number via , choose SIGNMT and you will see:
and – after – .
Negating a number will just flip the top bit in sm (hence the name of it).
and – after – .
Note the second number looks like in 2c, but in addition an overflow is set here.
This needs explanation, since changing signs has no meaning in un per definition41,
where the most significant bit adds magnitude, not sign, so the largest value
represented by a 12-bit word is 4095 instead of 2047. Thus, should be illegal here
or result in no operation at least. Nevertheless, in unsigned mode was allowed and
implemented this way in the HP-16C, so we follow this implementation for sake of
backward compatibility.
Thus, pressing will not suffice anymore for returning to the original number
here; you must also clear the overflow flag by explicitly (see p. 24).
As you have seen, positive numbers stay unchanged in all those four modes. Negative
numbers, on the other hand, are represented in different ways. Therefore, taking a
negative number in one mode and switching to another one will lead to different
interpretations. The fixed bit pattern representing e.g. -147 d in default 2c will be
displayed as -146 d in 1c, -1901 d in sm, and 3949 d in un.
Keeping the mode (e.g. 2c again) and changing the bases will produce different views of
the constant bit pattern as well. You will notice that the displays for bases 4, 8, and 16 will
look similar to those shown above, presenting all twelve bits to you, while in the other
bases a signed mantissa will be displayed instead.
Let us look to bigger words now: For example, turn to UNSIGN, LZOFF, WSIZE 64,
BASE 16, and enter 93A14B6. Then your WP 34S will display:
with or
41
This is clearly stated also in the HP-16C Computer Scientist Owner’s Handbook of April 1982 on page 30.
Unfortunately, however, they did not stick to this.
42
This takes into account that bases 2, 4, 8, and 16 are most convenient for bit and byte manipulations and
further close-to-hardware applications. On the other hand, the bases in between will probably gain most
interest in dealing with different number representations and calculating therein, where base 10 is the
common reference standard.
WP 34S Owner’s Manual Edition 3.1 Page 54 of 211
without separators selected (see SEPON and SEPOFF).
They show up together with an indication '''| that there are four display windows in
total with the rightmost shown. The least significant byte is emphasized as you know
it from the example above. Press and you will get the more significant bytes (note
the constant 4-bit overlap with the previous display here):
The last display shows the four most significant bits of this binary number as the
indication |''' confirms.
If leading zeros were turned on (see LZON), there would be eight display windows
(corresponding to eight bytes) here, with the four ‘most significant’ bytes containing
only zeros.
Browsing a large integer in steps of eight digits (i.e. byte-wise) is a specialty of binary
mode. In any other base the step size is the full display width, i.e. twelve digits without any
overlap. See, for example, the most and least significant parts of the same number in
base 3:
Your WP 34S carries all the bitwise operations you may know from the vintage HP-16C,
plus some more. Generally, bits are counted from right to left, starting with number 1 for
the least significant bit. This is important for specifying bit numbers in the operations BC?,
BS?, CB, FB, and SB.
The following examples deal with 8-bit words showing leading zeros for easy reading. So
set WSIZE 8, LZON on your WP 34S. For seven functions, you will find the schematic
pictures in the table below as they are printed on the backplate of the HP-16C. The ‘C’ in a
box stands for the carry bit there.
Common start-up x
b
1011. 0 011
Operation Schematic picture Example Output
bc
SL 1 0110. 0 110
Shift Left b
SL 2 1100. 1 100
bc
SR 1 0101. 1 001
bc
Shift Right SR 2 0010. 1 100
b
SR 3 0001. 0 110
in 2COMP and 1COMP:
b
1111. 0 110
Arithmetic in UNSIGN:
ASR 3 b
Shift Right 0001. 0 110
in SIGNMT:
b
1000. 0 110
bc
RL 1 0110. 0 111
Rotate Left b
RL 2 1100. 1 110
bc
RR 1 1101. 1 001
bc
Rotate Right RR 2 1110. 1 100
b
RR 3 0111. 0 110
bc
Rotate Left RLC 1 0110. 0 110
through Carry b
RLC 2 1100. 1 101
bc
RRC 1 0101. 1 001
Rotate Right bc
RRC 2 1010. 1 100
through Carry
b
RRC 3 1101. 0 110
WP 34S Owner’s Manual Edition 3.1 Page 56 of 211
Note the picture for ASR correctly describes this operation for 1’s and 2’s complement
modes only. In all modes of the HP-16C, however, ASR 3 equals a signed division by 23,
hence the different results for the latter two modes shown above. The other bitwise
operations are insensitive to complement mode setting. For further details about those
operations, turn to the IOP.
Now let us show you the bitwise two-number functions provided as well. Of these, Boole’s
operators AND, OR, and XOR are found in the light blue frame drawn here:
b
Y 0110. 1 011
Common input
b
X 1011. 1 001
Operation Output
AND b
0010. 1 001
NAND b
1101. 0 110
OR b
1111. 1 011
NOR b
0000. 0 100
XOR b
1101. 0 010
XNOR b
0010. 1 101
See the IOP for those and further commands working on bit level in integer modes (NOT,
LJ and RJ, MASKL and MASKR, MIRROR, RAN#, and nBITS). Unless on the keyboard,
the commands mentioned so far are found in the catalog X.FCN in integer modes. And
there are also BS? and BC? in TEST.
Finally, note that no such operation will set an overflow. Carry is only settable by shift or
rotate functions as demonstrated above. And ASR is the only bitwise operation being
sensitive to complement mode settings – ASR is the link to integer arithmetic operations.
Of the four basic arithmetic operations ( +, -, ×, and / ), the first three work in integer
modes as they do in DECM, but with up to 64 digits precision in binary mode. Look at +/-
like a multiplication times -1, and at yx like a repeated multiplication. Depending on the
input parameters and the mode settings, the overflow or carry flags will be set in such an
operation (see the end of this section).
Divisions, however, must be handled differently in integer modes since the result cannot
feature a fractional part here. Generally, the formula
applies, with the horizontal bar denoting real division, div representing integer division, and
rmdr standing for the remainder of the latter. While remainders for positive parameters are
simply found, remainders for negative dividends or divisors lead to confusion sometimes.
The formula above, however, is easily employed for calculating such remainders (also for
real numbers – see the first line of this example):
In general, .
Unfortunately, there is a second function doing almost the same: it is called mod.
With the same pairs of numbers as above, it returns:
,
,
,
.
So mod returns the same as rmdr if both parameters have equal signs only.
The general formula for mod is a bit more sophisticated than the one above:
By the way, this formula applies to real numbers as well. So it may be used straight-
forwardly for calculating e.g. .
These four functions are called IDIV, RMDR, MOD and FLOOR in your WP 34S for
obvious reasons.
Finally, there are conditions where overflow or carry will be touched in integer arithmetic.
Note there is a maximum and a minimum integer for each word size and complement
setting – let us call them Imax and Imin. For example,
Imax = 15 and Imin = 0 for un 04, while
Imax = 7 and Imin = -8 for 2c 04,
Imax = 7 and Imin = -7 for 1c 04 and sm 04.
Now let us start from one incrementing by one and see what will happen:
1111 b 15 d 1111 b -1 d
1111 b -0 d
b d b d
0001 1 0001 1
b
0000 0 d 0000 b 0 d
0000 b 0 d
0000 b 0 d
1110 b 14 d 1110 b -2 d
1101 b -2 d
1010 b -2 d
… … … … … … … …
b d b d b d
1001 -7 1001 -6 1110 -6
b d b d b d
1000 -8 1000 -7 1111 -7
b o d o b o d o b o d o
0111 7 0111 7 1000 -0
b d b d b d
0110 6 0110 6 1001 -1
Note the most significant bit is #3 in SIGNMT and #4 in all other modes here. And
subtractions are actually additions in SIGNMT.
WP 34S Owner’s Manual Edition 3.1 Page 59 of 211
With this, Imax, and Imin, the general rules for setting and clearing carry and overflow are as
follows:
+, RCL+, STO+, Sets c if there is a carry out of the Sets o if the result would exceed
INC etc. most significant bit, else clears c. [Imax ; Imin], else clears o.
/ , RCL / , STO Sets c if the remainder is ≠ 0, else Clears o (except setting it for the
/ , DBL /, LB, clears c. division Imin / (-1) in 2COMP).
LG, LN, LOGx,
43
See e.g. the examples above. Both carry and borrow translate to “Übertrag” in German – the ‘borrow’ in
subtraction is a specialty of the USA. See the subtle methodic differences in subtracting shown in detail in
http://de.wikipedia.org/wiki/Subtraktion#Schriftliche_Subtraktion . The corresponding English article is far
less instructive.
WP 34S Owner’s Manual Edition 3.1 Page 60 of 211
Full Alpha Mode – 1: Introduction and Virtual Keyboard
Alpha mode is typically entered via (see p. 36). It is designed for text entry, e.g. for
entering prompts and answers. In this mode, the alpha register is displayed in the upper
part of the LCD. All direct input goes there, and the numeric line (kept from your last
calculation) is accessible by commands only. The display may look like this:
Within alpha mode, primary function of most keys becomes appending the letter printed
bottom left of this key – grey on the key plate – to alpha. appends a space. When
alpha exceeds 30 characters, the leftmost character(s) are discarded. Alpha mode starts
with capital letters, and toggles upper and lower case. As in integer modes, will
44
access default primary functions wherever necessary.
44
The digits 0 and 1 may also be called using or , respectively.
WP 34S Owner’s Manual Edition 3.1 Page 61 of 211
Looking at the standard labels on the keyboard, we can safely offer you even more in this
mode: All labels printed on dark blue background in the virtual keyboard below append
characters to alpha as well. They are related to the labels printed on your WP 34S
keyboard at these locations, but deviate from them. Prefix leads to homophonic Greek
45
letters where applicable. And allows also accessing logic symbols via the Boolean
operations.
45
“Homophonic” according to ancient Greek pronunciation. And we assigned Gamma also to C due to the
alphabet, and Chi to H since this letter comes next in pronunciation. Three Greek letters require special
handling: Psi is accessed via (below ), Theta via (below and following T), and
Eta via . Omicron is not featured because it looks exactly like the Latin letter O in either
case.
Where we printed Greek capitals with lower contrast, they look like the respective Latin letters in our fonts.
Professors of Greek, we count on your understanding.
WP 34S Owner’s Manual Edition 3.1 Page 62 of 211
The labels underlined in
red call alpha catalogs.
Labels underlined in green
and labels shown between
heavier white key contours
do not append characters
to alpha directly – all other
labels do.
Your WP 34S features a large and a small alphanumeric font for display. Both are based
on fonts by Luiz Viera (Brazil) as distributed in 2004. Some letters were added and some
modified for better legibility, also given that the dot matrix of your display is only six pixels
high.
See here all characters directly evocable through the virtual alpha keyboard above:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABΓΔEZHΘIKΛMNΞOΠPΣTYΦXΨΩ
αβγδεζηθικλμνξoπρστυφχψω
0123456789 ()+-×/±.!?⇆¬\&|≠
As soon as a string exceeds the visible display using this large font, your WP 34S will take
the following small font automatically to show as much as possible:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABΓΔEZHΘIKΛMNΞOΠPΣTYΦXΨΩ
αβγδεζηθικλμνξoπρστυφχψω
0123456789 ()+-×/±.!?⇆¬\&|≠
Many more characters of both fonts live in the alpha catalogs (see p. 132).
As soon as you enter alpha mode and as long as you stay therein, the contents of the
alpha register (abbreviated by alpha) are displayed in the dot matrix, showing its right end
(i.e. the last characters it is containing), while the numeric section keeps the result of the
last numeric operation. The display may look like:
Note that you may use the big ‘=’ controlled by flag A in addition to the dot matrix for
message display. Different information may be appended to alpha. See the commands
starting with ‘α’ in the IOP.
For example, TIME αTIME allows printing timestamps on messages or creating texts
like It's 11:54:32 PM or Um 23:54:32 Uhr depending on time mode setting and
the actual time at execution.
And DATE αDATE will append – depending on date format setting – either
2015-04-16 or 16.04.2015 or 04/16/2015 to alpha if called on the 7th of April in
2015.
and will browse such long messages in steps of 6 characters. will stop with the
very first characters shown, stops showing the right end completely, i.e.
Having left alpha mode, you can still display alpha: use VIEWα or VWα+ for this – it will
show you the left end (i.e. the first characters the alpha register contains).
The basic building blocks within program memory are routines (also known as programs).
Such routines may contain subroutines, but that is not mandatory. Typically, a routine or
subroutine starts with a LBL statement and ends with RTN or END. In between, you may
store any sequence of instructions (commands, operations, statements) for repeated use.
Choose any operation featured – only a few commands are not programmable.
The statements in your routine may use each and every global register provided – there
are (almost) no limits. You are the sole and undisputed master of the memory!
This freedom, however, has a price: take care that each routine does not interfere with any
other in its quest for data storage space. It is good practice to record the global registers a
particular routine uses, and to document their purposes and contents for later reference.
In programming mode (i.e. while editing routines), the numeric display will indicate the
current program step (000 – 927) in the mantissa and the number of free steps in the
exponent, while the dot matrix will show the command contained in the current step, e.g.:
Labels
Structuring program memory and jumping around in it is eased by labels you may tag to
any program steps – as known from previous programmable pocket calculators. Your
WP 34S features a full set of alphanumeric program labels as described overleaf.
Furthermore, different programs may be separated by END statements. Think of the
beginning and the end of program memory containing implicit END statements.
Searching labels, however, obeys the rule below. When a command such as XEQ lbl is
encountered, with lbl representing a label of one, two or three characters (such as A, BC,
12, Tst, Pg3, x1µ, etc.), your WP 34S will look for this label using the following method:
1. If lbl is purely numeric or a hotkey, it will be searched forward from the current position
of the program pointer. When an END statement is reached without finding lbl, the
quest will continue right after previous END (so the search will stay in the current
routine). This is the search procedure for local labels. It is as known from the HP-41C.
2. If, however, lbl is an alpha label of up to three characters of arbitrary case (auto-
matically enclosed in ‘ like 'Ab1'), searching will start at program step 000 and cover
the entire memory in the order RAM, FM, and XROM (see p. 72 for the latter two),
independent of the position of the program pointer. This is the search procedure for
global labels.
Tests
As mentioned above, programs typically end with RTN or END. In running programs, both
statements work very similar and show only subtle differences: a RTN statement
immediately after a test returning false will be skipped – an END will not.
See the IOP for more information. All tests are contained in the catalog TEST.
Note that there are also commands featuring a trailing ‘?’ but returning numbers (e.g.
BASE?) or codes (e.g. KTP?) instead of true or false only – you will find these commands
in the catalog P.FCN.
1 User
, , , or , , , LBL?, , , , , αGTO, or αXEQ
input
Look up GTO in the IOP for special cases applying to this command exclusively.
46
Works with all these operations except .
47 rd
The 3 character terminates entry and closes alpha mode – shorter labels need a closing . For the example given here, press
and you are done. Statements including alpha labels exceeding one character decrement the number of free program steps by 2.
ATTENTION: LBL A and LBL’A’ are different animals! The latter is entered in alpha mode, the first via the hotkey directly.
48
Some registers may be allocated to special applications. Check the memory table on p. 23.
After some time with your WP 34S you will have a number of routines stored, so keeping
track of their resource requirements may become a challenge. Most modern programming
languages take care of this by declaring local variables, i.e. memory space allocated from
general data memory and accessible for the current routine only – when the routine is
finished, the respective memory is released. On your WP 34S, registers are for data
storage – so we offer you local registers allocated to your routines exclusively.
Example: Let us assume you write a routine labeled P1 and need five registers for
your computations therein.
Then all you have to do is just enter the command LOCR 5 in P1 specifying you
want five local registers. Thereafter, you can access these registers by using local
numbers .00 … .04 throughout P1.
Now, if you call another routine P2 from P1, also P2 may contain a step LOCR
requesting local registers. These will also carry local register numbers .00 etc., but
the local register .00 of P2 will be different from the local register .00 of P1, so no
interference will occur. As soon as the return statement is executed, the local
registers of the corresponding routine are released and the space they took is
returned to free memory.
In addition, you get sixteen local flags as soon as you request at least one local register.
Local data holding allows for recursive programs, since every time such a routine is called
again it will allocate a new set of local registers and flags being different from the ones it
got before.
See the commands LOCR, LOCR?, MEM?, and POPLR in the IOP and in Appendix B for
more information, also about the limitations applying to local data.
A number of commands may be employed for controlling I/O of programs. In the IOP, their
behavior is described if they are entered from the keyboard. Executed by a program,
however, this will differ in a characteristic way.
When a program is started, the prior display contents are replaced by the Running
PrograMm message and will be updated at certain events only – not after each operation.
So where in manual mode each command may change the display immediately with its
execution, in automatic mode only PROMPT, PSE, STOP, VIEW, VIEWα, or VWα+ will
update the display, and this display will hold until the next command of this kind is
encountered.
ERR 0 or MSG 0 are the only ways to get Running PrograMm back once this message
has been replaced by a programmed display.
Use one of the following four code segments for displaying messages or other
information for a defined minimum time interval, specified by PSE (see the IOP for
details):
Whatever you key in will be in X when you continue the program by pressing .
If you want it elsewhere, take care of it.
αON sets alpha mode and prepares for showing the final part of alpha.
PROMPT displays this part and waits for user input, terminated by .
αOFF returns to the numeric mode previously set.
Whatever you key in will be appended to alpha here. The program will continue when
you press .
See the IOP for more information about these commands and their parameters.
If you press – instead of or after keying in numeric data – one of the hotkeys to in
input, the program will call the next routine beginning with a label carrying this name.
The following example shows how a typical structure of such a program might look:
If there is more than one program using labels A to D in RAM or FM, you must move the
program counter (PC) into the desired program and stop there – provided programs are
separated by END (see p. 67 to learn which label will be found else).
If, for example, you want to link a program to the key , just put label 21 at the
beginning of the routine; then it can be called via by the user
conveniently.
The same keyboard codes are returned by the KEY? command, which allows ‘real time’
response to user input from the keyboard. KEY? takes a register argument (X is allowed
but does not lift the stack) and stores the key most recently pressed during program
execution in the register specified. R/S and EXIT cannot be queried; they stop program
execution immediately. The keyboard is active during program execution – but it is
desirable to display a message and suspend the program by PSE while waiting for user
input. Since PSE will be terminated by a key press, simply use PSE 99 in a loop to wait for
Instead of the dumb waiting loop, the program can do some computations and update the
display before the next call to PSE and KEY? – think of e.g. a lunar landing game.
To be even more versatile, KTP? nn is designed to return the type of the key pressed if its
row / column code is given in register nn. It will return:
0 to 9 for the respective digit keys;
10 for , , and ;
11 for , , and ;
and 12 for the other keys.
An invalid code in the input register will throw an ‘Invalid Range’ error.
If you decide not to handle the key in your program you may feed it back to the main
processing loop of the WP 34S with the PUTK nn command. It will cause the program to
halt, and the key will be handled as if pressed after the stop. This is especially useful if you
want to allow numeric input while waiting for some special keys like the arrows. This allows
writing a vector or matrix editor in user code. After execution of the PUTK command you
are responsible for letting the program continue its work by pressing or a hotkey.
In addition to the RAM provided, your WP 34S allows you to access FM for voltage-fail
safe storage of user programs and data. The first section of FM is a 2kB backup region,
holding the image of the entire user program memory, registers, and WP 34S states as
soon as you completed a SAVE. The remaining part of FM (up to some 12kB depending
on setup) will hold programs only. Alphanumeric labels in FM can be called via XEQ like in
RAM. This allows creating program libraries in FM. Use CAT to see the global labels
already defined – labels in FM are tagged with Lib there.
Furthermore, there is a memory section called XROM (for ‘extended ROM’), where some
command routines live. These, though written in user code, are read-only and thus can be
called as commands and executed but not edited. For you, it makes no difference whether
a preprogrammed WP 34S routine executes in ROM or XROM. The XROM routines,
however, are easy to read and understand for users knowing HP keystroke programming –
see http://wp34s.svn.sourceforge.net/viewvc/wp34s/trunk/xrom/ for the routines present
and Appendix H for additional information.
49
FM may not survive more than some 10,000 flashes. Thus, we made commands writing to FM (like SAVE
or PSTO) non-programmable.
WP 34S Owner’s Manual Edition 3.1 Page 73 of 211
INDEX OF OPERATIONS (IOP)
All commands available (more than 600) are found below with their names and their
necessary keystrokes. Names printed in bold face in this list belong to functions directly
accessible on the keyboard; the other commands may be picked from catalogs. The
command names will show up identically in catalogs and program listings unless specified
otherwise explicitly. Sorting in index and catalogs is case insensitive and works in the
following order:
␣ 0…9, A…Z, … , ( ) + – × / ± , . ! ? : ; ‘ “ * @ _ ~
< ≤ = ≈ ≠ ≥ > % $ € £ ¥ √ ∫ ∞ & \ ^ | [ ] { } ⎙ #
Superscripts and subscripts are handled like normal characters in sorting. The ⎙ near the
end of the sorting order list above is the printer symbol heading all print commands.
Generally, functions and keystroke-programming will work as on the HP-42S, bit and
integer functions as on the HP-16C, unless specified otherwise. There are also functions
inspired by other vintage calculators as mentioned in the index. Their manuals may
contain helpful additional information about those traditional commands.
A C heads the names of complex operations (see p. 29). is a legal prefix for all
functions whose names are printed in italics in this list.
Some 300 functions are available on your WP 34S for the first time ever on an RPN
calculator. They got their remarks printed on yellow background. Operations carrying a
familiar name but deviating in their functionality from previous RPN calculators are marked
light red.
The vast majority of remarks for the respective operation start with a number:
(0) represents functions without effects on the stack,
(1) and (2) are for real or complex one- or two-number functions as defined above,
and
(3) is for real three-number functions;
(-1) and (-2) stand for functions pushing numbers on the stack thus lifting it by 1 or 2
levels, respectively.
Operations disabling stack lift got a special remark.
Parameters will be taken from the lowest stack level(s) unless mentioned explicitly in the
2nd column of the index – then they must follow the command. Some parameters of
statistical distributions must be given in registers J and K as specified. Some examples of
the notation used will be given overleaf.
In the following, each function is listed stating the mode(s) it will work in, indicated by the
corresponding annunciators (see p. 36) or abbreviated by their names. In this column,
‘integer’ stands for an arbitrary integer mode, ‘&’ for a Boolean AND, a comma for an OR,
and ‘¬’ for NOT. So e.g. 2X works in all modes but alpha, even in complex domain. All
operations may also be entered in programming mode unless stated otherwise explicitly.
Many functions contained in P.FCN make sense in programs only. Red print in the modes
column indicates commands working with the quartz crystal and the respective firmware
only (see App. A and H).
10 x ¬INPUT (1)
1COMPL 1COMPL All (0) Sets 1’s complement mode for integers.
DECM (1)
1/x
DECM (1) Shortcut working if label B is not defined.
24h 24h All (0) Sets 24h time display mode. Compare 12h.
2COMPL 2COMPL All (0) Sets 2’s complement mode for integers.
AND (2) Works like AND in the HP-28S, i.e. x and y are
DECM interpreted before executing this operation. Zero is
‘false’, any other real number is ‘true’.
50
Precisely, it returns the principal value of it, i.e. a real part ∈ [0, ] in RAD or [0, 180] in 360 or [0, 200] in Ⓖ.
Compare ISO/IEC 9899.
51
Precisely, it returns the principal value of it, i.e. a real part ∈ [- /2, /2] in RAD or [-90, 90] in 360 or [-100,
100] in Ⓖ if flag D is set. Else this result interval becomes e.g. (- /2, /2) for the arc tangent. Compare
ISO/IEC 9899.
WP 34S Owner’s Manual Edition 3.1 Page 76 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
BASE BASE n All (0) Sets the base n for integer calculations, with
2 ≤ n ≤ 16 (see pp. 52ff for more). Popular bases
BASE 10 are directly accessible on the keyboard.
Furthermore, BASE 0 sets DECM, and BASE 1
BASE 16 calls FRACT. See there.
¬INPUT
ATTENTION: Stack contents are converted when
BASE 2 switching from an integer mode to DECM, and are
truncated vice versa. Other register contents stay
BASE 8 as they are (see p. 159). – BASE 10 is not DECM.
INPUT
(0) Clears the alpha register like CLA does in the
CL HP-42S.
CLα ¬INPUT
(-1) Recalls the date from the real time clock into
the numeric section in the format selected. See
D.MY, M.DY, and Y.MD. In addition, DATE shows
DATE DATE DECM the day of week in the dot matrix.
The function DATE of the HP-12C corresponds to
DAYS+ in your WP 34S (see below).
C
DROP DECM Drops xc. See p. 31 for details.
©DROP
(0) Given cccccc.fffii in the source, DSE
decrements s by ii, skipping next program line if
then ccccccc ≤ fff . If s features no fractional
DSE s ¬INPUT part then fff is 0 and ii is set to 1. DSE does
not load L even for target address X.
Note that neither fff nor ii can be negative, and
DSE makes only sense with cccccc > 0 .
DSL DSL s ¬INPUT (0) Works like DSE but skips if ccccccc < fff .
D.MY D.MY All (0) Sets the format for date display.
(0) Checks the entry flag. This internal flag is set if:
any character is entered in alpha mode, or
ENTRY? ENTRY? ¬INPUT any command is accepted for entry (be it via
, a function key, or with a partial
command line).
ex ¬INPUT (1)
Expon Expon
(1) Exponential distribution with the rate in J. See
ExponP Exponₚ Appendix I for more.
DECM
Exponu Exponᵤ Expon–1 returns the survival time ts for a given
probability p in X, with in J.
Expon –1 Expon⁸
FC?C
FC?C n (0) Tests if the flag specified is clear. Clears, flips,
FC?F ¬INPUT
etc. or sets this flag after testing, respectively.
FC?S
FILL ¬INPUT (0) Copies x to all stack levels. See p. 31 for CFILL.
FIX n ¬INPUT (0) Sets fixed point display format (see p. 40).
FLASH? FLASH? ¬INPUT (-1) Returns the number of free words in FM.
FP? FP? ¬INPUT (0) Tests x for having a nonzero fractional part.
FS?C
FS?C n (0) Tests if the flag specified is set. Clears, flips, or
FS?F ¬INPUT
etc. sets this flag after testing, respectively.
FS?S
FP(x) Fₚ(x)
(1) Fisher’s F-distribution. F(x) equals 1 – Q(F) ,
Fu(x) Fᵤ(x) Fu(x) equals Q(F) and F–1(p) equals F p in the
DECM
HP-21S. The degrees of freedom are specified in J
F(x) F(x)
and K. See Appendix I for more.
F –1(p) F⁸(p)
52
GCD translates to “ggT” in German.
WP 34S Owner’s Manual Edition 3.1 Page 86 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
,
… to one of these labels, if defined.
, , or
(0)
GTO nnn Positions … to step nnn .
the program
pointer … … directly after previous END, going
¬INPUT to the top of current program.
(not
programm- … directly after next END, going to
able) the top of next program.
ISE ISE s ¬INPUT (0) Works like ISG but skips if ccccccc ≥ fff .
Iβ Iβ
Returns the regularized (incomplete) beta or
IΓp IΓₚ DECM gamma function (one of two kinds). See Appendix I
for details.
IΓq IΓₛ
J
JG1582 JG1582 (0) These two commands reflect different dates the
Gregorian calendar was introduced in different
All
large areas of the world. D J and J D will be
JG1752 JG1752 calculated accordingly. See p. 39.
53
LCM translates to “kgV” in German.
WP 34S Owner’s Manual Edition 3.1 Page 89 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
LgNrm LgNrm
(1) Lognormal distribution with ln x g specified
LgNrmP LgNrmₚ in J and ln in K. See xg and below. See
DECM Appendix I for details.
LgNrmu LgNrmᵤ LgNrm-1 returns x for a given probability p in X,
with µ in J and σ in K.
LgNrm –1 LgNrm⁸
Logis Logis
LogisP Logisₚ
DECM (1) Logistic distribution with μ given in J and s in
Logisu Logisᵤ K. See Appendix I for details.
Logis –1 Logis⁸
LZOFF LZOFF (0) Toggles leading zeros like flag 3 does in the
All
HP-16C. Relevant in bases 2, 4, 8, and 16 only.
LZON LZON
54
That descriptor will be saved in L as usual. This applies for the other matrix operations as well.
WP 34S Owner’s Manual Edition 3.1 Page 93 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
M.DY M.DY All (0) Sets the format for date display.
NEXTP NEXTP ¬INPUT (1) Returns the next prime number greater than x.
55
You may find NEIGHB useful investigating numeric stability. See NEIGHBOR in the HP-71 Math Pac.
WP 34S Owner’s Manual Edition 3.1 Page 94 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
Norml Norml
(1) Normal distribution with an arbitrary mean µ
NormlP Normlₚ given in J and a standard deviation σ in K. See
DECM Appendix I for details.
Normlu Normlᵤ Norml–1 returns x for a given probability p in X,
with µ in J and σ in K.
Norml –1 Norml⁸
STO
(0) Inserts a step to turn your WP 34S off under
program control.
OFF
¬STO (0) Turns your WP 34S off.
Poisλ Poisλ
(1) Poisλ works like Poiss but with λ in J and
PoisλP Poisλₚ without using K. See Appendix I for more.
DECM
Poisλu Poisλᵤ Poisλ–1 returns m for a given probability p in X and
λ in J.
Poisλ –1 Poisλ⁸
RCL s ¬INPUT (-1) See the addressing table above for CRCL.
RCL s
(1) RCL ( ) replaces x with the maximum
¬INPUT
RCL (minimum) of s and x.
s
RDX.
RDX. All (0) Sets the decimal mark to a point.
REALM? REALM? ¬INPUT (0) Tests if your WP 34S is in real mode (DECM).
56
Translates to “kaufmännische Rundung” in German.
WP 34S Owner’s Manual Edition 3.1 Page 98 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
R
Rotates the stack contents one level up or down,
¬INPUT
respectively. See pp. 20 and 31 for details.
R
S
SEED SEED DECM (0) Stores a seed for random number generation.
SEPOFF All (0) Toggle the digit group separators for integers.
SEPOFF Points or commas will be displayed every …
Integer … four digits in bases 2 and 4,
… two digits in base 16,
SEPON
SEPON All … three digits in all other integer bases.
SETCHN SETCHN All (0) Sets some regional preferences (see p. 39).
(0) Sets the date for the real time clock (the
SETDAT SETDAT All emulator takes this information from the PC clock).
SETEUR
SETEUR
SETIND All (0) Sets some regional preferences (see p. 39).
etc.
SETJPN
(0) Sets the time for the real time clock (the
SETTIM SETTIM All
emulator takes this information from the PC clock).
SETUK SETUK
All (0) Sets some regional preferences (see p. 39).
SETUSA etc.
C
SIGN DECM (1) Returns the unit vector of x + i y in X and Y.
©SIGN
(0) Sets sign-and-mantissa mode for integers. See
SIGNMT SIGNMT All p. 53ff.
sin x
SINC SINC DECM (1) Returns ; returns 1 for x = 0.
x
SSIZE? SSIZE? ¬INPUT (-1) Returns the number of stack levels allocated.
STO
(0) Stops program execution. May be used to wait
STOP
for input, for example.
STO s
(0) STO ( ) takes the maximum (minimum) of s
¬INPUT
STO and x and stores it at the address specified.
s
tP(x) tₚ(x)
(1) Student’s t distribution. The degrees of freedom
tu(x) tᵤ(x) are stored in J. tu(x) equals Q(t) and t –1(p)
DECM equals t p in the HP-21S. See p. 49 for an
t(x) t(x) application example and Appendix I for more
mathematical details.
t –1(p) t⁸(p)
57
Note that TAN returns “not numeric” for x = ±90° or equivalents if flag D is set.
WP 34S Owner’s Manual Edition 3.1 Page 105 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
V
VERS VERS ¬INPUT (0) Shows your firmware version and build number.
VIEWα ¬INPUT (0) Displays alpha in the top row and - - - in the
VIEW bottom row until next key is pressed (compare to
INPUT AVIEW in the HP-42S). See p. 69 for more.
Weibl Weibl
(1) Weibull distribution with its shape parameter b
WeiblP Weiblₚ in J and its characteristic lifetime T in K. See
DECM Appendix I for details.
Weiblu Weiblᵤ Weibl –1 returns the survival time ts for a given
probability p in X, with b in J and T in K.
Weibl –1 Weibl⁸
58
These numbers correspond to Chinese weekdays 1 to 6 directly. For Portuguese weekdays (‘segunda
feira’ etc.), add 1 to days 1 to 5.
WP 34S Owner’s Manual Edition 3.1 Page 106 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
X
x2 ¬INPUT (1)
3
x x³ ¬INPUT (1)
x< ? x<_? s
yx ¬(INPUT,
-3, -4, (2) Shortcut working if label C is not defined.
-5, h)
Y.MD Y.MD All (0) Sets the format for date display.
¬STO &
Leaves alpha mode.
INPUT
59
Note alpha group mode is left automatically after three characters are put in, so it must be called again for
continuation. Some characters must not be entered at third position (see Appendix E).
WP 34S Owner’s Manual Edition 3.1 Page 109 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
OFF αOFF
(0) Work like AOFF and AON in the HP-42S,
¬INPUT
turning alpha mode off and on.
ON αON
s INPUT
(0) Interprets s as characters and appends them to
RCL
αRCL s ¬INPUT alpha.
x y
(2) Returns Euler’s Beta B x, y with
x y
β DECM
Re x 0 , Re y 0 . Called here to avoid
ambiguity.
γ
γXY γₓᵧ
(2) Returns the lower or upper incomplete gamma
DECM
function, respectively. See Appendix I for details.
ΓXY Γₓᵧ
δ
x y
Δ% DECM (1) Returns 100 like %CH in the HP-42S.
y
ε
Σln2x
Σylnx
Σx
Σx2
(-1) Recall the respective statistical sums. These
2
Σx y sums are necessary for basic statistics and linear
Σx
DECM curve fitting. Calling them by name significantly
Σxy etc. improves program readability. Note these sums are
stored in special registers of your WP 34S.
Σy
Σy2
2
χ²
2
(1) Chi square distribution. The cdf 2 (with its
INV χ²INV degrees of freedom given in J) equals 1 – Q( 2) ,
DECM 2 2
2
χ²ₚ u equals Q( 2) and 2
INV equals p in the
P
HP-21S. See Appendix I for more.
2
u χ²ᵤ
The Rest
×MOD ×MOD Integer (3) Returns (z ∙ y) mod x for x > 1 , y > 0 , z > 0 .
GRAD DECM (1) Works like DEG, but converts to gon (grad).
x y
% DECM (1) Returns , leaving Y unchanged.
100
x y
(2) Returns the margin 60 100 in % for a
%MG %MG DECM x
price x and cost y , like %MU-Price in the HP-17B.
x
%T %T DECM (2) Returns 100 , interpreted as % of total.
y
%Σ x
%Σ DECM (1) Returns 100 .
%Σ x
60
Margin translates to „Handelsspanne“ in German.
WP 34S Owner’s Manual Edition 3.1 Page 115 of 211
Name Keys to press in modes Remarks (see p. 74 for general information)
¬INPUT (1)
√‾ ¬(INPUT,
-4, -5, (1) Shortcut working if label D is not defined.
h)
1
1 1
(2) Returns , being very useful in
|| DECM x y
electrical engineering especially. Returns 0 for x or
y being zero.
Besides the commands CLALL, CLPALL, GTO., LOAD, LOADP, PSTO, RESET, and
SAVE, the following keystrokes cannot be programmed under the conditions stated:
Asking for Answers the question Sure? with N for ‘no’. Any other response
confirmation except =Y, or for ‘no’ will be ignored.
CAT, SHOW, Will be honored as described in the respective sections. See the
STOPW note below this list.
61
The mode conditions specified here will be checked top down for this command at execution time:
If CAT or STOPW is open, it will be served as described there;
else if there is an open catalog, the current item will be selected;
else if alpha mode is set, it will be left;
else the programmable command ENTER will be executed or inserted.
This method holds for all commands listed here using this triangular symbolic.
WP 34S Owner’s Manual Edition 3.1 Page 119 of 211
Key(s) pressed in modes Remarks
Asking for Answers the question Sure? with N for ‘no’. Any other response
confirmation except =Y, or for ‘no’ will be ignored.
Asking for Answers the question Sure? with Y for ‘yes’. Any other response
confirmation except or or for ‘no’ will be ignored.
RCL
Stops program execution immediately. Stopped will be
displayed until the next keystroke.
Asking for Answers the question Sure? with N for ‘no’. Any other response
confirmation except =Y, or for ‘no’ will be ignored.
In a catalog or
Leaves the catalog or browser like above.
browser
Command Deletes the last digit or character put in. If there is none yet,
input pending cancels the pending command like above.
Shifts the display window to the left / right like in the HP-16C.
Integer
Helpful while working with small bases. See p. 53.
/
Shows the full mantissa and the full exponent until the next key is
DECM
pressed (see p. 40).62 Compare SHOW in previous calculators.
62
These keys act differently in DP mode as described in Appendix H below.
WP 34S Owner’s Manual Edition 3.1 Page 121 of 211
Key(s) pressed in modes Remarks
Acts like the command BST / SST in the HP-42S. I.e. browses
programs in programming mode, where / will repeat with
Else 5Hz when held down for longer than 0.5s. – Out of programming
mode, SST will also execute the current program step, but the
keys will not repeat.
See the section about catalogs and browsers (beginning on p. 125) to learn more about
them. Note that the browsers CAT, SHOW, STATUS, and the application STOPW (see p.
145f) use some of the keys above as well as some more for particular control purposes
(e.g. , , , and some digit keys). Check the respective entries below.
, , ,
INPUT Appends the respective digit to alpha.
…,
… -1, -2, -3, Numeric input for digits >10. See pp. 52ff for more.
A…F
(grey print) -4, -5, h
DECM &
E
¬FRC Works like in the Pioneers.
DECM &
i Enters complex number i , i.e. x = 0 and y = 1 .
¬FRC
( (
) )
⇆
INPUT Appends the respective symbol to alpha.
≠
&
Due to the large set of operations your WP 34S features, most of them are stored in
catalogs as was discussed from p. 22 on. Numeric constants (in CONST and CONV) or
characters (in the alpha catalogs) are other items contained in catalogs. Opening a
catalog on your WP 34S will set alpha mode to allow for typing the first character(s) of the
item wanted for rapidly accessing it. A subset of the full alpha keyboard shown on p. 62 is
sufficient for catalog browsing as pictured here. But there are three differences:
1/x (= ) is for
reverting conver-
sions easily (see p.
139).
A B C D E F just calls the
g character ‘ ’, and
f h calls the
print character in
G H I
catalog browsing
(since case switch-
ENTER ing is not needed
⇆ here).
J ( K L
and will
XEQ browse the open
catalog.
M N O P
or
▲ × select the item
displayed, recall or
Q R S T execute it, and exit
the catalog.
▼ 1 2 – or leave
the catalog without
U V W executing anything,
i.e. they cancel the
EXIT 0 ● + catalog call.
See p. 133 for some
⎙ X Y Z
examples.
You may switch catalogs easily by just calling a new one accessible in current mode
directly from the catalog you are browsing – no need to first.
When the last catalog called is reopened, the last item viewed therein is immediately
displayed for easy repetitive use. A single function may be contained in more than one
catalog.
Defined alphanumeric (i.e. global) labels. The first item displayed is the top global
label of the current program63 – if there is no such label, the end of this program is
shown.
and browse global labels, while the location of the label displayed is
indicated in the lower line (rAMm for RAM, Lib for the library in FM, or bup for
the backup region therein). Duplicate labels also show the primary address,
e.g. CALLS 012 when found a second time in RAM, or e.g. CALLS Lib
when found a second time elsewhere.
and browse programs, i.e. show the first label in previous or next
program (with programs separated by END statements).
, , and allow quick jumps to the top of rAMm, Lib, or bup, respectively.
goes to the alpha label displayed, while executes it. Both key-
strokes will perform a label search as described on p. 67. In programming
mode, will insert a GTO and an XEQ with said label trailing.
starts the current program without performing a label search first.
and execute PRCL or PSTO for the current program, respectively.
The latter makes sense if called in rAMm or bup only.
enters mode STO, allowing for browsing or editing the current program. The
latter will work in rAMm only. Note that will delete a step, while or
another will leave CAT immediately.
deletes the current program, be it in rAMm or Lib.
Browses all allocated stack and general purpose registers showing their contents,
starting with X.
goes up the stack, continuing with the other lettered registers, then with R00,
R01, etc.
browses the registers going down from the highest allocated numbered register
(R99 in startup default) to R00 if applicable, then continuing with K, J, etc.
turns to local registers if applicable, starting with R.00. Then, and browse
local registers up and down until another returns to X. Local register
addresses may exceed .15 here!
Input of any legal letter or two-digit number jumps to the corresponding register
(see p. 26).
or recall the register displayed. In programming mode, they enter a
corresponding step RCL …
(In your WP 34S, the keys and do what SHOW did in vintage calculators –
see p. 40.)
63
The current program is the one the program pointer is in, as mentioned above.
WP 34S Owner’s Manual Edition 3.1 Page 126 of 211
Keys to press Contents and special remarks
Displays the memory status and browses all user flags, similar to STATUS on the
HP-16C. It shows the amount of free memory words in RAM and FM first, e.g.:
.
Press and read if there are summation registers used, plus the number of
global numbered registers and local registers allocated:
or .
Another presents the status of the first 30 user flags in one very concise
display as explained below.
Example:
If flags 2, 3, 5, 7, 11, 13, 14, 17, 19, 20, 26, and X are set, and labels B and D
are defined in program memory, will display this:
Where the mantissa is usually displayed, there are now three rows of horizontal
bars. Each row shows the status of 10 flags. If a particular flag is set, the
corresponding bar is lit. So here the top row of bars indicates flags 0 and 1 are
clear, 2 and 3 set, and 4 clear. Then a II separates the first five flags from the
next. The following top-row bars indicate flag 5 set, 6 clear, 7 set, 8 and 9 clear.
The next two rows show the status up to flag 29.
Pressing once again will increment the start address by ten; so the display
will look like:
Another will show flags 20 - 49 etc. until 70 - 99, 80 - 99, 90 - 99. A final
will display the last 12 global flags in rows of four – note flag X is shown being
set as we expect:
The exponent section indicates the status of the four hotkeys – if all four labels
are defined in programs then ALL will be shown there.
browses backwards.
Alternatively, pressing a digit (e.g. ) will display up to 30 flags starting with 10
times this digit (flags 50 – 79 here). Pressing a legal letter such as will display
the top 12 flags.
Constants like in the HP-35s, but more. See them listed on p. 134ff.
DECM &
While browsing this catalog, the values of the constants are displayed.
¬STO
Picking a constant will recall it.
Picking a constant will insert a program step containing the name of the
DECM &
STO
constant selected, preceded by ¦#¦. This step will then recall the value
of said constant in program execution.
Picking a constant will insert a program step containing the name of the
DECM &
STO
constant selected, preceded by ¦©#¦. This step will then perform a
complex recall of the value of said constant in program execution.
INPUT
‘Complex’ letters mandatory for many languages (see p. 132). Case
may be toggled here (see above).
DECM Probability distributions beyond the standard normal and its inverse.
¬INPUT All tests except the two on the keyboard (see p. 130).
See the next pages for detailed contents of the various catalogs. Items are sorted
alphabetically within the catalogs (see p. 74 for the sorting order). You may access a
particular item quickly by typing the first characters of its name – see p. 133 for examples
and constraints.
64
In programming mode, these three contents are merged.
WP 34S Owner’s Manual Edition 3.1 Page 131 of 211
À À À à à à Here are the contents of the alpha catalogs. Small
Á Á Á á á á font is printed on light grey background on this page.
The catalog is listed left. Use to toggle
ÂÃĀĂ Ã Ã âãāă ã ã
between cases. Accented letters are as wide as plain
Ä Ä Ä ä (ă) ä ä ones wherever possible.
Æ Æ Æ æ æ æ
Å Å Å å å å
Ć Ć Ć ć ć ć , : ; ‘ “ * @ _ ~ % $ € £ ¥ ⊙ ⊕ ⎙ ` #
Č Č Č č č č , : ; ' “ * @ _ ~ % $ € £ ¥ ☉ ♁ ⎙ ` #
Ç Ç Ç ç ç ç , : ; ‘ “ * @ _ ~ % $ € £ ¥ ☉ ♁ ⎙ ` #
Ð Ð Ð đ ð ð
È È È è è è
É É É é é é < ≤ = ≈ ≥ > [ ] { } √ ∫ ∞ ^
ÊĒĔĚ Ē Ē êēĕě ē ē < ≤ = ≈ ≥ > [ ] { } →←↑↓√∫∞^↕
Ë Ë Ë ë (ĕ) ë ë < ≤ = ≈ ≥ > [ ] { } → ← ↑ ↓ √ ∫ ∞^↕
ħ ħ ℏ ħ ħ
Ì Ì Ì ì ì ì
Í Í Í í í í 0° 1 2 2 3 A B c c d e k m n p q u w x x Y µ -1 * ∞
ÎĨĪĬ Ĩ Ĩ î ĩ ī ĭ ĩ ĩ ₀°₁₂²³ₐ⒝⒞©⒟ₑₖₘₙₚₛᵤ⒲ₓᵡᵧ¶⁸⁺₈
Ï Ï Ï ï(ĭ) ï ï ₀°₁₂ ² ³ₐ⒝⒞ © ⒟ₑₖₘₙₚₛᵤ⒲ₓᵡᵧ¶⁸ ⁺ ₈
ÑŇ Ñ Ñ ñň ñ ñ
The letters provided in your WP 34S allow for correct
Ò Ò Ò ò Ò Ò 9
writing the languages of more than 3·10 people using
Ó Ó Ó ó ó ó Greek or simple variants of Latin alphabets, i.e. the
ÔÕŌŎ Õ Õ ôõōŏ õ õ following languages:
Ö Ö Ö ö (ŏ) ö ö Afrikaans, Català, Cebuano, Česky, Cymraeg, Dansk,
Ø Ø Ø ø ø ø Deutsch, Eesti, English, Español, Euskara, Français,
Ř Ř Ř ř ř ř Gaeilge, Galego, Ελληνικά, Hrvatski, Bahasa
Š Š Š š Š Š Indonesia, Italiano, Basa Jawa, Kiswahili, Kreyòl
ß ß ß ß ß ayisyen, Magyar, Bahasa Melayu, Nederlands, Norsk,
Ù ù Português, Quechua, Shqip, Slovensky, Slovenščina,
Ù Ù ù ù
Srpski, Basa Sunda, Suomi, Svenska, Tagalog,
Ú Ú Ú ú ú ú Winaray, and Zhōngwén (with a little trick explained
ÛŨŪŬ Ũ Ũ ûũūŭ ũ ũ below). This makes the WP 34S the most versatile
Ü Ü Ü ü (ŭ) ü ü global calculator known. If you know further living
Ů Ů Ů ů ů ů languages covered, please tell us. Find the full
ẋ ẋ / Ẁ Ẁ character set provided in Appendix E.
Ý Ý Ý ý ý ý Mandarin Chinese (Zhōngwén) features four tones, usually
transcribed like e.g. mā, má, mă, and mà. So we need different
ŷ ŷ / ȳ ȳ letters for ā and ă here, and for e, i, o, and u as well. With six
Ÿ Ÿ Ÿ ÿ ÿ ÿ pixels total character height, we found no way to display these in
both fonts nicely, keeping letters and accents separated for easy
Ž Ž Ž ž ž Ž reading. For an unambiguous solution, we suggest using a
dieresis (else not employed in Hànyŭ pīnyīn) representing the
third tone here. Pinyin writers, we ask for your understanding.
You can browse each and every catalog just using the cursors and as explained
on p. 125. You may reach your target significantly faster, however, taking advantage of the
alphabetical method demonstrated in the left columns of the table below:
1 User , , , , , or , , or
input , , , , or in alpha mode in alpha mode
3 User
2nd character (e.g. )
input
Dot Shows the first item starting
matrix with this sequence*
display (e.g. FS? )
n User or
input
Your WP 34S leaves the catalog returning to the mode set before …
… and executes or inserts the command … and appends the selected character
chosen, or recalls the constant selected. to alpha.
* Like in browsing a dictionary, it may be faster to search the letter following alphabetically instead
and then browse backwards. In our example, finds FS?C but
would do as well.
Remember you can enter Greek letters in a search using prefix , e.g. + for (compare
p. 62).
If a character or sequence specified is not found in the catalog chosen then the first item following
alphabetically will be shown – see the sorting order on p. 74. If there is no such item, then the last
item in this catalog is displayed.
You may key in even more than two characters – after 3 seconds, however, or after or ,
the search string will be reset and you may start with a first character again.
Your WP 34S contains a rich catalog of constants. Navigation therein works as explained
above. Names of astronomical and mathematical constants are printed on colored
background below. Values of physical constants (including their relative standard
deviations given in parentheses below) are from CODATA 2010, copied in July 2011,
unless stated otherwise. Green background denotes exact or almost exact numeric values.
The redder the background, the less precisely the particular constant is known, even by
the national standards institutes and the international scientific community. 65
2
Wb V s kg m
For the units, remember tesla with 1T 1 1 2 , joule with 1J 1N m 1
m 2
m s2
J
and on the other hand 1J 1W s 1V A s . Thus 1 1A m 2 .
T
Employ the constants stored here for further useful equivalences, like expressing joules in
1
electron-volts ( 1A s V eV 6.24 1018 eV ), or calculating the wavelength from the
e
frequency of electromagnetic radiation via c , or whatever else crosses your mind.
f
c 2.997 924 58E8 (per definition) Speed of light in vacuum ≈ 300 000 km/s
65
The numbers printed in parentheses allow for determining the precision of results you may obtain using
these constants, through the process of ‘error propagation’ going back to C. F. Gauß (1777 – 1855). This
procedure is essential if your results are to be trustworthy – not only in science. Consult a suitable
reference. Yardstick measurements cannot yield results precise to four decimals.
WP 34S Owner’s Manual Edition 3.1 Page 134 of 211
Numeric value Remarks
2
e 1.602 176 565E-19 C (2.2E-8) Electron charge e 0 G0
K J RK
C
F 96 485.336 5 (2.2E-8) Faraday’s constant F e NA
mol
muc2 1.492 417 954E-10 J (4.4E-8) Energy equivalent of atomic mass unit
J
R 8.314 462 1 (9.1E-7) Molar gas constant
mol K
2
re 2.817 940 326 7E-15 m (9.7E-10) Classical electron radius re a0
2
R∞ 1.097 373 156 853 9E7 / m (5.0E-12) Rydberg constant R me c
2h
Se2 6.694 379 990 14E-3 (1.5E-12) First eccentricity squared of WGS84
G lp
tP 5.391 06E-44 s (6.0E-5) Planck time t P
c5 c
c2 c M pc2 Ep
TP 1.416 833E32 K (6.0E-5) Planck temperature TP
k G k k
e2 1
α 7.297 352 569 8E-3 (3.2E-10) Fine-structure constant
4 0 c 137
1 2
γp 2.675 222 005E8 (2.4E-8) Proton gyromagnetic ratio p
P
s T
1
ε0 8.854 187 817…E-12 Electric constant or vacuum permittivity 0 2
0c
W 2 5k 4
σB 5.670 373E-8 (3.6E-6) Stefan-Boltzmann constant
m2 K 4 B
15h 3 c 2
1 5
Φ 1.618 033 988 749 894… Golden ratio
2
ω 7.292 115E-5 rad (2E-8) Angular velocity of the Earth according to WGS84
s
CONV mainly provides the means to convert local to common units.66 Navigation works as
in the other catalogs. There is one specialty, however: (i.e. ) will execute the
inverse of the conversion displayed and leave CONV.
will display
being the
amount of acres equaling 4 hectares.
The conversions provided are listed in the table below. The calculations are for your
orientation only; your WP 34S uses more precise numbers where applicable.
66
The SI system of units is agreed on internationally. Meanwhile, it is adopted by all countries on this planet
except two. Thus for most readers, most of the units appearing in CONV may look obsolete at least. They
die hard, however, in some corners of this world (English is spoken in all of them). For symmetry reasons,
we think about adding some traditional Indian and Chinese units to CONV.
This table may also give you an idea of the mess we had in the world of measures before going metric.
WP 34S Owner’s Manual Edition 3.1 Page 139 of 211
Conversion Calculation Remarks Class
flozUK→ml * 28.413 1
flozUS→ml * 29.573 5
1 l = 1/1000 m3 Volume
galUK→l * 4.546 09
galUS→l * 3.785 42
l→cft / 28.316 9
l→galUS / 3.785 42
ml→flozUK / 28.413 1
1 ml = 1 cm3 Volume
ml→flozUS / 29.573 5
The constant To may be useful for conversions of temperatures, too; it is found in CONST
and is not repeated here because it is only added or subtracted.
You may, of course, combine conversions as you like. For example, filling your tires with a
maximum pressure of 30psi the following will help you at gas stations in Europe and
beyond:
resulting in 2,1bar.
Now you can set the filler and will not blow your tires.
In cases of emergency of a particular kind, remember becquerel equals hertz, gray is the
unit for deposited or absorbed energy ( 1Gy 1 J kg ), and sievert (Sv) is gray times a
radiation dependant dose conversion factor for the damage caused in human bodies.
In this area also some outdated units may be found in older literature: Pour les amis de
10 10
Mme. Curie, 1Ci 3.7 10 Bq 3.7 10 decays s . And for those admiring the very first
Nobel laureate in physics, Mr. Röntgen, for finding the x-rays (ruining his hands in these
experiments), the charge generated by radiation in matter was measured by the unit
1R 2.58 10 4 As kg . A few decades ago, the rem (i.e. roentgen equivalent in man)
measured what the sievert does today.
In addition to the label ‘δx’ reserved for step size in calculation of derivatives (see f’(x) in
the IOP), additional labels may already be provided for particular tasks. You will find them
listed in CAT when the respective library routines are loaded in FM (see below). Thus they
will not take any steps from user program memory in RAM.
All library routines presently available are found on the WP 34S website in the directory
http://wp34s.svn.sourceforge.net/viewvc/wp34s/library/ . They are text files with extension
.wp34s by convention. These routines include a suite of basic 3D vector operations, a
TVM (time value of money) application, some matrix routines including an editor, and
more. You may open these text files using e.g. Notepad, and you should find the
necessary user information at the beginning of each file.
When you copy wp34s-lib.dat into the directory your WP 34S emulator runs in, you
can access all those routines via CAT from your emulator as well. See Appendix D.
resets the timer to zero without changing its status (running or stopped).
or
sets the current register address (CRA, startup default is 00). Your numeric
input will already be displayed in the exponent section as shown here68:
67
There are two deviations: Your WP 34S will not take the content of X as start time. Start times are
supported by RCL here. And your WP 34S will display tenths instead of hundredth of seconds.
68
Attempts to specify a CRA beyond the allocated address range will be blocked and may cause ‘__’ or the
like being displayed in the exponent section.
On the HP-55, input of a single digit was sufficient for storing, since only 10 registers were featured for this
purpose there. Furthermore, there was no automatic address increment.
WP 34S Owner’s Manual Edition 3.1 Page 145 of 211
stores the present timer value in the current register at execution time in
format hhh.mmssd without changing the timer status or value. It then
increments the CRA and displays it as shown above.
combines and in one keystroke, but the total time since the
last explicit press of or is shown and updated in the top row like:
or .
Note this total time is volatile, however – it will disappear without a trace
when or is pressed.
adds the present timer value to the statistics registers like would do.
This allows for computing its arithmetic mean and standard deviation after
leaving STOPW.
nn recalls rnn without changing the status of the timer. The value recalled may
be used e.g. as start time for further incrementing.
Note no other keys will work in STOPW – so e.g. for adding or subtracting split times
you have to leave this application.
Unless you buy a WP 34S pre-flashed as explained on p. 5, you must do the flashing
yourself. Then you need an unmodified HP-20b or HP-30b calculator, a special cable, a
binary file to load on your computer, and software for the transmission to your calculator.
The specific binary file you need to transmit to your calculator to make it your WP 34S
is called calc.bin and is included in the zipped release package you can download
from http://sourceforge.net/projects/wp34s/files/ . Alternatively, you may download
from http://wp34s.svn.sourceforge.net/viewvc/wp34s/trunk/realbuild/ one of the
following files alone:
The amount of FM you have to pay for the STOPW application is 1.5kB, for printer
support some 3.5kB more. Make your choice! But check the hardware pre-
requisites (see Appendix H) or your calculator may hang.
For the cable, there are two alternatives, presented in order of appearance:
A. There was a limited production run of special programming cables supplied by HP.
This item – pictured overleaf – is almost out of stock now. Thus if you have got
one, keep it. Then you will need a computer with a traditional 9-pin serial port.
B. You may use an ordinary micro USB cable for the connection to your PC if you
install a small custom board developed by Harald Pott, hosting a USB port. With
the board pictured here, your
calculator will be powered through
that USB line while connected.
Thus you will not need the special
programming cable nor an hardware
serial port, and avoid the battery drain observed – but you will need to install this
board. See Appendix H for more information and a detailed installation guide.
Having prepared your calculator, computer, software, file, and cable, follow one of the two
alternative procedures A or B below for transforming an HP-20b or HP-30b into a WP 34S.
GENERAL WARNING: Flashing your HP-20b or -30b will erase the HP firmware –
your business calculator will then be gone. Its firmware will be replaced by the file
you downloaded. Thereafter you will have a WP 34S RPN Scientific – i.e. your
calculator will react as documented in this manual.69
This also means your calculator will not do anything useful for you after step 6 and
before step 9 is successfully completed in the procedures described below. Your
calculator may even look dead – it is not, be assured. If the procedure is interrupted
at any time, don’t worry: remember RESET will always turn your calculator off, and
shall turn it on70 – simply start over at step 1.
69
If – for any reason whatsoever – you want to return to the original HP business calculator firmware, you
can do so by sending the respective binary file instead of calc.bin or its siblings. An HP-30b file is
hosted on our website for example – note it represents the firmware status as known to us today and will
not be maintained.
70
… as long as the batteries are good – even if you do not see anything on the LCD.
WP 34S Owner’s Manual Edition 3.1 Page 148 of 211
A1. Remove the black battery door of your
calculator. Connect the programming cable to
the programming port of the calculator and to
your computer.
A2. Start MySamBa. Pick the port you use for your
cable and select the file you want to transmit.
The window may look like:
A7. Release ERASE now. Press RESET to turn the calculator off again.
A8. Press to turn the calculator on again. It will look dead. Do not worry – see
the note above.
A10. Press RESET to turn the calculator off once more. Exit MySamBa. Disconnect the
cable. Close the battery door.
A11. Press and release . Your calculator should turn on as a WP 34S now.
71
Then it throws (a) “Error, could not connect to calculator” or (b) “Unable to connect”. Typical causes are:
(a) a wrong COM port or not the proper driver for that port, (b) the cable makes no proper contact or your
calculator is not turned on. Anyway, this dead looking calculator is a most annoying state since you do not
get the slightest feedback from your system while you keep looping through the steps above. And with the
programming cable connected, your battery will be drained in this time … so press RESET, disconnect,
think, and check before reconnecting and retrying. If it fails repeatedly, turn to p. 182.
WP 34S Owner’s Manual Edition 3.1 Page 149 of 211
If you have installed the custom USB board mentioned above before transforming your
HP-20b or -30b into a WP 34S, your calculator will be powered through this port while
connected to your computer. The standard USB cables, however, do not feature the
buttons ERASE and RESET of the custom programming cable. Thus, the flashing
procedure will work here as follows:
B7. Remove the shorting link. Press RESET to turn your calculator off again.
B8. Press on the calculator. It will look dead like on the picture. Do not worry –
see the note above.
B9. Click "Send File" in the MySamBa window and wait for it to finish transmission (it will
take some 20s). If it fails71, return to B3.
B10. Press RESET to turn the calculator off once more. Exit MySamBa. Close the battery
door.
B11. Press and release . Your calculator should turn on as a WP 34S now.
You can disconnect the cable unless you want to use it for data transfer from your
emulator (see Appendix D).
Whether you bought your WP 34S pre-flashed or did the first flashing yourself, you may
want to keep it up-to-date when a new release is published or after you modified its hard-
ware. We recommend you SAVE your work each time before updating (your WP 34S
will show Saved when successful). Starting the new firmware, this backup will be restored
automatically – if you didn't accidently press the ERASE button on the programming cable.
With the proper binary downloaded as described on p. 147, updating works as follows:
2. Connect the programming cable to the 2. Connect the micro USB cable to the
programming port of your WP 34S and USB port of your WP 34S and to your
to your computer. Do not touch the computer.
cable buttons in the remaining
procedure!
3. Start MySamBa.
Enter the proper port
and file information
(see p. 147ff).
Do not start sending
yet! Just leave the window open.
7. Click "Send File" in the MySamBa window and wait for it to finish
transmission (it will take some 20s).73
8. Use a suitable pin to press the RESET button behind the hole on the
back of your WP 34S. Your device will turn off. Exit MySamBa.
Disconnect the cable. Close the battery door.
9. Press . Your WP 34S should turn on now with the last backup
Restored and the new firmware loaded. Check using VERS.
72
The next step will only work in debug mode. See Appendix H.
73
If MySamBa fails for any reason, press RESET and disconnect the programming cable. Then take your
time and check footnote 71. Return to step 6 when you want to retry.
WP 34S Owner’s Manual Edition 3.1 Page 152 of 211
I/O Overview
Looking to I/O from your WP 34S calculator, this matter now appears as follows
schematically:
FM Flashing
SAVE is for battery-fail-safe internal backup of your work as explained on p. 72. The
different flavors of LOAD are for recovering from backup. Alternatively to the commands
SAVE and LOAD, you may hold down (i.e. ) and press one of the following
keys twice:
for restore: Restores the most recent backup like LOAD does.
PRCL recalls an individual program from the FM library into RAM. PSTO stores a copy of
an individual program from RAM into the FM library. Note that by recalling a library routine
from FM via PRCL, editing it, and storing it back via PSTO you may modify this part of the
FM library. See the IOP for these commands and Appendix B for details about the RAM
and FM sections of your WP 34S.
The different flavors of SEND are for sending your work from WP 34S RAM to your
computer, where you will enjoy more editing comfort. See Appendix D for more.
Your WP 34S features 6kB of RAM (of which 4kB are volatile) and 128kB of FM.
The firmware takes some 90% of FM, depending on the file you loaded in flashing. The
remaining, user accessible part of FM may be almost 14kB. Of these, 2kB are reserved for
the backup region corresponding to the 2kB of non-volatile RAM featured; the remainder
may be filled by a collection (a.k.a. library) of different programs.
1 1 1
The remaining part of this appendix covers RAM only. It 2
discusses how the available memory is divided in program area,
local and global data. The 1024 words of non-volatile RAM are
shared by four sectors:
1. Status and configuration data 2
This sector of 88 bytes is fixed at the top of available memory and is completely user
transparent. It contains status and modes data, the 30 byte alpha register, and 14 bytes
holding the 112 global user flags.
Global Registers
Global registers are placed near the end of available memory. In startup default memory
layout, the numbered registers R00 to R99 precede the twelve stack and special registers
X, Y, Z, T, A, B, C, D, L, I, J, and K as shown on p. 24. This totals to 112 global registers,
which is the maximum available. Their number can be reduced down to the 12 lettered
registers using REGS (see the IOP). REGS? will return an integer between 0 and 100
corresponding to the number of global numbered registers currently allocated.
REGS controls the lower boundary of the global register sector (abbreviated LBG in the
following). Reducing the number of registers will pull up LBG to higher absolute addresses;
74
A complete copy of the RAM as you configured and loaded it can be written to FM using SAVE. It will
remain safely preserved not only when your WP 34S turns off but also even when its batteries fail. See
Appendix A for more information about flashing and handling of FM in general.
WP 34S Owner’s Manual Edition 3.1 Page 154 of 211
increasing their number will push it down. The memory contents are moved accordingly,
thus preserving the data in the surviving registers. Contents of deallocated registers are
lost; newly added registers are cleared. The lettered registers do not move.
Example: See the global register sector at startup default in the following memory
table. The two rightmost columns show what happens after subsequent execution
of REGS 96 and REGS 98. The registers are loaded with arbitrary values here so
they can be traced easily. LBG is indicated by a red horizontal line.
Note the absolute addresses of R00 up to Rn-1 change after REGS n whenever n
is changed, while their contents are copied. The lettered registers stay at fixed
absolute addresses.
In indirect addressing, zero in the index register points to R00 always. Index values
exceeding the maximum set by REGS will throw an ‘out of range’ error, unless they
fall between 100 and 111 – where the lettered registers live.
Summation Registers
The memory needed for cumulative statistics is allocated separately – these data are no
longer held in global general purpose registers. This allows for higher internal precision
and prevents destroying these data inadvertently. The only way to update statistical data is
via Σ+ and Σ- . The accumulated data are evaluated and recalled by dedicated commands;
they are not accessible by STO or RCL.
The first invocation of Σ+ allocates 70 words for the 14 summation registers.75 They are
inserted between LBG and SRS, pushing the latter down in memory. Depending on the
competing requirements for program and data space, it may be necessary to make room
first (see overleaf).
After CLΣ, CLALL, or RESET, the memory allocated for the summation registers is
released. All pointers are automatically adjusted, so the memory allocation or release will
not disrupt a running program. Recall commands such as e.g. Σxy or SUM will return zero
if no data are allocated; other statistical operations will throw an error if not enough data
are present.
75 2 2 2
Herein, 2 words are employed for Σn, 4 × 8 words for Σx , Σy , Σxy, and Σx y, and 9 × 4 words for the
other sums. If memory allocation for these 70 words fails, an error will be thrown.
WP 34S Owner’s Manual Edition 3.1 Page 156 of 211
Calling LOCR again in the same subroutine will adjust the number of local registers. This
requires data copying since these registers are allocated from low to high addresses and
the SRS grows in the opposite direction. LOCR? will return the number of local registers
currently allocated in the routine you are in.
See overleaf for addressing local data, and for an example of recursive programming. The
SRS must be large enough to hold these data, however, so you may have to make room
first – see next paragraph.
Below the SRS, program memory holds the stored program steps. A typical program step
takes just one word. Multi-byte labels and multi-character alpha strings take two words
each. The total size of program memory depends on the number of global and local
registers allocated, as explained in the following.
The 12 special (lettered) registers are always allocated. The SRS has a minimum size of
six words or levels. Everything else is user distributable within the 982 words left for
sections 2 to 4, so:
982 = r + s + p with
r= number of words allocated for global registers. These are 4 per standard
register. There are at least 12 and at most 112 of them. So r varies
between 48 and 896 (this maximum is explained in Appendix H); startup
default is 448.
s = number of words allocated for summation registers (70 if they are used;
startup default is 0).
p = number of words available for program steps and SRS. One step is
already taken by the inevitable final END statement; 6 words is the
minimum size of the SRS. So STATUS will show you a maximum of 933
free words in RAM, meaning up to 927 free program steps. Startup default
is 533 steps. Subroutine nesting and local registers expand the SRS, thus
reducing the program space available.
If, for instance, you need to do statistics and also use 20 global numbered registers,
there will be space for 777 program steps maximum.
You have several options for increasing the free space where you need it (see the picture
on p. 154):
1. Reduce the number of global numbered registers allocated. One register less
typically allows for four additional program steps.
2. Move programs to FM and clear the respective steps in RAM. Four cleared program
steps typically allow for one additional register.
3. Release the summation registers when you do not need them anymore. This space
may be distributed to up to 70 additional program steps, up to 17 additional
registers, or a mix.
Global data take relative addresses from 0 to 111 as described on p. 154. So, relative
addresses of local data begin with 112 and may go up to 255 if 144 local registers are
allocated. The first 16 local registers and all local flags may also be directly addressed
using a dot heading the number – the arguments go from .00 to .15, corresponding to
relative addresses from 112 to 127.76 Any registers beyond are only indirectly addressable.
This scheme allows for indirectly addressing
a global register via a global index register (e.g. STO 23 with r23 < 112),
a global register via a local index register (e.g. STO .15 with r.15 < 112),
a local register via a global index register (e.g. STO 47 with r47 ≥ 112), and
a local register via a local index register (e.g. STO .06 with r.06 ≥ 112).
Subroutine calls: XEQ – executed in a program – just pushes the return address on the
SRS before it branches to the target. The subroutine called will keep having access to the
caller's local data as long as it does not execute LOCR itself. As soon as it does, the
pointer to the local data is newly set, and the subroutine called cannot access the caller's
local data anymore.
RTN or POPLR – executed in a program – check if the current SRS pointer points to a
local frame (as explained on p. 156). If true then the pointer is moved above that frame,
and the SRS is searched from this point upwards for another local frame. If such a frame is
found then its pointer is stored; otherwise the pointer to the active local frame is cleared.
RTN will branch to the return address found, while POPLR will just continue execution. So
the current local frame is dropped and the next higher (or older) frame is reactivated if one
exists.
Manually executing RTN, starting a new program with XEQ, SLV, etc., or program editing
will clear the SRS and remove all local registers and flags by clearing the pointer. All such
data are lost then!
Recursive programming: Using local registers allows for creating a subroutine that calls
itself recursively. Each invocation deals with its local data only. Of course the RPN stack is
global so be careful not to corrupt it.
Here is a recursive implementation of the factorial. It is an example for demonstration
only, since this routine will neither set the stack correctly nor will it work for input
greater than some hundred:
76
Only arguments up to 127 are storable in an op-code, hence the limit.
WP 34S Owner’s Manual Edition 3.1 Page 158 of 211
LBL ’FAC’
IP Assume x = 4 when you call FAC. Then it will allocate 1 local register
x>1? (R.00) and store 4 therein. After decrementing x, FAC will call itself.
GTO 00 Then FAC2 will allocate 1 local register (R.002) and store 3 therein.
1 After decrementing x, FAC will call itself again.
RTN
LBL 00 Then FAC3 will allocate 1 local register (R.003) and store 2 therein.
LocR 001 After decrementing x, FAC will call itself once more.
STO .00 Then FAC4 will return to FAC3 with x = 1 . This x will be multiplied by
DEC X r.003 there, returning to FAC2 with x = 2 . This x will be multiplied by
XEQ ’FAC’ r.002 there, returning to FAC with x = 6 , where it will be multiplied by
RCL× .00 r.00 and will finally become 24.
RTN
Your WP 34S starts in standard real mode (DECM) when you get it new. You may use it
for integer computations as well, as shown above many times. Going from DECM to any
integer mode, the values on the current stack will be truncated to integers. Going from
integer mode to DECM, the current stack contents (being all integers) will be converted to
decimal. All other memory contents will stay as they were!
See the fate of some register contents undergoing mode switches in the following
examples, where j, k, r00, and r01 will be checked by recalling them. :
X Y J K R00 R01
Contents at start e.g. 1.1 20.2 300.3 4,000.4 50,000.5 600,000.6
After 2COMP, WSIZE 32, BASE 10 1
d
20
d
3,075
d
40,964
d
512,005
d
6,291,462
d
d d d d
Recall the registers by sRCL 300 4,000 50,000 600,000
d d d d d d
567 STO J, -9 STO 00 -9 567 567 40,964 -9 6,291,462
DECM -396 -389
-9.0 567.0 5.7 4,000.4 3.0 600,000.6
Recall the registers by iRCL 567.0 40,964.0 -9.0 6,291,462.0
Note that identical register contents are interpreted quite differently in DECM and integer
modes. Even very small integers may lead to very large surprises:
Example: Start with DECM, WSIZE 64, 2COMP, 0 STO 00, 2 STO 01, 10 STO 02 as
above. So RCL 01 shall recall r02. Let us check. Key in:
All this is caused by the internal representation of numbers: While integers are simply
stored as such (allowing for n ≤ 1.84∙1019 in UNSIGN or |n| ≤ 9.22∙1018 in the other
modes using 64 bits), standard floating point numbers are stored using a format as follows:
Real zero is stored as integer zero, i.e. all bits cleared.
The mantissa of a real number (also known as significand in this context) is
encoded in five groups of three digits. Each such group is packed into 10 bits
straight forward, meaning e.g. 55510 = 10 0010 11002 or 99910 = 11 1110 01112 =
3E716 . So the 15 rightmost decimal digits of the significand take the least significant
50 bits. Trailing zeroes are omitted, so the significand will be right adjusted.
The most significant (64th) bit takes the sign of the mantissa.
The remaining 13 bits are used for the exponent and the leftmost digit of the
mantissa. Of those 13, the lowest 8 are reserved for the exponent. For the top 5 bits
it gets complicated77: if they read …
o 00ttt, 01ttt, or 10ttt then ttt takes the leftmost digit of the
significand (0 – 710), and the top two bits will be the most significant bits of
the exponent;
o 11uut then t will be added to 10002 and the result (810 or 910) will become
the leftmost digit of the significand. If uu reads 00, 01, or 10 then these two
will be the most significant bits of the exponent. If uu reads 11 instead, there
are codes left for encoding special numbers (e.g. infinities).
In total, we get 16 digits for the mantissa and a bit less than 10 bits for the
exponent: its maximum is 10 1111 11112 (i.e. 76710). For reasons becoming
obvious below, 398 must be subtracted from the value in this field to get the true
77
Don’t blame us – this part follows the standard IEEE 754.
WP 34S Owner’s Manual Edition 3.1 Page 160 of 211
exponent of the number represented. The 16 digits of the significand allow for a
range from 1 to almost 1016.
Rewarding your patience so far, we will show you some illustrative examples of the
encoding in your WP 34S instead of telling you more theory:
Floating point Hexadecimal value stored Bottom bits split Top 14 bits in binary Stored
number in groups of 10 representation expo-
nent
1. 22 38 00 00 00 00 00 01 0010 0010 0011 10 398
-1. A2 38 00 00 00 00 00 01 1010 0010 0011 10 398
111. 22 38 00 00 00 00 00 6F 0010 0010 0011 10 398
111.111 22 2C 00 00 00 01 bC 6F 06F 06F 0010 0010 0010 11 395
-123.000123 A2 20 00 00 07 b0 00 7b 07b 000 07b 1010 0010 0010 00 392
9.99∙1099 23 bC 00 00 00 00 03 E7 0010 0011 1011 11 495
1∙10–99 20 AC 00 00 00 00 00 01 0010 0000 1010 11 299
1∙10–383 00 3C 00 00 00 00 00 01 0000 0000 0011 11 15
The last number is the smallest that can be entered directly. Dividing it by 1015
results in 1∙10–398, being stored as hexadecimal 1. Divide this by 1.999 999 999 99
and the result will remain 1∙10–398 in default rounding mode (and in RM 1, 2, 3,
and 5, see RM). Divide it by 2 instead and the result will become zero.
This number (featuring the digit 9 twelve times) is the greatest that can be entered
numerically. Adding 9.999∙10372 to it will display 1∙10385 …
1∙10385 77 FF E7 F9 FE 7F 9F E7 9 3E7 3E7 0111 0111 1111 11 767
3E7 3E7 3E7
… which is stored as 9.999 999 999 999 999∙10384. This is the greatest number
representable. All this follows Decimal64 floating point format, though not exactly.
These special numbers are legal results on your WP 34S if flag D is set.
There are some commands generating messages, be they in the numeric or in the dot
matrix section of the display. Of these, DAY, DAYS+, ERR, STATUS, VERS, and WDAY
were introduced above in the section about display. Others are PROMPT, αVIEW and
more alpha commands, and the test commands (see p. 67). Also two constants will return
a special message when called.
Furthermore, there are a number of error messages. Depending on error conditions, the
following messages will be displayed in the mode(s) listed:
Error
Message Mode(s) Explanation and examples
code
78
Note that e.g. tan(90°) and logs of 0 are legal if flag D is set. See the end of this appendix.
WP 34S Owner’s Manual Edition 3.1 Page 162 of 211
Error
Message Mode(s) Explanation and examples
code
17 ¬α See Appendix D.
Integer,
14 Register content is too big for the word size set.
¬STO
Each error message is temporary (see p. 38), so or will erase it and allow
continuation. Any other key pressed will erase it as well, but will also execute with the
stack contents present. Thus, another easy and safe return to the display shown before
the error occurred is pressing an arbitrary prefix twice.
A final note about flag D: if it is set, errors 4 and 5 will not occur at all, and error 1 will
happen less frequently, since ±∞ and NaN are legal results then (see the respective entry
in CONST and the very end of Appendix B).
The ‘medium’ skin is shown several times in this manual; the other two are smaller and
are displayed overleaf. All three skins are printed to scale here.
Furthermore, this menu allows you to import or export numbers, export alpha as text or
the complete ‘LCD’ screen as a picture to the clipboard for use in other computer
applications.
If your computer has a numeric keypad, the digit and arithmetic operation keys there
are shortcuts to the corresponding ‘keys’ of the emulator. The up and down cursor keys
are connected to and , Backspace and Del to , and Enter and CR to .
The emulator and the calculator can talk to each other over the cable used for flashing.
Either one of the cables mentioned on p. 147 will do, or you need a modified calculator as
described here:
http://www.hpmuseum.org/cgi-sys/cgiwrap/hpmuseum/archv020.cgi?read=186826 .
Remember the programming cable draws current from the batteries of your WP 34S, so
disconnect it from your WP 34S as soon as it is no longer needed.
In the emulator directory, a plain ASCII text file wp34s.ini must be placed that contains
just a single line (terminated by CR/LF) stating the name of the computer port used for
serial communication, such as e.g.
COM2:
The following commands (all stored in P.FCN catalog) allow for sending programs,
registers or all RAM from your WP 34S to your computer or vice versa. With a suitable
cable it would be even possible to transfer data directly between two WP 34S.
If your WP 34S receives data from the emulator on your computer, these data
will be stored in the respective RAM section directly. If the emulator receives
data from your WP 34S, these data may be used immediately as well, and will
be part of the file wp34s.dat which is written when exiting the emulator (see
overleaf).
The little = annunciator is lit while the serial port is in use. Take to abort the
communication if necessary.
Each of the four commands RECV, SENDP, SENDR, and SENDA features a fixed
timeout of some 10s for setting up the connection. After an interval of inactivity of said
length, an I/O Error is thrown indicating no communication has occurred. If such
an error appears in the middle of a transmission, try again.
Using a WP 34S without the crystal installed, you may also get an I/O error
because of its baud rate setting being a bit too far off. To determine the speed,
use the loop
CLx
INC X
BACK 001
and let it run for 30s while connected to the computer. The expected result at
nominal speed is around 123,000 for v3.1. On a crystal-less WP 34S, the I/O
commands accept a correction factor in percent in X. Divide the counts you
measured by 123,000 and leave it in X for RECV or SEND… Already some 2%
may make a significant difference. Values between 80 and 120 are accepted –
all other are ignored. On the emulator or on a WP 34S with the crystal installed
and initialized, x will be ignored in those commands.
With your data transmitted successfully from your WP 34S to your computer, see
section 4 of the separate WP 34s Assembler Tool Suite User Guide for the way to
extract .wp34s-files from the file wp34s.dat. The .wp34s-files may be opened and
edited by a suitable text file editor, e.g. WordPad. After completion of editing and
assembling the routine(s) – and after successful tests on the emulator – you may
WP 34S Owner’s Manual Edition 3.1 Page 167 of 211
revert the transmission: issue RECV on your WP 34S and send the respective
modified data from your computer back to your WP 34S. What works on the emulator
shall work on your calculator as well (provided the necessary hardware is installed) –
both feature the same set of functions. Your WP 34S is one of the smallest
calculators in a commercial package allowing such a bidirectional data exchange and
backup.
The newer Qt-based emulators for Windows and MacOS contain a setup option for the
serial interface. They will eventually replace the current Windows emulator. with the
commands above.
All these files are only read into memory at emulator startup.
The following table shows the complete dot matrix character set as implemented in big and
small font sorted according to the hexadecimal character codes (Unicode). Characters with
codes < 2016 are for control purposes – some of them (4, 1010, 2710) may be useful for
HP82240B control.
0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F
000x ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏ ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏
001x ␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟ ␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟
002x ␠ ! “ #$%& ' ( ) *+ , - . / ␠ ! “ #$ % & ‘ ( ) * + , - . /
003x 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
004x @ A B C D E F G H I J K L M N O @ A B C D E F G H I J K L M N O
005x P Q R S T U V W X Y Z [ \ ] ^ _ P Q R S T U V W X Y Z [ \ ] ^ _
006x ` a b c d e f g h i j k l m n o ` a b c d e f g h i j k l m n o
007x p q r s t u v w x y z { ¦ } ~ p q r s t u v w x y z { ¦ } ~
008x
009x
00Ax £ ¥ ¦ © ¬ £ ¥ ¦ © ¬
00Bx ° ± ² ³ µ ¶ ° ± ² ³ µ ¶
00Cx À Á Ã Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï À Á Ã Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
00Dx Ð Ñ Ò Ó Õ Õ Ö × Ø Ù Ú Û Ü Ý ß Ð Ñ Ò Ó Õ Õ Ö × Ø Ù Ú Û Ü Ý ß
00Ex à á ã ã ä å æ ç è é ê ë ì í î ï à á ã ã ä å æ ç è é ê ë ì í î ï
00Fx ð ñ ò ó õ õ ö ø ù ú û ü ý ÿ ð ñ ò ó õ õ ö ø ù ú û ü ý ÿ
010x Ā ā Ā ā Ć ć Č č Ā ā Ā ā Ć ć Č č
011x Ē ē Ē ē Ē ē Ē ē Ē ē Ē ē
012x ħ Ĩ ĩ Ĩ ĩ Ĩ ĩ ħ Ĩ ĩ Ĩ ĩ Ĩ ĩ
013x
014x Ň ň Ō ō Ō ō Ň ň Ō ō Ō ō
015x Ř ř Ř ř
016x Š š Ũ ũ Ũ ũ Ũ ũ Ů ů Š š Ũ ũ Ũ ũ Ũ ũ Ů ů
017x ŷ Ÿ Ž ž ŷ Ÿ Ž ž
023x ȳ ȳ
039x A B Γ Δ E Z H Θ I K Λ M N Ξ O A B Γ Δ E Z H Θ I K Λ M N Ξ O
03Ax Π P Σ T Y Φ X Ψ Ω Π P Σ T Y Φ X Ψ Ω
30Bx α β γ δ ε ζ η θ ι κ λ μ ν ξ o α β γ δ ε ζ η θ ι κ λ μ ν ξ o
03Cx π ρ σ τ υ φ χ ψ ω π ρ σ τ υ φ χ ψ ω
1D6x ᵡ ᵤ ᵧ ᵡ ᵤ ᵧ
1E8x Ẁ ẋ Ẁ ẋ
201x ' ' ' “ “ “ ‘ ‘ ‘ “ “ “
In addition, there are two raster fonts supplied. Characters printed on darker grey show
identical patterns in all four fonts. Characters from 00F0 to 00FF (printed on yellow here)
cannot be the last ones in a group of three (see LBL etc.). Note the internal character
sorting in your WP 34S differs from Unicode – the characters of these four dot-matrix fonts
are repeated in the internal order at codes greater than E000. Do not use these high codes
in texts, however, since some programs (e.g. Preview) may not read them correctly.
For the numeric seven-segment display and the annunciators top right, there is another
character set and font provided:
0 1 2 3 4 5 6 7 8 9 A B C D E F Remarks
002x ! " # $ % & ' ( ) * + , - . /
003x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
004x @ A B C D E F G H I J K L M N O Note M
005x P Q R S T U V W X Y [ \ ] ^ _ Note W
006x ` a b c d e f g h i j k l m n o Note m
007x p q r s t u v w x y Note w
008x
WP 34S Owner’s Manual Edition 3.1 Page 170 of 211
0 1 2 3 4 5 6 7 8 9 A B C D E F Remarks
009x
00Ax ¡ ¢ £ ¤ ¥ ¦ § ¨ For STATUS
For high bits
00Bx · ¸ ¹ in BASE 2
00Cx
00Dx
00Fx ñ ò ó ô õ ö ÷ ø ù ÿ Segments
In the IOP, the corresponding functions of vintage HP calculators were mentioned under
the respective entry of your WP 34S. The tables below revert this in a way: the first shows
the functions of the HP-42S and the corresponding ones of your WP 34S unless they carry
identical names and are either both keyboard accessible or both stored in a catalog or
menu. There is an analog table for the HP-16C functions on p. 178 below. Functional
differences of homonymous commands are covered in the IOP.
HP-42S
Remarks printed on light grey indicate commands being either default settings or keyboard
accessible on your WP 34S while you must use a menu on the HP-42S.
ABS Press .
ACOSH Press .
ADV ⎙ADV
AGRAPH n/a The LCD of the HP-30b has only a very small dot matrix
section (see p. 35). Striving for full fledged graphics therein
would be futile.
AIP αIP
ALENG αLENG
ALL Press .
ALLΣ Superfluous Your WP 34S always runs in ALLΣ mode.
See the description of alpha mode on p. 61.
AND Press .
AOFF αOFF
AON αON
ARCL αRCL or αRC#
AROT αRL or αRR
ASHF αSL or αSR
ASINH Press .
n/a The LCD of the HP-30b does not allow soft keys. This
prevents us from offering you a CUSTOM menu.
ASTO αSTO Press in alpha mode.
ATANH Press .
ATOX α x
AVIEW αVIEW
CORR Press .
COSH Press .
CPXRES
n/a See COMPLEX.
CPX?
n/a See ASSIGN.
DECM Press .
DEG Press .
PRON SF T Press .
PRP ⎙PROG
PRSTK ⎙STK
PRUSR
n/a See CLV.
PRV
PRX ⎙r X Press except in alpha mode.
PRΣ ⎙Σ
PSE Press .
PUTM n/a Matrix command: see CLV.
QUIET n/a See BEEP.
RAD Press .
RAN RAN# Press .
RCLEL & RCLIJ n/a Matrix commands: see CLV.
RDX,
Press except in alpha mode.
RDX.
REALRES
n/a See COMPLEX.
REAL?
RECT Superfluous This mode is permanent on your WP 34S. See COMPLEX.
RND ROUND Press .
RNRM n/a Matrix command: see CLV.
ROTXY RL, RLC, RR,
and RRC
RSUM
n/a Matrix commands: see CLV.
R<>R
SDEV s Press .
SF Press
SINH Press .
SIZE REGS
SLOPE L.R.
SOLVE SLV Press .
Contained in SLV
SQRT √
MEAN, SDEV, FCSTY, and CORR are on the keyboard; the
MODL setting commands are in MODE.
STOEL & STOIJ n/a Matrix commands: see CLV.
The table for the functions of the HP-16C is sorted following their appearance on its
keyboard, starting top left. As for the HP-42S, only functions carrying different names on
both calculators are listed. HP-16C functions neither mentioned here nor printed on the
keyboard of your WP 34S are all found in the catalog X.FCN in integer modes.
, RL In X.FCN.
, RR In X.FCN.
, RLC In X.FCN.
, RRC In X.FCN.
nBITS In X.FCN.
DBL / In X.FCN.
BS? In TEST.
1COMP
2COMP In MODE. Note there is also SIGNMT.
UNSIGN
x≤ ?
x< ?
In TEST. Note there are more tests covered there.
x> ?
(
)
Sometimes it seems the calculator just does not want to be flashed. You may have tried
the procedure described in Appendix A repeatedly, but the display stubbornly stays blank.
Do not despair79 – the following procedure will help:
1. If there is still a cable linking calculator and computer, remove it from both devices
a.s.a.p.
4. Now all the hardware is well prepared. Start MySamBa on your computer and enter
the port (as determined in 3.c or 3.d) and the file information (see p. 147). Do not
start sending yet, just leave the window open!
79
No such calculator ended as a paperweight just by flashing yet (but many batteries were drained for sure
by programming cables staying connected for too long and / or by calculators quietly continuing running full
speed).
WP 34S Owner’s Manual Edition 3.1 Page 182 of 211
5. Focus on your calculator again – it is connected to your computer now. Press
firmly for two seconds.
Does the calculator display react now? Fine – continue with step 4 on p. 149 for first
flashing, case (i), or on p. 150 for case (ii), or on p. 152 for updating your WP 34S.
If the display stays blank, however, press RESET and continue with the next step
here.
Two of our early HP-20b-based calculators (without USB boards built in) developed
broken serial input lines in service. These lines cannot be repaired easily. Those are the
only cases we know so far a WP 34S showing a blank display became unusable since it
cannot be flashed anymore.
The information provided here may ease your work when you are going to do advanced
computations, especially programming. This section also covers optional hardware
modifications (see p. 192). All the topics collected here require special care and/or a
deeper understanding of the respective ‘mechanics’ of the WP 34S – else you might be
surprised by the consequences. Use the information provided in this appendix at your
own risk!
Increasing or reducing the word size in integer modes will affect the current stack contents
only (see the description of WSIZE in the IOP). All other memory content of your WP 34S
will stay as is. This differs from the implementation as known from the HP-16C, where all
registers were remapped on word size changes.
See the following example starting with your WP 34S in BASE 16, WSIZE 16, SSIZE 4,
and with the stack filled with F12E:
ATTENTION: Note that increasing the word size will just add empty bits to the
significant side. Thus, a negative integer will immediately become positive then.
There is no automatic sign extension! If you want it, you will have to take care
of it yourself.
The command STOM stores mode data in a register. The following table shows more
details. Types are coded G for general, F for fractions, D for decimal, and I for integer.
+ : Tells the system a quartz crystal is installed for an accurate real time clock.
Find more about this hardware modification on p. 192ff. The quartz crystal
is an inevitable prerequisite for the clock being useful in medium to long
range (see DATE, TIME, STOPW, SETDAT, SETTIM), and it is required for
print operations as well. The system asks Crystal? InStALLEd – keep
held down and press a second time to activate the crystal. +
will work only if the crystal was not activated yet.
+ should be only necessary if you have loaded the file calc.bin
or calc_full.bin, while the other files enable the crystal automatically.
+ Stands for MySamBa: the system asks SAM-BA? boot – keep held
down and press a second time to clear the GPNVM1 bit and turn the
calculator off. This will work in debugging mode only (see above) to prevent
accidental access to this potentially dangerous feature. It is used in the
updating procedure on p. 152 but was not explained there.
Your WP 34S starts in SP mode per default, wherein 16 digit precision is reached in all
calculations. Switching between SP and integer modes was discussed on p. 159.
Additionally, you may use your WP 34S in DP mode. Each DP register will contain 16
bytes instead of eight, allowing for 34 digits instead of 16 (see below). Note matrix
commands will not work in DP.
DP allows for more precise calculations. While some computations will reach high
accuracy, we do not warrant 34 digit precision in all calculations in DP mode.
The following figure illustrates what happens in memory in transitions between SP and DP
modes, assuming startup in SP mode with REGS 16. RRA stands for ‘relative register
address’.
Going from SP to DP mode via DBLON, the contents of the twelve registers X … K are
copied, cutting 48 bytes into the former SP numbered register sector. So the top twelve SP
numbered registers will be lost in such a transition. All other memory contents stay where
and as they were – just each DP RRA covers what were two SP registers before. The
space allocated for summation registers will not change in such transitions.
Starting with the default memory configuration and executing DBLON then will leave you
with 44 DP registers. Executing REGS with an argument >44 in DP is legal, but the sector
of global numbered registers will then cut into the former program sector.
Returning from DP to SP mode, the lettered registers are copied again. Everything else
stays where and as it was, if you used ≤ 44 DP registers – just each SP RRA points to only
one half of a former DP register; and the memory released by the shrinking special
registers allows for adding (or returning) twelve numbered registers on top, each now
containing zero.
With >44 DP registers, the correspondence becomes more complicated – the number of
global registers will not, however, exceed 112.
In DP mode, shows the first (most significant) 16 digits of the 34-digit mantissa of x
and its four digit exponent, and displays the 18 trailing digits, both as temporary
messages. For example, returns here
, and .
80
DP mode reals are stored coarsely following decimal128 packed coding, though with some exceptions.
The lowest 110 bits take the rightmost 33 digits of the significand. Going left, a 12 bit exponent field follows,
then 5 bits used and coded exactly as in SP, and finally the sign bit. The greatest value of the stored
exponent is 10 1111 1111 11112 = 1228710 . For reasons like the ones explained for SP, 6176 must be
subtracted from this value to get the true exponent of the floating point number represented. Thus, DP
supports 34-digit numbers within . Coding works in full analogy to the way
described for SP in App. B.
Even smaller numbers may be entered using a decimal mantissa, but you will lose one digit per factor of 10.
–6143 –6176
The same happens if you divide 10 by 10 several times. At 10 , only one digit will be left, stored as
–6176
hexadecimal 1. Divide it by 1.999 999 999 99 and the result will remain 10 . Divide it by 2 instead and
the result will become zero.
Numbers beyond the interval will be displayed with -HIG or HIG in their
exponent, respectively. Only will show you the true exponent of them. This way
r00 = 1.032 000 000 000 000 054 E-6155 and r01 = 1.951 656 000 000 000 000 000 543 E-6152 are
found here.
Returning to SP with numbers in lettered registers exceeding the SP number range will cause 0 or
Infinity being displayed instead.
WP 34S Owner’s Manual Edition 3.1 Page 188 of 211
Remember not every return may be as precise as this one. And errors accumulate as
explained in the footnote at CONST.
ATTENTION: Rounding mode (see RM) may affect the results of DP calculations!
The operations listed below are used by the programmers of said routines. They ease their
work by allowing some more comfort in writing programs than the original function set.
These commands and pseudo-commands are explained here to foster understanding of
those routines, but they are not accessible through any catalog. The assembler (often
already its preprocessor) will translate most of them into proper program steps employing
the commands documented above. See the WP 34s Assembler Tool Suite User Guide for
additional information.
Num sn XROM with sn = 0, π, √2π, … inserts the respective constant like recalling
it from CONST would do.
XEQ label XROM calls the user routine carrying the global label specified (there are no
LBL statements in XROM).
XEQ’xyz’ in XROM must be followed by POPUSR immediately to
restore the XROM execution state (registers, flags, return addresses)
correctly. See also xIN.
XEQUSR label XROM calls the user routine containing the function to be solved, integrated,
summed, or multiplied, respectively. The label of this function is
transmitted as a parameter of the respective user command
described above (such as e.g. SLV).
XEQUSR must be followed by POPUSR immediately to restore the
XROM execution state (registers, flags, return addresses) correctly.
XLBL”label” XROM defines the eXternal LaBeL of this routine. XLBL doesn't generate
any code, it provides an entry point that the C function tables can take
advantage of. Typically, label equals the respective command name.
xOUT way XROM typically, way = xOUT_NORMAL . xOUT cleans and reverts the
settings of xIN, taking care of a proper return including the correct
setting of l and the stack. Generally, xOUT shall be the last command
of an XROM routine.
_INT n XROM 1, 2, …, 128, but also calculated constants are possible. _INT inserts
the respective constant like # does.
“text” Both The double quotes allow for convenient entry of text strings. The
assembler translates the string into the amount of α-statements
required.
A..D XROM recalls a, b, c, and d from their temporary storage (very short range,
see above).
Furthermore, there are several ‘alias’ spellings to ease input of some commands or even
of individual nonstandard characters on an English computer keyboard. E.g. the Greek
letter ‘α’ is often replaced by a Latin ‘a’, the print character ⎙ by ‘P.’ etc. Again, the
assembler will take care of translating the aliases.
See the file 8queens_alias.wp34s (or other files of type …_alias.wp34s in ‘library’)
for examples. Command-Aliases.pdf in ‘doc’ contains a list of all aliases used (some
50 pages).
The Assembler takes your .wp34s text file as input and generates optimized code for your
WP 34S. It does not generate optimized code for your further editing nor maintaining your
routines. “Optimized” means it will use as little of the limited resources of your WP 34S in
the programs as possible, less labels in particular. Thus expect heavy use of BACK and
SKIP instead of GTO in assembled programs since all required information for this
conversion is available at assembly time.
Furthermore, there are two special commands frequently replacing GSB / XEQ in
assembled code:
1. BSRB n calls a subroutine starting n steps backwards with 0 ≤ n ≤ 255. It pushes
the program counter on the subroutine return stack and executes BACK n then.
2. BSRF n calls a subroutine starting n steps forwards. It pushes the program counter
on the subroutine return stack and executes SKIP n then.
The subroutines called this way do not require a starting label. So, BSRB and BSRF are
useful if you are short on local labels – as BACK, SKIP, and CASE are. On the other hand,
if you edit a section of your routine that is crossed by one or more BSRB, BSRF, BACK,
SKIP, or CASE jumps, this may well result in a need to manually maintain all those
statements individually. We recommend editing unassembled code and leaving the
generation of label-less branches to the assembler for sake of readability, maintainability,
and reliability of your routines.
As mentioned at the very beginning of this manual, there are three optional hardware
modifications you may benefit from. Please read the respective descriptions and decide
what you are interested in. Then read the complete instructions for these cases before
actually starting the modification – this is to prevent you will end with your WP 34S half
usable. These are the opportunities:
1. Create an accurate real-time clock by adding a quartz crystal and two capacitors on
the main board of your WP 34S.
This modification requires some fine soldering skills due to the size of the
capacitors – they are SMD components and significantly smaller than a grain of rice!
Besides fixing these two properly at the correct location, this modification is an easy
job. See Alexander Oestert’s very nice instruction file at
wp34s.svn.sourceforge.net/viewvc/wp34s/doc/How_to_install_crystal_and_IR_diode.pdf .
3. You may combine the setup of both the IR line to the printer and an USB
connection for data exchange and power supply at once by installing a little custom
board Harald Pott developed 81 (it was already mentioned in Appendix A).
Here you will need some sol-
dering skills as well (not as
fine as for modification 1
above, but close). And
mechanical skills are required,
too, since an extra gap in the
calculator case for the micro
81
Harald developed more than this custom board for your WP 34S. We chose what he calls PCB version 2.
We rate it most helpful since it combines the features mentioned above and is easy to install as described
below. See also http://wp34s.svn.sourceforge.net/viewvc/wp34s/doc/WP_34S_USB_installation.pdf for
information about his other boards and Harald’s address.
WP 34S Owner’s Manual Edition 3.1 Page 192 of 211
USB socket is needed in addition to the little hole for the IR diode.
In the following, the job is described for the board as pictured above and an HP-30b,
based on material provided by Alexander and Harald:
Procedure:
Carefully insert the big blade of the knife between front part and frame near the
center of one side. Force the shiny part up.
Repeat on the opposite side.
Move the blade toward the calculator top. Gently force the shiny part up on both
sides. Think of the LCD, so be careful here!
Insert the blade between front part and frame at calculator top. Gently force the
shiny part up. The top of the shiny part should be loose now.
Finally, get the bottom part loose the same way.
Turn the shiny part over (printed circuit board up) and lay it on your desk. Put the
grey frame aside.
82
JP5 and JP6 are jumpers, i.e. 0Ω resistors.
83
Since the electronic components are small and densely packed on these boards, there is a fair chance of
producing solder bridges – thoroughly check and remove where you produced them. Also take care that
you do not heat any mounted component to an extent where it will start moving away. Soldering on the
main board requires a slow hand, good eyesight, and a bit of experience.
WP 34S Owner’s Manual Edition 3.1 Page 196 of 211
i. Drill the hole for the IR diode.
Tool needed: Drill bit matching the size of the diode, but also any other tool making
decent round holes of suitable size may do (even a Swiss Army knife), if you
proceed slowly.
Procedure:
Hold the grey frame over the mounted diode to learn the location where to drill the
hole. Its center shall be about 5mm away from the edge of the frame. Drill the
hole there.
j. Reassemble.
Tool needed: small Philips screwdriver.
Procedure:
Check your shiny setup will properly fit. Then insert it in the grey frame with the
diode pointing in its hole. Press to click into place (best do top and bottom first –
do not press on the LCD window nor apply exaggerated force!).
Turn in the five screws.
Return the coin cells.
Close the battery door – your calculator is done!
Your WP 34S contains several operations covering advanced mathematics. They are all
implemented for the first time on an RPN calculator; and all work in DECM. Find those
functions collected here and described in more detail than in the IOP, together with a few
traditional pocket calculator functions matching the topic.
For reasons explained in the first section of this manual, we assume you are able to read
and understand mathematical formulas for real domain functions. Wherever complex
numbers may be valid input or output, be sure you understand the respective basic
mathematical concepts (at minimum as outlined on p. 29). Else leave these functions
aside. By experience, it is not beneficial to use something you do neither overview nor
know the background of – it may even become dangerous for you and your fellow men.
Numbers
n 1
Bn Bn returns the Bernoulli number for an integer n > 0 given in X: Bn 1 n 1 n
.
* 2 2n !
Bn* works with the old definition instead: Bn 2n
2n .
Bn* 2
See p. 208 for ζ(x).
y y!
COMB (2) The number of combinations is C y , x .
x x! y x !
In integer modes, returns the Fibonacci number fn with n = x . These numbers are
defined as f0 = 0 , f1 = 1 , and fn = fn–1 + fn–2 for n ≥ 2 . With UNSIGN, f93 is the
maximum before an overflow occurs.
y!
PERM (2) The number of permutations is Py , x x! C y , x .
y x!
Stack-wise, the following are all one-number functions. They are all stored in PROB. In the
table below, the three discrete distributions are covered first, the continuous ones
thereafter. Typical plots are shown for the pmfs or the pdfs, respectively.
BinomP returns
n n g
p B ( g ; n; p0 ) p0g 1 p0
g
n g
Cn, g p0g 1 p0
(see COMB above).
Binom Binom returns
m
84
FB (m; n; p0 ) p B ( g ; n; p0 ) with the maximum number of successes m in X.
g 0
The binomial distribution is fundamental for error statistics in industrial sampling, e.g. for
designing test plans. If you want to know, for example, the probability for finding no
faulty items in a sample of fifteen items drawn from a batch of 300 wherein you expect
3% defective items overall, this will tell you:
0.03 15 0 Binom returns 0.633 – so the odds are almost two
out of three that you will not detect any defect in your sample! 85
Read here for more information:
http://www.itl.nist.gov/div898/handbook/eda/section3/eda366i.htm .
Geometric distribution:
n
GeomP returns f Ge n p0 1 p0 ,
m 1
Geom returns FGe m 1 1 p0 ,
being the probability for a first success
after m = x Bernoulli experiments. The
Geom
probability p0 for a success in each such
experiment must be specified in J.
Start reading here for more:
http://en.wikipedia.org/wiki/Geometric_dist
ribution .
84
BinomP equals BINOMDIST(g; n; p0; 0) and Binom equals BINOMDIST(m; n; p0; 1) in MS Excel.
85
The exact result for said probability is 0.626, calculated using a mathematically more elaborated model of
such a test. These results show nicely that two significant digits are a typical accuracy of statistical
statements – frequently the (simplified) statistical model used matches reality no better than that.
WP 34S Owner’s Manual Edition 3.1 Page 199 of 211
Name Remarks (see p. 74 for general information)
CauchP returns
1
2
x x0
f Ca x 1 ,
Cauch
Cauch returns
1 1 x x0
FCa x arctan ,
2
1
Cauch-1 returns FCa1 p x0 tan p .
2
This distribution is quite popular in physics. It is a special case of Student’s t-distribution.
Start reading here for more: http://en.wikipedia.org/wiki/Cauchy_distribution .
86
PoisλP corresponds to POISSON(g; ; 0) and Poisλ to POISSON(g; ; 1) in MS Excel.
WP 34S Owner’s Manual Edition 3.1 Page 200 of 211
Name Remarks (see p. 74 for general information)
LgNrmP returns
2
ln x
1 2 2
f Ln x e .
x 2
Some curves are plotted here.
LgNrm
ln x
LgNrm returns FLn x
87
The pdf corresponds to EXPONDIST(x; ; 0) and the cdf to EXPONDIST(x; ; 1) in MS Excel.
WP 34S Owner’s Manual Edition 3.1 Page 201 of 211
Name Remarks (see p. 74 for general information)
e
LogisP returns f Lg x 2
s 1 e
Logis
1
and Logis returns FLg x .
1 e
p
Logis-1 returns FLg1 p s ln .
1 p
Start reading here for more:
http://en.wikipedia.org/wiki/Logistic_distrib
ution .
88 -1
NormlP corresponds to NORMDIST(x; µ; σ; 0) in MS Excel, Norml to NORMDIST(x; µ; σ; 1) and Norml
to NORMINV(FN; µ; σ) .
WP 34S Owner’s Manual Edition 3.1 Page 202 of 211
Name Remarks (see p. 74 for general information)
T = 1 , b = 0.5
Weibull distribution with its shape T = 1 , b = 1
T = 1 , b = 1.5
parameter b in J and its characteristic T = 1 , b = 5
lifetime T in K.
WeiblP89 returns
b 1 t b
b t
fW (t ) e T
for t ≥ 0 (else it
T T
Weibl returns 0). This is a very flexible function
– see the curves plotted here.
t b
Weibl returns FW (t ) 1 e T
.
1 x2
2
x e is the standard normal pdf (the famous bell curve, see the red curve at
2
φ(x), x
Φ(x) Norml), while x d is the corresponding cdf (compare the error function as
shown on p. 208). See the link at NORML above for more information.
89
The pdf equals WEIBULL(x; b; T; 0) and the cdf WEIBULL(x; b; T; 1) in MS Excel.
WP 34S Owner’s Manual Edition 3.1 Page 203 of 211
More Statistical Formulas
Note that complete results of measured samples must include both an information about
the expected value and about its uncertainty.
For samples drawn out of a Gaussian (additive) process, the expected value is the
arithmetic mean and its uncertainty is given by its standard error (see x and SERR).
For samples drawn out of a log-normal (multiplicative) process, the expected value is
the geometric mean and its uncertainty is given by its scattering factor (see xg , m).
For samples drawn out of other processes other measures apply.
Be assured not everything is Gaussian in real world! 90 Process features can be detected
(and should be checked well in advance of calculating e.g. means) using suitable tests –
turn to applicable statistical reference literature.
The following functions as named in the left column are all found in STAT (except x and s,
which are added to this table for comparison only).
s xy
(1) For a linear fit model, the correlation coefficient is r . See sXY and s below.
sx s y
2
2
R xi yi
For an arbitrary fit model R(x) , the value r 1 2
is the coefficient of
y yi
determination; it indicates the fraction of the variation of the dependent data y deter-
CORR
mined by the variation of the independent data x . For r 2 1 , y is fully determined by
x ; for r 2 0 , y is completely independent of x ; and for e.g. r 2 0.93 , 93% of the
total variation of y is due to x .
n 2
A regression is significant if r t n 12 0.99 , with the right side being the
1 r2
inverse of the t-distribution.
90
Generally, the statistical model shall be chosen that matches observations best. In many real life cases,
however, dramatic deviations from the model distribution are found – then you cannot expect the calculated
consequences matching the reality any better.
By the way: Since the pdf of the Gaussian distribution will never reach zero, this statistical model tells you
to expect individual items far, far away from the mean value when your sample becomes large enough.
This, however, does not match reality. So we must conclude nothing at all is really Gaussian in real world.
Nevertheless, the Gaussian distribution is a very successful model for describing a lot of real world
observations. Just never forget the limits of such models.
WP 34S Owner’s Manual Edition 3.1 Page 204 of 211
Name Remarks (see p. 74 for general information)
xi2 yi xi xi y i
(2) For a linear fit model, the line parameters are a0
n n 1 s x2
s xy sy
and a1 r (see CORR above, sXY and s below). Their standard errors can
s x2 sx
L.R. sy 1 r 2 n 1 2
be calculated using s E (a1 ) and s E (a0 ) s E (a1 ) sx x2 .
sx n 2 n
ai
Generally, a regression parameter is significant if t n 12 0.995 , with the right
s v ai
side being the inverse of the t-distribution.
2
2
n xi2 xi xi2 n x 2
(2) The sample variance is s x .
n (n 1) n 1
s,
SERR The sample standard deviation (SD) is s x s x2 .
sx
And the standard error (i.e. the SD of the mean x ) is s Ex .
n
(1) The sample SD for weighted data (where the weight yi of each data point xi was
2
yi yi xi2 y i xi
entered via ) is s w .
yi 1 yi
sW ,
SERRW And the respective standard error (the SD of the mean xw ) is
2
1 yi yi xi2 y i xi
s Ew .
yi yi 1
1
x (2) The arithmetic mean (or average) is calculated as x xi .
n
1
ln x
xg (2) The geometric mean is calculated as xg n x e n
.
xi y i
xw (1) The arithmetic mean for weighted data (see sW) is calculated as x w .
yi
(2) The scattering factor εx for a sample of log-normally distributed data is calculated via:
ln 2 xi 2n ln x g
ln( x ) . Compare s.
n 1
1
m (1) The scattering factor of the geometric mean is m
n
. Compare SERR.
(2) The scattering factor εp for a population of log-normally distributed data is calculated
via:
p n 1
ln( p ) ln( x ) . Compare .
n
1 2 n 1
(2) The SD of the population is x xi x sx .
n n
2
y i xi xw
W (1) The SD of the population for weighted data (see sW) is w .
yi
n x2 dn x2
(2) Hermite polynomials for probability: Hn x 1 e 2
e 2
with n in Y,
Hn
dx n
solving the differential equation
f" x 2x f ' x 2n f x 0.
n x2 dn x2
Hnp (2) Hermite polynomials for physics: H np x 1 e e with n in Y, solving
dx n
the same differential equation.
ex d n
(2) Laguerre polynomials (compare Ln below): Ln x x ne x
L(n0) x with n
n! dx n
Ln in Y, solving the differential equation
x f" x 1 x f' x n f x 0.
1 dn n
(1) Legendre polynomials: Pn x x2 1 with n in Y, solving the
2 n! dx
n n
Pn differential equation
d d
1 x2 f x nn 1f x 0.
dx dx
(2) Chebychev polynomials of second kind Un(x) with n in Y, solving the differential
Un equation
1 x2 f " x 3x f ' x nn 2 f x 0.
Also these are all found in X.FCN. Some of them are for pure mathematics only, but were
useful at some stage of the WP 34S project, so we made them accessible for the public.
erf
x
Note that erf 2 x 1 with
2
Φ(x) representing the standard normal
cdf as described on p. 203.
2 2
(1) Returns the complementary error function erfc x 1 erf ( x) e d . This
erfc
x
function is related to the error probability of the standard normal distribution.
x, y , z
(3) Returns the regularized (incomplete) beta function x
with (y,z) being
y, z
Iβ x
z 1
Euler’s Beta (see there) and x x, y, z ty 1 1 t dt being the incomplete beta
0
function.
x, y
(2) Returns the regularized (incomplete) gamma function P x, y . For x, y
IΓp x
see γXY below, for x see there.
x, y
(2) Returns the regularized (incomplete) gamma function Q x, y u
. For
IΓq x
u x, y see ΓXY below, for x see there.
(2) Returns the lower incomplete gamma function x, y t x 1e t dt . Required for IΓp
γXY
0
above.
IΓq above.
1
(1) Returns Riemann’s Zeta for real arguments, with x x
for x > 1 ,
n 1 n
ζ x 1
and its analytical continuation for x < 1 : x 2x sin x 1 x 1 x .
2
Read here for more: http://mathworld.wolfram.com/RiemannZetaFunction.html .
You will find lots of information about the special functions implemented in your WP 34S in
the internet in addition. Generally, Wikipedia is a good starter – check the articles in
different languages since they may well contain different material and use different
approaches. Mathworld may contain more details than you ever wanted to know. And for
applied statistics, the NIST Sematech online handbook quoted above is a competent
source. Further references are found at these sites.
1 9.12.08 Start
1.1 15.12.08 Added the table of indicators; added NAND, NOR, XNOR, RCLWS, STOWS, //, N, SERR, SIGMA,
< and >; deleted HR, INPUT, 2 flag commands, and 2 conversions; extended explanations for addressing and
COMPLEX & …; put XOR on the keyboard; corrected errors.
1.2 4.1.09 Added ASRN, CBC?, CBS?, CCB, SCB, FLOAT, MIRROR, SLN, SRN, >BIN, >DEC, >HEX, >OCT, BETA, D>R,
DATE, DDAYS, D.MY, M.DY, Y.MD, CEIL, FLOOR, DSZ, ISZ, D>R, R>D, EMGAM, GSB, LNBETA, LNGAMMA,
MAX, MIN, NOP, REAL, RJ, W and WINV, ZETA, %+ and %-; renamed the top left keys B, C, and D, and bottom
left EXIT.
1.3 17.1.09 Added AIP, ALENG, ARCL, AROT, ASHF, ASTO, ATOX, XTOA, AVIEW, CLA, PROMPT (all taken from 42S),
CAPP, FC?C, FS?C, SGMNT, and the …# commands; renamed NBITS to BITS and STOWS to WSIZE; specified
the bit commands closer; deleted the 4 carry bit operations.
1.4 10.2.09 Added CONST and a table of constants provided, D>J and J>D, LEAP?, %T, RCL and STO and , and 2
forgotten statistics registers; deleted CHS, EMGAM, GSB, REAL and ZETA; purged and renamed the bit
operations; renamed many commands.
1.5 5.3.09 Added RNDINT, CONV and its table, a memory table, the description of XEQ B, C, D to the operation index, and a
and ge to the table of constants; put CLSTK on a key, moved CLΣ and FILL, changed the % and log labels on the
keyboard, put CLALL in X.FCN; checked and cleaned alpha mode keyboard and added a temporary alpha
keyboard; rearranged the alphabet to put Greek after Latin, symbols after Greek consistently; separated the input
and non-programmable commands; cleaned the addressing tables.
1.6 12.8.09 Added BASE, DAYS+, DROP, DROPY, E3OFF, E3ON, FC?F, FC?S, FIB, FS?F, FS?S, GCD, LCM, SETDAT,
SETTIM, SET24, SINC, TIME, VERS, αDAY, αMONTH, αRC#; %Σ, as well as F-, t-, and 2-distributions and their
inverses; reassigned DATE, modified DENMAX, FLOAT, αROT, and αSHIFT; deleted BASE arithmetic, BIN, DEC,
HEX, and OCT; updated the alpha keyboards; added flags in the memory table; included indirect addressing for
comparisons; added a paragraph about the display; updated the table of indicators; corrected errors.
1.7 9.9.09 Added P.FCN and STAT catalogs, 4 more conversions, 3 more flags, Greek character access, CLFLAG, DECOMP,
DENANY, DENFAC, DENFIX, Iβ, IΓ, αDATE, αRL, αRR, αSL, αSR, αTIME, 12h, 24h, fraction mode limits, normal
distribution and its inverse for arbitrary µ and , and Boolean operations working within FLOAT; deleted αROT,
αSHIFT, the timer, and forced radians after inverse hyperbolics; renamed WINV to W –1, and beta and gamma
commands to Greek; added tables of catalog contents; modified label addressing; relabeled PRGM to P/R and
PAUSE to PSE; swapped SHOW and PSE as well as % and % on the keyboard; relabeled Q; corrected CEIL and
FLOOR; updated X.FCN and alpha commands; updated the virtual alpha keyboard.
1.8 29.10.09 Added R-CLR, R-COPY, R-SORT, R-SWAP, RCLM, STOM, alpha catalogs, 1 more constant and some more
conversions, a table of error messages, as well as the binomial, Poisson, geometric, Weibull and exponential
distributions and their inverses; renamed some commands; put √‾ instead of on hotkey D.
1.9 14.12.09 Added two complex comparisons; swapped and changed labels in the top three rows of keys, dropped CLST;
completed function descriptions in the index.
1.10 19.1.10 Added IMPFRC, PROFRC, CENTER, αBEG, αEND, and an addressing table for items in catalogs; updated
temporary alpha mode, display and indicators, RCLM and STOM, alpha-commands and the message table;
renamed the exponential distribution; wrote the introduction.
1.11 21.9.10 Changed keyboard layout to bring Π and Σ to the front, relabeled binary log, swapped the locations of π, CLPR, and
STATUS, as well as SF and FS?; created a menu TEST for the comparisons removed and the other programmable
tests from P.FCN; added %MG, %+MG, %MRR, RESET, SSIZE4, SSIZE8, SSIZE?, CDROP, CFILL, CR , CR ,
registers J and K, a table of contents and tables for stack mechanics and addressing in complex operations;
updated memory and real number addressing tables, DECOMP, αOFF, αON, Π, and Σ; renamed ROUNDI,
WSIZE?, β(x,y), Γ(x) and the constant p0 ; deleted DROPY (use x y, DROP instead), αAPP, αBEG, αEND, and the
“too long error” message; deleted Josephson and von Klitzing constants (they are just the inverses of other
constants already included in CONST); brought more symbols on the alpha keyboard.
1.12 22.12.10 Modified keyboard layout; added catalogs MODE and PROB; changed mode word, catalog contents and handling
(XEQ instead of ENTER), as well as some non-programmable info commands; expanded IMPFRC and PROFRC;
added a paragraph about the fonts provided and explained alpha catalogs in detail; added PRIME? and some
conversions; deleted FRACT, OFF and ON.
1.13 3.2.11 Modified keyboard layout; modified αTIME, radix setting, H.MS+ and H.MS-; added EVEN?, FP?, INT?, LZOFF,
LZON, ODD?, RCLS, STOS, returned FRACT; added and renamed some conversions; updated the paragraph
about display; added appendices A and B; baptized the device WP 34S.
1.15 21.3.11 Modified FIX, removed ALL from MODE, updated CONV.
1.16 27.3.11 Added LBL?, f’(x), and f”(x); modified PSE; upgraded catalog searching.
1.17 9.5.11 Modified keyboard layout for adding a fourth hotkey; added AGM, BATT, Bn, Bn*, Cauch, Lgnrm, Logis and their
inverses, all the pdf, COV, CUBE, CUBERT, DEG , ENGOVR, ENTRY?, erfc, GRAD , GTO . hotkey, KEY?,
RAD , SCIOVR, SERRw, SLVQ, sw, sxy, TICKS, TVM, xg, , m, p, , w, (-1)X, the polynomials, four angular
conversions, four Planck constants, the regional settings, global alpha labels, and three messages; renamed most
cdf; changed DEG, RAD, GRAD to leaving angular mode as set; altered PSE for early termination by key-
stroke; made D.MY default instead of Y.MD; moved degrees to radians conversions to CONV; removed CCLx,
H.MS mode, %+ and %-; corrected errors.
1.18 5.6.11 Expanded program memory; modified label addressing (A ≠ ‘A’) and fraction mode limits, changed ANGLE to work
in real and complex domains, renamed MOD to RMDR, changed the keyboard layout; put BACK, ERR, SKIP, and
SPEC? to the main index; added CAT and the I/O commands for flash memory, expanded R-COPY; corrected
x α.
2.1 3.10.11 Added serial I/O commands, DELP, DSL, EXPT, IBASE?, INTM?, ISE, KTY?, MANT, NEXTP, PUTK, REALM?,
RM, RM?, SMODE?, TOP?, x√y, signed tests for zero, some constants, and the paragraph about interactive
programming; updated the values in CONST to CODATA 2010, also updated SLVQ, SHOW, Σ, Π, and the
paragraphs about statistics, predefined alpha labels and memory; corrected some errors; deleted complex ANGLE,
BIN, DEC, HEX, and OCT; redistributed the contents of X.FCN and P.FCN; renamed S.L and S.R to SDL
and SDR; put ‘?’ on the alpha keyboard and moved £ to P to make room for ; expanded Appendix A; reorganized
the structure of the document; added first aid to the front page; rewrote the keyboard chapter.
2.2 1.11.11 Added MSG, y , z , and matrix operations, a paragraph about them and two new error messages for them, plus a
footnote for DELP; updated the introduction to statistics.
This version is the last one working with the old overlays. It is maintained to
incorporate the latest common bug fixes – last v2.2 build available is 2739 so far.
3.0 21.4.12 Added CLPALL, CROSS, DOT, iRCL, sRCL, END, FLASH?, gd, gd–1, GTO. and , LOAD…, LocR, LocR?,
MEM?, NEIGHB, PopLR, RDP, REGS, REGS?, RSD, SEPOFF, SEPON, SETJPN, STOPW, t , ULP, , #, as well
as SUMS and MATRIX catalogs and four conversions; renamed CLFLAG to CFALL, CUBE to x3 and CUBERT to
3
√x, KTY? to KTP?, and αVIEW to VIEWα; split Lambert’s W into W p and Wm; returned BIN, HEX, and OCT;
made PSTO and SAVE nonprogrammable; redefined SHOW, corrected CLREG, deleted DELP; changed keyboard
layout to bring MATRIX, CLP, SF, and CF to the front and to swap OFF and SHOW, removed x α from the key
plate and π from CONST; modified the virtual alpha keyboard, some characters and the respective catalogs;
redistributed commands in the catalogs; updated and rearranged large parts of the text; added information about
complex calculations, bitwise integer operations, browsers, local data, memory management, and the character
sets; implemented five new ttf-fonts.
3.1 30.11.12 Added the print commands ⎙…, graphic commands g…, error probabilities, ½,
IDIV, IΓq, MOD, XTAL?, γXY, ΓXY, ×MOD, ^MOD, four conversions, two messages,
an optional back label, and some references to external documents; modified GCD
and LCM, DATE, SETDAT, SETTIM, and TIME; expanded STOPW; renamed
IBASE? to BASE? and IΓ to IΓp; purged TEST moving non-tests into P.FCN;
abandoned the internal expert’s catalog; updated and rearranged large parts of the
introductory text and the appendices, also explaining the floating point formats,
carry and overflow conditions in integer modes, the emulator, troubleshooting,
corresponding operations of HP-42S and HP-16C, and some hardware
modifications; moved most mathematical explanations into Appendix I; modified
many internal page number references to ease working with a printed manual.