home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
PROGRAMS
/
CALCULTR
/
STACKALC.BAS
< prev
next >
Wrap
BASIC Source File
|
2000-06-30
|
19KB
|
437 lines
1 ERASE : WSELECT 1: WINDOW 8,24,24,79
2 PRINT "STACKALC by Slot 8"
3 PRINT : ' Developmental Revision 2.2, 11/7/85
4 PRINT "Copyright 1985"
5 PRINT "Slot Eight Associates":' Attn: Jim Lill
6 PRINT "PO Box 10098"
7 PRINT "Rochester, NY 14610"
8 WAIT 1000
9 ' Written/Compiled using MTBASIC by Softaid POB 2214 Colombia MD 21045
10 STRING A$(30),E$,F$(30),S$,PR$(30),B$,H$(30),PRX$,PRLX$,E2$,PRY$,PRZ$
11 STRING PBX$(20,20),PBF$(20,20),PBLX$(20,20)
12 REAL J,Q,R,T,UL,UX,UY,UZ,UT,Z,O,Y,X,LX,U,V,E9,ABS,X3,ANG,X4,O2
13 INTEGER C,D,G,I,L,K,N,W,P,M,X2,HE,U2,PB,PBO,QC,U3
14 S$="Ready for New Entry": HE=0: E2$="": M=0: PB=0
15 IF HE = 64 THEN GOTO 19
16 P=32: F$=S$: E$="": Q=1000000.0: X2=1
17 W=0: O=0.0: M=0: HE=0: QC=0
18 X=0.0: Y=0.0: Z=0.0: T=0.0: LX=0.0: L=1: C=1: R=0.0: J=0
19 DEF ABS(X3)
20 IF X3 < 0.0 THEN X3=X3 * ( - 1)
21 ABS=X3
22 FNEND
23 DEF ANG(X4)
24 IF X4 < 360.0 THEN GOTO 26
25 X4=X4 - 360: GOTO 24
26 IF M = 1 THEN X4=X4 * 57.29577951
27 ANG=X4: FNEND
28 DEF PR$(O)
29 IF O = 0.0 OR O > .01 OR O < -0.01 THEN GOTO 38
30 W=0
31 W=W + 1: O=O * 10
32 IF O < 1.0 AND O > -1.0 THEN GOTO 31
33 GOSUB 46
34 B$=STR$(W)
35 IF W < 10 THEN B$=CONCAT$("0",B$)
36 B$=CONCAT$("-",B$)
37 GOTO 54
38 IF O > Q OR O < ( - Q) THEN GOTO 41
39 GOSUB 60
40 PR$=CONCAT$(H$," "): GOTO 65
41 W=0
42 W=W + 1: O=O / 10.0
43 IF O >= 10.0 OR O <= -10.0 THEN GOTO 42
44 GOSUB 46
45 GOTO 52
46 IF MID$(STR$(O),1,6) = "9.9999" THEN O=1.0: W=W + 1
47 IF MID$(STR$(O),1,7) = "-9.9999" THEN O= - 1.0: W=W + 1
48 IF MID$(STR$(O),3,4) = "9999" THEN O=VAL(MID$(STR$(O),1,1)) + 1
49 IF O > 0.0 THEN GOTO 51
50 IF MID$(STR$(O),4,4) = "9999" THEN O= - (VAL(MID$(STR$(O),2,1)) + 1)
51 RETURN
52 B$=STR$(W)
53 IF W < 10 THEN B$=CONCAT$("0",B$)
54 B$=MID$(B$,1,LEN(B$) - 6)
55 IF VAL(B$) > 0 THEN B$=CONCAT$("+",B$)
56 IF VAL(STR$(O)) = 0.0 AND W < 0 THEN GOTO 331
57 IF W > 36 OR W < -36 THEN GOTO 331
58 GOSUB 60
59 PR$=CONCAT$(CONCAT$(H$,"E"),B$): GOTO 65
60 H$=STR$(O)
61 FOR U2=1 TO (14 - LEN(H$))
62 E2$=CONCAT$(E2$," ")
63 NEXT U2
64 H$=CONCAT$(E2$,H$): E2$="": RETURN
65 FNEND
66 A$=" ": E9=2.3025850930
67 ERASE : WSELECT 0: WINDOW 0,0,21,79: WFRAME "_","|":WINDOW 0,0,21,44
68 WFRAME "_","|":WINDOW 2,4,20,43
69 PRINT " S T A C K A L C "
70 PRINT "HELP ? QUIT ESC"
71 PRINT "4 Function: +-*/ QuiCalc ^ ^"
72 PRINT "Backsp. <Cursor Ang.Tog. ^T DEG"
73 PRINT "Enter <sp> Clr. X <cr>X"
74 PRINT "Roll-Down D Clr. Mem. <cr>M"
75 PRINT "Roll ^ stack U Clr. Stack <cr>S"
76 PRINT "X-Y Exchange XY X-Mem. Exch XM"
77 PRINT "Sto/Recall M/R Change Sign ;"
78 PRINT "PI 3.14159 P Recall Last X LX"
79 PRINT "Sq.Root X SR Square X SQ"
80 PRINT "Log (10) LG Log (e) LN"
81 PRINT "AntiLog (10) ^L AntiLog (e) ^N"
82 PRINT "Y to the Xth ^X Xth Root Y ^Y"
83 PRINT "Sine X SI ArcSine X AS"
84 PRINT "Cosine X C ArcCosine X AC"
85 PRINT "Tangent X T ArcTangent X AT"
86 PRINT "1/X I Sci.Notation E"
87 PRINT "Print Toggle ^I Paper Advance ^J"
88 IF QC = 1 THEN GOTO 91
89 WINDOW 0,44,3,79: WFRAME "_","|": WINDOW 2,46,3,78: PRINT "T register="
90 WINDOW 3,44,6,79: WFRAME "_","|": WINDOW 5,46,6,78: PRINT "Z register="
91 WINDOW 6,44,9,79: WFRAME "_","|": WINDOW 8,46,9,78
92 IF QC=1 THEN PRINT " QUICK CALCULATOR":GOTO 96
93 PRINT "Y register="
94 WINDOW 15,44,18,79: WFRAME "_","|": WINDOW 17,46,18,78: PRINT " last X="
95 WINDOW 18,44,21,79: WFRAME "_","|": WINDOW 20,46,21,78: PRINT " memory="
96 WINDOW 9,44,12,79: WFRAME "_","|": WINDOW 11,46,12,78: PRINT "X register="
97 WINDOW 12,44,15,79: WFRAME "_","|": WINDOW 14,46,15,78: PRINT "function:"
98 IF HE = 64 THEN GOTO 100
99 C=0
100 UL=LX: UX=X: UY=Y: UZ=Z: UT=T
101 IF QC = 1 THEN GOTO 108
102 WINDOW 2,60,3,78: PRINT PR$(T)
103 WINDOW 5,60,6,78: PRZ$=PR$(Z): PRINT PRZ$
104 WINDOW 8,60,9,78: PRY$=PR$(Y): PRINT PRY$
105 IF QC = 1 THEN GOTO 108
106 WINDOW 17,60,18,78: PRLX$=PR$(LX): PRINT PRLX$
107 WINDOW 20,60,21,78: PRINT PR$(R)
108 WINDOW 11,60,12,78: PRX$=PR$(X): PRINT PRX$
109 IF P = 32 THEN GOTO 113
110 IF MID$(F$,1,2) = "**" THEN GOTO 113
111 IF MID$(F$,1,3) = "PRI" THEN GOTO 113
112 PB=PB + 1: PBLX$(PB)=(PRLX$): PBX$(PB)=PRX$: PBF$(PB)=F$
113 WINDOW 14,58,15,78: PRINT " "
114 WINDOW 14,58,15,78: PRINT F$
115 L=C
116 WINDOW 14,56,15,58: CURSOR 0,0
117 K=KEY
118 IF K = 0 THEN GOTO 117
119 IF K > 96 AND K < 123 THEN K=K - 32
120 WINDOW 14,58,15,78: PRINT "New Entry in Process"
121 IF K = 44 THEN GOTO 330
122 IF K = 46 THEN GOTO 124
123 IF K < 48 OR K > 57 THEN GOTO 131
124 WINDOW 11,60,12,78: PRINT A$
125 GOTO 131
126 WINDOW 11,60,12,78: PRINT E$: CURSOR 0,LEN(E$)
127 K=KEY
128 IF K = 0 THEN GOTO 127
129 IF K > 96 AND K < 123 THEN K=K - 32
130 IF K = 44 THEN GOTO 330
131 IF K >< 46 THEN GOTO 134
132 IF D = 1 THEN GOTO 127
133 D=1: GOTO 135
134 IF K < 48 OR K > 57 THEN L=C: GOTO 144
135 E$=CONCAT$(E$,CHR$(K))
136 IF J = 1 OR L = 2 THEN GOTO 140
137 T=Z: Z=Y: Y=X: J=1
138 IF QC = 1 THEN GOTO 140
139 WINDOW 2,60,3,78: PRINT PRZ$: WINDOW 5,60,6,78: PRINT PRY$: WINDOW 8,60,9,78: PRINT PRX$
140 IF LEN(E$) < 18 THEN GOTO 143
141 E$="": F$="** Use 'E' Key **"
142 LX=UL: X=UX: Y=UY: Z=UZ: T=UT: GOTO 101
143 C=1: GOTO 126
144 U=V: V=VAL(E$)
145 IF K >< 8 THEN GOTO 155
146 IF L >< 1 THEN GOTO 113
147 F$="Backspace Entry ": U3=LEN(E$) - 1
148 IF U3 < 1 THEN E$="": F$=S$: WINDOW 11,60,12,78: D=0: C=2: U=0.0: PRINT U: GOTO 113
149 H$=MID$(E$,(U3 + 1),1)
150 IF H$ = "." THEN D=0
151 E$=MID$(E$,1,U3)
152 WINDOW 11,60,12,78: PRINT " "
153 WINDOW 14,58,15,78: PRINT F$
154 GOTO 126
155 E$="": J=0: H$="": D=0
156 IF C = 3 THEN GOTO 158
157 IF C = 1 THEN X=V
158 IF K >< 32 THEN GOTO 161
159 T=Z: Z=Y: Y=X: V=X: C=2: F$="ENTER, X=>Y=>Z=>T"
160 IF PB < 18 THEN GOTO 100
161 IF PB = 0 OR K = 30 THEN GOTO 168
162 FILE - 1
163 FOR PBO=1 TO PB
164 PRINT PBLX$(PBO);" | ";PBX$(PBO);" | ";PBF$(PBO)
165 NEXT PBO
166 PB=0: FILE 0
167 IF K = 32 THEN GOTO 100
168 IF K >< 9 THEN GOTO 178
169 IF P = 32 THEN GOTO 171
170 P=32: F$="PRINTER OFF": GOTO 101
171 P=64: F$="PRINTER ON": FILE - 1
172 PRINT " STACKALC by SLOT 8"
173 PRINT "---------------------------------------------------------------"
174 PRINT " Last X | X | Function"
175 PRINT "---------------------------------------------------------------"
176 PRINT " | | "
177 FILE 0: GOTO 99
178 IF K > 65 THEN GOTO 258
179 IF K >< 13 THEN GOTO 188
180 WINDOW 14,56,15,78: PRINT " 1st. Keystroke= <cr> ": CURSOR 0,0
181 K=KEY
182 IF K = 0 THEN GOTO 181
183 IF K = 77 OR K = 109 THEN F$="Clear MEMORY": R=0.0: GOTO 99
184 IF K >< 83 AND K >< 115 THEN GOTO 186
185 F$="Clear STACK": LX=0.0: X=0.0: Y=0.0: Z=0.0: T=0.0: GOTO 99
186 IF K = 88 OR K = 120 THEN F$="Clear X": C=2: X=0.0: GOTO 108
187 IF K >< 27 THEN GOTO 330
188 IF K >< 30 THEN GOTO 193
189 IF QC = 1 THEN HE=64: QC=0: WINDOW 8,46,9,78: WCLEAR : GOTO 89
190 WINDOW 2,45,8,78: WCLEAR
191 WINDOW 6,44,9,79: WFRAME "_","|": WINDOW 8,46,9,78: PRINT " QUICK CALCULATOR"
192 WINDOW 16,45,20,78: WCLEAR : QC=1: GOTO 100
193 IF K >< 43 THEN GOTO 197
194 IF X = 0.0 OR Y = 0.0 THEN GOTO 196
195 IF LOG(ABS(X / 10) + ABS(Y / 10)) > 80.590 THEN GOTO 331
196 F$="ADDITION": LX=X: X=Y + X: Y=Z: Z=T: GOTO 99
197 IF K = 45 THEN F$="SUBTRACTION": LX=X: X=Y - X: Y=Z: Z=T: GOTO 99
198 IF K >< 42 THEN GOTO 202
199 IF Y = 0.0 OR X = 0.0 THEN GOTO 201
200 IF LOG(ABS(Y)) + LOG(ABS(X)) > 82.893 THEN GOTO 331
201 F$="MULTIPLICATION": LX=X: X=Y * X: Y=Z: Z=T: GOTO 99
202 IF K = 35 OR K = 63 THEN GOTO 339
203 IF K >< 59 THEN GOTO 207
204 F$="Change Sign of X"
205 IF X = 0.0 THEN GOTO 108
206 X=( - X): UX=X: C=0: GOTO 108
207 IF K >< 47 THEN GOTO 210
208 IF X = 0.0 THEN GOTO 331
209 F$="DIVISION": LX=X: X=Y / X: Y=Z: Z=T: GOTO 99
210 IF K >< 12 THEN GOTO 213
211 IF X > 36.0 THEN GOTO 331
212 F$="anti-LOG(10)": LX=X: X=EXP(E9 * X): GOTO 99
213 IF K >< 20 THEN GOTO 217
214 IF M = 0 THEN M=1: WINDOW 5,38,6,40: PRINT "RAD": GOTO 216
215 IF M = 1 THEN M=0: WINDOW 5,38,6,40: PRINT "DEG"
216 F$="Ready for New Entry": GOTO 113
217 IF K = 10 THEN FILE - 1: PRINT : FILE 0: GOTO 113
218 IF K = 27 THEN GOTO 336
219 IF K >< 14 THEN GOTO 223
220 IF X > 82.893 THEN GOTO 331
221 F$="anti-LOG(e)"
222 LX=X: X=EXP(1 * X): GOTO 99
223 IF K >< 24 THEN GOTO 236
224 F$="Y Raised to the X": I=X: LX=X: U=1
225 IF X = 0.5 THEN X=SQR(Y): GOTO 235
226 IF Y = 0.0 THEN X=0: GOTO 235
227 IF X = 0.0 THEN X=1: GOTO 235
228 IF X * LOG(ABS(Y)) > 82.893 THEN GOTO 331
229 IF X >< I OR X < 1 THEN X=EXP(LOG(Y) * X): GOTO 235
230 IF X = 1 THEN X=Y: GOTO 235
231 X=Y
232 IF U = LX THEN GOTO 235
233 X=X * Y: U=U + 1
234 GOTO 232
235 Y=Z: Z=T: GOTO 99
236 IF K >< 25 THEN GOTO 242
237 IF X <= 0.0 OR Y = 0.0 THEN GOTO 331
238 F$="Xth Root of Y": LX=X
239 IF X = 2 THEN X=SQR(Y): GOTO 241
240 U=LOG(Y) / X: X=EXP(1 * U): GOTO 241
241 Y=Z: Z=T: GOTO 99
242 IF K >< 65 THEN GOTO 258
243 WINDOW 14,56,15,78: PRINT " 1st. Keystroke= A ": CURSOR 0,0
244 K=KEY
245 IF K = 0 THEN GOTO 244
246 IF K = 27 THEN GOTO 336
247 IF K = 84 OR K = 116 THEN F$="arc TANGENT": LX=X: X=ATAN(X): GOTO 256
248 IF K >< 67 AND K >< 99 THEN GOTO 253
249 F$="arc COSINE"
250 IF X = 0.0 THEN LX=X: X=90.0: GOTO 256
251 IF ABS(X) > 1.0 THEN GOTO 331
252 LX=X: X=ACOS(X): GOTO 256
253 IF K >< 83 AND K >< 115 THEN GOTO 330
254 IF ABS(X) > 1.0 THEN GOTO 331
255 F$="arc SINE": LX=X: X=ASIN(X)
256 IF M = 1 THEN X=X / 57.29577951
257 GOTO 105
258 IF K = 67 OR K = 99 THEN F$="COSINE": LX=X: X=COS(ANG(X)): GOTO 99
259 IF K = 68 OR K = 100 THEN F$="Roll-Down Stack": U=X: X=Y: Y=Z: Z=T: T=U: GOTO 99
260 IF K >< 69 THEN GOTO 282
261 WINDOW 14,58,15,78: PRINT "Enter Exponent ":WINDOW 11,60,12,78: PRINT A$
262 IF X = 0.0 THEN X = 1.0
263 WINDOW 11,60,12,73: PRINT X: O2=1
264 WINDOW 11,74,12,78: PRINT "E": CURSOR 0,1
265 K=KEY
266 IF K = 0 THEN GOTO 265
267 IF K = 8 THEN H$="": WINDOW 11,75,12,78: PRINT " ": GOTO 264
268 IF K < 48 OR K = 58 OR K > 59 THEN GOTO 274
269 IF K = 59 THEN H$=CONCAT$("-",H$): GOTO 272
270 H$=CONCAT$(H$,CHR$(K))
271 IF LEN(H$) = 3 THEN GOTO 331
272 G=VAL(H$): WINDOW 11,75,12,78: PRINT G
273 CURSOR 0,LEN(H$): GOTO 265
274 IF LOG(ABS(X)) + ABS(G) > 37 OR ABS(G) > 35 THEN GOTO 331
275 IF G = 0 THEN O2=1: GOTO 279
276 FOR U=1 TO ABS(G)
277 O2=O2 * 10
278 NEXT U
279 IF G >= 0 THEN X=X * O2
280 IF G < 0 THEN X=X / O2
281 C=3: G=0: GOTO 155
282 IF K >< 73 THEN GOTO 285
283 IF X = 0.0 THEN GOTO 331
284 F$="RECIPROCAL": LX=X: X=1 / X: GOTO 99
285 IF K >< 76 THEN GOTO 298
286 WINDOW 14,56,15,78: PRINT " 1st. Keystroke= L ": CURSOR 0,0
287 K=KEY
288 IF K = 0 THEN GOTO 287
289 IF K = 88 OR K = 120 THEN F$="Recall Last X": U=LX: GOTO 333
290 IF K >< 71 AND K >< 103 THEN GOTO 293
291 IF X <= 0.0 THEN GOTO 331
292 F$="LOG(10)": LX=X: X=(LOG(X) / E9): GOTO 99
293 IF K >< 78 AND K >< 110 THEN GOTO 296
294 IF X <= 0.0 THEN GOTO 331
295 F$="LOG(e)": LX=X: X=LOG(X): GOTO 99
296 IF K = 27 THEN GOTO 336
297 GOTO 330
298 IF K = 77 THEN F$="Store in Memory": R=X: GOTO 99
299 IF K = 80 THEN F$="PI, 3.141592": U=3.141592654: GOTO 333
300 IF K = 82 THEN F$="Recall Memory": U=R: GOTO 333
301 IF K >< 83 THEN GOTO 319
302 WINDOW 14,56,15,78: PRINT " 1st. Keystroke= S ": CURSOR 0,0
303 K=KEY
304 IF K = 0 THEN GOTO 303
305 IF K = 73 OR K = 105 THEN F$="SINE": LX=X: X=SIN(ANG(X)): GOTO 99
306 IF K >< 81 AND K >< 113 THEN GOTO 309
307 IF 2 * LOG(ABS(X)) > 82.893 THEN GOTO 331
308 F$="SQUARE": LX=X: X=X * X: GOTO 99
309 IF K >< 82 AND K >< 114 THEN GOTO 317
310 IF X < 0.0 THEN GOTO 331
311 IF X = 0.0 THEN GOTO 99
312 F$="SQUARE-ROOT": LX=X
313 IF X < 20 THEN X=10000 * X: X=SQR(X): X=X / 100: GOTO 99
314 IF X < 625 THEN X=100 * X: X=SQR(X): X=X / 10: GOTO 99
315 IF LOG(X) > 35 THEN X=EXP(1 * (LOG(X) / 2)): GOTO 99
316 X=SQR(X): GOTO 99
317 IF K = 27 THEN GOTO 336
318 GOTO 330
319 IF K >< 84 THEN GOTO 322
320 IF X = 90.0 THEN GOTO 331
321 F$="TANGENT": LX=X: X=TAN(ANG(X)): GOTO 99
322 IF K = 85 THEN F$="Roll-Up Stack": U=T: T=Z: Z=Y: Y=X: X=U: GOTO 99
323 IF K >< 88 THEN GOTO 330
324 WINDOW 14,56,15,78: PRINT " 1st. Keystroke= X ": CURSOR 0,0
325 K=KEY
326 IF K = 0 THEN GOTO 325
327 IF K = 89 OR K = 121 THEN F$="Exchange X and Y": U=X: X=Y: Y=U: GOTO 99
328 IF K = 77 OR K = 109 THEN F$="Exchange X and MEM": U=X: X=R: R=U: GOTO 99
329 IF K = 27 THEN GOTO 336
330 F$="** FUNCTION ERROR **": GOTO 332
331 F$="** OUT-OF-RANGE **"
332 LX=UL: X=UX: Y=UY: Z=UZ: T=UT:GOTO 100
333 IF L = 2 THEN X=U: GOTO 99
334 IF L = 1 THEN T=Y: Z=X: Y=X: X=U: GOTO 99
335 T=Z: Z=Y: Y=X: X=U: GOTO 99
336 ERASE : PRINT "STACKALC by Slot 8"
337 WAIT 50
338 STOP
339 ' START OF HELP
340 ERASE : WSELECT 11
341 PRINT "FUNCTION LIST KEYSTROKES NOTES": PRINT
342 PRINT "Calculative:": PRINT
343 PRINT "Simple Math, + - * / + - * /"
344 PRINT "Square Root of X SR X must be +"
345 PRINT "X Squared SQ"
346 PRINT "Log (base 10) of X LG"
347 PRINT "antiLog of above ctrl 'L'"
348 PRINT "Log (natural) of X LN X must be >0"
349 PRINT "antiLog of above ctrl 'N'"
350 PRINT "Y to the Xth Power ctrl 'X' "
351 PRINT "Xth Root of Y ctrl 'Y' use Y -Xth for best accuracy"
352 PRINT "Reciprocal, 1/X I"
353 PRINT "Cosine of X C"
354 PRINT "Sine of X SI"
355 PRINT "Tangent of X T"
356 PRINT "Arc Functions of above AC,AS,AT"
357 PRINT
358 PRINT "hit any key to continue..... Q to quit"
359 K=KEY
360 IF K = 0 THEN GOTO 359
361 IF K = 81 OR K= 113 THEN GOTO 432
362 ERASE : PRINT "Manipulative:": PRINT
363 PRINT "Quit ESC"
364 PRINT "Enter X=>Y=>Z=>T <sp>"
365 PRINT "Backspace New Entry < cursor"
366 PRINT "Roll Down Stack D"
367 PRINT "Roll Up Stack U"
368 PRINT "Clear Stack <cr>S"
369 PRINT "Clear X <cr>X"
370 PRINT "Clear Memory <cr>M"
371 PRINT "Exchange X and Y XY"
372 PRINT "Exchange X and Memory XM"
373 PRINT "Store X in Memory M"
374 PRINT "Recall X from Memory R"
375 PRINT "Recall Last X LX"
376 PRINT "Change Sign of X or Exponent (semicolon) ; see example that follows"
377 PRINT "PI, 3.14159 P"
378 PRINT "Degrees/Radians In/Out ctrl T"
379 PRINT "Scientific Notation Input E see example that follows"
380 PRINT "Printer Toggle (on/off) ctrl I"
381 PRINT "Advance Paper/Dump Buffer ctrl J see note that follows"
382 PRINT : PRINT "hit any key to continue..... Q to quit"
383 K=KEY
384 IF K = 0 THEN GOTO 383
385 IF K = 81 OR K=113 THEN GOTO 432
386 ERASE
387 PRINT "The entry of very large or very small numbers is best accomplished"
388 PRINT "using scientific notation. This is easily implemented in STACKALC"
389 PRINT "with the 'E' key. For a very large number such as:"
390 PRINT " 35"
391 PRINT " 1.2 X 10 simply type: 1 . 2 E 3 5"
392 PRINT
393 PRINT "The change sign key (;) must be used for the entry of negative numbers"
394 PRINT "and exponents. For Example....."
395 PRINT
396 PRINT "To enter a negative number such as -12.2, type the following sequence:"
397 PRINT
398 PRINT " 1 2 . 2 ;"
399 PRINT " -6"
400 PRINT "To enter a number such as 12.2 X 10 type:"
401 PRINT
402 PRINT " 1 2 . 2 E 6 ;"
403 PRINT " -6"
404 PRINT "Likewise, in combination for a number such as -12.2 X 10"
405 PRINT
406 PRINT " 1 2 . 2 ; E 6 ;"
407 PRINT : PRINT
408 PRINT "hit any key to continue..... Q to quit"
409 K=KEY
410 IF K = 0 THEN GOTO 409
411 IF K = 81 OR K=113 THEN GOTO 432
412 ERASE
413 PRINT "The Paper Advance Key (ctrl J) may be used to send linefeeds to the"
414 PRINT "printer. It is also used to empty the print buffer at the end of"
415 PRINT "a series of calculations."
416 PRINT
417 PRINT
418 PRINT "Experts may use the Quick Calculator feature which limits the display"
419 PRINT "to the X register and function. This assures fastest keyboard response"
420 PRINT "for string calculations..... It may be toggled with ctrl ^"
421 PRINT " (ctrl shift N on some computers)"
422 PRINT : PRINT
423 PRINT "ERROR MESSAGES consist of:"
424 PRINT
425 PRINT "**OUT-OF-RANGE**, for inputs or outputs that exceed approximately"
426 PRINT " 1 in 10 to the 36th."
427 PRINT
428 PRINT "**FUNCTION ERROR**, for key sequences that are not legal."
429 PRINT
430 PRINT "Although it will cause a FUNCTION ERROR, two-keystroke functions"
431 PRINT "may be cancelled after the first keystroke by hitting the spacebar."
432 PRINT : PRINT : PRINT "..... hit any key to start calculating!"
433 K=KEY
434 IF K = 0 THEN GOTO 433
435 HE=64: GOTO 15
END