I have been writing a program to calculate the Ohm's Law Circle. Below is the program. There are three calculations possible for each category based on which two inputs are non zero when the program runs. I am very interested in any feedback as well as program improvements to make the program run smoother and faster.
Please let me know your thoughts.
Thanks, Jeff
01*LBL "OL"
02 FIX 4
03 "P,E,R,I,QUIT"
04 AVIEW
05 GETKEY
06 CLD
07 GTO IND X
08*LBL 24 "AMPS"
09 XEQ 05
10 XEQ 04
11 XEQ 03
12 X=0?
13 GTO 01
14 X<>Y
15 X=0?
16 GTO 02
17 /
18 GTO "I1"
19*LBL 01
20 RDN
21 /
22 SQRT
23 GTO "I1"
24*LBL 02
25 RDN
26 /
27*LBL "I1"
28 "AMPS ="
29 XEQ "VW"
30 RTN
31*LBL 52 "Ohms"
32 XEQ 05
33 XEQ 03
34 XEQ 06
35 X=0?
36 GTO 01
37 X<>Y
38 X=0?
39 GTO 02
40 X<>Y
41 /
42 GTO "R1"
43*LBL 01
44 X<>Y
45 X^2
46 X<>Y
47 X<> Z
48 /
49 GTO "R1"
50*LBL 01
51 RDN
52 X^2
53 /
54*LBL "R1"
55 "OHMS ="
56 XEQ "VW"
57 RTN
58*LBL 15 "Volts"
59 XEQ 05
60 XEQ 04
61 XEQ 06
62 X=0?
63 GTO 01
64 X<>Y
65 X=0?
66 GTO 02
67 *
68 GTO "E1"
69*LBL 01
70 RDN
71 *
72 SQRT
73 GTO "E1"
74*LBL 02
75 RDN
76 /
77*LBL "E1"
78 "VOLTS ="
79 XEQ "VW"
80 RTN
81*LBL 43 "Watts"
82 XEQ 03
83 XEQ 04
84 XEQ 06
85 X=0?
86 GTO 01
87 X<>Y
88 X=0?
89 GTO 02
90 X<>Y
91 X^2
92 *
93 GTO "P1"
94*LBL 01
95 X<>Y
96 X<> Z
97 X^2
98 X<>Y
99 X<> Z
100 /
101 GTO "P1"
102*LBL 02
103 RDN
104 *
105*LBL "P1"
106 "WATTS ="
107 XEQ "VW"
108 RTN
109*LBL 03
110 "VOLTS ?"
111 PROMPT
112 RTN
113*LBL 04
114 "OHMS ?"
115 PROMPT
116 RTN
117*LBL 05
118 "WATTS ?"
119 PROMPT
120 RTN
121*LBL 06
122 "AMPS ?"
123 PROMPT
124 RTN
125*LBL 51
126 CLX
127 FIX 5
128 END