Source Code

These source-code files derive from a printout of Luminary 210 (Apollo 15-17 Lunar Module guidance computer program), from the personal library of original AGC developer Don Eyles, digitally photographed at archive.org, financially sponsored by Jim Lawton, and transcribed to source code by a team of volunteers. This colorized, syntax-highlighted form was created by assembling that transcribed source code. Note that the full page images are available on the Virtual AGC project page at archive.org, while reduced-size images are presented at the VirtualAGC project website. Report or fix any transcription errors at the Virtual AGC project code repository.

Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 210 OF AGC PROGRAM LUMINARY 
	BY NASA 2021112-161 17:11 MAR. 19,1971
Note that the date is the date of the printout, not the date of the program revision.

043961,000002:                                                                                                  ## Copyright:   Public domain.
043962,000003:                                                                                                  ## Filename:    INTERPRETER.agc
043963,000004:                                                                                                  ## Purpose:     A section of Luminary revision 210.
043964,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM)
043965,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 15-17.
043966,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
043967,000008:                                                                                                  ##              that the code format has been changed to conform to the
043968,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
043969,000010:                                                                                                  ##              original YUL assembler.
043970,000011:                                                                                                  ## Reference:   pp. 1000-1092
043971,000012:                                                                                                  ## Assembler:   yaYUL
043972,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
043973,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
043974,000015:                                                                                                  ## Mod history: 2016-11-17 JL   Created from Luminary131 version.
043975,000016:                                                                                                  ##              2016-12-03 MAS  Started transcription.
043976,000017:                                                                                                  ##              2016-12-07 MAS  Completed transcription.
043977,000018:                                                                                                  ##              2016-12-07 HG   fix P00 -> POO (only in operand POODOO1)
043978,000019:                                                                                                  ##              2016-12-26 RSB  Comment-text proofed using ProoferComments
043979,000020:                                                                                                  ##                              and corrected errors found.
043980,000021:                                                                                                  ##              2017-01-28 RSB  Back-ported some comment-text fixes made in Luminary 69.
043981,000022:                                                                                                  ##              2017-02-05 RSB  Back-ported comment corrections 
043982,000023:                                                                                                  ##                              identified while proofing Artemis 072.
043983,000024:                                                                                                  ##              2017-03-15 RSB  Comment-text fixes identified in 5-way
043984,000025:                                                                                                  ##                              side-by-side diff of Luminary 69/99/116/131/210.
043985,000026: 

Page 1000

043987,000028:                                                                                                  #  SECTION 1  DISPATCHER
043988,000029: 
043989,000030:                                                                                                  #           ENTRY TO THE INTERPRETER. INTPRET SETS LOC TO THE FIRST  INSTRUCTION, BANKSET TO THE BBANK OF THE
043990,000031:                                                                                                  #  OBJECT INTERPRETIVE PROGRAM, AND INTBIT15 TO THE BIT15 CONTENTS OF FBANK. INTERPRETIVE PROGRAMS MAY BE IN
043991,000032:                                                                                                  #  VIRTUALLY ALL BANKS PRESENT UNDER ANY SUPER-BANK SETTING, WITH THE RESTRICTION THAT PROGRAMS IN HIGH BANKS
043992,000033:                                                                                                  #  (BIT15 OF FBANK = 1) DO NOT REFER TO LOWBANKS, AND VICE-VERSA. THE INTERPRETER DOES NOT SWITCH SUPERBANKS.
043993,000034:                                                                                                  #  E-BANK SWITCHING OCCURS WHENEVER GENERAL ERASABLE (100 - 3777) IS ADDRESSED.
043994,000035: 
043995,000036:    6060                                           BLOCK    03                                    
043996,000037: 
043997,000038:    6060                                           COUNT*   $$/INTER                              
043998,000039:    6060           00003        INTPRET            RELINT                                         
043999,000040:    6061           00006                           EXTEND                                         #  SET LOC TO THE WORD FOLLOWING THE TC.
044000,000041:    6062           22164                           QXCH     LOC                                   
044001,000042: 
044002,000043:    6063           30006                 +2        CA       BBANK                                 #  INTERPRETIVE BRANCHES FINISH HERE.
044003,000044:    6064           54165                           TS       BANKSET                               
044004,000045:    6065           74726                           MASK     BIT15                                 #  GET 15TH BIT FOR INDEXABLE ADDRESSES.
044005,000046:    6066           54115                           TS       INTBIT15                              
044006,000047: 
044007,000048:    6067           54023                           TS       EDOP                                  #  MAKE SURE NO INSTRUCTIONS LEFT OVER
044008,000049: 
044009,000050:    6070           16111                           TCF      NEWOPS                                #  PICK UP OP CODE PAIR AND BEGIN.
044010,000051: 
044011,000052: 
044012,000053:    6071           22006        INTRSM             LXCH     BBANK                                 #  RESUME SUSPENDED INTERPRETIVE JOB
044013,000054:    6072           16063                           TCF      INTPRET    +3                         
044014,000055:                                                                                                  #           DLOAD LOADS MPAC, MPAC +1, LEAVING ZERO IN MPAC +2.
044015,000056: 
044016,000057:    6073           00006        DLOAD              EXTEND                                         
044017,000058:    6074           50116                           INDEX    ADDRWD                                
044018,000059:    6075           30001                           DCA      0                                     #  LOAD DP C(C(ADDRWD)) INTO MPAC,MPAX +1
044019,000060:    6076           52155        SLOAD2             DXCH     MPAC                                  
044020,000061:    6077           34746                           CAF      ZERO                                  #  ZERO MPAC +2
044021,000062: 

Page 1001

044023,000064:                                                                                                  #           AT THE END OF MOST INSTRUCTIONS, CONTROL IS GIVEN TO DANZIG TO DISPATCH THE NEXT OPERATION.
044024,000065: 
044025,000066:    6100           54156                           TS       MPAC       +2                         #  AND DECLARE DP MODE
044026,000067: 
044027,000068:    6101           54163        NEWMODE            TS       MODE                                  #  PROLOGUE FOR MODE-CHANGING INSTRUCTIONS.
044028,000069: 
044029,000070:    6102           30165        DANZIG             CA       BANKSET                               #  SET BBANK BEFORE TESTING NEWJOB SO THAT
044030,000071:    6103           54006                           TS       BBANK                                 #  IT MAY BE SAVED DIRECTLY BY CHANJOB.
044031,000072: 
044032,000073:    6104           10023        NOIBNKSW           CCS      EDOP                                  #  SEE IF AN ORDER CODE IS LEFT OVER FROM
044033,000074:    6105           16120                           TCF      OPJUMP                                #  THE LAST PAIR RETRIEVED. IF SO, EXECUTE.
044034,000075:                                                                                                  #  EDOP IS SET TO ZERO ON ITS RE-EDITING.
044035,000076: 
044036,000077:    6106           10067                           CCS      NEWJOB                                #  SEE IF A JOB OF HIGHER PRIORITY IS
044037,000078:    6107           15117                           TCF      CHANG2                                #  PRESENT, AND IF SO, CHANGE JOBS.
044038,000079: 
044039,000080:    6110           24164                           INCR     LOC                                   #  ADVANCE THE LOCATION COUNTER.
044040,000081:                                                                                                  #           ITRACE (1) REFERS TO "NEWOPS".
044041,000082:    6111           50164        NEWOPS             INDEX    LOC                                   #  ENTRY TO BEGIN BY PICKING OP CODE PAIR.
044042,000083:    6112           30000                           CA       0                                     #  MAY BE AN OPCODE PAIR OR A STORE CODE.
044043,000084:    6113           10000                           CCS      A                                     #  TEST SIGN AND GET DABS(A).
044044,000085:    6114           16403                           TCF      DOSTORE                               #  PROCESS STORE CODE.
044045,000086: 
044046,000087:    6115           00177        LOW7               OCT      177                                   
044047,000088: 
044048,000089:    6116           54023                           TS       EDOP                                  #  OP CODE PAIR. LEAVE THE OTHER IN EDOP
044049,000090:    6117           76115                           MASK     LOW7                                  #  WHERE  CCS EDOP  WILL HONOR IT NEXT.
044050,000091: 
044051,000092:    6120           54020        OPJUMP             TS       CYR                                   #  LOWWD ENTERS HERE IF A RIGHT-HAND OP
044052,000093:    6121           10020                           CCS      CYR                                   #  CODE IS TO BE PROCESSED. TEST PREFICES.
044053,000094:    6122           16270                           TCF      OPJUMP2                               #  TEST SECOND PREFIX BIT.
044054,000095: 
044055,000096:    6123           16764                           TCF      EXIT                                  #  +0 OP CODE IS EXIT.
044056,000097: 

Page 1002

044058,000099:                                                                                                  #           PROCESS ADDRESSES WHICH MAY BE DIRECT, INDEXED, OR REFERENCE THE PUSHDOWN LIST.
044059,000100: 
044060,000101:    6124           74744        ADDRESS            MASK     BIT1                                  #  SEE IF ADDRESS IS INDEXED. CYR CONTAINED
044061,000102:    6125           10000                           CCS      A                                     #  400XX, SO BIT 1 IS NOW AS IT WAS IN CYR.
044062,000103:    6126           16167                           TCF      INDEX                                 #  FORM INDEXED ADDRESS.
044063,000104: 
044064,000105:    6127           50164        DIRADRES           INDEX    LOC                                   #  LOOK AHEAD TO NEXT WORD TO SEE IF
044065,000106:    6130           40001        OCT40001           CS       1                                     #  ADDRESS IS GIVEN.
044066,000107:    6131           10000                           CCS      A                                     
044067,000108:    6132           16236                           TCF      PUSHUP                                #  IF NOT.
044068,000109: 
044069,000110:    6133           77773        NEG4               DEC      -4         B-14                       
044070,000111: 
044071,000112:    6134           24164                           INCR     LOC                                   #  IF SO, TO SHOW WE PICKED UP A WORD.
044072,000113:    6135           54116                           TS       ADDRWD                                
044073,000114: 

Page 1003

044075,000116:                                                                                                  #           FINAL DIGESTION OF DIRECT ADDRESSES OF OP CODES WITH 01 PREFIX IS DONE HERE. IN EACH CASE, THE
044076,000117:                                                                                                  #  REQUIRED 12-BIT SUB-ADDRESS IS LEFT IN ADDRWD, WITH ANY REQUIRED E OR F BANK SWITCHING DONE. ADDRESSES LESS
044077,000118:                                                                                                  #  THAN 45D ARE TAKEN TO BE RELATIVE TO THE WORK AREA. THE OP CODE IS NOW IN BITS 1-5 OF CYR WITH BIT 14 = 1.
044078,000119: 
044079,000120:    6136           66272                           AD       -ENDVAC                               #  SEE IF ADDRESS RELATIVE TO WORK AREA.
044080,000121:    6137           10000                           CCS      A                                     
044081,000122:    6140           67764                           AD       -ENDERAS                              #  IF NOT, SEE IF IN GENERAL ERASABLE.
044082,000123:    6141           16146                           TCF      IERASTST                              
044083,000124: 
044084,000125:    6142           30120        NETZERO            CA       FIXLOC                                #  IF SO, LEAVE THE MODIFIED ADDRESS IN
044085,000126:    6143           26116                           ADS      ADDRWD                                #  ADDRWD AND DISPATCH.
044086,000127:    6144           50020        ITR15              INDEX    CYR                                   #  THIS INDEX MAKES THE NEXT INSTRUCTION
044087,000128:    6145           76314                           7        INDJUMP    -1                         #  TCF INDJUMP + OP, EDITING CYR.
044088,000129: 
044089,000130:    6146           00006        IERASTST           EXTEND                                         
044090,000131:    6147           66157                           BZMF     GEADDR                                #  GO PROCESS GENERAL-ERASABLE ADDRESS.
044091,000132: 
044092,000133:    6150           75003                           MASK     LOW10                                 #  FIXED BANK ADDRESS. RESTORE AND ADD B15.
044093,000134:    6151           65003                           AD       LOW10                                 #  SWITCH BANKS AND LEAVE SUBADDRESS IN
044094,000135:    6152           56116                           XCH      ADDRWD                                #  ADDRWD FOR OPERAND RETRIEVAL. (THIS
044095,000136:    6153           60115                           AD       INTBIT15                              #  METHOD PRECLUDES USE OF THE LAST
044096,000137:    6154           54004                           TS       FBANK                                 #  LOCATION IN EACH FBANK.)
044097,000138:    6155           50020        ITR12              INDEX    CYR                                   
044098,000139:    6156           76314                           7        INDJUMP    -1                         
044099,000140: 
044100,000141:    6157           74350        GEADDR             MASK     LOW8                                  
044101,000142:    6160           65000                           AD       OCT1400                               
044102,000143:    6161           56116                           XCH      ADDRWD                                
044103,000144:    6162           54003                           TS       EBANK                                 
044104,000145:    6163           50020        ITR10              INDEX    CYR                                   
044105,000146:    6164           76314                           7        INDJUMP    -1                         
044106,000147: 

Page 1004

044108,000149:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES INTERPRETIVE INDEXED ADDRESSES. AN INTERPRETER INDEX REGISTER MAY
044109,000150:                                                                                                  #  CONTAIN THE ADDRESS OF ANY ERASABLE REGISTER (0-42 BEING RELATIVE TO THE VAC AREA) OR ANY INTERPRETIVE PROGRAM
044110,000151:                                                                                                  #  BANK, OR ANY INTEGER IN THAT RANGE.
044111,000152: 
044112,000153:    6165           37754        DODLOAD*           CAF      DLOAD*                                #  STODL* COMES HERE TO PROCESS LOAD ADR.
044113,000154:    6166           54020                           TS       CYR                                   #  (STOVL* ENTERS HERE).
044114,000155: 
044115,000156:    6167           30120        INDEX              CA       FIXLOC                                #  SET UP INDEX LOCATION.
044116,000157:    6170           54130                           TS       INDEXLOC                              
044117,000158:    6171           24164                           INCR     LOC                                   #  (ADDRESS ALWAYS GIVEN).
044118,000159:    6172           50164                           INDEX    LOC                                   
044119,000160:    6173           40000                           CS       0                                     
044120,000161:    6174           10000                           CCS      A                                     #  INDEX 2 IF ADDRESS STORED COMPLEMENTED.
044121,000162:    6175           24130                           INCR     INDEXLOC                              
044122,000163:    6176           16177                           NOOP                                           
044123,000164: 
044124,000165:    6177           54116                           TS       ADDRWD                                #  14 BIT ADDRESS TO ADDRWD.
044125,000166:    6200           77763                           MASK     HIGH4                                 #  IF ADDRESS GREATER THAN 2K, ADD INTBIT15
044126,000167:    6201           00006                           EXTEND                                         
044127,000168:    6202           16205                           BZF      INDEX2                                
044128,000169:    6203           30115                           CA       INTBIT15                              
044129,000170:    6204           26116                           ADS      ADDRWD                                
044130,000171: 
044131,000172:    6205           50130        INDEX2             INDEX    INDEXLOC                              
044132,000173:    6206           40046                           CS       X1                                    
044133,000174:    6207           26116                           ADS      ADDRWD                                #  DO AUGMENT, IGNORING AND CORRECTING OVF.
044134,000175: 
044135,000176:    6210           77765                           MASK     HIGH9                                 #  SEE IF ADDRESS IS IN WORK AREA.
044136,000177:    6211           00006                           EXTEND                                         
044137,000178:    6212           16225                           BZF      INDWORK                               
044138,000179:    6213           77763                           MASK     HIGH4                                 #  SEE IF IN FIXED BANK.
044139,000180:    6214           00006                           EXTEND                                         
044140,000181:    6215           16227                           BZF      INDERASE                              
044141,000182: 
044142,000183:    6216           30116                           CA       ADDRWD                                #  IN FIXED - SWITCH BANKS AND CREATE
044143,000184:    6217           54004                           TS       FBANK                                 #  SUB-ADDRESS.
044144,000185:    6220           75003                           MASK     LOW10                                 
044145,000186:    6221           64732                           AD       2K                                    
044146,000187:    6222           54116                           TS       ADDRWD                                
044147,000188:    6223           50020        ITR11              INDEX    CYR                                   
044148,000189:    6224           36314                           3        INDJUMP    -1                         
044149,000190: 
044150,000191:    6225           30120        INDWORK            CA       FIXLOC                                #  MAKE ADDRWD RELATIVE TO WORK AREA.
044151,000192:    6226           16233                           TCF      ITR13      -1                         
044152,000193: 
044153,000194:    6227           35000        INDERASE           CA       OCT1400                               
044154,000195:    6230           56116                           XCH      ADDRWD                                
044155,000196:    6231           54003                           TS       EBANK                                 
044156,000197:    6232           74350                           MASK     LOW8                                  
044157,000198:    6233           26116                 -1        ADS      ADDRWD                                

Page 1005

044159,000200:    6234           50020        ITR13              INDEX    CYR                                   
044160,000201:    6235           36314                           3        INDJUMP    -1                         
044161,000202: 

Page 1006

044163,000204:                                                                                                  #           PUSH-UP ROUTINES. WHEN NO OPERAND ADDRESS IS GIVEN, THE APPROPRIATE OPERAND IS TAKEN FROM THE PUSH-DOWN
044164,000205:                                                                                                  #  LIST. IN MOST CASES THE MODE OF THE RESULT (VECTOR OR SCALAR) OF THE LAST ARITHMETIC OPERATION PERFORMED
044165,000206:                                                                                                  #  IS THE SAME AS THE TYPE OF OPERAND DESIRED (ALL ADD/SUBTRACT ETC.). EXCEPTIONS TO THIS GENERAL RULE ARE LISTED
044166,000207:                                                                                                  #  BELOW (NOTE THAT IN EVERY CASE THE MODE REGISTER IS LEFT INTACT):
044167,000208: 
044168,000209:                                                                                                  #           1.  VXSC AND V/SC WANT THE OPPOSITE TYPE OF OPERAND, E.G., IF THE LAST OPERATION YIELDED A VECTOR
044169,000210:                                                                                                  #  RESULT, VXSC WANTS A SCALAR.
044170,000211: 
044171,000212:                                                                                                  #           2.  THE LOAD CODES SHOULD LOAD THE ACCUMULATOR INDEPENDENT OF THE RESULT OF THE LAST OPERATION. THIS
044172,000213:                                                                                                  #  INCLUDES VLOAD, DLOAD, TLOAD, PDDL, AND PDVL (NO PUSHUP WITH SLOAD).
044173,000214: 
044174,000215:                                                                                                  #           3.  SOME ARITHMETIC OPERATIONS REQUIRE A STANDARD TYPE OF OPERAND REGARDLESS OF THE PREVIOUS OPERATION.
044175,000216:                                                                                                  #  THIS INCLUDES SIGN WANTING DP AND TAD REQUIRING TP.
044176,000217: 
044177,000218:    6236           34351        PUSHUP             CAF      OCT23                                 #  IF THE LOW 5 BITS OF CYR ARE LESS THAN
044178,000219:    6237           70020                           MASK     CYR                                   #  20, THIS OP REQUIRES SPECIAL ATTENTION.
044179,000220:    6240           66243                           AD       -OCT10                                #  (NO -0).
044180,000221:    6241           10000                           CCS      A                                     
044181,000222:    6242           16254                           TCF      REGUP                                 #  FOR ALL CODES GREATER THAN OCT 7.
044182,000223: 
044183,000224:    6243           77767        -OCT10             OCT      -10                                   
044184,000225: 
044185,000226:    6244           66133                           AD       NEG4                                  #  WE NOW HAVE 7 - OP CODE(MOD4). SEE IF
044186,000227:    6245           10000                           CCS      A                                     #  THE OP CODE (MOD4) IS THREE (REVERSE).
044187,000228:    6246           50000                           INDEX    A                                     #  NO - THE MODE IS DEFINITE. PICK UP THE
044188,000229:    6247           46265                           CS       NO.WDS                                
044189,000230:    6250           16256                           TCF      REGUP      +2                         
044190,000231: 
044191,000232:    6251           50163                           INDEX    MODE                                  #  FOR VXSC AND V/SC WE WANT THE REQUIRED
044192,000233:    6252           46263                           CS       REVCNT                                #  PUSHLOC DECREMENT WITHOUT CHANGING THE
044193,000234:    6253           16256                           TCF      REGUP      +2                         #  MODE AT THIS TIME.
044194,000235: 
044195,000236:    6254           50163        REGUP              INDEX    MODE                                  #  MOST ALL OP CODES PUSHUP HERE.
044196,000237:    6255           46265                           CS       NO.WDS                                
044197,000238:    6256           26166                 +2        ADS      PUSHLOC                               
044198,000239:    6257           54116                           TS       ADDRWD                                
044199,000240:    6260           50020        ITR14              INDEX    CYR                                   
044200,000241:    6261           76314                           7        INDJUMP    -1                         #  (THE INDEX MAKES THIS A TCF.)
044201,000242: 
044202,000243:    6262           00002                           OCT      2                                     #  REVERSE PUSHUP DECREMENT. VECTOR TAKES 2
044203,000244:    6263           00006        REVCNT             OCT      6                                     #  WORDS, SCALAR TAKES 6.
044204,000245:    6264           00006                           OCT      6                                     
044205,000246:    6265           00002        NO.WDS             OCT      2                                     #  CONVENTIONAL DECREMENT IS 6 WORDS VECTOR
044206,000247:    6266           00003        OCTAL3             OCT      3                                     #  2 IN DP, AND 3 IN TP.
044207,000248:    6267           00006                           OCT      6                                     
044208,000249: 

Page 1007

044210,000251:                                                                                                  #           TEST THE SECOND PREFIX BIT TO SEE IF THIS IS A MISCELLANEOUS OR A UNARY/SHORT SHIFT OPERATION.
044211,000252: 
044212,000253:    6270           10020        OPJUMP2            CCS      CYR                                   #  TEST SECOND PREFIX BIT.
044213,000254:    6271           16304                           TCF      OPJUMP3                               #  TEST THIRD BIT TO SEE IF UNARY OR SHIFT.
044214,000255: 
044215,000256:    6272           77722        -ENDVAC            DEC      -45        B-14                       
044216,000257: 
044217,000258:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES ADDRESSES OF SUFFIX CLASS 10. THEY ARE BASICALLY WORK AREA ADDRESSES
044218,000259:                                                                                                  #  IN THE RANGE 0 - 52, ERASABLE ECADR CONSTANTS FROM 100 - 3777, AND FCADRS ABOVE THAT. ALL 15 BITS ARE AVAILABLE
044219,000260:                                                                                                  #  IN CONTRAST TO SUFFIX 1, IN WHICH ONLY THE LOW ORDER 14 ARE AVAILABLE.
044220,000261: 
044221,000262:    6273           24164        15BITADR           INCR     LOC                                   #  (ENTRY HERE FROM STCALL).
044222,000263:    6274           50164                           INDEX    LOC                                   #  PICK UP ADDRESS WORD.
044223,000264:    6275           30000                           CA       0                                     
044224,000265:    6276           54117                           TS       POLISH                                #  WE MAY NEED A SUBADDRESS LATER.
044225,000266: 
044226,000267:    6277           35004                           CAF      LOW7+2K                               #  THESE INSTRUCTIONS ARE IN BANK 1.
044227,000268:    6300           54004                           TS       FBANK                                 
044228,000269:    6301           70020                           MASK     CYR                                   
044229,000270:    6302           50000        ITR7               INDEX    A                                     
044230,000271:    6303           16355                           TCF      MISCJUMP                              
044231,000272: 

Page 1008

044233,000274:                                                                                                  #           COMPLETE THE DISPATCHING OF UNARY AND SHORT SHIFT OPERATIONS.
044234,000275: 
044235,000276:    6304           54004        OPJUMP3            TS       FBANK                                 #  CALL IN BANK 0 (BITS 11-15 OF A ARE 0.)
044236,000277:                                                                                                  #           ITRACE (6) REFERS TO "OPJUMP3".
044237,000278:    6305           10020                           CCS      CYR                                   #  TEST THIRD PREFIX BIT.
044238,000279:    6306           50000                           INDEX    A                                     #  THE DECREMENTED UNARY CODE IS IN BITS
044239,000280:    6307           12000                           TCF      UNAJUMP                               #  1-4 OF A (ZERO, EXIT, HAS BEEN DETECTED)
044240,000281: 
044241,000282:    6310           10163                           CCS      MODE                                  #  ITS A SHORT SHIFT CODE. SEE IF PRESENT
044242,000283:    6311           12017                           TCF      SHORTT                                #  SCALAR OR VECTOR.
044243,000284:    6312           12017                           TCF      SHORTT                                
044244,000285:    6313           12121                           TCF      SHORTV                                #  CALLS THE APPROPRIATE ROUTINE.
044245,000286: 
044246,000287:    6314     4341               FBANKMSK           EQUALS   BANKMASK                              
044247,000288:    6314           00122        LVBUF              ADRES    VBUF                                  
044248,000289: 

Page 1009

044250,000291:                                                                                                  #           THE FOLLOWING IS THE JUMP TABLE FOR OP CODES WHICH MAY HAVE INDEXABLE ADDRESSES OR MAY PUSH UP.
044251,000292: 
044252,000293:    6315           16526        INDJUMP            TCF      VLOAD                                 #  00 - LOAD MPAC WITH A VECTOR.
044253,000294:    6316           17112                           TCF      TAD                                   #  01 - TRIPLE PRECISION ADD TO MPAC.
044254,000295:    6317           17676                           TCF      SIGN                                  #  02 - COMPLEMENT MPAC (V OR SC) IF X NEG.
044255,000296:    6320           17422                           TCF      VXSC                                  #  03 - VECTOR TIMES SCALAR.
044256,000297:    6321           16724                           TCF      CGOTO                                 #  04 - COMPUTED GO TO.
044257,000298:    6322           16511                           TCF      TLOAD                                 #  05 - LOAD MPAC WITH TRIPLE PRECISION.
044258,000299:    6323           16073                           TCF      DLOAD                                 #  06 - LOAD MPAC WITH A DP SCALAR.
044259,000300:    6324           17645                           TCF      V/SC                                  #  07 - VECTOR DIVIDED BY SCALAR.
044260,000301: 
044261,000302:    6325           16522                           TCF      SLOAD                                 #  10 - LOAD MPAC IN SINGLE PRECISION.
044262,000303:    6326           16641                           TCF      SSP                                   #  11 - SET SINGLE PRECISION INTO X.
044263,000304:    6327           16544                           TCF      PDDL                                  #  12 - PUSH DOWN MPAC AND RE-LOAD IN DP.
044264,000305:    6330           17355                           TCF      MXV                                   #  13 - MATRIX POST-MULTIPLIED BY VECTOR.
044265,000306:    6331           16600                           TCF      PDVL                                  #  14 - PUSH DOWN AND VECTOR LOAD.
044266,000307:    6332           16647                           TCF      CCALL                                 #  15 - COMPUTED CALL.
044267,000308:    6333           17360                           TCF      VXM                                   #  16 - MATRIX PRE-MULTIPLIED BY VECTOR.
044268,000309:    6334           17637                           TCF      TSLC                                  #  17 - NORMALIZE MPAC (SCALAR ONLY).
044269,000310: 
044270,000311:    6335           17615                           TCF      DMPR                                  #  20 - DP MULTIPLY AND ROUND.
044271,000312:    6336           17620                           TCF      DDV                                   #  21 - DP DIVIDE BY.
044272,000313:    6337           17624                           TCF      BDDV                                  #  22 - DP DIVIDE INTO.
044273,000314:    6340           17642                           TCF      GSHIFT                                #  23 - GENERAL SHIFT INSTRUCTION.
044274,000315:    6341           16772                           TCF      VAD                                   #  24 - VECTOR ADD.
044275,000316:    6342           16770                           TCF      VSU                                   #  25 - VECTOR SUBTRACT.
044276,000317:    6343           17057                           TCF      BVSU                                  #  26 - VECTOR SUBTRACT FROM.
044277,000318:    6344           17352                           TCF      DOT                                   #  27 - VECTOR DOT PRODUCT.
044278,000319: 
044279,000320:    6345           17501                           TCF      VXV                                   #  30 - VECTOR CROSS PRODUCT.
044280,000321:    6346           17446                           TCF      VPROJ                                 #  31 - VECTOR PROJECTION.
044281,000322:    6347           17026                           TCF      DSU                                   #  32 - DP SUBTRACT.
044282,000323:    6350           17103                           TCF      BDSU                                  #  33 - DP SUBTRACT FROM.
044283,000324:    6351           17016                           TCF      DAD                                   #  34 - DP ADD.
044284,000325:    6352           16352                           TCF      +0                                    #  35 - AVAILABLE
044285,000326:    6353           17613                           TCF      DMP1                                  #  36 - DP MULTIPLY.
044286,000327:    6354           17634                           TCF      SETPD                                 #  37 - SET PUSH DOWN POINTER (DIRECT ONLY)
044287,000328: 
044288,000329:                                                                                                  #  CODES 10 AND 14 MUST NOT PUSH UP. CODE 04 MAY BE USED FOR VECTOR DECLARE BEFORE PUSHUP IF DESIRED.
044289,000330: 

Page 1010

044291,000332:                                                                                                  #           THE FOLLOWING JUMP TABLE APPLIES TO INDEX, BRANCH, AND MISCELLANEOUS INSTRUCTIONS.
044292,000333: 
044293,000334:    6355           12350        MISCJUMP           TCF      AXT                                   #  00 - ADDRESS TO INDEX TRUE.
044294,000335:    6356           12355                           TCF      AXC                                   #  01 - ADDRESS TO INDEX COMPLEMENTED.
044295,000336:    6357           12360                           TCF      LXA                                   #  02 - LOAD INDEX FROM ERASABLE.
044296,000337:    6360           12364                           TCF      LXC                                   #  03 - LOAD INDEX FROM COMPLEMENT OF ERAS.
044297,000338:    6361           12370                           TCF      SXA                                   #  04 - STORE INDEX IN ERASABLE.
044298,000339:    6362           12376                           TCF      XCHX                                  #  05 - EXCHANGE INDEX WITH ERASABLE.
044299,000340:    6363           12412                           TCF      INCR                                  #  06 - INCREMENT INDEX REGISTER.
044300,000341:    6364           12421                           TCF      TIX                                   #  07 - TRANSFER ON INDEX.
044301,000342: 
044302,000343:    6365           12404                           TCF      XAD                                   #  10 - INDEX REGISTER ADD FROM ERASABLE.
044303,000344:    6366           12415                           TCF      XSU                                   #  11 - INDEX SUBTRACT FROM ERASABLE.
044304,000345:    6367           12473                           TCF      BZE/GOTO                              #  12 - BRANCH ZERO AND GOTO.
044305,000346:    6370           12500                           TCF      BPL/BMN                               #  13 - BRANCH PLUS AND BRANCH MINUS.
044306,000347:    6371           12453                           TCF      RTB/BHIZ                              #  14 - RETURN TO BASIC AND BRANCH HI ZERO.
044307,000348:    6372           12513                           TCF      CALL/ITA                              #  15 - CALL AND STORE QPRET.
044308,000349:    6373           12522                           TCF      SW/                                   #  16 - SWITCH INSTRUCTIONS AND AVAILABLE.
044309,000350:    6374           12463                           TCF      BOV(B)                                #  17 - BRANCH ON OVERFLOW TO BASIC OR INT.
044310,000351: 

Page 1011

044312,000353:                                                                                                  #           THE FOLLOWING JUMP TABLE APPIES TO UNARY INSTRUCTIONS.
044313,000354: 
044314,000355:    6375                                           COUNT*   $$/INTER                              
044315,000356: 00,2000                                           BANK     0                                     #  00 - EXIT - DETECTED EARLIER.
044316,000357: 00,2000           13207        UNAJUMP            TCF      SQRT                                  #  01 - SQUARE ROOT.
044317,000358: 00,2001           13530                           TCF      SINE                                  #  02 - SIN.
044318,000359: 00,2002           13517                           TCF      COSINE                                #  03 - COS.
044319,000360: 00,2003           13610                           TCF      ARCSIN                                #  04 - ARC SIN.
044320,000361: 00,2004           13612                           TCF      ARCCOS                                #  05 - ARC COS.
044321,000362: 00,2005           13174                           TCF      DSQ                                   #  06 - DP SQUARE.
044322,000363: 00,2006           12116                           TCF      ROUND                                 #  07 - ROUND TO DP.
044323,000364: 
044324,000365: 00,2007           17711                           TCF      COMP                                  #  10 - COMPLEMENT VECTOR OR SCALAR.
044325,000366: 00,2010           13232                           TCF      VDEF                                  #  11 - VECTOR DEFINE.
044326,000367: 00,2011           13023                           TCF      UNIT                                  #  12 - UNIT VECTOR.
044327,000368: 00,2012           13176                           TCF      ABVALABS                              #  13 - LENGTH OF VECTOR OR MAG OF SCALAR.
044328,000369: 00,2013           13245                           TCF      VSQ                                   #  14 - SQUARE OF LENGTH OF VECTOR.
044329,000370: 00,2014           16375                           TCF      STADR                                 #  15 - PUSH UP ON STORE CODE.
044330,000371: 00,2015           13274                           TCF      RVQ                                   #  16 - RETURN VIA QPRET.
044331,000372: 00,2016           13247                           TCF      PUSH                                  #  17 - PUSH MPAC DOWN.
044332,000373: 

Page 1012

044334,000375:                                                                                                  #  SECTION 2  LOAD AND STORE PACKAGE.
044335,000376: 
044336,000377:                                                                                                  #           A SET OF EIGHT STORE CODES IS PROVIDED AS THE PRIMARY METHOD OF STORING THE MULTI-PURPOSE
044337,000378:                                                                                                  #  ACCUMULATOR (MPAC). IF IN THE DANZIG SECTION LOC REFERS TO AN ALGEBRAICALLY POSITIVE WORD, IT IS TAKEN AS A 
044338,000379:                                                                                                  #  STORE CODE WITH A CORRESPONDING ERASABLE ADDRESS. MOST OF THESE CODES ARE TWO ADDRESS, SPECIFYING THAT THE WORD
044339,000380:                                                                                                  #  FOLLOWING THE STORE CODE IS TO BE USED AS AN ADDRESS FROM WHICH TO RE-LOAD MPAC. FOUR OPTIONS ARE AVAILABLE:
044340,000381: 
044341,000382:                                                                                                  #           1. STORE               STORE MPAC. THE E ADDRESS MAY BE INDEXED.
044342,000383:                                                                                                  #           2. STODL               STORE MPAC AND RE-LOAD IT IN DP WITH THE NEXT ADDRESS (THE LOAD MAY BE INDEXED).
044343,000384:                                                                                                  #           3. STOVL               STORE MPAC AND RE-LOAD A VECTOR (AS ABOVE).
044344,000385:                                                                                                  #           4. STCALL              STORE AND DO A CALL (BOTH ADDRESSES MUST BE DIRECT HERE).
044345,000386: 
044346,000387:                                                                                                  #           STODL AND STOVL WILL TAKE FROM THE PUSH-DOWN LIST IF NO LOAD ADDRESS IS GIVEN.
044347,000388: 
044348,000389:    6375                                           BLOCK    3                                     
044349,000390: 
044350,000391:    6375                                           COUNT*   $$/INTER                              
044351,000392:    6375           30165        STADR              CA       BANKSET                               #  THE STADR CODE (PUSHUP UP ON STORE
044352,000393:    6376           54004                           TS       FBANK                                 #  ADDRESS) ENTERS HERE.
044353,000394:    6377           24164                           INCR     LOC                                   
044354,000395:    6400           50164        ITR1               INDEX    LOC                                   #  THE STORECODE WAS STORED COMPLEMENTED TO
044355,000396:    6401           40000                           CS       0                                     #  MAKE IT LOOK LIKE AN OPCODE PAIR.
044356,000397:    6402           67770                           AD       NEGONE                                #  (YUL CANT REMOVE 1 BECAUSE OF EARLY CCS)
044357,000398: 
044358,000399:    6403           54116        DOSTORE            TS       ADDRWD                                
044359,000400:    6404           74347                           MASK     LOW11                                 #  ENTRY FROM DISPATCHER. SAVE THE ERASABLE
044360,000401:    6405           56116                           XCH      ADDRWD                                #  ADDRESS AND JUMP ON THE STORE CODE NO.
044361,000402:    6406           77743                           MASK     B12T14                                
044362,000403:    6407           00006                           EXTEND                                         
044363,000404:    6410           74740                           MP       BIT5                                  #  EACH TRANSFER VECTOR ENTRY IS TWO WORDS.
044364,000405:    6411           50000        ITR0               INDEX    A                                     
044365,000406:    6412           16413                           TCF      STORJUMP                              
044366,000407: 

Page 1013

044368,000409:                                                                                                  #           STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
044369,000410:                                                                                                  #  A SUPPLIED OPERATION CODE.
044370,000411: 
044371,000412:                                                                                                  #           STORE STORE,1 AND STORE,2 RETURN TO DANZIG, THUS RESETTING THE EBANK TO ITS STATE AT INTPRET.
044372,000413: 
044373,000414:    6413           06443        STORJUMP           TC       STORE                                 #  STORE.
044374,000415:    6414           16102                           TCF      DANZIG                                #  PICK UP NEW OP CODE(S).
044375,000416:    6415           06435                           TC       STORE,1                               
044376,000417:    6416           16102                           TCF      DANZIG                                
044377,000418:    6417           06440                           TC       STORE,2                               
044378,000419:    6420           16102                           TCF      DANZIG                                
044379,000420: 
044380,000421:    6421           06443                           TC       STORE                                 #  STODL.
044381,000422:    6422           16501                           TCF      DODLOAD                               
044382,000423: 
044383,000424:    6423           06443                           TC       STORE                                 #  STODL WITH INDEXED LOAD ADDRESS.
044384,000425:    6424           16165                           TCF      DODLOAD*                              
044385,000426: 
044386,000427:    6425           06443                           TC       STORE                                 #  STOVL.
044387,000428:    6426           16504                           TCF      DOVLOAD                               
044388,000429: 
044389,000430:    6427           06443                           TC       STORE                                 #  STOVL WITH INDEXED LOAD ADDRESS.
044390,000431:    6430           16507                           TCF      DOVLOAD*                              
044391,000432:    6431           06443                           TC       STORE                                 #  STOTC.
044392,000433:    6432           34757                           CAF      CALLCODE                              
044393,000434:    6433           54020                           TS       CYR                                   
044394,000435:    6434           16273                           TCF      15BITADR                              #  GET A 15 BIT ADDRESS.
044395,000436: 

Page 1014

044397,000438:                                                                                                  #           STORE CODE ADDRESS PROCESSOR.
044398,000439: 
044399,000440:    6435           50120        STORE,1            INDEX    FIXLOC                                
044400,000441:    6436           40046                           CS       X1                                    
044401,000442:    6437           16442                           TCF      PRESTORE                              
044402,000443: 
044403,000444:    6440           50120        STORE,2            INDEX    FIXLOC                                
044404,000445:    6441           40047                           CS       X2                                    
044405,000446:    6442           26116        PRESTORE           ADS      ADDRWD                                #  RESULTANT ADDRESS IS IN ERASABLE.
044406,000447: 
044407,000448:    6443           40116        STORE              CS       ADDRWD                                
044408,000449:    6444           64763                           AD       DEC45                                 
044409,000450:    6445           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
044410,000451:    6446           30120                           CA       FIXLOC                                #  YES.
044411,000452:    6447           16454                           TCF      AHEAD5                                
044412,000453:    6450           35000                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
044413,000454:    6451           56116                           XCH      ADDRWD                                
044414,000455:    6452           54003                           TS       EBANK                                 
044415,000456:    6453           74350                           MASK     LOW8                                  
044416,000457:    6454           26116        AHEAD5             ADS      ADDRWD                                
044417,000458: 

Page 1015

044419,000460:                                                                                                  #           STORING ROUTINES. STORE DP, TP, OR VECTOR AS INDICATED BY MODE.
044420,000461: 
044421,000462:    6455           00006        STARTSTO           EXTEND                                         #  MPAC,+1 MUST BE STORED IN ANY EVENT.
044422,000463:                                                                                                  #           ITRACE (5) REFERS TO "STARTSTO".
044423,000464:    6456           30155                           DCA      MPAC                                  
044424,000465:    6457           50116                           INDEX    ADDRWD                                
044425,000466:    6460           52001                           DXCH     0                                     
044426,000467: 
044427,000468:    6461           10163                           CCS      MODE                                  
044428,000469:    6462           16475                           TCF      TSTORE                                
044429,000470:    6463           00002                           TC       Q                                     
044430,000471: 
044431,000472:    6464           00006        VSTORE             EXTEND                                         
044432,000473:    6465           30160                           DCA      MPAC       +3                         
044433,000474:    6466           50116                           INDEX    ADDRWD                                
044434,000475:    6467           52003                           DXCH     2                                     
044435,000476: 
044436,000477:    6470           00006                           EXTEND                                         
044437,000478:    6471           30162                           DCA      MPAC       +5                         
044438,000479:    6472           50116                           INDEX    ADDRWD                                
044439,000480:    6473           52005                           DXCH     4                                     
044440,000481:    6474           00002                           TC       Q                                     
044441,000482: 
044442,000483:    6475           30156        TSTORE             CA       MPAC       +2                         
044443,000484:    6476           50116                           INDEX    ADDRWD                                
044444,000485:    6477           54002                           TS       2                                     
044445,000486:    6500           00002                           TC       Q                                     
044446,000487: 

Page 1016

044448,000489:                                                                                                  #           ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRESS ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
044449,000490:                                                                                                  #  ITSELF.
044450,000491: 
044451,000492:    6501           37753        DODLOAD            CAF      DLOADCOD                              
044452,000493:    6502           54020                           TS       CYR                                   
044453,000494:    6503           16127                           TCF      DIRADRES                              #  GO GET A DIRECT ADDRESS.
044454,000495: 
044455,000496:    6504           34726        DOVLOAD            CAF      VLOADCOD                              
044456,000497:    6505           54020                           TS       CYR                                   
044457,000498:    6506           16127                           TCF      DIRADRES                              
044458,000499: 
044459,000500:    6507           36130        DOVLOAD*           CAF      VLOAD*                                
044460,000501:    6510           16166                           TCF      DODLOAD*   +1                         #  PROLOGUE TO INDEX ROUTINE.
044461,000502: 

Page 1017

044463,000504:                                                                                                  #           THE FOLLOWING LOAD INSTRUCTIONS ARE PROVIDED FOR LOADING THE MULTI-PURPOSE ACCUMULATOR MPAC.
044464,000505: 
044465,000506:    6511           50116        TLOAD              INDEX    ADDRWD                                
044466,000507:    6512           30002                           CA       2                                     #  LOAD A TRIPLE PRECISION ARGUMENT INTO
044467,000508:    6513           54156                           TS       MPAC       +2                         #  THE FIRST THREE MPAC REGISTERS, WITH THE
044468,000509:    6514           00006                           EXTEND                                         #  CONTENTS OF THE OTHER FOUR IRRELEVANT.
044469,000510:    6515           50116                           INDEX    ADDRWD                                
044470,000511:    6516           30001                           DCA      0                                     
044471,000512:    6517           52155                           DXCH     MPAC                                  
044472,000513:    6520           34744        TMODE              CAF      ONE                                   
044473,000514:    6521           16101                           TCF      NEWMODE                               #  DECLARE TRIPLE PRECISION MODE.
044474,000515: 
044475,000516:    6522           22007        SLOAD              ZL                                             #  LOAD A SINGLE PRECISION NUMBER INTO
044476,000517:    6523           50116                           INDEX    ADDRWD                                #  MPAC, SETTING MPAC+1,2 TO ZERO. THE
044477,000518:    6524           30000                           CA       0                                     #  CONTENTS OF THE REMAINING MPAC REGISTERS
044478,000519:    6525           16076                           TCF      SLOAD2                                #  ARE IRRELEVANT.
044479,000520: 
044480,000521:    6526           00006        VLOAD              EXTEND                                         #  LOAD A DOUBLE PRECISION VECTOR INTO
044481,000522:    6527           50116                           INDEX    ADDRWD                                #  MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
044482,000523:    6530           30001                           DCA      0                                     #  CONTENTS OF MPAC +2 ARE IRRELEVANT.
044483,000524:    6531           52155                           DXCH     MPAC                                  
044484,000525: 
044485,000526:    6532           00006        ENDVLOAD           EXTEND                                         #  PDVL COMES HERE TO FINISH UP FOR DP, TP.
044486,000527:    6533           50116                           INDEX    ADDRWD                                
044487,000528:    6534           30003                           DCA      2                                     
044488,000529:    6535           52160                           DXCH     MPAC       +3                         
044489,000530: 
044490,000531:    6536           00006                 +4        EXTEND                                         #  TPDVL FINISHES HERE.
044491,000532:    6537           50116                           INDEX    ADDRWD                                
044492,000533:    6540           30005                           DCA      4                                     
044493,000534:    6541           52162                           DXCH     MPAC       +5                         
044494,000535: 
044495,000536:    6542           44744        VMODE              CS       ONE                                   #  DECLARE VECTOR MODE.
044496,000537:    6543           16101                           TCF      NEWMODE                               
044497,000538: 

Page 1018

044499,000540:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE PROVIDED FOR STORING OPERANDS IN THE PUSHDOWN LIST:
044500,000541:                                                                                                  #           1.  PUSH               PUSHDOWN AND NO LOAD.
044501,000542:                                                                                                  #           2.  PDDL               PUSHDOWN AND DOUBLE PRECISION LOAD.
044502,000543:                                                                                                  #           3.  PDVL               PUSHDOWN AND VECTOR LOAD.
044503,000544: 
044504,000545:    6544           00006        PDDL               EXTEND                                         
044505,000546:    6545           50116                           INDEX    ADDRWD                                #  LOAD MPAC,+1, PUSHING THE FORMER
044506,000547:    6546           30001                           DCA      0                                     #  CONTENTS DOWN.
044507,000548:    6547           52155                           DXCH     MPAC                                  
044508,000549:    6550           50166                           INDEX    PUSHLOC                               
044509,000550:    6551           52001                           DXCH     0                                     
044510,000551: 
044511,000552:    6552           50163                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER APPRO-
044512,000553:    6553           36265                           CAF      NO.WDS                                #  PRIATELY.
044513,000554:    6554           26166                           ADS      PUSHLOC                               
044514,000555: 
044515,000556:    6555           10163                           CCS      MODE                                  
044516,000557:    6556           16573                           TCF      ENDTPUSH                              
044517,000558:    6557           16571                           TCF      ENDDPUSH                              
044518,000559: 
044519,000560:    6560           54163                           TS       MODE                                  #  NOW DP.
044520,000561:    6561           54156        ENDVPUSH           TS       MPAC       +2                         
044521,000562:    6562           52160                           DXCH     MPAC       +3                         #  PUSH DOWN THE REST OF THE VECTOR HERE.
044522,000563:    6563           50166                           INDEX    PUSHLOC                               
044523,000564:    6564           51775                           DXCH     0          -4                         
044524,000565: 
044525,000566:    6565           52162                           DXCH     MPAC       +5                         
044526,000567:    6566           50166                           INDEX    PUSHLOC                               
044527,000568:    6567           51777                           DXCH     0          -2                         
044528,000569: 
044529,000570:    6570           16102                           TCF      DANZIG                                
044530,000571: 
044531,000572:    6571           54156        ENDDPUSH           TS       MPAC       +2                         #  SET MPAC +2 TO ZERO AND EXIT ON DP.
044532,000573:    6572           16102                           TCF      DANZIG                                
044533,000574: 
044534,000575:    6573           54163        ENDTPUSH           TS       MODE                                  
044535,000576:    6574           56156                           XCH      MPAC       +2                         #  ON TRIPLE, SET MPAC +2 TO ZERO, PUSHING
044536,000577:    6575           50166                 +2        INDEX    PUSHLOC                               #  DOWN THE OLD CONTENTS
044537,000578:    6576           53777                           TS       0          -1                         
044538,000579:    6577           16102                           TCF      DANZIG                                
044539,000580: 

Page 1019

044541,000582:                                                                                                  #           PDVL - PUSHDOWN AND VECTOR LOAD.
044542,000583: 
044543,000584:    6600           00006        PDVL               EXTEND                                         #  RELOAD MPAC AND PUSH DOWN ITS CONTENTS.
044544,000585:    6601           50116                           INDEX    ADDRWD                                
044545,000586:    6602           30001                           DCA      0                                     
044546,000587:    6603           52155                           DXCH     MPAC                                  
044547,000588:    6604           50166                           INDEX    PUSHLOC                               
044548,000589:    6605           52001                           DXCH     0                                     
044549,000590: 
044550,000591:    6606           50163                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER.
044551,000592:    6607           36265                           CAF      NO.WDS                                
044552,000593:    6610           26166                           ADS      PUSHLOC                               
044553,000594: 
044554,000595:    6611           10163                           CCS      MODE                                  #  TEST PAST MODE.
044555,000596:    6612           16631                           TCF      TPDVL                                 
044556,000597:    6613           16532                           TCF      ENDVLOAD                              #  JUST LOAD LAST FOUR REGISTERS ON DP.
044557,000598: 
044558,000599:    6614           00006        VPDVL              EXTEND                                         #  PUSHDOWN AND RE-LOAD LAST TWO COMPONENTS
044559,000600:    6615           50116                           INDEX    ADDRWD                                
044560,000601:    6616           30003                           DCA      2                                     
044561,000602:    6617           52160                           DXCH     MPAC       +3                         
044562,000603:    6620           50166                           INDEX    PUSHLOC                               
044563,000604:    6621           51775                           DXCH     0          -4                         
044564,000605: 
044565,000606:    6622           00006                           EXTEND                                         
044566,000607:    6623           50116                           INDEX    ADDRWD                                
044567,000608:    6624           30005                           DCA      4                                     
044568,000609:    6625           52162                           DXCH     MPAC       +5                         
044569,000610:    6626           50166                           INDEX    PUSHLOC                               
044570,000611:    6627           51777                           DXCH     0          -2                         
044571,000612: 
044572,000613:    6630           16102                           TCF      DANZIG                                
044573,000614: 
044574,000615:    6631           00006        TPDVL              EXTEND                                         #  ON TP, WE MUST LOAD THE Y COMPONENT
044575,000616:    6632           50116                           INDEX    ADDRWD                                #  BEFORE STORING MPAC +2 INCASE THIS IS A
044576,000617:    6633           30003                           DCA      2                                     #  PUSHUP.
044577,000618:    6634           52160                           DXCH     MPAC       +3                         
044578,000619: 
044579,000620:    6635           30156                           CA       MPAC       +2                         
044580,000621:    6636           50166                           INDEX    PUSHLOC                               #  IN DP.
044581,000622:    6637           53777                           TS       0          -1                         
044582,000623:    6640           16536                           TCF      ENDVLOAD   +4                         
044583,000624: 
044584,000625:                                                                                                  #           SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.
044585,000626: 
044586,000627:    6641           24164        SSP                INCR     LOC                                   #  PICK UP THE WORD FOLLOWING THE GIVEN
044587,000628:    6642           50164                           INDEX    LOC                                   #  ADDRESS AND STORE IT AT X.
044588,000629:    6643           30000                           CA       0                                     
044589,000630:    6644           50116        STORE1             INDEX    ADDRWD                                #  SOME INDEX AND MISCELLANEOUS OPS END
044590,000631:    6645           54000                           TS       0                                     #  HERE.

Page 1020

044592,000633:    6646           16102                           TCF      DANZIG                                
044593,000634: 

Page 1021

044595,000636:                                                                                                  #  SEQUENCE CHANGING AND SUBROUTINE CALLING OPTIONS.
044596,000637: 
044597,000638:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR SEQUENCING CHANGING, BRANCHING, AND CALLING SUBROUTINES:
044598,000639: 
044599,000640:                                                                                                  #           1.  GOTO               GO TO.
044600,000641:                                                                                                  #           2.  CALL               CALL SUBROUTINE SETTING QPRET.
044601,000642:                                                                                                  #           3.  CGOTO              COMPUTED GO TO.
044602,000643:                                                                                                  #           4.  CCALL              COMPUTED CALL.
044603,000644:                                                                                                  #           7.  BPL                BRANCH IF MPAC POSITIVE OR ZERO.
044604,000645:                                                                                                  #           8.  BZE                BRANCH IF MPAC ZERO.
044605,000646:                                                                                                  #           9.  BMN                BRANCH IF MPAC NEGATIVE NON-ZERO.
044606,000647: 
044607,000648:    6647           24164        CCALL              INCR     LOC                                   #  MAINTAIN LOC FOR QPRET COMPUTATION.
044608,000649:    6650           50164                           INDEX    LOC                                   
044609,000650:    6651           30000                           CAF      0                                     #  GET BASE ADDRESS OF CADR LIST.
044610,000651:    6652           50116                           INDEX    ADDRWD                                
044611,000652:    6653           60000                           AD       0                                     #  ADD INCREMENT.
044612,000653:    6654           54004                           TS       FBANK                                 #  SELECT DESIRED CADR.
044613,000654:    6655           75003                           MASK     LOW10                                 
044614,000655:    6656           50000                           INDEX    A                                     
044615,000656:    6657           32000                           CAF      10000                                 
044616,000657:    6660           54117                           TS       POLISH                                
044617,000658: 
044618,000659:    6661           30165        CALL               CA       BANKSET                               #  FOR ANY OF THE CALL OPTIONS, MAKE UP THE
044619,000660:    6662           74341                           MASK     BANKMASK                              #  ADDRESS OF THE NEXT OP-CODE PAIR/STORE
044620,000661:    6663           64341                           AD       BANKMASK                              #  CODE AND LEAVE IT IN QPRET.  NOTE THAT
044621,000662:    6664           60164                           AD       LOC                                   #  BANKMASK = -(2000 - 1).
044622,000663:    6665           50120                           INDEX    FIXLOC                                
044623,000664:    6666           54052                           TS       QPRET                                 
044624,000665: 
044625,000666:    6667           30117        GOTO               CA       POLISH                                #  BASIC BRANCHING SEQUENCE.
044626,000667:    6670           77763                 +1        MASK     HIGH4                                 
044627,000668:    6671           00006                           EXTEND                                         
044628,000669:    6672           16703                           BZF      GOTOERS                               #  SEE IF ADDRESS POINTS TO FIXED OR ERAS.
044629,000670:    6673           30165                 +4        CA       BANKSET                               #  SET EBANK PART OF BBANK. NEXT, SET UP
044630,000671:    6674           54006                           TS       BBANK                                 #  FBANK. THE COMBINATION IS PICKED UP &
044631,000672:    6675           30117                           CA       POLISH                                #  PUT INTO BANKSET AT INTPRET +2.
044632,000673:    6676           54004                           TS       FBANK                                 
044633,000674:    6677           75003                           MASK     LOW10                                 
044634,000675:    6700           64732                           AD       2K                                    
044635,000676:    6701           54164                           TS       LOC                                   
044636,000677:    6702           16063                           TCF      INTPRET    +3                         
044637,000678: 
044638,000679:    6703  E3,1400                                  EBANK=   1400                                  #  SO YUL DOESN'T CUSS THE "CA 1400" BELOW.
044639,000680: 
044640,000681:    6703           30117        GOTOERS            CA       POLISH                                #  THE GIVEN ADDRESS IS IN ERASABLE - SEE
044641,000682:    6704           66272                           AD       -ENDVAC                               #  IF RELATIVE TO THE WORK AREA.
044642,000683:    6705           10000                           CCS      A                                     
044643,000684:    6706           30117                           CA       POLISH                                #  GENERAL ERASABLE.
044644,000685:    6707           16716                           TCF      GOTOGE                                
044645,000686: 

Page 1022

044647,000688:    6710           30120                           CA       FIXLOC                                #  WORK AREA.
044648,000689:    6711           60117                           AD       POLISH                                
044649,000690:    6712           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
044650,000691:    6713           30000                           CA       0                                     #  THE BRANCH ADDRESS.
044651,000692:    6714           54117                           TS       POLISH                                
044652,000693:    6715           16670                           TCF      GOTO       +1                         #  ALLOWS ARBITRARY INDIRECTNESS LEVELS.
044653,000694: 
044654,000695:    6716           54003        GOTOGE             TS       EBANK                                 
044655,000696:    6717           74350                           MASK     LOW8                                  
044656,000697:    6720           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
044657,000698:    6721           31400                           CA       1400                                  #  THE BRANCH ADDRESS.
044658,000699:    6722           54117                           TS       POLISH                                
044659,000700:    6723           16670                           TCF      GOTO       +1                         
044660,000701: 
044661,000702:    6724           50164        CGOTO              INDEX    LOC                                   #  COMPUTED GO TO. PICK UP ADDRESS OF CADR
044662,000703:    6725           30001                           CA       1                                     #  LIST.
044663,000704:    6726           50116                           INDEX    ADDRWD                                #  ADD MODIFIER.
044664,000705:    6727           60000                           AD       0                                     
044665,000706:    6730           54004                           TS       FBANK                                 #  SELECT GOTO ADDRESS.
044666,000707:    6731           75003                           MASK     LOW10                                 
044667,000708:    6732           50000                           INDEX    A                                     
044668,000709:    6733           32000                           CA       10000                                 
044669,000710:    6734           54117                           TS       POLISH                                
044670,000711:    6735           16670                           TCF      GOTO       +1                         #  WITH ADDRESS IN A.
044671,000712: 
044672,000713:    6736           30165        SWBRANCH           CA       BANKSET                               #  SWITCH INSTRUCTIONS WHICH ELECT TO
044673,000714:    6737           54004                           TS       FBANK                                 #  BRANCH COME HERE TO DO SO.
044674,000715:    6740           50164                           INDEX    LOC                                   
044675,000716:    6741           30001                           CA       1                                     
044676,000717:    6742           54117                           TS       POLISH                                
044677,000718:    6743           16670                           TCF      GOTO       +1                         
044678,000719: 

Page 1023

044680,000721:                                                                                                  #           TRIPLE PRECISION BRANCHING ROUTINE. IF CALLING TC IS AT L, RETURN IS AS FOLLOWS:
044681,000722: 
044682,000723:                                                                                                  #           L+1  IF MPAC IS GREATER THAN ZERO.
044683,000724:                                                                                                  #           L+2  IF MPAC IS EQUAL TO +0 OR -0.
044684,000725:                                                                                                  #           L+3  IF MPAC IS LESS THAN ZERO.
044685,000726: 
044686,000727:    6744           10154        BRANCH             CCS      MPAC                                  
044687,000728:    6745           00002                           TC       Q                                     
044688,000729:    6746           16750                           TCF      +2                                    #  ON ZERO.
044689,000730:    6747           16762                           TCF      NEG                                   
044690,000731: 
044691,000732:    6750           10155                           CCS      MPAC       +1                         
044692,000733:    6751           00002                           TC       Q                                     
044693,000734:    6752           16754                           TCF      +2                                    
044694,000735:    6753           16762                           TCF      NEG                                   
044695,000736: 
044696,000737:    6754           10156                           CCS      MPAC       +2                         
044697,000738:    6755           00002                           TC       Q                                     
044698,000739:    6756           16760                           TCF      +2                                    
044699,000740:    6757           16762                           TCF      NEG                                   
044700,000741: 
044701,000742:    6760           50002        Q+1                INDEX    Q                                     
044702,000743:    6761           00001                           TC       1                                     
044703,000744: 
044704,000745:    6762           50002        NEG                INDEX    Q                                     #  IF FIRST NON-ZERO REGISTER WAS NEGATIVE.
044705,000746:    6763           00002                           TC       2                                     
044706,000747: 
044707,000748: 
044708,000749:    6764     6762               Q+2                =        NEG                                   
044709,000750: 
044710,000751:                                                                                                  #           ITRACE (3) REFERS TO "EXIT".
044711,000752:    6764           30165        EXIT               CA       BANKSET                               #  RESTORE USER'S BANK SETTING, AND LEAVE
044712,000753:    6765           54006                           TS       BBANK                                 #  INTERPRETIVE MODE.
044713,000754:    6766           50164                           INDEX    LOC                                   
044714,000755:    6767           00001                           TC       1                                     
044715,000756: 

Page 1024

044717,000758:                                                                                                  #  SECTION 3 - ADD/SUBTRACT PACKAGE.
044718,000759: 
044719,000760:                                                                                                  #           THE FOLLOWING OPERATIONS ARE PROVIDED FOR ADDING TO AND SUBTRACTING FROM THE MULTI-PURPOSE ACCUMULATOR
044720,000761:                                                                                                  #  MPAC:
044721,000762: 
044722,000763:                                                                                                  #           1.  DAD                DOUBLE PRECISION ADD.
044723,000764:                                                                                                  #           2.  DSU                DOUBLE PRECISION SUBTRACT.
044724,000765:                                                                                                  #           3.  BDSU               DOUBLE PRECISION SUBTRACT FROM.
044725,000766: 
044726,000767:                                                                                                  #           4.  TAD                TRIPLE PRECISION ADD.
044727,000768: 
044728,000769:                                                                                                  #           5.  VAD                VECTOR ADD.
044729,000770:                                                                                                  #           6.  VSU                VECTOR SUBTRACT.
044730,000771:                                                                                                  #           7.  BVSU               VECTOR SUBTRACT FROM.
044731,000772: 
044732,000773:                                                                                                  #  THE INTERPRETIVE OVERFLOW INDICATOR OVFIND IS SET NON-ZERO IF OVERFLOW OCCURS IN ANY OF THE ABOVE.
044733,000774: 
044734,000775:    6770           34726        VSU                CAF      BIT15                                 #  CHANGES 0 TO DCS.
044735,000776:    6771           16773                           TCF      +2                                    
044736,000777: 
044737,000778:    6772           34346        VAD                CAF      PRIO30                                #  CHANGES 0 TO DCA.
044738,000779:    6773           26116                           ADS      ADDRWD                                
044739,000780:    6774           00006                           EXTEND                                         
044740,000781:    6775           50116                           INDEX    ADDRWD                                
044741,000782:    6776           00003                           READ     HISCALAR                              #  DCA  2   OR   DCS  2
044742,000783:    6777           20160                           DAS      MPAC       +3                         
044743,000784:    7000           00006                           EXTEND                                         #  CHECK OVERFLOW.
044744,000785:    7001           17003                           BZF      +2                                    
044745,000786:    7002           07035                           TC       OVERFLWY                              
044746,000787: 
044747,000788:    7003           00006                           EXTEND                                         
044748,000789:    7004           50116                           INDEX    ADDRWD                                
044749,000790:    7005           00005                           READ     CHAN5                                 #  DCA  4  OR  DCS  4
044750,000791:    7006           20162                           DAS      MPAC       +5                         
044751,000792:    7007           00006                           EXTEND                                         
044752,000793:    7010           17012                           BZF      +2                                    
044753,000794:    7011           07032                           TC       OVERFLWZ                              
044754,000795: 
044755,000796:    7012           00006                           EXTEND                                         
044756,000797:    7013           50116                           INDEX    ADDRWD                                
044757,000798:    7014           00001                           READ     LCHAN                                 #  DCA  0  OR  DCS  0
044758,000799:    7015           17021                           TCF      ENDVXV                                
044759,000800: 
044760,000801:    7016           00006        DAD                EXTEND                                         
044761,000802:    7017           50116                           INDEX    ADDRWD                                
044762,000803:    7020           30001                           DCA      0                                     
044763,000804:    7021           20155        ENDVXV             DAS      MPAC                                  #  VXV FINISHES HERE.
044764,000805:    7022           00006                           EXTEND                                         
044765,000806:    7023           16102                           BZF      DANZIG                                
044766,000807: 

Page 1025

044768,000809:    7024           07040        SETOVF             TC       OVERFLOW                              
044769,000810:    7025           16102                           TCF      DANZIG                                
044770,000811: 

Page 1026

044772,000813:    7026           00006        DSU                EXTEND                                         
044773,000814:    7027           50116                           INDEX    ADDRWD                                
044774,000815:    7030           40001                           DCS      0                                     
044775,000816:    7031           17021                           TCF      ENDVXV                                
044776,000817: 
044777,000818:    7032           54001        OVERFLWZ           TS       L                                     #  ENTRY FOR THIRD COMPONENT.
044778,000819:    7033           34747                           CAF      FIVE                                  
044779,000820:    7034           17037                           TCF      +3                                    
044780,000821: 
044781,000822:    7035           54001        OVERFLWY           TS       L                                     #  ENTRY FOR SECOND COMPONENT.
044782,000823:    7036           36266                           CAF      THREE                                 
044783,000824:    7037           56001                           XCH      L                                     
044784,000825: 
044785,000826:    7040           50000        OVERFLOW           INDEX    A                                     #  ENTRY FOR 1ST COMP OR DP (L=0).
044786,000827:    7041           44725                           CS       LIMITS                                #  PICK UP POSMAX OR NEGMAX.
044787,000828:    7042           54130                           TS       BUF                                   
044788,000829:    7043           00006                           EXTEND                                         
044789,000830:    7044           24000                           AUG      A                                     #  FORCE OVERFLOW.
044790,000831:    7045           50001                           INDEX    L                                     
044791,000832:    7046           26155                           ADS      MPAC       +1                         
044792,000833:    7047           54007                           TS       7                                     
044793,000834:    7050           34746                           CAF      ZERO                                  
044794,000835:    7051           60130                           AD       BUF                                   
044795,000836:    7052           50001                           INDEX    L                                     
044796,000837:    7053           26154                           ADS      MPAC                                  
044797,000838:    7054           54007                           TS       7                                     
044798,000839:    7055           00002                           TC       Q                                     #  NO OVERFLOW EXIT.
044799,000840:    7056           17173                           TCF      SETOVF2                               #  SET OVFIND AND EXIT.
044800,000841: 
044801,000842:    7057           00006        BVSU               EXTEND                                         
044802,000843:    7060           50116                           INDEX    ADDRWD                                
044803,000844:    7061           30003                           DCA      2                                     
044804,000845:    7062           52160                           DXCH     MPAC       +3                         
044805,000846:    7063           00006                           EXTEND                                         
044806,000847:    7064           40001                           DCOM                                           
044807,000848:    7065           20160                           DAS      MPAC       +3                         
044808,000849:    7066           00006                           EXTEND                                         
044809,000850:    7067           17071                           BZF      +2                                    
044810,000851:    7070           07035                           TC       OVERFLWY                              
044811,000852: 
044812,000853:    7071           00006                           EXTEND                                         
044813,000854:    7072           50116                           INDEX    ADDRWD                                
044814,000855:    7073           30005                           DCA      4                                     
044815,000856:    7074           52162                           DXCH     MPAC       +5                         
044816,000857:    7075           00006                           EXTEND                                         
044817,000858:    7076           40001                           DCOM                                           
044818,000859:    7077           20162                           DAS      MPAC       +5                         
044819,000860:    7100           00006                           EXTEND                                         
044820,000861:    7101           17103                           BZF      +2                                    
044821,000862:    7102           07032                           TC       OVERFLWZ                              
044822,000863: 

Page 1027

044824,000865:    7103           00006        BDSU               EXTEND                                         
044825,000866:    7104           50116                           INDEX    ADDRWD                                
044826,000867:    7105           30001                           DCA      0                                     
044827,000868:    7106           52155                           DXCH     MPAC                                  
044828,000869:    7107           00006                           EXTEND                                         
044829,000870:    7110           40001                           DCOM                                           
044830,000871:    7111           17021                           TCF      ENDVXV                                
044831,000872: 

Page 1028

044833,000874:                                                                                                  #           TRIPLE PRECISION ADD ROUTINE.
044834,000875: 
044835,000876:    7112           00006        TAD                EXTEND                                         
044836,000877:    7113           50116                           INDEX    ADDRWD                                
044837,000878:    7114           30002                           DCA      1                                     #  ADD MINOR PARTS FIRST.
044838,000879:    7115           20156                           DAS      MPAC       +1                         
044839,000880:    7116           50116                           INDEX    ADDRWD                                
044840,000881:    7117           60000                           AD       0                                     
044841,000882:    7120           60154                           AD       MPAC                                  
044842,000883:    7121           54154                           TS       MPAC                                  
044843,000884:    7122           16102                           TCF      DANZIG                                
044844,000885: 
044845,000886:    7123           17024                           TCF      SETOVF                                #  SET OVFIND IF SUCH OCCURS.
044846,000887: 

Page 1029

044848,000889:                                                                                                  #  ARITHMETIC SUBROUTINES REQUIRED IN FIXED-FIXED.
044849,000890: 
044850,000891:                                                                                                  #           1.  DMPSUB     DOUBLE PRECISION MULTIPLY. MULTIPLY THE CONTENTS OF MPAC,+1 BY THE DP WORD WHOSE ADDRESS
044851,000892:                                                                                                  #                          IS IN ADDRWD AND LEAVE A TRIPLE PRECISION RESULT IN MPAC.
044852,000893:                                                                                                  #           2.  ROUNDSUB   ROUND THE TRIPLE PRECISON CONTENTS OF MPAC TO DOUBLE PRECISION.
044853,000894:                                                                                                  #           3.  DOTSUB     TAKE THE DOT PRODUCT OF THE VECTOR IN MPAC AND THE VECTOR WHOSE ADDRESS IS IN ADDRWD
044854,000895:                                                                                                  #                          AND LEAVE THE TRIPLE PRECISION RESULT IN MPAC.
044855,000896:                                                                                                  #           4.  POLY       USING THE CONTENTS OF MPAC AS A DP ARGUMENT, EVALUATE THE POLYNOMIAL WHOSE DEGREE AND
044856,000897:                                                                                                  #                          COEFFICIENTS IMMEDIATELY FOLLOW THE TC POLY INSTRUCTION (SEE ROUTINE FOR DETAILS.)
044857,000898: 
044858,000899: 
044859,000900:    7124           50002        DMP                INDEX    Q                                     #  BASIC SUBROUTINE FOR USE BY PINBALL, ETC
044860,000901:    7125           30000                           CAF      0                                     #  ADRES OF ARGUMENT FOLLOWS  TC DMP  .
044861,000902:    7126           24002                           INCR     Q                                     
044862,000903:    7127           54116                 -1        TS       ADDRWD                                #  (PROLOGUE FOR SETTING ADDRWD.)
044863,000904: 
044864,000905:    7130           50116        DMPSUB             INDEX    ADDRWD                                #  GET MINOR PART OF OPERAND AT C(ADDRWD).
044865,000906:    7131           30001                           CA       1                                     
044866,000907:    7132           54156                           TS       MPAC       +2                         #  THIS WORKS FOR SQUARING MPAC AS WELL.
044867,000908:    7133           34746                           CAF      ZERO                                  #  SET MPAC +1 TO ZERO SO WE CAN ACCUMULATE
044868,000909:    7134           56155                           XCH      MPAC       +1                         #  THE PARTIAL PRODUCTS WITH DAS
044869,000910:    7135           54135                           TS       MPTEMP                                #  INSTRUCTIONS.
044870,000911:    7136           00006                           EXTEND                                         
044871,000912:    7137           70156                           MP       MPAC       +2                         #  MINOR OF MPAC X MINOR OF C(ADDRWD).
044872,000913: 
044873,000914:    7140           56156                           XCH      MPAC       +2                         #  DISCARD MINOR PART OF ABOVE RESULT AND
044874,000915:    7141           00006                           EXTEND                                         #  FORM MAJOR OF MPAC X MINOR OF C(ADDRWD).
044875,000916:    7142           70154                           MP       MPAC                                  
044876,000917:    7143           20156                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
044877,000918: 
044878,000919:    7144           50116                           INDEX    ADDRWD                                #  GET MAJOR PART OF ARGUMENT AT C(ADDRWD).
044879,000920:    7145           30000                           CA       0                                     
044880,000921:    7146           56135                           XCH      MPTEMP                                #  SAVE AND BRING OUT MINOR OF MPAC.
044881,000922:    7147           00006        DMPSUB2            EXTEND                                         
044882,000923:    7150           70135                           MP       MPTEMP                                #  MAJOR OF C(ADDRWD) X MINOR OF MPAC.
044883,000924:    7151           20156                           DAS      MPAC       +1                         #  ACCUMULATE, SETTING A TO NET OVERFLOW.
044884,000925: 
044885,000926:    7152           56154                           XCH      MPAC                                  #  SETTING MPAC TO 0 OR +-1.
044886,000927:    7153           00006                           EXTEND                                         
044887,000928:    7154           70135                           MP       MPTEMP                                #  MAJOR OF MPAC X MAJOR OF C(ADDRWD).
044888,000929:    7155           20155                           DAS      MPAC                                  #  GUARANTEED NO OVERFLOW.
044889,000930:    7156           00002                           TC       Q                                     #  49 MCT = .573 MS. INCLUDING RETURN.
044890,000931: 

Page 1030

044892,000933:                                                                                                  #           ROUND MPAC TO DOUBLE PRECISION, SETTING OVFIND ON THE RARE EVENT OF OVERFLOW.
044893,000934: 
044894,000935:    7157           34746        ROUNDSUB           CAF      ZERO                                  #  SET MPAC +2 = 0 FOR SCALARS AND CHANGE
044895,000936:    7160           54163                 +1        TS       MODE                                  #  MODE TO DP.
044896,000937: 
044897,000938:    7161           56156        VROUND             XCH      MPAC       +2                         #  BUT WE NEEDNT TAKE THE TIME FOR VECTORS.
044898,000939:    7162           60000                           DOUBLE                                         
044899,000940:    7163           54001                           TS       L                                     
044900,000941:    7164           00002                           TC       Q                                     
044901,000942: 
044902,000943:    7165           60155                           AD       MPAC       +1                         #  ADD ROUNDING BIT IF MPAC +2 WAS GREATER
044903,000944:    7166           54155                           TS       MPAC       +1                         #  THAN .5 IN MAGNITUDE.
044904,000945:    7167           00002                           TC       Q                                     
044905,000946: 
044906,000947:    7170           60154                           AD       MPAC                                  #  PROPAGATE INTERFLOW.
044907,000948:    7171           54154                           TS       MPAC                                  
044908,000949:    7172           00002                           TC       Q                                     
044909,000950: 
044910,000951:    7173           54121        SETOVF2            TS       OVFIND                                #  (RARE).
044911,000952:    7174           00002                           TC       Q                                     
044912,000953: 

Page 1031

044914,000955:                                                                                                  #           THE DOT PRODUCT SUBROUTINE USUALLY FORMS THE DOT PRODUCT OF THE VECTOR IN MPAC WITH A STANDARD SIX
044915,000956:                                                                                                  #  REGISTER VECTOR WHOSE ADDRESS IS IN ADDRWD. IN THIS CASE C(DOTINC) ARE SET TO 2. VXM, HOWEVER, SETS C(DOTINC) TO
044916,000957:                                                                                                  #  6 SO THAT DOTSUB DOTS MPAC WITH A COLUMN VECTOR OF THE MATRIX IN QUESTION IN THIS CASE.
044917,000958: 
044918,000959:    7175           34743        PREDOT             CAF      TWO                                   #  PROLOGUE TO SET DOTINC TO 2.
044919,000960:    7176           54136                           TS       DOTINC                                
044920,000961: 
044921,000962:    7177           00006        DOTSUB             EXTEND                                         
044922,000963:    7200           22137                           QXCH     DOTRET                                #  SAVE RETURN.
044923,000964:    7201           07130                           TC       DMPSUB                                #  DOT X COMPONENTS.
044924,000965:    7202           52160                           DXCH     MPAC       +3                         #  POSITION Y COMPONENT OF MPAC FOR
044925,000966:    7203           52155                           DXCH     MPAC                                  #  MULTIPLICATION WHILE SAVING RESULT IN
044926,000967:    7204           52131                           DXCH     BUF                                   #  THREE WORD BUFFER, BUF.
044927,000968:    7205           30156                           CA       MPAC       +2                         
044928,000969:    7206           54132                           TS       BUF        +2                         
044929,000970: 
044930,000971:    7207           30136                           CA       DOTINC                                #  ADVANCE ADDRWD TO Y COMPONENT OF
044931,000972:    7210           26116                           ADS      ADDRWD                                #  OTHER ARGUMENT.
044932,000973:    7211           07130                           TC       DMPSUB                                
044933,000974:    7212           52156                           DXCH     MPAC       +1                         #  ACCUMULATE PARTIAL PRODUCTS.
044934,000975:    7213           20132                           DAS      BUF        +1                         
044935,000976:    7214           60154                           AD       MPAC                                  
044936,000977:    7215           60130                           AD       BUF                                   
044937,000978:    7216           54130                           TS       BUF                                   
044938,000979:    7217           17221                           TCF      +2                                    
044939,000980:    7220           54121                           TS       OVFIND                                #  IF OVERFLOW OCCURS.
044940,000981: 
044941,000982:    7221           52162                           DXCH     MPAC       +5                         #  MULTIPLY Z COMPONENTS.
044942,000983:    7222           52155                           DXCH     MPAC                                  
044943,000984:    7223           30136                           CA       DOTINC                                
044944,000985:    7224           26116                           ADS      ADDRWD                                
044945,000986:    7225           07130                           TC       DMPSUB                                
044946,000987:    7226           52132        ENDDOT             DXCH     BUF        +1                         #  LEAVE FINAL ACCUMULATION IN MPAC.
044947,000988:    7227           20156                           DAS      MPAC       +1                         
044948,000989:    7230           60154                           AD       MPAC                                  
044949,000990:    7231           60130                           AD       BUF                                   
044950,000991:    7232           54154                           TS       MPAC                                  
044951,000992:    7233           00137                           TC       DOTRET                                
044952,000993: 
044953,000994:    7234           07040                           TC       OVERFLOW                              #  ON OVERFLOW HERE.
044954,000995:    7235           00137                           TC       DOTRET                                
044955,000996: 

Page 1032

044957,000998:                                                                                                  #  DOUBLE PRECISION POLYNOMIAL EVALUATOR
044958,000999: 
044959,001000:                                                                                                  #                                     N        N-1
044960,001001:                                                                                                  #           THIS ROUTINE EVALUATES A X  + A   X    + ... + A X + A  LEAVING THE DP RESULT IN MPAC ON EXIT.
044961,001002:                                                                                                  #                                   N      N-1              1     0
044962,001003: 
044963,001004:                                                                                                  #  THE ROUTINE HAS TWO ENTRIES
044964,001005: 
044965,001006:                                                                                                  #           1. ENTRY THRU POWRSERS. THE COEFFICIENTS MAY BE EITHER IN FIXED OR ERASABLE, THE CALL IS BY
044966,001007:                                                                                                  #              TC POWRSERS, AND THE RETURN IS TO LOC(TC POWRSERS)+1. THE ENTERING DATA MUST BE AS FOLLOWS
044967,001008: 
044968,001009:                                                                                                  #                                          A        SP     LOC-3           ADDRESS FOR REFERENCING COEF TABLE
044969,001010:                                                                                                  #                                          L        SP     N-1             N IS THE DEGREE OF THE POWER SERIES
044970,001011:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
044971,001012: 
044972,001013:                                                                                                  #                                          LOC-2N   DP     A(0)
044973,001014:                                                                                                  #                                                   ...
044974,001015:                                                                                                  #                                          LOC      DP     A(N)
044975,001016: 
044976,001017:                                                                                                  #           2. ENTRY THRU POLY. THE CALL TO POLY AND THE ENTERING DATA MUST BE AS FOLLOWS
044977,001018: 
044978,001019:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
044979,001020: 
044980,001021:                                                                                                  #                                          LOC      TC     POLY
044981,001022:                                                                                                  #                                          LOC+1    SP     N-1
044982,001023:                                                                                                  #                                          LOC+2    DP     A(0)
044983,001024:                                                                                                  #                                                   ...
044984,001025:                                                                                                  #                                          LOC+2N+2 DP     A(N)            RETURN IS TO LOC+2N+4
044985,001026: 
044986,001027:    7236           00006        POWRSERS           EXTEND                                         
044987,001028:    7237           22141                           QXCH     POLYRET                               #  RETURN ADDRESS
044988,001029:    7240           54117                           TS       POLISH                                #  POWER SERIES ADDRESS
044989,001030:    7241           22140                           LXCH     POLYCNT                               #  N-1 TO COUNTER
044990,001031:    7242           17253                           TCF      POLYCOM                               #  SKIP SET UP BY POLY
044991,001032: 
044992,001033:    7243           50002        POLY               INDEX    Q                                     
044993,001034:    7244           30000                           CAF      0                                     
044994,001035:    7245           54140                           TS       POLYCNT                               #  N-1 TO COUNTER
044995,001036:    7246           60000                           DOUBLE                                         
044996,001037:    7247           60002                           AD       Q                                     
044997,001038:    7250           54117                           TS       POLISH                                #  L(A(N))-3 TO POLISH
044998,001039:    7251           64747                           AD       FIVE                                  
044999,001040:    7252           54141                           TS       POLYRET                               #  STORE RETURN ADDRESS
045000,001041: 
045001,001042:    7253           36314        POLYCOM            CAF      LVBUF                                 #  INCOMING X WILL BE MOVED TO VBUF, SO
045002,001043:    7254           54116                           TS       ADDRWD                                #  SET ADDRWD SO DMPSUB WILL MPY BY VBUF.
045003,001044: 
045004,001045:    7255           00006                           EXTEND                                         
045005,001046:    7256           50117                           INDEX    POLISH                                
045006,001047:    7257           30004                           DCA      3                                     
045007,001048: 

Page 1033

045009,001050:    7260           52155                           DXCH     MPAC                                  #  LOAD A(N) INTO MPAC,
045010,001051:    7261           52123                           DXCH     VBUF                                  #  SAVING X IN VBUF
045011,001052:    7262           17266                           TCF      POLY2                                 
045012,001053: 
045013,001054:    7263           54140        POLYLOOP           TS       POLYCNT                               #  SAVE DECREMENTED LOOP COUNTER
045014,001055:    7264           44743                           CS       TWO                                   
045015,001056:    7265           26117                           ADS      POLISH                                #  REGRESS COEFFICIENT POINTER
045016,001057: 
045017,001058:    7266           07130        POLY2              TC       DMPSUB                                #  MULTIPLY BY X
045018,001059:    7267           00006                           EXTEND                                         
045019,001060:    7270           50117                           INDEX    POLISH                                
045020,001061:    7271           30002                           DCA      1                                     #  ADD IN NEXT COEFFICIENT
045021,001062:    7272           20155                           DAS      MPAC                                  #  USERS RESPONSIBILITY TO ASSURE NO OVFLOW
045022,001063: 
045023,001064:    7273           10140                           CCS      POLYCNT                               
045024,001065:    7274           17263                           TCF      POLYLOOP                              
045025,001066:    7275           00141                           TC       POLYRET                               #  RETURN CALLER
045026,001067: 

Page 1034

045028,001069:                                                                                                  #           MISCELLANEOUS MULTI-PRECISION ROUTINES REQUIRED IN FIXED-FIXED BUT NOT USED BY THE INTERPRETER.
045029,001070: 
045030,001071:    7276           34746        DPAGREE            CAF      ZERO                                  #  DOUBLE PRECISION ENTRY -
045031,001072:    7277           54156                           TS       MPAC       +2                         #  ZERO LOW-ORDER WORD
045032,001073: 
045033,001074:    7300           22002        TPAGREE            LXCH     Q                                     #  FORCE SIGN AGREEMENT AMONG THE TRIPLE
045034,001075:    7301           06744                           TC       BRANCH                                #  PRECISION CONTENTS OF MPAC.  RETURNING
045035,001076:    7302           17306                           TCF      ARG+                                  #  WITH SIGNUM OF THE INPUT IN A.
045036,001077:    7303           17326                           TCF      ARGZERO                               
045037,001078: 
045038,001079:    7304           44724                           CS       POSMAX                                #  IF NEGATIVE.
045039,001080:    7305           17307                           TCF      +2                                    
045040,001081: 
045041,001082:    7306           34724        ARG+               CAF      POSMAX                                
045042,001083:    7307           54002                           TS       Q                                     
045043,001084:    7310           00006                           EXTEND                                         
045044,001085:    7311           24000                           AUG      A                                     #  FORMS +-1.0.
045045,001086:    7312           60156                           AD       MPAC       +2                         
045046,001087:    7313           54156                           TS       MPAC       +2                         
045047,001088:    7314           34746                           CAF      ZERO                                  
045048,001089:    7315           60002                           AD       Q                                     
045049,001090:    7316           60155                           AD       MPAC       +1                         
045050,001091:    7317           54155                           TS       MPAC       +1                         
045051,001092:    7320           34746                           CAF      ZERO                                  
045052,001093:    7321           60002                           AD       Q                                     #  Q STILL HAS POSMAX OR NEGMAX IN IT.
045053,001094:    7322           60154                           AD       MPAC                                  
045054,001095:    7323           54154        ARGZERO2           TS       MPAC                                  #  ALWAYS SKIPPING UNLESS ARGZERO.
045055,001096:    7324           54155                           TS       MPAC       +1                         
045056,001097:    7325           00001                           TC       L                                     #  RETURN VIA L.
045057,001098: 
045058,001099:    7326           54156        ARGZERO            TS       MPAC       +2                         #  SET ALL THREE MPAC REGISTERS TO ZERO.
045059,001100:    7327           17323                           TCF      ARGZERO2                              
045060,001101: 
045061,001102:                                                                                                  #           SHORTMP MULTIPLIES THE TP CONTENTS OF MPAC BY THE SINGLE PRECISION NUMBER ARRIVING IN A.
045062,001103: 
045063,001104:    7330           54135        SHORTMP            TS       MPTEMP                                
045064,001105:    7331           00006                           EXTEND                                         
045065,001106:    7332           70156                           MP       MPAC       +2                         
045066,001107:    7333           54156                           TS       MPAC       +2                         
045067,001108:    7334           34746        SHORTMP2           CAF      ZERO                                  #  SO SUBSEQUENT DAS WILL WORK.
045068,001109:    7335           56155                           XCH      MPAC       +1                         
045069,001110:    7336           17147                           TCF      DMPSUB2                               
045070,001111: 

At the bottom of the page is wrtten some code: CA EX MP DXCH CA HMEAS +1 EX MP .2SP DXCH L _ CA ZERO DXCH HMEAS EX MP .2SP DAS HMEAS _

045086,001127: 

Page 1035

045088,001129:                                                                                                  #         DMPNSUB MULTIPLIES THE DP FRACTION ARRIVING IN MPAC BY THE SP
045089,001130:                                                                                                  #  INTEGER ARRIVING IN A.  THE DP PRODUCT DEPARTS BOTH IN MPAC AND IN
045090,001131:                                                                                                  #  A AND L.  NOTE THAT DMPNSUB NORMALLY INCREASES THE MAGNITUDE OF THE
045091,001132:                                                                                                  #  CONTENTS OF MPAC.  THE CUSTOMER MUST INSURE THAT B(A) X B(MPAC,MPAC+1)
045092,001133:                                                                                                  #  AND B(A) X B(MPAC) ARE LESS THAN 1 IN MAGNITUDE, WHERE B, AS IS OBVIOUS,
045093,001134:                                                                                                  #  INDICATES THE ARRIVING CONTENTS.
045094,001135: 
045095,001136:    7337           54135        DMPNSUB            TS       DMPNTEMP                              
045096,001137:    7340           00006                           EXTEND                                         
045097,001138:    7341           70155                           MP       MPAC       +1                         
045098,001139:    7342           52155                           DXCH     MPAC                                  #  LOW PRODUCT TO MPAC, HIGH FACTOR TO A
045099,001140:    7343           00006                           EXTEND                                         
045100,001141:    7344           70135                           MP       DMPNTEMP                              
045101,001142:    7345           30001                           CA       L                                     
045102,001143:    7346           26154                           ADS      MPAC                                  #  COMPLETING THE PRODUCT IN MPAC
045103,001144:    7347           00006                           EXTEND                                         
045104,001145:    7350           30155                           DCA      MPAC                                  #  BRINGING THE PRODUCT INTO A AND L
045105,001146:    7351           00002                           TC       Q                                     
045106,001147: 

Page 1036

045108,001149:                                                                                                  #  MISCELLANEOUS VECTOR OPERATIONS. INCLUDED HERE ARE THE FOLLOWING:
045109,001150: 
045110,001151:                                                                                                  #           1.  DOT                DP VECTOR DOT PRODUCT.
045111,001152:                                                                                                  #           2.  VXV                DP VECTOR CROSS PRODUCT.
045112,001153:                                                                                                  #           3.  VXSC               DP VECTOR TIMES SCALAR.
045113,001154:                                                                                                  #           4.  V/SC               DP VECTOR DIVIDED BY SCALAR.
045114,001155:                                                                                                  #           5.  VPROJ              DP VECTOR PROJECTION. ( (MPAC.X)MPAC ).
045115,001156:                                                                                                  #           6.  VXM                DP VECTOR POST-MULTIPLIED BY MATRIX.
045116,001157:                                                                                                  #           7.  MXV                DP VECTOR PRE-MULTIPLIED BY MATRIX.
045117,001158: 
045118,001159:    7352           07175        DOT                TC       PREDOT                                #  DO THE DOT PRODUCT AND EXIT, CHANGING
045119,001160:    7353           34746        DMODE              CAF      ZERO                                  #  THE MODE TO DP SCALAR.
045120,001161:    7354           16101                           TCF      NEWMODE                               
045121,001162: 
045122,001163: 
045123,001164:    7355           34743        MXV                CAF      TWO                                   #  SET UP MATINC AND DOTINC FOR ROW
045124,001165:    7356           54140                           TS       MATINC                                #  VECTORS.
045125,001166:    7357           17363                           TCF      VXM/MXV                               #  GO TO COMMON PORTION.
045126,001167: 
045127,001168:    7360           44354        VXM                CS       TEN                                   #  SET MATINC AND DOTINC TO REFER TO MATRIX
045128,001169:    7361           54140                           TS       MATINC                                #  AS THREE COLUMN VECTORS.
045129,001170:    7362           36263                           CAF      SIX                                   
045130,001171: 

Page 1037

045132,001173:                                                                                                  #           COMMON PORTION OF MXV AND VXM.
045133,001174: 
045134,001175:    7363           54136        VXM/MXV            TS       DOTINC                                
045135,001176:                                                                                                  #           ITRACE (2) REFERS TO "VXM/MXV".
045136,001177:    7364           07553                           TC       MPACVBUF                              #  SAVE VECTOR IN MPAC FOR FURTHER USE.
045137,001178: 
045138,001179:    7365           07177                           TC       DOTSUB                                #  GO DOT TO GET X COMPONENT OF ANSWER.
045139,001180:    7366           00006                           EXTEND                                         
045140,001181:    7367           30123                           DCA      VBUF                                  #  MOVE MPAC VECTOR BACK INTO MPAC, SAVING
045141,001182:    7370           52155                           DXCH     MPAC                                  #  NEW X COMPONENT IN BUF2.
045142,001183:    7371           52134                           DXCH     BUF2                                  
045143,001184:    7372           00006                           EXTEND                                         
045144,001185:    7373           30125                           DCA      VBUF       +2                         
045145,001186:    7374           52160                           DXCH     MPAC       +3                         
045146,001187:    7375           00006                           EXTEND                                         
045147,001188:    7376           30127                           DCA      VBUF       +4                         
045148,001189:    7377           52162                           DXCH     MPAC       +5                         
045149,001190:    7400           30140                           CA       MATINC                                #  INITIALIZE ADDRWD FOR NEXT DOT PRODUCT.
045150,001191:    7401           26116                           ADS      ADDRWD                                #  FORMS BASE ADDRESS OF NEXT COLUMN(ROW).
045151,001192: 
045152,001193:    7402           07177                           TC       DOTSUB                                
045153,001194:    7403           52123                           DXCH     VBUF                                  #  MOVE GIVEN VECTOR BACK TO MPAC, SAVING Y
045154,001195:    7404           52155                           DXCH     MPAC                                  #  COMPONENT OF ANSWER IN VBUF +2.
045155,001196:    7405           52125                           DXCH     VBUF       +2                         
045156,001197:    7406           52160                           DXCH     MPAC       +3                         
045157,001198:    7407           52127                           DXCH     VBUF       +4                         
045158,001199:    7410           52162                           DXCH     MPAC       +5                         
045159,001200:    7411           30140                           CA       MATINC                                #  FORM ADDRESS OF LAST COLUMN OR ROW.
045160,001201:    7412           26116                           ADS      ADDRWD                                
045161,001202: 
045162,001203:    7413           07177                           TC       DOTSUB                                
045163,001204:    7414           52134                           DXCH     BUF2                                  #  ANSWER NOW COMPLETE. PUT COMPONENTS INTO
045164,001205:    7415           52155                           DXCH     MPAC                                  #  PROPER MPAC REGISTERS.
045165,001206:    7416           52162                           DXCH     MPAC       +5                         
045166,001207:    7417           52125                           DXCH     VBUF       +2                         
045167,001208:    7420           52160                           DXCH     MPAC       +3                         
045168,001209:    7421           16102                           TCF      DANZIG                                #  EXIT.
045169,001210: 

Page 1038

045171,001212:                                                                                                  #           VXSC - VECTOR TIMES SCALAR.
045172,001213: 
045173,001214:    7422           10163        VXSC               CCS      MODE                                  #  TEST PRESENT MODE.
045174,001215:    7423           17451                           TCF      DVXSC                                 #  SEPARATE ROUTINE WHEN SCALAR IS IN MPAC.
045175,001216:    7424           17451                           TCF      DVXSC                                 
045176,001217: 
045177,001218:    7425           07130        VVXSC              TC       DMPSUB                                #  COMPUTE X COMPONENT
045178,001219:    7426           07161                           TC       VROUND                                #  AND ROUND IT.
045179,001220:    7427           52160                           DXCH     MPAC       +3                         #  PUT Y COMPONENT INTO MPAC SAVING MPAC IN
045180,001221:    7430           52155                           DXCH     MPAC                                  #  MPAC +3.
045181,001222:    7431           52160                           DXCH     MPAC       +3                         
045182,001223: 
045183,001224:    7432           07130                           TC       DMPSUB                                #  DO SAME FOR Y AND Z COMPONENTS.
045184,001225:    7433           07161                           TC       VROUND                                
045185,001226:    7434           52162                           DXCH     MPAC       +5                         
045186,001227:    7435           52155                           DXCH     MPAC                                  
045187,001228:    7436           52162                           DXCH     MPAC       +5                         
045188,001229: 
045189,001230:    7437           07130                           TC       DMPSUB                                
045190,001231:    7440           07161                           TC       VROUND                                
045191,001232:    7441           52155        VROTATEX           DXCH     MPAC                                  #  EXIT USED TO RESTORE MPAC AFTER THIS
045192,001233:    7442           52162                           DXCH     MPAC       +5                         #  TYPE OF ROTATION. CALLED BY VECTOR SHIFT
045193,001234:    7443           52160                           DXCH     MPAC       +3                         #  RIGHT, V/SC, ETC.
045194,001235:    7444           52155                           DXCH     MPAC                                  
045195,001236:    7445           16102                           TCF      DANZIG                                
045196,001237: 

Page 1039

045198,001239:                                                                                                  #           DP VECTOR PROJECTION ROUTINE.
045199,001240: 
045200,001241:    7446           07175        VPROJ              TC       PREDOT                                #  (MPAC.X)MPAC IS COMPUTED AND LEFT IN
045201,001242:    7447           44742                           CS       FOUR                                  #  MPAC. DO DOT AND FALL INTO DVXSC.
045202,001243:    7450           26116                           ADS      ADDRWD                                
045203,001244: 
045204,001245:                                                                                                  #           VXSC WHEN SCALAR ARRIVES IN MPAC AND VECTOR IS AT X.
045205,001246: 
045206,001247:    7451           00006        DVXSC              EXTEND                                         #  SAVE SCALAR IN MPAC +3 AND GET X
045207,001248:    7452           30155                           DCA      MPAC                                  #  COMPONENT OF ANSWER.
045208,001249:    7453           52160                           DXCH     MPAC       +3                         
045209,001250:    7454           07130                           TC       DMPSUB                                
045210,001251:    7455           07161                           TC       VROUND                                
045211,001252: 
045212,001253:    7456           34743                           CAF      TWO                                   #  ADVANCE ADDRWD TO Y COMPONENT OF X.
045213,001254:    7457           26116                           ADS      ADDRWD                                
045214,001255:    7460           00006                           EXTEND                                         
045215,001256:    7461           30160                           DCA      MPAC       +3                         #  PUT SCALAR BACK INTO MPAC AND SAVE
045216,001257:    7462           52155                           DXCH     MPAC                                  #  X RESULT IN MPAC +5.
045217,001258:    7463           52162                           DXCH     MPAC       +5                         
045218,001259:    7464           07130                           TC       DMPSUB                                
045219,001260:    7465           07161                           TC       VROUND                                
045220,001261: 
045221,001262:    7466           34743                           CAF      TWO                                   
045222,001263:    7467           26116                           ADS      ADDRWD                                #  TO Z COMPONENT.
045223,001264:    7470           52160                           DXCH     MPAC       +3                         #  BRING SCALAR BACK, PUTTING Y RESULT IN
045224,001265:    7471           52155                           DXCH     MPAC                                  #  THE PROPER PLACE.
045225,001266:    7472           52160                           DXCH     MPAC       +3                         
045226,001267:    7473           07130                           TC       DMPSUB                                
045227,001268:    7474           07161                           TC       VROUND                                
045228,001269: 
045229,001270:    7475           52155                           DXCH     MPAC                                  #  PUT Z COMPONENT IN PROPER PLACE, ALSO
045230,001271:    7476           52162                           DXCH     MPAC       +5                         #  POSITIONING X.
045231,001272:    7477           52155                           DXCH     MPAC                                  
045232,001273: 
045233,001274:    7500           16542                           TCF      VMODE                                 #  MODE HAS CHANGED TO VECTOR.
045234,001275: 

Page 1040

045236,001277:                                                                                                  #           THE VECTOR CROSS PRODUCT ROUTINE CALCULATES (X M -X M ,X M -X M ,X M -X M ) WHERE M IS THE VECTOR IN
045237,001278:                                                                                                  #                                                         3 2  2 3  1 3  3 1  2 1  1 2
045238,001279:                                                                                                  #  MPAC AND X THE VECTOR AT THE GIVEN ADDRESS.
045239,001280: 
045240,001281:    7501           00006        VXV                EXTEND                                         
045241,001282:    7502           30162                           DCA      MPAC       +5                         #  FORM UP M3X1, LEAVING M1 IN VBUF.
045242,001283:    7503           52155                           DXCH     MPAC                                  
045243,001284:    7504           52123                           DXCH     VBUF                                  
045244,001285:    7505           07130                           TC       DMPSUB                                #  BY X1.
045245,001286: 
045246,001287:    7506           00006                           EXTEND                                         
045247,001288:    7507           40160                           DCS      MPAC       +3                         #  CALCULATE -X1M2, SAVING X1M3 IN VBUF +2.
045248,001289:    7510           52155                           DXCH     MPAC                                  
045249,001290:    7511           52125                           DXCH     VBUF       +2                         
045250,001291:    7512           07130                           TC       DMPSUB                                
045251,001292: 
045252,001293:    7513           34743                           CAF      TWO                                   #  ADVANCE ADDRWD TO X2.
045253,001294:    7514           26116                           ADS      ADDRWD                                
045254,001295:    7515           00006                           EXTEND                                         
045255,001296:    7516           40162                           DCS      MPAC       +5                         #  PREPARE TO GET -X2M3, SAVING -X1M2 IN
045256,001297:    7517           52155                           DXCH     MPAC                                  #  MPAC +5.
045257,001298:    7520           52162                           DXCH     MPAC       +5                         
045258,001299:    7521           07130                           TC       DMPSUB                                
045259,001300: 
045260,001301:    7522           00006                           EXTEND                                         
045261,001302:    7523           30123                           DCA      VBUF                                  #  GET X2M1, SAVING -X2M3 IN VBUF +4.
045262,001303:    7524           52155                           DXCH     MPAC                                  
045263,001304:    7525           52127                           DXCH     VBUF       +4                         
045264,001305:    7526           07130                           TC       DMPSUB                                
045265,001306: 
045266,001307:    7527           34743                           CAF      TWO                                   #  ADVANCE ADDRWD TO X3.
045267,001308:    7530           26116                           ADS      ADDRWD                                
045268,001309:    7531           00006                           EXTEND                                         
045269,001310:    7532           40123                           DCS      VBUF                                  #  GET -X3M1, ADDING X2M1 TO MPAC +5 TO
045270,001311:    7533           52155                           DXCH     MPAC                                  #  COMPLETE THE Z COMPONENT OF THE ANSWER.
045271,001312:    7534           20162                           DAS      MPAC       +5                         
045272,001313: 
045273,001314:    7535           00006                           EXTEND                                         
045274,001315:    7536           17540                           BZF      +2                                    
045275,001316:    7537           07032                           TC       OVERFLWZ                              
045276,001317: 
045277,001318:    7540           07130                           TC       DMPSUB                                
045278,001319:    7541           52125                           DXCH     VBUF       +2                         #  MOVE X1M3 TO MPAC +3 SETTING UP FOR X3M2
045279,001320:    7542           52160                           DXCH     MPAC       +3                         #  AND ADD -X3M1 TO MPAC +3 TO COMPLETE THE
045280,001321:    7543           52155                           DXCH     MPAC                                  #  Y COMPONENT OF THE RESULT.
045281,001322:    7544           20160                           DAS      MPAC       +3                         
045282,001323: 
045283,001324:    7545           00006                           EXTEND                                         
045284,001325:    7546           17550                           BZF      +2                                    

Page 1041

045286,001327:    7547           07035                           TC       OVERFLWY                              
045287,001328: 
045288,001329:    7550           07130                           TC       DMPSUB                                
045289,001330:    7551           52127                           DXCH     VBUF       +4                         #  GO ADD -X2M3 TO X3M2 TO COMPLETE THE X
045290,001331:    7552           17021                           TCF      ENDVXV                                #  COMPONENT (TAIL END OF DAD).
045291,001332: 
045292,001333:                                                                                                  #           THE MPACVBUF SUBROUTINE SAVES THE VECTOR IN MPAC IN VBUF WITHOUT CLOBBERING MPAC.
045293,001334: 
045294,001335:    7553           00006        MPACVBUF           EXTEND                                         #  CALLED BY MXV, VXM, AND UNIT.
045295,001336:    7554           30155                           DCA      MPAC                                  
045296,001337:    7555           52123                           DXCH     VBUF                                  
045297,001338:    7556           00006                           EXTEND                                         
045298,001339:    7557           30160                           DCA      MPAC       +3                         
045299,001340:    7560           52125                           DXCH     VBUF       +2                         
045300,001341:    7561           00006                           EXTEND                                         
045301,001342:    7562           30162                           DCA      MPAC       +5                         
045302,001343:    7563           52127                           DXCH     VBUF       +4                         
045303,001344:    7564           00002                           TC       Q                                     #  RETURN TO CALLER.
045304,001345: 
045305,001346: 
045306,001347:                                                                                                  #           DOUBLE PRECISION SIGN AGREE ROUTINE. ARRIVE WITH INPUT IN A+L. OUTPUT IS IN A + L.
045307,001348: 
045308,001349:    7565           10000        ALSIGNAG           CCS      A                                     #  TEST UPPER PART.
045309,001350:    7566           17572                           TCF      UPPOS                                 #  IT IS POSITIVE
045310,001351:    7567           00002                           TC       Q                                     #  ZERO
045311,001352:    7570           17602                           TCF      UPNEG                                 #  NEGATIVE
045312,001353:    7571           00002                           TC       Q                                     #  ZERO
045313,001354: 
045314,001355:    7572           56001        UPPOS              XCH      L                                     #  SAVE DECREMENTED UPPER PART.
045315,001356:    7573           64727                           AD       HALF                                  
045316,001357:    7574           64727                           AD       HALF                                  
045317,001358:    7575           54000                           TS       A                                     #  SKIPS ON OVERFLOW
045318,001359:    7576           17600                           TCF      +2                                    
045319,001360:    7577           24001                           INCR     L                                     #  RESTORE UPPER TO ROIGINAL VALUE
045320,001361:    7600           56001                           XCH      L                                     #  SWAP A + L BACK.
045321,001362:    7601           00002                           TC       Q                                     
045322,001363: 
045323,001364:    7602           56001        UPNEG              XCH      L                                     #  SAVE COMPLEMENTED + DECREMENTED UPPER PT
045324,001365:    7603           64726                           AD       NEGMAX                                
045325,001366:    7604           67770                           AD       NEGONE                                
045326,001367:    7605           54000                           TS       A                                     
045327,001368:    7606           17610                           TCF      +2                                    #  DONT INCREMENT IF NO OVERFLOW.
045328,001369:    7607           24001                           INCR     L                                     
045329,001370:    7610           56001                           XCH      L                                     
045330,001371:    7611           40000                           COM                                            #  MAKE NEGATIVE AGAIN.
045331,001372:    7612           00002                           TC       Q                                     
045332,001373: 

Page 1042

045334,001375:                                                                                                  #           INTERPRETIVE INSTRUCTIONS WHOSE EXECUTION CONSISTS OF PRINCIPALLY CALLING SUBROUTINES.
045335,001376: 
045336,001377:    7613           07130        DMP1               TC       DMPSUB                                #  DMP INSTRUCTION.
045337,001378:    7614           16102                           TCF      DANZIG                                
045338,001379: 
045339,001380:    7615           07130        DMPR               TC       DMPSUB                                
045340,001381:    7616           07160                           TC       ROUNDSUB   +1                         #  (C(A) = +0).
045341,001382:    7617           16102                           TCF      DANZIG                                
045342,001383: 
045343,001384:    7620           00006        DDV                EXTEND                                         
045344,001385:    7621           50116                           INDEX    ADDRWD                                #  MOVE DIVIDEND INTO BUF.
045345,001386:    7622           30001                           DCA      0                                     
045346,001387:    7623           17630                           TCF      BDDV       +4                         
045347,001388: 
045348,001389:    7624           00006        BDDV               EXTEND                                         #  MOVE DIVISOR INTO MPAC SAVING MPAC, THE
045349,001390:    7625           50116                           INDEX    ADDRWD                                #  DIVIDEND, IN BUF.
045350,001391:    7626           30001                           DCA      0                                     
045351,001392:    7627           52155                           DXCH     MPAC                                  
045352,001393:    7630           52131                 +4        DXCH     BUF                                   
045353,001394:    7631           34746                           CAF      ZERO                                  #  DIVIDE ROUTINES IN BANK 0.
045354,001395:    7632           54004                           TS       FBANK                                 
045355,001396:    7633           12353                           TCF      DDV/BDDV                              
045356,001397: 
045357,001398:    7634           30116        SETPD              CA       ADDRWD                                #  MUST SET TO WORK AREA, OR EBANK TROUBLE.
045358,001399:    7635           54166                           TS       PUSHLOC                               
045359,001400:    7636           16104                           TCF      NOIBNKSW                              #  NO FBANK SWITCH REQUIRED.
045360,001401: 
045361,001402:    7637           34746        TSLC               CAF      ZERO                                  #  SHIFTING ROUTINES LOCATED IN BANK 00.
045362,001403:    7640           54004                           TS       FBANK                                 
045363,001404:    7641           12172                           TCF      TSLC2                                 
045364,001405: 
045365,001406:    7642           36115        GSHIFT             CAF      LOW7                                  #  USED AS MASK AT GENSHIFT. THIS PROCESSES
045366,001407:    7643           54004                           TS       FBANK                                 #  ANY SHIFT INSTRUCTION (EXCEPT TSLC) WITH
045367,001408:    7644           12214                           TCF      GENSHIFT                              #  AN ADDRESS (ROUTINES IN BANK 0).
045368,001409: 

Page 1043

045370,001411:                                                                                                  #           THE FOLLOWING IS THE PROLOGUE TO V/SC. IF THE PRESENT MODE IS VECTOR, IT SAVES THE SCALAR AT X IN BUF
045371,001412:                                                                                                  #  AND CALLS THE V/SC ROUTINE IN BANK 0. IF THE PRESENT MODE IS SCALAR, IT MOVES THE VECTOR AT X INTO MPAC, SAVING
045372,001413:                                                                                                  #  THE SCALAR IN MPAC IN BUF BEFORE CALLING THE V/SC ROUTINE IN BANK 0.
045373,001414: 
045374,001415:    7645           10163        V/SC               CCS      MODE                                  
045375,001416:    7646           17657                           TCF      DV/SC                                 #  MOVE VECTOR INTO MPAC.
045376,001417:    7647           17657                           TCF      DV/SC                                 
045377,001418: 
045378,001419:    7650           00006        VV/SC              EXTEND                                         
045379,001420:    7651           50116                           INDEX    ADDRWD                                
045380,001421:    7652           30001                           DCA      0                                     
045381,001422:    7653           52131        V/SC1              DXCH     BUF                                   #  IN BOTH CASES, VECTOR IS NOW IN MPAC AND
045382,001423:    7654           34746                           CAF      ZERO                                  #  SCALAR IN BUF.
045383,001424:    7655           54004                           TS       FBANK                                 
045384,001425:    7656           12654                           TCF      V/SC2                                 
045385,001426: 
045386,001427:    7657           00006        DV/SC              EXTEND                                         
045387,001428:    7660           50116                           INDEX    ADDRWD                                
045388,001429:    7661           30003                           DCA      2                                     
045389,001430:    7662           52160                           DXCH     MPAC       +3                         
045390,001431:    7663           00006                           EXTEND                                         
045391,001432:    7664           50116                           INDEX    ADDRWD                                
045392,001433:    7665           30005                           DCA      4                                     
045393,001434:    7666           52162                           DXCH     MPAC       +5                         
045394,001435: 
045395,001436:    7667           44744                           CS       ONE                                   #  CHANGE MODE TO VECTOR.
045396,001437:    7670           54163                           TS       MODE                                  
045397,001438: 
045398,001439:    7671           00006                           EXTEND                                         
045399,001440:    7672           50116                           INDEX    ADDRWD                                
045400,001441:    7673           30001                           DCA      0                                     
045401,001442:    7674           52155                           DXCH     MPAC                                  
045402,001443:    7675           17653                           TCF      V/SC1                                 #  FINISH PROLOGUE AT COMMON SECTION.
045403,001444: 

Page 1044

045405,001446:                                                                                                  #           SIGN AND COMPLEMENT INSTRUCTIONS.
045406,001447: 
045407,001448:    7676           50116        SIGN               INDEX    ADDRWD                                #  CALL COMP INSTRUCTION IF WORD AT X IS
045408,001449:    7677           10000                           CCS      0                                     #  NEGATIVE NON-ZERO.
045409,001450:    7700           16102                           TCF      DANZIG                                
045410,001451:    7701           17703                           TCF      +2                                    
045411,001452:    7702           17711                           TCF      COMP                                  #  DO THE COMPLEMENT.
045412,001453: 
045413,001454:    7703           50116                           INDEX    ADDRWD                                
045414,001455:    7704           10001        CCSL               CCS      1                                     
045415,001456:    7705           16102                           TCF      DANZIG                                
045416,001457:    7706           16102                           TCF      DANZIG                                
045417,001458:    7707           17711                           TCF      COMP                                  
045418,001459:    7710           16102                           TCF      DANZIG                                
045419,001460:    7711           00006        COMP               EXTEND                                         #  COMPLEMENT DP MPAC IN EVERY CASE.
045420,001461:    7712           40155                           DCS      MPAC                                  
045421,001462:    7713           52155                           DXCH     MPAC                                  
045422,001463: 
045423,001464:    7714           10163                           CCS      MODE                                  #  EITHER COMPLEMENT MPAC +3 OR THE REST OF
045424,001465:    7715           17726                           TCF      DCOMP                                 #  THE VECTOR ACCUMULATOR.
045425,001466:    7716           17726                           TCF      DCOMP                                 
045426,001467: 
045427,001468:    7717           00006                           EXTEND                                         #  VECTOR COMPLEMENT.
045428,001469:    7720           40160                           DCS      MPAC       +3                         
045429,001470:    7721           52160                           DXCH     MPAC       +3                         
045430,001471:    7722           00006                           EXTEND                                         
045431,001472:    7723           40162                           DCS      MPAC       +5                         
045432,001473:    7724           52162                           DXCH     MPAC       +5                         
045433,001474:    7725           16102                           TCF      DANZIG                                
045434,001475: 
045435,001476:    7726           40156        DCOMP              CS       MPAC       +2                         
045436,001477:    7727           54156                           TS       MPAC       +2                         
045437,001478:    7730           16102                           TCF      DANZIG                                
045438,001479: 

Page 1045

045440,001481:                                                                                                  #           THE FOLLOWING SHORT SHIFT CODES REQUIRE NO ADDRESS WORD:
045441,001482: 
045442,001483:                                                                                                  #           1.  SR1 TO SR4         SCALAR SHIFT RIGHT.
045443,001484:                                                                                                  #           2.  SR1R TO SR4R       SCALAR SHIFT RIGHT AND ROUND.
045444,001485:                                                                                                  #           3.  SL1 TO SL4         SCALAR SHIFT LEFT.
045445,001486:                                                                                                  #           4.  SL1R TO SL4R       SCALAR SHIFT LEFT AND ROUND.
045446,001487: 
045447,001488:                                                                                                  #           5.  VSR1 TO VSR8       VECTOR SHIFT RIGHT (ALWAYS ROUNDS).
045448,001489:                                                                                                  #           6.  VSL1 TO VSL8       VECTOR SHIFT LEFT (NEVER ROUNDS).
045449,001490: 
045450,001491:                                                                                                  #           THE FOLLOWING CODES REQUIRE AN ADDRESS WHICH MAY BE INDEXED:*
045451,001492: 
045452,001493:                                                                                                  #           1.  SR                 SCALAR SHIFT RIGHT.
045453,001494:                                                                                                  #           2.  SRR                SCALAR SHIFT RIGHT AND ROUND.
045454,001495:                                                                                                  #           3.  SL                 SCALAR SHIFT LEFT.
045455,001496:                                                                                                  #           4.  SLR                SCALAR SHIFT LEFT AND ROUND.
045456,001497: 
045457,001498:                                                                                                  #           5.  VSR                VECTOR SHIFT RIGHT.
045458,001499:                                                                                                  #           6.  VSL                VECTOR SHIFT LEFT.
045459,001500: 
045460,001501:                                                                                                  #  *  IF THE ADDRESS IS INDEXED, AND THE INDEX MODIFICATION RESULTS IN A NEGATIVE SHIFT COUNT, A SHIFT OF THE
045461,001502:                                                                                                  #  ABSOLUTE VALUE OF THE COUNT IS DONE IN THE OPPOSITE DIRECTION.
045462,001503: 
045463,001504: 
045464,001505: 00,2017                                           BANK     00                                    
045465,001506: 
045466,001507: 00,2017                                           COUNT*   $$/INTER                              
045467,001508: 00,2017           36263        SHORTT             CAF      SIX                                   #  SCALAR SHORT SHIFTS COME HERE. THE SHIFT
045468,001509: 00,2020           70020                           MASK     CYR                                   #  COUNT-1 IS NOW IN BITS 2-3 OF CYR. THE
045469,001510: 00,2021           54021                           TS       SR                                    #  ROUNDING BIT IS IN BIT1 AT THIS POINT.
045470,001511: 
045471,001512: 00,2022           10020                           CCS      CYR                                   #  SEE IF RIGHT OR LEFT SHIFT DESIRED.
045472,001513: 00,2023           12101                           TCF      TSSL                                  #  SHIFT LEFT.
045473,001514: 
045474,001515: 00,2024           00024        SRDDV              DEC      20         B-14                       #  MPTEMP SETTING FOR SR BEFORE DDV.
045475,001516: 
045476,001517: 00,2025           50021        TSSR               INDEX    SR                                    #  GET SHIFTING BIT.
045477,001518: 00,2026           34727                           CAF      BIT14                                 
045478,001519: 00,2027           54135                           TS       MPTEMP                                
045479,001520: 
045480,001521: 00,2030           10020                           CCS      CYR                                   #  SEE IF A ROUND IS DESIRED.
045481,001522: 00,2031           02050        RIGHTR             TC       MPACSRND                              #  YES - SHIFT RIGHT AND ROUND.
045482,001523: 00,2032           16101                           TCF      NEWMODE                               #  SET MODE TO DP (C(A) = 0).
045483,001524: 00,2033           30135        MPACSHR            CA       MPTEMP                                #  DO A TRIPLE PRECISION SHIFT RIGHT.
045484,001525: 00,2034           00006                           EXTEND                                         
045485,001526: 00,2035           70156                           MP       MPAC       +2                         
045486,001527: 00,2036           54156                 +3        TS       MPAC       +2                         #  (EXIT FROM SQRT AND ABVAL).
045487,001528: 00,2037           30135                           CA       MPTEMP                                
045488,001529: 00,2040           00006                           EXTEND                                         
045489,001530: 00,2041           70154                           MP       MPAC                                  #  SHIFT MAJOR PART INTO A,L AND PLACE IN

Page 1046

045491,001532: 00,2042           52155                           DXCH     MPAC                                  #  MPAC,+1.
045492,001533: 00,2043           30135                           CA       MPTEMP                                
045493,001534: 00,2044           00006                           EXTEND                                         
045494,001535: 00,2045           70001                           MP       L                                     #  ORIGINAL C(MPAC +1).
045495,001536: 00,2046           20156                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
045496,001537: 00,2047           16102                           TCF      DANZIG                                
045497,001538: 
045498,001539:                                                                                                  #           MPAC SHIFT RIGHT AND ROUND SUBROUTINES.
045499,001540: 
045500,001541: 00,2050           30156        MPACSRND           CA       MPAC       +2                         #  WE HAVE TO DO ALL THREE MULTIPLIES SINCE
045501,001542: 00,2051           00006                           EXTEND                                         #  MPAC +1 AND MPAC +2 MIGHT HAVE SIGN
045502,001543: 00,2052           70135                           MP       MPTEMP                                #  DISAGREEMENT WITH A SHIFT RIGHT OF 1.
045503,001544: 00,2053           56155                           XCH      MPAC       +1                         
045504,001545: 00,2054           00006                           EXTEND                                         
045505,001546: 00,2055           70135                           MP       MPTEMP                                
045506,001547: 00,2056           56155                           XCH      MPAC       +1                         #  TRIAL MINOR PART.
045507,001548: 00,2057           60001                           AD       L                                     
045508,001549: 
045509,001550: 00,2060           60000        VSHR2              DOUBLE                                         #  (FINISH VECTOR COMPONENT SHIFT RIGHT
045510,001551: 00,2061           54156                           TS       MPAC       +2                         #  AND ROUND.
045511,001552: 00,2062           12064                           TCF      +2                                    
045512,001553: 00,2063           26155                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
045513,001554: 
045514,001555: 00,2064           34746                           CAF      ZERO                                  
045515,001556: 00,2065           54156                           TS       MPAC       +2                         
045516,001557: 00,2066           56154                           XCH      MPAC                                  #  SETTING TO ZERO SO FOLLOWING DAS WORKS.
045517,001558: 00,2067           00006                           EXTEND                                         
045518,001559: 00,2070           70135                           MP       MPTEMP                                
045519,001560: 00,2071           20155                           DAS      MPAC                                  #  AGAIN NO OVERFLOW.
045520,001561: 00,2072           00002                           TC       Q                                     
045521,001562: 
045522,001563: 00,2073           30135        VSHRRND            CA       MPTEMP                                #  ENTRY TO SHIFT RIGHT AND ROUND MPAC WHEN
045523,001564: 00,2074           00006                           EXTEND                                         #  MPAC CONTAINS A VECTOR COMPONENT.
045524,001565: 00,2075           70155                           MP       MPAC       +1                         
045525,001566: 00,2076           54155                           TS       MPAC       +1                         
045526,001567: 00,2077           56001                           XCH      L                                     
045527,001568: 00,2100           12060                           TCF      VSHR2                                 #  GO ADD ONE IF NECESSARY AND FINISH.
045528,001569: 

Page 1047

045530,001571:                                                                                                  #           ROUTINE FOR SHORT SCALAR SHIFT LEFT (AND MAYBE ROUND).
045531,001572: 
045532,001573: 00,2101           30021        TSSL               CA       SR                                    #  GET SHIFT COUNT FOR SR.
045533,001574: 00,2102           54135                 +1        TS       MPTEMP                                
045534,001575: 
045535,001576: 00,2103           00006                 +2        EXTEND                                         #  ENTRY HERE FROM SL FOR SCALARS.
045536,001577: 00,2104           30156                           DCA      MPAC       +1                         #  SHIFTING LEFT ONE PLACE AT A TIME IS
045537,001578: 00,2105           20156                           DAS      MPAC       +1                         #  FASTER THAN DOING THE WHOLE SHIFT WITH
045538,001579: 00,2106           60154                           AD       MPAC                                  #  MULTIPLIES ASSUMING THAT FREQUENCY OF
045539,001580: 00,2107           60154                           AD       MPAC                                  #  SHIFT COUNTS GOES DOWN RAPIDLY AS A
045540,001581: 00,2110           54154                           TS       MPAC                                  #  FUNCTION OF THEIR MAGNITUDE.
045541,001582: 00,2111           12113                           TCF      +2                                    
045542,001583: 00,2112           54121                           TS       OVFIND                                #  OVERFLOW. (LEAVES OVERFLOW-CORRECTED
045543,001584:                                                                                                  #  RESULT ANYWAY).
045544,001585: 00,2113           10135                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNT.
045545,001586: 00,2114           12102                           TCF      TSSL       +1                         
045546,001587: 
045547,001588: 00,2115           10020                           CCS      CYR                                   #  SEE IF ROUND WANTED.
045548,001589: 00,2116           07157        ROUND              TC       ROUNDSUB                              #  YES - ROUND AND EXIT.
045549,001590: 00,2117           16102                           TCF      DANZIG                                #  SL LEAVES A ZERO IN CYR FOR NO ROUND.
045550,001591: 00,2120           16102                           TCF      DANZIG                                #  NO - EXIT IMMEDIATL
045551,001592: 

Page 1048

045553,001594:                                                                                                  #  VECTOR SHIFTING ROUTINES.
045554,001595: 
045555,001596: 00,2121           34750        SHORTV             CAF      LOW3                                  #  SAVE 3 BIT SHIFT COUNT - 1 WITHOUT
045556,001597: 00,2122           70020                           MASK     CYR                                   #  EDITING CYR.
045557,001598: 00,2123           54135                           TS       MPTEMP                                
045558,001599: 00,2124           10020                           CCS      CYR                                   #  SEE IF LEFT OR RIGHT SHIFT.
045559,001600: 00,2125           12145                           TCF      VSSL                                  #  VECTOR SHIFT LEFT.
045560,001601: 00,2126           00176        OCT176             OCT      176                                   #  USED IN PROCESSED SHIFTS WITH - COUNT.
045561,001602: 
045562,001603: 00,2127           50135        VSSR               INDEX    MPTEMP                                #  (ENTRY FROM SR). PICK UP SHIFTING BIT.
045563,001604: 00,2130           34727                           CAF      BIT14                                 #  MPTEMP CONTAINS THE SHIFT COUNT - 1.
045564,001605: 00,2131           54135                           TS       MPTEMP                                
045565,001606: 00,2132           02073                           TC       VSHRRND                               #  SHIFT X COMPONENT.
045566,001607: 
045567,001608: 00,2133           52155                           DXCH     MPAC                                  #  SWAP X AND Y COMPONENTS.
045568,001609: 00,2134           52160                           DXCH     MPAC       +3                         
045569,001610: 00,2135           52155                           DXCH     MPAC                                  
045570,001611: 00,2136           02073                           TC       VSHRRND                               #  SHIFT Y COMPONENT.
045571,001612: 
045572,001613: 00,2137           52155                           DXCH     MPAC                                  #  SWAP Y AND Z COMPONENTS.
045573,001614: 00,2140           52162                           DXCH     MPAC       +5                         
045574,001615: 00,2141           52155                           DXCH     MPAC                                  
045575,001616: 00,2142           02073                           TC       VSHRRND                               #  SHIFT Z COMPONENT.
045576,001617: 
045577,001618: 00,2143           17441                           TCF      VROTATEX                              #  RESTORE COMPONENTS TO PROPER PLACES.
045578,001619: 

Page 1049

045580,001621:                                                                                                  #  VECTOR SHIFT LEFT - DONE ONE PLACE AT A TIME.
045581,001622: 
045582,001623: 00,2144           54135                 -1        TS       MPTEMP                                #  SHIFTING LOOP.
045583,001624: 
045584,001625: 00,2145           00006        VSSL               EXTEND                                         
045585,001626: 00,2146           30155                           DCA      MPAC                                  
045586,001627: 00,2147           20155                           DAS      MPAC                                  
045587,001628: 00,2150           00006                           EXTEND                                         
045588,001629: 00,2151           12153                           BZF      +2                                    
045589,001630: 00,2152           07040                           TC       OVERFLOW                              
045590,001631: 
045591,001632: 00,2153           00006                           EXTEND                                         
045592,001633: 00,2154           30160                           DCA      MPAC       +3                         
045593,001634: 00,2155           20160                           DAS      MPAC       +3                         
045594,001635: 00,2156           00006                           EXTEND                                         
045595,001636: 00,2157           12161                           BZF      +2                                    
045596,001637: 00,2160           07035                           TC       OVERFLWY                              
045597,001638: 
045598,001639: 00,2161           00006                           EXTEND                                         
045599,001640: 00,2162           30162                           DCA      MPAC       +5                         
045600,001641: 00,2163           20162                           DAS      MPAC       +5                         
045601,001642: 00,2164           00006                           EXTEND                                         
045602,001643: 00,2165           12167                           BZF      +2                                    
045603,001644: 00,2166           07032                           TC       OVERFLWZ                              
045604,001645: 
045605,001646: 00,2167           10135                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNTER.
045606,001647: 00,2170           12144                           TCF      VSSL       -1                         
045607,001648: 00,2171           16102                           TCF      DANZIG                                #  EXIT.
045608,001649: 

Page 1050

045610,001651:                                                                                                  #           TSLC - TRIPLE SHIFT LEFT AND COUNT. SHIFTS MPAC LEFT UNTIL GREATER THAN .5 IN MAGNITUDE, LEAVING
045611,001652:                                                                                                  #  THE COMPLEMENT OF THE NUMBER OF SHIFTS REQUIRED IN X.
045612,001653: 
045613,001654: 00,2172           54135        TSLC2              TS       MPTEMP                                #  START BY ZEROING SHIFT COUNT (IN A NOW).
045614,001655: 00,2173           06744                           TC       BRANCH                                #  EXIT WITH NO SHIFTING IF ARGUMENT ZERO.
045615,001656: 00,2174           12176                           TCF      +2                                    
045616,001657: 00,2175           12212                           TCF      ENDTSLC                               #  STORES ZERO SHIFT COUNT IN THIS CASE.
045617,001658: 
045618,001659: 00,2176           07300                           TC       TPAGREE                               #  MAY CAUSE UPSHIFT OF ONE EXTRA PLACE.
045619,001660: 
045620,001661: 00,2177           30154                           CA       MPAC                                  #  BEGIN NORMALIZATION LOOP.
045621,001662: 00,2200           12207                           TCF      TSLCTEST                              
045622,001663: 
045623,001664: 00,2201           24135        TSLCLOOP           INCR     MPTEMP                                #  INCREMENT SHIFT COUNTER.
045624,001665: 00,2202           00006                           EXTEND                                         
045625,001666: 00,2203           30156                           DCA      MPAC       +1                         
045626,001667: 00,2204           20156                           DAS      MPAC       +1                         
045627,001668: 00,2205           60154                           AD       MPAC                                  
045628,001669: 00,2206           26154                           ADS      MPAC                                  
045629,001670: 00,2207           60000        TSLCTEST           DOUBLE                                         #  SEE IF (ANOTHER) SHIFT IS REQUIRED.
045630,001671: 00,2210           54000                           OVSK                                           
045631,001672: 00,2211           12201                           TCF      TSLCLOOP                              #  YES - INCREMENT COUNT AND SHIFT AGAIN.
045632,001673: 
045633,001674: 00,2212           40135        ENDTSLC            CS       MPTEMP                                
045634,001675: 00,2213           16644                           TCF      STORE1                                #  STORE SHIFT COUNT AND RETURN TO DANZIG.
045635,001676: 

Page 1051

045637,001678:                                                                                                  #           THE FOLLOWING ROUTINES PROCESSES THE GENERAL SHIFT INSTRUCTIONS SR, SRR, SL, AND SLR.
045638,001679:                                                                                                  #  THE GIVEN ADDRESS IS DECODED AS FOLLOWS:
045639,001680: 
045640,001681:                                                                                                  #           BITS 1-7    SHIFT COUNT (SUBADDRESS) LESS THAN 125 DECIMAL.
045641,001682:                                                                                                  #           BIT 8       PSEUDO SIGN BIT (DETECTS CHANGE IN SIGN IN INDEXED SHIFTS).
045642,001683:                                                                                                  #           BIT 9       0 FOR LEFT SHIFT, AND 1 FOR RIGHT SHIFT.
045643,001684:                                                                                                  #           BIT 10      1 FOR TERMINAL ROUND ON SCALAR SHIFTS, 0 OTHERWISE.
045644,001685:                                                                                                  #           BITS 11-13  0.
045645,001686:                                                                                                  #           BIT 14      1.
045646,001687:                                                                                                  #           BIT 15      0.
045647,001688: 
045648,001689:                                                                                                  #  THE ABOVE ENCODING IS DONE BY THE YUL SYSTEM.
045649,001690: 
045650,001691: 
045651,001692: 00,2214           70116        GENSHIFT           MASK     ADDRWD                                #  GET SHIFT COUNT, TESTING FOR ZERO.
045652,001693: 00,2215           10000                           CCS      A                                     #  (ARRIVES WITH C(A) = LOW7).
045653,001694: 00,2216           12224                           TCF      GENSHFT2                              #  IF NON-ZERO, PROCEED WITH DECREMENTED CT
045654,001695: 
045655,001696: 00,2217           34733                           CAF      BIT10                                 #  ZERO SHIFT COUNT. NO SHIFTS NEEDED BUT
045656,001697: 00,2220           70116                           MASK     ADDRWD                                #  WE MIGHT HAVE TO ROUND MPAC ON SLR AND
045657,001698: 00,2221           10000                           CCS      A                                     #  SRR (SCALAR ONLY).
045658,001699: 00,2222           07157                           TC       ROUNDSUB                              
045659,001700: 00,2223           16102                           TCF      DANZIG                                
045660,001701: 
045661,001702: 00,2224           54135        GENSHFT2           TS       MPTEMP                                #  DECREMENTED SHIFT COUNT TO MPTEMP.
045662,001703: 00,2225           34735                           CAF      BIT8                                  #  TEST MEANING OF LOW SEVEN BIT COUNT IN
045663,001704: 00,2226           00006                           EXTEND                                         #  MPTEMP NOW.
045664,001705: 00,2227           70116                           MP       ADDRWD                                
045665,001706: 00,2230           76266                           MASK     LOW2                                  #  JUMPS ON SHIFT DIRECTION (BIT8) AND
045666,001707: 00,2231           50000                           INDEX    A                                     
045667,001708: 00,2232           12233                           TCF      +1                                    #  ORIGINAL SHIFT DIRECTION (BIT 9).
045668,001709: 00,2233           12332                           TCF      RIGHT-                                #  NEGATIVE SHIFT COUNT FOR SL OR SLR.
045669,001710: 00,2234           12342                           TCF      LEFT                                  #  SL OR SLR.
045670,001711: 00,2235           12336                           TCF      LEFT-                                 #  NEGATIVE SHIFT COUNT WITH SR OR SRR.
045671,001712: 

Page 1052

045673,001714:                                                                                                  #           GENERAL SHIFT RIGHT.
045674,001715: 
045675,001716: 00,2236           10163        RIGHT              CCS      MODE                                  #  SEE IF VECTOR OR SCALAR.
045676,001717: 00,2237           12277                           TCF      GENSCR                                
045677,001718: 00,2240           12277                           TCF      GENSCR                                
045678,001719: 
045679,001720: 00,2241           30135                           CA       MPTEMP                                #  SEE IF SHIFT COUNT LESS THAN 14D.
045680,001721: 00,2242           63733        VRIGHT2            AD       NEG12                                 
045681,001722: 00,2243           00006                           EXTEND                                         
045682,001723: 00,2244           62127                           BZMF     VSSR                                  #  IF SO, BRANCH AND SHIFT IMMEDIATELY.
045683,001724: 
045684,001725: 00,2245           67770                           AD       NEGONE                                #  IF NOT, REDUCE MPTEMP BY A TOTAL OF 14,
045685,001726: 00,2246           54135                           TS       MPTEMP                                #  AND DO A SHIFT RIGHT AND ROUND BY 14.
045686,001727: 00,2247           34746                           CAF      ZERO                                  #  THE ROUND AT THIS STAGE MAY INTRODUCE A
045687,001728: 00,2250           54001                           TS       L                                     #  ONE BIT ERROR IN A SHIFT RIGHT 15D.
045688,001729: 00,2251           56154                           XCH      MPAC                                  
045689,001730: 00,2252           56155                           XCH      MPAC       +1                         
045690,001731: 00,2253           02272                           TC       SETROUND                              #  X COMPONENT NOW SHIFTED, SO MAKE UP THE
045691,001732: 00,2254           20155                           DAS      MPAC                                  #  ROUNDING QUANTITY (0 IN A AND 0 OR +-1
045692,001733:                                                                                                  #  IN L).
045693,001734: 00,2255           56157                           XCH      MPAC       +3                         #  REPEAT THE ABOVE PROCESS FOR Y AND Z.
045694,001735: 00,2256           56160                           XCH      MPAC       +4                         
045695,001736: 00,2257           02272                           TC       SETROUND                              
045696,001737: 00,2260           20160                           DAS      MPAC       +3                         #  NO OVERFLOW ON THESE ADDS.
045697,001738: 
045698,001739: 00,2261           56161                           XCH      MPAC       +5                         
045699,001740: 00,2262           56162                           XCH      MPAC       +6                         
045700,001741: 00,2263           02272                           TC       SETROUND                              
045701,001742: 00,2264           20162                           DAS      MPAC       +5                         
045702,001743: 
045703,001744: 00,2265           10135                           CCS      MPTEMP                                #  SEE IF DONE, DOING FINAL DECREMENT.
045704,001745: 00,2266           54135                           TS       MPTEMP                                
045705,001746: 00,2267           12242                           TCF      VRIGHT2                               
045706,001747: 00,2270           04604        BIASLO             DEC      .2974      B-1                        #  SQRT CONSTANT
045707,001748: 
045708,001749: 00,2271           16102                           TCF      DANZIG                                
045709,001750: 
045710,001751: 00,2272           60000        SETROUND           DOUBLE                                         #  MAKES UP ROUNDING QUANTITY FROM ARRIVING
045711,001752: 00,2273           54156                           TS       MPAC       +2                         #  C(A). L IS ZERO INITIALLY.
045712,001753: 00,2274           34746                           CAF      ZERO                                  
045713,001754: 00,2275           56001                           XCH      L                                     
045714,001755: 00,2276           00002                           TC       Q                                     #  RETURN AND DO THE DAS, RESETTING L TO 0.
045715,001756: 

Page 1053

045717,001758:                                                                                                  #           PROCESS SR AND SRR FOR SCALARS.
045718,001759: 
045719,001760: 00,2277           30135        GENSCR             CA       MPTEMP                                #  SEE IF THE ORIGINAL SHIFT COUNT WAS LESS
045720,001761: 00,2300           63733                 +1        AD       NEG12                                 #  THAN 14D.
045721,001762: 00,2301           00006                           EXTEND                                         
045722,001763: 00,2302           62322                           BZMF     DOSSHFT                               #  DO THE SHIFT IMMEDIATELY IF SO.
045723,001764: 
045724,001765: 00,2303           67770                 +4        AD       NEGONE                                #  IF NOT, DECREMENT SHIFT COUNT BY 14D AND
045725,001766: 00,2304           54135                           TS       MPTEMP                                #  SHIFT MPAC RIGHT 14 PLACES.
045726,001767: 00,2305           34746                           CAF      ZERO                                  
045727,001768: 00,2306           56154                           XCH      MPAC                                  
045728,001769: 00,2307           56155                           XCH      MPAC       +1                         
045729,001770: 00,2310           54156                           TS       MPAC       +2                         
045730,001771: 00,2311           10135                           CCS      MPTEMP                                #  SEE IF FINISHED, DO FINAL DECREMENT.
045731,001772: 00,2312           54135                           TS       MPTEMP                                
045732,001773: 00,2313           02300                           TC       GENSCR     +1                         
045733,001774: 00,2314           22650        SLOPEHI            DEC      .5884                                 #  SQRT CONSTANT.
045734,001775: 00,2315           34733                           CAF      BIT10                                 #  FINISHED WITH SHIFT. SEE IF ROUND
045735,001776: 00,2316           70116                           MASK     ADDRWD                                #  WANTED.
045736,001777: 00,2317           10000                           CCS      A                                     
045737,001778: 00,2320           07157                           TC       ROUNDSUB                              
045738,001779: 00,2321           16102                           TCF      DANZIG                                #  DO SO AND/OR EXIT.
045739,001780: 
045740,001781: 00,2322           50135        DOSSHFT            INDEX    MPTEMP                                #  PICK UP SHIFTING BIT.
045741,001782: 00,2323           34727                           CAF      BIT14                                 
045742,001783: 00,2324           54135                           TS       MPTEMP                                
045743,001784: 00,2325           34733                           CAF      BIT10                                 #  SEE IF TERMINAL ROUND DESIRED.
045744,001785: 00,2326           70116                           MASK     ADDRWD                                
045745,001786: 00,2327           10000                           CCS      A                                     
045746,001787: 00,2330           12031                           TCF      RIGHTR                                #  YES.
045747,001788: 00,2331           12033                           TCF      MPACSHR                               #  JUST SHIFT RIGHT.
045748,001789: 

Page 1054

045750,001791:                                                                                                  #           PROCESS THE RIGHT- (SL(R) WITH A NEGATIVE COUNT), LEFT-, AND LEFT OPTIONS.
045751,001792: 
045752,001793: 00,2332           40135        RIGHT-             CS       MPTEMP                                #  GET ABSOLUTE VALUE - 1 OF SHIFT COUNT
045753,001794: 00,2333           62126                           AD       OCT176                                #  UNDERSTANDING THAT BIT8 (PSEUDO-SIGN)
045754,001795: 00,2334           54135                           TS       MPTEMP                                #  WAS 1 INITIALLY.
045755,001796: 00,2335           12236                           TCF      RIGHT                                 #  DO NORMAL SHIFT RIGHT.
045756,001797: 
045757,001798: 00,2336           42126        LEFT-              CS       OCT176                                #  SAME PROLOGUE TO LEFT FOR INDEXED RIGHT
045758,001799: 00,2337           60135                           AD       MPTEMP                                #  SHIFTS WHOSE NET SHIFT COUNT IS NEGATIVE
045759,001800: 00,2340           40000                           COM                                            
045760,001801: 00,2341           54135                           TS       MPTEMP                                
045761,001802: 
045762,001803: 00,2342           10163        LEFT               CCS      MODE                                  #  SINCE LEFT SHIFTING IS SONE ONE PLACE AT
045763,001804: 00,2343           12346                           TCF      GENSCL                                #  A TIME, NO COMPARISON WITH 14 NEED BE
045764,001805: 00,2344           12346                           TCF      GENSCL                                #  DONE. FOR SCALARS, SEE IF TERMINAL ROUND
045765,001806: 00,2345           12145                           TCF      VSSL                                  #  DESIRED. FOR VECTORS, SHIFT IMMEDIATELY.
045766,001807: 
045767,001808: 00,2346           40116        GENSCL             CS       ADDRWD                                #  PUT ROUNDING BIT (BIT 10 OF ADDRWD)INTO
045768,001809: 00,2347           00006                           EXTEND                                         #  BIT 15 OF CYR WHERE THE ROUNDING BIT OF
045769,001810: 00,2350           74737                           MP       BIT6                                  #  A SHORT SHIFT LEFT WOULD BE
045770,001811: 00,2351           54020                           TS       CYR                                   
045771,001812: 00,2352           12103                           TCF      TSSL       +2                         #  DO THE SHIFT.
045772,001813: 

Page 1055

045774,001815:                                                                                                  #           SCALAR DIVISION INSTRUCTIONS, DDV AND BDDV, ARE EXECUTED HERE. AT THIS POINT, THE DIVIDEND IS IN MPAC
045775,001816:                                                                                                  #  AND THE DIVISOR IN BUF.
045776,001817: 
045777,001818: 00,2353           44744        DDV/BDDV           CS       ONE                                   #  INITIALIZATION.
045778,001819: 00,2354           54136                           TS       DVSIGN                                #  +-1 FOR POSITIVE QUOTIENT - -0 FOR NEG.
045779,001820: 00,2355           54137                           TS       DVNORMCT                              #  DIVIDEND NORMALIZATION COUNT.
045780,001821: 00,2356           54140                           TS       MAXDVSW                               #  NEAR-ONE DIVIDE FLAG.
045781,001822: 
045782,001823: 00,2357           10130                           CCS      BUF                                   #  FORCE BUF POSITIVE WITH THE MAJOR PART
045783,001824: 00,2360           12516                           TCF      BUFPOS                                #  NON-ZERO.
045784,001825: 00,2361           12363                           TCF      +2                                    
045785,001826: 00,2362           12531                           TCF      BUFNEG                                
045786,001827: 
045787,001828: 00,2363           54156        BUFZERO            TS       MPAC       +2                         #  ZERO THIS.
045788,001829: 00,2364           07300                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT BEFORE OVERFLOW
045789,001830: 
045790,001831: 00,2365           10154                           CCS      MPAC                                  #  TEST TO SEE IF MPAC NON-ZERO.  (TOO BIG)
045791,001832: 00,2366           12414                           TCF      OVF+                                  #  MAJOR PART OF DIVIDEND IS POSITIVE NON-0
045792,001833: 00,2367           12371                           TCF      +2                                    
045793,001834: 00,2370           12413                           TCF      OVF+       -1                         #  MAJOR PART OF DIVIDEND IS NEG. NON-ZERO
045794,001835: 
045795,001836: 00,2371           56131                           XCH      BUF        +1                         #  SHIFT DIVIDEND AND DIVISOR LEFT 14.
045796,001837: 00,2372           56130                           XCH      BUF                                   
045797,001838: 00,2373           56155                           XCH      MPAC       +1                         
045798,001839: 00,2374           56154                           XCH      MPAC                                  
045799,001840: 00,2375           10130                           CCS      BUF                                   #  TRY AGAIN ON FORMER MINOR PART.
045800,001841: 00,2376           12422                           TCF      BUF+                                  
045801,001842: 00,2377           12401                           TCF      +2                                    #  OVERFLOW ON ZERO DIVISOR.
045802,001843: 00,2400           12416                           TCF      BUF-                                  
045803,001844: 
045804,001845: 00,2401           40154                           CS       MPAC                                  #  SIGN OF MPAC DETERMINES SIGN OF RESULT.
045805,001846: 00,2402           00006        SGNDVOVF           EXTEND                                         
045806,001847: 00,2403           62405                           BZMF     +2                                    
045807,001848: 00,2404           24136                           INCR     DVSIGN                                #  NEGMAX IN MPAC PERHAPS.
045808,001849: 00,2405           34724        DVOVF              CAF      POSMAX                                #  ON DIVISION OVERFLOW OF ANY SORT, SET
045809,001850: 00,2406           54154                           TS       MPAC                                  #  SET DP MPAC TO +-POSMAX.
045810,001851: 00,2407           02630                           TC       FINALDV    +3                         
045811,001852: 00,2410           34744                           CAF      ONE                                   #  SET OVERFLOW INDICATOR AND EXIT.
045812,001853: 00,2411           54121                           TS       OVFIND                                
045813,001854: 00,2412           06102                           TC       DANZIG                                
045814,001855: 
045815,001856: 00,2413           24136                 -1        INCR     DVSIGN                                
045816,001857: 00,2414           40131        OVF+               CS       BUF        +1                         #  LOAD LOWER ORDER PART OF DIVISOR.
045817,001858: 00,2415           12402                           TCF      SGNDVOVF                              #  GET SIGN OF RESULT.
045818,001859: 
045819,001860: 00,2416           00006        BUF-               EXTEND                                         #  IF BUF IS NEGATIVE, COMPLEMENT IT AND
045820,001861: 00,2417           40131                           DCS      BUF                                   #  MAINTAIN DVSIGN FOR FINAL QUOTIENT SIGN.
045821,001862: 00,2420           52131                           DXCH     BUF                                   
045822,001863: 00,2421           24136                           INCR     DVSIGN                                #  NOW -0.
045823,001864: 

Page 1056

045825,001866: 00,2422           10154        BUF+               CCS      MPAC                                  #  FORCE MPAC POSITIVE, CHECKING FOR ZERO
045826,001867: 00,2423           12437                           TCF      MPAC+                                 #  DIVIDEND IN THE PROCESS.
045827,001868: 00,2424           12426                           TCF      +2                                    
045828,001869: 00,2425           12433                           TCF      MPAC-                                 
045829,001870: 00,2426           10155                           CCS      MPAC       +1                         
045830,001871: 00,2427           12437                           TCF      MPAC+                                 
045831,001872: 00,2430           16102                           TCF      DANZIG                                #  EXIT IMMEDIATELY ON ZERO DIVIDEND.
045832,001873: 00,2431           12433                           TCF      MPAC-                                 
045833,001874: 00,2432           16102                           TCF      DANZIG                                
045834,001875: 
045835,001876: 00,2433           00006        MPAC-              EXTEND                                         #  FORCE MPAC POSITIVE AS BUF IN BUF-.
045836,001877: 00,2434           40155                           DCS      MPAC                                  
045837,001878: 00,2435           52155                           DXCH     MPAC                                  
045838,001879: 00,2436           24136                           INCR     DVSIGN                                #  NOW +1 OR -0.
045839,001880: 

Page 1057

045841,001882: 00,2437           40154        MPAC+              CS       MPAC                                  #  CHECK FOR DIVISION OVERFLOW. IF THE
045842,001883: 00,2440           67770                           AD       NEGONE                                #  MAJOR PART OF THE DIVIDEND IS LESS THAN
045843,001884: 00,2441           60130                           AD       BUF                                   #  THE MAJOR PART OF THE DIVISOR BY AT
045844,001885: 00,2442           10000                           CCS      A                                     #  LEAST TWO, WE CAN PROCEED IMMEDIATELY
045845,001886: 00,2443           12505                           TCF      DVNORM                                #  WITHOUT NORMALIZATION PRODUCING A DVMAX.
045846,001887: 00,2444           60001        -1/2+2             OCT      60001                                 #  USED IN SQRTSUB.
045847,001888: 
045848,001889: 00,2445           12446                           TCF      +1                                    #  IF THE ABOVE DOES NOT HOLD, FORCE SIGN
045849,001890: 00,2446           34727                           CAF      HALF                                  #  AGREEMENT IN NUMERATOR AND DENOMINATOR
045850,001891: 00,2447           60000                           DOUBLE                                         #  TO FACILITATE OVERFLOW AND NEAR-ONE
045851,001892: 00,2450           60155                           AD       MPAC       +1                         #  CHECKING.
045852,001893: 00,2451           54155                           TS       MPAC       +1                         
045853,001894: 00,2452           34746                           CAF      ZERO                                  
045854,001895: 00,2453           64724                           AD       POSMAX                                
045855,001896: 00,2454           26154                           ADS      MPAC                                  
045856,001897: 
045857,001898: 00,2455           34727                           CAF      HALF                                  #  SAME FOR BUF.
045858,001899: 00,2456           60000                           DOUBLE                                         
045859,001900: 00,2457           60131                           AD       BUF        +1                         
045860,001901: 00,2460           54131                           TS       BUF        +1                         
045861,001902: 00,2461           34746                           CAF      ZERO                                  
045862,001903: 00,2462           64724                           AD       POSMAX                                
045863,001904: 00,2463           26130                           ADS      BUF                                   
045864,001905: 
045865,001906: 00,2464           40154                           CS       MPAC                                  #  CHECK MAGNITUDE OF SIGN-CORRECTED
045866,001907: 00,2465           60130                           AD       BUF                                   #  OPERANDS.
045867,001908: 00,2466           10000                           CCS      A                                     
045868,001909: 00,2467           12505                           TCF      DVNORM                                #  DIVIDE OK - WILL NOT BECOME MAXDV CASE.
045869,001910: 00,2470           00133        LBUF2              ADRES    BUF2                                  
045870,001911: 00,2471           12405                           TCF      DVOVF                                 #  DIVISOR NOT LESS THAN DIVIDEND - OVF.
045871,001912: 
045872,001913: 00,2472           54140                           TS       MAXDVSW                               #  IF THE MAJOR PARTS OF THE DIVIDEND AND
045873,001914: 00,2473           40155                           CS       MPAC       +1                         #  DIVISOR ARE EQUAL, A SPECIAL APPROXIMA-
045874,001915: 00,2474           60131                           AD       BUF        +1                         #  TION IS USED (PROVIDED THE DIVISION IS
045875,001916: 00,2475           00006                           EXTEND                                         #  POSSIBLE, OF COURSE).
045876,001917: 00,2476           62405                           BZMF     DVOVF                                 
045877,001918: 00,2477           12505                           TCF      DVNORM                                #  IF NO OVERFLOW.
045878,001919: 

Page 1058

045880,001921: 00,2500           00006        BUFNORM            EXTEND                                         #  ADD -1 TO AUGMENT SHIFT COUNT AND SHIFT
045881,001922: 00,2501           24137                           AUG      DVNORMCT                              #  LEFT ONE PLACE.
045882,001923: 00,2502           00006                           EXTEND                                         
045883,001924: 00,2503           30131                           DCA      BUF                                   
045884,001925: 00,2504           20131                           DAS      BUF                                   
045885,001926: 
045886,001927: 00,2505           30130        DVNORM             CA       BUF                                   #  SEE IF DIVISOR NORMALIZED YET.
045887,001928: 00,2506           60000                           DOUBLE                                         
045888,001929: 00,2507           54000                           OVSK                                           
045889,001930: 00,2510           12500                           TCF      BUFNORM                               #  NO - SHIFT LEFT ONE AND TRY AGAIN.
045890,001931: 
045891,001932: 00,2511           52155                           DXCH     MPAC                                  #  CALL DIVIDEND NORMALIZATION SEQUENCE
045892,001933: 00,2512           50137                           INDEX    DVNORMCT                              #  PRIOR TO DOING THE DIVIDE.
045893,001934: 00,2513           02565                           TC       MAXTEST                               
045894,001935: 
045895,001936: 00,2514           54156                           TS       MPAC       +2                         #  RETURNS WITH DIVISION DONE AND C(A) = 0.
045896,001937: 00,2515           16102                           TCF      DANZIG                                
045897,001938: 
045898,001939: 00,2516           10000        BUFPOS             CCS      A                                     
045899,001940: 00,2517           12422                           TCF      BUF+                                  #  TO BUF+ IF BUF IS GREATER THAN +1.
045900,001941: 
045901,001942: 00,2520           40131                           CS       BUF        +1                         #  IF BUF IS +1, FORCING SIGN AGREEMENT
045902,001943: 00,2521           00006                           EXTEND                                         #  MAY CAUSE BUF TO BECOME ZERO.
045903,001944: 00,2522           62422                           BZMF     BUF+                                  #  BRANCH IF SIGNS AGREE.
045904,001945: 
045905,001946: 00,2523           34727                           CA       HALF                                  #  SIGNS DISAGREE.  FORCE AGREEMENT.
045906,001947: 00,2524           60000                 +6        DOUBLE                                         
045907,001948: 00,2525           26131                           ADS      BUF        +1                         
045908,001949: 00,2526           34746                           CA       ZERO                                  
045909,001950: 00,2527           54130                           TS       BUF                                   
045910,001951: 00,2530           12363                           TCF      BUFZERO                               
045911,001952: 
045912,001953: 00,2531           10000        BUFNEG             CCS      A                                     
045913,001954: 00,2532           12416                           TCF      BUF-                                  #  TO BUF- IF BUF IS LESS THAN -1.
045914,001955: 
045915,001956: 00,2533           30131                           CA       BUF        +1                         #  IF BUF IS -1, FORCING SIGN AGREEMENT
045916,001957: 00,2534           00006                           EXTEND                                         #  MAY CAUSE BUF TO BECOME ZERO.
045917,001958: 00,2535           62416                           BZMF     BUF-                                  #  BRANCH IF SIGNS AGREE.
045918,001959: 
045919,001960: 00,2536           44727                           CS       HALF                                  #  SIGNS DISAGREE.  FORCE AGREEMENT.
045920,001961: 00,2537           12524                           TCF      BUFPOS     +6                         
045921,001962: 

Page 1059

045923,001964:                                                                                                  #           THE FOLLOWING ARE PROLOGUES TO SHIFT THE DIVIDEND ARRIVING IN A AND L BEFORE THE DIVIDE.
045924,001965: 
045925,001966: 00,2540           22021                 -21D      LXCH     SR                                    #  SPECIAL PROLOGUE FOR UNIT WHEN THE
045926,001967: 00,2541           00006                           EXTEND                                         #  LENGTH OF THE ARGUMENT WAS NOT LESS THAN
045927,001968: 00,2542           74727                           MP       HALF                                  #  .5. IN THIS CASE, EACH COMPONENT MUST BE
045928,001969: 00,2543           56001                           XCH      L                                     #  SHIFTED RIGHT ONE TO PRODUCE A HALF-UNIT
045929,001970: 00,2544           60021                           AD       SR                                    #  VECTOR.
045930,001971: 00,2545           56001                           XCH      L                                     
045931,001972: 00,2546           12571                           TCF      GENDDV     +1                         #  WITH DP DIVIDEND IN A,L.
045932,001973: 
045933,001974: 00,2547           20001                           DDOUBL                                         #  PROLOGUE WHICH NORMALIZES THE DIVIDEND
045934,001975: 00,2550           20001                           DDOUBL                                         #  WHEN IT IS KNOWN THAT NO DIVISION
045935,001976: 00,2551           20001                           DDOUBL                                         #  OVERFLOW WILL OCCUR.
045936,001977: 00,2552           20001                           DDOUBL                                         
045937,001978: 00,2553           20001                           DDOUBL                                         
045938,001979: 00,2554           20001                           DDOUBL                                         
045939,001980: 00,2555           20001                           DDOUBL                                         
045940,001981: 00,2556           20001                           DDOUBL                                         
045941,001982: 00,2557           20001                           DDOUBL                                         
045942,001983: 00,2560           20001                           DDOUBL                                         
045943,001984: 00,2561           20001                           DDOUBL                                         
045944,001985: 00,2562           20001                           DDOUBL                                         
045945,001986: 00,2563           20001                           DDOUBL                                         
045946,001987: 00,2564           52155                           DXCH     MPAC                                  
045947,001988: 
045948,001989: 00,2565           10140        MAXTEST            CCS      MAXDVSW                               #  0 IF MAJORS MIGHT BE =, -1 OTHERWISE.
045949,001990: 00,2566           06552        BIASHI             DEC      .4192      B-1                        #  SQRT CONSTANTS
045950,001991: 
045951,001992: 00,2567           12642                           TCF      MAXDV                                 #  CHECK TO SEE IF THEY ARE NOW EQUAL.
045952,001993: 

Page 1060

045954,001995:                                                                                                  #           THE FOLLOWING IS A GENERAL PURPOSE DOUBLE PRECISION DIVISION ROUTINE. IT DIVIDES MPAC BY BUF AND LEAVES
045955,001996:                                                                                                  #  THE RESULT IN MPAC. THE FOLLOWING CONDITIONS MUST BE SATISFIED:
045956,001997: 
045957,001998:                                                                                                  #           1.  THE DIVISOR (BUF) MUST BE POSITIVE AND NOT LESS THAN .5.
045958,001999: 
045959,002000:                                                                                                  #           2.  THE DIVIDEND (MPAC) MUST BE POSITIVE WITH THE MAJOR PART OF MPAC STRICTLY LESS THAN THAT OF BUF
045960,002001:                                                                                                  #  (A SPECIAL APPROXIMATION, MAXDV, IS USED WHEN THE MAJOR PARTS ARE EQUAL).
045961,002002: 
045962,002003:                                                                                                  #           UNDERSTANDING THAT A/B = Q + S(R/B) WHERE S = 2(-14) AND Q AND R ARE QUOTIENT AND REMAINDER, RESPEC-
045963,002004:                                                                                                  #  TIVELY, THE FOLLOWING APPROXIMATION IS OBTAINED BY MULTIPLYING ABOVE AND BELOW BY C - SD AND NEGLECTING TERMS OF
045964,002005:                                                                                                  #  ORDER S-SQUARED (POSSIBLY INTRODUCING ERROR INTO THE LOW TWO BITS OF THE RESULT). SIGN AGREEMENT IS UNNECESSARY.
045965,002006: 
045966,002007:                                                                                                  #           A + SB .      (R - QD)                                             A + SB
045967,002008:                                                                                                  #           ------ = Q + S(------) WHERE Q AND R ARE QUOTIENT AND REMAINDER OF ------ RESPECTIVELY.
045968,002009:                                                                                                  #           C + SD        (  C   )                                               C
045969,002010: 
045970,002011: 
045971,002012: 00,2570           52155        GENDDV             DXCH     MPAC                                  #  WE NEED A AND B ONLY FOR FIRST DV.
045972,002013: 00,2571           00006                 +1        EXTEND                                         #  (SPECIAL UNIT PROLOGUE ENTERS HERE).
045973,002014: 00,2572           10130                           DV       BUF                                   #  A NOW CONTAINS Q AND L, R.
045974,002015: 00,2573           52155                           DXCH     MPAC                                  
045975,002016: 
045976,002017: 00,2574           40154                           CS       MPAC                                  #  FORM DIVIDEND FOR MINOR PART OF RESULT.
045977,002018: 00,2575           00006                           EXTEND                                         
045978,002019: 00,2576           70131                           MP       BUF        +1                         
045979,002020: 00,2577           60155                           AD       MPAC       +1                         #  OVERFLOW AT THIS POINT IS POSITIVE SINCE
045980,002021: 00,2600           54000                           OVSK                                           #  R IS POSITIVE IN EVERY CASE.
045981,002022: 00,2601           12606                           TCF      +5                                    
045982,002023: 
045983,002024: 00,2602           00006                           EXTEND                                         #  OVERFLOW CAN BE REMOVED BY SUBTRACTING C
045984,002025: 00,2603           60130                           SU       BUF                                   #  (BUF) ONCE SINCE R IS ALWAYS LESS THAN C
045985,002026: 00,2604           24154                           INCR     MPAC                                  #  IN THIS CASE. INCR COMPENSATES SUBTRACT.
045986,002027: 00,2605           12610                           TCF      +DOWN                                 #  (SINCE C(A) IS STILL POSITIVE).
045987,002028: 
045988,002029: 00,2606           00006                 +5        EXTEND                                         #  C(A) CAN BE MADE LESS THAN C IN MAGNI-
045989,002030: 00,2607           62620                           BZMF     -UP                                   #  TUDE BY DIMINISHING IT BY C (SINCE C IS
045990,002031:                                                                                                  #  NOT LESS THAN .5) UNLESS C(A) = 0.
045991,002032: 

Page 1061

045993,002034: 00,2610           00006        +DOWN              EXTEND                                         
045994,002035: 00,2611           60130                           SU       BUF                                   #  IF POSITIVE, REDUCE ONLY IF NECESSARY
045995,002036: 00,2612           00006                           EXTEND                                         #  SINCE THE COMPENSATING INCR MIGHT CAUSE
045996,002037: 00,2613           12616                           BZF      +3                                    #  OVERFLOW.
045997,002038: 00,2614           00006                           EXTEND                                         #  DONT SUBTRACT UNLESS RESULT IS POSITIVE
045998,002039: 00,2615           62624                           BZMF     ENDMAXDV                              #  OR ZERO.
045999,002040: 
046000,002041: 00,2616           24154                 +3        INCR     MPAC                                  #  KEEP SUBTRACT HERE AND COMPENSATE.
046001,002042: 00,2617           12625                           TCF      FINALDV                               
046002,002043: 
046003,002044: 00,2620           00006        -UP                EXTEND                                         #  IF ZERO, SET MINOR PART OF RESULT TO
046004,002045: 00,2621           12630                           BZF      FINALDV    +3                         #  ZERO.
046005,002046: 
046006,002047: 00,2622           00006                           EXTEND                                         #  IF NEGATIVE, ADD C TO A, SUBTRACTING ONE
046007,002048: 00,2623           26154                           DIM      MPAC                                  #  TO COMPENSATE. DIM IS OK HERE SINCE THE
046008,002049: 00,2624           60130        ENDMAXDV           AD       BUF                                   #  MAJOR PART NEVER GOES NEGATIVE.
046009,002050: 

Page 1062

046011,002052: 00,2625           22007        FINALDV            ZL                                             #  DO DV TO OBTAIN MINOR PART OF RESULT.
046012,002053: 00,2626           00006                           EXTEND                                         
046013,002054: 00,2627           10130                           DV       BUF                                   
046014,002055: 00,2630           54155                 +3        TS       MPAC       +1                         
046015,002056: 
046016,002057: 00,2631           10136                           CCS      DVSIGN                                #  LEAVE RESULT POSITIVE UNLESS C(DVSIGN)=
046017,002058: 00,2632           00002                           TC       Q                                     #  -0.
046018,002059: 00,2633           00002                           TC       Q                                     
046019,002060: 00,2634           00002                           TC       Q                                     
046020,002061: 
046021,002062: 00,2635           00006                           EXTEND                                         
046022,002063: 00,2636           40155                           DCS      MPAC                                  
046023,002064: 00,2637           52155                           DXCH     MPAC                                  
046024,002065: 00,2640           34746                           CAF      ZERO                                  #  SO WE ALWAYS RETURN WITH C(A) = 0.
046025,002066: 00,2641           00002                           TC       Q                                     
046026,002067: 

Page 1063

046028,002069:                                                                                                  #           IF THE MAJOR PARTS OF THE DIVISOR AND DIVIDEND ARE EQUAL, BUT THE MINOR PARTS ARE SUCH THAT THE
046029,002070:                                                                                                  #  DIVIDEND IS STRICTLY LESS THAN THE DIVISOR IN MAGNITUDE, THE FOLLOWING APPROXIMATION IS USED. THE ASSUMPTIONS
046030,002071:                                                                                                  #  ARE THE SAME AS THE GENERAL ROUTINE WITH THE ADDITION THAT SIGN AGREEMENT IS NECESSARY (B, C, & D POSITIVE).
046031,002072: 
046032,002073:                                                                                                  #                  C + SB .          (C + B - D)
046033,002074:                                                                                                  #                  ------ = 37777 + S(---------)
046034,002075:                                                                                                  #                  C + SD            (    C    )
046035,002076: 
046036,002077:                                                                                                  #           THE DIVISION MAY BE PERFORMED IMMEDIATELY SINCE B IS STRICTLY LESS THAN D AND C IS NOT LESS THAN .5.
046037,002078: 
046038,002079: 00,2642           40154        MAXDV              CS       MPAC                                  #  SEE IF MAXDV CASE STILL HOLDS AFTER
046039,002080: 00,2643           60130                           AD       BUF                                   #  NORMALIZATION.
046040,002081: 00,2644           00006                           EXTEND                                         
046041,002082: 00,2645           12647                           BZF      +2                                    
046042,002083: 00,2646           12570                           TCF      GENDDV                                #  MPAC NOW LESS THAN BUF - DIVIDE AS USUAL
046043,002084: 
046044,002085: 00,2647           34724                 +2        CAF      POSMAX                                #  SET MAJOR PART OF RESULT.
046045,002086: 00,2650           54154                           TS       MPAC                                  
046046,002087: 
046047,002088: 00,2651           40131                           CS       BUF        +1                         #  FORM DIVIDEND OF MINOR PART OF RESULT.
046048,002089: 00,2652           60155                           AD       MPAC       +1                         
046049,002090: 00,2653           12624                           TCF      ENDMAXDV                              #  GO ADD C AND DO DIVIDE, ATTACHING SIGN
046050,002091:                                                                                                  #  BEFORE EXITING.
046051,002092: 

Page 1064

046053,002094:                                                                                                  #           VECTOR DIVIDED BY SCALAR, V/SC, IS EXECUTED HERE. THE VECTOR IS NOW IN MPAC WITH SCALAR IN BUF.
046054,002095: 
046055,002096: 00,2654           44744        V/SC2              CS       ONE                                   #  INITIALIZE DIVIDEND NORMALIZATION COUNT
046056,002097: 00,2655           54137                           TS       DVNORMCT                              #  AND DIVISION SIGN REGISTER.
046057,002098: 00,2656           54127                           TS       VBUF       +5                         
046058,002099: 
046059,002100: 00,2657           03010                           TC       VECAGREE                              #  FORCE SIGN AGREEMENT IN VECTOR
046060,002101: 
046061,002102: 00,2660           52131                           DXCH     BUF                                   
046062,002103: 00,2661           07565                           TC       ALSIGNAG                              #  SIGN AGREE BUF
046063,002104: 00,2662           52131                           DXCH     BUF                                   
046064,002105: 00,2663           10130                           CCS      BUF                                   #  FORCE DIVISOR POSITIVE WITH MAJOR PART
046065,002106: 00,2664           12721                           TCF      /BUF+                                 #  NON-ZERO (IF POSSIBLE).
046066,002107: 00,2665           12667                           TCF      +2                                    
046067,002108: 00,2666           12715                           TCF      /BUF-                                 
046068,002109: 
046069,002110: 00,2667           56131                           XCH      BUF        +1                         #  SHIFT VECTOR AND SCALAR LEFT 14.
046070,002111: 00,2670           56130                           XCH      BUF                                   
046071,002112: 00,2671           56155                           XCH      MPAC       +1                         
046072,002113: 00,2672           56154                           XCH      MPAC                                  
046073,002114: 00,2673           00006                           EXTEND                                         #  CHECK FOR OVERFLOW IN EACH CASE.
046074,002115: 00,2674           12676                           BZF      +2                                    
046075,002116: 00,2675           12405                           TCF      DVOVF                                 
046076,002117: 
046077,002118: 00,2676           56160                           XCH      MPAC       +4                         
046078,002119: 00,2677           56157                           XCH      MPAC       +3                         
046079,002120: 00,2700           00006                           EXTEND                                         
046080,002121: 00,2701           12703                           BZF      +2                                    
046081,002122: 00,2702           12405                           TCF      DVOVF                                 
046082,002123: 
046083,002124: 00,2703           56162                           XCH      MPAC       +6                         
046084,002125: 00,2704           56161                           XCH      MPAC       +5                         
046085,002126: 00,2705           00006                           EXTEND                                         
046086,002127: 00,2706           12710                           BZF      +2                                    
046087,002128: 00,2707           12405                           TCF      DVOVF                                 
046088,002129: 
046089,002130: 00,2710           10130                           CCS      BUF                                   
046090,002131: 00,2711           12721                           TCF      /BUF+                                 
046091,002132: 00,2712           12405                           TCF      DVOVF                                 #  ZERO DIVISOR - OVERFLOW.
046092,002133: 00,2713           12715                           TCF      /BUF-                                 
046093,002134: 00,2714           12405                           TCF      DVOVF                                 
046094,002135: 
046095,002136: 00,2715           00006        /BUF-              EXTEND                                         #  ON NEGATIVE, COMPLEMENT BUF AND MAINTAIN
046096,002137: 00,2716           40131                           DCS      BUF                                   #  DVSIGN IN VBUF +5.
046097,002138: 00,2717           52131                           DXCH     BUF                                   
046098,002139: 00,2720           24127                           INCR     VBUF       +5                         
046099,002140: 

Page 1065

046101,002142: 00,2721           00006        /BUF+              EXTEND                                         
046102,002143: 00,2722           30131                           DCA      BUF                                   #  LEAVE ABS(ORIG DIVISOR) IN BUF2
046103,002144: 00,2723           52134                           DXCH     BUF2                                  #  FOR OVERFLOW TESTING
046104,002145: 00,2724           12732                           TCF      /NORM                                 #  NORMALIZE DIVISOR IN BUF.
046105,002146: 
046106,002147: 00,2725           00006        /NORM2             EXTEND                                         #  IF LESS THAN .5, AUGMENT DVNORMCT AND
046107,002148: 00,2726           24137                           AUG      DVNORMCT                              #  DOUBLE DIVISOR.
046108,002149: 00,2727           00006                           EXTEND                                         
046109,002150: 00,2730           30131                           DCA      BUF                                   
046110,002151: 00,2731           20131                           DAS      BUF                                   
046111,002152: 
046112,002153: 00,2732           30130        /NORM              CA       BUF                                   #  SEE IF DIVISOR NORMALIZED.
046113,002154: 00,2733           60000                           DOUBLE                                         
046114,002155: 00,2734           54000                           OVSK                                           
046115,002156: 00,2735           12725                           TCF      /NORM2                                #  DOUBLE AND TRY AGAIN IF NOT.
046116,002157: 
046117,002158: 00,2736           02750                           TC       V/SCDV                                #  DO X COMPONENT DIVIDE.
046118,002159: 00,2737           52160                           DXCH     MPAC       +3                         #  SUPPLY ARGUMENTS IN USUAL SEQUENCE.
046119,002160: 00,2740           52155                           DXCH     MPAC                                  
046120,002161: 00,2741           52160                           DXCH     MPAC       +3                         
046121,002162: 
046122,002163: 00,2742           02750                           TC       V/SCDV                                #  Y COMPONENT.
046123,002164: 00,2743           52162                           DXCH     MPAC       +5                         
046124,002165: 00,2744           52155                           DXCH     MPAC                                  
046125,002166: 00,2745           52162                           DXCH     MPAC       +5                         
046126,002167: 
046127,002168: 00,2746           02750                           TC       V/SCDV                                #  Z COMPONENT.
046128,002169: 00,2747           17441                           TCF      VROTATEX                              #  GO RE-ARRANGE COMPONENTS BEFORE EXIT.
046129,002170: 

Page 1066

046131,002172:                                                                                                  #           SUBROUTINE USED BY V/SC TO DIVIDE VECTOR COMPONENT IN MPAC,+1 BY THE SCALAR GIVEN IN BUF.
046132,002173: 
046133,002174: 00,2750           30127        V/SCDV             CA       VBUF       +5                         #  REFLECTS SIGN OF SCALAR.
046134,002175: 00,2751           54136                           TS       DVSIGN                                
046135,002176: 
046136,002177: 00,2752           10154                           CCS      MPAC                                  #  FORCE MPAC POSITIVE, EXITING ON ZERO.
046137,002178: 00,2753           12767                           TCF      /MPAC+                                
046138,002179: 00,2754           12756                           TCF      +2                                    
046139,002180: 00,2755           12763                           TCF      /MPAC-                                
046140,002181: 
046141,002182: 00,2756           10155                           CCS      MPAC       +1                         
046142,002183: 00,2757           12767                           TCF      /MPAC+                                
046143,002184: 00,2760           00002                           TC       Q                                     
046144,002185: 00,2761           12763                           TCF      /MPAC-                                
046145,002186: 00,2762           00002                           TC       Q                                     
046146,002187: 
046147,002188: 00,2763           00006        /MPAC-             EXTEND                                         #  USUAL COMPLEMENTING AND SETTING OF SIGN.
046148,002189: 00,2764           40155                           DCS      MPAC                                  
046149,002190: 00,2765           52155                           DXCH     MPAC                                  
046150,002191: 00,2766           24136                           INCR     DVSIGN                                
046151,002192: 
046152,002193: 00,2767           44744        /MPAC+             CS       ONE                                   #  INITIALIZE NEAR-ONE SWITCH.
046153,002194: 00,2770           54140                           TS       MAXDVSW                               
046154,002195: 
046155,002196: 00,2771           40154                           CS       MPAC                                  #  CHECK POSSIBLE OVERFLOW.
046156,002197: 00,2772           60133                           AD       BUF2                                  #  UNNORMALIZED INPUT DIVISOR.
046157,002198: 00,2773           10000                           CCS      A                                     
046158,002199: 00,2774           13004                           TCF      DDVCALL                               #  NOT NEAR-ONE
046159,002200: 00,2775           12777                           TCF      +2                                    #  +0 IS JUST POSSIBLE
046160,002201: 00,2776           12405                           TCF      DVOVF                                 #  NO HOPE
046161,002202: 00,2777           54140                           TS       MAXDVSW                               #  SIGNAL POSSIBLE NEAR-ONE CASE
046162,002203: 00,3000           40155                           CS       MPAC       +1                         #  SEE IF DIVISION CAN BE DONE
046163,002204: 00,3001           60134                           AD       BUF2       +1                         
046164,002205: 00,3002           00006                           EXTEND                                         
046165,002206: 00,3003           62405                           BZMF     DVOVF                                 
046166,002207: 
046167,002208: 00,3004           52155        DDVCALL            DXCH     MPAC                                  #  CALL PRE-DIVIDE NORMALIZATION.
046168,002209: 00,3005           50137                           INDEX    DVNORMCT                              
046169,002210: 00,3006           12565                           TCF      MAXTEST                               
046170,002211: 

Page 1067

046172,002213: 00,3007           32506        SLOPELO            DEC      .8324                                 
046173,002214: 
046174,002215: 00,3010           56002        VECAGREE           XCH      Q                                     #  SAVE Q IN A
046175,002216: 00,3011           52155                           DXCH     MPAC                                  
046176,002217: 00,3012           07565                           TC       ALSIGNAG                              #  SIGNAGREE MPAC
046177,002218: 00,3013           52155                           DXCH     MPAC                                  
046178,002219: 00,3014           52160                           DXCH     MPAC       +3                         
046179,002220: 00,3015           07565                           TC       ALSIGNAG                              #  SIGN AGREE MPAC +3
046180,002221: 00,3016           52160                           DXCH     MPAC       +3                         
046181,002222: 00,3017           52162                           DXCH     MPAC       +5                         
046182,002223: 00,3020           07565                           TC       ALSIGNAG                              #  SIGNAGREE MPAC +5
046183,002224: 00,3021           52162                           DXCH     MPAC       +5                         
046184,002225: 00,3022           00000                           TC       A                                     
046185,002226: 

Page 1068

046187,002228:                                                                                                  #           THE FOLLOWING ROUTINE EXECUTES THE UNIT INSTRUCTION, WHICH TAKES THE UNIT OF THE VECTOR IN MPAC.
046188,002229: 
046189,002230: 00,3023           03010        UNIT               TC       VECAGREE                              #  FORCE SIGN AGREEMENT IN VECTOR
046190,002231: 00,3024           07553                           TC       MPACVBUF                              #  SAVE ARGUMENT IN VBUF
046191,002232: 00,3025           34746                           CAF      ZERO                                  #  MUST SENSE OVERFLOW IN FOLLOWING DOT.
046192,002233: 00,3026           56121                           XCH      OVFIND                                
046193,002234: 00,3027           54141                           TS       TEM1                                  
046194,002235: 00,3030           03317                           TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
046195,002236: 00,3031           30141                           CA       TEM1                                  
046196,002237: 00,3032           56121                           XCH      OVFIND                                
046197,002238: 00,3033           00006                           EXTEND                                         
046198,002239: 00,3034           13036                           BZF      +2                                    
046199,002240: 00,3035           12405                           TCF      DVOVF                                 
046200,002241: 00,3036           00006                           EXTEND                                         
046201,002242: 00,3037           30155                           DCA      MPAC                                  #  LEAVE THE SQUARE OF THE LENGTH OF THE
046202,002243: 00,3040           50120                           INDEX    FIXLOC                                #  ARGUMENT IN LVSQUARE.
046203,002244: 00,3041           52043                           DXCH     LVSQUARE                              
046204,002245: 
046205,002246: 00,3042           03343                           TC       SQRTSUB                               #  GO TAKE THE NORMALIZED SQUARE ROOT.
046206,002247: 
046207,002248: 00,3043           10154                           CCS      MPAC                                  #  CHECK FOR UNIT OVERFLOW.
046208,002249: 00,3044           13051                           TCF      +5                                    #  MPAC IS NOT LESS THAN .5 UNLESS
046209,002250: 00,3045           54001                           TS       L                                     
046210,002251: 00,3046           50120                           INDEX    FIXLOC                                
046211,002252: 00,3047           52045                           DXCH     LV                                    
046212,002253: 00,3050           12405                           TCF      DVOVF                                 #  INPUT TO SQRTSUB WAS 0.
046213,002254: 
046214,002255: 00,3051           44310                           CS       FOURTEEN                              #  SEE IF THE INPUT WAS SO SMALL THE THE
046215,002256: 00,3052           60135                           AD       MPTEMP                                #  FIRST TWO REGISTERS OF THE SQUARE WERE 0
046216,002257: 00,3053           10000                           CCS      A                                     
046217,002258: 00,3054           40000                           COM                                            #  IF SO, SAVE THE NEGATIVE OF THE SHIFT
046218,002259: 00,3055           13133                           TCF      SMALL                                 #  COUNT -15D.
046219,002260: 
046220,002261: 00,3056           13065                           TCF      LARGE                                 #  (THIS IS USUALLY THE CASE.)
046221,002262: 
046222,002263: 00,3057           44752                           CS       THIRTEEN                              #  IF THE SHIFT COUNT WAS EXACTLY 14, SET
046223,002264: 00,3060           54135                           TS       MPTEMP                                #  THE PRE-DIVIDE NORM COUNT TO -13D.
046224,002265: 
046225,002266: 00,3061           30154                           CA       MPAC                                  #  SHIFT THE LENGTH RIGHT 14 BEFORE STORING
046226,002267: 00,3062           54001        SMALL2             TS       L                                     #  (SMALL EXITS TO THIS POINT).
046227,002268: 00,3063           34746                           CAF      ZERO                                  
046228,002269: 00,3064           13112                           TCF      LARGE2                                #  GO TO STORE LENGTH AND PROCEED.
046229,002270: 
046230,002271: 00,3065           10135        LARGE              CCS      MPTEMP                                #  MOST ALL CASES COME HERE.
046231,002272: 00,3066           13074                           TCF      LARGE3                                #  SEE IF NO NORMALIZATION WAS REQUIRED BY
046232,002273: 
046233,002274: 00,3067           42024                           CS       SRDDV                                 #  SQRT, AND IF SO, SET UP FOR A SHIFT
046234,002275: 00,3070           54135                           TS       MPTEMP                                #  RIGHT 1 BEFORE DIVIDING TO PRODUCE
046235,002276: 00,3071           00006                           EXTEND                                         #  THE DESIRED HALF UNIT VECTOR.
046236,002277: 00,3072           30155                           DCA      MPAC                                  

Page 1069

046238,002279: 00,3073           13112                           TCF      LARGE2                                
046239,002280: 

Page 1070

046241,002282: 00,3074           40000        LARGE3             COM                                            #  LEAVE NEGATIVE OF SHIFT COUNT-1 FOR
046242,002283: 00,3075           54135                           TS       MPTEMP                                #  PREDIVIDE LEFT SHIFT.
046243,002284: 
046244,002285: 00,3076           40000                           COM                                            #  PICK UP REQUIRED SHIFTING BIT TO UNNORM-
046245,002286: 00,3077           50000                           INDEX    A                                     #  ALIZE THE SQRT RESULT.
046246,002287: 00,3100           34727                           CAF      BIT14                                 
046247,002288: 00,3101           54130                           TS       BUF                                   
046248,002289: 00,3102           00006                           EXTEND                                         
046249,002290: 00,3103           70155                           MP       MPAC       +1                         
046250,002291: 00,3104           56130                           XCH      BUF                                   
046251,002292: 00,3105           00006                           EXTEND                                         #  (UNNORMALIZE THE SQRT FOR LV).
046252,002293: 00,3106           70154                           MP       MPAC                                  
046253,002294: 00,3107           56001                           XCH      L                                     
046254,002295: 00,3110           60130                           AD       BUF                                   
046255,002296: 00,3111           56001                           XCH      L                                     
046256,002297: 
046257,002298: 00,3112           50120        LARGE2             INDEX    FIXLOC                                
046258,002299: 00,3113           52045                           DXCH     LV                                    #  LENGTH NOW STORED IN WORK AREA.
046259,002300: 
046260,002301: 00,3114           44744                           CS       ONE                                   
046261,002302: 00,3115           54140                           TS       MAXDVSW                               #  NO MAXDV CASES IN UNIT.
046262,002303: 
046263,002304: 00,3116           52123                           DXCH     VBUF                                  #  PREPARE X COMPONENT FOR DIVIDE, SETTING
046264,002305: 00,3117           52155                           DXCH     MPAC                                  #  LENGTH OF VECTOR AS DIVISOR IN BUF.
046265,002306: 00,3120           52131                           DXCH     BUF                                   
046266,002307: 00,3121           03151                           TC       UNITDV                                
046267,002308: 
046268,002309: 00,3122           52125                           DXCH     VBUF       +2                         #  DO Y AND Z IN USUAL FASHION SO WE CAN
046269,002310: 00,3123           52155                           DXCH     MPAC                                  #  EXIT THROUGH VROTATEX.
046270,002311: 00,3124           52160                           DXCH     MPAC       +3                         
046271,002312: 00,3125           03151                           TC       UNITDV                                
046272,002313: 
046273,002314: 00,3126           52127                           DXCH     VBUF       +4                         
046274,002315: 00,3127           52155                           DXCH     MPAC                                  
046275,002316: 00,3130           52162                           DXCH     MPAC       +5                         
046276,002317: 00,3131           03151                           TC       UNITDV                                
046277,002318: 00,3132           17441                           TCF      VROTATEX                              #  AND EXIT.
046278,002319: 

Page 1071

046280,002321:                                                                                                  #           IF THE LENGTH OF THE ARGUMENT VECTOR WAS LESS THAN 2(-28), EACH COMPONENT MUST BE SHIFTED LEFT AT LEAST
046281,002322:                                                                                                  #  14 PLACES BEFORE THE DIVIDE. NOTE THAT IN THIS CASE, THE MAJOR PART OF EACH COMPONENT IS ZERO.
046282,002323: 
046283,002324: 00,3133           54135        SMALL              TS       MPTEMP                                #  NEGATIVE OF PRE-DIVIDE SHIFT COUNT.
046284,002325: 
046285,002326: 00,3134           34746                           CAF      ZERO                                  #  SHIFT EACH COMPONENT LEFT 14.
046286,002327: 00,3135           56123                           XCH      VBUF       +1                         
046287,002328: 00,3136           56122                           XCH      VBUF                                  
046288,002329: 00,3137           56125                           XCH      VBUF       +3                         
046289,002330: 00,3140           56124                           XCH      VBUF       +2                         
046290,002331: 00,3141           56127                           XCH      VBUF       +5                         
046291,002332: 00,3142           56126                           XCH      VBUF       +4                         
046292,002333: 
046293,002334: 00,3143           40135                           CS       MPTEMP                                
046294,002335: 00,3144           50000                           INDEX    A                                     
046295,002336: 00,3145           34727                           CAF      BIT14                                 
046296,002337: 00,3146           00006                           EXTEND                                         
046297,002338: 00,3147           70154                           MP       MPAC                                  
046298,002339: 00,3150           13062                           TCF      SMALL2                                
046299,002340: 
046300,002341: 00,3151     4752               THIRTEEN           =        OCT15                                 
046301,002342: 00,3151     4310               FOURTEEN           =        OCT16                                 
046302,002343: 00,3151     4310               OCT16              =        R1D1                                  
046303,002344: 

Page 1072

046305,002346:                                                                                                  #           THE FOLLOWING ROUTINE SETS UP THE CALL TO THE DIVIDE ROUTINES.
046306,002347: 
046307,002348: 00,3151           10154        UNITDV             CCS      MPAC                                  #  FORCE MPAC POSITIVE IF POSSIBLE, SETTING
046308,002349: 00,3152           13170                           TCF      UMPAC+                                #  DVSIGN ACCORDING TO THE SIGN OF MPAC
046309,002350: 00,3153           13155                           TCF      +2                                    #  SINCE THE DIVISOR IS ALWAYS POSITIVE
046310,002351: 00,3154           13162                           TCF      UMPAC-                                #  HERE.
046311,002352: 
046312,002353: 00,3155           10155                           CCS      MPAC       +1                         
046313,002354: 00,3156           13170                           TCF      UMPAC+                                
046314,002355: 00,3157           00002                           TC       Q                                     #  EXIT IMMEDIATELY ON ZERO.
046315,002356: 00,3160           13162                           TCF      UMPAC-                                
046316,002357: 00,3161           00002                           TC       Q                                     
046317,002358: 
046318,002359: 00,3162           44746        UMPAC-             CS       ZERO                                  #  IF NEGATIVE, SET -0 IN DVSIGN FOR FINAL
046319,002360: 00,3163           54136                           TS       DVSIGN                                #  COMPLEMENT.
046320,002361: 00,3164           00006                           EXTEND                                         
046321,002362: 00,3165           40155                           DCS      MPAC                                  #  PICK UP ABSOLUTE VALUE OF ARG AND JUMP.
046322,002363: 00,3166           50135                           INDEX    MPTEMP                                
046323,002364: 00,3167           12564                           TCF      MAXTEST    -1                         
046324,002365: 
046325,002366: 00,3170           54136        UMPAC+             TS       DVSIGN                                #  SET DVSIGN FOR POSITIVE QUOTIENT.
046326,002367: 00,3171           52155                           DXCH     MPAC                                  
046327,002368: 00,3172           50135                           INDEX    MPTEMP                                
046328,002369: 00,3173           12564                           TCF      MAXTEST    -1                         
046329,002370: 

Page 1073

046331,002372:                                                                                                  #           MISCELLANEOUS UNARY OPERATIONS.
046332,002373: 
046333,002374: 00,3174           03300        DSQ                TC       DSQSUB                                #  SQUARE THE DP CONTENTS OF MPAC.
046334,002375: 00,3175           16102                           TCF      DANZIG                                
046335,002376: 
046336,002377: 00,3176           10163        ABVALABS           CCS      MODE                                  #  ABVAL OR ABS INSTRUCTION.
046337,002378: 00,3177           13226                           TCF      ABS                                   #  DO ABS ON SCALAR.
046338,002379: 00,3200           13226                           TCF      ABS                                   
046339,002380: 
046340,002381: 00,3201           03317        ABVAL              TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
046341,002382: 00,3202           22163                           LXCH     MODE                                  #  MODE IS NOW DP (L ZERO AFTER DAS).
046342,002383: 
046343,002384: 00,3203           00006                           EXTEND                                         #  STORE SQUARE OF LENGTH IN WORK AREA.
046344,002385: 00,3204           30155                           DCA      MPAC                                  
046345,002386: 00,3205           50120                           INDEX    FIXLOC                                
046346,002387: 00,3206           52043                           DXCH     LVSQUARE                              
046347,002388: 

Page 1074

046349,002390:                                                                                                  #  PROGRAM DESCRIPTION- SUBROUTINE SQRT
046350,002391:                                                                                                  #  FUNCTIONAL DESCRIPTION-DOUBLE PRECISION SQUARE ROOT ROUTINE
046351,002392:                                                                                                  #      THIS PROGRAM TAKES THE SQUARE ROOT OF THE 27 OR 28 MOST SIGNIFICANT BITS IN THE TRIPLE PRECISION SET OF
046352,002393:                                                                                                  #      NUMBERS-MPAC,MPAC+1,AND MPAC+2.  THE ROOT IS RETURNED DOUBLE        PRECISION IN MPAC AND MPAC+1.
046353,002394:                                                                                                  #  WARNING- THIS SUBROUTINE USES A TRIPLE PRECISION INPUT. THE PROGRAMMER  MUST ASSURE THE CONTENTS OF MPAC+2
046354,002395:                                                                                                  #      ESPECIALLY IF THE CONTENTS OF MPAC IS SMALL OR ZERO.  FOR DETAILS SEE STG MEMO NO.949.
046355,002396:                                                                                                  #  CALLING SEQUENCE- IN INTERPRETIVE MODE I.E., FOLLOWING TC  INTPRET,SQRT   NO ADDRESS IS ALLOWED
046356,002397:                                                                                                  #  INPUT SCALING  THE BINARY POINT IS ASSUMED TO THE RIGHT OF BIT 15. THE  ANSWER IS RETURNED WITH THE SAME SCALING
046357,002398:                                                                                                  #  SUBROUTINES- GENSCR,MPACSHR, SQRTSUB,ABORT
046358,002399:                                                                                                  #  ABORT EXIT MODE- ABORTS ON NEGATIVE INPUT -1.2X10E-4 (77775  OCTAL)     OR LESS.
046359,002400:                                                                                                  #      DISPLAYS ERROR CODE 1302
046360,002401:                                                                                                  #                  TC   ABORT
046361,002402:                                                                                                  #                  OCT  1302
046362,002403:                                                                                                  #  DEBRIS -  LOCATIONS BUF,MPTEMP,ADDRWD ARE USED
046363,002404: 00,3207           03343        SQRT               TC       SQRTSUB                               #  TAKE THE SQUARE ROOT OF MPAC.
046364,002405: 00,3210           10135                           CCS      MPTEMP                                #  RETURNED NORMALIZED SQUARE ROOT. SEE IF
046365,002406: 00,3211           13213                           TCF      +2                                    #  ANY UN-NORMALIZATION REQUIRED AND EXIT
046366,002407: 00,3212           16102                           TCF      DANZIG                                #  IF NOT.
046367,002408: 
046368,002409: 00,3213           63733                           AD       NEG12                                 #  A RIGHT SHIFT OF MORE THAN 13 COULD BE
046369,002410: 00,3214           00006                           EXTEND                                         #  REQUIRED IF INPUT WAS ZERO IN MPAC,+1.
046370,002411: 00,3215           63221                           BZMF     SQRTSHFT                              #  GOES HERE IN MOST CASES.
046371,002412: 00,3216           22007                           ZL                                             #  IF A LONG SHIFT IS REQUIRED, GO TO
046372,002413: 00,3217           22116                           LXCH     ADDRWD                                #  GENERAL RIGHT SHIFT ROUTINES.
046373,002414: 00,3220           12303                           TCF      GENSCR     +4                         #  ADDRWD WAS ZERO TO PREVENT ROUND.
046374,002415: 
046375,002416: 00,3221           50135        SQRTSHFT           INDEX    MPTEMP                                #  SELECT SHIFTING BIT AND EXIT THROUGH
046376,002417: 00,3222           34726                           CAF      BIT15                                 #  SHIFT ROUTINES.
046377,002418: 00,3223           54135                           TS       MPTEMP                                
046378,002419: 00,3224           34746                           CAF      ZERO                                  #  TO ZERO MPAC +2 IN THE PROCESS.
046379,002420: 00,3225           12036                           TCF      MPACSHR    +3                         
046380,002421: 
046381,002422: 00,3226           06744        ABS                TC       BRANCH                                #  TEST SIGN OF MPAC AND COMPLEMENT IF
046382,002423: 00,3227           16102                           TCF      DANZIG                                
046383,002424: 00,3230           16102                           TCF      DANZIG                                
046384,002425: 00,3231           17711                           TCF      COMP                                  
046385,002426: 

Page 1075

046387,002428: 00,3232           44742        VDEF               CS       FOUR                                  #  VECTOR DEFINE - ESSENTIALLY TREATS
046388,002429: 00,3233           26166                           ADS      PUSHLOC                               #  SCALAR IN MPAC AS X COMPONENT, PUSHES UP
046389,002430: 00,3234           00006                           EXTEND                                         #  FOR Y AND THEN AGAIN FOR Z.
046390,002431: 00,3235           50000                           INDEX    A                                     
046391,002432: 00,3236           30003                           DCA      2                                     
046392,002433: 00,3237           52160                           DXCH     MPAC       +3                         
046393,002434: 00,3240           00006                           EXTEND                                         
046394,002435: 00,3241           50166                           INDEX    PUSHLOC                               
046395,002436: 00,3242           30001                           DCA      0                                     
046396,002437: 00,3243           52162                           DXCH     MPAC       +5                         
046397,002438: 00,3244           16542                           TCF      VMODE                                 #  MODE IS NON VECTOR.
046398,002439: 
046399,002440: 00,3245           03317        VSQ                TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
046400,002441: 00,3246           17353                           TCF      DMODE                                 #  MODE IS NOW DP.
046401,002442: 
046402,002443: 00,3247           00006        PUSH               EXTEND                                         #  PUSH DOWN MPAC LEAVING IT LOADED.
046403,002444: 00,3250           30155                           DCA      MPAC                                  
046404,002445: 00,3251           50166                           INDEX    PUSHLOC                               #  PUSH DOWN FIRST TWO REGISTERS IN EACH
046405,002446: 00,3252           52001                           DXCH     0                                     
046406,002447: 
046407,002448: 00,3253           50163                           INDEX    MODE                                  #  INCREMENT PUSHDOWN POINTER.
046408,002449: 00,3254           36265                           CAF      NO.WDS                                
046409,002450: 00,3255           26166                           ADS      PUSHLOC                               
046410,002451: 
046411,002452: 00,3256           10163                           CCS      MODE                                  
046412,002453: 00,3257           13272                           TCF      TPUSH                                 #  PUSH DOWN MPAC +2.
046413,002454: 00,3260           16102                           TCF      DANZIG                                #  DONE FOR DP.
046414,002455: 
046415,002456: 00,3261           00006                           EXTEND                                         #  ON VECTOR, PUSH DOWN Y AND Z COMPONENTS.
046416,002457: 00,3262           30160                           DCA      MPAC       +3                         
046417,002458: 00,3263           50166                           INDEX    PUSHLOC                               
046418,002459: 00,3264           51775                           DXCH     0          -4                         
046419,002460: 00,3265           00006                           EXTEND                                         
046420,002461: 00,3266           30162                           DCA      MPAC       +5                         
046421,002462: 00,3267           50166                           INDEX    PUSHLOC                               
046422,002463: 00,3270           51777                           DXCH     0          -2                         
046423,002464: 00,3271           16102                           TCF      DANZIG                                
046424,002465: 
046425,002466: 00,3272           30156        TPUSH              CA       MPAC       +2                         
046426,002467: 00,3273           16575                           TCF      ENDTPUSH   +2                         
046427,002468: 
046428,002469: 00,3274           50120        RVQ                INDEX    FIXLOC                                #  RVQ - RETURN IVA QPRET.
046429,002470: 00,3275           30052                           CA       QPRET                                 
046430,002471: 00,3276           54117                           TS       POLISH                                
046431,002472: 00,3277           16673                           TCF      GOTO       +4                         #  (ASSUME QPRET POINTS TO FIXED ONLY.)
046432,002473: 

Page 1076

046434,002475:                                                                                                  #           THE FOLLOWING SUBROUTINES ARE USED IN SQUARING MPAC, IN BOTH THE SCALAR AND VECTOR SENSE. THEY ARE
046435,002476:                                                                                                  #  SPECIAL CASES OF DMPSUB AND DOTSUB, PUT IN TO SAVE SOME TIME.
046436,002477: 
046437,002478: 00,3300           30155        DSQSUB             CA       MPAC       +1                         #  SQUARES THE SCALAR CONTENTS OF MPAC.
046438,002479: 00,3301           00006                           EXTEND                                         
046439,002480: 00,3302           70000                           SQUARE                                         
046440,002481: 00,3303           54156                           TS       MPAC       +2                         
046441,002482: 00,3304           34746                           CAF      ZERO                                  #  FORM 2(CROSS TERM).
046442,002483: 00,3305           56155                           XCH      MPAC       +1                         
046443,002484: 00,3306           00006                           EXTEND                                         
046444,002485: 00,3307           70154                           MP       MPAC                                  
046445,002486: 00,3310           20001                           DDOUBL                                         #  AND MAYBE OVERFLOW.
046446,002487: 00,3311           20156                           DAS      MPAC       +1                         #  AND SET A TO NET OVERFLOW.
046447,002488: 00,3312           56154                           XCH      MPAC                                  
046448,002489: 00,3313           00006                           EXTEND                                         
046449,002490: 00,3314           70000                           SQUARE                                         
046450,002491: 00,3315           20155                           DAS      MPAC                                  
046451,002492: 00,3316           00002                           TC       Q                                     
046452,002493: 
046453,002494: 00,3317           00006        VSQSUB             EXTEND                                         #  DOTS THE VECTOR IN MPAC WITH ITSELF.
046454,002495: 00,3320           22137                           QXCH     DOTRET                                
046455,002496: 00,3321           03300                           TC       DSQSUB                                #  SQUARE THE X COMPONENT.
046456,002497: 00,3322           52160                           DXCH     MPAC       +3                         
046457,002498: 00,3323           52155                           DXCH     MPAC                                  
046458,002499: 00,3324           52131                           DXCH     BUF                                   #  SO WE CAN END IN DOTSUB.
046459,002500: 00,3325           30156                           CA       MPAC       +2                         
046460,002501: 00,3326           54132                           TS       BUF        +2                         
046461,002502: 
046462,002503: 00,3327           03300                           TC       DSQSUB                                #  SQUARE Y COMPONENT.
046463,002504: 00,3330           52156                           DXCH     MPAC       +1                         
046464,002505: 00,3331           20132                           DAS      BUF        +1                         
046465,002506: 00,3332           60154                           AD       MPAC                                  
046466,002507: 00,3333           60130                           AD       BUF                                   
046467,002508: 00,3334           54130                           TS       BUF                                   
046468,002509: 00,3335           13337                           TCF      +2                                    
046469,002510: 00,3336           54121                           TS       OVFIND                                #  IF OVERFLOW.
046470,002511: 
046471,002512: 00,3337           52162                           DXCH     MPAC       +5                         
046472,002513: 00,3340           52155                           DXCH     MPAC                                  
046473,002514: 00,3341           03300                           TC       DSQSUB                                #  SQUARE Z COMPONENT.
046474,002515: 00,3342           17226                           TCF      ENDDOT                                #  END AS IN DOTSUB.
046475,002516: 

Page 1077

046477,002518:                                                                                                  #           DOUBLE PRECISION SQUARE ROOT ROUTINE. TAKE THE SQUARE ROOT OF THE TRIPLE PRECISION (MPAC +2 USED ONLY
046478,002519:                                                                                                  #  IN NORMALIZATION) CONTENTS OF MPAC AND LEAVE THE NORMALIZED RESULT IN MPAC (C(MPAC) GREATER THAN OR EQUAL TO
046479,002520:                                                                                                  #  .5). THE RIGHT SHIFT COUNT (TO UNNORMALIZE) IS LEFT IN MPTEMP.
046480,002521: 
046481,002522: 00,3343           34746        SQRTSUB            CAF      ZERO                                  #  START BY ZEROING RIGHT SHIFT COUNT.
046482,002523: 00,3344           54135                           TS       MPTEMP                                
046483,002524: 
046484,002525: 00,3345           10154                           CCS      MPAC                                  #  CHECK FOR POSITIVE ARGUMENT, SHIFTING
046485,002526: 00,3346           13405                           TCF      SMPAC+                                #  FIRST SIGNIFICANT MPAC REGISTER INTO
046486,002527: 00,3347           13351                           TCF      +2                                    #  MPAC ITSELF.
046487,002528: 00,3350           13373                           TCF      SQRTNEG                               #  SEE IF MAG OF ARGUMENT LESS THAN 10(-4).
046488,002529: 
046489,002530: 00,3351           56156                           XCH      MPAC       +2                         #  MPAC IS ZERO - SHIFT LEFT 14.
046490,002531: 00,3352           56155                           XCH      MPAC       +1                         
046491,002532: 00,3353           54154                           TS       MPAC                                  
046492,002533: 00,3354           34750                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
046493,002534: 00,3355           54135                           TS       MPTEMP                                
046494,002535: 
046495,002536: 00,3356           10154                           CCS      MPAC                                  #  SEE IF MPAC NOW PNZ.
046496,002537: 00,3357           13405                           TCF      SMPAC+                                
046497,002538: 00,3360           13362                           TCF      +2                                    
046498,002539: 00,3361           13376                           TCF      ZEROANS                               #  NEGATIVE BUT LESS THAN 10(-4) IN MAG.
046499,002540: 
046500,002541: 00,3362           56155                           XCH      MPAC       +1                         #  ZERO - SHIFT LEFT 14 AGAIN.
046501,002542: 00,3363           54154                           TS       MPAC                                  
046502,002543: 00,3364           34750                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
046503,002544: 00,3365           26135                           ADS      MPTEMP                                
046504,002545: 
046505,002546: 00,3366           10154                           CCS      MPAC                                  
046506,002547: 00,3367           13405                           TCF      SMPAC+                                
046507,002548: 00,3370           00002                           TC       Q                                     #  SQRT(0) = 0.
046508,002549: 00,3371           13376                           TCF      ZEROANS                               
046509,002550: 00,3372           13453                           TCF      FIXROOT                               #  DO NOT LEAVE SQRTSUB WITH -0 IN MPAC.
046510,002551: 
046511,002552: 00,3373           10000        SQRTNEG            CCS      A                                     #  ARGUMENT IS NEGATIVE, BUT SEE IF SIGN-
046512,002553: 00,3374           13402                           TCF      SQRTABRT                              #  CORRECTED ARGUMENT IS LESS THAN 10(-4)
046513,002554: 
046514,002555: 00,3375           10155                           CCS      MPAC       +1                         #  IN MAGNITUDE. IF SO, CALL ANSWER ZERO.
046515,002556: 00,3376           34746        ZEROANS            CAF      ZERO                                  #  FORCE ANSWER TO ZERO HERE.
046516,002557: 00,3377           13453                           TCF      FIXROOT                               
046517,002558: 00,3400           13402                           TCF      SQRTABRT                              
046518,002559: 00,3401           13453                           TCF      FIXROOT                               
046519,002560: 
046520,002561: 00,3402           52165        SQRTABRT           DXCH     LOC                                   
046521,002562: 00,3403           05722                           TC       POODOO1                               
046522,002563: 00,3404           21302                           OCT      21302                                 
046523,002564: 
046524,002565: 00,3405           62444        SMPAC+             AD       -1/2+2                                #  SEE IF ARGUMENT GREATER THAN OR EQUAL TO

Page 1078

046526,002567: 00,3406           00006                           EXTEND                                         #  .5.
046527,002568: 00,3407           63456                           BZMF     SRTEST                                #  IF SO, SEE IF LESS THAN .25.
046528,002569: 
046529,002570: 00,3410           52155                           DXCH     MPAC                                  #  WE WILL TAKE THE SQUARE ROOT OF MPAC/2.
046530,002571: 00,3411           22021                           LXCH     SR                                    #  SHIFT RIGHT 1 AND GO TO THE SQRT ROUTINE
046531,002572: 00,3412           00006                           EXTEND                                         
046532,002573: 00,3413           74727                           MP       HALF                                  
046533,002574: 00,3414           52155                           DXCH     MPAC                                  
046534,002575: 00,3415           56021                           XCH      SR                                    
046535,002576: 00,3416           26155                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
046536,002577: 
046537,002578: 00,3417           32314        ARGHI              CAF      SLOPEHI                               #  ARGUMENT BETWEEN .25 AND .5. GET A
046538,002579: 00,3420           00006                           EXTEND                                         #  LINEAR APPROXIMATION FOR THIS RANGE.
046539,002580: 00,3421           70154                           MP       MPAC                                  
046540,002581: 00,3422           62566                           AD       BIASHI                                #  X0/2 = (MPAC/2)(SLOPEHI) + BIASHI/2.
046541,002582: 
046542,002583: 00,3423           54130                 +4        TS       BUF                                   #  X0/2 (ARGLO ENTERS HERE).
046543,002584: 00,3424           30154                           CA       MPAC                                  #  SINGLE-PRECISION THROUGHOUT.
046544,002585: 00,3425           22007                           ZL                                             
046545,002586: 00,3426           00006                           EXTEND                                         
046546,002587: 00,3427           10130                           DV       BUF                                   #  (MPAC/2)/(X0/2)
046547,002588: 00,3430           00006                           EXTEND                                         
046548,002589: 00,3431           74727                           MP       HALF                                  
046549,002590: 00,3432           26130                           ADS      BUF                                   #  X1 = X0/2 + .5(MPAC/2)/(X0/2).
046550,002591: 
046551,002592: 00,3433           00006                           EXTEND                                         
046552,002593: 00,3434           74727                           MP       HALF                                  #  FORM UP X1/2.
046553,002594: 00,3435           52155                           DXCH     MPAC                                  #  SAVE AND BRING OUT ARGUMENT.
046554,002595: 00,3436           00006                           EXTEND                                         #  TAKE DP QUOTIENT WITH X1.
046555,002596: 00,3437           10130                           DV       BUF                                   
046556,002597: 00,3440           54131                           TS       BUF        +1                         #  SAVE MAJOR PART OF QUOTIENT.
046557,002598: 00,3441           34746                           CAF      ZERO                                  #  FORM MINOR PART OF QUOTIENT USING
046558,002599: 00,3442           56001                           XCH      L                                     #  (REMAINDER,0).
046559,002600: 00,3443           00006                           EXTEND                                         
046560,002601: 00,3444           10130                           DV       BUF                                   
046561,002602: 00,3445           54001                           TS       L                                     #  IN PREPARATION FOR DAS.
046562,002603: 00,3446           30131                           CA       BUF        +1                         
046563,002604: 00,3447           20155                           DAS      MPAC                                  #  X2 = X1/2 + (MPAC/2)X1
046564,002605: 
046565,002606: 00,3450           00006                           EXTEND                                         #  OVERFLOWS IF ARG. NEAR POSMAX.
046566,002607: 00,3451           13455                           BZF      TCQBNK00                              
046567,002608: 00,3452           34724                           CAF      POSMAX                                
046568,002609: 00,3453           54154        FIXROOT            TS       MPAC                                  
046569,002610: 00,3454           54155                           TS       MPAC       +1                         
046570,002611: 00,3455           00002        TCQBNK00           TC       Q                                     #  RETURN TO CALLER TO UNNORMALIZE, ETC.
046571,002612: 

Page 1079

046573,002614: 00,3456           64730        SRTEST             AD       QUARTER                               #  ARGUMENT WAS LESS THAN .5, SEE IF LESS
046574,002615: 00,3457           00006                           EXTEND                                         #  THAN .25.
046575,002616: 00,3460           63502                           BZMF     SQRTNORM                              #  IF SO, BEGIN NORMALIZATION.
046576,002617: 
046577,002618: 00,3461           52155                           DXCH     MPAC                                  #  IF BETWEEN .5 AND .25, SHIFT RIGHT 1 AND
046578,002619: 00,3462           22021                           LXCH     SR                                    #  START AT ARGLO.
046579,002620: 00,3463           00006                           EXTEND                                         
046580,002621: 00,3464           74727                           MP       HALF                                  
046581,002622: 00,3465           52155                           DXCH     MPAC                                  
046582,002623: 00,3466           56021                           XCH      SR                                    
046583,002624: 00,3467           26155                           ADS      MPAC       +1                         #  NO OVERFLOW.
046584,002625: 
046585,002626: 00,3470           33007        ARGLO              CAF      SLOPELO                               #  (NORMALIZED) ARGUMENT BETWEEN .125 AND
046586,002627: 00,3471           00006                           EXTEND                                         #  .25
046587,002628: 00,3472           70154                           MP       MPAC                                  
046588,002629: 00,3473           62270                           AD       BIASLO                                
046589,002630: 00,3474           13423                           TCF      ARGHI      +4                         #  BEGIN SQUARE ROOT.
046590,002631: 
046591,002632: 00,3475           00006        SQRTNM2            EXTEND                                         #  SHIFT LEFT 2 AND INCREMENT RIGHT SHIFT
046592,002633: 00,3476           30156                           DCA      MPAC       +1                         #  COUNT (FOR TERMINAL UNNORMALIZATION).
046593,002634: 00,3477           20156                           DAS      MPAC       +1                         
046594,002635: 00,3500           60154                           AD       MPAC                                  
046595,002636: 00,3501           26154                           ADS      MPAC                                  #  (NO OVERFLOW).
046596,002637: 
046597,002638: 00,3502           24135        SQRTNORM           INCR     MPTEMP                                #  FIRST TIME THROUGH, JUST SHIFT LEFT 1
046598,002639: 00,3503           00006                           EXTEND                                         #  (PUTS IN EFFECTIVE RIGHT SHIFT SINCE
046599,002640: 00,3504           30156                           DCA      MPAC       +1                         #  WE WANT MPAC/2).
046600,002641: 00,3505           20156                           DAS      MPAC       +1                         
046601,002642: 00,3506           60154                           AD       MPAC                                  
046602,002643: 00,3507           26154                           ADS      MPAC                                  #  (AGAIN NO OVERFLOW).
046603,002644: 00,3510           60000                           DOUBLE                                         
046604,002645: 00,3511           54022                           TS       CYL                                   
046605,002646: 
046606,002647: 00,3512           10022        NORMTEST           CCS      CYL                                   #  SEE IF ARGUMENT NOW NORMALIZED AT
046607,002648: 00,3513           10022                           CCS      CYL                                   #  GREATER THAN .125.
046608,002649: 00,3514           13475                           TCF      SQRTNM2                               #  NO - SHIFT LEFT 2 MORE AND TRY AGAIN.
046609,002650: 00,3515           13417                           TCF      ARGHI                                 #  YES - NOW BETWEEN .5 AND .25.
046610,002651: 00,3516           13470                           TCF      ARGLO                                 #  ARGUMENT NOW BETWEEN .25 AND .125.
046611,002652: 

Page 1080

046613,002654:                                                                                                  #  TRIGONOMETRIC FUNCTION PACKAGE.
046614,002655: 
046615,002656:                                                                                                  #           THE FOLLOWING TRIGONOMETRIC FUNCTIONS ARE AVAILABLE AS INTERPRETIVE OPERATIONS:
046616,002657: 
046617,002658:                                                                                                  #           1.  SIN                COMPUTES (1/2)SINE(2 PI MPAC).
046618,002659:                                                                                                  #           2.  COS                COMPUTES (1/2)COSINE(2 PI MPAC).
046619,002660: 
046620,002661:                                                                                                  #           3.  ASIN               COMPUTES (1/2PI)ARCSINE(2 MPAC).
046621,002662:                                                                                                  #           4.  ACOS               COMPUTES (1/2PI)ARCCOSINE(2 MPAC).
046622,002663: 
046623,002664:                                                                                                  #  SIN-ASIN AND COS-ACOS ARE MUTUALLY INVERSE, IE SIN(ASIN(X)) = X.
046624,002665: 
046625,002666: 00,3517           06744        COSINE             TC       BRANCH                                #  FINDS COSINE USING THE IDENTITY
046626,002667: 00,3520           13523                           TCF      +3                                    #  COS(X) = SIN(PI/2 - ABS(X)).
046627,002668: 00,3521           13526                           TCF      PRESINE                               
046628,002669: 00,3522           13526                           TCF      PRESINE                               
046629,002670: 
046630,002671: 00,3523           00006                 +3        EXTEND                                         
046631,002672: 00,3524           40155                           DCS      MPAC                                  
046632,002673: 00,3525           52155                           DXCH     MPAC                                  
046633,002674: 
046634,002675: 00,3526           34730        PRESINE            CAF      QUARTER                               #  PI/2 SCALED.
046635,002676: 00,3527           26154                           ADS      MPAC                                  
046636,002677: 
046637,002678: 
046638,002679: 00,3530           52155        SINE               DXCH     MPAC                                  #  DOUBLE ARGUMENT.
046639,002680: 00,3531           20001                           DDOUBL                                         
046640,002681: 00,3532           54000                           OVSK                                           #  SEE IF OVERFLOW PRESENT.
046641,002682: 00,3533           13536                           TCF      +3                                    #  IF NOT, ARGUMENT OK AS IS.
046642,002683: 
046643,002684: 00,3534           00006                           EXTEND                                         #  IF SO, WE LOST (OR GAINED) PI, SO
046644,002685: 00,3535           40001                           DCOM                                           #  COMPLEMENT MPAC USING THE IDENTITY
046645,002686:                                                                                                  #  SIN(X-(+)PI) = SIN(-X).
046646,002687: 00,3536           52155                 +3        DXCH     MPAC                                  
046647,002688: 00,3537           30154                           CA       MPAC                                  #  SEE IF ARGUMENT GREATER THAN .5 IN
046648,002689: 00,3540           60000                           DOUBLE                                         #  MAGNITUDE. IF SO, REDUCE IT TO LESS THAN
046649,002690: 00,3541           54001                           TS       L                                     #  .5 (+-PI/2 SCALED) AS FOLLOWS:
046650,002691: 00,3542           13553                           TCF      SN1                                   
046651,002692: 
046652,002693: 00,3543           50000                           INDEX    A                                     #  IF POSITIVE, FORM PI - X, IF NEGATIVE
046653,002694: 00,3544           34726                           CAF      NEG1/2     +1                         #  USE -PI - X.
046654,002695: 00,3545           60000                           DOUBLE                                         
046655,002696: 00,3546           00006                           EXTEND                                         
046656,002697: 00,3547           60154                           SU       MPAC                                  #  GUARANTEED NO OVERFLOW.
046657,002698: 00,3550           54154                           TS       MPAC                                  
046658,002699: 00,3551           40155                           CS       MPAC       +1                         
046659,002700: 00,3552           54155                           TS       MPAC       +1                         
046660,002701: 

Page 1081

046662,002703: 00,3553           00006        SN1                EXTEND                                         #  SET UP TO EVALUATE HASTINGS POLYNOMIAL
046663,002704: 00,3554           30155                           DCA      MPAC                                  
046664,002705: 00,3555           52134                           DXCH     BUF2                                  
046665,002706: 00,3556           03300                           TC       DSQSUB                                #  SQUARE MPAC.
046666,002707: 
046667,002708: 00,3557           07243                           TC       POLY                                  #  EVALUATE FOURTH ORDER POLYNOMIAL.
046668,002709: 00,3560           00003                           DEC      3          B-14                       
046669,002710: 00,3561           14441 37325                     2DEC     +.3926990796                            
046670,002711: 
046671,002712: 00,3563           53250 60764                     2DEC     -.6459637111                            
046672,002713: 
046673,002714: 00,3565           12146 21276                     2DEC     +.318758717                            
046674,002715: 
046675,002716: 00,3567           75466 71471                     2DEC     -.074780249                            
046676,002717: 
046677,002718: 00,3571           00236 32757                     2DEC     +.009694988                            
046678,002719: 
046679,002720: 
046680,002721: 00,3573           32470                           CAF      LBUF2                                 #  MULTIPLY BY ARGUMENT AND SHIFT LEFT 2.
046681,002722: 00,3574           07127                           TC       DMPSUB     -1                         
046682,002723: 
046683,002724: 00,3575           00006                           EXTEND                                         
046684,002725: 00,3576           30156                           DCA      MPAC       +1                         
046685,002726: 00,3577           20156                           DAS      MPAC       +1                         
046686,002727: 00,3600           60154                           AD       MPAC                                  
046687,002728: 00,3601           26154                           ADS      MPAC                                  #  NEITHER SHIFT OVERFLOWS.
046688,002729: 00,3602           00006                           EXTEND                                         
046689,002730: 00,3603           30156                           DCA      MPAC       +1                         
046690,002731: 00,3604           20156                           DAS      MPAC       +1                         
046691,002732: 00,3605           60154                           AD       MPAC                                  
046692,002733: 00,3606           26154                           ADS      MPAC                                  
046693,002734: 00,3607           16102                           TCF      DANZIG                                
046694,002735: 

Page 1082

046696,002737:                                                                                                  #           ARCSIN/ARCCOS ROUTINE.
046697,002738: 
046698,002739: 00,3610           33631        ARCSIN             CAF      LASINEX                               #  COMPUTE ARCSIN BY USING THE IDENTITY
046699,002740: 00,3611           13613                           TCF      +2                                    #  ARCSIN(X) = PI/2 - ARCCOS(X).
046700,002741: 
046701,002742: 00,3612           33713        ARCCOS             CAF      LDANZIG                               #  (EXITS IMMEDIATELY).
046702,002743: 00,3613           54136                           TS       ESCAPE                                
046703,002744: 00,3614           06744                           TC       BRANCH                                #  TEST SIGN OF INPUT.
046704,002745: 00,3615           13625                           TCF      ACOSST                                #  START IMMEDIATELY IF POSITIVE.
046705,002746: 00,3616           13731                           TCF      ACOSZERO                              #  ARCCOS(0) = PI/2 = .25.
046706,002747: 00,3617           00006                           EXTEND                                         #  IF NEGATIVE, USE THE IDENTITY
046707,002748: 00,3620           40155                           DCS      MPAC                                  #  ARCCOS(X) = PI - ARCCOS(-X), FORCING
046708,002749: 00,3621           52155                           DXCH     MPAC                                  #  ARGUMENT POSITIVE.
046709,002750: 00,3622           33734                           CAF      TCSUBTR                               #  SET EXIT  TO DO ABOVE BEFORE
046710,002751: 00,3623           56136                           XCH      ESCAPE                                #  ARCSIN/ARCCOS CONSIDERATIONS.
046711,002752: 00,3624           54137                           TS       ESCAPE2                               
046712,002753: 
046713,002754: 00,3625           44727        ACOSST             CS       HALF                                  #  TEST MAGNITUDE OF INPUT.
046714,002755: 00,3626           60154                           AD       MPAC                                  
046715,002756: 00,3627           10000                           CCS      A                                     
046716,002757: 00,3630           13721                           TCF      ACOSOVF                               #  THIS IS PROBABLY AN OVERFLOW CASE.
046717,002758: 
046718,002759: 00,3631           13707        LASINEX            TCF      ASINEX                                
046719,002760: 
046720,002761: 00,3632           13642                           TCF      ACOSST2                               #  NO OVERFLOW - PROCEED.
046721,002762: 
046722,002763: 00,3633           10155                           CCS      MPAC       +1                         #  IF MAJOR PART IS .5, CALL ANSWER 0
046723,002764: 00,3634           34746                           CAF      ZERO                                  #  UNLESS MINOR PART NEGATIVE.
046724,002765: 00,3635           13637                           TCF      ACOS=0                                
046725,002766: 
046726,002767: 00,3636           13642                           TCF      ACOSST2                               
046727,002768: 
046728,002769: 00,3637           54155        ACOS=0             TS       MPAC       +1                         
046729,002770: 00,3640           54154                           TS       MPAC                                  
046730,002771: 00,3641           00136                           TC       ESCAPE                                
046731,002772: 
046732,002773: 00,3642           00006        ACOSST2            EXTEND                                         #  NOW THAT ARGUMENT IS IN PROPER RANGE,
046733,002774: 00,3643           40155                           DCS      MPAC                                  #  BEGIN COMPUTATION. USE HASTINGS
046734,002775: 00,3644           64727                           AD       HALF                                  #  APPROXIMATION ARCCOS(X) = SQRT(1-X)P(X)
046735,002776: 00,3645           52155                           DXCH     MPAC                                  #  IN A SCALED VERSION WHERE P(X) IS A
046736,002777: 00,3646           52134                           DXCH     BUF2                                  #  SEVENTH ORDER POLYNOMIAL.
046737,002778: 
046738,002779: 00,3647           03343                           TC       SQRTSUB                               #  RETURNS WITH NORMALIZED SQUARE ROOT.
046739,002780: 
046740,002781: 00,3650           10135                           CCS      MPTEMP                                #  SEE IF UN-NORMALIZATION REQUIRED.
046741,002782: 00,3651           13714                           TCF      ACOSSHR                               #  IF SO.
046742,002783: 

Page 1083

046744,002785: 00,3652           52155        ACOS3              DXCH     MPAC                                  #  SET UP FOR POLYNOMIAL EVALUATION.
046745,002786: 00,3653           52134                           DXCH     BUF2                                  
046746,002787: 00,3654           52155                           DXCH     MPAC                                  
046747,002788: 
046748,002789: 00,3655           07243                           TC       POLY                                  
046749,002790: 00,3656           00006                           DEC      6          B-14                       
046750,002791: 00,3657           13240 23630                     2DEC     +.353553385                            #  COEFFICIENTS ARE C 2(+I)/PISQRT(2) WHERE
046751,002792: 
046752,002793: 00,3661           74721 47775                     2DEC*    -.0483017006 B+1*                       #                    I
046753,002794: 
046754,002795: 00,3663           02440 20237                     2DEC*    +.0200273085 B+2*                       #       WHERE C STANDS FOR ORIGINAL COEFFS.
046755,002796: 
046756,002797: 00,3665           75067 70742                     2DEC*    -.0112931863 B+3*                       
046757,002798: 
046758,002799: 00,3667           03436 26756                     2DEC*    +.00695311612 B+4*                       
046759,002800: 
046760,002801: 00,3671           74037 57640                     2DEC*    -.00384617957 B+5*                       
046761,002802: 
046762,002803: 00,3673           03046 07143                     2DEC*    +.001501297736 B+6*                       
046763,002804: 
046764,002805: 00,3675           76654 42244                     2DEC*    -.000284160334 B+7*                       
046765,002806: 
046766,002807: 
046767,002808: 00,3677           32470                           CAF      LBUF2                                 #  DO FINAL MULTIPLY AND GO TO ANY
046768,002809: 00,3700           07127                           TC       DMPSUB     -1                         #  EPILOGUE SEQUENCES.
046769,002810: 00,3701           00136                           TC       ESCAPE                                
046770,002811: 
046771,002812: 00,3702           00006        SUBTR              EXTEND                                         #  EPILOGUE FOR NEGATIVE INPUTS TO ARCCOS.
046772,002813: 00,3703           40155                           DCS      MPAC                                  
046773,002814: 00,3704           64727                           AD       HALF                                  #  FORMS PI - ARCCOS(-X) = ARCCOS(X).
046774,002815: 00,3705           52155                           DXCH     MPAC                                  
046775,002816: 00,3706           00137                           TC       ESCAPE2                               #  GO TO POSSIBLE ARCSIN EPILOGUE.
046776,002817: 
046777,002818: 00,3707           00006        ASINEX             EXTEND                                         
046778,002819: 00,3710           40155                           DCS      MPAC                                  #  ARCSIN EPILOGUE - GET ARCSIN(X)
046779,002820: 00,3711           64730                           AD       QUARTER                               #  = PI/2 - ARCCOS(X).
046780,002821: 00,3712           52155                           DXCH     MPAC                                  
046781,002822: 00,3713           16102        LDANZIG            TCF      DANZIG                                
046782,002823: 

Page 1084

046784,002825: 00,3714           50000        ACOSSHR            INDEX    A                                     #  THE SHIFT RIGHT IS LESS THAN 14 SINCE
046785,002826: 00,3715           34727                           CAF      BIT14                                 #  THE INPUT WAS NON-ZERO DP.
046786,002827: 00,3716           54135                           TS       MPTEMP                                
046787,002828: 00,3717           02073                           TC       VSHRRND                               #  DP SHIFT RIGHT AND ROUND.
046788,002829: 00,3720           13652                           TCF      ACOS3                                 #  PROCEED.
046789,002830: 
046790,002831: 00,3721           00006        ACOSOVF            EXTEND                                         #  IF MAJOR PART WAS ONLY 1 MORE THAN .5,
046791,002832: 00,3722           13637                           BZF      ACOS=0                                #  CALL ANSWER ZERO.
046792,002833: 
046793,002834: 00,3723           00006        ACOSABRT           EXTEND                                         #  IF OVERFLOW, CALL ANSWER ZERO BUT
046794,002835: 00,3724           30165                           DCA      LOC                                   #  SOUND AN ALARM.
046795,002836: 00,3725           05726                           TC       ALARM1                                
046796,002837: 00,3726           01301                           OCT      1301                                  
046797,002838: 
046798,002839: 00,3727           34746                           CAF      ZERO                                  
046799,002840: 00,3730           13637                           TCF      ACOS=0                                
046800,002841: 
046801,002842: 00,3731           34730        ACOSZERO           CAF      QUARTER                               #  ACOS(0) = PI/2.
046802,002843: 00,3732           13640                           TCF      ACOS=0     +1                         #  SET MPAC AND EXIT VIA ESCAPE.
046803,002844: 
046804,002845: 00,3733           77763        NEG12              DEC      -12        B-14                       
046805,002846: 00,3734           13702        TCSUBTR            TCF      SUBTR                                 
046806,002847: 

Page 1085

046808,002849:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE AVAILABLE FOR SETTING, MODIFYING, AND BRANCHING ON INDEX REGISTERS:
046809,002850: 
046810,002851:                                                                                                  #           1.  AXT                ADDRESS TO INDEX TRUE.
046811,002852:                                                                                                  #           1.  AXC                ADDRESS TO INDEX COMPLEMENTED.
046812,002853:                                                                                                  #           3.  LXA                LOAD INDEX FROM ERASABLE.
046813,002854:                                                                                                  #           4.  LXC                LOAD INDEX COMPLEMENTED FROM ERASABLE.
046814,002855:                                                                                                  #           5.  SXA                STORE INDEX IN ERASABLE.
046815,002856:                                                                                                  #           6.  XCHX               EXCHANGE INDEX REIGSTER WITH ERASABLE.
046816,002857: 
046817,002858:                                                                                                  #           7.  INCR               INCREMENT INDEX REGISTER.
046818,002859:                                                                                                  #           8.  XAD                ERASABLE ADD TO INDEX REGISTER.
046819,002860:                                                                                                  #           9.  XSU                ERASABLE SUBTRACT FROM INDEX REGISTER.
046820,002861: 
046821,002862:                                                                                                  #          10.  TIX                BRANCH ON INDEX REGISTER AND DECREMENT.
046822,002863: 
046823,002864: 01,2350                                           BANK     01                                    
046824,002865: 
046825,002866: 01,2350                                           COUNT*   $$/INTER                              
046826,002867: 01,2350           02445        AXT                TC       TAGSUB                                #  SELECT APPROPRIATE INDEX REGISTER.
046827,002868: 01,2351           30117                           CA       POLISH                                
046828,002869: 01,2352           50130        XSTORE             INDEX    INDEXLOC                              #  CONTAINS C(FIXLOC) OR C(FIXLOC)+1.
046829,002870: 01,2353           54046                           TS       X1                                    
046830,002871: 01,2354           16102                           TCF      DANZIG                                
046831,002872: 
046832,002873: 01,2355           02445        AXC                TC       TAGSUB                                
046833,002874: 01,2356           40117                           CS       POLISH                                
046834,002875: 01,2357           02352                           TC       XSTORE                                
046835,002876: 
046836,002877: 01,2360           02433        LXA                TC       15ADRERS                              #  LOAD INDEX REGISTER FROM ERASABLE.
046837,002878: 01,2361           50117                           INDEX    POLISH                                
046838,002879: 01,2362           30000                           CA       0                                     
046839,002880: 01,2363           12352                           TCF      XSTORE                                
046840,002881: 
046841,002882: 01,2364           02433        LXC                TC       15ADRERS                              #  LOAD NDX REG FROM ERASABLE COMPLEMENTED.
046842,002883: 01,2365           50117                           INDEX    POLISH                                
046843,002884: 01,2366           40000                           CS       0                                     
046844,002885: 01,2367           12352                           TCF      XSTORE                                
046845,002886: 
046846,002887: 01,2370           02433        SXA                TC       15ADRERS                              #  STORE INDEX REGISTER IN ERASABLE.
046847,002888: 01,2371           50130                           INDEX    INDEXLOC                              
046848,002889: 01,2372           30046                           CA       X1                                    
046849,002890: 01,2373           50117        MSTORE1            INDEX    POLISH                                
046850,002891: 01,2374           54000                           TS       0                                     
046851,002892: 01,2375           16102                           TCF      DANZIG                                
046852,002893: 

Page 1086

046854,002895: 01,2376           02433        XCHX               TC       15ADRERS                              #  EXCHANGE INDEX REGISTER WITH ERASABLE.
046855,002896: 01,2377           50117                           INDEX    POLISH                                
046856,002897: 01,2400           30000                           CA       0                                     
046857,002898: 01,2401           50130                           INDEX    INDEXLOC                              
046858,002899: 01,2402           56046                           XCH      X1                                    
046859,002900: 01,2403           12373                           TCF      MSTORE1                               
046860,002901: 
046861,002902: 01,2404           02433        XAD                TC       15ADRERS                              #  ADD ERASABLE TO INDEX REGISTER.
046862,002903: 01,2405           50117                           INDEX    POLISH                                
046863,002904: 01,2406           30000                           CA       0                                     
046864,002905: 01,2407           50130        XAD2               INDEX    INDEXLOC                              
046865,002906: 01,2410           26046                           ADS      X1                                    #  IGNORING OVERFLOWS.
046866,002907: 01,2411           16102                           TCF      DANZIG                                
046867,002908: 
046868,002909: 01,2412           02445        INCR               TC       TAGSUB                                #  INCREMENT INDEX REGISTER.
046869,002910: 01,2413           30117                           CA       POLISH                                
046870,002911: 01,2414           12407                           TCF      XAD2                                  
046871,002912: 
046872,002913: 01,2415           02433        XSU                TC       15ADRERS                              #  SUBTRACT ERASABLE FROM INDEX REGISTER.
046873,002914: 01,2416           50117                           INDEX    POLISH                                
046874,002915: 01,2417           40000                           CS       0                                     
046875,002916: 01,2420           12407                           TCF      XAD2                                  
046876,002917: 
046877,002918: 01,2421           02445        TIX                TC       TAGSUB                                #  BRANCH AND DECREMENT ON INDEX.
046878,002919: 01,2422           50130                           INDEX    INDEXLOC                              
046879,002920: 01,2423           40050                           CS       S1                                    
046880,002921: 01,2424           50130                           INDEX    INDEXLOC                              
046881,002922: 01,2425           60046                           AD       X1                                    
046882,002923: 01,2426           00006                           EXTEND                                         #  NO OPERATION IF DECREMENTED INDEX IS
046883,002924: 01,2427           66102                           BZMF     DANZIG                                #  NEGATIVE OR ZERO.
046884,002925: 
046885,002926: 01,2430           50130        DOTIXBR            INDEX    INDEXLOC                              
046886,002927: 01,2431           56046                           XCH      X1                                    #  IGNORING OVERFLOWS.
046887,002928: 
046888,002929: 01,2432           16667                           TCF      GOTO                                  #  DO THE BRANCH USING THE CADR IN POLISH.
046889,002930: 

Page 1087

046891,002932:                                                                                                  #           SUBROUTINE TO CONVERT AN ERASABLE ADDRESS (11 BITS) TO AN EBANK SETTING AND SUBADDRESS.
046892,002933: 
046893,002934: 01,2433           40117        15ADRERS           CS       POLISH                                
046894,002935: 01,2434           64763                           AD       DEC45                                 
046895,002936: 01,2435           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
046896,002937: 01,2436           30120                           CA       FIXLOC                                #  YES.  ADD FIXLOC.  EBANK OK AS IS.
046897,002938: 01,2437           12444                           TCF      +5                                    
046898,002939: 
046899,002940: 01,2440           35000                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
046900,002941: 01,2441           56117                           XCH      POLISH                                
046901,002942: 01,2442           54003                           TS       EBANK                                 
046902,002943: 01,2443           74350                           MASK     LOW8                                  
046903,002944: 01,2444           26117                 +5        ADS      POLISH                                #  FALL INTO TAGSUB, AND RETURN VIA Q.
046904,002945: 
046905,002946:                                                                                                  #           SUBROUTINE WHICH SETS THE ADDRESS OF THE SPECIFIED INDEX IN INDEXLOC. (ACTUALLY, THE ADDRESS -38D.)
046906,002947: 
046907,002948: 01,2445           30120        TAGSUB             CA       FIXLOC                                
046908,002949: 01,2446           54130                           TS       INDEXLOC                              
046909,002950: 
046910,002951: 01,2447           10020                           CCS      CYR                                   #  BIT 15 SPECIFIES INDEX.
046911,002952: 01,2450           24130                           INCR     INDEXLOC                              #  0 MEANS USE X2.
046912,002953: 01,2451           00002                           TC       Q                                     
046913,002954: 01,2452           00002                           TC       Q                                     #  1 FOR X1.
046914,002955: 

Page 1088

046916,002957:                                                                                                  #           MISCELLANEOUS OPERATION CODES WITH DIRECT ADDRESSES. INCLUDED HERE ARE:
046917,002958: 
046918,002959:                                                                                                  #           1.  ITA                STORE QPRET (RETURN ADDRESS) IN ERASABLE.
046919,002960:                                                                                                  #           2.  CALL               CALL A SUBROUTINE, LEAVING RETURN IN QPRET.
046920,002961:                                                                                                  #           3.  RTB                RETURN TO BASIC LANGUAGE AT THE GIVEN ADDRESS.
046921,002962:                                                                                                  #           4.  BHIZ               BRANCH IF THE HIGH ORDER OF MPAC IS ZERO (SINGLE PRECISION).
046922,002963:                                                                                                  #           5.  BOV                BRANCH ON OVERFLOW.
046923,002964:                                                                                                  #           6.  GOTO               SIMPLE SEQUENCE CHANGE.
046924,002965: 
046925,002966: 01,2453           10020        RTB/BHIZ           CCS      CYR                                   
046926,002967: 01,2454           30117        RTB                CA       POLISH                                
046927,002968: 01,2455           04612                           TC       SWCALL     -1                         #  SO A "TC Q" FROM ROUTINE LEADS TO DANZIG
046928,002969: 
046929,002970: 01,2456           10154        BHIZ               CCS      MPAC                                  
046930,002971: 01,2457           16102                           TCF      DANZIG                                
046931,002972: 01,2460           16667                           TCF      GOTO                                  
046932,002973: 01,2461           16102                           TCF      DANZIG                                
046933,002974: 01,2462           16667                           TCF      GOTO                                  
046934,002975: 
046935,002976: 01,2463           10121        BOV(B)             CCS      OVFIND                                #  BRANCH ON OVERFLOW TO BASIC OR INTERP.
046936,002977: 01,2464           12466                           TCF      +2                                    
046937,002978: 01,2465           16102                           TCF      DANZIG                                
046938,002979: 01,2466           54121                           TS       OVFIND                                
046939,002980: 01,2467           10020                           CCS      CYR                                   
046940,002981: 01,2470           12454                           TCF      RTB                                   #  IF BASIC.
046941,002982: 01,2471           00360        B5TOBB             OCT      360                                   
046942,002983: 01,2472           16667                           TCF      GOTO                                  
046943,002984: 

Page 1089

046945,002986: 01,2473           10020        BZE/GOTO           CCS      CYR                                   #  SEE WHICH OP-CODE IS DESIRED.
046946,002987: 01,2474           06744                           TC       BRANCH                                #  DO BZE.
046947,002988: 01,2475           16102                           TCF      DANZIG                                
046948,002989: 01,2476           16667                           TCF      GOTO                                  #  DO GOTO.
046949,002990: 01,2477           16102                           TCF      DANZIG                                
046950,002991: 
046951,002992: 01,2500           10020        BPL/BMN            CCS      CYR                                   
046952,002993: 01,2501           12507                           TCF      BPL                                   
046953,002994: 01,2502           12000        5B10               DEC      5          B+10                       #  SHIFTS OP CODE IN SWITCH INSTRUCTION ADR
046954,002995: 
046955,002996: 01,2503           06744                           TC       BRANCH                                #  DO BMN.
046956,002997: 01,2504           16102                           TCF      DANZIG                                
046957,002998: 01,2505           16102                           TCF      DANZIG                                
046958,002999: 01,2506           16667                           TCF      GOTO                                  #  ONLY IF NNZ.
046959,003000: 
046960,003001: 01,2507           06744        BPL                TC       BRANCH                                
046961,003002: 01,2510           16667                           TCF      GOTO                                  #  IF POSITIVE OR ZERO.
046962,003003: 01,2511           16667                           TCF      GOTO                                  
046963,003004: 01,2512           16102                           TCF      DANZIG                                
046964,003005: 
046965,003006: 01,2513           10020        CALL/ITA           CCS      CYR                                   
046966,003007: 01,2514           16661                           TCF      CALL                                  
046967,003008: 
046968,003009: 01,2515           05701                           TC       CCSHOLE                               
046969,003010: 01,2516           02433                           TC       15ADRERS                              #  STORE QPRET. (TAGSUB AFTER 15ADRERS IS
046970,003011: 01,2517           50120                           INDEX    FIXLOC                                #  SLOW IN THIS CASE, BUT SAVES STORAGE.)
046971,003012: 01,2520           30052                           CA       QPRET                                 
046972,003013: 01,2521           12373                           TCF      MSTORE1                               
046973,003014: 

Page 1090

046975,003016:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR ALTERING AND TESTING INTERPRETIVE SWITCHES:
046976,003017: 
046977,003018:                                                                                                  #   00      BONSET                 SET A SWITCH AND DO A GOTO IF IT WAS ON.
046978,003019:                                                                                                  #   01      SETGO                  SET A SWITCH AND DO A GOTO.
046979,003020:                                                                                                  #   02      BOFSET                 SET A SWITCH AND DO A GOTO IF IT WAS OFF
046980,003021:                                                                                                  #   03      SET                    SET A SWITCH.
046981,003022: 
046982,003023:                                                                                                  #   04      BONINV                 INVERT A SWITCH AND BRANCH IF IT WAS ON.
046983,003024:                                                                                                  #   05      INVGO                  INVERT A SWITCH AND DO A GOTO.
046984,003025:                                                                                                  #   06      BOFINV                 INVERT A SWITCH AND BRANCH IF IT WAS OFF
046985,003026:                                                                                                  #   07      INVERT                 INVERT A SWITCH.
046986,003027: 
046987,003028:                                                                                                  #   10      BONCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS ON.
046988,003029:                                                                                                  #   11      CLRGO                  CLEAR A SWITCH AND DO A GOTO.
046989,003030:                                                                                                  #   12      BOFCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS OFF.
046990,003031:                                                                                                  #   13      CLEAR                  CLEAR A SWITCH.
046991,003032: 
046992,003033:                                                                                                  #   14      BON                    BRANCH IF A SWITCH WAS ON.
046993,003034:                                                                                                  #   16      BOFF                   BRANCH IF A SWITCH WAS OFF.
046994,003035: 
046995,003036: 
046996,003037:                                                                                                  #           THE ADDRESS SUPPLIED WITH THE SWITCH INSTRUCTION IS INTERPRETED AS FOLLOWS:
046997,003038: 
046998,003039:                                                                                                  #           BITS 1-4    SWITCH BIT NUMBER (1-15).
046999,003040:                                                                                                  #           BITS 5-8    SWITCH OPERATION NUMBER.
047000,003041:                                                                                                  #           BITS 9-     SWITCH WORD NUMBER (UP TO 64 SWITCH WORDS).
047001,003042: 
047002,003043:                                                                                                  #           THE ADDRESS ITSELF IS MADE UP BY THE YUL SYSTEM ASSEMBLER. THE BRANCH INSTRUCTIONS REQUIRE TWO
047003,003044:                                                                                                  #  ADDRESSES, THE SECOND TAKEN AS THE DIRECT (OR INDIRECT IF IN ERASABLE) ADDRESS OF THE BRANCH.
047004,003045: 
047005,003046: 
047006,003047: 01,2522           34753        SWITCHES           CAF      LOW4                                  #  LEAVE THE SWITCH BIT IN  SWBIT  .
047007,003048: 01,2523           70117                           MASK     POLISH                                
047008,003049: 01,2524           50000                           INDEX    A                                     
047009,003050: 01,2525           34726                           CAF      BIT15                                 #  (NUMBER FROM LEFT TO RIGHT.)
047010,003051: 01,2526           54131                           TS       SWBIT                                 
047011,003052: 
047012,003053: 01,2527           34736                           CAF      BIT7                                  #  LEAVE THE SWITCH NUMBER IN SWWORD.
047013,003054: 01,2530           00006                           EXTEND                                         
047014,003055: 01,2531           70117                           MP       POLISH                                
047015,003056: 01,2532           54130                           TS       SWWORD                                
047016,003057: 
047017,003058: 01,2533           00004                           INHINT                                         #  DURING SWITCH CHANGE SO RUPT CAN USE TOO
047018,003059: 01,2534           50000                           INDEX    A                                     #  LEAVE THE SWITCH WORD ITSELF IN L.
047019,003060: 01,2535           30074                           CA       STATE                                 
047020,003061: 01,2536           54002                           TS       Q                                     #  Q WILL BE USED AS A CHANNEL.

Page 1091

047022,003063: 01,2537           34732                           CAF      BIT11                                 
047023,003064: 01,2540           00006                           EXTEND                                         #  DISPATCH SWITCH BIT OPERATION AS IN BITS
047024,003065: 01,2541           70117                           MP       POLISH                                #  7-8 OF POLISH.
047025,003066: 01,2542           72602                           MASK     B3TOB4                                #  GETS 4X2-BIT CODE.
047026,003067: 01,2543           50000                           INDEX    A                                     
047027,003068: 01,2544           12545                           TCF      +1                                    
047028,003069: 
047029,003070: 01,2545           30131                 +1        CA       SWBIT                                 #  00 - SET SWITCH IN QUESTION.
047030,003071: 01,2546           00006                           EXTEND                                         
047031,003072: 01,2547           04002                           ROR      QCHAN                                 
047032,003073: 01,2550           12557                           TCF      SWSTORE                               
047033,003074: 
047034,003075: 01,2551           30131                 +5        CA       SWBIT                                 #  01 - INVERT SWITCH.
047035,003076: 01,2552           00006                           EXTEND                                         
047036,003077: 01,2553           06002                           RXOR     QCHAN                                 
047037,003078: 01,2554           12557                           TCF      SWSTORE                               
047038,003079: 
047039,003080: 01,2555           40131                 +9D       CS       SWBIT                                 #  10 - CLEAR.
047040,003081: 01,2556           70002                           MASK     Q                                     
047041,003082: 01,2557           50130        SWSTORE            INDEX    SWWORD                                
047042,003083: 01,2560           54074                           TS       STATE                                 #  NEW SWITCH WORD.
047043,003084: 

Page 1092

047045,003086: 01,2561           00003                 +13D      RELINT                                         #  11 - NOOP.
047046,003087: 01,2562           34730                           CAF      BIT13                                 
047047,003088: 01,2563           00006                           EXTEND                                         #  DISPATCH SEQUCE CHANGING OR BRANCHING
047048,003089: 01,2564           70117                           MP       POLISH                                #  CODE.
047049,003090: 01,2565           72602                           MASK     B3TOB4                                
047050,003091: 01,2566           50000                           INDEX    A                                     
047051,003092: 01,2567           12570                           TCF      +1                                    #  ORIGINALLY STORED IN BITS 5-6.
047052,003093: 
047053,003094: 01,2570           40002                 +1        CS       Q                                     #  00 - BRANCH IF ON.
047054,003095: 01,2571           70131        TEST               MASK     SWBIT                                 
047055,003096: 01,2572           10000                           CCS      A                                     
047056,003097: 01,2573           12603                           TCF      SWSKIP                                
047057,003098: 
047058,003099: 01,2574           16736                 +5        TCF      SWBRANCH                              #  01 - GO TO.
047059,003100: 
047060,003101: 01,2575           12603                           TCF      SWSKIP                                #  HERE ONLY ON BIT 15.
047061,003102: 
047062,003103: 01,2576           05701                           TC       CCSHOLE                               
047063,003104: 01,2577           05701                           TC       CCSHOLE                               
047064,003105: 
047065,003106: 01,2600           30002                 +9D       CA       Q                                     #  10 - BRANCH IF OFF.
047066,003107: 01,2601           12571                           TCF      TEST                                  
047067,003108: 
047068,003109: 01,2602           00014        B3TOB4             OCT      0014                                  
047069,003110: 01,2603           24164        SWSKIP             INCR     LOC                                   
047070,003111: 
047071,003112: 01,2604  01,2522               SW/                EQUALS   SWITCHES                              
047072,003113: 
047073,003114: 01,2604           16102                 +13D      TCF      DANZIG                                #  11 - NOOP.

End of include-file INTERPRETER.agc.  Parent file is MAIN.agc