Dear WP-34s development team:
I ran into a very strange programming/stack bug in a little program that I was writing. I have tried to boil it down to a simple example. First, the "control" (works as expected) example; enter the following little program:
LBL 'AAA'
ENTER^
END
Now, set your stack to a 4-level stack (I haven't tried it with an 8-level), and do the following:
0
FILL // To fill stack with zeros.
2
XEQ 'AAA'
Then examine the stack using "Rv" (roll-down), to see the expected result:
0 // t
0 // z
2 // y
2 // x
Now, add two extra keystrokes to the problem, which should not change the result at all:
LBL 'AAA'
ENTER^
1 // ADDED STEP: Digit: one.
x // ADDED STEP: Multiplication operator.
END
This *should* yield the same result, in that the value in the 'x' register will be duplicated by the "ENTER^" statement, the values in the 'x' and 'y' will be temporarily moved up to the 'y' and 'z' registers when the "1" is entered, then the multiplication will be performed, and the values will move back down to the 'x' and 'y' registers. *BUT*, that is not what happens!:
0
FILL // To fill stack with zeros.
2
XEQ 'AAA'
And look at the stack using "Rv" (roll-down), to find:
0 // t
0 // z
0 // y <---This register should contain "2"!
2 // x
Thanks for your attention,
Bruce.