Previous File Previous Page Single Page Next Page Next File

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

0649 * 0650 * 0651 * FLOATING POINT DIVISION 0652 * 0653 * CALLING SEQUENCE: 0654 * 0655 * JST D$22 DIVIDEND IN A AND B REGISTERS 0656 * DAC ARG2 POINTER TO DIVISOR 0657 * ......RETURN QUOTIENT IN A AND B REGISTER 0658 * 0659 * 0660 * THE ARGUMENTS ARE SET POSITIVE AND UNPACKED. THE RESULTING 0661 * SIGN OF THE QUOTIENT IS SAVED. THE EXPONENT OF THE DIVISOR IS SUB- 0662 * TRACTED FROM THE EXPONENT OF THE DIVIDEND, AND THE BIAS IS 0663 * ADJUSTED TO FORM THE QUOTIENT EXPONENT. THE MANTISSA OF THE 0664 * DIVIDEND IS COMPARED WITH THE MANTISSA OF THE DIVISOR. IF THE 0665 * DIVIDEND MANTISSA IS GREATER OR EQUAL, THE TWO'S COMPLIMENT OF 0666 * THE DIVISOR MANTISSA IS ADDED TO THE DIVIDEND MANTISSA, AND A ONE 0667 * QUOTIENT BIT IS GENERATED. IF THE DIVIDEND MANTISSA IS LESS, A 0668 * ZERO QUOTIENT BIT IS GENERATED. THE MANTISSAS OF THE DIVIDEND 0669 * AND THE QUOTIENT ARE THEN SHIFTED LEFT ONE PLACE. THIS PROCESS 0670 * IS REPEATED UNTIL 24 QUOTIENT BITS HAVE BEEN GENERATED. THE 0671 * QUOTIENT IS PACKED INTO FLOATING POINT FORMAT, AND THE SIGN IS 0672 * ADJUSTED. IF THE SECOND ARGUMENT IS FOUND TO BE ZERO, A DZ ERROR 0673 * IS FLAGGED. 0674 * 0675 * 0676 00361 0 000000 D$22 DAC ** DIVISION ENTRY 0677 00362 0 10 00455 JST MDAH JUMP TO ARGUMENT HANDLING ROUTINE 0678 00363 101040 SNZ SKIP IF DIVISOR IS NON-ZERO 0679 00364 0 01 00446 JMP D6 DIVISOR IS ZERO-JUMP TO FLAG ERROR 0680 00365 0401 77 LRS 1 POSITION DIVISOR MANTISSA 0681 00366 0 10 00104 JST H$22 AND SAVE 0682 00367 0 000450 DAC HGHC X 0683 00370 0 10 00122 JST N$22 TWO'S COMPLIMENT DIVISOR MANTISSA 0684 00371 0 04 00200 STA HIGH SAVE HIGH PART 0685 00372 000201 IAB CLEAR BIT ONE OF LOW MANTISSA BEFORE 0686 00373 140100 SSP STORING 0687 * 0688 * QUOTIENT EXPONENT DETERMINATION 0689 * 0690 00374 0 13 00201 IMA LOW SAVE LOW, AND RECOVER DIVIDEND EXPONENT 0691 00375 0 07 00152 SUB EXPT SUBTRACT EXPONENT OF DIVISOR 0692 00376 0 06 00454 ADD C205 ADD BIAS PLUS SCALING FACTOR 0693 00377 0 04 00152 STA EXPT SAVE EXPONENT OF QUOTIENT 0694 00400 0 02 00356 LDA M31 INITIALIZE LOOP COUNTER SO THAT NUMBER 0695 00401 0 04 00272 STA CNTR OF QUOTIENT BITS GENERATED EQUALS NUMBER 0696 * OF SIGNIFICANTS BITS PLUS ONE 0697 * 0698 * INITIALIZE THE QUOTIENT MANTISSA TO ZERO AND LOAD THE DIVIDEND
Previous File Previous Page Single Page Next Page Next File