Trim whitespace

This commit is contained in:
James Harris
2016-12-28 16:11:25 +00:00
parent 7c33b5996c
commit 4f3a1d4374
166 changed files with 5357 additions and 5357 deletions

View File

@@ -7,8 +7,8 @@
# Contact: Ron Burkey <info@sandroid.org>.
# Website: www.ibiblio.org/apollo.
# Pages: 1002-1094
# Mod history: 2009-05-25 RSB Adapted from the corresponding
# Luminary131 file, using page
# Mod history: 2009-05-25 RSB Adapted from the corresponding
# Luminary131 file, using page
# images from Luminary 1A.
# 2011-01-06 JL Fixed pseudo-label indentation.
# 2011-05-08 JL Removed workarounds.
@@ -26,7 +26,7 @@
# Notations on the hardcopy document read, in part:
#
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
# 16:27 JULY 14, 1969
# 16:27 JULY 14, 1969
# Page 1002
# SECTION 1: DISPATCHER
@@ -38,12 +38,12 @@
# E-BANK SWITCHING OCCURS WHENEVER GENERAL ERASABLE (100-3777) IS ADDRESSED.
BLOCK 03
COUNT* $$/INTER
INTPRET RELINT
EXTEND # SET LOC TO THE WORD FOLLOWING THE TC.
QXCH LOC
+2 CA BBANK # INTERPRETIVE BRANCHES FINISH HERE.
TS BANKSET
MASK BIT15 # GET 15TH BIT FOR INDEXABLE ADDRESSES.
@@ -126,15 +126,15 @@ NEG4 DEC -4
CCS A
AD -ENDERAS # IF NOT, SEE IF IN GENERAL ERASABLE.
TCF IERASTST
NETZERO CA FIXLOC # IF SO, LEAVE THE MODIFIED ADDRESS IN
ADS ADDRWD # ADDRWD AND DISPATCH.
ITR15 INDEX CYR # THIS INDEX MAKES THE NEXT INSTRUCTION
7 INDJUMP -1 # TCF INDJUMP + OP, EDITING CYR.
IERASTST EXTEND
BZMF GEADDR # GO PROCESS GENERAL-ERASABLE ADDRESS.
MASK LOW10 # FIXED BANK ADDRESS. RESTORE AND ADD B15.
AD LOW10 # SWITCH BANKS AND LEAVE SUBADDRESS IN
XCH ADDRWD # ADDRWD FOR OPERAND RETRIEVAL. (THIS
@@ -142,7 +142,7 @@ IERASTST EXTEND
TS FBANK # LOCATION IN EACH FBANK.)
ITR12 INDEX CYR
7 INDJUMP -1
GEADDR MASK LOW8
AD OCT1400
XCH ADDRWD
@@ -157,7 +157,7 @@ ITR10 INDEX CYR
DODLOAD* CAF DLOAD* # STODL* COMES HERE TO PROCESS LOAD ADR.
TS CYR # (STOVL* ENTERS HERE).
INDEX CA FIXLOC # SET UP INDEX LOCATION.
TS INDEXLOC
INCR LOC # (ADDRESS ALWAYS GIVEN).
@@ -166,7 +166,7 @@ INDEX CA FIXLOC # SET UP INDEX LOCATION.
CCS A # INDEX 2 IF ADDRESS STORED COMPLEMENTED.
INCR INDEXLOC
NOOP
TS ADDRWD # 14 BIT ADDRESS TO ADDRWD.
MASK HIGH4 # IF ADDRESS GREATER THAN 2K, ADD INTBIT15
EXTEND
@@ -177,7 +177,7 @@ INDEX CA FIXLOC # SET UP INDEX LOCATION.
INDEX2 INDEX INDEXLOC
CS X1
ADS ADDRWD # DO AUGMENT, IGNORING AND CORRECTING OVF.
MASK HIGH9 # SEE IF ADDRESS IS IN WORK AREA.
EXTEND
BZF INDWORK
@@ -192,7 +192,7 @@ INDEX2 INDEX INDEXLOC
TS ADDRWD
ITR11 INDEX CYR
3 INDJUMP -1
INDWORK CA FIXLOC # MAKE ADDRWD RELATIVE TO WORK AREA.
TCF ITR13 -1
@@ -204,7 +204,7 @@ INDERASE CA OCT1400
# Page 1007
ITR13 INDEX CYR
3 INDJUMP -1
# Page 1008
# PUSH-UP ROUTINES. WHEN NO OPERAND ADDRESS IS GIVEN, THE APPROPRIATE OPERAND IS TAKEN FROM THE PUSH-DOWN
# LIST. IN MOST CASES THE MODE OF THE RESULT (VECTOR OR SCALAR) OF THE LAST ARITHMETIC OPERATION PERFORMED
@@ -225,7 +225,7 @@ PUSHUP CAF OCT23 # IF THE LOW 5 BITS OF CYR ARE LESS THAN
AD -OCT10 # (NO -0).
CCS A
TCF REGUP # FOR ALL CODES GREATEER THAN OCT 7.
-OCT10 OCT -10
AD NEG4 # WE NOW HAVE 7 -- OP CODE (MOD4). SEE IF
@@ -233,7 +233,7 @@ PUSHUP CAF OCT23 # IF THE LOW 5 BITS OF CYR ARE LESS THAN
INDEX A # NO -- THE MODE IS DEFINITE. PICK UP THE
CS NO.WDS
TCF REGUP +2
INDEX MODE # FOR VXSC AND V/SC WE WANT THE REQUIRED
CS REVCNT # PUSHLOC DECREMENT WITHOUT CHANGING THE
TCF REGUP +2 # MODE AT THIS TIME.
@@ -257,7 +257,7 @@ OCTAL3 OCT 3 # 2 IN DP, AND 3 IN TP.
OPJUMP2 CCS CYR # TEST SECOND PREFIX BIT.
TCF OPJUMP3 # TEST THIRD BIT TO SEE IF UNARY OR SHIFT
-ENDVAC DEC -45
# THE FOLLOWING ROUTINE PROCESSES ADDRESSES OF SUFFIX CLASS 10. THEY ARE BASICALLY WORK AREA ADDRESSES
@@ -268,13 +268,13 @@ OPJUMP2 CCS CYR # TEST SECOND PREFIX BIT.
INDEX LOC # PICK UP ADDRESS WORD.
CA 0
TS POLISH # WE MAY NEED A SUBADDRESS LATER.
CAF LOW7+2K # THESE INSTRUCTIONS ARE IN BANK 1.
TS FBANK
MASK CYR
ITR7 INDEX A
TCF MISCJUMP
# Page 1010
# COMPLETE THE DISPATCHING OF UNARY AND SHORT SHIFT OPERATIONS.
@@ -283,12 +283,12 @@ OPJUMP3 TS FBANK # CALL IN BANK 0 (BIT5S 11-15 OF A ARE 0.)
CCS CYR # TEST THIRD PREFIX BIT.
INDEX A # THE DECREMENTED UNARY CODE IS IN BITS
TCF UNAJUMP # 1-4 OF A (ZERO, EXIT, HAS BEEN DETECTED)
CCS MODE # IT'S A SHORT SHIFT CODE. SEE IF PRESENT
TCF SHORTT # SCALAR OR VECTOR.
TCF SHORTT
TCF SHORTV # CALLS THE APPROPRIATE ROUTINE.
FBANKMSK EQUALS BANKMASK
LVBUF ADRES VBUF
@@ -303,7 +303,7 @@ INDJUMP TCF VLOAD # 00 -- LOAD MPAC WITH A VECTOR.
TCF TLOAD # 05 -- LOAD MPAC WITH TRIPLE PRECISION.
TCF DLOAD # 06 -- LOAD MPAC WITH A DP SCALAR.
TCF V/SC # 07 -- VECTOR DIVIDED BY A SCALAR.
TCF SLOAD # 10 -- LOAD MPACIN SINGLE PRECISION.
TCF SSP # 11 -- SET SINGLE PRECISION INTO X.
TCF PDDL # 12 -- PUSH DOWN MPAC AND RE-LOAD IN DP.
@@ -312,7 +312,7 @@ INDJUMP TCF VLOAD # 00 -- LOAD MPAC WITH A VECTOR.
TCF CCALL # 15 -- COMPUTED CALL.
TCF VXM # 16 -- MATRIX PRE-MULTIPLIED BY VECTOR.
TCF TSLC # 17 -- NORMALIZE MPAC (SCALAR ONLY).
TCF DMPR # 20 -- DP MULTIPLY AND ROUND.
TCF DDV # 21 -- DP DIVIDE BY.
TCF BDDV # 22 -- DP DIVIDE INTO.
@@ -321,7 +321,7 @@ INDJUMP TCF VLOAD # 00 -- LOAD MPAC WITH A VECTOR.
TCF VSU # 25 -- VECTOR SUBTRACT.
TCF BVSU # 26 -- VECTOR SUBTRACT FROM.
TCF DOT # 27 -- VECTOR DOT PRODUCT.
TCF VXV # 30 -- VECTOR CROSS PRODUCT.
TCF VPROJ # 31 -- VECTOR PROJECTION.
TCF DSU # 32 -- DP SUBTRACT.
@@ -330,7 +330,7 @@ INDJUMP TCF VLOAD # 00 -- LOAD MPAC WITH A VECTOR.
TCF # 35 -- AVAILABLE
TCF DMP1 # 36 -- DP MULTIPLY.
TCF SETPD # 37 -- SET PUSH DOWN POINTER (DIRECT ONLY)
# CODES 10 AND 14 MUST NOT PUSH UP. CODE 04 MAY BE USED FOR VECTOR DECLARE BEFORE PUSHUP IF DESIRED.
# Page 1012
@@ -344,7 +344,7 @@ MISCJUMP TCF AXT # 00 -- ADDRESS TO INDEX TRUE.
TCF XCHX # 05 -- EXCHANGE INDEX WITH ERASABLE.
TCF INCR # 06 -- INCREMENT INDEX REGISTER.
TCF TIX # 07 -- TRANSFER ON INDEX.
TCF XAD # 10 -- INDEX REGISTER ADD FROM ERASABLE.
TCF XSU # 11 -- INDEX SUBTRACT FROM ERASABLE.
TCF BZE/GOTO # 12 -- BRANCH ZERO AND GOTO
@@ -366,7 +366,7 @@ UNAJUMP TCF SQRT # 01 -- SQUARE ROOT.
TCF ARCCOS # 05 -- ARC COS.
TCF DSQ # 06 -- DP SQUARE.
TCF ROUND # 07 -- ROUND TO DP.
TCF COMP # 10 -- COMPLEMENT VECTOR OR SCALAR
TCF VDEF # 11 -- VECTOR DEFINE.
TCF UNIT # 12 -- UNIT VECTOR.
@@ -375,12 +375,12 @@ UNAJUMP TCF SQRT # 01 -- SQUARE ROOT.
TCF STADR # 15 -- PUSH UP ON STORE CODE.
TCF RVQ # 16 -- RETURN VIA QPRET.
TCF PUSH # 17 -- PUSH MPAC DOWN.
# Page 1014
# SECTION 2 LOAD AND STORE PACKAGE.
#
# A SET OF EIGHT STORE CODES IS PROVIDED AS THE PRIMARY METHOD OF STORING THE MULTI-PURPOSE
# ACCUMULATOR (MPAC). IF IN THE DANZIG SECTION LOC REFERS TO AN ALGEBRAICALLY POSITIVE WORD, IT IS TAKEN AS A
# ACCUMULATOR (MPAC). IF IN THE DANZIG SECTION LOC REFERS TO AN ALGEBRAICALLY POSITIVE WORD, IT IS TAKEN AS A
# STORE CODE WITH A CORRESPONDING ERASABLE ADDRESS. MOST OF THESE CODES ARE TWO ADDRESS, SPECIFYING THAT THE WORD
# FOLLOWING THE STORE CODE IS TO BE USED AS AN ADDRESS FROM WHICH TO RE-LOAD MPAC. FOUR OPTIONS ARE AVAILABLE:
#
@@ -392,7 +392,7 @@ UNAJUMP TCF SQRT # 01 -- SQUARE ROOT.
# STODL AND STOVL WILL TAKE FROM THE PUSH-DOWN LIST IF NO LOAD ADDRESS IS GIVEN.
BLOCK 3
COUNT* $$/INTER
STADR CA BANKSET # THE STADR CODE (PUSHUP UP ON STORE
TS FBANK # ADDRESS) ENTERS HERE.
@@ -400,8 +400,8 @@ STADR CA BANKSET # THE STADR CODE (PUSHUP UP ON STORE
ITR1 INDEX LOC # THE STORECODE WAS STORED COMPLEMENTED TO
CS 0 # MAKE IT LOOK LIKE AN OPCODE PAIR.
AD NEGONE # (YUL CAN'T REMOVE 1 BECAUSE OF EARLY CCS)
DOSTORE TS ADDRWD
DOSTORE TS ADDRWD
MASK LOW11 # ENTRY FROM DISPATCHER. SAVE THE ERASABLE
XCH ADDRWD # ADDRESS AND JUMP ON THE STORE CODE NO.
MASK B12T14
@@ -409,7 +409,7 @@ DOSTORE TS ADDRWD
MP BIT5 # EACH TRANSFER VECTOR ENTRY IS TWO WORDS.
INDEX A
TCF STORJUMP
# Page 1015
# STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
# A SUPPLIED OPERATION CODE.
@@ -422,30 +422,30 @@ STORJUMP TC STORE # STORE.
TCF DANZIG
TC STORE,2
TCF DANZIG
TC STORE # STODL.
TCF DODLOAD
TC STORE # STODL WITH INDEXED LOAD ADDRESS.
TCF DODLOAD*
TC STORE # STOVL.
TCF DOVLOAD
TC STORE # STOVL WITH INDEXED LOAD ADDRESS.
TCF DOVLOAD*
TC STORE # STOTC.
CAF CALLCODE
TS CYR
TCF 15BITADR # GET A 15 BIT ADDRESS.
# Page 1016
# STORE CODE ADDRESS PROCESSOR.
STORE,1 INDEX FIXLOC
CS X1
TCF PRESTORE
STORE,2 INDEX FIXLOC
CS X2
PRESTORE ADS ADDRWD # RESULTANT ADDRESS IS IN ERASABLE.
@@ -469,27 +469,27 @@ STARTSTO EXTEND # MPAC,+1 MUST BE STORED IN ANY EVENT.
DCA MPAC
INDEX ADDRWD
DXCH 0
CCS MODE
TCF TSTORE
TC Q
VSTORE EXTEND
DCA MPAC +3
INDEX ADDRWD
DXCH 2
EXTEND
DCA MPAC +5
INDEX ADDRWD
DXCH 4
TC Q
TSTORE CA MPAC +2
INDEX ADDRWD
TS 2
TC Q
# Page 1018
# ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRES ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
# ITSELF.
@@ -517,7 +517,7 @@ TLOAD INDEX ADDRWD
DXCH MPAC
TMODE CAF ONE
TCF NEWMODE # DECLARE TRIPLE PRECISION MODE.
SLOAD ZL # LOAD A SINGLE PRECISION NUMBER INTO
INDEX ADDRWD # MPAC, SETTING MPAC+1,2 TO ZERO. THE
CA 0 # CONTENTS OF THE REMAINING MPAC REGISTERS
@@ -527,12 +527,12 @@ VLOAD EXTEND # LOAD A DOUBLE PRECISION VECTOR INTO
INDEX ADDRWD # MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
DCA 0 # CONTENTS OF MPAC +2 ARE IRRELEVANT.
DXCH MPAC
ENDVLOAD EXTEND # PDVL COMES HERE TO FINISH UP FOR DP, TP.
INDEX ADDRWD
DCA 2
DXCH MPAC +3
+4 EXTEND # TPDVL FINISHES HERE.
INDEX ADDRWD
DCA 4
@@ -592,7 +592,7 @@ PDVL EXTEND # RELOAD MPAC AND PUSH DOWN ITS CONTENTS.
DXCH MPAC
INDEX PUSHLOC
DXCH 0
INDEX MODE # ADVANCE THE PUSHDOWN POINTER.
CAF NO.WDS
ADS PUSHLOC
@@ -607,26 +607,26 @@ VPDVL EXTEND # PUSHDOWN AND RE-LOAD LAST TWO COMPONENTS
DXCH MPAC +3
INDEX PUSHLOC
DXCH 0 -4
EXTEND
INDEX ADDRWD
DCA 4
DXCH MPAC +5
INDEX PUSHLOC
DXCH 0 -2
TCF DANZIG
TPDVL EXTEND # ON TP, WE MUST LOAD THE Y COMPONENT
INDEX ADDRWD # BEFORE STORING MPAC +2 IN CASE THIS IS A
DCA 2 # PUSHUP.
DXCH MPAC +3
CA MPAC +2
INDEX PUSHLOC # IN DP.
TS 0 -1
TCF ENDVLOAD +4
# SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.
SSP INCR LOC # PICK UP THE WORD FOLLOWING THE GIVEN
@@ -636,7 +636,7 @@ STORE1 INDEX ADDRWD # SOME INDEX AND MISCELLANEOUS OPS END
TS 0 # HERE.
# Page 1022
TCF DANZIG
# Page 1023
# SEQUENCE CHANGING AND SUBROUTINE CALLING OPTIONS.
#
@@ -666,7 +666,7 @@ CALL CA BANKSET # FOR ANY OF THE CALL OPTIONS, MAKE UP THE
AD LOC # BANKMASK = -(2000 - 1).
INDEX FIXLOC
TS QPRET
GOTO CA POLISH # BASIC BRANCHING SEQUENCE.
+1 MASK HIGH4
EXTEND
@@ -679,9 +679,9 @@ GOTO CA POLISH # BASIC BRANCHING SEQUENCE.
AD 2K
TS LOC
TCF INTPRET +3
EBANK= 1400 # SO YUL DOESN'T CUSS THE "CA 1400" BELOW.
GOTOERS CA POLISH # THE GIVEN ADDRESS IS IN ERASABLE -- SEE
AD -ENDVAC # IF RELATIVE TO THE WORK ARA.
CCS A
@@ -695,14 +695,14 @@ GOTOERS CA POLISH # THE GIVEN ADDRESS IS IN ERASABLE -- SEE
CA 0 # THE BRANCH ADDRESS.
TS POLISH
TCF GOTO +1 # ALLOWS ARBITRARY INDIRECTNESS LEVELS.
GOTOGE TS EBANK
MASK LOW8
INDEX A # USE THE GIVEN ADDRESS AS THE ADDRESS OF
CA 1400 # THE BRANCH ADDRESS.
TS POLISH
TCF GOTO +1
CGOTO INDEX LOC # COMPUTED GO TO. PICK UP ADDRESS OF CADR
CA 1 # LIST
INDEX ADDRWD # ADD MODIFIER.
@@ -713,14 +713,14 @@ CGOTO INDEX LOC # COMPUTED GO TO. PICK UP ADDRESS OF CADR
CA 10000
TS POLISH
TCF GOTO +1 # WITH ADDRESS IN A.
SWBRANCH CA BANKSET # SWITCH INSTRUCTIONS WHICH ELECT TO
TS FBANK # BRANCH COME HERE TO DO SO.
INDEX LOC
CA 1
TS POLISH
TCF GOTO +1
# Page 1025
# TRIPLE PRECISION BRANCHING ROUTINE. IF CALLING TC IS AT L, RETURN IS AS FOLLOWS:
# L+1 IF MPAC IS GREATER THAN ZERO.
@@ -731,23 +731,23 @@ BRANCH CCS MPAC
TC Q
TCF +2 # ON ZERO.
TCF NEG
CCS MPAC +1
TC Q
TCF +2
TCF NEG
CCS MPAC +2
TC Q
TCF +2
TCF NEG
Q+1 INDEX Q
TC 1
NEG INDEX Q # IF FIRST NON-ZERO REGISTER WAS NEGATIVE.
TC 2
Q+2 = NEG
# ITRACE (3) REFERS TO "EXIT".
@@ -773,7 +773,7 @@ EXIT CA BANKSET # RESTORE USER'S BANK SETTING, AND LEAVE
VSU CAF BIT15 # CHANGES 0 TO DCS.
TCF +2
VAD CAF PRIO30 # CHANGES 0 TO DCA.
ADS ADDRWD
EXTEND
@@ -783,7 +783,7 @@ VAD CAF PRIO30 # CHANGES 0 TO DCA.
EXTEND # CHECK OVERFLOW.
BZF +2
TC OVERFLWY
EXTEND
INDEX ADDRWD
READ CHAN5 # DCA 4 OR DCS 4
@@ -791,7 +791,7 @@ VAD CAF PRIO30 # CHANGES 0 TO DCA.
EXTEND
BZF +2
TC OVERFLWZ
EXTEND
INDEX ADDRWD
READ LCHAN # DCA 0 OR DCS 0
@@ -803,11 +803,11 @@ DAD EXTEND
ENDVXV DAS MPAC # VXV FINISHES HERE.
EXTEND
BZF DANZIG
# Page 1027
SETOVF TC OVERFLOW
TCF DANZIG
# Page 1028
DSU EXTEND
INDEX ADDRWD
@@ -817,11 +817,11 @@ DSU EXTEND
OVERFLWZ TS L # ENTRY FOR THIRD COMPONENT.
CAF FIVE
TCF +3
OVERFLWY TS L # ENTRY FOR SECOND COMPONENT.
CAF THREE
XCH L
OVERFLOW INDEX A # ENTRY FOR 1ST COMP OR DP (L=0).
CS LIMITS # PICK UP POSMAX OR NEGMAX.
TS BUF
@@ -837,18 +837,18 @@ OVERFLOW INDEX A # ENTRY FOR 1ST COMP OR DP (L=0).
TS 7
TC Q # NO OVERFLOW EXIT.
TCF SETOVF2 # SET OVFIND AND EXIT.
BVSU EXTEND
INDEX ADDRWD
DCA 2
DXCH MPAC +3
EXTEND
DCOM
DCOM
DAS MPAC +3
EXTEND
BZF +2
TC OVERFLWY
EXTEND
INDEX ADDRWD
DCA 4
@@ -859,7 +859,7 @@ BVSU EXTEND
EXTEND
BZF +2
TC OVERFLWZ
# Page 1029
BDSU EXTEND
INDEX ADDRWD
@@ -868,7 +868,7 @@ BDSU EXTEND
EXTEND
DCOM
TCF ENDVXV
# Page 1030
# TRIPLE PRECISION ADD ROUTINE.
@@ -881,9 +881,9 @@ TAD EXTEND
AD MPAC
TS MPAC
TCF DANZIG
TCF SETOVF # SET OVFIND IF SUCH OCCURS.
# Page 1031
# ARITHMETIC SUBROUTINES REQUIRED IN FIXED-FIXED.
# 1. DMPSUB DOUBLE PRECISION MULTIPLY, MULTIPLY THE CONTENTS OF MPAC,+1 BY THE DP WORD WHOSE ADDRESS
@@ -912,11 +912,11 @@ DMPSUB INDEX ADDRWD # GET MINOR PART OF OPERAND AT C(ADDRWD).
EXTEND # FORM MAJOR OF MPAC X MINOR OF C(ADDRWD).
MP MPAC
DAS MPAC +1 # GUARANTEED NO OVERFLOW.
INDEX ADDRWD # GET MAJOR PART OF ARGUMENT AT C(ADDRWD).
CA 0
XCH MPTEMP # SAVE AND BRING OUT MINOR OF MPAC.
DMPSUB2 EXTEND
DMPSUB2 EXTEND
MP MPTEMP # MAJOR OF C(ADDRWD) X MINOR OF MPAC.
DAS MPAC +1 # ACCUMULATE, SETTING A TO NET OVERFLOW.
@@ -925,7 +925,7 @@ DMPSUB2 EXTEND
MP MPTEMP # MAJOR OF MPAC X MAJOR OF C(ADDRWD).
DAS MPAC # GUARANTEED NO OVERFLOW.
TC Q # 49 MCT = .573 MS. INCLUDING RETURN.
# Page 1032
# ROUND MPAC TO DOUBLE PRECISION, SETTING OVFIND ON THE RARE EVENT OF OVERFLOW.
@@ -975,7 +975,7 @@ DOTSUB EXTEND
TS BUF
TCF +2
TS OVFIND # IF OVERFLOW OCCURS.
DXCH MPAC +5 # MULTIPLY Z COMPONENTS.
DXCH MPAC
CA DOTINC
@@ -1035,30 +1035,30 @@ POLY INDEX Q
POLYCOM CAF LVBUF # INCOMING X WILL BE MOVED TO VBUF, SO
TS ADDRWD # SET ADDRWD SO DMPSUB WILL MPY BY VBUF.
EXTEND
INDEX POLISH
DCA 3
# Page 1035
DXCH MPAC # LOAD A(N) INTO MPAC
DXCH VBUF # SAVING X IN VBUF
TCF POLY2
POLYLOOP TS POLYCNT # SAVE DECREMENTD LOOP COUNTER
CS TWO
ADS POLISH # REGRESS COEFFICIENT POINTER
POLY2 TC DMPSUB # MULTIPLY BY X
EXTEND
INDEX POLISH
DCA 1 # ADD IN NEXT COEFFICIENT
DAS MPAC # USER'S RESPONSIBILITY TO ASSURE NO OVFLOW
CCS POLYCNT
TCF POLYLOOP
TC POLYRET # RETURN CALLER
# Page 1036
# MISCELLANEOUS MULTI-PRECISION ROUTINES REQUIRED IN FIXED-FIXED BUT NOT USED BY THE INTERPRETER.
@@ -2234,7 +2234,7 @@ SMALL2 TS L # (SMALL EXITS TO THIS POINT).
LARGE CCS MPTEMP # MOST ALL CASES COME HERE.
TCF LARGE3 # SEE IF NO NORMALIZATION WAS REQUIRED BY
CS SRDDV # SQRT, AND IF SO, SET UP FOR A SHIFT
TS MPTEMP # RIGHT 1 BEFORE DIVIDING TO PRODUCE
EXTEND # THE DESIRED HALF UNIT VECTOR.
@@ -2675,13 +2675,13 @@ SN1 EXTEND # SET UP TO EVALUATE HASTINGS POLYNOMIAL
TC POLY # EVALUATE FOURTH ORDER POLYNOMIAL.
DEC 3
2DEC +.3926990796
2DEC -.6459637111
2DEC +.318758717
2DEC -.074780249
2DEC +.009694988
CAF LBUF2 # MULTIPLY BY ARGUMENT AND SHIFT LEFT 2.
@@ -2755,21 +2755,21 @@ ACOS3 DXCH MPAC # SET UP FOR POLYNOMIAL EVALUATION.
TC POLY
DEC 6
2DEC +.353553385 # COEFFICIENTS ARE C 2(+I)/PISQRT(2) WHERE
2DEC* -.0483017006 B+1* # I
2DEC* +.0200273085 B+2* # WHERE C STANDS FOR ORIGINAL COEFFS.
2DEC* -.0112931863 B+3*
2DEC* +.00695311612 B+4*
2DEC* -.00384617957 B+5*
2DEC* +.001501297736 B+6*
2DEC* -.000284160334 B+7*
CAF LBUF2 # DO FINAL MULTIPLY AND GO TO ANY
TC DMPSUB -1 # EPILOGUE SEQUENCES.