Previous File Previous Page Single Page Next Page Next File

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

0998 * 0999 * 1000 * FLOATING POINT TO INTGER CONVERSION 1001 * 1002 * CALLING SEQUENCE: 1003 * 1004 * JST IFLT ASSUMES FLOATING POINT IN A AND B REGISTERS 1005 * ......OUT OF RANGE RETURN 1006 * ......NORMAL RETUUN - INTEGER IN THE A REGISTER 1007 * 1008 * 1009 * THE FLOATING POINT IS UNPACKED. '217 IS SUBTRACTED FROM THE 1010 * EXPONENT - '200 TO REMOVE THE BIAS, AND '17 TO MOVE THE BINARY 1011 * POINT TO THE END OF THE A REGISTER. IF THE RESULT IS GREATER THAN 1012 * ZERO, THE FLOATING POINT IS OUT OF INTEGER RANGE, AND THE OUT OF 1013 * RANGE RETURN IS TAKEN. IF THE RESULT IS LESS THAN OR EQUAL TO 1014 * ZERO, THE MANTISSA IS SHIFTED RIGHT TO FORM THE TRUNCATED INTEGER, 1015 * AND THE NORMAL RETURN IS TAKEN 1016 * 1017 * 1018 00604 0 000000 IFLT DAC ** ENTRY 1019 00605 0 10 00134 JST UNPK UNPACK THE FLOATING POINT 1020 00606 0 13 00152 IMA EXPT LOAD THE EXPONENT 1021 00607 0 07 00603 SUB C217 SUBTRACT BIAS PLUS FACTOR TO MOVE THE 1022 * BINARY POINT BETWEEN FIRST TWO BITS OF 1023 * THE A REGISTER 1024 00610 0 11 01060 CAS F0 TEST FOR OUT OF INTEGER RANGE 1025 00611 -0 01 00604 JMP* IFLT OUT OF RANGE RETURN 1026 00612 101000 NOP 1027 00613 0 11 00527 CAS M17 TEST FOR ALL FRACTIONAL BITS IN MANTISSA 1028 00614 0 03 00357 ANA C77 NO - MASK SHIFT COUNT AND 1029 00615 0 05 00625 ERA ARS FORM SHIFT INSTRUCTION 1030 00616 100400 SPL SKIP IF GREATER THAN '-17 1031 00617 0 02 00626 LDA ARSM YES - SHIFT OUT ALL BITS EXCEPT SIGN 1032 00620 0 04 00622 STA IF01 1033 00621 0 02 00152 LDA EXPT RECOVER HIGH MANTISSA 1034 00622 0405 00 IF01 ARS ** SHIFT TO INTEGER FORMAT 1035 00623 0 12 00604 IRS IFLT NORMAL RETURN 1036 00624 -0 01 00604 JMP* IFLT 1037 * 1038 * 1039 00625 040500 ARS OCT 40500 1040 00626 040517 ARSM OCT 40517 1041 EJCT
Previous File Previous Page Single Page Next Page Next File