Commit | Line | Data |
---|---|---|
7af5ad59 PH |
1 | / FLOATING POINT MATH PACKAGE |
2 | / | |
3 | / | |
4 | / | |
5 | / | |
6 | / | |
7 | / | |
8 | / | |
9 | / | |
10 | / | |
11 | /COPYRIGHT (C) 1974,1977 BY DIGITAL EQUIPMENT CORPORATION | |
12 | / | |
13 | / | |
14 | / | |
15 | / | |
16 | / | |
17 | / | |
18 | / | |
19 | / | |
20 | / | |
21 | / | |
22 | /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE | |
23 | /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT | |
24 | /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY | |
25 | /FOR ANY ERRORS THAT MAY APPEAR IN THIS MANUAL. | |
26 | / | |
27 | /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER | |
28 | /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED | |
29 | /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH | |
30 | /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. | |
31 | / | |
32 | /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE | |
33 | /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY | |
34 | /DIGITAL. | |
35 | / | |
36 | / | |
37 | / | |
38 | / | |
39 | / | |
40 | / | |
41 | / | |
42 | / | |
43 | / | |
44 | / | |
45 | \f/ VERSION 5A | |
46 | / APRIL 28, 1977 | |
47 | / VERSION NUMBER IS AVAILABLE AT ENTRY POINTS | |
48 | / ENTRIES | |
49 | / | |
50 | ENTRY FAD | |
51 | ENTRY FSB | |
52 | ENTRY FMP | |
53 | ENTRY FDV | |
54 | ENTRY STO | |
55 | ENTRY FLOT | |
56 | ENTRY FLOAT | |
57 | ENTRY FIX | |
58 | ENTRY IFIX | |
59 | ENTRY IFAD | |
60 | ENTRY ISTO | |
61 | ENTRY ABS | |
62 | ENTRY CHS | |
63 | ||
64 | /THE FOLLOWING DEFINITIONS ENABLE LIBRARY OPTIMIZATIONS | |
65 | /WHERE CRITICAL TIMING CONSIDERATIONS EXIST. | |
66 | /THEY SHOULD BE USED WITH EXTREME CAUTION, AND MUST | |
67 | /REFERENCE CURRENT PAGE AND PAGE ZERO SYMBOLS ONLY. | |
68 | ||
69 | OPDEF TADI 1400 | |
70 | OPDEF DCAI 3400 | |
71 | OPDEF JMSI 4400 | |
72 | OPDEF JMPI 5400 | |
73 | SKPDF JMSKP 4000 | |
74 | / | |
75 | / | |
76 | ABSYM HAC 20 | |
77 | ABSYM MAC 21 | |
78 | ABSYM LAC 22 | |
79 | ABSYM SRH 23 | |
80 | ABSYM SRM 24 | |
81 | ABSYM SRL 25 | |
82 | ABSYM ACS 26 | |
83 | ABSYM ACX 27 | |
84 | ABSYM SRS 30 | |
85 | ABSYM SRX 31 | |
86 | ABSYM MQH 30 | |
87 | ABSYM MQM 31 | |
88 | ABSYM MQL 32 | |
89 | ||
90 | // ADDITION AND SUBTRACTION ROUTINE | |
91 | // | |
92 | ||
93 | LAP /LEAVE AUTO PAGING | |
94 | ||
95 | ADSRAD, ADSRAC /SOME INDIRECTS TO SAVE CORE... | |
96 | ARSAB, ARS | |
97 | GTSPLA, GTSPLT | |
98 | NORMAD, NORMAC | |
99 | COMAD, COM | |
100 | ||
101 | FSB, BLOCK 1 | |
102 | 5 /FLOATING POINT SUBTRACT | |
103 | TAD FSB / CALL 1,FSB | |
104 | DCA FAD / ARG <F.P. VARIABLE> | |
105 | TAD FSB# | |
106 | DCA FAD# | |
107 | CLA CLL CML RAR | |
108 | JMP ED1 | |
109 | / | |
110 | ER1, FAD | |
111 | FAD, BLOCK 1 | |
112 | 5 /FLOATING POINT ADD SUBROUTINE | |
113 | ED1, DCA FSB / CALL 1,FAD | |
114 | TAD FAD / ARG <VARIABLE> | |
115 | DCA FAD1 | |
116 | FAD1, NOP /CDF TO PICK UP ARGUMENT | |
117 | TADI FAD# | |
118 | INC FAD# | |
119 | DCA 7 | |
120 | CLA CMA | |
121 | TADI FAD# | |
122 | INC FAD# | |
123 | DCA 10 | |
124 | FADENT, TAD ER1 | |
125 | DCA ER0 | |
126 | TAD ACH /EXAMINE THE FLOATING AC | |
127 | SNA CLA | |
128 | JMP FADLD /IT'S ZERO, DO A LOAD... | |
129 | JMSI GTSPLA | |
130 | JMP FADEND | |
131 | TAD SRS | |
132 | TAD FSB | |
133 | DCA SRS | |
134 | TAD ACX | |
135 | SNA | |
136 | JMP SHFAC | |
137 | CIA | |
138 | TAD SRX | |
139 | SMA | |
140 | JMP SHFAC | |
141 | DCA FSB | |
142 | SHFSR, TAD SRH | |
143 | CLL RAR | |
144 | DCA SRH | |
145 | TAD SRM | |
146 | RAR | |
147 | DCA SRM | |
148 | TAD SRL | |
149 | RAR | |
150 | DCA SRL | |
151 | ISZ FSB | |
152 | JMP SHFSR | |
153 | JMP JD1 | |
154 | / | |
155 | SHFAC, CMA | |
156 | DCA FSB | |
157 | TAD SRX | |
158 | DCA ACX | |
159 | JMP ED3A | |
160 | ED3, JMSI ARSAB | |
161 | ED3A, ISZ FSB | |
162 | JMP ED3 | |
163 | / | |
164 | JD1, TAD ACS | |
165 | SMA CLA | |
166 | JMP ED4 | |
167 | CLA CLL CMA RTL / GENERATE -3 | |
168 | JMSI COMAD | |
169 | ED4, TAD SRS | |
170 | SPA CLA | |
171 | JMSI COMAD | |
172 | JMSI ADSRAD | |
173 | TAD HAC | |
174 | SMA CLA | |
175 | JMP ED5 | |
176 | CLA CLL CMA RTL | |
177 | JMSI COMAD | |
178 | CLA CLL CML RAR | |
179 | ED5, DCA ACS | |
180 | DCA RSW | |
181 | FADEND, JMSI NORMAD | |
182 | JMP FADEX | |
183 | ||
184 | ||
185 | FADLD, TAD 7 /FLOATING LOAD WHEN AC=0 | |
186 | DCA FADSB# | |
187 | JMS FADSB | |
188 | SZA /CHECK FOR 0.-0. DON'T GIVE -0. | |
189 | TAD FSB | |
190 | AND ABSSW | |
191 | DCA ACH | |
192 | JMS FADSB | |
193 | DCA ACM | |
194 | JMS FADSB | |
195 | DCA ACL | |
196 | FADEX, CLA CMA | |
197 | DCA ABSSW | |
198 | DCA FSB /FOR IFAD AFTER SUBTRACT | |
199 | CLA STL RTL /=0002 | |
200 | TAD FAD /HIGH SPEED RETURN | |
201 | DCA FAD3 | |
202 | FAD3, NOP | |
203 | JMPI FAD# | |
204 | ||
205 | ABSSW, 7777 /ABSOLUTE VALUE SWITCH | |
206 | ||
207 | FADSB, 0 /TIME SAVING SUBROUTINE | |
208 | NOP /CHANGED TO CDF | |
209 | TADI 10 | |
210 | JMPI FADSB | |
211 | ||
212 | / FLOATING POINT ABSOLUTE VALUE FUNCTION | |
213 | ||
214 | ABS, BLOCK 1 | |
215 | 5 / CALL 1,ABS | |
216 | TAD ABS / ARG <F.P. VARIABLE> | |
217 | DCA FAD | |
218 | TAD ABS# | |
219 | DCA FAD# | |
220 | CLL STA RAR /=3777 | |
221 | DCA ABSSW | |
222 | JMP ED1 /GO INTO ADD ROUTINE... | |
223 | ||
224 | PAGE | |
225 | \f | |
226 | ||
227 | / ROUTINE TO GET OPERAND INTO SR, SEPARATE SIGNS AND | |
228 | / EXPONENTS OF AC AND SR, AND MOVE GLOBAL AC TO LOCAL AC. | |
229 | / | |
230 | ||
231 | GTSPLT, 0 | |
232 | TAD 7 | |
233 | DCA GTS1 | |
234 | GTS1, NOP | |
235 | TADI 10 /PICK UP HIGH ORDER WORD | |
236 | JMS SPLIT /MUST NOT CHANGE DATA FIELD**** | |
237 | DCA SRH | |
238 | TAD ACX | |
239 | SZA | |
240 | INC GTSPLT | |
241 | DCA SRX | |
242 | TAD ACS | |
243 | DCA SRS | |
244 | TADI 10 /PICK UP WORD 2 | |
245 | DCA SRM | |
246 | TADI 10 /PICK UP WORD 3 | |
247 | DCA SRL | |
248 | TAD ACH | |
249 | JMS SPLIT /EXPAND THE FLOATING AC... | |
250 | DCA HAC | |
251 | DCA RSW | |
252 | GTS2, TAD ACM /NEEDS LABEL TO FORCE CDF! | |
253 | DCA MAC | |
254 | TAD ACL | |
255 | DCA LAC | |
256 | JMPI GTSPLT | |
257 | / | |
258 | ||
259 | SPLIT, 0 /BREAK UP SIGN, EXPON, AND HI-ORD BITS | |
260 | DCA TMP /ROUTINE MUST NOT CHANGE DATA FIELD**** | |
261 | TAD TMP | |
262 | RAR | |
263 | RTR | |
264 | AND (377 | |
265 | DCA ACX | |
266 | CLA CLL CML RAR / = 4000 | |
267 | AND TMP | |
268 | DCA ACS | |
269 | TAD TMP | |
270 | AND (7 | |
271 | JMPI SPLIT | |
272 | TMP, 0 | |
273 | / | |
274 | / | |
275 | ||
276 | ALS, 0 /LOCAL AC SHIFT LEFT SUBROUTINE | |
277 | TAD LAC | |
278 | CLL RAL | |
279 | DCA LAC | |
280 | TAD MAC | |
281 | RAL | |
282 | DCA MAC | |
283 | TAD HAC | |
284 | RAL | |
285 | DCA HAC | |
286 | JMPI ALS | |
287 | / | |
288 | / ADD SR TO AC | |
289 | / | |
290 | ||
291 | ADSRAC, 0 /ADD LOCAL SR TO LOCAL AC | |
292 | CLL | |
293 | TAD LAC | |
294 | TAD SRL | |
295 | DCA LAC | |
296 | CLA RAL | |
297 | TAD MAC | |
298 | TAD SRM | |
299 | DCA MAC | |
300 | CLA RAL | |
301 | TAD HAC | |
302 | TAD SRH | |
303 | DCA HAC | |
304 | JMPI ADSRAC | |
305 | / | |
306 | / ROUTINE TO NORMALIZE AND RECOMBINE ACCUMULATOR, | |
307 | / AND PLACE LOCAL ACC. IN GLOBAL ACC. | |
308 | / | |
309 | ARSAD, ARS /SOME CORE SAVING INDIRECTS | |
310 | ERRAD, ERR | |
311 | RSW, 0 /ROUNDING BIT | |
312 | ||
313 | NORMAC, 0 /NORMALIZE AND PACKING SUBROUTINE | |
314 | ED6, TAD HAC | |
315 | TAD (7770 | |
316 | SPA CLA | |
317 | JMP RUND | |
318 | JMSI ARSAD | |
319 | ISZ ACX | |
320 | JMP ED6 | |
321 | / | |
322 | / ROUNDOFF ROUTINE | |
323 | / | |
324 | RUND, TAD RSW | |
325 | SNA CLA | |
326 | JMP LEFTST | |
327 | ISZ LAC | |
328 | JMP LEFTST | |
329 | ISZ MAC | |
330 | JMP LEFTST | |
331 | ISZ HAC | |
332 | DCA RSW | |
333 | JMP ED6 | |
334 | / | |
335 | LEFTST, TAD ACX | |
336 | SNA SPA | |
337 | JMP ZEROUT | |
338 | DCA ACX | |
339 | CLA CLL CMA RTL / = -3 | |
340 | TAD HAC | |
341 | SMA SZA CLA | |
342 | JMP COMBIN | |
343 | JMS ALS | |
344 | CLA CMA | |
345 | JMP LEFTST | |
346 | / | |
347 | COMBIN, TAD ACX | |
348 | CLL RAL | |
349 | RTL | |
350 | SPA | |
351 | JMPI ERRAD | |
352 | TAD HAC | |
353 | TAD ACS | |
354 | ED7, DCA ACH | |
355 | TAD MAC | |
356 | DCA ACM | |
357 | TAD LAC | |
358 | DCA ACL | |
359 | JMPI NORMAC | |
360 | ||
361 | ZEROUT, CLA | |
362 | DCA LAC | |
363 | DCA MAC | |
364 | JMP ED7 | |
365 | ||
366 | PAGE | |
367 | \f/ | |
368 | / INDIRECT STORE | |
369 | / | |
370 | ||
371 | ISTO, BLOCK 1 | |
372 | 5 /FLOATING POINT INDIRECT STORE | |
373 | TAD ISTO / CALL 1,ISTO | |
374 | DCA IST1 / ARG <2WORD ADDRESS> | |
375 | IST1, NOP | |
376 | TADI ISTO# | |
377 | INC ISTO# | |
378 | DCA IST2 | |
379 | TADI ISTO# | |
380 | DCA 7 | |
381 | TAD ISTO | |
382 | DCA STO | |
383 | TAD ISTO# | |
384 | DCA STO# | |
385 | IST2, NOP | |
386 | TADI 7 | |
387 | INC 7 | |
388 | DCA ISTO | |
389 | CLA CMA | |
390 | TADI 7 | |
391 | DCA 10 | |
392 | TAD ISTO | |
393 | DCA STOSB# | |
394 | JMP STOX | |
395 | / | |
396 | / | |
397 | / ROUTINE TO STORE CONTENTS OF FL. PT. ACC AND CLEAR IT | |
398 | / | |
399 | STO, BLOCK 1 | |
400 | 5 / CALL 1,STO | |
401 | TAD STO / ARG <F.P. VARIABLE> | |
402 | DCA STO1 | |
403 | STO1, NOP /REPLACED BY CDF | |
404 | TADI STO# | |
405 | INC STO# | |
406 | DCA STOSB# | |
407 | CLA CMA | |
408 | TADI STO# | |
409 | DCA 10 | |
410 | STOX, TAD ACH | |
411 | JMS STOSB | |
412 | DCA ACH | |
413 | TAD ACM | |
414 | JMS STOSB | |
415 | DCA ACM | |
416 | TAD ACL | |
417 | JMS STOSB | |
418 | DCA ACL | |
419 | INC STO# | |
420 | CLA STL RTL /=0002 | |
421 | TAD STO /SOME TIME SAVING CODE... | |
422 | DCA STO3 | |
423 | STO3, NOP /REPLACED BY CIF CDF | |
424 | JMPI STO# | |
425 | ||
426 | STOSB, 0 /TIME SAVING SUBROUTINE | |
427 | NOP /CHANGED TO A CDF DESTINATION | |
428 | DCAI 10 | |
429 | JMPI STOSB | |
430 | / | |
431 | / FLOATING POINT TO FIXED POINT CONVERSION | |
432 | / | |
433 | FXER, 4611 | |
434 | 3040 /"FIX" ERROR | |
435 | FIX, BLOCK 1 | |
436 | 5 | |
437 | FIXX, TAD ACH | |
438 | JMS SPLIT | |
439 | DCA HAC | |
440 | TAD ACM | |
441 | DCA MAC | |
442 | TAD ACX | |
443 | TAD (-214 | |
444 | SMA | |
445 | JMP FIXERR | |
446 | TAD (-3 | |
447 | DCA SRM | |
448 | RSH, JMS ARS | |
449 | ISZ SRM | |
450 | JMP RSH | |
451 | TAD ACS | |
452 | RAL | |
453 | TAD MAC | |
454 | SZL | |
455 | CIA | |
456 | FIXRTN, DCA ACS | |
457 | DCA ACH | |
458 | DCA ACM | |
459 | DCA ACL | |
460 | TAD ACS | |
461 | RETRN FIX | |
462 | / | |
463 | IFIX, BLOCK 1 | |
464 | 5 | |
465 | TAD IFIX | |
466 | DCA ADDR | |
467 | TAD IFIX# | |
468 | DCA ADDR# | |
469 | CALL 1,IFAD | |
470 | ADDR, ARG 0 | |
471 | TAD IFIX | |
472 | DCA FIX | |
473 | CLA CLL CML RTL / = 2 | |
474 | TAD IFIX# | |
475 | DCA FIX# | |
476 | JMP FIXX | |
477 | ||
478 | FIXERR, CALL 1,ERROR | |
479 | ARG FXER | |
480 | CLA CLL CMA RAR | |
481 | JMP FIXRTN /RETURN WITH 2047 IN FIXED AC | |
482 | ||
483 | PAGE | |
484 | \f | |
485 | / | |
486 | / FLOATING POINT MULTIPLICATION | |
487 | / | |
488 | ||
489 | ADSRAE, ADSRAC /SOME TIME SAVING INDIRECTS | |
490 | ARSAE, ARS | |
491 | COMAF, COM | |
492 | GTSPLB, GTSPLT | |
493 | NORMAG, NORMAC | |
494 | ER4, FDV | |
495 | ER01, ER0 | |
496 | ER3, FMP | |
497 | FMP, BLOCK 1 | |
498 | 5 | |
499 | TAD ER3 | |
500 | DCAI ER01 | |
501 | TAD FMP | |
502 | DCA FMP1 | |
503 | FMP1, NOP /CDF TO FIELD OF CALLING PROGRAM | |
504 | TADI FMP# | |
505 | INC FMP# | |
506 | DCA 7 | |
507 | CLA CMA | |
508 | TADI FMP# | |
509 | INC FMP# | |
510 | DCA 10 | |
511 | JMSI GTSPLB /WARNING ***THIS INSTRUCTION SKIPS*** | |
512 | JMP MULZRO | |
513 | TAD ACS | |
514 | TAD SRS | |
515 | DCA ACS | |
516 | TAD ACX | |
517 | TAD SRX | |
518 | MULZRO, TAD (-201 | |
519 | DCA ACX | |
520 | TAD HAC | |
521 | DCA MQH | |
522 | TAD MAC | |
523 | DCA MQM | |
524 | TAD LAC | |
525 | DCA MQL | |
526 | DCA HAC | |
527 | TAD (-33 | |
528 | DCA FMP1 | |
529 | / | |
530 | MULT, JMSI ARSAE | |
531 | TAD MQH | |
532 | RAR | |
533 | DCA MQH | |
534 | TAD MQM | |
535 | RAR | |
536 | DCA MQM | |
537 | TAD MQL | |
538 | RAR | |
539 | DCA MQL | |
540 | SZL | |
541 | JMSI ADSRAE | |
542 | ISZ FMP1 | |
543 | JMP MULT | |
544 | JMSI NORMAG | |
545 | RETRN FMP | |
546 | / | |
547 | / | |
548 | / FLOATING POINT DIVISION | |
549 | / | |
550 | DIVZ, 4411 | |
551 | 2632 | |
552 | FDV, BLOCK 1 | |
553 | 5 | |
554 | TAD ER4 | |
555 | DCAI ER01 | |
556 | TAD FDV | |
557 | DCA FDV0 | |
558 | FDV0, NOP /CDF TO FIELD OF CALLING PROGRAM | |
559 | TADI FDV# | |
560 | INC FDV# | |
561 | DCA 7 | |
562 | CLA CMA | |
563 | TADI FDV# | |
564 | INC FDV# | |
565 | DCA 10 | |
566 | JMSI GTSPLB | |
567 | JMP DIVERR | |
568 | TAD ACS | |
569 | TAD SRS | |
570 | DCA ACS | |
571 | TAD SRX | |
572 | CIA | |
573 | TAD ACX | |
574 | TAD (177 | |
575 | DCA ACX | |
576 | DCA MQL | |
577 | TAD (-35 | |
578 | DCA FDV0 | |
579 | DVID, CLA CLL CML RAR / = 4000 | |
580 | AND SRH | |
581 | TAD HAC | |
582 | SPA CLA | |
583 | JMP FDV1 | |
584 | JMSI COMAF | |
585 | FDV1, JMSI ADSRAE | |
586 | TAD MQL | |
587 | RAL | |
588 | DCA MQL | |
589 | TAD MQM | |
590 | RAL | |
591 | DCA MQM | |
592 | TAD MQH | |
593 | RAL | |
594 | DCA MQH | |
595 | JMS ALS | |
596 | ISZ FDV0 | |
597 | JMP DVID | |
598 | / | |
599 | TAD MQH | |
600 | DCA HAC | |
601 | TAD MQM | |
602 | DCA MAC | |
603 | TAD MQL | |
604 | DCA LAC | |
605 | JMSI NORMAG | |
606 | FDVRET, RETRN FDV | |
607 | ||
608 | DIVERR, CALL 1,ERROR | |
609 | ARG DIVZ | |
610 | CLA CLL CMA RAR | |
611 | DCA ACH | |
612 | JMP FDVRET | |
613 | ||
614 | PAGE | |
615 | \f/ | |
616 | / ROUTINE TO GET TWO'S COMPLEMENT OF TRIPLE WORD NUMBER | |
617 | / IF NO ADDRESS IN AC UPON ENTRY, SR IS ASSUMED. | |
618 | / | |
619 | COM, 0 | |
620 | TAD (25 /ADDRESS OF SRL | |
621 | DCA PTR2 | |
622 | CLA CLL CMA RTL / = -3 | |
623 | DCA CTR2 | |
624 | ED8, TAD I PTR2 | |
625 | CMA | |
626 | SZL | |
627 | CLL IAC | |
628 | DCA I PTR2 | |
629 | CLA CMA CML | |
630 | TAD PTR2 | |
631 | DCA PTR2 | |
632 | ISZ CTR2 | |
633 | JMP ED8 | |
634 | JMP I COM | |
635 | PTR2, 0 | |
636 | CTR2, 0 | |
637 | / | |
638 | / CONVERT FIXED POINT TO FLOATING POINT | |
639 | / | |
640 | CPAGE 14 | |
641 | ||
642 | FLOAT, BLOCK 1 | |
643 | 5 /FLOAT FUNCTION | |
644 | TAD FLOAT / CALL 1,FLOAT | |
645 | DCA FLO1 / ARG <INT. VARIABLE> | |
646 | FLO1, NOP | |
647 | TADI FLOAT# | |
648 | INC FLOAT# | |
649 | DCA FLO2 | |
650 | TADI FLOAT# | |
651 | INC FLOAT# | |
652 | DCA 7 | |
653 | TAD FLOAT | |
654 | DCA FLOT | |
655 | TAD FLOAT# | |
656 | DCA FLOT# | |
657 | FLO2, NOP /CDF TO FIELD OF ARGUMENT | |
658 | TADI 7 | |
659 | JMP FLOTX | |
660 | / | |
661 | / INTEGER TO FLOATING POINT CONVERSION | |
662 | / | |
663 | FLOT, BLOCK 1 | |
664 | 5 / CALL 0,FLOT | |
665 | FLOTX, CLL /ASSUMES INTEGER VARIABLE IN AC | |
666 | SPA | |
667 | CIA CML | |
668 | DCA MAC | |
669 | DCA HAC | |
670 | DCA LAC | |
671 | RAR | |
672 | DCA ACS | |
673 | TAD (217 | |
674 | DCA ACX | |
675 | DCA RSW | |
676 | JMS NORMAC | |
677 | RETRN FLOT | |
678 | ||
679 | / INDIRECT FLOATING POINT ADD | |
680 | ||
681 | CPAGE 36 | |
682 | IFAD, BLOCK 1 | |
683 | 5 / CALL 1,IFAD | |
684 | TAD IFAD / ARG <2WORD ADDRESS> | |
685 | DCA IFA1 | |
686 | IFA1, NOP | |
687 | TADI IFAD# | |
688 | INC IFAD# | |
689 | DCA IFA2 | |
690 | CLA CMA | |
691 | TADI IFAD# | |
692 | INC IFAD# | |
693 | DCA 10 | |
694 | IFA2, NOP | |
695 | TADI 10 | |
696 | DCA 7 | |
697 | CLA CMA | |
698 | TADI 10 | |
699 | DCA 10 | |
700 | TAD IFAD | |
701 | DCA FAD | |
702 | TAD IFAD# | |
703 | DCA FAD# | |
704 | JMP FADENT | |
705 | ||
706 | ||
707 | ARS, 0 /LOCAL AC SHIFT RIGHT SUBROUTINE | |
708 | TAD HAC | |
709 | CLL RAR | |
710 | DCA HAC | |
711 | TAD MAC | |
712 | RAR | |
713 | DCA MAC | |
714 | TAD LAC | |
715 | RAR | |
716 | DCA LAC | |
717 | CLA RAL | |
718 | DCA RSW | |
719 | JMPI ARS | |
720 | ||
721 | FPER, 5726 | |
722 | 0614 /"OVFL" ERROR | |
723 | CHS, BLOCK 1 | |
724 | 5 /FLOATING POINT NEGATION | |
725 | TAD ACH / CALL 0,CHS | |
726 | SZA | |
727 | TAD (4000 | |
728 | CHSRET, DCA ACH | |
729 | RETRN CHS | |
730 | / | |
731 | / ERROR ROUTINES | |
732 | / | |
733 | ER0, 0 /CONTAINS ADDRESS OF CURRENT ENTRY PT | |
734 | ERR, CLA | |
735 | TAD I ER0 /BANK CALL IS FROM | |
736 | DCA CHS | |
737 | ISZ ER0 /INDEX TO ADDRESS | |
738 | TAD I ER0 /ADDRESS | |
739 | DCA CHS# | |
740 | CALL 1,ERROR | |
741 | ARG FPER | |
742 | CLA CLL CMA RAR | |
743 | JMP CHSRET | |
744 | ||
745 | END | |
746 | \f |