home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_disks
/
200-299
/
ff274.lzh
/
HP11
/
doc
/
quick
< prev
next >
Wrap
Text File
|
1989-11-16
|
6KB
|
150 lines
This is a very small tutorial for those who don't know how to use an HP11:
- The HP11 uses RPN (Reverse Polish Notation), not conventional algebraic
notation. Calculations must thus be done by first entering the operands,
and then the operation. For example, to calculate:
5 + 3 you type 5 3 +
5 * (2 + 4) you type 5 2 4 + *
2 * sin(0.5) you type 0.5 sin 2 *
- When you want to enter two numbers consecutively, you must separate them by
typing the ENTER key, the above will thus actually be
5 ENTER 3 +
5 ENTER 2 ENTER 4 + *
0.5 SIN 2 * <- ENTER only necessary when entering two numbers
- Intermediate results are saved on a stack, but as this is only 4 levels deep,
you must be slightly careful in which order you do the operations, as in:
( 6 + 5) * (3 + 2 + 4 + 6)
if you try
6 ENTER 5 + 3 ENTER 2 ENTER 4 ENTER 6 + + + *
you won't get the expected result, because the 11 (result of 6 5 +) will
have been lost. This is what happens (X, Y, Z, T are the names of the four
levels of the stack, the keys pressed are marked between the snapshots of
the stack) :
------- ------- ------- ------- -------
T | | | | | | | | | |
------- ------- ------- ------- -------
Z | | | | | | | | | |
------- ENT ------- 5 ------- + ------- 3 ------- ENT
Y | | | 6 | | 6 | | | | 11 |
------- ------- ------- ------- -------
X | 6 | | 6 | | 5 | | 11 | | 3 |
------- ------- ------- ------- -------
------- ------- ------- ------- -------
T | | | | | 11 | | 11 | | 3 | <- 11 is lost
------- ------- ------- ------- -------
Z | 11 | | 11 | | 3 | | 3 | | 2 |
------- 2 ------- ENT ------- 4 ------- ENT ------- 6
Y | 3 | | 3 | | 2 | | 2 | | 4 |
------- ------- ------- ------- -------
X | 3 | | 2 | | 2 | | 4 | | 4 |
------- ------- ------- ------- -------
------- ------- ------- ------- -------
T | 3 | | 3 | | 3 | | 3 | | 3 |
------- ------- ------- ------- -------
Z | 2 | | 3 | | 3 | | 3 | | 3 |
------- + ------- + ------- + ------- * -------
Y | 4 | | 2 | | 3 | | 3 | | 3 |
------- ------- ------- ------- -------
X | 6 | | 10 | | 12 | | 15 | | 45 |
------- ------- ------- ------- -------
you get 45 instead of 165 ... You can notice here the effect of ENTER:
it duplicates the number in X into Y, but the next number entered will
overwrite it.
If you had done
3 ENTER 2 + 4 + 6 + 6 ENTER 5 + *
you would have got 165 as expected (it's also shorter to type it this
way ...). Note that in practice, this problem rarely arises.
- Operations like sin, cos, hyperbolic sine (got by typing f HYP SIN) modify
the number in X.
- There are 20 registers, accessible by RCL/STO 0-9 & RCL/STO . 0-9
- You can choose the display mode with f FIX/SCI/ENG 0-9, and the angular
mode with g DEG/RAD/GRAD.
- Statistics use registers 0 to 5 (clear them first with f CLEAR-Sigma).
Sigma-+ adds the X,Y pair, you can calculate the mean, sdev, linear
regression, estimation & correlation (these last two simultaneously).
Programming
-----------
- You enter or leave programming mode by typing g P/R.
- You add instructions by typing them, remove them with <-, and you can move
around in the program with SST, g BST & GTO . xxx, where xxx is the
program step number.
- Programs are composed of numbered steps, from 1 to 203. When a program is
run, these are normally executed sequentially.
- Program steps are displayed as sequences of up to 3 pairs of 2 digits
(eventually with a . ) These numbers correspond to the keys pressed to
enter the instructions, with the keys numbered starting at 11 for
square root, 12 for e^x, ... 16 for CHS, 10 for /, 21 for SST, ...
Digits (0 to 9) are represented as themselves. Experiment ! You'll
remember them after a while (if you have the patience :-)).
- Gotos: You can enter labels anywhere, with f LBL 0-9 or A-E. GTO 0-9, A-E
will transfer control to the step following the label.
- Gosub: GSB 0-9, A-E will call the subroutine starting at the label, the
next RTN will return you to the step after the GSB. Subroutines can be
nested (upto four deep).
- Tests: the instructions x =<>... 0/y compare X with 0 or Y. if the condition
is true, thew next step is executed, otherwise skipped (this step is often
a GTO).
- Indirection: The special register I allows indirection. If I contains 5,
RCL/STO (i) is equivalent to RCL/STO 5,
GSB/GTO I is equivalent to GTO/GSB 5
DSE & ISG drive you mad. Actually, if I = nnnnn.xxxyy
DSE will do : I = I - yy
if I <= xxx skip next step
ISG : I = I + yy
if I > xxx skip next step
If yy = 0, 1 is used.
- Programs are runb out of program mode, either by pressing R/S (program starts
at current step) (This will stop a program if it is running), or with
GSB 0-9,A-E which will start the program at the apropriate label.
Errors
------
Error 0 : division by 0, ln 0
Error 1 : Register overflow (when using STO+, STO*, ...)
Error 2 : Statistic error
Error 3 : No such register
Error 4 : No program memory left
Error 5 : Subroutines nested more than 4 deep
Error 6 : No such flag
Remark
------
There is a lot I haven't said (LastX, STO+-*/, lots of functions, etc, etc)
and certainly a few subtleties missed out. Experiment !