TI-84 Plus CE:
Basic RPN
The program TI84RPN puts the TI-84 Plus CE into RPN (reverse
polish notation) mode with arithmetic functions, power, square root,
reciprocal, and π. The program contains room for one independent
memory and a four level stack that works like the classic Hewlett Packard RPN
calculators.
The program uses list 6 (L6) as the stack, with six elements:
L6(1): X stack (display)
L6(2): Y stack
L6(3): Z stack
L6(4): T stack
L6(5): Independent memory stack
L6(6): (temporary memory)
If you need an idea how RPN works, please check this out: http://edspi31415.blogspot.com/2011/09/rpn-basics.html
To enter numbers, this program requires you to press the [enter]
key prior to entering a number on the stack.
The following keys with the associated functions are available:
[ enter ] Enter number
[ + ] Add: Y + X
[ - ] Subtract: Y - X
[ × ] Multiplication: Y * X
[ ÷ ] Divide: Y/X
[ ^ ] Exponent: Y^X
[ x2 ] Square:
x^2
[ x-1 ]
Reciprocal: 1/x
[ , ] Square Root √X
[ XTθN ] Enter π to the stack
[ sto> ] Store X in independent memory
[ alpha ] Recall memory
[ clear ] Clear X stack to 0
Stack operations:
[ ( ] Swap with X and Y
[ ) ] Roll stack down, result { Y, T, Z, X }
Exit the program: press [ exit ]
Example: 2 + 3 + 9 = 14
Keys:
[ enter ], 2, [ enter ]
[ enter ], 3, [ enter ], [ + ],
[ enter ], 9, [ enter ], [ + ]
TI-84 Plus CE
Program: TI84RPN (889 bytes)
Disp "TI-84+ BASIC RPN"
Disp "EWS SEPT. 2016"
Full
{0,0,0,0,0,0}→L₆
ClrHome
Lbl 1
getKey→K
Output(3,1,L₆(1))
Output(4,1,"(: SWAP, ): ROLL")
Output(5,1,"MODE: EXIT, ALPHA: RCL")
Output(6,1,", √(
XTθN: π")
Output(7,1,"ENTER: ENTER NUMBER")
If K=45:Then:0→L₆(1):ClrHome:End
If K=55:Then:L₆(2)^L₆(1)→L₆(6)
Goto 2:End
If K=65:Then:L₆(2)/L₆(1)→L₆(6)
Goto 2:End
If K=75:Then:L₆(2)*L₆(1)→L₆(6)
Goto 2:End
If K=85:Then:L₆(2)-L₆(1)→L₆(6)
Goto 2:End
If K=95:Then:L₆(2)+L₆(1)→L₆(6)
Goto 2:End
If K=105:Then:Goto 4:End
If K=51:Then:1/L₆(1)→L₆(1):ClrHome:Goto 1:End
If K=61:Then:L₆(1)²→L₆(1):ClrHome:Goto 1:End
If K=63:Then:Goto 5:End
If K=64:Then:Goto 6:End
If K=91:Then:L₆(1)→L₆(5):Goto 1:End
If K=31:Then:L₆(5)→L₆(6):Goto 3:End
If K=62:Then:√(L₆(1))→L₆(1):ClrHome:Goto 1:End
If K=32:Then:π→L₆(6):Goto
3:End
If K=22:Then:ClrHome:Stop:End
Goto 1
Lbl 2
"TWO OPERATION"
L₆(6)→L₆(1):L₆(3)→L₆(2):L₆(4)→L₆(3)
ClrHome
Goto 1
Lbl 3
"PI/RCL/INPUT"
L₆(3)→L₆(4):L₆(2)→L₆(3):L₆(1)→L₆(2)
L₆(6)→L₆(1):ClrHome
Goto 1
Lbl 4
"INPUT NUMBER"
ClrHome
Input "NUMBER:",N
N→L₆(6)
Goto 3
Lbl 5
"SWAP"
L₆(1)→L₆(6):L₆(2)→L₆(1):L₆(6)→L₆(2)
ClrHome
Goto 1
Lbl 6
"ROLL"
L₆(1)→L₆(6)
L₆(2)→L₆(1):L₆(3)→L₆(2):L₆(4)→L₆(3)
L₆(6)→L₆(4)
ClrHome
Goto 1
Remember to keep the Order of Operations in mind when running
this program.
Example 1: 1/(10 – 1.5^2.5) = 0.1380391041
[ enter ], 10, [ enter ]
[ enter ], 1.5, [ enter ]
[ enter ], 2.5, [ enter ]
[ ^ ], [ - ], [ x-1 ]
Example 2: √(6^2 + 7^2)
= 9.219544457
[ enter ], 6, [ enter ], [ x2 ]
[ enter ], 7, [ enter ], [ x2 ]
[ + ], [ , ]
Example 3: Store 1.758 in
memory. (Let M = 1.758)
Calculate 10 – 1.1^M + 2M = 12.33358933
[ enter ], 1.758, [ enter ], [ sto> ]
[ enter ], 10, [ enter ]
[ enter ], 1.1, [ enter ]
[ alpha ], [ ^ ], [ - ]
[ enter ], 2, [ enter ]
[ alpha ], [ × ], [ + ]
Example 4: (10 + (8 – 5%))
+ 9% = (10 + (8 * .95)) * 1.09 = 19.184
[ enter ], 8, [ enter ]
[ enter ], .95, [ enter ], [ × ]
[ enter ], 10, [ enter ], [ + ]
[ enter ], 1.09, [ enter ], [ × ]
This blog is property of Edward Shore, 2016