Академический Документы
Профессиональный Документы
Культура Документы
Here is a quick list I've made up which contains the list of known bugs in the HP-35s. Feel free to contact me
with new bugs and expansions for these bugs.
1. Vector input bug has been mentioned and very weird behavior shows up but I'm not aware of this being
isolated or repeatable. It might be related to memory full. I do have enough trust in the people reporting
problems to believe there is something to them.
2. Cos(x) for x near 90 is dud. For what appears to be the same reason, Tan(x) for x near 90 is also dud.
3. Checksums are meaningless. Discover how they work and interact with equations.
4. Program sizes are also meaningless. Again seems to be number related and again nothing proven.
5. Bad error message on indirection on J: 1000 ; STO J ; x<>(J). You get "INVALID (I)" error message if done
from the keyboard, from a program it gives the correct message.
6. Bad radix. If you are in RADIX, mode and you enter RADIX, in program mode it is displayed as "RADIX.". If
you run the program it behaves correctly.
7. Program entry bug for large programs. Create a 999 step program and then try to enter a new LBL.
You're not allowed. Delete one step, create the LBL and put the step back and all is fine.
8. In a program: VIEW (I) ; PSE will show the wrong value of I.
9. In ALL mode, the mantissa should be properly rounded so that the exponent fits on the screen. i.e. the
entire number is displayed without scrolling.
10. This sequence as a program displays (37): 10 instead of (10): 10. LBL Z ; 10 ; STO I ; STO (I) ; VIEW I ; PSE It
works fine in run mode and without the PSE. I've had a report that the keystrokes here should be: LBL Z ;
10 ; STO I ; STO (I) ; VIEW (I) ; PSE. Can somebody confirm please.
11. Pressing and releasing the binary operator keys real fast results in missed strokes.
12. The '1 (f) /c' sequence to display the current denominator doesn't work in ALG mode but is fine in RPN
mode.
13. TANH, SINH and COSH all have bugs when applied to large values. An OVERFLOW message given when
computing TANH for values greater than or equal to 30000. The TANH value is correct, 1, but the
OVERFLOW message is wrong. SINH and COSH generate the OVERFLOW message correctly, but return
the wrong values. Overflow is supposed to return 1E500, but with an argument greater than or equal to
30000 SINH and COSH return the mantissa of the argument and the characteristic is changed to 499.
e.g. SINH 31415 = OVERFLOW --> 3.1415E499
14. LBL A
156.25
STO X
208.333333334; There are eight 'threes' in there
STO R
1.77951304201
STO Q
-R*X/(X*Q-R); Should evaluate to roughly -467, and it does
-R*X/(X*Q-R); Should (still) evaluate to roughly -467, but
calculator outputs 31.323 instead!
RTN
This one is actually much more widely spread that just illustrated by this example. See this analysis for
other cases.
15. Some programs cannot be interrupted. Prompt messages without a PSE following them cause the
problem:
A001 LBL A
A002 SF 10
A003 LOCKUP DEMO
A004 0
A005 GTO A004
Warning: running this code will mostly likely cause all memory to be lost.
16. When scrolling through 'line count' program memory [via the <-MEM 2] menu, downward, I will find a
LBL; that the list seems to be stuck at. Seems to be related to have unlabeled statement(s) at the start
of program memory and entering this mode when at the top of program memory (GTO ..)
17. Input -1/3 i -1/3 by typing ". 1 . 3 CHS i . 1 . 3 CHS ENTER". Get "0.3333i-0.3333" instead of "-0.3333i-
0.3333". Works correctly when entering "0.3333333 CHS i 0.3333333 CHS ENTER".
18. It appears that registers G...L are used internally in the 2*2 lin. solve in an unusual way. If there is
anything other than a real number in these registers (a complex number or a vector) the linear solver
returns "no solution." Kind of interesting, as these registers are not overwritten after using the linear
solver which appears to indicate that these registers are not actually used.
19. Deleting a line with a label on it doesn't correctly update branches to that label and in fact can leave you
with a branch to a non-existent step. The documentation says it should update.
20. Solve infinite loops for some program based functions. Assign FN=D and SOLVE the following for X. The
solve doesn't finish. This seems to be related to using a loop in the function being solved.
D001 LBL D
D002 10
D003 STO N
D004 DSE N
D005 GTO D004
D006 RCL X
D007 COS
D008 RTN
A workaround for this is to include an always false conditional after any INPUT statements with a RTN
instruction and a STOP. For example:
B001 LBL B
B002 INPUT T
B003 INPUT X
B004 CF 1
B005 FS? 1
B006 RTN
B007 FS? 1
B008 XEQ C001
B009 0.2xX-T
B010 RTN
C001 LBL C
C002 STOP
C003 RTN
21. Clear stack in run mode preserves LastX; in program mode it clears it. Bug report thread.
22. Pi sets LastX register.
Pi has been multiplied by X (10) instead of what should have been in LastX (5). Bug report thread.
Now for some items that cannot be classified as bugs, since they are documented or work correctly. These
items are still quite annoying and should be fixed: