Post Reply 
HP 16C repair
10-28-2022, 03:58 AM
Post: #4
RE: HP 16C repair
(10-28-2022 12:35 AM)BobVA Wrote:  Trig: Well, here's a start :-)
https://www.hpmuseum.org/cgi-sys/cgiwrap...i?read=350

Thanks for the link.
This is a verbatim translation of the program for the HP-42S:
Code:
00 { 53-Byte Prgm }
01▸LBL "S-T-C"
02 ENTER
03 ENTER
04 STO 00
05 1/X
06 ENTER
07▸LBL 00
08 XEQ 02
09 R↑
10 XEQ 02
11 R↓
12 -
13 RCL 00
14 X=Y?
15 GTO 01
16 R↓
17 STO 00
18 LASTX
19 +/-
20 R↓
21 R↓
22 GTO 00
23▸LBL 02
24 +
25 LASTX
26 R↓
27 ÷
28 LASTX
29 RTN
30▸LBL 01
31 ENTER
32 ÷
33 LASTX
34 ENTER
35 ×
36 -
37 SQRT
38 ÷
39 LASTX
40 END

Example

0.1
XEQ "S-T-C"

z: 0.09983
y: 0.10033
x: 0.99500

Using RCL- and STO-arithmetic we can inline subroutine 2:
Code:
00 { 48-Byte Prgm }
01▸LBL "S-T-C"
02 ENTER
03 ENTER
04 STO 00
05 1/X
06 ENTER
07 R↓
08▸LBL 00
09 RCL+ ST T
10 STO÷ ST Y
11 RCL+ ST T
12 STO÷ ST Y
13 R↓
14 -
15 RCL 00
16 X=Y?
17 GTO 01
18 R↓
19 STO 00
20 LASTX
21 +/-
22 R↑
23 GTO 00
24▸LBL 01
25 1
26 RCL 00
27 X↑2
28 -
29 SQRT
30 ÷
31 LASTX
32 END

Hopefully this makes it not only shorter but also easier to understand.

We can shorten the original program by using an additional register:
Code:
00 { 50-Byte Prgm }
01▸LBL "S-T-C"
02 ENTER
03 ENTER
04 STO 00
05 1/X
06 STO 01
07▸LBL 00
08 XEQ 02
09 XEQ 02
10 R↓
11 -
12 RCL 00
13 X=Y?
14 GTO 01
15 R↓
16 STO 00
17 LASTX
18 +/-
19 R↑
20 GTO 00
21▸LBL 02
22 RCL 01
23 +
24 ÷
25 LASTX
26 RTN
27▸LBL 01
28 1
29 RCL 00
30 ENTER
31 ×
32 -
33 SQRT
34 ÷
35 LASTX
36 END

This leaves us with the following program for the HP-16C:
Code:
001 - 43,22, F  LBL F      
002 -       36  ENTER      
003 -       36  ENTER      
004 -    44  0  STO 0      
005 -    43 26  1/x        
006 -    44  1  STO 1      
007 - 43,22, 0  LBL 0      
008 -    21  2  GSB 2      
009 -    21  2  GSB 2      
010 -       33  Rv         
011 -       30  -          
012 -    45  0  RCL 0      
013 -    43 49  x=y        
014 -    22  1  GTO 1      
015 -       33  Rv         
016 -    44  0  STO 0      
017 -    43 36  LSTx       
018 -       49  CHS        
019 -    43 33  R^         
020 -    22  0  GTO 0      
021 - 43,22, 2  LBL 2      
022 -    45  1  RCL 1      
023 -       40  +          
024 -       10  /          
025 -    43 36  LSTx       
026 -    43 21  RTN        
027 - 43,22, 1  LBL 1      
028 -        1  1          
029 -    45  0  RCL 0      
030 -       36  ENTER      
031 -       20  x          
032 -       30  -          
033 -    43 25  SQRT       
034 -       10  /          
035 -    43 36  LSTx       
036 -    43 21  RTN

Example

355 ENTER 113 / 6 /
GSB F

0.86603
R↓
0.57735
R↓
0.50000
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
HP 16C repair - fraxvo - 10-27-2022, 05:38 PM
RE: HP 16C repair - BobVA - 10-28-2022, 12:35 AM
RE: HP 16C repair - Valentin Albillo - 10-28-2022, 01:50 AM
RE: HP 16C repair - Thomas Klemm - 10-28-2022 03:58 AM



User(s) browsing this thread: 1 Guest(s)