Previous File Previous Page Single Page Next Page Next File

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

1497 * 1498 * 1499 * SQUARE ROOT FUNCTION 1500 * 1501 * CALLING SEQUENCE: 1502 * 1503 * JST SQRF 1504 * DAL ARG POINTER TO THE ARGUMENT 1505 * ......RETURN SQUARE ROOT OF THE ARGUMENT RETURNED IN A 1506 * AND B REGISTERS 1507 * 1508 * 1509 * THE ARGUMENT IS LOADED AND THE FLOATING POINT IS UNPACKED. 1510 * A STRAIGHT LINE APPROXIMATION IS MADE TO THE SQUARE ROOT OF THE 1511 * ARGUMENT BY DIVIDING THE EXPONENT BY TWO AND REPLACING THE MANTISSA 1512 * WITH 5/8 TIMES THE MANTISSA PLUS 3/8. THE FIRST GUESS IS PUT INTO 1513 * FLOATING POINT FORMAT AND FOUR NEWTON-RAPHSON ITERATIONS ARE MADE 1514 * TO OBTIAN FULL FLOATING POINT ACCURACY 1515 * 1516 * 1517 01223 0 000000 SQRF DAC ** SQUARE ROOT FUNCTION ENTRY 1518 01224 0 02 01272 LDA M4 INITIALIZL N-R COUNTER TO -4 1519 01225 0 04 00650 STA CTMP COUNTER 1520 01226 0 02 01223 LDA SQRF 1521 01227 0 10 00070 JST LARG LOAD ARGUMENT ROUTINE 1522 01230 0 11 01060 CAS F0 TEST FOR ZERO AND NEGATIVE ARGUMENT 1523 01231 0 01 01235 JMP *+4 ARGUMENT IS POSITIVE NUMBER, CONTINUE 1524 01232 -0 01 00120 JMP* LHTS+1 ARGUMENT IS ZERO-RETURN WITH ZERO 1525 01233 0 10 00000 JST ERR NEGATIVE NUMBER, FLAG ERROR 1526 01234 151721 BCI 1,SQ 1527 * 1528 * SET EXPONENT OF FIRST GUESS EQUAL TO HALF THE ARGUMENT EXPONENT 1529 * 1530 01235 0 10 00134 JST UNPK UNPACK THE FLOATING POINT 1531 01236 0 13 00152 IMA EXPT LOAD THL EXPONENT 1532 01237 0404 77 LGR 1 DIVIDE IT BY TWO 1533 01240 0 06 00273 ADD C100 ADD BIAS/2 1534 01241 0 13 00152 IMA EXPT SAVE EXPONENT, RECOVER HIGH MANTISSA 1535 01242 101001 SSC SKIP IF EXPONENT IS ODD 1536 01243 0 01 01246 JMP *+3 JUMP IF EXPONENT EVEN 1537 01244 0 12 00152 IRS EXPT INCREMENT THE EXPONENT 1538 01245 0401 77 LRS 1 AND SHIFT THE MANTISSA 1539 * 1540 * SET MANTISSA OF FIRST GUESS EQUAL TO 5/8 TIMES ARGUMENT MANTISSA 1541 * PLUS 3/8 1542 * 1543 01246 0401 77 LRS 1 1/2 * MANTISSA 1544 01247 0 10 00104 JST H$22 STORE 1545 01250 0 000200 DAC HIGH 1546 01251 0401 76 LRS 2 1/8 * MANTISSA
Previous File Previous Page Single Page Next Page Next File