Thursday, June 8, 2017

HP 20S and HP 21S: RPN Arithmetic Simulator

HP 20S and HP 21S:  RPN Arithmetic Simulator

This program will allow the user to simulate RPN (Reverse Polish Notation) for five arithmetic functions: addition, subtraction, multiplication, division, and exponentiation (power).  All operations take the form of enter Y, press [INPUT], enter X, [XEQ] (appropriate key).

Labels:
XEQ A:  Y + X
XEQ B:  Y – X
XEQ C:  Y * X
XEQ D:  Y/X
XEQ E:  Y^X
XEQ F:  “clears” the stack. 

The result shown in the display while the X value is left in the hidden display, which can be accessed by pressing [ LS ] (SWAP).

The key codes for the HP 20S and HP 21S are the same. 


STEP
CODE
KEY
01
61, 41, A
LBL A
02
21, 0
STO 0
03
51, 31
SWAP
04
21, 75, 0
STO+ 0
05
22, 0
RCL 0
06
61, 26
RTN
07
61, 41, B
LBL B
08
21, 0
STO 0
09
51, 31
SWAP
10
21, 65, 0
STO- 0
11
22, 0
RCL 0
12
32
+/-
13
21, 0
STO 0
14
61, 26
RTN
15
61, 41, C
LBL C
16
21, 0
STO 0
17
51, 31
SWAP
18
21, 55, 0
STO* 0
19
22, 0
RCL 0
20
61, 26
RTN
21
61, 41, D
LBL D
22
21, 0
STO 0
23
51, 31
SWAP
24
21, 45, 0
STO÷ 0
25
22, 0
RCL 0
26
15
1/X
27
21, 0
STO 0
28
61, 26
RTN
29
61, 41, E
LBL E
30
21, 0
STO 0
31
51, 31
SWAP
32
14
y^x
33
22, 0
RCL 0
34
74
=
35
21, 0
STO 0
36
21, 26
RTN
37
61, 41, F
LBL F
38
71
Clear
39
71
Clear
40
61, 26
RTN

Example:

In the following examples, 8 will be stored in the hidden register.

7 + 8:  7, INPUT, 8, XEQ A.   Result: 15
7 – 8:  7, INPUT, 8, XEQ B.   Result: -1
7 * 8:  7, INPUT, 8, XEQ C.   Result: 56
7/8:  7, INPUT, 8, XEQ D.  Result: 0.375
7^8:  7, INPUT, 8, XEQ E.  Result:  5,764,801

Eddie


This blog is property of Edward Shore, 2017