Previous File Previous Page Single Page Next Page Next File

* NAME BASIC-MTHPAK DOC. 70181832000 REV. A PAGE 17

0546 * 0547 * 0548 * FLOATING POINT ADDITION AND SUBTRACTION 0549 * 0550 * CALLING SEQUENCE: 0551 * 0552 * JST A$22(S$22) FIRST ARGUMENT IN A AND B REGISTERS 0553 * DAC ARG2 POINTER TO SECOND ARGUMENT 0554 * ......RETURN RESULT IN A AND B REGISTERS 0555 * 0556 * 0557 * IF THE ARGUMENTS ARE TO BE SUBTRACTED A FLAG IS SET, AND THE 0558 * SECOND ARGUMENT IS TWO'S COMPLIMENTED AFTER IT IS LOADED. THE 0559 * ARGUMENTS ARE UNPACKED, AND THE MANTISSA OF THE ARGUMENT OF SMALLER 0560 * MAGNITUDE IS SHIFTED RIGHT THE DIFFERENCE OF THE EXPONETS OF THE 0561 * ARGUMENTS. IF THE DIFFERENCE OF THE EXPONENTS IS GREATER THAN THE 0562 * NUMBER OF SIGNIFICANT BITS, ALL BITS OF THE SMALLER ARGUMENT EXCEPT 0563 * FOR THE SIGN BIT ARE SHIFTED OUT. THE MANTISSAS ARE ADDED. THE 0564 * RESULT IS PACKED INTO FLOATING POINT FORMAT WITH AN EXPONENT 0565 * EQUAL TO THE EXPONENT OF THE LARGER ARGUMENT. 0566 * 0567 * 0568 00277 0 000000 S$22 DAC ** SUBTRACTION ENTRY 0569 00300 0 04 00355 STA TEMP SAVE HIGH PART 0570 00301 0 02 00277 LDA S$22 MOVE RETURN ADDRESS 0571 00302 0 04 00304 STA A$22 TO THE ADDITINN ROUTINE 0572 00303 0 01 00307 JMP *+4 JUMP INTO THE ADDITION ROUTINE 0573 00304 0 000000 A$22 DAC ** ADDITION ENTRY 0574 00305 0 04 00355 STA TEMP SAVE HIGH PART 0575 00306 0 02 00000 LDA M1 LOAD MINUS ONE 0576 00307 0 13 00355 IMA TEMP SAVE FLAG, RECOVER HIGH PART 0577 * 0578 * UNPACK AND SAVE THE FIRST ARGUMENT 0579 * 0580 00310 0 10 00134 JST UNPK UNPACK THE FIRST ARGUMENT 0581 00311 0 10 00104 JST H$22 STORE IT 0582 00312 0 000200 DAC HIGH 0583 00313 0 02 00152 LDA EXPT 0584 00314 0 04 00272 STA CNTR SAVE THE EXPONENT 0585 * 0586 * LOAD AND UNPACK THH SECOND ARGUMENT 0587 * 0588 00315 0 02 00304 LDA A$22 LOAD DAC TO ARGUMENT ADDRESS 0589 00316 0 10 00070 JST LARG LOAD ARGUMENT ROUTINE 0590 00317 0 12 00355 IRS TEMP SKIP IF ADDITION 0591 00320 0 10 00122 JST N$22 COMPLIMENT IF SUBTRACTION 0592 00321 0 10 00134 JST UNPK UNPACK THE SECOND ARGUMENT 0593 00322 0 04 00355 STA TEMP SAVE HIGH SECOND ARGUMENT 0594 * 0595 * TAKE THE DIFFERENCE OF THE EXPONENTS
Previous File Previous Page Single Page Next Page Next File