/FOCAL PATCH:LINE # (DMK) /PATCH TO ALLOW COMPUTED LINE NUMBERS /IN FOCAL PUSHJ=JMS I 140 EVAL=1613 FLAC=44 MULT10=5667 AC=40 ALIGN=6623 LINENO=67 ERROR4=JMS I 166 RTL6=JMS I 157 GETC=JMS I 145 *307 /PATCH 'XGETLN' JMP ALL /'A' SEEN. PROCESS 'ALL' PUSHJ /NOT ALL EVAL /EVALUATE LINE # EXPRESSION /(MAY BE JUST #, E.G., 1.05 IAC DCA AC+2 /SET UP UNNORMALIZED FLOATING # /IN 'AC' DCA AC+1 /THAT WON'T BOTHER US BELOW TAD C13 /EXPONENT REQUIRED DCA AC /SEE ABOVE JMS I LALIGN /LET ALIGN PUT BINARY POINT BETWEEN /LOW AND HIGH ORDER WORDS OF FLAC, /BY ALIGNING IT WITH 'AC' TAD FLAC /EXPONENT OF FLAC SPA CLA /POSITIVE? ERROR4 /NO. ERROR TAD FLAC+1 /HOW ABOUT MANTISSA? SPA ERROR4 /ILLEGAL LINE # TAD 372 /P7740: -40 (8) SMA CLA /GROUP # >31? ERROR4 /YES TAD FLAC+1 /NO. GET IT AGAIN RTL6 /PUT IN ITS PLACE RAL DCA LINENO /SAVE LINE # DCA FLAC+1 /CLEAR HIGH ORDER MANTISSA JMS I LMUL10 /MULTIPLY BINARY FRACTION BY JMS I LMUL10 /100, GIVING LINE # TAD FLAC+2 SPA CLA /PERFORM ROUND OFF IAC TAD FLAC+1 /GET RESULT (LINE #) TAD LINENO /ADD TO GROUP # JMP B /CONTINUE BELOW LMUL10, MULT10 LALIGN, ALIGN ALL, GETC /FOR 'ALL', SKIP 'A' FOR TEST /BELOW HERE (BACK IN REGULAR FOCAL) B, DCA LINENO /SAVE LINE # (0 FOR ALL) *371 /OVERLAY A NO LONGER NEEDED CONSTANT C13, 13 /WITH THIS *1626 /PATCH TO EVAL JMP 1650 /IGNORE ERROR $$$$$$$$$$$