Previous File Previous Page Single Page Next Page Next File

* NAME: BASIC-16A DOC 70181826000 REV A PAGE 48

1653 01601 0 000043 DAC LVAL X 1654 01602 0 10 03207 JST SCVL SAVE THE NEW RESULT 1655 01603 0 02 00056 LDA ILT1 UPDATE DECIMAL POINT LOCATION COUNTER 1656 01604 0 06 00057 ADD ILT2 X 1657 01605 0 04 00057 STA ILT2 1658 01606 0 01 01566 JMP IL10 GO PROCESS NEXT CHARACTER 1659 * 1660 01607 0 11 00416 IL11 CAS C256 TEST FOR DECIMAL POINT 1661 01610 100000 SKP NO 1662 01611 0 01 01646 JMP IL12 YES...GO RECORD ITS LOCATION 1663 01612 0 05 00430 ERA C305 TEST FOR 'E' (START OF EXPONENT) 1664 01613 100040 SZE X 1665 01614 0 01 01661 JMP IL13 NO...GO CLOSE UP 1666 * 1667 * HERE TO PROCESS EXPONENT 1668 * 1669 01615 0 04 00060 STA ILT3 CLEAR EXPONENT SIGN FLAG 1670 01616 0 13 00056 IL15 IMA ILT1 CLEAR EXPONENT VALUE, GET DECIMAL POINT FLAG 1671 01617 101040 SNZ IF NO DEC PNT, THEN EXPONENT NOT ALLOWED 1672 01620 0 01 01661 JMP IL13 THIS 'E' MUST BE PART OF SOMETHING ELSE 1673 01621 0 10 03125 IL31 JST GNBC SEE IF EXPLICIT EXPONENT SIGN 1674 01622 0 11 00413 CAS C253 A '+' ? 1675 01623 100000 SKP NO 1676 01624 0 01 01631 JMP IL39 YES ... IGNORE IT 1677 01625 0 11 00415 CAS C255 A '-' ? 1678 01626 100000 SKP NO 1679 01627 0 01 01643 JMP IL14 YES ... SET FLAG FOR LATER USE 1680 01630 0 10 03065 JST UCHR NO SIGN ... CHAR IS PART OF SOMETHING ELSE 1681 01631 0 10 03125 IL39 JST GNBC GET CHARACTER 1682 01632 0 10 03164 JST NUMC IS IT NUMERIC DIGIT ^ 1683 01633 0 01 01654 JMP IL16 NO....WE'VE HIT THE END OF THE EXPONENT 1684 01634 0 07 00420 SUB C260 YES...CONVERT TO INTEGER 1685 01635 0 13 00056 IMA ILT1 SWAP WITH PREVIOUS ACCUMULATION 1686 01636 0 10 00000 JST M$11 UPDATE PREVIOUS SUMMATION 1687 01637 0 000374 DAC C12 X 1688 01640 0 06 00056 ADD ILT1 INSERT NEW DIGIT 1689 01641 0 04 00056 STA ILT1 SAVE NEW ACCUMULATION 1690 01642 0 01 01631 JMP IL39 CONTINUE SCAN 1691 * 1692 01643 0 02 00462 IL14 LDA M1 SET NEGITIVE EXPONENT FLAG 1693 01644 0 04 00060 STA ILT3 X 1694 01645 0 01 01631 JMP IL39 NOW GET EXPONENT VALUE 1695 * 1696 01646 0 02 00462 IL12 LDA M1 SET DECIMAL POINT DETECTED FLAG 1697 01647 0 13 00056 IMA ILT1 X 1698 01650 101040 SNZ WAS IT ALREADY SET ^ 1699 01651 0 01 01566 JMP IL10 NO....OK 1700 01652 0 10 05243 JST ERR YES4...REPORT ERROR 1701 01653 142320 BCI 1,DP TOO MANY DECIMAL POINTS 1702 *
Previous File Previous Page Single Page Next Page Next File