35s  fun algebraic tricks #2 Message #1 Posted by Gene Wright on 13 July 2007, 6:35 p.m.
Here's another type of fun algebraic trick that can be used in **RPN** programs.
Suppose you have a 3digit positive number in X and you want to determine the "sum of the digits" of the number. The program below will do this and not destroy the stack!
LBL A
press EQN
RDMR(REGX,10)+RMDR(IDIV(REGX,10),10)+RMDR(IDIV(REGX,100),10)
RTN
The original stack is pushed to Y, Z and T. If you want to save Y, Z and T instead, then do a RDN after LBL A and change the RMDR line to point at REGT rather than REGX).
69 bytes used, but very handy to preserve the stack. I personally think these types of features will be very powerful in future programs.
RMDR is the remainder function, IDIV is integer division, and REGX is the way the 35s refers to the value in register X. REGT would point at the value in the T register.
When a function (like RMDR and IDIV) are presented in an algebraic context, it prompts the function name along with the open/close parentheses and a comma supplied (if needed to separate two arguments). To move across the comma to enter the second argument, you press the right arrow key. It's not hard to get used to at all. I'd better stop or this will be yet another learning module.
Gene
