| 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 |