Source Code

These source-code files were transcribed from scans made from Don Eyles's personal copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston facility, and the scanning was sponsored by Mike Stewart. The code was transcribed from these scans by a team of volunteers who are referenced in the program comments. Comments from the original source code are in ALL-CAPS, whereas comments added later in transcription are in Mixed-Case. In some cases, where similar code blocks exist in previously-transcribed AGC programs (primarily Luminary 99, from Apollo 11) those code blocks were used as a starting point and then corrected to agree with the BURST120 scans. The full scans are available at the Virtual AGC project's collection at archive.org, while more-convenient reduced-size (but reduced-quality) images are available at the main Virtual AGC website. Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository. Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 
	BY NASA 2021106-031 DEC 7, 1967

	THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED 
	FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE 
	UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.
Note that the date is the date of the printout, not the date of the program revision.

040898,000002:                                                                                                  ## Copyright:   Public domain.
040899,000003:                                                                                                  ## Filename:    INTERPRETER.agc
040900,000004:                                                                                                  ## Purpose:     A module for revision 0 of BURST120 (Sunburst). It 
040901,000005:                                                                                                  ##              is part of the source code for the Lunar Module's
040902,000006:                                                                                                  ##              (LM) Apollo Guidance Computer (AGC) for Apollo 5.
040903,000007:                                                                                                  ## Assembler:   yaYUL
040904,000008:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
040905,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
040906,000010:                                                                                                  ## Mod history: 2016-09-30 RSB  Created draft version.
040907,000011:                                                                                                  ##              2016-10-14 MAS  Began.
040908,000012:                                                                                                  ##              2016-10-14 MAS  Completed transcription.
040909,000013:                                                                                                  ##              2016-10-31 RSB  Typos.
040910,000014:                                                                                                  ##              2016-11-01 RSB  More typos.
040911,000015:                                                                                                  ##              2016-12-06 RSB  Comments proofed using octopus/ProoferComments,
040912,000016:                                                                                                  ##                              changes made.
040913,000017:                                                                                                  ##              2017-03-15 RSB  Comment-text fixes identified in 5-way
040914,000018:                                                                                                  ##                              side-by-side diff of Luminary 69/99/116/131/210.
040915,000019:                                                                                                  ##              2017-06-23 RSB  Replaced an erroneous } with a correct ).
040916,000020: 

Page 953

040918,000022:                                                                                                  #  SECTION 1  DISPATCHER
040919,000023: 
040920,000024:                                                                                                  #           ENTRY TO THE INTERPRETER. INTPRET SETS LOC TO THE FIRST  INSTRUCTION, BANKSET TO THE BBANK OF THE
040921,000025:                                                                                                  #  OBJECT INTERPRETIVE PROGRAM, AND INTBIT15 TO THE BIT15 CONTENTS OF FBANK. INTERPRETIVE PROGRAMS MAY BE IN
040922,000026:                                                                                                  #  VIRTUALLY ALL BANKS PRESENT UNDER ANY SUPER-BANK SETTING, WITH THE RESTRICTION THAT PROGRAMS IN HIGH BANKS
040923,000027:                                                                                                  #  (BIT15 OF FBANK = 1) DO NOT REFER TO LOWBANKS, AND VICE-VERSA. THE INTERPRETER DOES NOT SWITCH SUPERBANKS.
040924,000028:                                                                                                  #  E-BANK SWITCHING OCCURS WHENEVER GENERAL ERASABLE (100 - 3777) IS ADDRESSED.
040925,000029: 
040926,000030: 
040927,000031:    6112                                           BLOCK    03                                    
040928,000032: 
040929,000033:    6112           00006        INTPRET            EXTEND                                         #  SET LOC TO THE WORD FOLLOWING THE TC.
040930,000034:    6113           22154                           QXCH     LOC                                   
040931,000035: 
040932,000036:    6114           30006                 +2        CA       BBANK                                 #  INTERPRETIVE BRANCHES FINISH HERE.
040933,000037:    6115           54155                           TS       BANKSET                               
040934,000038:    6116           77745                           MASK     BIT15                                 #  GET 15TH BIT FOR INDEXABLE ADDRESSES.
040935,000039:    6117           54105                           TS       INTBIT15                              
040936,000040: 
040937,000041:    6120           54023                           TS       EDOP                                  #  MAKE SURE NO INSTRUCTIONS LEFT OVER
040938,000042: 
040939,000043:    6121           16134                           TCF      NEWOPS                                #  PICK UP OP CODE PAIR AND BEGIN.
040940,000044: 
040941,000045: 
040942,000046:    6122           22006        INTRSM             LXCH     BBANK                                 #  RESUME SUSPENDED INTERPRETIVE JOB
040943,000047:    6123           16114                           TCF      INTPRET    +2                         
040944,000048: 

Page 954

040946,000050:                                                                                                  #           AT THE END OF MOST INSTRUCTIONS, CONTROL IS GIVEN TO DANZIG TO DISPATCH THE NEXT OPERATION.
040947,000051: 
040948,000052:    6124           54153        NEWMODE            TS       MODE                                  #  PROLOGUE FOR MODE-CHANGING INSTRUCTIONS.
040949,000053: 
040950,000054:    6125           30155        DANZIG             CA       BANKSET                               #  SET BBANK BEFORE TESTING NEWJOB SO THAT
040951,000055:    6126           54006                           TS       BBANK                                 #  IT MAY BE SAVED DIRECTLY BY CHANJOB.
040952,000056: 
040953,000057:    6127           10023        NOIBNKSW           CCS      EDOP                                  #  SEE IF AN ORDER CODE IS LEFT OVER FROM
040954,000058:    6130           16143                           TCF      OPJUMP                                #  THE LAST PAIR RETRIEVED. IF SO, EXECUTE.
040955,000059:                                                                                                  #  EDOP IS SET TO ZERO ON ITS RE-EDITING.
040956,000060: 
040957,000061:    6131           10067                           CCS      NEWJOB                                #  SEE IF A JOB OF HIGHER PRIORITY IS
040958,000062:    6132           15540                           TCF      CHANG2                                #  PRESENT, AND IF SO, CHANGE JOBS.
040959,000063: 
040960,000064:    6133           24154                           INCR     LOC                                   #  ADVANCE THE LOCATION COUNTER.
040961,000065:                                                                                                  #           ITRACE (1) REFERS TO "NEWOPS".
040962,000066:    6134           50154        NEWOPS             INDEX    LOC                                   #  ENTRY TO BEGIN BY PICKING OP CODE PAIR.
040963,000067:    6135           30000                           CA       0                                     #  MAY BE AN OPCODE PAIR OR A STORE CODE.
040964,000068:    6136           10000                           CCS      A                                     #  TEST SIGN AND GET DABS(A).
040965,000069:    6137           16431                           TCF      DOSTORE                               #  PROCESS STORE CODE.
040966,000070: 
040967,000071:    6140           04736                           TC       CCSHOLE                               #  TO CATCH SOME TASK USERS OF INTERPRETER.
040968,000072: 
040969,000073:    6141           54023                           TS       EDOP                                  #  OP CODE PAIR. LEAVE THE OTHER IN EDOP
040970,000074:    6142           75342                           MASK     LOW7                                  #  WHERE  CCS EDOP  WILL HONOR IT NEXT.
040971,000075: 
040972,000076:    6143           54020        OPJUMP             TS       CYR                                   #  LOWWD ENTERS HERE IF A RIGHT-HAND OP
040973,000077:    6144           10020                           CCS      CYR                                   #  CODE IS TO BE PROCESSED. TEST PREFICES.
040974,000078:    6145           16313                           TCF      OPJUMP2                               #  TEST SECOND PREFIX BIT.
040975,000079: 
040976,000080:    6146           17021                           TCF      EXIT                                  #  +0 OP CODE IS EXIT.
040977,000081: 

Page 955

040979,000083:                                                                                                  #           PROCESS ADDRESSES WHICH MAY BE DIRECT, INDEXED, OR REFERENCE THE PUSHDOWN LIST.
040980,000084: 
040981,000085:    6147           77763        ADDRESS            MASK     BIT1                                  #  SEE IF ADDRESS IS INDEXED. CYR CONTAINED
040982,000086:    6150           10000                           CCS      A                                     #  400XX, SO BIT 1 IS NOW AS IT WAS IN CYR.
040983,000087:    6151           16212                           TCF      INDEX                                 #  FORM INDEXED ADDRESS.
040984,000088: 
040985,000089:    6152           50154        DIRADRES           INDEX    LOC                                   #  LOOK AHEAD TO NEXT WORD TO SEE IF
040986,000090:    6153           40001        OCT40001           CS       1                                     #  ADDRESS IS GIVEN.
040987,000091:    6154           10000                           CCS      A                                     
040988,000092:    6155           16261                           TCF      PUSHUP                                #  IF NOT.
040989,000093: 
040990,000094:    6156           77773        NEG4               DEC      -4         B-14                       
040991,000095: 
040992,000096:    6157           24154                           INCR     LOC                                   #  IF SO, TO SHOW WE PICKED UP A WORD.
040993,000097:    6160           54106                           TS       ADDRWD                                
040994,000098: 

Page 956

040996,000100:                                                                                                  #           FINAL DIGESTION OF DIRECT ADDRESSES OF OP CODES WITH 01 PREFIX IS DONE HERE. IN EACH CASE, THE
040997,000101:                                                                                                  #  REQUIRED 12-BIT SUB-ADDRESS IS LEFT IN ADDRWD, WITH ANY REQUIRED E OR F BANK SWITCHING DONE. ADDRESSES LESS
040998,000102:                                                                                                  #  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.
040999,000103: 
041000,000104: 
041001,000105:    6161           66315                           AD       -ENDVAC                               #  SEE IF ADDRESS RELATIVE TO WORK AREA.
041002,000106:    6162           10000                           CCS      A                                     
041003,000107:    6163           66342                           AD       -ENDERAS                              #  IF NOT, SEE IF IN GENERAL ERASABLE.
041004,000108:    6164           16171                           TCF      IERASTST                              
041005,000109: 
041006,000110:    6165           30110        NETZERO            CA       FIXLOC                                #  IF SO, LEAVE THE MODIFIED ADDRESS IN
041007,000111:    6166           26106                           ADS      ADDRWD                                #  ADDRWD AND DISPATCH.
041008,000112:    6167           50020        ITR15              INDEX    CYR                                   #  THIS INDEX MAKES THE NEXT INSTRUCTION
041009,000113:    6170           76342                           7        INDJUMP    -1                         #  TCF INDJUMP + OP, EDITING CYR.
041010,000114: 
041011,000115:    6171           00006        IERASTST           EXTEND                                         
041012,000116:    6172           66202                           BZMF     GEADDR                                #  GO PROCESS GENERAL-ERASABLE ADDRESS.
041013,000117: 
041014,000118:    6173           75337                           MASK     LOW10                                 #  FIXED BANK ADDRESS. RESTORE AND ADD B15.
041015,000119:    6174           65337                           AD       LOW10                                 #  SWITCH BANKS AND LEAVE SUBADDRESS IN
041016,000120:    6175           56106                           XCH      ADDRWD                                #  ADDRWD FOR OPERAND RETRIEVAL. (THIS
041017,000121:    6176           60105                           AD       INTBIT15                              #  METHOD PRECLUDES USE OF THE LAST
041018,000122:    6177           54004                           TS       FBANK                                 #  LOCATION IN EACH FBANK.)
041019,000123:    6200           50020        ITR12              INDEX    CYR                                   
041020,000124:    6201           76342                           7        INDJUMP    -1                         
041021,000125: 
041022,000126:    6202           74564        GEADDR             MASK     LOW8                                  
041023,000127:    6203           65352                           AD       OCT1400                               
041024,000128:    6204           56106                           XCH      ADDRWD                                
041025,000129:    6205           54003                           TS       EBANK                                 
041026,000130:    6206           50020        ITR10              INDEX    CYR                                   
041027,000131:    6207           76342                           7        INDJUMP    -1                         
041028,000132: 

Page 957

041030,000134:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES INTERPRETIVE INDEXED ADDRESSES. AN INTERPRETER INDEX REGISTER MAY
041031,000135:                                                                                                  #  CONTAIN THE ADDRESS OF ANY ERASABLE REGISTER (0-42 BEING RELATIVE TO THE VAC AREA) OR ANY INTERPRETIVE PROGRAM
041032,000136:                                                                                                  #  BANK, OR ANY INTEGER IN THAT RANGE.
041033,000137: 
041034,000138:    6210           35346        DODLOAD*           CAF      DLOAD*                                #  STODL* COMES HERE TO PROCESS LOAD ADR.
041035,000139:    6211           54020                           TS       CYR                                   #  (STOVL* ENTERS HERE).
041036,000140: 
041037,000141:    6212           30110        INDEX              CA       FIXLOC                                #  SET UP INDEX LOCATION.
041038,000142:    6213           54120                           TS       INDEXLOC                              
041039,000143:    6214           24154                           INCR     LOC                                   #  (ADDRESS ALWAYS GIVEN).
041040,000144:    6215           50154                           INDEX    LOC                                   
041041,000145:    6216           40000                           CS       0                                     
041042,000146:    6217           10000                           CCS      A                                     #  INDEX 2 IF ADDRESS STORED COMPLEMENTED.
041043,000147:    6220           24120                           INCR     INDEXLOC                              
041044,000148:    6221           16222                           NOOP                                           
041045,000149: 
041046,000150:    6222           54106                           TS       ADDRWD                                #  14 BIT ADDRESS TO ADDRWD.
041047,000151:    6223           75351                           MASK     HIGH4                                 #  IF ADDRESS GREATER THAN 2K, ADD INTBIT15
041048,000152:    6224           00006                           EXTEND                                         
041049,000153:    6225           16230                           BZF      INDEX2                                
041050,000154:    6226           30105                           CA       INTBIT15                              
041051,000155:    6227           26106                           ADS      ADDRWD                                
041052,000156: 
041053,000157:    6230           50120        INDEX2             INDEX    INDEXLOC                              
041054,000158:    6231           40046                           CS       X1                                    
041055,000159:    6232           26106                           ADS      ADDRWD                                #  DO AUGMENT, IGNORING AND CORRECTING OVF.
041056,000160: 
041057,000161:    6233           76340                           MASK     HIGH9                                 #  SEE IF ADDRESS IS IN WORK AREA.
041058,000162:    6234           00006                           EXTEND                                         
041059,000163:    6235           16250                           BZF      INDWORK                               
041060,000164:    6236           75351                           MASK     HIGH4                                 #  SEE IF IN FIXED BANK.
041061,000165:    6237           00006                           EXTEND                                         
041062,000166:    6240           16252                           BZF      INDERASE                              
041063,000167: 
041064,000168:    6241           30106                           CA       ADDRWD                                #  IN FIXED - SWITCH BANKS AND CREATE
041065,000169:    6242           54004                           TS       FBANK                                 #  SUB-ADDRESS.
041066,000170:    6243           75337                           MASK     LOW10                                 
041067,000171:    6244           67751                           AD       2K                                    
041068,000172:    6245           54106                           TS       ADDRWD                                
041069,000173:    6246           50020        ITR11              INDEX    CYR                                   
041070,000174:    6247           36342                           3        INDJUMP    -1                         
041071,000175: 
041072,000176:    6250           30110        INDWORK            CA       FIXLOC                                #  MAKE ADDRWD RELATIVE TO WORK AREA.
041073,000177:    6251           16256                           TCF      ITR13      -1                         
041074,000178: 
041075,000179:    6252           35352        INDERASE           CA       OCT1400                               
041076,000180:    6253           56106                           XCH      ADDRWD                                
041077,000181:    6254           54003                           TS       EBANK                                 
041078,000182:    6255           74564                           MASK     LOW8                                  
041079,000183:    6256           26106                 -1        ADS      ADDRWD                                

Page 958

041081,000185:    6257           50020        ITR13              INDEX    CYR                                   
041082,000186:    6260           36342                           3        INDJUMP    -1                         
041083,000187: 

Page 959

041085,000189:                                                                                                  #           PUSH-UP ROUTINES. WHEN NO OPERAND ADDRESS IS GIVEN, THE APPROPRIATE OPERAND IS TAKEN FROM THE PUSH-DOWN
041086,000190:                                                                                                  #  LIST. IN MOST CASES THE MODE OF THE RESULT (VECTOR OR SCALAR) OF THE LAST ARITHMETIC OPERATION PERFORMED
041087,000191:                                                                                                  #  IS THE SAME AS THE TYPE OF OPERAND DESIRED (ALL ADD/SUBTRACT ETC.). EXCEPTIONS TO THIS GENERAL RULE ARE LISTED
041088,000192:                                                                                                  #  BELOW (NOTE THAT IN EVERY CASE THE MODE REGISTER IS LEFT INTACT):
041089,000193: 
041090,000194:                                                                                                  #           1.  VXSC AND V/SC WANT THE OPPOSITE TYPE OF OPERAND, E.G., IF THE LAST OPERATION YIELDED A VECTOR
041091,000195:                                                                                                  #  RESULT, VXSC WANTS A SCALAR.
041092,000196: 
041093,000197:                                                                                                  #           2.  THE LOAD CODES SHOULD LOAD THE ACCUMULATOR INDEPENDENT OF THE RESULT OF THE LAST OPERATION. THIS
041094,000198:                                                                                                  #  INCLUDES VLOAD, DLOAD, TLOAD, PDDL, AND PDVL (NO PUSHUP WITH SLOAD).
041095,000199: 
041096,000200:                                                                                                  #           3.  SOME ARITHMETIC OPERATIONS REQUIRE A STANDARD TYPE OF OPERAND REGARDLESS OF THE PREVIOUS OPERATION.
041097,000201:                                                                                                  #  THIS INCLUDES SIGN WANTING DP AND TAD REQUIRING TP.
041098,000202: 
041099,000203:    6261           34565        PUSHUP             CAF      OCT23                                 #  IF THE LOW 5 BITS OF CYR ARE LESS THAN
041100,000204:    6262           70020                           MASK     CYR                                   #  20, THIS OP REQUIRES SPECIAL ATTENTION.
041101,000205:    6263           66266                           AD       -OCT10                                #  (NO -0).
041102,000206:    6264           10000                           CCS      A                                     
041103,000207:    6265           16277                           TCF      REGUP                                 #  FOR ALL CODES GREATER THAN OCT 7.
041104,000208: 
041105,000209:    6266           77767        -OCT10             OCT      -10                                   
041106,000210: 
041107,000211:    6267           66156                           AD       NEG4                                  #  WE NOW HAVE 7 - OP CODE(MOD4). SEE IF
041108,000212:    6270           10000                           CCS      A                                     #  THE OP CODE (MOD4) IS THREE (REVERSE).
041109,000213:    6271           50000                           INDEX    A                                     #  NO - THE MODE IS DEFINITE. PICK UP THE
041110,000214:    6272           46310                           CS       NO.WDS                                
041111,000215:    6273           16301                           TCF      REGUP      +2                         
041112,000216: 
041113,000217:    6274           50153                           INDEX    MODE                                  #  FOR VXSC AND V/SC WE WANT THE REQUIRED
041114,000218:    6275           46306                           CS       REVCNT                                #  PUSHLOC DECREMENT WITHOUT CHANGING THE
041115,000219:    6276           16301                           TCF      REGUP      +2                         #  MODE AT THIS TIME.
041116,000220: 
041117,000221:    6277           50153        REGUP              INDEX    MODE                                  #  MOST ALL OP CODES PUSHUP HERE.
041118,000222:    6300           46310                           CS       NO.WDS                                
041119,000223:    6301           26156                 +2        ADS      PUSHLOC                               
041120,000224:    6302           54106                           TS       ADDRWD                                
041121,000225:    6303           50020        ITR14              INDEX    CYR                                   
041122,000226:    6304           76342                           7        INDJUMP    -1                         #  (THE INDEX MAKES THIS A TCF.)
041123,000227: 
041124,000228:    6305           00002                           OCT      2                                     #  REVERSE PUSHUP DECREMENT. VECTOR TAKES 2
041125,000229:    6306           00006        REVCNT             OCT      6                                     #  WORDS, SCALAR TAKES 6.
041126,000230:    6307           00006                           OCT      6                                     
041127,000231:    6310           00002        NO.WDS             OCT      2                                     #  CONVENTIONAL DECREMENT IS 6 WORDS VECTOR
041128,000232:    6311           00003        OCTAL3             OCT      3                                     #  2 IN DP, AND 3 IN TP.
041129,000233:    6312           00006                           OCT      6                                     
041130,000234: 

Page 960

041132,000236:                                                                                                  #            TEST THE SECOND PREFIX BIT TO SEE IF THIS IS A MISCELLANEOUS OR A UNARY/SHORT SHIFT OPERATION.
041133,000237: 
041134,000238:    6313           10020        OPJUMP2            CCS      CYR                                   #  TEST SECOND PREFIX BIT.
041135,000239:    6314           16327                           TCF      OPJUMP3                               #  TEST THIRD BIT TO SEE IF UNARY OR SHIFT.
041136,000240: 
041137,000241:    6315           77722        -ENDVAC            DEC      -45        B-14                       
041138,000242: 
041139,000243:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES ADDRESSES OF SUFFIX CLASS 10. THEY ARE BASICALLY WORK AREA ADDRESSES
041140,000244:                                                                                                  #  IN THE RANGE 0 - 52, ERASABLE ECADR CONSTANTS FROM 100 - 3777, AND FCADRS ABOVE THAT. ALL 15 BITS ARE AVAILABLE
041141,000245:                                                                                                  #  IN CONTRAST TO SUFFIX 1, IN WHICH ONLY THE LOW ORDER 14 ARE AVAILABLE.
041142,000246: 
041143,000247:    6316           24154        15BITADR           INCR     LOC                                   #  (ENTRY HERE FROM STCALL).
041144,000248:    6317           50154                           INDEX    LOC                                   #  PICK UP ADDRESS WORD.
041145,000249:    6320           30000                           CA       0                                     
041146,000250:    6321           54107                           TS       POLISH                                #  WE MAY NEED A SUBADDRESS LATER.
041147,000251: 
041148,000252:    6322           36337                           CAF      LOW7+2K                               #  THESE INSTRUCTIONS ARE IN BANK 1.
041149,000253:    6323           54004                           TS       FBANK                                 
041150,000254:    6324           70020                           MASK     CYR                                   
041151,000255:    6325           50000        ITR7               INDEX    A                                     
041152,000256:    6326           16403                           TCF      MISCJUMP                              
041153,000257: 

Page 961

041155,000259:                                                                                                  #           COMPLETE THE DISPATCHING OF UNARY AND SHORT SHIFT OPERATIONS.
041156,000260: 
041157,000261:    6327           54004        OPJUMP3            TS       FBANK                                 #  CALL IN BANK 0 (BIT5 11-15 OF A ARE 0.)
041158,000262:                                                                                                  #           ITRACE (6) REFERS TO "OPJUMP3".
041159,000263:    6330           10020                           CCS      CYR                                   #  TEST THIRD PREFIX BIT.
041160,000264:    6331           50000                           INDEX    A                                     #  THE DECREMENTED UNARY CODE IS IN BITS
041161,000265:    6332           12000                           TCF      UNAJUMP                               #  1-4 OF A (ZERO, EXIT, HAS BEEN DETECTED)
041162,000266: 
041163,000267:    6333           10153                           CCS      MODE                                  #  ITS A SHORT SHIFT CODE. SEE IF PRESENT
041164,000268:    6334           12017                           TCF      SHORTT                                #  SCALAR OR VECTOR.
041165,000269:    6335           12017                           TCF      SHORTT                                
041166,000270:    6336           12121                           TCF      SHORTV                                #  CALLS THE APPROPRIATE ROUTINE.
041167,000271: 
041168,000272: 
041169,000273:    6337     4565               OCT23              =        VD1                                   
041170,000274:    6337           02177        LOW7+2K            OCT      2177                                  #  OP CODE MASK + BANK 1 FBANK SETTING.
041171,000275:    6340           77700        HIGH9              OCT      77700                                 
041172,000276:    6341           76000        BANKMASK           OCT      76000                                 #  FBANK MASK.
041173,000277:    6342     6341               FBANKMSK           EQUALS   BANKMASK                              
041174,000278:    6342     5655               B12T14             =        PRIO34                                #  USED IN PROCESSING STORE CODES.
041175,000279:    6342           74056        -ENDERAS           DEC      -2001      B-14                       #  = -(2047 - 45 - 1)
041176,000280: 

Page 962

041178,000282:                                                                                                  #           THE FOLLOWING IS THE JUMP TABLE FOR OP CODES WHICH MAY HAVE INDEXABLE ADDRESSES OR MAY PUSH UP.
041179,000283: 
041180,000284:    6343           16563        INDJUMP            TCF      VLOAD                                 #  00 - LOAD MPAC WITH A VECTOR.
041181,000285:    6344           17142                           TCF      TAD                                   #  01 - TRIPLE PRECISION ADD TO MPAC.
041182,000286:    6345           17707                           TCF      SIGN                                  #  02 - COMPLEMENT MPAC (V OR SC) IF X NEG.
041183,000287:    6346           17460                           TCF      VXSC                                  #  03 - VECTOR TIMES SCALAR.
041184,000288:    6347           16761                           TCF      CGOTO                                 #  04 - COMPUTED GO TO.
041185,000289:    6350           16546                           TCF      TLOAD                                 #  05 - LOAD MPAC WITH TRIPLE PRECISION.
041186,000290:    6351           16537                           TCF      DLOAD                                 #  06 - LOAD MPAC WITH A DP SCALAR.
041187,000291:    6352           17656                           TCF      V/SC                                  #  07 - VECTOR DIVIDED BY SCALAR.
041188,000292: 
041189,000293:    6353           16557                           TCF      SLOAD                                 #  10 - LOAD MPAC IN SINGLE PRECISION.
041190,000294:    6354           16676                           TCF      SSP                                   #  11 - SET SINGLE PRECISION INTO X.
041191,000295:    6355           16601                           TCF      PDDL                                  #  12 - PUSH DOWN MPAC AND RE-LOAD IN DP.
041192,000296:    6356           17413                           TCF      MXV                                   #  13 - MATRIX POST-MULTIPLIED BY VECTOR.
041193,000297:    6357           16635                           TCF      PDVL                                  #  14 - PUSH DOWN AND VECTOR LOAD.
041194,000298:    6360           16704                           TCF      CCALL                                 #  15 - COMPUTED CALL.
041195,000299:    6361           17416                           TCF      VXM                                   #  16 - MATRIX PRE-MULTIPLIED BY VECTOR.
041196,000300:    6362           17650                           TCF      TSLC                                  #  17 - NORMALIZE MPAC (SCALAR ONLY).
041197,000301: 
041198,000302:    6363           17626                           TCF      DMPR                                  #  20 - DP MULTIPLY AND ROUND.
041199,000303:    6364           17631                           TCF      DDV                                   #  21 - DP DIVIDE BY.
041200,000304:    6365           17635                           TCF      BDDV                                  #  22 - DP DIVIDE INTO.
041201,000305:    6366           17653                           TCF      GSHIFT                                #  23 - GENERAL SHIFT INSTRUCTION.
041202,000306:    6367           17025                           TCF      VAD                                   #  24 - VECTOR ADD.
041203,000307:    6370           17053                           TCF      VSU                                   #  25 - VECTOR SUBTRACT.
041204,000308:    6371           17103                           TCF      BVSU                                  #  26 - VECTOR SUBTRACT FROM.
041205,000309:    6372           17410                           TCF      DOT                                   #  27 - VECTOR DOT PRODUCT.
041206,000310: 
041207,000311:    6373           17540                           TCF      VXV                                   #  30 - VECTOR CROSS PRODUCT.
041208,000312:    6374           17504                           TCF      VPROJ                                 #  31 - VECTOR PROJECTION.
041209,000313:    6375           17071                           TCF      DSU                                   #  32 - DP SUBTRACT.
041210,000314:    6376           17127                           TCF      BDSU                                  #  33 - DP SUBTRACT FROM.
041211,000315:    6377           17043                           TCF      DAD                                   #  34 - DP ADD.
041212,000316:    6400           16400                           TCF      +0                                    #  35 - AVAILABLE
041213,000317:    6401           17624                           TCF      DMP1                                  #  36 - DP MULTIPLY.
041214,000318:    6402           17645                           TCF      SETPD                                 #  37 - SET PUSH DOWN POINTER (DIRECT ONLY)
041215,000319: 
041216,000320:                                                                                                  #  CODES 10 AND 14 MUST NOT PUSH UP. CODE 04 MAY BE USED FOR VECTOR DECLARE BEFORE PUSHUP IF DESIRED.
041217,000321: 

Page 963

041219,000323:                                                                                                  #           THE FOLLOWING JUMP TABLE APPLIES TO INDEX, BRANCH, AND MISCELLANEOUS INSTRUCTIONS.
041220,000324: 
041221,000325:    6403           12626        MISCJUMP           TCF      AXT                                   #  00 - ADDRESS TO INDEX TRUE.
041222,000326:    6404           12633                           TCF      AXC                                   #  01 - ADDRESS TO INDEX COMPLEMENTED.
041223,000327:    6405           12636                           TCF      LXA                                   #  02 - LOAD INDEX FROM ERASABLE.
041224,000328:    6406           12642                           TCF      LXC                                   #  03 - LOAD INDEX FROM COMPLEMENT OF ERAS.
041225,000329:    6407           12646                           TCF      SXA                                   #  04 - STORE INDEX IN ERASABLE.
041226,000330:    6410           12654                           TCF      XCHX                                  #  05 - EXCHANGE INDEX WITH ERASABLE.
041227,000331:    6411           12670                           TCF      INCR                                  #  06 - INCREMENT INDEX REGISTER.
041228,000332:    6412           12677                           TCF      TIX                                   #  07 - TRANSFER ON INDEX.
041229,000333: 
041230,000334:    6413           12662                           TCF      XAD                                   #  10 - INDEX REGISTER ADD FROM ERASABLE.
041231,000335:    6414           12673                           TCF      XSU                                   #  11 - INDEX SUBTRACT FROM ERASABLE.
041232,000336:    6415           12751                           TCF      BZE/GOTO                              #  12 - BRANCH ZERO AND GOTO.
041233,000337:    6416           12756                           TCF      BPL/BMN                               #  13 - BRANCH PLUS AND BRANCH MINUS.
041234,000338:    6417           12731                           TCF      RTB/BHIZ                              #  14 - RETURN TO BASIC AND BRANCH HI ZERO.
041235,000339:    6420           12771                           TCF      CALL/ITA                              #  15 - CALL AND STORE QPRET.
041236,000340:    6421           13000                           TCF      SW/                                   #  16 - SWITCH INSTRUCTIONS AND AVAILABLE.
041237,000341:    6422           12741                           TCF      BOV(B)                                #  17 - BRANCH ON OVERFLOW TO BASIC OR INT.
041238,000342: 

Page 964

041240,000344:                                                                                                  #           THE FOLLOWING JUMP TABLE APPIES TO UNARY INSTRUCTIONS.
041241,000345: 
041242,000346: 00,2000                                           BANK     0                                     #  00 - EXIT - DETECTED EARLIER.
041243,000347: 00,2000           13167        UNAJUMP            TCF      SQRT                                  #  01 - SQUARE ROOT.
041244,000348: 00,2001           13511                           TCF      SINE                                  #  02 - SIN.
041245,000349: 00,2002           13500                           TCF      COSINE                                #  03 - COS.
041246,000350: 00,2003           13571                           TCF      ARCSIN                                #  04 - ARC SIN.
041247,000351: 00,2004           13573                           TCF      ARCCOS                                #  05 - ARC COS.
041248,000352: 00,2005           13154                           TCF      DSQ                                   #  06 - DP SQUARE.
041249,000353: 00,2006           12116                           TCF      ROUND                                 #  07 - ROUND TO DP.
041250,000354: 
041251,000355: 00,2007           17722                           TCF      COMP                                  #  10 - COMPLEMENT VECTOR OR SCALAR.
041252,000356: 00,2010           13212                           TCF      VDEF                                  #  11 - VECTOR DEFINE.
041253,000357: 00,2011           13002                           TCF      UNIT                                  #  12 - UNIT VECTOR.
041254,000358: 00,2012           13156                           TCF      ABVALABS                              #  13 - LENGTH OF VECTOR OR MAG OF SCALAR.
041255,000359: 00,2013           13226                           TCF      VSQ                                   #  14 - SQUARE OF LENGTH OF VECTOR.
041256,000360: 00,2014           16423                           TCF      STADR                                 #  15 - PUSH UP ON STORE CODE.
041257,000361: 00,2015           13256                           TCF      RVQ                                   #  16 - RETURN VIA QPRET.
041258,000362: 00,2016           13231                           TCF      PUSH                                  #  17 - PUSH MPAC DOWN.
041259,000363: 

Page 965

041261,000365:                                                                                                  #  SECTION 2  LOAD AND STORE PACKAGE.
041262,000366: 
041263,000367:                                                                                                  #           A SET OF EIGHT STORE CODES IS PROVIDED AS THE PRIMARY METHOD OF STORING THE MULTI-PURPOSE
041264,000368:                                                                                                  #  ACCUMULATOR (MPAC). IF IN THE DANZIG SECTION LOC REFERS TO AN ALGEBRAICALLY POSITIVE WORD, IT IS TAKEN AS A 
041265,000369:                                                                                                  #  STORE CODE WITH A CORRESPONDING ERASABLE ADDRESS. MOST OF THESE CODES ARE TWO ADDRESS, SPECIFYING THAT THE WORD
041266,000370:                                                                                                  #  FOLLOWING THE STORE CODE IS TO BE USED AS AN ADDRESS FROM WHICH TO RE-LOAD MPAC. FOUR OPTIONS ARE AVAILABLE:
041267,000371: 
041268,000372:                                                                                                  #           1. STORE               STORE MPAC. THE E ADDRESS MAY BE INDEXED.
041269,000373:                                                                                                  #           2. STODL               STORE MPAC AND RE-LOAD IT IN DP WITH THE NEXT ADDRESS (THE LOAD MAY BE INDEXED).
041270,000374:                                                                                                  #           3. STOVL               STORE MPAC AND RE-LOAD A VECTOR (AS ABOVE).
041271,000375:                                                                                                  #           4. STCALL              STORE AND DO A CALL (BOTH ADDRESSES MUST BE DIRECT HERE).
041272,000376: 
041273,000377:                                                                                                  #           STODL AND STOVL WILL TAKE FROM THE PUSH-DOWN LIST IF NO LOAD ADDRESS IS GIVEN.
041274,000378: 
041275,000379:    6423                                           BLOCK    3                                     
041276,000380: 
041277,000381:    6423           30155        STADR              CA       BANKSET                               #  THE STADR CODE (PUSHUP UP ON STORE
041278,000382:    6424           54004                           TS       FBANK                                 #  ADDRESS) ENTERS HERE.
041279,000383:    6425           24154                           INCR     LOC                                   
041280,000384:    6426           50154        ITR1               INDEX    LOC                                   #  THE STORECODE WAS STORED COMPLEMENTED TO
041281,000385:    6427           40000                           CS       0                                     #  MAKE IT LOOK LIKE AN OPCODE PAIR.
041282,000386:    6430           67771                           AD       NEGONE                                #  (YUL CANT REMOVE 1 BECAUSE OF EARLY CCS)
041283,000387: 
041284,000388:    6431           54106        DOSTORE            TS       ADDRWD                                
041285,000389:    6432           74563                           MASK     LOW11                                 #  ENTRY FROM DISPATCHER. SAVE THE ERASABLE
041286,000390:    6433           56106                           XCH      ADDRWD                                #  ADDRESS AND JUMP ON THE STORE CODE NO.
041287,000391:    6434           75655                           MASK     B12T14                                
041288,000392:    6435           00006                           EXTEND                                         
041289,000393:    6436           77757                           MP       BIT5                                  #  EACH TRANSFER VECTOR ENTRY IS TWO WORDS.
041290,000394:    6437           50000        ITR0               INDEX    A                                     
041291,000395:    6440           16441                           TCF      STORJUMP                              
041292,000396: 

Page 966

041294,000398:                                                                                                  #           STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
041295,000399:                                                                                                  #  A SUPPLIED OPERATION CODE.
041296,000400: 
041297,000401:    6441           06471        STORJUMP           TC       STORE                                 #  STORE.
041298,000402:    6442           16133                           TCF      NEWOPS     -1                         #  PICK UP NEW OP CODE(S).
041299,000403:    6443           06463                           TC       STORE,1                               
041300,000404:    6444           16133                           TCF      NEWOPS     -1                         
041301,000405:    6445           06466                           TC       STORE,2                               
041302,000406:    6446           16133                           TCF      NEWOPS     -1                         
041303,000407: 
041304,000408:    6447           06471                           TC       STORE                                 #  STODL.
041305,000409:    6450           16527                           TCF      DODLOAD                               
041306,000410: 
041307,000411:    6451           06471                           TC       STORE                                 #  STODL WITH INDEXED LOAD ADDRESS.
041308,000412:    6452           16210                           TCF      DODLOAD*                              
041309,000413: 
041310,000414:    6453           06471                           TC       STORE                                 #  STOVL.
041311,000415:    6454           16532                           TCF      DOVLOAD                               
041312,000416: 
041313,000417:    6455           06471                           TC       STORE                                 #  STOVL WITH INDEXED LOAD ADDRESS.
041314,000418:    6456           16535                           TCF      DOVLOAD*                              
041315,000419:    6457           06471                           TC       STORE                                 #  STOTC.
041316,000420:    6460           35344                           CAF      CALLCODE                              
041317,000421:    6461           54020                           TS       CYR                                   
041318,000422:    6462           16316                           TCF      15BITADR                              #  GET A 15 BIT ADDRESS.
041319,000423: 

Page 967

041321,000425:                                                                                                  #           STORE CODE ADDRESS PROCESSOR.
041322,000426: 
041323,000427:    6463           50110        STORE,1            INDEX    FIXLOC                                
041324,000428:    6464           40046                           CS       X1                                    
041325,000429:    6465           16470                           TCF      PRESTORE                              
041326,000430: 
041327,000431:    6466           50110        STORE,2            INDEX    FIXLOC                                
041328,000432:    6467           40047                           CS       X2                                    
041329,000433:    6470           26106        PRESTORE           ADS      ADDRWD                                #  RESULTANT ADDRESS IS IN ERASABLE.
041330,000434: 
041331,000435:    6471           40106        STORE              CS       ADDRWD                                
041332,000436:    6472           65353                           AD       DEC45                                 
041333,000437:    6473           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
041334,000438:    6474           30110                           CA       FIXLOC                                #  YES.
041335,000439:    6475           16502                           TCF      AHEAD5                                
041336,000440:    6476           35352                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
041337,000441:    6477           56106                           XCH      ADDRWD                                
041338,000442:    6500           54003                           TS       EBANK                                 
041339,000443:    6501           74564                           MASK     LOW8                                  
041340,000444:    6502           26106        AHEAD5             ADS      ADDRWD                                
041341,000445: 

Page 968

041343,000447:                                                                                                  #           STORING ROUTINES. STORE DP, TP, OR VECTOR AS INDICATED BY MODE.
041344,000448: 
041345,000449:    6503           00006        STARTSTO           EXTEND                                         #  MPAC,+1 MUST BE STORED IN ANY EVENT.
041346,000450:                                                                                                  #           ITRACE (5) REFERS TO "STARTSTO".
041347,000451:    6504           30145                           DCA      MPAC                                  
041348,000452:    6505           50106                           INDEX    ADDRWD                                
041349,000453:    6506           52001                           DXCH     0                                     
041350,000454: 
041351,000455:    6507           10153                           CCS      MODE                                  
041352,000456:    6510           16523                           TCF      TSTORE                                
041353,000457:    6511           00002                           TC       Q                                     
041354,000458: 
041355,000459:    6512           00006        VSTORE             EXTEND                                         
041356,000460:    6513           30150                           DCA      MPAC       +3                         
041357,000461:    6514           50106                           INDEX    ADDRWD                                
041358,000462:    6515           52003                           DXCH     2                                     
041359,000463: 
041360,000464:    6516           00006                           EXTEND                                         
041361,000465:    6517           30152                           DCA      MPAC       +5                         
041362,000466:    6520           50106                           INDEX    ADDRWD                                
041363,000467:    6521           52005                           DXCH     4                                     
041364,000468:    6522           00002                           TC       Q                                     
041365,000469: 
041366,000470:    6523           30146        TSTORE             CA       MPAC       +2                         
041367,000471:    6524           50106                           INDEX    ADDRWD                                
041368,000472:    6525           54002                           TS       2                                     
041369,000473:    6526           00002                           TC       Q                                     
041370,000474: 

Page 969

041372,000476:                                                                                                  #           ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRESS ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
041373,000477:                                                                                                  #  ITSELF.
041374,000478: 
041375,000479:    6527           35345        DODLOAD            CAF      DLOADCOD                              
041376,000480:    6530           54020                           TS       CYR                                   
041377,000481:    6531           16152                           TCF      DIRADRES                              #  GO GET A DIRECT ADDRESS.
041378,000482: 
041379,000483:    6532           37745        DOVLOAD            CAF      VLOADCOD                              
041380,000484:    6533           54020                           TS       CYR                                   
041381,000485:    6534           16152                           TCF      DIRADRES                              
041382,000486: 
041383,000487:    6535           36153        DOVLOAD*           CAF      VLOAD*                                
041384,000488:    6536           16211                           TCF      DODLOAD*   +1                         #  PROLOGUE TO INDEX ROUTINE.
041385,000489: 

Page 970

041387,000491:                                                                                                  #           THE FOLLOWING LOAD INSTRUCTIONS ARE PROVIDED FOR LOADING THE MULTI-PURPOSE ACCUMULATOR MPAC.
041388,000492: 
041389,000493:    6537           00006        DLOAD              EXTEND                                         
041390,000494:    6540           50106                           INDEX    ADDRWD                                
041391,000495:    6541           30001                           DCA      0                                     #  PICK UP DP ARGUMENT AND LEAVE IT IN
041392,000496:    6542           52145        SLOAD2             DXCH     MPAC                                  #  MPAC,+1, SETTING MPAC +2 TO ZERO. THE
041393,000497:    6543           37767                           CAF      ZERO                                  #  CONTENTS OF THE OTHER FOUR REGISTERS OF
041394,000498:    6544           54146                           TS       MPAC       +2                         #  MPAC ARE IRRELEVANT.
041395,000499:    6545           16124                           TCF      NEWMODE                               #  DECLARE DOUBLE PRECISION MODE.
041396,000500: 
041397,000501:    6546           50106        TLOAD              INDEX    ADDRWD                                
041398,000502:    6547           30002                           CA       2                                     #  LOAD A TRIPLE PRECISION ARGUMENT INTO
041399,000503:    6550           54146                           TS       MPAC       +2                         #  THE FIRST THREE MPAC REGISTERS, WITH THE
041400,000504:    6551           00006                           EXTEND                                         #  CONTENTS OF THE OTHER FOUR IRRELEVANT.
041401,000505:    6552           50106                           INDEX    ADDRWD                                
041402,000506:    6553           30001                           DCA      0                                     
041403,000507:    6554           52145                           DXCH     MPAC                                  
041404,000508:    6555           37763                           CAF      ONE                                   
041405,000509:    6556           16124                           TCF      NEWMODE                               #  DECLARE TRIPLE PRECISION MODE.
041406,000510: 
041407,000511:    6557           22007        SLOAD              ZL                                             #  LOAD A SINGLE PRECISION NUMBER INTO
041408,000512:    6560           50106                           INDEX    ADDRWD                                #  MPAC, SETTING MPAC+1,2 TO ZERO. THE
041409,000513:    6561           30000                           CA       0                                     #  CONTENTS OF THE REMAINING MPAC REGISTERS
041410,000514:    6562           16542                           TCF      SLOAD2                                #  ARE IRRELEVANT.
041411,000515: 
041412,000516:    6563           00006        VLOAD              EXTEND                                         #  LOAD A DOUBLE PRECISION VECTOR INTO
041413,000517:    6564           50106                           INDEX    ADDRWD                                #  MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
041414,000518:    6565           30001                           DCA      0                                     #  CONTENTS OF MPAC +2 ARE IRRELEVANT.
041415,000519:    6566           52145                           DXCH     MPAC                                  
041416,000520: 
041417,000521:    6567           00006        ENDVLOAD           EXTEND                                         #  PDVL COMES HERE TO FINISH UP FOR DP, TP.
041418,000522:    6570           50106                           INDEX    ADDRWD                                
041419,000523:    6571           30003                           DCA      2                                     
041420,000524:    6572           52150                           DXCH     MPAC       +3                         
041421,000525: 
041422,000526:    6573           00006                 +4        EXTEND                                         #  TPDVL FINISHES HERE.
041423,000527:    6574           50106                           INDEX    ADDRWD                                
041424,000528:    6575           30005                           DCA      4                                     
041425,000529:    6576           52152                           DXCH     MPAC       +5                         
041426,000530: 
041427,000531:    6577           47763                           CS       ONE                                   #  DECLARE VECTOR MODE.
041428,000532:    6600           16124                           TCF      NEWMODE                               
041429,000533: 

Page 971

041431,000535:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE PROVIDED FOR STORING OPERANDS IN THE PUSHDOWN LIST:
041432,000536: 
041433,000537:                                                                                                  #           1.  PUSH               PUSHDOWN AND NO LOAD.
041434,000538:                                                                                                  #           2.  PDDL               PUSHDOWN AND DOUBLE PRECISION LOAD.
041435,000539:                                                                                                  #           3.  PDVL               PUSHDOWN AND VECTOR LOAD.
041436,000540: 
041437,000541:    6601           00006        PDDL               EXTEND                                         
041438,000542:    6602           50106                           INDEX    ADDRWD                                #  LOAD MPAC,+1, PUSHING THE FORMER
041439,000543:    6603           30001                           DCA      0                                     #  CONTENTS DOWN.
041440,000544:    6604           52145                           DXCH     MPAC                                  
041441,000545:    6605           50156                           INDEX    PUSHLOC                               
041442,000546:    6606           52001                           DXCH     0                                     
041443,000547: 
041444,000548:    6607           50153                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER APPRO-
041445,000549:    6610           36310                           CAF      NO.WDS                                #  PRIATELY.
041446,000550:    6611           26156                           ADS      PUSHLOC                               
041447,000551: 
041448,000552:    6612           10153                           CCS      MODE                                  
041449,000553:    6613           16630                           TCF      ENDTPUSH                              
041450,000554:    6614           16626                           TCF      ENDDPUSH                              
041451,000555: 
041452,000556:    6615           54153                           TS       MODE                                  #  NOW DP.
041453,000557:    6616           54146        ENDVPUSH           TS       MPAC       +2                         
041454,000558:    6617           52150                           DXCH     MPAC       +3                         #  PUSH DOWN THE REST OF THE VECTOR HERE.
041455,000559:    6620           50156                           INDEX    PUSHLOC                               
041456,000560:    6621           51775                           DXCH     0          -4                         
041457,000561: 
041458,000562:    6622           52152                           DXCH     MPAC       +5                         
041459,000563:    6623           50156                           INDEX    PUSHLOC                               
041460,000564:    6624           51777                           DXCH     0          -2                         
041461,000565: 
041462,000566:    6625           16125                           TCF      DANZIG                                
041463,000567: 
041464,000568:    6626           54146        ENDDPUSH           TS       MPAC       +2                         #  SET MPAC +2 TO ZERO AND EXIT ON DP.
041465,000569:    6627           16125                           TCF      DANZIG                                
041466,000570: 
041467,000571:    6630           54153        ENDTPUSH           TS       MODE                                  
041468,000572:    6631           56146                           XCH      MPAC       +2                         #  ON TRIPLE, SET MPAC +2 TO ZERO, PUSHING
041469,000573:    6632           50156                 +2        INDEX    PUSHLOC                               #  DOWN THE OLD CONTENTS
041470,000574:    6633           53777                           TS       0          -1                         
041471,000575:    6634           16125                           TCF      DANZIG                                
041472,000576: 

Page 972

041474,000578:                                                                                                  #           PDVL - PUSHDOWN AND VECTOR LOAD.
041475,000579: 
041476,000580:    6635           00006        PDVL               EXTEND                                         #  RELOAD MPAC AND PUSH DOWN ITS CONTENTS.
041477,000581:    6636           50106                           INDEX    ADDRWD                                
041478,000582:    6637           30001                           DCA      0                                     
041479,000583:    6640           52145                           DXCH     MPAC                                  
041480,000584:    6641           50156                           INDEX    PUSHLOC                               
041481,000585:    6642           52001                           DXCH     0                                     
041482,000586: 
041483,000587:    6643           50153                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER.
041484,000588:    6644           36310                           CAF      NO.WDS                                
041485,000589:    6645           26156                           ADS      PUSHLOC                               
041486,000590: 
041487,000591:    6646           10153                           CCS      MODE                                  #  TEST PAST MODE.
041488,000592:    6647           16666                           TCF      TPDVL                                 
041489,000593:    6650           16567                           TCF      ENDVLOAD                              #  JUST LOAD LAST FOUR REGISTERS ON DP.
041490,000594: 
041491,000595:    6651           00006        VPDVL              EXTEND                                         #  PUSHDOWN AND RE-LOAD LAST TWO COMPONENTS
041492,000596:    6652           50106                           INDEX    ADDRWD                                
041493,000597:    6653           30003                           DCA      2                                     
041494,000598:    6654           52150                           DXCH     MPAC       +3                         
041495,000599:    6655           50156                           INDEX    PUSHLOC                               
041496,000600:    6656           51775                           DXCH     0          -4                         
041497,000601: 
041498,000602:    6657           00006                           EXTEND                                         
041499,000603:    6660           50106                           INDEX    ADDRWD                                
041500,000604:    6661           30005                           DCA      4                                     
041501,000605:    6662           52152                           DXCH     MPAC       +5                         
041502,000606:    6663           50156                           INDEX    PUSHLOC                               
041503,000607:    6664           51777                           DXCH     0          -2                         
041504,000608: 
041505,000609:    6665           16125                           TCF      DANZIG                                
041506,000610: 
041507,000611:    6666           00006        TPDVL              EXTEND                                         #  ON TP, WE MUST LOAD THE Y COMPONENT
041508,000612:    6667           50106                           INDEX    ADDRWD                                #  BEFORE STORING MPAC +2 INCASE THIS IS A
041509,000613:    6670           30003                           DCA      2                                     #  PUSHUP.
041510,000614:    6671           52150                           DXCH     MPAC       +3                         
041511,000615: 
041512,000616:    6672           30146                           CA       MPAC       +2                         
041513,000617:    6673           50156                           INDEX    PUSHLOC                               #  IN DP.
041514,000618:    6674           53777                           TS       0          -1                         
041515,000619:    6675           16573                           TCF      ENDVLOAD   +4                         
041516,000620: 
041517,000621:                                                                                                  #           SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.
041518,000622: 
041519,000623:    6676           24154        SSP                INCR     LOC                                   #  PICK UP THE WORD FOLLOWING THE GIVEN
041520,000624:    6677           50154                           INDEX    LOC                                   #  ADDRESS AND STORE IT AT X.
041521,000625:    6700           30000                           CA       0                                     
041522,000626:    6701           50106        STORE1             INDEX    ADDRWD                                #  SOME INDEX AND MISCELLANEOUS OPS END
041523,000627:    6702           54000                           TS       0                                     #  HERE.

Page 973

041525,000629:    6703           16125                           TCF      DANZIG                                
041526,000630: 

Page 974

041528,000632:                                                                                                  #  SEQUENCE CHANGING AND SUBROUTINE CALLING OPTIONS.
041529,000633: 
041530,000634:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR SEQUENCING CHANGING, BRANCHING, AND CALLING SUBROUTINES:
041531,000635: 
041532,000636:                                                                                                  #           1.  GOTO               GO TO.
041533,000637:                                                                                                  #           2.  CALL               CALL SUBROUTINE SETTING QPRET.
041534,000638:                                                                                                  #           3.  CGOTO              COMPUTED GO TO.
041535,000639:                                                                                                  #           4.  CCALL              COMPUTED CALL.
041536,000640:                                                                                                  #           7.  BPL                BRANCH IF MPAC POSITIVE OR ZERO.
041537,000641:                                                                                                  #           8.  BZE                BRANCH IF MPAC ZERO.
041538,000642:                                                                                                  #           9.  BMN                BRANCH IF MPAC NEGATIVE NON-ZERO.
041539,000643: 
041540,000644:    6704           24154        CCALL              INCR     LOC                                   #  MAINTAIN LOC FOR QPRET COMPUTATION.
041541,000645:    6705           50154                           INDEX    LOC                                   
041542,000646:    6706           30000                           CAF      0                                     #  GET BASE ADDRESS OF CADR LIST.
041543,000647:    6707           50106                           INDEX    ADDRWD                                
041544,000648:    6710           60000                           AD       0                                     #  ADD INCREMENT.
041545,000649:    6711           54004                           TS       FBANK                                 #  SELECT DESIRED CADR.
041546,000650:    6712           75337                           MASK     LOW10                                 
041547,000651:    6713           50000                           INDEX    A                                     
041548,000652:    6714           32000                           CAF      10000                                 
041549,000653:    6715           54107                           TS       POLISH                                
041550,000654: 
041551,000655:    6716           30155        CALL               CA       BANKSET                               #  FOR ANY OF THE CALL OPTIONS, MAKE UP THE
041552,000656:    6717           76341                           MASK     BANKMASK                              #  ADDRESS OF THE NEXT OP-CODE PAIR/STORE
041553,000657:    6720           66341                           AD       BANKMASK                              #  CODE AND LEAVE IT IN QPRET.  NOTE THAT
041554,000658:    6721           60154                           AD       LOC                                   #  BANKMASK = -(2000 - 1).
041555,000659:    6722           50110                           INDEX    FIXLOC                                
041556,000660:    6723           54052                           TS       QPRET                                 
041557,000661: 
041558,000662:    6724           30107        GOTO               CA       POLISH                                #  BASIC BRANCHING SEQUENCE.
041559,000663:    6725           75351                 +1        MASK     HIGH4                                 
041560,000664:    6726           00006                           EXTEND                                         
041561,000665:    6727           16740                           BZF      GOTOERS                               #  SEE IF ADDRESS POINTS TO FIXED OR ERAS.
041562,000666:    6730           30155                 +4        CA       BANKSET                               #  SET EBANK PART OF BBANK. NEXT, SET UP
041563,000667:    6731           54006                           TS       BBANK                                 #  FBANK. THE COMBINATION IS PICKED UP &
041564,000668:    6732           30107                           CA       POLISH                                #  PUT INTO BANKSET AT INTPRET +2.
041565,000669:    6733           54004                           TS       FBANK                                 
041566,000670:    6734           75337                           MASK     LOW10                                 
041567,000671:    6735           67751                           AD       2K                                    
041568,000672:    6736           54154                           TS       LOC                                   
041569,000673:    6737           16114                           TCF      INTPRET    +2                         
041570,000674: 

Page 975

041572,000676:    6740  E3,1400                                  EBANK=   1400                                  #  SO YUL DOESN'T CUSS THE "CA 1400" BELOW.
041573,000677: 
041574,000678:    6740           30107        GOTOERS            CA       POLISH                                #  THE GIVEN ADDRESS IS IN ERASABLE - SEE
041575,000679:    6741           66315                           AD       -ENDVAC                               #  IF RELATIVE TO THE WORK AREA.
041576,000680:    6742           10000                           CCS      A                                     
041577,000681:    6743           30107                           CA       POLISH                                #  GENERAL ERASABLE.
041578,000682:    6744           16753                           TCF      GOTOGE                                
041579,000683: 
041580,000684:    6745           30110                           CA       FIXLOC                                #  WORK AREA.
041581,000685:    6746           60107                           AD       POLISH                                
041582,000686:    6747           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
041583,000687:    6750           30000                           CA       0                                     #  THE BRANCH ADDRESS.
041584,000688:    6751           54107                           TS       POLISH                                
041585,000689:    6752           16725                           TCF      GOTO       +1                         #  ALLOWS ARBITRARY INDIRECTNESS LEVELS.
041586,000690: 
041587,000691:    6753           54003        GOTOGE             TS       EBANK                                 
041588,000692:    6754           74564                           MASK     LOW8                                  
041589,000693:    6755           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
041590,000694:    6756           31400                           CA       1400                                  #  THE BRANCH ADDRESS.
041591,000695:    6757           54107                           TS       POLISH                                
041592,000696:    6760           16725                           TCF      GOTO       +1                         
041593,000697: 
041594,000698:    6761           50154        CGOTO              INDEX    LOC                                   #  COMPUTED GO TO. PICK UP ADDRESS OF CADR
041595,000699:    6762           30001                           CA       1                                     #  LIST.
041596,000700:    6763           50106                           INDEX    ADDRWD                                #  ADD MODIFIER.
041597,000701:    6764           60000                           AD       0                                     
041598,000702:    6765           54004                           TS       FBANK                                 #  SELECT GOTO ADDRESS.
041599,000703:    6766           75337                           MASK     LOW10                                 
041600,000704:    6767           50000                           INDEX    A                                     
041601,000705:    6770           32000                           CA       10000                                 
041602,000706:    6771           54107                           TS       POLISH                                
041603,000707:    6772           16725                           TCF      GOTO       +1                         #  WITH ADDRESS IN A.
041604,000708: 
041605,000709:    6773           30155        SWBRANCH           CA       BANKSET                               #  SWITCH INSTRUCTIONS WHICH ELECT TO
041606,000710:    6774           54004                           TS       FBANK                                 #  BRANCH COME HERE TO DO SO.
041607,000711:    6775           50154                           INDEX    LOC                                   
041608,000712:    6776           30001                           CA       1                                     
041609,000713:    6777           54107                           TS       POLISH                                
041610,000714:    7000           16725                           TCF      GOTO       +1                         
041611,000715: 

Page 976

041613,000717:                                                                                                  #           TRIPLE PRECISION BRANCHING ROUTINE. IF CALLING TC IS AT L, RETURN IS AS FOLLOWS:
041614,000718: 
041615,000719:                                                                                                  #           L+1  IF MPAC IS GREATER THAN ZERO.
041616,000720:                                                                                                  #           L+2  IF MPAC IS EQUAL TO +0 OR -0.
041617,000721:                                                                                                  #           L+3  IF MPAC IS LESS THAN ZERO.
041618,000722: 
041619,000723: 
041620,000724:    7001           10144        BRANCH             CCS      MPAC                                  
041621,000725:    7002           00002                           TC       Q                                     
041622,000726:    7003           17005                           TCF      +2                                    #  ON ZERO.
041623,000727:    7004           17017                           TCF      NEG                                   
041624,000728: 
041625,000729:    7005           10145                           CCS      MPAC       +1                         
041626,000730:    7006           00002                           TC       Q                                     
041627,000731:    7007           17011                           TCF      +2                                    
041628,000732:    7010           17017                           TCF      NEG                                   
041629,000733: 
041630,000734:    7011           10146                           CCS      MPAC       +2                         
041631,000735:    7012           00002                           TC       Q                                     
041632,000736:    7013           17015                           TCF      +2                                    
041633,000737:    7014           17017                           TCF      NEG                                   
041634,000738: 
041635,000739:    7015           50002        Q+1                INDEX    Q                                     
041636,000740:    7016           00001                           TC       1                                     
041637,000741: 
041638,000742:    7017           50002        NEG                INDEX    Q                                     #  IF FIRST NON-ZERO REGISTER WAS NEGATIVE.
041639,000743:    7020           00002                           TC       2                                     
041640,000744: 
041641,000745: 
041642,000746:    7021     7017               Q+2                =        NEG                                   
041643,000747: 
041644,000748:                                                                                                  #           ITRACE (3) REFERS TO "EXIT".
041645,000749:    7021           30155        EXIT               CA       BANKSET                               #  RESTORE USER'S BANK SETTING, AND LEAVE
041646,000750:    7022           54006                           TS       BBANK                                 #  INTERPRETIVE MODE.
041647,000751:    7023           50154                           INDEX    LOC                                   
041648,000752:    7024           00001                           TC       1                                     
041649,000753: 

Page 977

041651,000755:                                                                                                  #  SECTION 3 - ADD/SUBTRACT PACKAGE.
041652,000756: 
041653,000757:                                                                                                  #           THE FOLLOWING OPERATIONS ARE PROVIDED FOR ADDING TO AND SUBTRACTING FROM THE MULTI-PURPOSE ACCUMULATOR
041654,000758:                                                                                                  #  MPAC:
041655,000759: 
041656,000760:                                                                                                  #           1.  DAD                DOUBLE PRECISION ADD.
041657,000761:                                                                                                  #           2.  DSU                DOUBLE PRECISION SUBTRACT.
041658,000762:                                                                                                  #           3.  BDSU               DOUBLE PRECISION SUBTRACT FROM.
041659,000763: 
041660,000764:                                                                                                  #           4.  TAD                TRIPLE PRECISION ADD.
041661,000765: 
041662,000766:                                                                                                  #           5.  VAD                VECTOR ADD.
041663,000767:                                                                                                  #           6.  VSU                VECTOR SUBTRACT.
041664,000768:                                                                                                  #           7.  BVSU               VECTOR SUBTRACT FROM.
041665,000769: 
041666,000770:                                                                                                  #  THE INTERPRETIVE OVERFLOW INDICATOR OVFIND IS SET NON-ZERO IF OVERFLOW OCCURS IN ANY OF THE ABOVE.
041667,000771: 
041668,000772: 
041669,000773:    7025           00006        VAD                EXTEND                                         
041670,000774:    7026           50106                           INDEX    ADDRWD                                
041671,000775:    7027           30003                           DCA      2                                     
041672,000776:    7030           20150                           DAS      MPAC       +3                         
041673,000777:    7031           00006                           EXTEND                                         #  CHECK OVERFLOW.
041674,000778:    7032           17034                           BZF      +2                                    
041675,000779:    7033           07101                           TC       OVERFLOW                              
041676,000780: 
041677,000781:    7034           00006                           EXTEND                                         
041678,000782:    7035           50106                           INDEX    ADDRWD                                
041679,000783:    7036           30005                           DCA      4                                     
041680,000784:    7037           20152                           DAS      MPAC       +5                         
041681,000785:    7040           00006                           EXTEND                                         
041682,000786:    7041           17043                           BZF      +2                                    
041683,000787:    7042           07101                           TC       OVERFLOW                              
041684,000788: 
041685,000789:    7043           00006        DAD                EXTEND                                         
041686,000790:    7044           50106                           INDEX    ADDRWD                                
041687,000791:    7045           30001                           DCA      0                                     
041688,000792:    7046           20145        ENDVXV             DAS      MPAC                                  #  VXV FINISHES HERE.
041689,000793:    7047           00006                           EXTEND                                         
041690,000794:    7050           16125                           BZF      DANZIG                                
041691,000795:    7051           07101                           TC       OVERFLOW                              
041692,000796:    7052           16125                           TCF      DANZIG                                
041693,000797: 

Page 978

041695,000799:    7053           00006        VSU                EXTEND                                         
041696,000800:    7054           50106                           INDEX    ADDRWD                                
041697,000801:    7055           40003                           DCS      2                                     
041698,000802:    7056           20150                           DAS      MPAC       +3                         
041699,000803:    7057           00006                           EXTEND                                         
041700,000804:    7060           17062                           BZF      +2                                    
041701,000805:    7061           07101                           TC       OVERFLOW                              
041702,000806: 
041703,000807:    7062           00006                           EXTEND                                         
041704,000808:    7063           50106                           INDEX    ADDRWD                                
041705,000809:    7064           40005                           DCS      4                                     
041706,000810:    7065           20152                           DAS      MPAC       +5                         
041707,000811:    7066           00006                           EXTEND                                         
041708,000812:    7067           17071                           BZF      +2                                    
041709,000813:    7070           07101                           TC       OVERFLOW                              
041710,000814: 
041711,000815:    7071           00006        DSU                EXTEND                                         
041712,000816:    7072           50106                           INDEX    ADDRWD                                
041713,000817:    7073           40001                           DCS      0                                     
041714,000818:    7074           20145                           DAS      MPAC                                  
041715,000819:    7075           00006                           EXTEND                                         
041716,000820:    7076           16125                           BZF      DANZIG                                
041717,000821:    7077           07101                           TC       OVERFLOW                              
041718,000822:    7100           16125                           TCF      DANZIG                                
041719,000823: 
041720,000824:    7101           37763        OVERFLOW           CAF      ONE                                   #  SUBROUTINE TO TURN OVFIND ON.
041721,000825:    7102           17224                           TCF      SETOVF2                               
041722,000826: 

Page 979

041724,000828:    7103           00006        BVSU               EXTEND                                         
041725,000829:    7104           50106                           INDEX    ADDRWD                                
041726,000830:    7105           30003                           DCA      2                                     
041727,000831:    7106           52150                           DXCH     MPAC       +3                         
041728,000832:    7107           00006                           EXTEND                                         
041729,000833:    7110           40001                           DCOM                                           
041730,000834:    7111           20150                           DAS      MPAC       +3                         
041731,000835:    7112           00006                           EXTEND                                         
041732,000836:    7113           17115                           BZF      +2                                    
041733,000837:    7114           07101                           TC       OVERFLOW                              
041734,000838: 
041735,000839:    7115           00006                           EXTEND                                         
041736,000840:    7116           50106                           INDEX    ADDRWD                                
041737,000841:    7117           30005                           DCA      4                                     
041738,000842:    7120           52152                           DXCH     MPAC       +5                         
041739,000843:    7121           00006                           EXTEND                                         
041740,000844:    7122           40001                           DCOM                                           
041741,000845:    7123           20152                           DAS      MPAC       +5                         
041742,000846:    7124           00006                           EXTEND                                         
041743,000847:    7125           17127                           BZF      +2                                    
041744,000848:    7126           07101                           TC       OVERFLOW                              
041745,000849: 
041746,000850:    7127           00006        BDSU               EXTEND                                         
041747,000851:    7130           50106                           INDEX    ADDRWD                                
041748,000852:    7131           30001                           DCA      0                                     
041749,000853:    7132           52145                           DXCH     MPAC                                  
041750,000854:    7133           00006                           EXTEND                                         
041751,000855:    7134           40001                           DCOM                                           
041752,000856:    7135           20145                           DAS      MPAC                                  
041753,000857:    7136           00006                           EXTEND                                         
041754,000858:    7137           16125                           BZF      DANZIG                                
041755,000859:    7140           07101                           TC       OVERFLOW                              
041756,000860:    7141           16125                           TCF      DANZIG                                
041757,000861: 

Page 980

041759,000863:                                                                                                  #           TRIPLE PRECISION ADD ROUTINE.
041760,000864: 
041761,000865:    7142           00006        TAD                EXTEND                                         
041762,000866:    7143           50106                           INDEX    ADDRWD                                
041763,000867:    7144           30002                           DCA      1                                     #  ADD MINOR PARTS FIRST.
041764,000868:    7145           20146                           DAS      MPAC       +1                         
041765,000869:    7146           50106                           INDEX    ADDRWD                                
041766,000870:    7147           60000                           AD       0                                     
041767,000871:    7150           60144                           AD       MPAC                                  
041768,000872:    7151           54144                           TS       MPAC                                  
041769,000873:    7152           16125                           TCF      DANZIG                                
041770,000874: 
041771,000875:    7153           54111        SETOVF             TS       OVFIND                                #  SET OVFIND IF SUCH OCCURS.
041772,000876:    7154           16125                           TCF      DANZIG                                
041773,000877: 

Page 981

041775,000879:                                                                                                  #  ARITHMETIC SUBROUTINES REQUIRED IN FIXED-FIXED.
041776,000880:                                                                                                  #           1.  DMPSUB     DOUBLE PRECISION MULTIPLY. MULTIPLY THE CONTENTS OF MPAC,+1 BY THE DP WORD WHOSE ADDRESS
041777,000881:                                                                                                  #                          IS IN ADDRWD AND LEAVE A TRIPLE PRECISION RESULT IN MPAC.
041778,000882:                                                                                                  #           2.  ROUNDSUB   ROUND THE TRIPLE PRECISON CONTENTS OF MPAC TO DOUBLE PRECISION.
041779,000883:                                                                                                  #           3.  DOTSUB     TAKE THE DOT PRODUCT OF THE VECTOR IN MPAC AND THE VECTOR WHOSE ADDRESS IS IN ADDRWD
041780,000884:                                                                                                  #                          AND LEAVE THE TRIPLE PRECISION RESULT IN MPAC.
041781,000885:                                                                                                  #           4.  POLY       USING THE CONTENTS OF MPAC AS A DP ARGUMENT, EVALUATE THE POLYNOMIAL WHOSE DEGREE AND
041782,000886:                                                                                                  #                          COEFFICIENTS IMMEDIATELY FOLLOW THE TC POLY INSTRUCTION (SEE ROUTINE FOR DETAILS.)
041783,000887: 
041784,000888: 
041785,000889:    7155           50002        DMP                INDEX    Q                                     #  BASIC SUBROUTINE FOR USE BY PINBALL, ETC
041786,000890:    7156           30000                           CAF      0                                     #  ADRES OF ARGUMENT FOLLOWS  TC DMP  .
041787,000891:    7157           24002                           INCR     Q                                     
041788,000892:    7160           54106                 -1        TS       ADDRWD                                #  (PROLOGUE FOR SETTING ADDRWD.)
041789,000893: 
041790,000894:    7161           50106        DMPSUB             INDEX    ADDRWD                                #  GET MINOR PART OF OPERAND AT C(ADDRWD).
041791,000895:    7162           30001                           CA       1                                     
041792,000896:    7163           54146                           TS       MPAC       +2                         #  THIS WORKS FOR SQUARING MPAC AS WELL.
041793,000897:    7164           37767                           CAF      ZERO                                  #  SET MPAC +1 TO ZERO SO WE CAN ACCUMULATE
041794,000898:    7165           56145                           XCH      MPAC       +1                         #  THE PARTIAL PRODUCTS WITH DAS
041795,000899:    7166           54125                           TS       MPTEMP                                #  INSTRUCTIONS.
041796,000900:    7167           00006                           EXTEND                                         
041797,000901:    7170           70146                           MP       MPAC       +2                         #  MINOR OF MPAC X MINOR OF C(ADDRWD).
041798,000902: 
041799,000903:    7171           56146                           XCH      MPAC       +2                         #  DISCARD MINOR PART OF ABOVE RESULT AND
041800,000904:    7172           00006                           EXTEND                                         #  FORM MAJOR OF MPAC X MINOR OF C(ADDRWD).
041801,000905:    7173           70144                           MP       MPAC                                  
041802,000906:    7174           20146                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
041803,000907: 
041804,000908:    7175           50106                           INDEX    ADDRWD                                #  GET MAJOR PART OF ARGUMENT AT C(ADDRWD).
041805,000909:    7176           30000                           CA       0                                     
041806,000910:    7177           56125                           XCH      MPTEMP                                #  SAVE AND BRING OUT MINOR OF MPAC.
041807,000911:    7200           00006                           EXTEND                                         
041808,000912:    7201           70125                           MP       MPTEMP                                #  MAJOR OF C(ADDRWD) X MINOR OF MPAC.
041809,000913:    7202           20146                           DAS      MPAC       +1                         #  ACCUMULATE, SETTING A TO NET OVERFLOW.
041810,000914: 
041811,000915:    7203           56144                           XCH      MPAC                                  #  SETTING MPAC TO 0 OR +-1.
041812,000916:    7204           00006                           EXTEND                                         
041813,000917:    7205           70125                           MP       MPTEMP                                #  MAJOR OF MPAC X MAJOR OF C(ADDRWD).
041814,000918:    7206           20145                           DAS      MPAC                                  #  GUARANTEED NO OVERFLOW.
041815,000919:    7207           00002                           TC       Q                                     #  49 MCT = .573 MS. INCLUDING RETURN.
041816,000920: 

Page 982

041818,000922:                                                                                                  #           ROUND MPAC TO DOUBLE PRECISION, SETTING OVFIND ON THE RARE EVENT OF OVERFLOW.
041819,000923: 
041820,000924:    7210           37767        ROUNDSUB           CAF      ZERO                                  #  SET MPAC +2 = 0 FOR SCALARS AND CHANGE
041821,000925:    7211           54153                 +1        TS       MODE                                  #  MODE TO DP.
041822,000926: 
041823,000927:    7212           56146        VROUND             XCH      MPAC       +2                         #  BUT WE NEEDNT TAKE THE TIME FOR VECTORS.
041824,000928:    7213           60000                           DOUBLE                                         
041825,000929:    7214           54001                           TS       L                                     
041826,000930:    7215           00002                           TC       Q                                     
041827,000931: 
041828,000932:    7216           60145                           AD       MPAC       +1                         #  ADD ROUNDING BIT IF MPAC +2 WAS GREATER
041829,000933:    7217           54145                           TS       MPAC       +1                         #  THAN .5 IN MAGNITUDE.
041830,000934:    7220           00002                           TC       Q                                     
041831,000935: 
041832,000936:    7221           60144                           AD       MPAC                                  #  PROPAGATE INTERFLOW.
041833,000937:    7222           54144                           TS       MPAC                                  
041834,000938:    7223           00002                           TC       Q                                     
041835,000939: 
041836,000940:    7224           54111        SETOVF2            TS       OVFIND                                #  (RARE).
041837,000941:    7225           00002                           TC       Q                                     
041838,000942: 

Page 983

041840,000944:                                                                                                  #           THE DOT PRODUCT SUBROUTINE USUALLY FORMS THE DOT PRODUCT OF THE VECTOR IN MPAC WITH A STANDARD SIX
041841,000945:                                                                                                  #  REGISTER VECTOR WHOSE ADDRESS IS IN ADDRWD. IN THIS CASE C(DOTINC) ARE SET TO 2. VXM, HOWEVER, SETS C(DOTINC) TO
041842,000946:                                                                                                  #  6 SO THAT DOTSUB DOTS MPAC WITH A COLUMN VECTOR OF THE MATRIX IN QUESTION IN THIS CASE.
041843,000947: 
041844,000948: 
041845,000949:    7226           37762        PREDOT             CAF      TWO                                   #  PROLOGUE TO SET DOTINC TO 2.
041846,000950:    7227           54126                           TS       DOTINC                                
041847,000951: 
041848,000952:    7230           00006        DOTSUB             EXTEND                                         
041849,000953:    7231           22127                           QXCH     DOTRET                                #  SAVE RETURN.
041850,000954:    7232           07161                           TC       DMPSUB                                #  DOT X COMPONENTS.
041851,000955:    7233           52150                           DXCH     MPAC       +3                         #  POSITION Y COMPONENT OF MPAC FOR
041852,000956:    7234           52145                           DXCH     MPAC                                  #  MULTIPLICATION WHILE SAVING RESULT IN
041853,000957:    7235           52121                           DXCH     BUF                                   #  THREE WORD BUFFER, BUF.
041854,000958:    7236           30146                           CA       MPAC       +2                         
041855,000959:    7237           54122                           TS       BUF        +2                         
041856,000960: 
041857,000961:    7240           30126                           CA       DOTINC                                #  ADVANCE ADDRWD TO Y COMPONENT OF
041858,000962:    7241           26106                           ADS      ADDRWD                                #  OTHER ARGUMENT.
041859,000963:    7242           07161                           TC       DMPSUB                                
041860,000964:    7243           52146                           DXCH     MPAC       +1                         #  ACCUMULATE PARTIAL PRODUCTS.
041861,000965:    7244           20122                           DAS      BUF        +1                         
041862,000966:    7245           60144                           AD       MPAC                                  
041863,000967:    7246           60120                           AD       BUF                                   
041864,000968:    7247           54120                           TS       BUF                                   
041865,000969:    7250           17252                           TCF      +2                                    
041866,000970:    7251           54111                           TS       OVFIND                                #  IF OVERFLOW OCCURS.
041867,000971: 
041868,000972:    7252           52152                           DXCH     MPAC       +5                         #  MULTIPLY Z COMPONENTS.
041869,000973:    7253           52145                           DXCH     MPAC                                  
041870,000974:    7254           30126                           CA       DOTINC                                
041871,000975:    7255           26106                           ADS      ADDRWD                                
041872,000976:    7256           07161                           TC       DMPSUB                                
041873,000977:    7257           52122        ENDDOT             DXCH     BUF        +1                         #  LEAVE FINAL ACCUMULATION IN MPAC.
041874,000978:    7260           20146                           DAS      MPAC       +1                         
041875,000979:    7261           60144                           AD       MPAC                                  
041876,000980:    7262           60120                           AD       BUF                                   
041877,000981:    7263           54144                           TS       MPAC                                  
041878,000982:    7264           00127                           TC       DOTRET                                
041879,000983: 
041880,000984:    7265           54111                           TS       OVFIND                                #  ON OVERFLOW HERE.
041881,000985:    7266           00127                           TC       DOTRET                                
041882,000986: 

Page 984

041884,000988:                                                                                                  #  DOUBLE PRECISION POLYNOMIAL EVALUATOR
041885,000989:                                                                                                  #                                     N        N-1
041886,000990:                                                                                                  #           THIS ROUTINE EVALUATES A X  + A   X    + ... + A X + A  LEAVING THE DP RESULT IN MPAC ON EXIT.
041887,000991:                                                                                                  #                                   N      N-1              1     0
041888,000992: 
041889,000993:                                                                                                  #  THE ROUTINE HAS TWO ENTRIES
041890,000994: 
041891,000995:                                                                                                  #           1. ENTRY THRU POWRSERS. THE COEFFICIENTS MAY BE EITHER IN FIXED OR ERASABLE, THE CALL IS BY
041892,000996:                                                                                                  #              TC POWRSERS, AND THE RETURN IS TO LOC(TC POWRSERS)+1. THE ENTERING DATA MUST BE AS FOLLOWS
041893,000997: 
041894,000998:                                                                                                  #                                          A        SP     LOC-3           ADDRESS FOR REFERENCING COEF TABLE
041895,000999:                                                                                                  #                                          L        SP     N-1             N IS THE DEGREE OF THE POWER SERIES
041896,001000:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
041897,001001: 
041898,001002:                                                                                                  #                                          LOC-2N   DP     A(0)
041899,001003:                                                                                                  #                                                   ...
041900,001004:                                                                                                  #                                          LOC      DP     A(N)
041901,001005: 
041902,001006:                                                                                                  #           2. ENTRY THRU POLY. THE CALL TO POLY AND THE ENTERING DATA MUST BE AS FOLLOWS
041903,001007: 
041904,001008:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
041905,001009: 
041906,001010:                                                                                                  #                                          LOC      TC     POLY
041907,001011:                                                                                                  #                                          LOC+1    SP     N-1
041908,001012:                                                                                                  #                                          LOC+2    DP     A(0)
041909,001013:                                                                                                  #                                                   ...
041910,001014:                                                                                                  #                                          LOC+2N+2 DP     A(N)            RETURN IS TO LOC+2N+4
041911,001015: 
041912,001016:    7267           00006        POWRSERS           EXTEND                                         
041913,001017:    7270           22131                           QXCH     POLYRET                               #  RETURN ADDRESS
041914,001018:    7271           54107                           TS       POLISH                                #  POWER SERIES ADDRESS
041915,001019:    7272           22130                           LXCH     POLYCNT                               #  N-1 TO COUNTER
041916,001020:    7273           17304                           TCF      POLYCOM                               #  SKIP SET UP BY POLY
041917,001021: 
041918,001022:    7274           50002        POLY               INDEX    Q                                     
041919,001023:    7275           30000                           CAF      0                                     
041920,001024:    7276           54130                           TS       POLYCNT                               #  N-1 TO COUNTER
041921,001025:    7277           60000                           DOUBLE                                         
041922,001026:    7300           60002                           AD       Q                                     
041923,001027:    7301           54107                           TS       POLISH                                #  L(A(N))-3 TO POLISH
041924,001028:    7302           67766                           AD       FIVE                                  
041925,001029:    7303           54131                           TS       POLYRET                               #  STORE RETURN ADDRESS
041926,001030: 
041927,001031:    7304           35347        POLYCOM            CAF      LVBUF                                 #  INCOMING X WILL BE MOVED TO VBUF, SO
041928,001032:    7305           54106                           TS       ADDRWD                                #  SET ADDRWD SO DMPSUB WILL MPY BY VBUF.
041929,001033: 
041930,001034:    7306           00006                           EXTEND                                         
041931,001035:    7307           50107                           INDEX    POLISH                                
041932,001036:    7310           30004                           DCA      3                                     
041933,001037: 

Page 985

041935,001039:    7311           52145                           DXCH     MPAC                                  #  LOAD A(N) INTO MPAC,
041936,001040:    7312           52113                           DXCH     VBUF                                  #  SAVING X IN VBUF
041937,001041:    7313           17317                           TCF      POLY2                                 
041938,001042: 
041939,001043:    7314           54130        POLYLOOP           TS       POLYCNT                               #  SAVE DECREMENTED LOOP COUNTER
041940,001044:    7315           47762                           CS       TWO                                   
041941,001045:    7316           26107                           ADS      POLISH                                #  REGRESS COEFFICIENT POINTER
041942,001046: 
041943,001047:    7317           07161        POLY2              TC       DMPSUB                                #  MULTIPLY BY X
041944,001048:    7320           00006                           EXTEND                                         
041945,001049:    7321           50107                           INDEX    POLISH                                
041946,001050:    7322           30002                           DCA      1                                     #  ADD IN NEXT COEFFICIENT
041947,001051:    7323           20145                           DAS      MPAC                                  #  USERS RESPONSIBILITY TO ASSURE NO OVFLOW
041948,001052: 
041949,001053:    7324           10130                           CCS      POLYCNT                               
041950,001054:    7325           17314                           TCF      POLYLOOP                              
041951,001055:    7326           00131                           TC       POLYRET                               #  RETURN CALLER
041952,001056: 

Page 986

041954,001058:                                                                                                  #           MISCELLANEOUS MULTI-PRECISION ROUTINES REQUIRED IN FIXED-FIXED BUT NOT USED BY THE INTERPRETER.
041955,001059: 
041956,001060:    7327           22002        TPAGREE            LXCH     Q                                     #  FORCE SIGN AGREEMENT AMONG THE TRIPLE
041957,001061:    7330           07001                           TC       BRANCH                                #  PRECISION CONTENTS OF MPAC.  RETURNING
041958,001062:    7331           17335                           TCF      ARG+                                  #  WITH SIGNUM OF THE INPUT IN A.
041959,001063:    7332           17355                           TCF      ARGZERO                               
041960,001064: 
041961,001065:    7333           47743                           CS       POSMAX                                #  IF NEGATIVE.
041962,001066:    7334           17336                           TCF      +2                                    
041963,001067: 
041964,001068:    7335           37743        ARG+               CAF      POSMAX                                
041965,001069:    7336           54002                           TS       Q                                     
041966,001070:    7337           00006                           EXTEND                                         
041967,001071:    7340           24000                           AUG      A                                     #  FORMS +-1.0.
041968,001072:    7341           60146                           AD       MPAC       +2                         
041969,001073:    7342           54146                           TS       MPAC       +2                         
041970,001074:    7343           37767                           CAF      ZERO                                  
041971,001075:    7344           60002                           AD       Q                                     
041972,001076:    7345           60145                           AD       MPAC       +1                         
041973,001077:    7346           54145                           TS       MPAC       +1                         
041974,001078:    7347           37767                           CAF      ZERO                                  
041975,001079:    7350           60002                           AD       Q                                     #  Q STILL HAS POSMAX OR NEGMAX IN IT.
041976,001080:    7351           60144                           AD       MPAC                                  
041977,001081:    7352           54144        ARGZERO2           TS       MPAC                                  #  ALWAYS SKIPPING UNLESS ARGZERO.
041978,001082:    7353           54145                           TS       MPAC       +1                         
041979,001083:    7354           00001                           TC       L                                     #  RETURN VIA L.
041980,001084: 
041981,001085:    7355           54146        ARGZERO            TS       MPAC       +2                         #  SET ALL THREE MPAC REGISTERS TO ZERO.
041982,001086:    7356           17352                           TCF      ARGZERO2                              
041983,001087: 
041984,001088:                                                                                                  #           SHORTMP MULTIPLIES THE TP CONTENTS OF MPAC BY THE SINGLE PRECISION NUMBER ARRIVING IN A.
041985,001089: 
041986,001090:    7357           54125        SHORTMP            TS       MPTEMP                                
041987,001091:    7360           00006                           EXTEND                                         
041988,001092:    7361           70146                           MP       MPAC       +2                         
041989,001093:    7362           54146                           TS       MPAC       +2                         
041990,001094:    7363           37767                           CAF      ZERO                                  #  SO SUBSEQUENT DAS WILL WORK.
041991,001095:    7364           56145                           XCH      MPAC       +1                         
041992,001096:    7365           00006                           EXTEND                                         
041993,001097:    7366           70125                           MP       MPTEMP                                
041994,001098:    7367           20146                           DAS      MPAC       +1                         
041995,001099:    7370           56144                           XCH      MPAC                                  #  SETTING MPAC TO 0.
041996,001100:    7371           00006                           EXTEND                                         
041997,001101:    7372           70125                           MP       MPTEMP                                
041998,001102:    7373           20145                           DAS      MPAC                                  
041999,001103:    7374           00002                           TC       Q                                     
042000,001104: 

Page 987

042002,001106:                                                                                                  #         DMPNSUB MULTIPLIES THE DP FRACTION ARRIVING IN MPAC BY THE SP
042003,001107:                                                                                                  #  INTEGER ARRIVING IN A.  THE DP PRODUCT DEPARTS BOTH IN MPAC AND IN
042004,001108:                                                                                                  #  A AND L.  NOTE THAT DMPNSUB NORMALLY INCREASES THE MAGNITUDE OF THE
042005,001109:                                                                                                  #  CONTENTS OF MPAC.  THE CUSTOMER MUST INSURE THAT B(A) X B(MPAC,MPAC+1)
042006,001110:                                                                                                  #  AND B(A) X B(MPAC) ARE LESS THAN 1 IN MAGNITUDE, WHERE B, AS IS OBVIOUS,
042007,001111:                                                                                                  #  INDICATES THE ARRIVING CONTENTS.
042008,001112: 
042009,001113:    7375           54125        DMPNSUB            TS       DMPNTEMP                              
042010,001114:    7376           00006                           EXTEND                                         
042011,001115:    7377           70145                           MP       MPAC       +1                         
042012,001116:    7400           52145                           DXCH     MPAC                                  #  LOW PRODUCT TO MPAC, HIGH FACTOR TO A
042013,001117:    7401           00006                           EXTEND                                         
042014,001118:    7402           70125                           MP       DMPNTEMP                              
042015,001119:    7403           30001                           CA       L                                     
042016,001120:    7404           26144                           ADS      MPAC                                  #  COMPLETING THE PRODUCT IN MPAC
042017,001121:    7405           00006                           EXTEND                                         
042018,001122:    7406           30145                           DCA      MPAC                                  #  BRINGING THE PRODUCT INTO A AND L
042019,001123:    7407           00002                           TC       Q                                     
042020,001124: 

Page 988

042022,001126:                                                                                                  #  MISCELLANEOUS VECTOR OPERATIONS. INCLUDED HERE ARE THE FOLLOWING:
042023,001127: 
042024,001128:                                                                                                  #           1.  DOT                DP VECTOR DOT PRODUCT.
042025,001129:                                                                                                  #           2.  VXV                DP VECTOR CROSS PRODUCT.
042026,001130:                                                                                                  #           3.  VXSC               DP VECTOR TIMES SCALAR.
042027,001131:                                                                                                  #           4.  V/SC               DP VECTOR DIVIDED BY SCALAR.
042028,001132:                                                                                                  #           5.  VPROJ              DP VECTOR PROJECTION.  ( (MPAC.X)MPAC ).
042029,001133:                                                                                                  #           6.  VXM                DP VECTOR POST-MULTIPLIED BY MATRIX.
042030,001134:                                                                                                  #           7.  MXV                DP VECTOR PRE-MULTIPLIED BY MATRIX.
042031,001135: 
042032,001136: 
042033,001137:    7410           07226        DOT                TC       PREDOT                                #  DO THE DOT PRODUCT AND EXIT, CHANGING
042034,001138:    7411           37767                           CAF      ZERO                                  #  THE MODE TO DP SCALAR.
042035,001139:    7412           16124                           TCF      NEWMODE                               
042036,001140: 
042037,001141: 
042038,001142:    7413           37762        MXV                CAF      TWO                                   #  SET UP MATINC AND DOTINC FOR ROW
042039,001143:    7414           54130                           TS       MATINC                                #  VECTORS.
042040,001144:    7415           17421                           TCF      VXM/MXV                               #  GO TO COMMON PORTION.
042041,001145: 
042042,001146:    7416           44570        VXM                CS       TEN                                   #  SET MATINC AND DOTINC TO REFER TO MATRIX
042043,001147:    7417           54130                           TS       MATINC                                #  AS THREE COLUMN VECTORS.
042044,001148:    7420           36306                           CAF      SIX                                   
042045,001149: 

Page 989

042047,001151:                                                                                                  #           COMMON PORTION OF MXV AND VXM.
042048,001152: 
042049,001153:    7421           54126        VXM/MXV            TS       DOTINC                                
042050,001154:                                                                                                  #           ITRACE (2) REFERS TO "VXM/MXV".
042051,001155:    7422           07612                           TC       MPACVBUF                              #  SAVE VECTOR IN MPAC FOR FURTHER USE.
042052,001156: 
042053,001157:    7423           07230                           TC       DOTSUB                                #  GO DOT TO GET X COMPONENT OF ANSWER.
042054,001158:    7424           00006                           EXTEND                                         
042055,001159:    7425           30113                           DCA      VBUF                                  #  MOVE MPAC VECTOR BACK INTO MPAC, SAVING
042056,001160:    7426           52145                           DXCH     MPAC                                  #  NEW X COMPONENT IN BUF2.
042057,001161:    7427           52124                           DXCH     BUF2                                  
042058,001162:    7430           00006                           EXTEND                                         
042059,001163:    7431           30115                           DCA      VBUF       +2                         
042060,001164:    7432           52150                           DXCH     MPAC       +3                         
042061,001165:    7433           00006                           EXTEND                                         
042062,001166:    7434           30117                           DCA      VBUF       +4                         
042063,001167:    7435           52152                           DXCH     MPAC       +5                         
042064,001168:    7436           30130                           CA       MATINC                                #  INITIALIZE ADDRWD FOR NEXT DOT PRODUCT.
042065,001169:    7437           26106                           ADS      ADDRWD                                #  FORMS BASE ADDRESS OF NEXT COLUMN(ROW).
042066,001170: 
042067,001171:    7440           07230                           TC       DOTSUB                                
042068,001172:    7441           52113                           DXCH     VBUF                                  #  MOVE GIVEN VECTOR BACK TO MPAC, SAVING Y
042069,001173:    7442           52145                           DXCH     MPAC                                  #  COMPONENT OF ANSWER IN VBUF +2.
042070,001174:    7443           52115                           DXCH     VBUF       +2                         
042071,001175:    7444           52150                           DXCH     MPAC       +3                         
042072,001176:    7445           52117                           DXCH     VBUF       +4                         
042073,001177:    7446           52152                           DXCH     MPAC       +5                         
042074,001178:    7447           30130                           CA       MATINC                                #  FORM ADDRESS OF LAST COLUMN OR ROW.
042075,001179:    7450           26106                           ADS      ADDRWD                                
042076,001180: 
042077,001181:    7451           07230                           TC       DOTSUB                                
042078,001182:    7452           52124                           DXCH     BUF2                                  #  ANSWER NOW COMPLETE. PUT COMPONENTS INTO
042079,001183:    7453           52145                           DXCH     MPAC                                  #  PROPER MPAC REGISTERS.
042080,001184:    7454           52152                           DXCH     MPAC       +5                         
042081,001185:    7455           52115                           DXCH     VBUF       +2                         
042082,001186:    7456           52150                           DXCH     MPAC       +3                         
042083,001187:    7457           16125                           TCF      DANZIG                                #  EXIT.
042084,001188: 

Page 990

042086,001190:                                                                                                  #           VXSC - VECTOR TIMES SCALAR.
042087,001191: 
042088,001192:    7460           10153        VXSC               CCS      MODE                                  #  TEST PRESENT MODE.
042089,001193:    7461           17507                           TCF      DVXSC                                 #  SEPARATE ROUTINE WHEN SCALAR IS IN MPAC.
042090,001194:    7462           17507                           TCF      DVXSC                                 
042091,001195: 
042092,001196:    7463           07161        VVXSC              TC       DMPSUB                                #  COMPUTE X COMPONENT
042093,001197:    7464           07212                           TC       VROUND                                #  AND ROUND IT.
042094,001198:    7465           52150                           DXCH     MPAC       +3                         #  PUT Y COMPONENT INTO MPAC SAVING MPAC IN
042095,001199:    7466           52145                           DXCH     MPAC                                  #  MPAC +3.
042096,001200:    7467           52150                           DXCH     MPAC       +3                         
042097,001201: 
042098,001202:    7470           07161                           TC       DMPSUB                                #  DO SAME FOR Y AND Z COMPONENTS.
042099,001203:    7471           07212                           TC       VROUND                                
042100,001204:    7472           52152                           DXCH     MPAC       +5                         
042101,001205:    7473           52145                           DXCH     MPAC                                  
042102,001206:    7474           52152                           DXCH     MPAC       +5                         
042103,001207: 
042104,001208:    7475           07161                           TC       DMPSUB                                
042105,001209:    7476           07212                           TC       VROUND                                
042106,001210:    7477           52145        VROTATEX           DXCH     MPAC                                  #  EXIT USED TO RESTORE MPAC AFTER THIS
042107,001211:    7500           52152                           DXCH     MPAC       +5                         #  TYPE OF ROTATION. CALLED BY VECTOR SHIFT
042108,001212:    7501           52150                           DXCH     MPAC       +3                         #  RIGHT, V/SC, ETC.
042109,001213:    7502           52145                           DXCH     MPAC                                  
042110,001214:    7503           16125                           TCF      DANZIG                                
042111,001215: 

Page 991

042113,001217:                                                                                                  #           DP VECTOR PROJECTION ROUTINE.
042114,001218: 
042115,001219:    7504           07226        VPROJ              TC       PREDOT                                #  (MPAC.X)MPAC IS COMPUTED AND LEFT IN
042116,001220:    7505           47761                           CS       FOUR                                  #  MPAC. DO DOT AND FALL INTO DVXSC.
042117,001221:    7506           26106                           ADS      ADDRWD                                
042118,001222: 
042119,001223:                                                                                                  #           VXSC WHEN SCALAR ARRIVES IN MPAC AND VECTOR IS AT X.
042120,001224: 
042121,001225:    7507           00006        DVXSC              EXTEND                                         #  SAVE SCALAR IN MPAC +3 AND GET X
042122,001226:    7510           30145                           DCA      MPAC                                  #  COMPONENT OF ANSWER.
042123,001227:    7511           52150                           DXCH     MPAC       +3                         
042124,001228:    7512           07161                           TC       DMPSUB                                
042125,001229:    7513           07212                           TC       VROUND                                
042126,001230: 
042127,001231:    7514           37762                           CAF      TWO                                   #  ADVANCE ADDRWD TO Y COMPONENT OF X.
042128,001232:    7515           26106                           ADS      ADDRWD                                
042129,001233:    7516           00006                           EXTEND                                         
042130,001234:    7517           30150                           DCA      MPAC       +3                         #  PUT SCALAR BACK INTO MPAC AND SAVE
042131,001235:    7520           52145                           DXCH     MPAC                                  #  X RESULT IN MPAC +5.
042132,001236:    7521           52152                           DXCH     MPAC       +5                         
042133,001237:    7522           07161                           TC       DMPSUB                                
042134,001238:    7523           07212                           TC       VROUND                                
042135,001239: 
042136,001240:    7524           37762                           CAF      TWO                                   
042137,001241:    7525           26106                           ADS      ADDRWD                                #  TO Z COMPONENT.
042138,001242:    7526           52150                           DXCH     MPAC       +3                         #  BRING SCALAR BACK, PUTTING Y RESULT IN
042139,001243:    7527           52145                           DXCH     MPAC                                  #  THE PROPER PLACE.
042140,001244:    7530           52150                           DXCH     MPAC       +3                         
042141,001245:    7531           07161                           TC       DMPSUB                                
042142,001246:    7532           07212                           TC       VROUND                                
042143,001247: 
042144,001248:    7533           52145                           DXCH     MPAC                                  #  PUT Z COMPONENT IN PROPER PLACE, ALSO
042145,001249:    7534           52152                           DXCH     MPAC       +5                         #  POSITIONING X.
042146,001250:    7535           52145                           DXCH     MPAC                                  
042147,001251: 
042148,001252:    7536           47763                           CS       ONE                                   #  MODE HAS CHANGED TO VECTOR.
042149,001253:    7537           16124                           TCF      NEWMODE                               
042150,001254: 

Page 992

042152,001256:                                                                                                  #           THE VECTOR CROSS PRODUCT ROUTINE CALCULATES (X M -X M ,X M -X M ,X M -X M ) WHERE M IS THE VECTOR IN
042153,001257:                                                                                                  #                                                         3 2  2 3  1 3  3 1  2 1  1 2
042154,001258:                                                                                                  #  MPAC AND X THE VECTOR AT THE GIVEN ADDRESS.
042155,001259: 
042156,001260: 
042157,001261:    7540           00006        VXV                EXTEND                                         
042158,001262:    7541           30152                           DCA      MPAC       +5                         #  FORM UP M3X1, LEAVING M1 IN VBUF.
042159,001263:    7542           52145                           DXCH     MPAC                                  
042160,001264:    7543           52113                           DXCH     VBUF                                  
042161,001265:    7544           07161                           TC       DMPSUB                                #  BY X1.
042162,001266: 
042163,001267:    7545           00006                           EXTEND                                         
042164,001268:    7546           40150                           DCS      MPAC       +3                         #  CALCULATE -X1M2, SAVING X1M3 IN VBUF +2.
042165,001269:    7547           52145                           DXCH     MPAC                                  
042166,001270:    7550           52115                           DXCH     VBUF       +2                         
042167,001271:    7551           07161                           TC       DMPSUB                                
042168,001272: 
042169,001273:    7552           37762                           CAF      TWO                                   #  ADVANCE ADDRWD TO X2.
042170,001274:    7553           26106                           ADS      ADDRWD                                
042171,001275:    7554           00006                           EXTEND                                         
042172,001276:    7555           40152                           DCS      MPAC       +5                         #  PREPARE TO GET -X2M3, SAVING -X1M2 IN
042173,001277:    7556           52145                           DXCH     MPAC                                  #  MPAC +5.
042174,001278:    7557           52152                           DXCH     MPAC       +5                         
042175,001279:    7560           07161                           TC       DMPSUB                                
042176,001280: 
042177,001281:    7561           00006                           EXTEND                                         
042178,001282:    7562           30113                           DCA      VBUF                                  #  GET X2M1, SAVING -X2M3 IN VBUF +4.
042179,001283:    7563           52145                           DXCH     MPAC                                  
042180,001284:    7564           52117                           DXCH     VBUF       +4                         
042181,001285:    7565           07161                           TC       DMPSUB                                
042182,001286: 
042183,001287:    7566           37762                           CAF      TWO                                   #  ADVANCE ADDRWD TO X3.
042184,001288:    7567           26106                           ADS      ADDRWD                                
042185,001289:    7570           00006                           EXTEND                                         
042186,001290:    7571           40113                           DCS      VBUF                                  #  GET -X3M1, ADDING X2M1 TO MPAC +5 TO
042187,001291:    7572           52145                           DXCH     MPAC                                  #  COMPLETE THE Z COMPONENT OF THE ANSWER.
042188,001292:    7573           20152                           DAS      MPAC       +5                         
042189,001293: 
042190,001294:    7574           00006                           EXTEND                                         
042191,001295:    7575           17577                           BZF      +2                                    
042192,001296:    7576           07101                           TC       OVERFLOW                              

Page 993

042194,001298:    7577           07161                           TC       DMPSUB                                
042195,001299:    7600           52115                           DXCH     VBUF       +2                         #  MOVE X1M3 TO MPAC +3 SETTING UP FOR X3M2
042196,001300:    7601           52150                           DXCH     MPAC       +3                         #  AND ADD -X3M1 TO MPAC +3 TO COMPLETE THE
042197,001301:    7602           52145                           DXCH     MPAC                                  #  Y COMPONENT OF THE RESULT.
042198,001302:    7603           20150                           DAS      MPAC       +3                         
042199,001303: 
042200,001304:    7604           00006                           EXTEND                                         
042201,001305:    7605           17607                           BZF      +2                                    
042202,001306:    7606           07101                           TC       OVERFLOW                              
042203,001307: 
042204,001308:    7607           07161                           TC       DMPSUB                                
042205,001309:    7610           52117                           DXCH     VBUF       +4                         #  GO ADD -X2M3 TO X3M2 TO COMPLETE THE X
042206,001310:    7611           17046                           TCF      ENDVXV                                #  COMPONENT (TAIL END OF DAD).
042207,001311: 
042208,001312:                                                                                                  #           THE MPACVBUF SUBROUTINE SAVES THE VECTOR IN MPAC IN VBUF WITHOUT CLOBBERING MPAC.
042209,001313: 
042210,001314:    7612           00006        MPACVBUF           EXTEND                                         #  CALLED BY MXV, VXM, AND UNIT.
042211,001315:    7613           30145                           DCA      MPAC                                  
042212,001316:    7614           52113                           DXCH     VBUF                                  
042213,001317:    7615           00006                           EXTEND                                         
042214,001318:    7616           30150                           DCA      MPAC       +3                         
042215,001319:    7617           52115                           DXCH     VBUF       +2                         
042216,001320:    7620           00006                           EXTEND                                         
042217,001321:    7621           30152                           DCA      MPAC       +5                         
042218,001322:    7622           52117                           DXCH     VBUF       +4                         
042219,001323:    7623           00002                           TC       Q                                     #  RETURN TO CALLER.
042220,001324: 

Page 994

042222,001326:                                                                                                  #           INTERPRETIVE INSTRUCTIONS WHOSE EXECUTION CONSISTS OF PRINCIPALLY CALLING SUBROUTINES.
042223,001327: 
042224,001328:    7624           07161        DMP1               TC       DMPSUB                                #  DMP INSTRUCTION.
042225,001329:    7625           16125                           TCF      DANZIG                                
042226,001330: 
042227,001331:    7626           07161        DMPR               TC       DMPSUB                                
042228,001332:    7627           07211                           TC       ROUNDSUB   +1                         #  (C(A) = +0).
042229,001333:    7630           16125                           TCF      DANZIG                                
042230,001334: 
042231,001335:    7631           00006        DDV                EXTEND                                         
042232,001336:    7632           50106                           INDEX    ADDRWD                                #  MOVE DIVIDEND INTO BUF.
042233,001337:    7633           30001                           DCA      0                                     
042234,001338:    7634           17641                           TCF      BDDV       +4                         
042235,001339: 
042236,001340:    7635           00006        BDDV               EXTEND                                         #  MOVE DIVISOR INTO MPAC SAVING MPAC, THE
042237,001341:    7636           50106                           INDEX    ADDRWD                                #  DIVIDEND, IN BUF.
042238,001342:    7637           30001                           DCA      0                                     
042239,001343:    7640           52145                           DXCH     MPAC                                  
042240,001344:    7641           52121                 +4        DXCH     BUF                                   
042241,001345:    7642           37767                           CAF      ZERO                                  #  DIVIDE ROUTINES IN BANK 0.
042242,001346:    7643           54004                           TS       FBANK                                 
042243,001347:    7644           12352                           TCF      DDV/BDDV                              
042244,001348: 
042245,001349:    7645           30106        SETPD              CA       ADDRWD                                #  MUST SET TO WORK AREA, OR EBANK TROUBLE.
042246,001350:    7646           54156                           TS       PUSHLOC                               
042247,001351:    7647           16127                           TCF      NOIBNKSW                              #  NO FBANK SWITCH REQUIRED.
042248,001352: 
042249,001353:    7650           37767        TSLC               CAF      ZERO                                  #  SHIFTING ROUTINES LOCATED IN BANK 00.
042250,001354:    7651           54004                           TS       FBANK                                 
042251,001355:    7652           12172                           TCF      TSLC2                                 
042252,001356: 
042253,001357:    7653           35342        GSHIFT             CAF      LOW7                                  #  USED AS MASK AT GENSHIFT. THIS PROCESSES
042254,001358:    7654           54004                           TS       FBANK                                 #  ANY SHIFT INSTRUCTION (EXCEPT TSLC) WITH
042255,001359:    7655           12214                           TCF      GENSHIFT                              #  AN ADDRESS (ROUTINES IN BANK 0).
042256,001360: 

Page 995

042258,001362:                                                                                                  #           THE FOLLOWING IS THE PROLOGUE TO V/SC. IF THE PRESENT MODE IS VECTOR, IT SAVES THE SCALAR AT X IN BUF
042259,001363:                                                                                                  #  AND CALLS THE V/SC ROUTINE IN BANK 0. IF THE PRESENT MODE IS SCALAR, IT MOVES THE VECTOR AT X INTO MPAC, SAVING
042260,001364:                                                                                                  #  THE SCALAR IN MPAC IN BUF BEFORE CALLING THE V/SC ROUTINE IN BANK 0.
042261,001365: 
042262,001366: 
042263,001367:    7656           10153        V/SC               CCS      MODE                                  
042264,001368:    7657           17670                           TCF      DV/SC                                 #  MOVE VECTOR INTO MPAC.
042265,001369:    7660           17670                           TCF      DV/SC                                 
042266,001370: 
042267,001371:    7661           00006        VV/SC              EXTEND                                         
042268,001372:    7662           50106                           INDEX    ADDRWD                                
042269,001373:    7663           30001                           DCA      0                                     
042270,001374:    7664           52121        V/SC1              DXCH     BUF                                   #  IN BOTH CASES, VECTOR IS NOW IN MPAC AND
042271,001375:    7665           37767                           CAF      ZERO                                  #  SCALAR IN BUF.
042272,001376:    7666           54004                           TS       FBANK                                 
042273,001377:    7667           12630                           TCF      V/SC2                                 
042274,001378: 
042275,001379:    7670           00006        DV/SC              EXTEND                                         
042276,001380:    7671           50106                           INDEX    ADDRWD                                
042277,001381:    7672           30003                           DCA      2                                     
042278,001382:    7673           52150                           DXCH     MPAC       +3                         
042279,001383:    7674           00006                           EXTEND                                         
042280,001384:    7675           50106                           INDEX    ADDRWD                                
042281,001385:    7676           30005                           DCA      4                                     
042282,001386:    7677           52152                           DXCH     MPAC       +5                         
042283,001387: 
042284,001388:    7700           47763                           CS       ONE                                   #  CHANGE MODE TO VECTOR.
042285,001389:    7701           54153                           TS       MODE                                  
042286,001390: 
042287,001391:    7702           00006                           EXTEND                                         
042288,001392:    7703           50106                           INDEX    ADDRWD                                
042289,001393:    7704           30001                           DCA      0                                     
042290,001394:    7705           52145                           DXCH     MPAC                                  
042291,001395:    7706           17664                           TCF      V/SC1                                 #  FINISH PROLOGUE AT COMMON SECTION.
042292,001396: 

Page 996

042294,001398:                                                                                                  #           SIGN AND COMPLEMENT INSTRUCTIONS.
042295,001399: 
042296,001400:    7707           50106        SIGN               INDEX    ADDRWD                                #  CALL COMP INSTRUCTION IF WORD AT X IS
042297,001401:    7710           10000                           CCS      0                                     #  NEGATIVE NON-ZERO.
042298,001402:    7711           16125                           TCF      DANZIG                                
042299,001403:    7712           17714                           TCF      +2                                    
042300,001404:    7713           17722                           TCF      COMP                                  #  DO THE COMPLEMENT.
042301,001405: 
042302,001406:    7714           50106                           INDEX    ADDRWD                                
042303,001407:    7715           10001                           CCS      1                                     
042304,001408:    7716           16125                           TCF      DANZIG                                
042305,001409:    7717           16125                           TCF      DANZIG                                
042306,001410:    7720           17722                           TCF      COMP                                  
042307,001411:    7721           16125                           TCF      DANZIG                                
042308,001412:    7722           00006        COMP               EXTEND                                         #  COMPLEMENT DP MPAC IN EVERY CASE.
042309,001413:    7723           40145                           DCS      MPAC                                  
042310,001414:    7724           52145                           DXCH     MPAC                                  
042311,001415: 
042312,001416:    7725           10153                           CCS      MODE                                  #  EITHER COMPLEMENT MPAC +3 OR THE REST OF
042313,001417:    7726           17737                           TCF      DCOMP                                 #  THE VECTOR ACCUMULATOR.
042314,001418:    7727           17737                           TCF      DCOMP                                 
042315,001419: 
042316,001420:    7730           00006                           EXTEND                                         #  VECTOR COMPLEMENT.
042317,001421:    7731           40150                           DCS      MPAC       +3                         
042318,001422:    7732           52150                           DXCH     MPAC       +3                         
042319,001423:    7733           00006                           EXTEND                                         
042320,001424:    7734           40152                           DCS      MPAC       +5                         
042321,001425:    7735           52152                           DXCH     MPAC       +5                         
042322,001426:    7736           16125                           TCF      DANZIG                                
042323,001427: 
042324,001428:    7737           40146        DCOMP              CS       MPAC       +2                         
042325,001429:    7740           54146                           TS       MPAC       +2                         
042326,001430:    7741           16125                           TCF      DANZIG                                
042327,001431: 

Page 997

042329,001433:                                                                                                  #           CONSTANTS REQUIRED IN FIXED-FIXED.
042330,001434:    7742           37777        DPOSMAX            OCT      37777                                 
042331,001435:    7743           37777        POSMAX             OCT      37777                                 
042332,001436:    7744     7744               LIMITS             EQUALS   POSMAX     +1                         
042333,001437:    7744           57777        NEG1/2             OCT      -20000                                #  MUST BE TWO LOCATIONS AHEAD OF POS1/2.
042334,001438: 
042335,001439:    7745           40000        BIT15              OCT      40000                                 #  BIT TABLE FOLLOWS.
042336,001440:    7746           20000        BIT14              OCT      20000                                 
042337,001441:    7747           10000        BIT13              OCT      10000                                 
042338,001442:    7750           04000        BIT12              OCT      04000                                 
042339,001443:    7751           02000        BIT11              OCT      02000                                 
042340,001444:    7752           01000        BIT10              OCT      01000                                 
042341,001445:    7753           00400        BIT9               OCT      00400                                 
042342,001446:    7754           00200        BIT8               OCT      00200                                 
042343,001447:    7755           00100        BIT7               OCT      00100                                 
042344,001448:    7756           00040        BIT6               OCT      00040                                 
042345,001449:    7757           00020        BIT5               OCT      00020                                 
042346,001450:    7760           00010        BIT4               OCT      00010                                 
042347,001451:    7761           00004        BIT3               OCT      00004                                 
042348,001452:    7762           00002        BIT2               OCT      00002                                 
042349,001453:    7763           00001        BIT1               OCT      00001                                 
042350,001454: 
042351,001455:    7764     7745               NEGMAX             EQUALS   BIT15                                 
042352,001456:    7764     7746               HALF               EQUALS   BIT14                                 
042353,001457:    7764     7746               POS1/2             EQUALS   HALF                                  
042354,001458:    7764     7747               QUARTER            EQUALS   BIT13                                 
042355,001459:    7764     7751               2K                 EQUALS   BIT11                                 
042356,001460:    7764           00013        ELEVEN             DEC      11         B-14                       
042357,001461:    7765     7764               NOUTCON            =        ELEVEN                                
042358,001462:    7765     4570               TEN                =        BINCON                                
042359,001463:    7765     4530               NINE               =        R2D1                                  
042360,001464:    7765     7760               EIGHT              EQUALS   BIT4                                  
042361,001465:    7765           00007        SEVEN              OCT      7                                     
042362,001466:    7766     6306               SIX                EQUALS   REVCNT                                
042363,001467:    7766           00005        FIVE               OCT      5                                     
042364,001468:    7767     7761               FOUR               EQUALS   BIT3                                  
042365,001469:    7767     6311               THREE              EQUALS   OCTAL3                                
042366,001470:    7767     7762               TWO                EQUALS   BIT2                                  
042367,001471:    7767     7763               ONE                EQUALS   BIT1                                  
042368,001472:    7767           00000        ZERO               OCT      0                                     
042369,001473:    7770           77777        NEG0               OCT      77777                                 
042370,001474:    7771           77776        NEGONE             DEC      -1         B-14                       
042371,001475: 
042372,001476:    7772     7771               NEG1               =        NEGONE                                
042373,001477:    7772     7771               MINUS1             EQUALS   NEG1                                  
042374,001478: 
042375,001479:    5336                                           BLOCK    02                                    
042376,001480: 
042377,001481:    5336           77775        NEG2               OCT      77775                                 

Page 998

042379,001483:    5337           01777        LOW10              OCT      1777                                  
042380,001484:    5340           77774        NEG3               DEC      -3         B-14                       
042381,001485:    5341           00777        LOW9               OCT      777                                   
042382,001486:    5342           00177        LOW7               OCT      177                                   
042383,001487:    5343           00017        LOW4               OCT      17                                    
042384,001488:    5344     7765               LOW3               EQUALS   SEVEN                                 
042385,001489:    5344     6311               LOW2               EQUALS   THREE                                 
042386,001490: 
042387,001491:    5344           00032        CALLCODE           OCT      00032                                 
042388,001492:    5345           40014        DLOADCOD           OCT      40014                                 
042389,001493:    5346     7745               VLOADCOD           EQUALS   BIT15                                 
042390,001494:    5346           40015        DLOAD*             OCT      40015                                 
042391,001495:    5347     6153               VLOAD*             EQUALS   OCT40001                              
042392,001496:    5347           00112        LVBUF              ADRES    VBUF                                  
042393,001497:    5350     5210               BIT13-14           =        PRIO30                                
042394,001498:                                                                                                  #  THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07 (WNACTV) FOR ACCESSING THE EVENTUALLY THREE AND ONE-HALF
042395,001499:                                                                                                  #  PRESENTLY ONE AND ONE-HALF SUPERBANKS.
042396,001500: 
042397,001501:    5350           00060        SUPER011           OCT      60                                    #  BITS FOR SUPERBNK SETTING 011
042398,001502:    5351     7755               SUPER100           EQUALS   BIT7                                  #  BITS FOR SUPERBNK SETTING 100
042399,001503:                                                                                                  #                                                                  (LAST 4K OF ROPE)
042400,001504:                                                                                                  #  SUPER101        OCT             120                             BITS FOR SUPERBNK SETTING 101
042401,001505:                                                                                                  #                                                                  (FIRST 8K OF ACM)
042402,001506:                                                                                                  #  SUPER110        OCT             140                             BITS FOR SUPERBNK SETTING 110
042403,001507:                                                                                                  #                                                                  (LAST 8K OF ACM)
042404,001508:    5351           74000        HIGH4              OCT      74000                                 
042405,001509:    5352           01400        OCT1400            OCT      01400                                 
042406,001510:    5353           00055        DEC45              DEC      45         B-14                       
042407,001511: 

Page 999

042409,001513:                                                                                                  #           THE FOLLOWING SHORT SHIFT CODES REQUIRE NO ADDRESS WORD:
042410,001514: 
042411,001515:                                                                                                  #           1.  SR1 TO SR4         SCALAR SHIFT RIGHT.
042412,001516:                                                                                                  #           2.  SR1R TO SR4R       SCALAR SHIFT RIGHT AND ROUND.
042413,001517:                                                                                                  #           3.  SL1 TO SL4         SCALAR SHIFT LEFT.
042414,001518:                                                                                                  #           4.  SL1R TO SL4R       SCALAR SHIFT LEFT AND ROUND.
042415,001519: 
042416,001520:                                                                                                  #           5.  VSR1 TO VSR8       VECTOR SHIFT RIGHT (ALWAYS ROUNDS).
042417,001521:                                                                                                  #           6.  VSL1 TO VSL8       VECTOR SHIFT LEFT (NEVER ROUNDS).
042418,001522: 
042419,001523:                                                                                                  #           THE FOLLOWING CODES REQUIRE AN ADDRESS WHICH MAY BE INDEXED:*
042420,001524: 
042421,001525:                                                                                                  #           1.  SR                 SCALAR SHIFT RIGHT.
042422,001526:                                                                                                  #           2.  SRR                SCALAR SHIFT RIGHT AND ROUND.
042423,001527:                                                                                                  #           3.  SL                 SCALAR SHIFT LEFT.
042424,001528:                                                                                                  #           4.  SLR                SCALAR SHIFT LEFT AND ROUND.
042425,001529: 
042426,001530:                                                                                                  #           5.  VSR                VECTOR SHIFT RIGHT.
042427,001531:                                                                                                  #           6.  VSL                VECTOR SHIFT LEFT.
042428,001532: 
042429,001533:                                                                                                  #  *  IF THE ADDRESS IS INDEXED, AND THE INDEX MODIFICATION RESULTS IN A NEGATIVE SHIFT COUNT, A SHIFT OF THE
042430,001534:                                                                                                  #  ABSOLUTE VALUE OF THE COUNT IS DONE IN THE OPPOSITE DIRECTION.
042431,001535: 
042432,001536: 00,2017                                           BANK     00                                    
042433,001537: 
042434,001538: 00,2017           36306        SHORTT             CAF      SIX                                   #  SCALAR SHORT SHIFTS COME HERE. THE SHIFT
042435,001539: 00,2020           70020                           MASK     CYR                                   #  COUNT-1 IS NOW IN BITS 2-3 OF CYR. THE
042436,001540: 00,2021           54021                           TS       SR                                    #  ROUNDING BIT IS IN BIT1 AT THIS POINT.
042437,001541: 
042438,001542: 00,2022           10020                           CCS      CYR                                   #  SEE IF RIGHT OR LEFT SHIFT DESIRED.
042439,001543: 00,2023           12101                           TCF      TSSL                                  #  SHIFT LEFT.
042440,001544: 
042441,001545: 00,2024           00024        SRDDV              DEC      20         B-14                       #  MPTEMP SETTING FOR SR BEFORE DDV.
042442,001546: 
042443,001547: 00,2025           50021        TSSR               INDEX    SR                                    #  GET SHIFTING BIT.
042444,001548: 00,2026           37746                           CAF      BIT14                                 
042445,001549: 00,2027           54125                           TS       MPTEMP                                
042446,001550: 
042447,001551: 00,2030           10020                           CCS      CYR                                   #  SEE IF A ROUND IS DESIRED.
042448,001552: 00,2031           02050        RIGHTR             TC       MPACSRND                              #  YES - SHIFT RIGHT AND ROUND.
042449,001553: 00,2032           16124                           TCF      NEWMODE                               #  SET MODE TO DP (C(A) = 0).
042450,001554: 00,2033           30125        MPACSHR            CA       MPTEMP                                #  DO A TRIPLE PRECISION SHIFT RIGHT.
042451,001555: 00,2034           00006                           EXTEND                                         
042452,001556: 00,2035           70146                           MP       MPAC       +2                         
042453,001557: 00,2036           54146                 +3        TS       MPAC       +2                         #  (EXIT FROM SQRT AND ABVAL).
042454,001558: 00,2037           30125                           CA       MPTEMP                                
042455,001559: 00,2040           00006                           EXTEND                                         
042456,001560: 00,2041           70144                           MP       MPAC                                  #  SHIFT MAJOR PART INTO A,L AND PLACE IN

Page 1000

042458,001562: 00,2042           52145                           DXCH     MPAC                                  #  MPAC,+1.
042459,001563: 00,2043           30125                           CA       MPTEMP                                
042460,001564: 00,2044           00006                           EXTEND                                         
042461,001565: 00,2045           70001                           MP       L                                     #  ORIGINAL C(MPAC +1).
042462,001566: 00,2046           20146                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
042463,001567: 00,2047           16125                           TCF      DANZIG                                
042464,001568: 
042465,001569:                                                                                                  #           MPAC SHIFT RIGHT AND ROUND SUBROUTINES.
042466,001570: 
042467,001571: 00,2050           30146        MPACSRND           CA       MPAC       +2                         #  WE HAVE TO DO ALL THREE MULTIPLIES SINCE
042468,001572: 00,2051           00006                           EXTEND                                         #  MPAC +1 AND MPAC +2 MIGHT HAVE SIGN
042469,001573: 00,2052           70125                           MP       MPTEMP                                #  DISAGREEMENT WITH A SHIFT RIGHT OF 1.
042470,001574: 00,2053           56145                           XCH      MPAC       +1                         
042471,001575: 00,2054           00006                           EXTEND                                         
042472,001576: 00,2055           70125                           MP       MPTEMP                                
042473,001577: 00,2056           56145                           XCH      MPAC       +1                         #  TRIAL MINOR PART.
042474,001578: 00,2057           60001                           AD       L                                     
042475,001579: 
042476,001580: 00,2060           60000        VSHR2              DOUBLE                                         #  (FINISH VECTOR COMPONENT SHIFT RIGHT
042477,001581: 00,2061           54146                           TS       MPAC       +2                         #  AND ROUND.
042478,001582: 00,2062           12064                           TCF      +2                                    
042479,001583: 00,2063           26145                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
042480,001584: 
042481,001585: 00,2064           37767                           CAF      ZERO                                  
042482,001586: 00,2065           54146                           TS       MPAC       +2                         
042483,001587: 00,2066           56144                           XCH      MPAC                                  #  SETTING TO ZERO SO FOLLOWING DAS WORKS.
042484,001588: 00,2067           00006                           EXTEND                                         
042485,001589: 00,2070           70125                           MP       MPTEMP                                
042486,001590: 00,2071           20145                           DAS      MPAC                                  #  AGAIN NO OVERFLOW.
042487,001591: 00,2072           00002                           TC       Q                                     
042488,001592: 
042489,001593: 00,2073           30125        VSHRRND            CA       MPTEMP                                #  ENTRY TO SHIFT RIGHT AND ROUND MPAC WHEN
042490,001594: 00,2074           00006                           EXTEND                                         #  MPAC CONTAINS A VECTOR COMPONENT.
042491,001595: 00,2075           70145                           MP       MPAC       +1                         
042492,001596: 00,2076           54145                           TS       MPAC       +1                         
042493,001597: 00,2077           56001                           XCH      L                                     
042494,001598: 00,2100           12060                           TCF      VSHR2                                 #  GO ADD ONE IF NECESSARY AND FINISH.
042495,001599: 

Page 1001

042497,001601:                                                                                                  #           ROUTINE FOR SHORT SCALAR SHIFT LEFT (AND MAYBE ROUND).
042498,001602: 
042499,001603: 00,2101           30021        TSSL               CA       SR                                    #  GET SHIFT COUNT FOR SR.
042500,001604: 00,2102           54125                 +1        TS       MPTEMP                                
042501,001605: 
042502,001606: 00,2103           00006                 +2        EXTEND                                         #  ENTRY HERE FROM SL FOR SCALARS.
042503,001607: 00,2104           30146                           DCA      MPAC       +1                         #  SHIFTING LEFT ONE PLACE AT A TIME IS
042504,001608: 00,2105           20146                           DAS      MPAC       +1                         #  FASTER THAN DOING THE WHOLE SHIFT WITH
042505,001609: 00,2106           60144                           AD       MPAC                                  #  MULTIPLIES ASSUMING THAT FREQUENCY OF
042506,001610: 00,2107           60144                           AD       MPAC                                  #  SHIFT COUNTS GOES DOWN RAPIDLY AS A
042507,001611: 00,2110           54144                           TS       MPAC                                  #  FUNCTION OF THEIR MAGNITUDE.
042508,001612: 00,2111           12113                           TCF      +2                                    
042509,001613: 00,2112           54111                           TS       OVFIND                                #  OVERFLOW.  (LEAVES OVERFLOW-CORRECTED
042510,001614:                                                                                                  #  RESULT ANYWAY).
042511,001615: 00,2113           10125                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNT.
042512,001616: 00,2114           12102                           TCF      TSSL       +1                         
042513,001617: 
042514,001618: 00,2115           10020                           CCS      CYR                                   #  SEE IF ROUND WANTED.
042515,001619: 00,2116           07210        ROUND              TC       ROUNDSUB                              #  YES - ROUND AND EXIT.
042516,001620: 00,2117           16125                           TCF      DANZIG                                #  SL LEAVES A ZERO IN CYR FOR NO ROUND.
042517,001621: 00,2120           16125                           TCF      DANZIG                                #  NO - EXIT IMMEDIATL
042518,001622: 

Page 1002

042520,001624:                                                                                                  #  VECTOR SHIFTING ROUTINES.
042521,001625: 
042522,001626: 00,2121           37765        SHORTV             CAF      LOW3                                  #  SAVE 3 BIT SHIFT COUNT - 1 WITHOUT
042523,001627: 00,2122           70020                           MASK     CYR                                   #  EDITING CYR.
042524,001628: 00,2123           54125                           TS       MPTEMP                                
042525,001629: 00,2124           10020                           CCS      CYR                                   #  SEE IF LEFT OR RIGHT SHIFT.
042526,001630: 00,2125           12145                           TCF      VSSL                                  #  VECTOR SHIFT LEFT.
042527,001631: 00,2126           00176        OCT176             OCT      176                                   #  USED IN PROCESSED SHIFTS WITH - COUNT.
042528,001632: 
042529,001633: 00,2127           50125        VSSR               INDEX    MPTEMP                                #  (ENTRY FROM SR). PICK UP SHIFTING BIT.
042530,001634: 00,2130           37746                           CAF      BIT14                                 #  MPTEMP CONTAINS THE SHIFT COUNT - 1.
042531,001635: 00,2131           54125                           TS       MPTEMP                                
042532,001636: 00,2132           02073                           TC       VSHRRND                               #  SHIFT X COMPONENT.
042533,001637: 
042534,001638: 00,2133           52145                           DXCH     MPAC                                  #  SWAP X AND Y COMPONENTS.
042535,001639: 00,2134           52150                           DXCH     MPAC       +3                         
042536,001640: 00,2135           52145                           DXCH     MPAC                                  
042537,001641: 00,2136           02073                           TC       VSHRRND                               #  SHIFT Y COMPONENT.
042538,001642: 
042539,001643: 00,2137           52145                           DXCH     MPAC                                  #  SWAP Y AND Z COMPONENTS.
042540,001644: 00,2140           52152                           DXCH     MPAC       +5                         
042541,001645: 00,2141           52145                           DXCH     MPAC                                  
042542,001646: 00,2142           02073                           TC       VSHRRND                               #  SHIFT Z COMPONENT.
042543,001647: 
042544,001648: 00,2143           17477                           TCF      VROTATEX                              #  RESTORE COMPONENTS TO PROPER PLACES.
042545,001649: 

Page 1003

042547,001651:                                                                                                  #  VECTOR SHIFT LEFT - DONE ONE PLACE AT A TIME.
042548,001652: 
042549,001653: 00,2144           54125                 -1        TS       MPTEMP                                #  SHIFTING LOOP.
042550,001654: 
042551,001655: 00,2145           00006        VSSL               EXTEND                                         
042552,001656: 00,2146           30145                           DCA      MPAC                                  
042553,001657: 00,2147           20145                           DAS      MPAC                                  
042554,001658: 00,2150           00006                           EXTEND                                         
042555,001659: 00,2151           12153                           BZF      +2                                    
042556,001660: 00,2152           07101                           TC       OVERFLOW                              
042557,001661: 
042558,001662: 00,2153           00006                           EXTEND                                         
042559,001663: 00,2154           30150                           DCA      MPAC       +3                         
042560,001664: 00,2155           20150                           DAS      MPAC       +3                         
042561,001665: 00,2156           00006                           EXTEND                                         
042562,001666: 00,2157           12161                           BZF      +2                                    
042563,001667: 00,2160           07101                           TC       OVERFLOW                              
042564,001668: 
042565,001669: 00,2161           00006                           EXTEND                                         
042566,001670: 00,2162           30152                           DCA      MPAC       +5                         
042567,001671: 00,2163           20152                           DAS      MPAC       +5                         
042568,001672: 00,2164           00006                           EXTEND                                         
042569,001673: 00,2165           12167                           BZF      +2                                    
042570,001674: 00,2166           07101                           TC       OVERFLOW                              
042571,001675: 
042572,001676: 00,2167           10125                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNTER.
042573,001677: 00,2170           12144                           TCF      VSSL       -1                         
042574,001678: 00,2171           16125                           TCF      DANZIG                                #  EXIT.
042575,001679: 

Page 1004

042577,001681:                                                                                                  #           TSLC - TRIPLE SHIFT LEFT AND COUNT. SHIFTS MPAC LEFT UNTIL GREATER THAN .5 IN MAGNITUDE, LEAVING
042578,001682:                                                                                                  #  THE COMPLEMENT OF THE NUMBER OF SHIFTS REQUIRED IN X.
042579,001683: 
042580,001684: 00,2172           54125        TSLC2              TS       MPTEMP                                #  START BY ZEROING SHIFT COUNT (IN A NOW).
042581,001685: 00,2173           07001                           TC       BRANCH                                #  EXIT WITH NO SHIFTING IF ARGUMENT ZERO.
042582,001686: 00,2174           12176                           TCF      +2                                    
042583,001687: 00,2175           12212                           TCF      ENDTSLC                               #  STORES ZERO SHIFT COUNT IN THIS CASE.
042584,001688: 
042585,001689: 00,2176           07327                           TC       TPAGREE                               #  MAY CAUSE UPSHIFT OF ONE EXTRA PLACE.
042586,001690: 
042587,001691: 00,2177           30144                           CA       MPAC                                  #  BEGIN NORMALIZATION LOOP.
042588,001692: 00,2200           12207                           TCF      TSLCTEST                              
042589,001693: 
042590,001694: 00,2201           24125        TSLCLOOP           INCR     MPTEMP                                #  INCREMENT SHIFT COUNTER.
042591,001695: 00,2202           00006                           EXTEND                                         
042592,001696: 00,2203           30146                           DCA      MPAC       +1                         
042593,001697: 00,2204           20146                           DAS      MPAC       +1                         
042594,001698: 00,2205           60144                           AD       MPAC                                  
042595,001699: 00,2206           26144                           ADS      MPAC                                  
042596,001700: 00,2207           60000        TSLCTEST           DOUBLE                                         #  SEE IF (ANOTHER) SHIFT IS REQUIRED.
042597,001701: 00,2210           54000                           OVSK                                           
042598,001702: 00,2211           12201                           TCF      TSLCLOOP                              #  YES - INCREMENT COUNT AND SHIFT AGAIN.
042599,001703: 
042600,001704: 00,2212           40125        ENDTSLC            CS       MPTEMP                                
042601,001705: 00,2213           16701                           TCF      STORE1                                #  STORE SHIFT COUNT AND RETURN TO DANZIG.
042602,001706: 

Page 1005

042604,001708:                                                                                                  #           THE FOLLOWING ROUTINES PROCESSES THE GENERAL SHIFT INSTRUCTIONS SR, SRR, SL, AND SLR.
042605,001709:                                                                                                  #  THE GIVEN ADDRESS IS DECODED AS FOLLOWS:
042606,001710: 
042607,001711:                                                                                                  #           BITS 1-7    SHIFT COUNT (SUBADDRESS) LESS THAN 125 DECIMAL.
042608,001712:                                                                                                  #           BIT 8       PSEUDO SIGN BIT (DETECTS CHANGE IN SIGN IN INDEXED SHIFTS).
042609,001713:                                                                                                  #           BIT 9       0 FOR LEFT SHIFT, AND 1 FOR RIGHT SHIFT.
042610,001714:                                                                                                  #           BIT 10      1 FOR TERMINAL ROUND ON SCALAR SHIFTS, 0 OTHERWISE.
042611,001715:                                                                                                  #           BITS 11-13  0.
042612,001716:                                                                                                  #           BIT 14      1.
042613,001717:                                                                                                  #           BIT 15      0.
042614,001718: 
042615,001719:                                                                                                  #  THE ABOVE ENCODING IS DONE BY THE YUL SYSTEM.
042616,001720: 
042617,001721: 
042618,001722: 00,2214           70106        GENSHIFT           MASK     ADDRWD                                #  GET SHIFT COUNT, TESTING FOR ZERO.
042619,001723: 00,2215           10000                           CCS      A                                     #  (ARRIVES WITH C(A) = LOW7).
042620,001724: 00,2216           12224                           TCF      GENSHFT2                              #  IF NON-ZERO, PROCEED WITH DECREMENTED CT
042621,001725: 
042622,001726: 00,2217           37752                           CAF      BIT10                                 #  ZERO SHIFT COUNT. NO SHIFTS NEEDED BUT
042623,001727: 00,2220           70106                           MASK     ADDRWD                                #  WE MIGHT HAVE TO ROUND MPAC ON SLR AND
042624,001728: 00,2221           10000                           CCS      A                                     #  SRR (SCALAR ONLY).
042625,001729: 00,2222           07210                           TC       ROUNDSUB                              
042626,001730: 00,2223           16125                           TCF      DANZIG                                
042627,001731: 
042628,001732: 00,2224           54125        GENSHFT2           TS       MPTEMP                                #  DECREMENTED SHIFT COUNT TO MPTEMP.
042629,001733: 00,2225           37754                           CAF      BIT8                                  #  TEST MEANING OF LOW SEVEN BIT COUNT IN
042630,001734: 00,2226           00006                           EXTEND                                         #  MPTEMP NOW.
042631,001735: 00,2227           70106                           MP       ADDRWD                                
042632,001736: 00,2230           76311                           MASK     LOW2                                  #  JUMPS ON SHIFT DIRECTION (BIT8) AND
042633,001737: 00,2231           50000                           INDEX    A                                     
042634,001738: 00,2232           12233                           TCF      +1                                    #  ORIGINAL SHIFT DIRECTION (BIT 9).
042635,001739: 00,2233           12332                           TCF      RIGHT-                                #  NEGATIVE SHIFT COUNT FOR SL OR SLR.
042636,001740: 00,2234           12341                           TCF      LEFT                                  #  SL OR SLR.
042637,001741: 00,2235           12336                           TCF      LEFT-                                 #  NEGATIVE SHIFT COUNT WITH SR OR SRR.
042638,001742: 

Page 1006

042640,001744:                                                                                                  #           GENERAL SHIFT RIGHT.
042641,001745: 
042642,001746: 00,2236           10153        RIGHT              CCS      MODE                                  #  SEE IF VECTOR OR SCALAR.
042643,001747: 00,2237           12277                           TCF      GENSCR                                
042644,001748: 00,2240           12277                           TCF      GENSCR                                
042645,001749: 
042646,001750: 00,2241           30125                           CA       MPTEMP                                #  SEE IF SHIFT COUNT LESS THAN 14D.
042647,001751: 00,2242           63710        VRIGHT2            AD       NEG12                                 
042648,001752: 00,2243           00006                           EXTEND                                         
042649,001753: 00,2244           62127                           BZMF     VSSR                                  #  IF SO, BRANCH AND SHIFT IMMEDIATELY.
042650,001754: 
042651,001755: 00,2245           67771                           AD       NEGONE                                #  IF NOT, REDUCE MPTEMP BY A TOTAL OF 14,
042652,001756: 00,2246           54125                           TS       MPTEMP                                #  AND DO A SHIFT RIGHT AND ROUND BY 14.
042653,001757: 00,2247           37767                           CAF      ZERO                                  #  THE ROUND AT THIS STAGE MAY INTRODUCE A
042654,001758: 00,2250           54001                           TS       L                                     #  ONE BIT ERROR IN A SHIFT RIGHT 15D.
042655,001759: 00,2251           56144                           XCH      MPAC                                  
042656,001760: 00,2252           56145                           XCH      MPAC       +1                         
042657,001761: 00,2253           02272                           TC       SETROUND                              #  X COMPONENT NOW SHIFTED, SO MAKE UP THE
042658,001762: 00,2254           20145                           DAS      MPAC                                  #  ROUNDING QUANTITY (0 IN A AND 0 OR +-1
042659,001763:                                                                                                  #  IN L).
042660,001764: 00,2255           56147                           XCH      MPAC       +3                         #  REPEAT THE ABOVE PROCESS FOR Y AND Z.
042661,001765: 00,2256           56150                           XCH      MPAC       +4                         
042662,001766: 00,2257           02272                           TC       SETROUND                              
042663,001767: 00,2260           20150                           DAS      MPAC       +3                         #  NO OVERFLOW ON THESE ADDS.
042664,001768: 
042665,001769: 00,2261           56151                           XCH      MPAC       +5                         
042666,001770: 00,2262           56152                           XCH      MPAC       +6                         
042667,001771: 00,2263           02272                           TC       SETROUND                              
042668,001772: 00,2264           20152                           DAS      MPAC       +5                         
042669,001773: 
042670,001774: 00,2265           10125                           CCS      MPTEMP                                #  SEE IF DONE, DOING FINAL DECREMENT.
042671,001775: 00,2266           54125                           TS       MPTEMP                                
042672,001776: 00,2267           12242                           TCF      VRIGHT2                               
042673,001777: 00,2270           04604        BIASLO             DEC      .2974      B-1                        #  SQRT CONSTANT
042674,001778: 
042675,001779: 00,2271           16125                           TCF      DANZIG                                
042676,001780: 
042677,001781: 
042678,001782: 00,2272           60000        SETROUND           DOUBLE                                         #  MAKES UP ROUNDING QUANTITY FROM ARRIVING
042679,001783: 00,2273           54146                           TS       MPAC       +2                         #  C(A). L IS ZERO INITIALLY.
042680,001784: 00,2274           37767                           CAF      ZERO                                  
042681,001785: 00,2275           56001                           XCH      L                                     
042682,001786: 00,2276           00002                           TC       Q                                     #  RETURN AND DO THE DAS, RESETTING L TO 0.
042683,001787: 

Page 1007

042685,001789:                                                                                                  #           PROCESS SR AND SRR FOR SCALARS.
042686,001790: 
042687,001791: 00,2277           30125        GENSCR             CA       MPTEMP                                #  SEE IF THE ORIGINAL SHIFT COUNT WAS LESS
042688,001792: 00,2300           63710                 +1        AD       NEG12                                 #  THAN 14D.
042689,001793: 00,2301           00006                           EXTEND                                         
042690,001794: 00,2302           62322                           BZMF     DOSSHFT                               #  DO THE SHIFT IMMEDIATELY IF SO.
042691,001795: 
042692,001796: 00,2303           67771                 +4        AD       NEGONE                                #  IF NOT, DECREMENT SHIFT COUNT BY 14D AND
042693,001797: 00,2304           54125                           TS       MPTEMP                                #  SHIFT MPAC RIGHT 14 PLACES.
042694,001798: 00,2305           37767                           CAF      ZERO                                  
042695,001799: 00,2306           56144                           XCH      MPAC                                  
042696,001800: 00,2307           56145                           XCH      MPAC       +1                         
042697,001801: 00,2310           54146                           TS       MPAC       +2                         
042698,001802: 00,2311           10125                           CCS      MPTEMP                                #  SEE IF FINISHED, DO FINAL DECREMENT.
042699,001803: 00,2312           54125                           TS       MPTEMP                                
042700,001804: 00,2313           02300                           TC       GENSCR     +1                         
042701,001805: 00,2314           22650        SLOPEHI            DEC      .5884                                 #  SQRT CONSTANT.
042702,001806: 00,2315           37752                           CAF      BIT10                                 #  FINISHED WITH SHIFT. SEE IF ROUND
042703,001807: 00,2316           70106                           MASK     ADDRWD                                #  WANTED.
042704,001808: 00,2317           10000                           CCS      A                                     
042705,001809: 00,2320           07210                           TC       ROUNDSUB                              
042706,001810: 00,2321           16125                           TCF      DANZIG                                #  DO SO AND/OR EXIT.
042707,001811: 
042708,001812: 00,2322           50125        DOSSHFT            INDEX    MPTEMP                                #  PICK UP SHIFTING BIT.
042709,001813: 00,2323           37746                           CAF      BIT14                                 
042710,001814: 00,2324           54125                           TS       MPTEMP                                
042711,001815: 00,2325           37752                           CAF      BIT10                                 #  SEE IF TERMINAL ROUND DESIRED.
042712,001816: 00,2326           70106                           MASK     ADDRWD                                
042713,001817: 00,2327           10000                           CCS      A                                     
042714,001818: 00,2330           12031                           TCF      RIGHTR                                #  YES.
042715,001819: 00,2331           12033                           TCF      MPACSHR                               #  JUST SHIFT RIGHT.
042716,001820: 

Page 1008

042718,001822:                                                                                                  #           PROCESS THE RIGHT- (SL(R) WITH A NEGATIVE COUNT), LEFT-, AND LEFT OPTIONS.
042719,001823: 
042720,001824: 00,2332           40125        RIGHT-             CS       MPTEMP                                #  GET ABSOLUTE VALUE - 1 OF SHIFT COUNT
042721,001825: 00,2333           62126                           AD       OCT176                                #  UNDERSTANDING THAT BIT8 (PSEUDO-SIGN)
042722,001826: 00,2334           54125                           TS       MPTEMP                                #  WAS 1 INITIALLY.
042723,001827: 00,2335           12236                           TCF      RIGHT                                 #  DO NORMAL SHIFT RIGHT.
042724,001828: 
042725,001829: 00,2336           40125        LEFT-              CS       MPTEMP                                #  SAME PROLOGUE TO LEFT FOR INDEXED RIGHT
042726,001830: 00,2337           62126                           AD       OCT176                                #  SHIFTS WHOSE NET SHIFT COUNT IS NEGATIVE
042727,001831: 00,2340           54125                           TS       MPTEMP                                
042728,001832: 
042729,001833: 00,2341           10153        LEFT               CCS      MODE                                  #  SINCE LEFT SHIFTING IS SONE ONE PLACE AT
042730,001834: 00,2342           12345                           TCF      GENSCL                                #  A TIME, NO COMPARISON WITH 14 NEED BE
042731,001835: 00,2343           12345                           TCF      GENSCL                                #  DONE. FOR SCALARS, SEE IF TERMINAL ROUND
042732,001836: 00,2344           12145                           TCF      VSSL                                  #  DESIRED. FOR VECTORS, SHIFT IMMEDIATELY.
042733,001837: 
042734,001838: 00,2345           37756        GENSCL             CAF      BIT6                                  #  PUT ROUNDING BIT (BIT10 OF ADDRWD) INTO
042735,001839: 00,2346           00006                           EXTEND                                         #  BIT 15 OF CYR WHERE THE ROUNDING BIT OF
042736,001840: 00,2347           70106                           MP       ADDRWD                                #  A SHORT SHIFT LEFT WOULD BE.
042737,001841: 00,2350           54020                           TS       CYR                                   
042738,001842: 00,2351           12103                           TCF      TSSL       +2                         #  DO THE SHIFT.
042739,001843: 

Page 1009

042741,001845:                                                                                                  #           SCALAR DIVISION INSTRUCTIONS, DDV AND BDDV, ARE EXECUTED HERE. AT THIS POINT, THE DIVIDEND IS IN MPAC
042742,001846:                                                                                                  #  AND THE DIVISOR IN BUF.
042743,001847: 
042744,001848: 00,2352           47763        DDV/BDDV           CS       ONE                                   #  INITIALIZATION.
042745,001849: 00,2353           54126                           TS       DVSIGN                                #  +-1 FOR POSITIVE QUOTIENT - -0 FOR NEG.
042746,001850: 00,2354           54127                           TS       DVNORMCT                              #  DIVIDEND NORMALIZATION COUNT.
042747,001851: 00,2355           54130                           TS       MAXDVSW                               #  NEAR-ONE DIVIDE FLAG.
042748,001852: 
042749,001853: 00,2356           10120                           CCS      BUF                                   #  FORCE BUF POSITIVE WITH THE MAJOR PART
042750,001854: 00,2357           13712                           TCF      BUFPOS                                #  NON-ZERO.
042751,001855: 00,2360           12362                           TCF      +2                                    
042752,001856: 00,2361           13725                           TCF      BUFNEG                                
042753,001857: 
042754,001858: 00,2362           54146        BUFZERO            TS       MPAC       +2                         #  ZERO THIS.
042755,001859: 00,2363           07327                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT BEFORE OVERFLOW
042756,001860: 
042757,001861: 00,2364           10144                           CCS      MPAC                                  #  TEST TO SEE IF MPAC NON-ZERO.  (TOO BIG)
042758,001862: 00,2365           12412                           TCF      OVF+                                  #  MAJOR PART OF DIVIDEND IS POSITIVE NON-0
042759,001863: 00,2366           12370                           TCF      +2                                    
042760,001864: 00,2367           12411                           TCF      OVF+       -1                         #  MAJOR PART OF DIVIDEND IS NEG. NON-ZERO
042761,001865: 
042762,001866: 00,2370           56121                           XCH      BUF        +1                         #  SHIFT DIVIDEND AND DIVISOR LEFT 14.
042763,001867: 00,2371           56120                           XCH      BUF                                   
042764,001868: 00,2372           56145                           XCH      MPAC       +1                         
042765,001869: 00,2373           56144                           XCH      MPAC                                  
042766,001870: 00,2374           10120                           CCS      BUF                                   #  TRY AGAIN ON FORMER MINOR PART.
042767,001871: 00,2375           12420                           TCF      BUF+                                  
042768,001872: 00,2376           12400                           TCF      +2                                    #  OVERFLOW ON ZERO DIVISOR.
042769,001873: 00,2377           12414                           TCF      BUF-                                  
042770,001874: 
042771,001875: 00,2400           40144                           CS       MPAC                                  #  SIGN OF MPAC DETERMINES SIGN OF RESULT.
042772,001876: 00,2401           00006        SGNDVOVF           EXTEND                                         
042773,001877: 00,2402           62404                           BZMF     +2                                    
042774,001878: 00,2403           24126                           INCR     DVSIGN                                #  NEGMAX IN MPAC PERHAPS.
042775,001879: 00,2404           37743        DVOVF              CAF      POSMAX                                #  ON DIVISION OVERFLOW OF ANY SORT, SET
042776,001880: 00,2405           54144                           TS       MPAC                                  #  SET DP MPAC TO +-POSMAX.
042777,001881: 00,2406           02604                           TC       FINALDV    +3                         
042778,001882: 00,2407           37763                           CAF      ONE                                   #  SET OVERFLOW INDICATOR AND EXIT.
042779,001883: 00,2410           17153                           TCF      SETOVF                                
042780,001884: 
042781,001885: 00,2411           24126                 -1        INCR     DVSIGN                                
042782,001886: 00,2412           40121        OVF+               CS       BUF        +1                         #  LOAD LOWER ORDER PART OF DIVISOR.
042783,001887: 00,2413           12401                           TCF      SGNDVOVF                              #  GET SIGN OF RESULT.
042784,001888: 
042785,001889: 00,2414           00006        BUF-               EXTEND                                         #  IF BUF IS NEGATIVE, COMPLEMENT IT AND
042786,001890: 00,2415           40121                           DCS      BUF                                   #  MAINTAIN DVSIGN FOR FINAL QUOTIENT SIGN.
042787,001891: 00,2416           52121                           DXCH     BUF                                   
042788,001892: 00,2417           24126                           INCR     DVSIGN                                #  NOW -0.
042789,001893: 
042790,001894: 00,2420           10144        BUF+               CCS      MPAC                                  #  FORCE MPAC POSITIVE, CHECKING FOR ZERO

Page 1010

042792,001896: 00,2421           12435                           TCF      MPAC+                                 #  DIVIDEND IN THE PROCESS.
042793,001897: 00,2422           12424                           TCF      +2                                    
042794,001898: 00,2423           12431                           TCF      MPAC-                                 
042795,001899: 00,2424           10145                           CCS      MPAC       +1                         
042796,001900: 00,2425           12435                           TCF      MPAC+                                 
042797,001901: 00,2426           16125                           TCF      DANZIG                                #  EXIT IMMEDIATELY ON ZERO DIVIDEND.
042798,001902: 00,2427           12431                           TCF      MPAC-                                 
042799,001903: 00,2430           16125                           TCF      DANZIG                                
042800,001904: 
042801,001905: 00,2431           00006        MPAC-              EXTEND                                         #  FORCE MPAC POSITIVE AS BUF IN BUF-.
042802,001906: 00,2432           40145                           DCS      MPAC                                  
042803,001907: 00,2433           52145                           DXCH     MPAC                                  
042804,001908: 00,2434           24126                           INCR     DVSIGN                                #  NOW +1 OR -0.
042805,001909: 

Page 1011

042807,001911: 00,2435           40144        MPAC+              CS       MPAC                                  #  CHECK FOR DIVISION OVERFLOW. IF THE
042808,001912: 00,2436           67771                           AD       NEGONE                                #  MAJOR PART OF THE DIVIDEND IS LESS THAN
042809,001913: 00,2437           60120                           AD       BUF                                   #  THE MAJOR PART OF THE DIVISOR BY AT
042810,001914: 00,2440           10000                           CCS      A                                     #  LEAST TWO, WE CAN PROCEED IMMEDIATELY
042811,001915: 00,2441           12503                           TCF      DVNORM                                #  WITHOUT NORMALIZATION PRODUCING A DVMAX.
042812,001916: 00,2442           60001        -1/2+2             OCT      60001                                 #  USED IN SQRTSUB.
042813,001917: 
042814,001918: 00,2443           12444                           TCF      +1                                    #  IF THE ABOVE DOES NOT HOLD, FORCE SIGN
042815,001919: 00,2444           37746                           CAF      HALF                                  #  AGREEMENT IN NUMERATOR AND DENOMINATOR
042816,001920: 00,2445           60000                           DOUBLE                                         #  TO FACILITATE OVERFLOW AND NEAR-ONE
042817,001921: 00,2446           60145                           AD       MPAC       +1                         #  CHECKING.
042818,001922: 00,2447           54145                           TS       MPAC       +1                         
042819,001923: 00,2450           37767                           CAF      ZERO                                  
042820,001924: 00,2451           67743                           AD       POSMAX                                
042821,001925: 00,2452           26144                           ADS      MPAC                                  
042822,001926: 
042823,001927: 00,2453           37746                           CAF      HALF                                  #  SAME FOR BUF.
042824,001928: 00,2454           60000                           DOUBLE                                         
042825,001929: 00,2455           60121                           AD       BUF        +1                         
042826,001930: 00,2456           54121                           TS       BUF        +1                         
042827,001931: 00,2457           37767                           CAF      ZERO                                  
042828,001932: 00,2460           67743                           AD       POSMAX                                
042829,001933: 00,2461           26120                           ADS      BUF                                   
042830,001934: 
042831,001935: 00,2462           40144                           CS       MPAC                                  #  CHECK MAGNITUDE OF SIGN-CORRECTED
042832,001936: 00,2463           60120                           AD       BUF                                   #  OPERANDS.
042833,001937: 00,2464           10000                           CCS      A                                     
042834,001938: 00,2465           12503                           TCF      DVNORM                                #  DIVIDE OK - WILL NOT BECOME MAXDV CASE.
042835,001939: 00,2466           00123        LBUF2              ADRES    BUF2                                  
042836,001940: 00,2467           12404                           TCF      DVOVF                                 #  DIVISOR NOT LESS THAN DIVIDEND - OVF.
042837,001941: 
042838,001942: 00,2470           54130                           TS       MAXDVSW                               #  IF THE MAJOR PARTS OF THE DIVIDEND AND
042839,001943: 00,2471           40145                           CS       MPAC       +1                         #  DIVISOR ARE EQUAL, A SPECIAL APPROXIMA-
042840,001944: 00,2472           60121                           AD       BUF        +1                         #  TION IS USED (PROVIDED THE DIVISION IS
042841,001945: 00,2473           00006                           EXTEND                                         #  POSSIBLE, OF COURSE).
042842,001946: 00,2474           62404                           BZMF     DVOVF                                 
042843,001947: 00,2475           12503                           TCF      DVNORM                                #  IF NO OVERFLOW.
042844,001948: 

Page 1012

042846,001950: 00,2476           00006        BUFNORM            EXTEND                                         #  ADD -1 TO AUGMENT SHIFT COUNT AND SHIFT
042847,001951: 00,2477           24127                           AUG      DVNORMCT                              #  LEFT ONE PLACE.
042848,001952: 00,2500           00006                           EXTEND                                         
042849,001953: 00,2501           30121                           DCA      BUF                                   
042850,001954: 00,2502           20121                           DAS      BUF                                   
042851,001955: 
042852,001956: 00,2503           30120        DVNORM             CA       BUF                                   #  SEE IF DIVISOR NORMALIZED YET.
042853,001957: 00,2504           60000                           DOUBLE                                         
042854,001958: 00,2505           54000                           OVSK                                           
042855,001959: 00,2506           12476                           TCF      BUFNORM                               #  NO - SHIFT LEFT ONE AND TRY AGAIN.
042856,001960: 
042857,001961: 00,2507           52145                           DXCH     MPAC                                  #  CALL DIVIDEND NORMALIZATION SEQUENCE
042858,001962: 00,2510           50127                           INDEX    DVNORMCT                              #  PRIOR TO DOING THE DIVIDE.
042859,001963: 00,2511           02541                           TC       MAXTEST                               
042860,001964: 
042861,001965: 00,2512           54146                           TS       MPAC       +2                         #  RETURNS WITH DIVISION DONE AND C(A) = 0.
042862,001966: 00,2513           16125                           TCF      DANZIG                                
042863,001967: 

Page 1013

042865,001969:                                                                                                  #           THE FOLLOWING ARE PROLOGUES TO SHIFT THE DIVIDEND ARRIVING IN A AND L BEFORE THE DIVIDE.
042866,001970: 
042867,001971: 00,2514           22021                 -21D      LXCH     SR                                    #  SPECIAL PROLOGUE FOR UNIT WHEN THE
042868,001972: 00,2515           00006                           EXTEND                                         #  LENGTH OF THE ARGUMENT WAS NOT LESS THAN
042869,001973: 00,2516           77746                           MP       HALF                                  #  .5. IN THIS CASE, EACH COMPONENT MUST BE
042870,001974: 00,2517           56001                           XCH      L                                     #  SHIFTED RIGHT ONE TO PRODUCE A HALF-UNIT
042871,001975: 00,2520           60021                           AD       SR                                    #  VECTOR.
042872,001976: 00,2521           56001                           XCH      L                                     
042873,001977: 00,2522           12545                           TCF      GENDDV     +1                         #  WITH DP DIVIDEND IN A,L.
042874,001978: 
042875,001979: 00,2523           20001                           DDOUBL                                         #  PROLOGUE WHICH NORMALIZES THE DIVIDEND
042876,001980: 00,2524           20001                           DDOUBL                                         #  WHEN IT IS KNOWN THAT NO DIVISION
042877,001981: 00,2525           20001                           DDOUBL                                         #  OVERFLOW WILL OCCUR.
042878,001982: 00,2526           20001                           DDOUBL                                         
042879,001983: 00,2527           20001                           DDOUBL                                         
042880,001984: 00,2530           20001                           DDOUBL                                         
042881,001985: 00,2531           20001                           DDOUBL                                         
042882,001986: 00,2532           20001                           DDOUBL                                         
042883,001987: 00,2533           20001                           DDOUBL                                         
042884,001988: 00,2534           20001                           DDOUBL                                         
042885,001989: 00,2535           20001                           DDOUBL                                         
042886,001990: 00,2536           20001                           DDOUBL                                         
042887,001991: 00,2537           20001                           DDOUBL                                         
042888,001992: 00,2540           52145                           DXCH     MPAC                                  
042889,001993: 
042890,001994: 00,2541           10130        MAXTEST            CCS      MAXDVSW                               #  0 IF MAJORS MIGHT BE =, -1 OTHERWISE.
042891,001995: 00,2542           06552        BIASHI             DEC      .4192      B-1                        #  SQRT CONSTANTS
042892,001996: 
042893,001997: 00,2543           12616                           TCF      MAXDV                                 #  CHECK TO SEE IF THEY ARE NOW EQUAL.
042894,001998: 

Page 1014

042896,002000:                                                                                                  #           THE FOLLOWING IS A GENERAL PURPOSE DOUBLE PRECISION DIVISION ROUTINE. IT DIVIDES MPAC BY BUF AND LEAVES
042897,002001:                                                                                                  #  THE RESULT IN MPAC. THE FOLLOWING CONDITIONS MUST BE SATISFIED:
042898,002002: 
042899,002003:                                                                                                  #           1.  THE DIVISOR (BUF) MUST BE POSITIVE AND NOT LESS THAN .5.
042900,002004: 
042901,002005:                                                                                                  #           2.  THE DIVIDEND (MPAC) MUST BE POSITIVE WITH THE MAJOR PART OF MPAC STRICTLY LESS THAN THAT OF BUF
042902,002006:                                                                                                  #  (A SPECIAL APPROXIMATION, MAXDV, IS USED WHEN THE MAJOR PARTS ARE EQUAL).
042903,002007: 
042904,002008:                                                                                                  #           UNDERSTANDING THAT A/B = Q + S(R/B) WHERE S = 2(-14) AND Q AND R ARE QUOTIENT AND REMAINDER, RESPEC-
042905,002009:                                                                                                  #  TIVELY, THE FOLLOWING APPROXIMATION IS OBTAINED BY MULTIPLYING ABOVE AND BELOW BY C - SD AND NEGLECTING TERMS OF
042906,002010:                                                                                                  #  ORDER S-SQUARED (POSSIBLY INTRODUCING ERROR INTO THE LOW TWO BITS OF THE RESULT). SIGN AGREEMENT IS UNNECESSARY.
042907,002011: 
042908,002012:                                                                                                  #           A + SB .      (R - QD)                                             A + SB
042909,002013:                                                                                                  #           ------ = Q + S(------) WHERE Q AND R ARE QUOTIENT AND REMAINDER OF ------ RESPECTIVELY.
042910,002014:                                                                                                  #           C + SD        (  C   )                                                C
042911,002015: 
042912,002016: 
042913,002017: 00,2544           52145        GENDDV             DXCH     MPAC                                  #  WE NEED A AND B ONLY FOR FIRST DV.
042914,002018: 00,2545           00006                 +1        EXTEND                                         #  (SPECIAL UNIT PROLOGUE ENTERS HERE).
042915,002019: 00,2546           10120                           DV       BUF                                   #  A NOW CONTAINS Q AND L, R.
042916,002020: 00,2547           52145                           DXCH     MPAC                                  
042917,002021: 
042918,002022: 00,2550           40144                           CS       MPAC                                  #  FORM DIVIDEND FOR MINOR PART OF RESULT.
042919,002023: 00,2551           00006                           EXTEND                                         
042920,002024: 00,2552           70121                           MP       BUF        +1                         
042921,002025: 00,2553           60145                           AD       MPAC       +1                         #  OVERFLOW AT THIS POINT IS POSITIVE SINCE
042922,002026: 00,2554           54000                           OVSK                                           #  R IS POSITIVE IN EVERY CASE.
042923,002027: 00,2555           12562                           TCF      +5                                    
042924,002028: 
042925,002029: 00,2556           00006                           EXTEND                                         #  OVERFLOW CAN BE REMOVED BY SUBTRACTING C
042926,002030: 00,2557           60120                           SU       BUF                                   #  (BUF) ONCE SINCE R IS ALWAYS LESS THAN C
042927,002031: 00,2560           24144                           INCR     MPAC                                  #  IN THIS CASE. INCR COMPENSATES SUBTRACT.
042928,002032: 00,2561           12564                           TCF      +DOWN                                 #  (SINCE C(A) IS STILL POSITIVE).
042929,002033: 
042930,002034: 00,2562           00006                 +5        EXTEND                                         #  C(A) CAN BE MADE LESS THAN C IN MAGNI-
042931,002035: 00,2563           62574                           BZMF     -UP                                   #  TUDE BY DIMINISHING IT BY C (SINCE C IS
042932,002036:                                                                                                  #  NOT LESS THAN .5) UNLESS C(A) = 0.
042933,002037: 

Page 1015

042935,002039: 00,2564           00006        +DOWN              EXTEND                                         
042936,002040: 00,2565           60120                           SU       BUF                                   #  IF POSITIVE, REDUCE ONLY IF NECESSARY
042937,002041: 00,2566           00006                           EXTEND                                         #  SINCE THE COMPENSATING INCR MIGHT CAUSE
042938,002042: 00,2567           12572                           BZF      +3                                    #  OVERFLOW.
042939,002043: 00,2570           00006                           EXTEND                                         #  DONT SUBTRACT UNLESS RESULT IS POSITIVE
042940,002044: 00,2571           62600                           BZMF     ENDMAXDV                              #  OR ZERO.
042941,002045: 
042942,002046: 00,2572           24144                 +3        INCR     MPAC                                  #  KEEP SUBTRACT HERE AND COMPENSATE.
042943,002047: 00,2573           12601                           TCF      FINALDV                               
042944,002048: 
042945,002049: 00,2574           00006        -UP                EXTEND                                         #  IF ZERO, SET MINOR PART OF RESULT TO
042946,002050: 00,2575           12604                           BZF      FINALDV    +3                         #  ZERO.
042947,002051: 
042948,002052: 00,2576           00006                           EXTEND                                         #  IF NEGATIVE, ADD C TO A, SUBTRACTING ONE
042949,002053: 00,2577           26144                           DIM      MPAC                                  #  TO COMPENSATE. DIM IS OK HERE SINCE THE
042950,002054: 00,2600           60120        ENDMAXDV           AD       BUF                                   #  MAJOR PART NEVER GOES NEGATIVE.
042951,002055: 

Page 1016

042953,002057: 00,2601           22007        FINALDV            ZL                                             #  DO DV TO OBTAIN MINOR PART OF RESULT.
042954,002058: 00,2602           00006                           EXTEND                                         
042955,002059: 00,2603           10120                           DV       BUF                                   
042956,002060: 00,2604           54145                 +3        TS       MPAC       +1                         
042957,002061: 
042958,002062: 00,2605           10126                           CCS      DVSIGN                                #  LEAVE RESULT POSITIVE UNLESS C(DVSIGN)=
042959,002063: 00,2606           00002                           TC       Q                                     #  -0.
042960,002064: 00,2607           00002                           TC       Q                                     
042961,002065: 00,2610           00002                           TC       Q                                     
042962,002066: 
042963,002067: 00,2611           00006                           EXTEND                                         
042964,002068: 00,2612           40145                           DCS      MPAC                                  
042965,002069: 00,2613           52145                           DXCH     MPAC                                  
042966,002070: 00,2614           37767                           CAF      ZERO                                  #  SO WE ALWAYS RETURN WITH C(A) = 0.
042967,002071: 00,2615           00002                           TC       Q                                     
042968,002072: 

Page 1017

042970,002074:                                                                                                  #           IF THE MAJOR PARTS OF THE DIVISOR AND DIVIDEND ARE EQUAL, BUT THE MINOR PARTS ARE SUCH THAT THE
042971,002075:                                                                                                  #  DIVIDEND IS STRICTLY LESS THAN THE DIVISOR IN MAGNITUDE, THE FOLLOWING APPROXIMATION IS USED. THE ASSUMPTIONS
042972,002076:                                                                                                  #  ARE THE SAME AS THE GENERAL ROUTINE WITH THE ADDITION THAT SIGN AGREEMENT IS NECESSARY (B, C, & D POSITIVE).
042973,002077: 
042974,002078:                                                                                                  #                  C + SB .          (C + B - D)
042975,002079:                                                                                                  #                  ------ = 37777 + S(---------)
042976,002080:                                                                                                  #                  C + SD            (    C    )
042977,002081: 
042978,002082:                                                                                                  #           THE DIVISION MAY BE PERFORMED IMMEDIATELY SINCE B IS STRICTLY LESS THAN D AND C IS NOT LESS THAN .5.
042979,002083: 
042980,002084: 
042981,002085: 00,2616           40144        MAXDV              CS       MPAC                                  #  SEE IF MAXDV CASE STILL HOLDS AFTER
042982,002086: 00,2617           60120                           AD       BUF                                   #  NORMALIZATION.
042983,002087: 00,2620           00006                           EXTEND                                         
042984,002088: 00,2621           12623                           BZF      +2                                    
042985,002089: 00,2622           12544                           TCF      GENDDV                                #  MPAC NOW LESS THAN BUF - DIVIDE AS USUAL
042986,002090: 
042987,002091: 00,2623           37743                 +2        CAF      POSMAX                                #  SET MAJOR PART OF RESULT.
042988,002092: 00,2624           54144                           TS       MPAC                                  
042989,002093: 
042990,002094: 00,2625           40121                           CS       BUF        +1                         #  FORM DIVIDEND OF MINOR PART OF RESULT.
042991,002095: 00,2626           60145                           AD       MPAC       +1                         
042992,002096: 00,2627           12600                           TCF      ENDMAXDV                              #  GO ADD C AND DO DIVIDE, ATTACHING SIGN
042993,002097:                                                                                                  #  BEFORE EXITING.
042994,002098: 

Page 1018

042996,002100:                                                                                                  #           VECTOR DIVIDED BY SCALAR, V/SC, IS EXECUTED HERE. THE VECTOR IS NOW IN MPAC WITH SCALAR IN BUF.
042997,002101: 
042998,002102: 00,2630           47763        V/SC2              CS       ONE                                   #  INITIALIZE DIVIDEND NORMALIZATION COUNT
042999,002103: 00,2631           54127                           TS       DVNORMCT                              #  AND DIVISION SIGN REGISTER.
043000,002104: 00,2632           54117                           TS       VBUF       +5                         
043001,002105: 
043002,002106: 00,2633           10120                           CCS      BUF                                   #  FORCE DIVISOR POSITIVE WITH MAJOR PART
043003,002107: 00,2634           12671                           TCF      /BUF+                                 #  NON-ZERO (IF POSSIBLE).
043004,002108: 00,2635           12637                           TCF      +2                                    
043005,002109: 00,2636           12665                           TCF      /BUF-                                 
043006,002110: 
043007,002111: 00,2637           56121                           XCH      BUF        +1                         #  SHIFT VECTOR AND SCALAR LEFT 14.
043008,002112: 00,2640           56120                           XCH      BUF                                   
043009,002113: 00,2641           56145                           XCH      MPAC       +1                         
043010,002114: 00,2642           56144                           XCH      MPAC                                  
043011,002115: 00,2643           00006                           EXTEND                                         #  CHECK FOR OVERFLOW IN EACH CASE.
043012,002116: 00,2644           12646                           BZF      +2                                    
043013,002117: 00,2645           12404                           TCF      DVOVF                                 
043014,002118: 
043015,002119: 00,2646           56150                           XCH      MPAC       +4                         
043016,002120: 00,2647           56147                           XCH      MPAC       +3                         
043017,002121: 00,2650           00006                           EXTEND                                         
043018,002122: 00,2651           12653                           BZF      +2                                    
043019,002123: 00,2652           12404                           TCF      DVOVF                                 
043020,002124: 
043021,002125: 00,2653           56152                           XCH      MPAC       +6                         
043022,002126: 00,2654           56151                           XCH      MPAC       +5                         
043023,002127: 00,2655           00006                           EXTEND                                         
043024,002128: 00,2656           12660                           BZF      +2                                    
043025,002129: 00,2657           12404                           TCF      DVOVF                                 
043026,002130: 
043027,002131: 00,2660           10120                           CCS      BUF                                   
043028,002132: 00,2661           12671                           TCF      /BUF+                                 
043029,002133: 00,2662           12404                           TCF      DVOVF                                 #  ZERO DIVISOR - OVERFLOW.
043030,002134: 00,2663           12665                           TCF      /BUF-                                 
043031,002135: 00,2664           12404                           TCF      DVOVF                                 
043032,002136: 
043033,002137: 00,2665           00006        /BUF-              EXTEND                                         #  ON NEGATIVE, COMPLEMENT BUF AND MAINTAIN
043034,002138: 00,2666           40121                           DCS      BUF                                   #  DVSIGN IN VBUF +5.
043035,002139: 00,2667           52121                           DXCH     BUF                                   
043036,002140: 00,2670           24117                           INCR     VBUF       +5                         
043037,002141: 

Page 1019

043039,002143: 00,2671           37746        /BUF+              CAF      HALF                                  #  FORCE SIGN AGREEMENT IN DIVISOR.
043040,002144: 00,2672           60000                           DOUBLE                                         
043041,002145: 00,2673           60121                           AD       BUF        +1                         
043042,002146: 00,2674           54121                           TS       BUF        +1                         
043043,002147: 00,2675           37767                           CAF      ZERO                                  
043044,002148: 00,2676           67743                           AD       POSMAX                                
043045,002149: 00,2677           26120                           ADS      BUF                                   
043046,002150: 
043047,002151: 00,2700           56123                           XCH      BUF2                                  #  LEAVE ABS(ORIGINAL DIVISOR) IN BUF2 FOR
043048,002152: 00,2701           30121                           CA       BUF        +1                         #  OVERFLOW TESTING.
043049,002153: 00,2702           54124                           TS       BUF2       +1                         
043050,002154: 00,2703           12711                           TCF      /NORM                                 #  NORMALIZE DIVISOR IN BUF.
043051,002155: 
043052,002156: 00,2704           00006        /NORM2             EXTEND                                         #  IF LESS THAN .5, AUGMENT DVNORMCT AND
043053,002157: 00,2705           24127                           AUG      DVNORMCT                              #  DOUBLE DIVISOR.
043054,002158: 00,2706           00006                           EXTEND                                         
043055,002159: 00,2707           30121                           DCA      BUF                                   
043056,002160: 00,2710           20121                           DAS      BUF                                   
043057,002161: 
043058,002162: 00,2711           30120        /NORM              CA       BUF                                   #  SEE IF DIVISOR NORMALIZED.
043059,002163: 00,2712           60000                           DOUBLE                                         
043060,002164: 00,2713           54000                           OVSK                                           
043061,002165: 00,2714           12704                           TCF      /NORM2                                #  DOUBLE AND TRY AGAIN IF NOT.
043062,002166: 
043063,002167: 00,2715           02727                           TC       V/SCDV                                #  DO X COMPONENT DIVIDE.
043064,002168: 00,2716           52150                           DXCH     MPAC       +3                         #  SUPPLY ARGUMENTS IN USUAL SEQUENCE.
043065,002169: 00,2717           52145                           DXCH     MPAC                                  
043066,002170: 00,2720           52150                           DXCH     MPAC       +3                         
043067,002171: 
043068,002172: 00,2721           02727                           TC       V/SCDV                                #  Y COMPONENT.
043069,002173: 00,2722           52152                           DXCH     MPAC       +5                         
043070,002174: 00,2723           52145                           DXCH     MPAC                                  
043071,002175: 00,2724           52152                           DXCH     MPAC       +5                         
043072,002176: 
043073,002177: 00,2725           02727                           TC       V/SCDV                                #  Z COMPONENT.
043074,002178: 00,2726           17477                           TCF      VROTATEX                              #  GO RE-ARRANGE COMPONENTS BEFORE EXIT.
043075,002179: 

Page 1020

043077,002181:                                                                                                  #           SUBROUTINE USED BY V/SC TO DIVIDE VECTOR COMPONENT IN MPAC,+1 BY THE SCALAR GIVEN IN BUF.
043078,002182: 
043079,002183: 00,2727           30117        V/SCDV             CA       VBUF       +5                         #  REFLECTS SIGN OF SCALAR.
043080,002184: 00,2730           54126                           TS       DVSIGN                                
043081,002185: 
043082,002186: 00,2731           10144                           CCS      MPAC                                  #  FORCE MPAC POSITIVE, EXITING ON ZERO.
043083,002187: 00,2732           12746                           TCF      /MPAC+                                
043084,002188: 00,2733           12735                           TCF      +2                                    
043085,002189: 00,2734           12742                           TCF      /MPAC-                                
043086,002190: 
043087,002191: 00,2735           10145                           CCS      MPAC       +1                         
043088,002192: 00,2736           12746                           TCF      /MPAC+                                
043089,002193: 00,2737           00002                           TC       Q                                     
043090,002194: 00,2740           12742                           TCF      /MPAC-                                
043091,002195: 00,2741           00002                           TC       Q                                     
043092,002196: 
043093,002197: 00,2742           00006        /MPAC-             EXTEND                                         #  USUAL COMPLEMENTING AND SETTING OF SIGN.
043094,002198: 00,2743           40145                           DCS      MPAC                                  
043095,002199: 00,2744           52145                           DXCH     MPAC                                  
043096,002200: 00,2745           24126                           INCR     DVSIGN                                
043097,002201: 
043098,002202: 00,2746           47763        /MPAC+             CS       ONE                                   #  INITIALIZE NEAR-ONE SWITCH.
043099,002203: 00,2747           54130                           TS       MAXDVSW                               
043100,002204: 
043101,002205: 00,2750           40144                           CS       MPAC                                  #  CHECK POSSIBLE OVERFLOW.
043102,002206: 00,2751           60123                           AD       BUF2                                  #  UNNORMALIZED INPUT DIVISOR.
043103,002207: 00,2752           00006                           EXTEND                                         
043104,002208: 00,2753           62757                           BZMF     /AGREE                                #  CHECK FOR NEAR-ONE OR OVERFLOW.
043105,002209: 
043106,002210: 00,2754           52145        DDVCALL            DXCH     MPAC                                  #  CALL PRE-DIVIDE NORMALIZATION.
043107,002211: 00,2755           50127                           INDEX    DVNORMCT                              
043108,002212: 00,2756           12541                           TCF      MAXTEST                               
043109,002213: 

Page 1021

043111,002215: 00,2757           37746        /AGREE             CAF      HALF                                  #  FORCE SIGN AGREEMENT IN DIVIDEND
043112,002216: 00,2760           60000                           DOUBLE                                         #  (ALREADY DONE FOR DIVISOR).
043113,002217: 00,2761           60145                           AD       MPAC       +1                         
043114,002218: 00,2762           54145                           TS       MPAC       +1                         
043115,002219: 00,2763           37767                           CAF      ZERO                                  
043116,002220: 00,2764           67743                           AD       POSMAX                                
043117,002221: 00,2765           26144                           ADS      MPAC                                  
043118,002222: 
043119,002223: 00,2766           40144                           CS       MPAC                                  #  CHECK TO SEE IF OVERFLOW GONE OR IF
043120,002224: 00,2767           60123                           AD       BUF2                                  #  NEAR-ONE CASE IS PRESENT.
043121,002225: 00,2770           10000                           CCS      A                                     
043122,002226: 00,2771           12754                           TCF      DDVCALL                               #  NOT NEAR-ONE.
043123,002227: 00,2772           32506        SLOPELO            DEC      .8324                                 
043124,002228: 00,2773           12404                           TCF      DVOVF                                 #  NO HOPE.
043125,002229: 
043126,002230: 00,2774           54130                           TS       MAXDVSW                               #  SIGNAL POSSIBLE NEAR-ONE CASE.
043127,002231: 00,2775           40145                           CS       MPAC       +1                         #  SEE IF DIVISION CAN BE DONE.
043128,002232: 00,2776           60124                           AD       BUF2       +1                         
043129,002233: 00,2777           00006                           EXTEND                                         
043130,002234: 00,3000           62404                           BZMF     DVOVF                                 
043131,002235: 00,3001           12754                           TCF      DDVCALL                               #  GOING TO MAXDV.
043132,002236: 

Page 1022

043134,002238:                                                                                                  #           THE FOLLOWING ROUTINE EXECUTES THE UNIT INSTRUCTION, WHICH TAKES THE UNIT OF THE VECTOR IN MPAC.
043135,002239: 
043136,002240: 00,3002           07612        UNIT               TC       MPACVBUF                              #  SAVE THE ARGUMENT IN VBUF.
043137,002241: 00,3003           37767                           CAF      ZERO                                  #  MUST SENSE OVERFLOW IN FOLLOWING DOT.
043138,002242: 00,3004           56111                           XCH      OVFIND                                
043139,002243: 00,3005           54131                           TS       TEM1                                  
043140,002244: 00,3006           03301                           TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043141,002245: 00,3007           30131                           CA       TEM1                                  
043142,002246: 00,3010           56111                           XCH      OVFIND                                
043143,002247: 00,3011           00006                           EXTEND                                         
043144,002248: 00,3012           13014                           BZF      +2                                    
043145,002249: 00,3013           12404                           TCF      DVOVF                                 
043146,002250: 00,3014           00006                           EXTEND                                         
043147,002251: 00,3015           30145                           DCA      MPAC                                  #  LEAVE THE SQUARE OF THE LENGTH OF THE
043148,002252: 00,3016           50110                           INDEX    FIXLOC                                #  ARGUMENT IN LVSQUARE.
043149,002253: 00,3017           52043                           DXCH     LVSQUARE                              
043150,002254: 
043151,002255: 00,3020           03325                           TC       SQRTSUB                               #  GO TAKE THE NORMALIZED SQUARE ROOT.
043152,002256: 
043153,002257: 00,3021           10144                           CCS      MPAC                                  #  CHECK FOR UNIT OVERFLOW.
043154,002258: 00,3022           13027                           TCF      +5                                    #  MPAC IS NOT LESS THAN .5 UNLESS
043155,002259: 00,3023           54001                           TS       L                                     
043156,002260: 00,3024           50110                           INDEX    FIXLOC                                
043157,002261: 00,3025           52045                           DXCH     LV                                    
043158,002262: 00,3026           12404                           TCF      DVOVF                                 #  INPUT TO SQRTSUB WAS 0.
043159,002263: 
043160,002264: 00,3027           43130                           CS       FOURTEEN                              #  SEE IF THE INPUT WAS SO SMALL THE THE
043161,002265: 00,3030           60125                           AD       MPTEMP                                #  FIRST TWO REGISTERS OF THE SQUARE WERE 0
043162,002266: 00,3031           10000                           CCS      A                                     
043163,002267: 00,3032           40000                           COM                                            #  IF SO, SAVE THE NEGATIVE OF THE SHIFT
043164,002268: 00,3033           13111                           TCF      SMALL                                 #  COUNT -15D.
043165,002269: 
043166,002270: 00,3034           13043                           TCF      LARGE                                 #  (THIS IS USUALLY THE CASE.)
043167,002271: 
043168,002272: 00,3035           43127                           CS       THIRTEEN                              #  IF THE SHIFT COUNT WAS EXACTLY 14, SET
043169,002273: 00,3036           54125                           TS       MPTEMP                                #  THE PRE-DIVIDE NORM COUNT TO -13D.
043170,002274: 
043171,002275: 00,3037           30144                           CA       MPAC                                  #  SHIFT THE LENGTH RIGHT 14 BEFORE STORING
043172,002276: 00,3040           54001        SMALL2             TS       L                                     #  (SMALL EXITS TO THIS POINT).
043173,002277: 00,3041           37767                           CAF      ZERO                                  
043174,002278: 00,3042           13070                           TCF      LARGE2                                #  GO TO STORE LENGTH AND PROCEED.
043175,002279: 
043176,002280: 00,3043           10125        LARGE              CCS      MPTEMP                                #  MOST ALL CASES COME HERE.
043177,002281: 00,3044           13052                           TCF      LARGE3                                #  SEE IF NO NORMALIZATION WAS REQUIRED BY
043178,002282: 
043179,002283: 00,3045           42024                           CS       SRDDV                                 #  SQRT, AND IF SO, SET UP FOR A SHIFT
043180,002284: 00,3046           54125                           TS       MPTEMP                                #  RIGHT 1 BEFORE DIVIDING TO PRODUCE
043181,002285: 00,3047           00006                           EXTEND                                         #  THE DESIRED HALF UNIT VECTOR.
043182,002286: 00,3050           30145                           DCA      MPAC                                  
043183,002287: 00,3051           13070                           TCF      LARGE2                                
043184,002288: 

Page 1023

043186,002290: 00,3052           40000        LARGE3             COM                                            #  LEAVE NEGATIVE OF SHIFT COUNT-1 FOR
043187,002291: 00,3053           54125                           TS       MPTEMP                                #  PREDIVIDE LEFT SHIFT.
043188,002292: 
043189,002293: 00,3054           40000                           COM                                            #  PICK UP REQUIRED SHIFTING BIT TO UNNORM-
043190,002294: 00,3055           50000                           INDEX    A                                     #  ALIZE THE SQRT RESULT.
043191,002295: 00,3056           37746                           CAF      BIT14                                 
043192,002296: 00,3057           54120                           TS       BUF                                   
043193,002297: 00,3060           00006                           EXTEND                                         
043194,002298: 00,3061           70145                           MP       MPAC       +1                         
043195,002299: 00,3062           56120                           XCH      BUF                                   
043196,002300: 00,3063           00006                           EXTEND                                         #  (UNNORMALIZE THE SQRT FOR LV).
043197,002301: 00,3064           70144                           MP       MPAC                                  
043198,002302: 00,3065           56001                           XCH      L                                     
043199,002303: 00,3066           60120                           AD       BUF                                   
043200,002304: 00,3067           56001                           XCH      L                                     
043201,002305: 
043202,002306: 00,3070           50110        LARGE2             INDEX    FIXLOC                                
043203,002307: 00,3071           52045                           DXCH     LV                                    #  LENGTH NOW STORED IN WORK AREA.
043204,002308: 
043205,002309: 00,3072           47763                           CS       ONE                                   
043206,002310: 00,3073           54130                           TS       MAXDVSW                               #  NO MAXDV CASES IN UNIT.
043207,002311: 
043208,002312: 00,3074           52113                           DXCH     VBUF                                  #  PREPARE X COMPONENT FOR DIVIDE, SETTING
043209,002313: 00,3075           52145                           DXCH     MPAC                                  #  LENGTH OF VECTOR AS DIVISOR IN BUF.
043210,002314: 00,3076           52121                           DXCH     BUF                                   
043211,002315: 00,3077           03131                           TC       UNITDV                                
043212,002316: 
043213,002317: 00,3100           52115                           DXCH     VBUF       +2                         #  DO Y AND Z IN USUAL FASHION SO WE CAN
043214,002318: 00,3101           52145                           DXCH     MPAC                                  #  EXIT THROUGH VROTATEX.
043215,002319: 00,3102           52150                           DXCH     MPAC       +3                         
043216,002320: 00,3103           03131                           TC       UNITDV                                
043217,002321: 
043218,002322: 00,3104           52117                           DXCH     VBUF       +4                         
043219,002323: 00,3105           52145                           DXCH     MPAC                                  
043220,002324: 00,3106           52152                           DXCH     MPAC       +5                         
043221,002325: 00,3107           03131                           TC       UNITDV                                
043222,002326: 00,3110           17477                           TCF      VROTATEX                              #  AND EXIT.
043223,002327: 

Page 1024

043225,002329:                                                                                                  #           IF THE LENGTH OF THE ARGUMENT VECTOR WAS LESS THAN 2(-28), EACH COMPONENT MUST BE SHIFTED LEFT AT LEAST
043226,002330:                                                                                                  #  14 PLACES BEFORE THE DIVIDE. NOTE THAT IN THIS CASE, THE MAJOR PART OF EACH COMPONENT IS ZERO.
043227,002331: 
043228,002332: 00,3111           54125        SMALL              TS       MPTEMP                                #  NEGATIVE OF PRE-DIVIDE SHIFT COUNT.
043229,002333: 
043230,002334: 00,3112           37767                           CAF      ZERO                                  #  SHIFT EACH COMPONENT LEFT 14.
043231,002335: 00,3113           56113                           XCH      VBUF       +1                         
043232,002336: 00,3114           56112                           XCH      VBUF                                  
043233,002337: 00,3115           56115                           XCH      VBUF       +3                         
043234,002338: 00,3116           56114                           XCH      VBUF       +2                         
043235,002339: 00,3117           56117                           XCH      VBUF       +5                         
043236,002340: 00,3120           56116                           XCH      VBUF       +4                         
043237,002341: 
043238,002342: 00,3121           40125                           CS       MPTEMP                                
043239,002343: 00,3122           50000                           INDEX    A                                     
043240,002344: 00,3123           37746                           CAF      BIT14                                 
043241,002345: 00,3124           00006                           EXTEND                                         
043242,002346: 00,3125           70144                           MP       MPAC                                  
043243,002347: 00,3126           13040                           TCF      SMALL2                                
043244,002348: 
043245,002349: 00,3127           00015        THIRTEEN           DEC      13         B-14                       
043246,002350: 00,3130           00016        FOURTEEN           DEC      14         B-14                       
043247,002351: 

Page 1025

043249,002353:                                                                                                  #           THE FOLLOWING ROUTINE SETS UP THE CALL TO THE DIVIDE ROUTINES.
043250,002354: 
043251,002355: 00,3131           10144        UNITDV             CCS      MPAC                                  #  FORCE MPAC POSITIVE IF POSSIBLE, SETTING
043252,002356: 00,3132           13150                           TCF      UMPAC+                                #  DVSIGN ACCORDING TO THE SIGN OF MPAC
043253,002357: 00,3133           13135                           TCF      +2                                    #  SINCE THE DIVISOR IS ALWAYS POSITIVE
043254,002358: 00,3134           13142                           TCF      UMPAC-                                #  HERE.
043255,002359: 
043256,002360: 00,3135           10145                           CCS      MPAC       +1                         
043257,002361: 00,3136           13150                           TCF      UMPAC+                                
043258,002362: 00,3137           00002                           TC       Q                                     #  EXIT IMMEDIATELY ON ZERO.
043259,002363: 00,3140           13142                           TCF      UMPAC-                                
043260,002364: 00,3141           00002                           TC       Q                                     
043261,002365: 
043262,002366: 00,3142           47767        UMPAC-             CS       ZERO                                  #  IF NEGATIVE, SET -0 IN DVSIGN FOR FINAL
043263,002367: 00,3143           54126                           TS       DVSIGN                                #  COMPLEMENT.
043264,002368: 00,3144           00006                           EXTEND                                         
043265,002369: 00,3145           40145                           DCS      MPAC                                  #  PICK UP ABSOLUTE VALUE OF ARG AND JUMP.
043266,002370: 00,3146           50125                           INDEX    MPTEMP                                
043267,002371: 00,3147           12540                           TCF      MAXTEST    -1                         
043268,002372: 
043269,002373: 00,3150           54126        UMPAC+             TS       DVSIGN                                #  SET DVSIGN FOR POSITIVE QUOTIENT.
043270,002374: 00,3151           52145                           DXCH     MPAC                                  
043271,002375: 00,3152           50125                           INDEX    MPTEMP                                
043272,002376: 00,3153           12540                           TCF      MAXTEST    -1                         
043273,002377: 

Page 1026

043275,002379:                                                                                                  #           MISCELLANEOUS UNARY OPERATIONS.
043276,002380: 
043277,002381: 00,3154           03262        DSQ                TC       DSQSUB                                #  SQUARE THE DP CONTENTS OF MPAC.
043278,002382: 00,3155           16125                           TCF      DANZIG                                
043279,002383: 
043280,002384: 00,3156           10153        ABVALABS           CCS      MODE                                  #  ABVAL OR ABS INSTRUCTION.
043281,002385: 00,3157           13206                           TCF      ABS                                   #  DO ABS ON SCALAR.
043282,002386: 00,3160           13206                           TCF      ABS                                   
043283,002387: 
043284,002388: 00,3161           03301        ABVAL              TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043285,002389: 00,3162           22153                           LXCH     MODE                                  #  MODE IS NOW DP (L ZERO AFTER DAS).
043286,002390: 
043287,002391: 00,3163           00006                           EXTEND                                         #  STORE SQUARE OF LENGTH IN WORK AREA.
043288,002392: 00,3164           30145                           DCA      MPAC                                  
043289,002393: 00,3165           50110                           INDEX    FIXLOC                                
043290,002394: 00,3166           52043                           DXCH     LVSQUARE                              
043291,002395: 
043292,002396: 00,3167           03325        SQRT               TC       SQRTSUB                               #  TAKE THE SQUARE ROOT OF MPAC.
043293,002397: 00,3170           10125                           CCS      MPTEMP                                #  RETURNED NORMALIZED SQUARE ROOT. SEE IF
043294,002398: 00,3171           13173                           TCF      +2                                    #  ANY UN-NORMALIZATION REQUIRED AND EXIT
043295,002399: 00,3172           16125                           TCF      DANZIG                                #  IF NOT.
043296,002400: 
043297,002401: 00,3173           63710                           AD       NEG12                                 #  A RIGHT SHIFT OF MORE THAN 13 COULD BE
043298,002402: 00,3174           00006                           EXTEND                                         #  REQUIRED IF INPUT WAS ZERO IN MPAC,+1.
043299,002403: 00,3175           63201                           BZMF     SQRTSHFT                              #  GOES HERE IN MOST CASES.
043300,002404: 00,3176           22007                           ZL                                             #  IF A LONG SHIFT IS REQUIRED, GO TO
043301,002405: 00,3177           22106                           LXCH     ADDRWD                                #  GENERAL RIGHT SHIFT ROUTINES.
043302,002406: 00,3200           12303                           TCF      GENSCR     +4                         #  ADDRWD WAS ZERO TO PREVENT ROUND.
043303,002407: 
043304,002408: 00,3201           50125        SQRTSHFT           INDEX    MPTEMP                                #  SELECT SHIFTING BIT AND EXIT THROUGH
043305,002409: 00,3202           37745                           CAF      BIT15                                 #  SHIFT ROUTINES.
043306,002410: 00,3203           54125                           TS       MPTEMP                                
043307,002411: 00,3204           37767                           CAF      ZERO                                  #  TO ZERO MPAC +2 IN THE PROCESS.
043308,002412: 00,3205           12036                           TCF      MPACSHR    +3                         
043309,002413: 
043310,002414: 00,3206           07001        ABS                TC       BRANCH                                #  TEST SIGN OF MPAC AND COMPLEMENT IF
043311,002415: 00,3207           16125                           TCF      DANZIG                                
043312,002416: 00,3210           16125                           TCF      DANZIG                                
043313,002417: 00,3211           17722                           TCF      COMP                                  
043314,002418: 

Page 1027

043316,002420: 00,3212           47761        VDEF               CS       FOUR                                  #  VECTOR DEFINE - ESSENTIALLY TREATS
043317,002421: 00,3213           26156                           ADS      PUSHLOC                               #  SCALAR IN MPAC AS X COMPONENT, PUSHES UP
043318,002422: 00,3214           00006                           EXTEND                                         #  FOR Y AND THEN AGAIN FOR Z.
043319,002423: 00,3215           50000                           INDEX    A                                     
043320,002424: 00,3216           30003                           DCA      2                                     
043321,002425: 00,3217           52150                           DXCH     MPAC       +3                         
043322,002426: 00,3220           00006                           EXTEND                                         
043323,002427: 00,3221           50156                           INDEX    PUSHLOC                               
043324,002428: 00,3222           30001                           DCA      0                                     
043325,002429: 00,3223           52152                           DXCH     MPAC       +5                         
043326,002430: 00,3224           47763                           CS       ONE                                   #  MODE IS NOW VECTOR.
043327,002431: 00,3225           16124                           TCF      NEWMODE                               
043328,002432: 
043329,002433: 00,3226           03301        VSQ                TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043330,002434: 00,3227           37767                           CAF      ZERO                                  
043331,002435: 00,3230           16124                           TCF      NEWMODE                               #  MODE IS NOW DP.
043332,002436: 
043333,002437: 00,3231           00006        PUSH               EXTEND                                         #  PUSH DOWN MPAC LEAVING IT LOADED.
043334,002438: 00,3232           30145                           DCA      MPAC                                  
043335,002439: 00,3233           50156                           INDEX    PUSHLOC                               #  PUSH DOWN FIRST TWO REGISTERS IN EACH
043336,002440: 00,3234           52001                           DXCH     0                                     
043337,002441: 
043338,002442: 00,3235           50153                           INDEX    MODE                                  #  INCREMENT PUSHDOWN POINTER.
043339,002443: 00,3236           36310                           CAF      NO.WDS                                
043340,002444: 00,3237           26156                           ADS      PUSHLOC                               
043341,002445: 
043342,002446: 00,3240           10153                           CCS      MODE                                  
043343,002447: 00,3241           13254                           TCF      TPUSH                                 #  PUSH DOWN MPAC +2.
043344,002448: 00,3242           16125                           TCF      DANZIG                                #  DONE FOR DP.
043345,002449: 
043346,002450: 00,3243           00006                           EXTEND                                         #  ON VECTOR, PUSH DOWN Y AND Z COMPONENTS.
043347,002451: 00,3244           30150                           DCA      MPAC       +3                         
043348,002452: 00,3245           50156                           INDEX    PUSHLOC                               
043349,002453: 00,3246           51775                           DXCH     0          -4                         
043350,002454: 00,3247           00006                           EXTEND                                         
043351,002455: 00,3250           30152                           DCA      MPAC       +5                         
043352,002456: 00,3251           50156                           INDEX    PUSHLOC                               
043353,002457: 00,3252           51777                           DXCH     0          -2                         
043354,002458: 00,3253           16125                           TCF      DANZIG                                
043355,002459: 
043356,002460: 00,3254           30146        TPUSH              CA       MPAC       +2                         
043357,002461: 00,3255           16632                           TCF      ENDTPUSH   +2                         
043358,002462: 
043359,002463: 00,3256           50110        RVQ                INDEX    FIXLOC                                #  RVQ - RETURN IVA QPRET.
043360,002464: 00,3257           30052                           CA       QPRET                                 
043361,002465: 00,3260           54107                           TS       POLISH                                
043362,002466: 00,3261           16730                           TCF      GOTO       +4                         #  (ASSUME QPRET POINTS TO FIXED ONLY.)
043363,002467: 

Page 1028

043365,002469:                                                                                                  #           THE FOLLOWING SUBROUTINES ARE USED IN SQUARING MPAC, IN BOTH THE SCALAR AND VECTOR SENSE. THEY ARE
043366,002470:                                                                                                  #  SPECIAL CASES OF DMPSUB AND DOTSUB, PUT IN TO SAVE SOME TIME.
043367,002471: 
043368,002472: 00,3262           30145        DSQSUB             CA       MPAC       +1                         #  SQUARES THE SCALAR CONTENTS OF MPAC.
043369,002473: 00,3263           00006                           EXTEND                                         
043370,002474: 00,3264           70000                           SQUARE                                         
043371,002475: 00,3265           54146                           TS       MPAC       +2                         
043372,002476: 00,3266           37767                           CAF      ZERO                                  #  FORM 2(CROSS TERM).
043373,002477: 00,3267           56145                           XCH      MPAC       +1                         
043374,002478: 00,3270           00006                           EXTEND                                         
043375,002479: 00,3271           70144                           MP       MPAC                                  
043376,002480: 00,3272           20001                           DDOUBL                                         #  AND MAYBE OVERFLOW.
043377,002481: 00,3273           20146                           DAS      MPAC       +1                         #  AND SET A TO NET OVERFLOW.
043378,002482: 00,3274           56144                           XCH      MPAC                                  
043379,002483: 00,3275           00006                           EXTEND                                         
043380,002484: 00,3276           70000                           SQUARE                                         
043381,002485: 00,3277           20145                           DAS      MPAC                                  
043382,002486: 00,3300           00002                           TC       Q                                     
043383,002487: 
043384,002488: 00,3301           00006        VSQSUB             EXTEND                                         #  DOTS THE VECTOR IN MPAC WITH ITSELF.
043385,002489: 00,3302           22127                           QXCH     DOTRET                                
043386,002490: 00,3303           03262                           TC       DSQSUB                                #  SQUARE THE X COMPONENT.
043387,002491: 00,3304           52150                           DXCH     MPAC       +3                         
043388,002492: 00,3305           52145                           DXCH     MPAC                                  
043389,002493: 00,3306           52121                           DXCH     BUF                                   #  SO WE CAN END IN DOTSUB.
043390,002494: 00,3307           30146                           CA       MPAC       +2                         
043391,002495: 00,3310           54122                           TS       BUF        +2                         
043392,002496: 
043393,002497: 00,3311           03262                           TC       DSQSUB                                #  SQUARE Y COMPONENT.
043394,002498: 00,3312           52146                           DXCH     MPAC       +1                         
043395,002499: 00,3313           20122                           DAS      BUF        +1                         
043396,002500: 00,3314           60144                           AD       MPAC                                  
043397,002501: 00,3315           60120                           AD       BUF                                   
043398,002502: 00,3316           54120                           TS       BUF                                   
043399,002503: 00,3317           13321                           TCF      +2                                    
043400,002504: 00,3320           54111                           TS       OVFIND                                #  IF OVERFLOW.
043401,002505: 
043402,002506: 00,3321           52152                           DXCH     MPAC       +5                         
043403,002507: 00,3322           52145                           DXCH     MPAC                                  
043404,002508: 00,3323           03262                           TC       DSQSUB                                #  SQUARE Z COMPONENT.
043405,002509: 00,3324           17257                           TCF      ENDDOT                                #  END AS IN DOTSUB.
043406,002510: 

Page 1029

043408,002512:                                                                                                  #           DOUBLE PRECISION SQUARE ROOT ROUTINE. TAKE THE SQUARE ROOT OF THE TRIPLE PRECISION (MPAC +2 USED ONLY
043409,002513:                                                                                                  #  IN NORMALIZATION) CONTENTS OF MPAC AND LEAVE THE NORMALIZED RESULT IN MPAC (C(MPAC) GREATER THAN OR EQUAL TO
043410,002514:                                                                                                  #  .5). THE RIGHT SHIFT COUNT (TO UNNORMALIZE) IS LEFT IN MPTEMP.
043411,002515: 
043412,002516: 
043413,002517: 00,3325           37767        SQRTSUB            CAF      ZERO                                  #  START BY ZEROING RIGHT SHIFT COUNT.
043414,002518: 00,3326           54125                           TS       MPTEMP                                
043415,002519: 
043416,002520: 00,3327           10144                           CCS      MPAC                                  #  CHECK FOR POSITIVE ARGUMENT, SHIFTING
043417,002521: 00,3330           13366                           TCF      SMPAC+                                #  FIRST SIGNIFICANT MPAC REGISTER INTO
043418,002522: 00,3331           13333                           TCF      +2                                    #  MPAC ITSELF.
043419,002523: 00,3332           13355                           TCF      SQRTNEG                               #  SEE IF MAG OF ARGUMENT LESS THAN 10(-4).
043420,002524: 
043421,002525: 00,3333           56146                           XCH      MPAC       +2                         #  MPAC IS ZERO - SHIFT LEFT 14.
043422,002526: 00,3334           56145                           XCH      MPAC       +1                         
043423,002527: 00,3335           54144                           TS       MPAC                                  
043424,002528: 00,3336           37765                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
043425,002529: 00,3337           54125                           TS       MPTEMP                                
043426,002530: 
043427,002531: 00,3340           10144                           CCS      MPAC                                  #  SEE IF MPAC NOW PNZ.
043428,002532: 00,3341           13366                           TCF      SMPAC+                                
043429,002533: 00,3342           13344                           TCF      +2                                    
043430,002534: 00,3343           13360                           TCF      ZEROANS                               #  NEGATIVE BUT LESS THAN 10(-4) IN MAG.
043431,002535: 
043432,002536: 00,3344           56145                           XCH      MPAC       +1                         #  ZERO - SHIFT LEFT 14 AGAIN.
043433,002537: 00,3345           54144                           TS       MPAC                                  
043434,002538: 00,3346           37765                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
043435,002539: 00,3347           26125                           ADS      MPTEMP                                
043436,002540: 
043437,002541: 00,3350           10144                           CCS      MPAC                                  
043438,002542: 00,3351           13366                           TCF      SMPAC+                                
043439,002543: 00,3352           00002                           TC       Q                                     #  SQRT(0) = 0.
043440,002544: 00,3353           13360                           TCF      ZEROANS                               
043441,002545: 00,3354           13434                           TCF      FIXROOT                               #  DO NOT LEAVE SQRTSUB WITH -0 IN MPAC.
043442,002546: 
043443,002547: 00,3355           10000        SQRTNEG            CCS      A                                     #  ARGUMENT IS NEGATIVE, BUT SEE IF SIGN-
043444,002548: 00,3356           13364                           TCF      SQRTABRT                              #  CORRECTED ARGUMENT IS LESS THAN 10(-4)
043445,002549: 
043446,002550: 00,3357           10145                           CCS      MPAC       +1                         #  IN MAGNITUDE. IF SO, CALL ANSWER ZERO.
043447,002551: 00,3360           37767        ZEROANS            CAF      ZERO                                  #  FORCE ANSWER TO ZERO HERE.
043448,002552: 00,3361           13434                           TCF      FIXROOT                               
043449,002553: 00,3362           13364                           TCF      SQRTABRT                              
043450,002554: 00,3363           13434                           TCF      FIXROOT                               
043451,002555: 
043452,002556: 00,3364           06000        SQRTABRT           TC       ABORT                                 
043453,002557: 00,3365           01302                           OCT      1302                                  
043454,002558: 

Page 1030

043456,002560: 00,3366           62442        SMPAC+             AD       -1/2+2                                #  SEE IF ARGUMENT GREATER THAN OR EQUAL TO
043457,002561: 00,3367           00006                           EXTEND                                         #  .5.
043458,002562: 00,3370           63437                           BZMF     SRTEST                                #  IF SO, SEE IF LESS THAN .25.
043459,002563: 
043460,002564: 00,3371           52145                           DXCH     MPAC                                  #  WE WILL TAKE THE SQUARE ROOT OF MPAC/2.
043461,002565: 00,3372           22021                           LXCH     SR                                    #  SHIFT RIGHT 1 AND GO TO THE SQRT ROUTINE
043462,002566: 00,3373           00006                           EXTEND                                         
043463,002567: 00,3374           77746                           MP       HALF                                  
043464,002568: 00,3375           52145                           DXCH     MPAC                                  
043465,002569: 00,3376           56021                           XCH      SR                                    
043466,002570: 00,3377           26145                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
043467,002571: 
043468,002572: 00,3400           32314        ARGHI              CAF      SLOPEHI                               #  ARGUMENT BETWEEN .25 AND .5. GET A
043469,002573: 00,3401           00006                           EXTEND                                         #  LINEAR APPROXIMATION FOR THIS RANGE.
043470,002574: 00,3402           70144                           MP       MPAC                                  
043471,002575: 00,3403           62542                           AD       BIASHI                                #  X0/2 = (MPAC/2)(SLOPEHI) + BIASHI/2.
043472,002576: 
043473,002577: 00,3404           54120                 +4        TS       BUF                                   #  X0/2 (ARGLO ENTERS HERE).
043474,002578: 00,3405           30144                           CA       MPAC                                  #  SINGLE-PRECISION THROUGHOUT.
043475,002579: 00,3406           22007                           ZL                                             
043476,002580: 00,3407           00006                           EXTEND                                         
043477,002581: 00,3410           10120                           DV       BUF                                   #  (MPAC/2)/(X0/2)
043478,002582: 00,3411           00006                           EXTEND                                         
043479,002583: 00,3412           77746                           MP       HALF                                  
043480,002584: 00,3413           26120                           ADS      BUF                                   #  X1 = X0/2 + .5(MPAC/2)/(X0/2).
043481,002585: 
043482,002586: 00,3414           00006                           EXTEND                                         
043483,002587: 00,3415           77746                           MP       HALF                                  #  FORM UP X1/2.
043484,002588: 00,3416           52145                           DXCH     MPAC                                  #  SAVE AND BRING OUT ARGUMENT.
043485,002589: 00,3417           00006                           EXTEND                                         #  TAKE DP QUOTIENT WITH X1.
043486,002590: 00,3420           10120                           DV       BUF                                   
043487,002591: 00,3421           54121                           TS       BUF        +1                         #  SAVE MAJOR PART OF QUOTIENT.
043488,002592: 00,3422           37767                           CAF      ZERO                                  #  FORM MINOR PART OF QUOTIENT USING
043489,002593: 00,3423           56001                           XCH      L                                     #  (REMAINDER,0).
043490,002594: 00,3424           00006                           EXTEND                                         
043491,002595: 00,3425           10120                           DV       BUF                                   
043492,002596: 00,3426           54001                           TS       L                                     #  IN PREPARATION FOR DAS.
043493,002597: 00,3427           30121                           CA       BUF        +1                         
043494,002598: 00,3430           20145                           DAS      MPAC                                  #  X2 = X1/2 + (MPAC/2)X1
043495,002599: 
043496,002600: 00,3431           00006                           EXTEND                                         #  OVERFLOWS IF ARG. NEAR POSMAX.
043497,002601: 00,3432           13436                           BZF      TCQBNK00                              
043498,002602: 00,3433           37743                           CAF      POSMAX                                
043499,002603: 00,3434           54144        FIXROOT            TS       MPAC                                  
043500,002604: 00,3435           54145                           TS       MPAC       +1                         
043501,002605: 00,3436           00002        TCQBNK00           TC       Q                                     #  RETURN TO CALLER TO UNNORMALIZE, ETC.
043502,002606: 

Page 1031

043504,002608: 00,3437           67747        SRTEST             AD       QUARTER                               #  ARGUMENT WAS LESS THAN .5, SEE IF LESS
043505,002609: 00,3440           00006                           EXTEND                                         #  THAN .25.
043506,002610: 00,3441           63463                           BZMF     SQRTNORM                              #  IF SO, BEGIN NORMALIZATION.
043507,002611: 
043508,002612: 00,3442           52145                           DXCH     MPAC                                  #  IF BETWEEN .5 AND .25, SHIFT RIGHT 1 AND
043509,002613: 00,3443           22021                           LXCH     SR                                    #  START AT ARGLO.
043510,002614: 00,3444           00006                           EXTEND                                         
043511,002615: 00,3445           77746                           MP       HALF                                  
043512,002616: 00,3446           52145                           DXCH     MPAC                                  
043513,002617: 00,3447           56021                           XCH      SR                                    
043514,002618: 00,3450           26145                           ADS      MPAC       +1                         #  NO OVERFLOW.
043515,002619: 
043516,002620: 00,3451           32772        ARGLO              CAF      SLOPELO                               #  (NORMALIZED) ARGUMENT BETWEEN .125 AND
043517,002621: 00,3452           00006                           EXTEND                                         #  .25
043518,002622: 00,3453           70144                           MP       MPAC                                  
043519,002623: 00,3454           62270                           AD       BIASLO                                
043520,002624: 00,3455           13404                           TCF      ARGHI      +4                         #  BEGIN SQUARE ROOT.
043521,002625: 
043522,002626: 00,3456           00006        SQRTNM2            EXTEND                                         #  SHIFT LEFT 2 AND INCREMENT RIGHT SHIFT
043523,002627: 00,3457           30146                           DCA      MPAC       +1                         #  COUNT (FOR TERMINAL UNNORMALIZATION).
043524,002628: 00,3460           20146                           DAS      MPAC       +1                         
043525,002629: 00,3461           60144                           AD       MPAC                                  
043526,002630: 00,3462           26144                           ADS      MPAC                                  #  (NO OVERFLOW).
043527,002631: 
043528,002632: 00,3463           24125        SQRTNORM           INCR     MPTEMP                                #  FIRST TIME THROUGH, JUST SHIFT LEFT 1
043529,002633: 00,3464           00006                           EXTEND                                         #  (PUTS IN EFFECTIVE RIGHT SHIFT SINCE
043530,002634: 00,3465           30146                           DCA      MPAC       +1                         #  WE WANT MPAC/2).
043531,002635: 00,3466           20146                           DAS      MPAC       +1                         
043532,002636: 00,3467           60144                           AD       MPAC                                  
043533,002637: 00,3470           26144                           ADS      MPAC                                  #  (AGAIN NO OVERFLOW).
043534,002638: 00,3471           60000                           DOUBLE                                         
043535,002639: 00,3472           54022                           TS       CYL                                   
043536,002640: 
043537,002641: 00,3473           10022        NORMTEST           CCS      CYL                                   #  SEE IF ARGUMENT NOW NORMALIZED AT
043538,002642: 00,3474           10022                           CCS      CYL                                   #  GREATER THAN .125.
043539,002643: 00,3475           13456                           TCF      SQRTNM2                               #  NO - SHIFT LEFT 2 MORE AND TRY AGAIN.
043540,002644: 00,3476           13400                           TCF      ARGHI                                 #  YES - NOW BETWEEN .5 AND .25.
043541,002645: 00,3477           13451                           TCF      ARGLO                                 #  ARGUMENT NOW BETWEEN .25 AND .125.
043542,002646: 

Page 1032

043544,002648:                                                                                                  #  TRIGONOMETRIC FUNCTION PACKAGE.
043545,002649: 
043546,002650:                                                                                                  #           THE FOLLOWING TRIGONOMETRIC FUNCTIONS ARE AVAILABLE AS INTERPRETIVE OPERATIONS:
043547,002651: 
043548,002652:                                                                                                  #           1.  SIN                COMPUTES (1/2)SINE(2 PI MPAC).
043549,002653:                                                                                                  #           2.  COS                COMPUTES (1/2)COSINE(2 PI MPAC).
043550,002654: 
043551,002655:                                                                                                  #           3.  ASIN               COMPUTES (1/2PI)ARCSINE(2 MPAC).
043552,002656:                                                                                                  #           4.  ACOS               COMPUTES (1/2PI)ARCCOSINE(2 MPAC).
043553,002657: 
043554,002658:                                                                                                  #  SIN-ASIN AND COS-ACOS ARE MUTUALLY INVERSE, IE SIN(ASIN(X)) = X.
043555,002659: 
043556,002660: 00,3500           07001        COSINE             TC       BRANCH                                #  FINDS COSINE USING THE IDENTITY
043557,002661: 00,3501           13504                           TCF      +3                                    #  COS(X) = SIN(PI/2 - ABS(X)).
043558,002662: 00,3502           13507                           TCF      PRESINE                               
043559,002663: 00,3503           13507                           TCF      PRESINE                               
043560,002664: 
043561,002665: 00,3504           00006                 +3        EXTEND                                         
043562,002666: 00,3505           40145                           DCS      MPAC                                  
043563,002667: 00,3506           52145                           DXCH     MPAC                                  
043564,002668: 
043565,002669: 00,3507           37747        PRESINE            CAF      QUARTER                               #  PI/2 SCALED.
043566,002670: 00,3510           26144                           ADS      MPAC                                  
043567,002671: 
043568,002672: 
043569,002673: 00,3511           52145        SINE               DXCH     MPAC                                  #  DOUBLE ARGUMENT.
043570,002674: 00,3512           20001                           DDOUBL                                         
043571,002675: 00,3513           54000                           OVSK                                           #  SEE IF OVERFLOW PRESENT.
043572,002676: 00,3514           13517                           TCF      +3                                    #  IF NOT, ARGUMENT OK AS IS.
043573,002677: 
043574,002678: 00,3515           00006                           EXTEND                                         #  IF SO, WE LOST (OR GAINED) PI, SO
043575,002679: 00,3516           40001                           DCOM                                           #  COMPLEMENT MPAC USING THE IDENTITY
043576,002680:                                                                                                  #  SIN(X-(+)PI) = SIN(-X).
043577,002681: 00,3517           52145                 +3        DXCH     MPAC                                  
043578,002682: 00,3520           30144                           CA       MPAC                                  #  SEE IF ARGUMENT GREATER THAN .5 IN
043579,002683: 00,3521           60000                           DOUBLE                                         #  MAGNITUDE. IF SO, REDUCE IT TO LESS THAN
043580,002684: 00,3522           54001                           TS       L                                     #  .5 (+-PI/2 SCALED) AS FOLLOWS:
043581,002685: 00,3523           13534                           TCF      SN1                                   
043582,002686: 
043583,002687: 00,3524           50000                           INDEX    A                                     #  IF POSITIVE, FORM PI - X, IF NEGATIVE
043584,002688: 00,3525           37745                           CAF      NEG1/2     +1                         #  USE -PI -X.
043585,002689: 00,3526           60000                           DOUBLE                                         
043586,002690: 00,3527           00006                           EXTEND                                         
043587,002691: 00,3530           60144                           SU       MPAC                                  #  GUARANTEED NO OVERFLOW.
043588,002692: 00,3531           54144                           TS       MPAC                                  
043589,002693: 00,3532           40145                           CS       MPAC       +1                         
043590,002694: 00,3533           54145                           TS       MPAC       +1                         
043591,002695: 

Page 1033

043593,002697: 00,3534           00006        SN1                EXTEND                                         #  SET UP TO EVALUATE HASTINGS POLYNOMIAL
043594,002698: 00,3535           30145                           DCA      MPAC                                  
043595,002699: 00,3536           52124                           DXCH     BUF2                                  
043596,002700: 00,3537           03262                           TC       DSQSUB                                #  SQUARE MPAC.
043597,002701: 
043598,002702: 00,3540           07274                           TC       POLY                                  #  EVALUATE FOURTH ORDER POLYNOMIAL.
043599,002703: 00,3541           00003                           DEC      3          B-14                       
043600,002704: 00,3542           14441 37325                     2DEC     +.3926990796                            
043601,002705: 
043602,002706: 00,3544           53250 60764                     2DEC     -.6459637111                            
043603,002707: 
043604,002708: 00,3546           12146 21276                     2DEC     +.318758717                            
043605,002709: 
043606,002710: 00,3550           75466 71471                     2DEC     -.074780249                            
043607,002711: 
043608,002712: 00,3552           00236 32757                     2DEC     +.009694988                            
043609,002713: 
043610,002714: 00,3554           32466                           CAF      LBUF2                                 #  MULTIPLY BY ARGUMENT AND SHIFT LEFT 2.
043611,002715: 00,3555           07160                           TC       DMPSUB     -1                         
043612,002716: 
043613,002717: 00,3556           00006                           EXTEND                                         
043614,002718: 00,3557           30146                           DCA      MPAC       +1                         
043615,002719: 00,3560           20146                           DAS      MPAC       +1                         
043616,002720: 00,3561           60144                           AD       MPAC                                  
043617,002721: 00,3562           26144                           ADS      MPAC                                  #  NEITHER SHIFT OVERFLOWS.
043618,002722: 00,3563           00006                           EXTEND                                         
043619,002723: 00,3564           30146                           DCA      MPAC       +1                         
043620,002724: 00,3565           20146                           DAS      MPAC       +1                         
043621,002725: 00,3566           60144                           AD       MPAC                                  
043622,002726: 00,3567           26144                           ADS      MPAC                                  
043623,002727: 00,3570           16125                           TCF      DANZIG                                
043624,002728: 

Page 1034

043626,002730:                                                                                                  #           ARCSIN/ARCCOS ROUTINE.
043627,002731: 
043628,002732: 00,3571           33612        ARCSIN             CAF      LASINEX                               #  COMPUTE ARCSIN BY USING THE IDENTITY
043629,002733: 00,3572           13574                           TCF      +2                                    #  ARCSIN(X) = PI/2 - ARCCOS(X).
043630,002734: 
043631,002735: 00,3573           33674        ARCCOS             CAF      LDANZIG                               #  (EXITS IMMEDIATELY).
043632,002736: 00,3574           54126                           TS       ESCAPE                                
043633,002737: 00,3575           07001                           TC       BRANCH                                #  TEST SIGN OF INPUT.
043634,002738: 00,3576           13606                           TCF      ACOSST                                #  START IMMEDIATELY IF POSITIVE.
043635,002739: 00,3577           13706                           TCF      ACOSZERO                              #  ARCCOS(0) = PI/2 = .25.
043636,002740: 00,3600           00006                           EXTEND                                         #  IF NEGATIVE, USE THE IDENTITY
043637,002741: 00,3601           40145                           DCS      MPAC                                  #  ARCCOS(X) = PI - ARCCOS(-X), FORCING
043638,002742: 00,3602           52145                           DXCH     MPAC                                  #  ARGUMENT POSITIVE.
043639,002743: 00,3603           33711                           CAF      TCSUBTR                               #  SET EXIT  TO DO ABOVE BEFORE
043640,002744: 00,3604           56126                           XCH      ESCAPE                                #  ARCSIN/ARCCOS CONSIDERATIONS.
043641,002745: 00,3605           54127                           TS       ESCAPE2                               
043642,002746: 
043643,002747: 00,3606           47746        ACOSST             CS       HALF                                  #  TEST MAGNITUDE OF INPUT.
043644,002748: 00,3607           60144                           AD       MPAC                                  
043645,002749: 00,3610           10000                           CCS      A                                     
043646,002750: 00,3611           13702                           TCF      ACOSOVF                               #  THIS IS PROBABLY AN OVERFLOW CASE.
043647,002751: 
043648,002752: 00,3612           13670        LASINEX            TCF      ASINEX                                
043649,002753: 
043650,002754: 00,3613           13623                           TCF      ACOSST2                               #  NO OVERFLOW - PROCEED.
043651,002755: 
043652,002756: 00,3614           10145                           CCS      MPAC       +1                         #  IF MAJOR PART IS .5, CALL ANSWER 0
043653,002757: 00,3615           37767                           CAF      ZERO                                  #  UNLESS MINOR PART NEGATIVE.
043654,002758: 00,3616           13620                           TCF      ACOS=0                                
043655,002759: 
043656,002760: 00,3617           13623                           TCF      ACOSST2                               
043657,002761: 
043658,002762: 00,3620           54145        ACOS=0             TS       MPAC       +1                         
043659,002763: 00,3621           54144                           TS       MPAC                                  
043660,002764: 00,3622           00126                           TC       ESCAPE                                
043661,002765: 
043662,002766: 00,3623           00006        ACOSST2            EXTEND                                         #  NOW THAT ARGUMENT IS IN PROPER RANGE,
043663,002767: 00,3624           40145                           DCS      MPAC                                  #  BEGIN COMPUTATION. USE HASTINGS
043664,002768: 00,3625           67746                           AD       HALF                                  #  APPROXIMATION ARCCOS(X) = SQRT(1-X)P(X)
043665,002769: 00,3626           52145                           DXCH     MPAC                                  #  IN A SCALED VERSION WHERE P(X) IS A
043666,002770: 00,3627           52124                           DXCH     BUF2                                  #  SEVENTH ORDER POLYNOMIAL.
043667,002771: 
043668,002772: 00,3630           03325                           TC       SQRTSUB                               #  RETURNS WITH NORMALIZED SQUARE ROOT.
043669,002773: 
043670,002774: 00,3631           10125                           CCS      MPTEMP                                #  SEE IF UN-NORMALIZATION REQUIRED.
043671,002775: 00,3632           13675                           TCF      ACOSSHR                               #  IF SO.
043672,002776: 

Page 1035

043674,002778: 00,3633           52145        ACOS3              DXCH     MPAC                                  #  SET UP FOR POLYNOMIAL EVALUATION.
043675,002779: 00,3634           52124                           DXCH     BUF2                                  
043676,002780: 00,3635           52145                           DXCH     MPAC                                  
043677,002781: 
043678,002782: 00,3636           07274                           TC       POLY                                  
043679,002783: 00,3637           00006                           DEC      6          B-14                       
043680,002784: 00,3640           13240 23630                     2DEC     +.353553385                            #  COEFFICIENTS ARE C 2(+I)/PISQRT(2) WHERE
043681,002785: 
043682,002786: 00,3642           74721 47775                     2DEC*    -.0483017006 B+1*                       #                    I
043683,002787: 
043684,002788: 00,3644           02440 20237                     2DEC*    +.0200273085 B+2*                       #       WHERE C STANDS FOR ORIGINAL COEFFS.
043685,002789: 
043686,002790: 00,3646           75067 70742                     2DEC*    -.0112931863 B+3*                       
043687,002791: 
043688,002792: 00,3650           03436 26756                     2DEC*    +.00695311612 B+4*                       
043689,002793: 
043690,002794: 00,3652           74037 57640                     2DEC*    -.00384617957 B+5*                       
043691,002795: 
043692,002796: 00,3654           03046 07143                     2DEC*    +.001501297736 B+6*                       
043693,002797: 
043694,002798: 00,3656           76654 42244                     2DEC*    -.000284160334 B+7*                       
043695,002799: 
043696,002800: 00,3660           32466                           CAF      LBUF2                                 #  DO FINAL MULTIPLY AND GO TO ANY
043697,002801: 00,3661           07160                           TC       DMPSUB     -1                         #  EPILOGUE SEQUENCES.
043698,002802: 00,3662           00126                           TC       ESCAPE                                
043699,002803: 
043700,002804: 00,3663           00006        SUBTR              EXTEND                                         #  EPILOGUE FOR NEGATIVE INPUTS TO ARCCOS.
043701,002805: 00,3664           40145                           DCS      MPAC                                  
043702,002806: 00,3665           67746                           AD       HALF                                  #  FORMS PI - ARCCOS(-X) = ARCCOS(X).
043703,002807: 00,3666           52145                           DXCH     MPAC                                  
043704,002808: 00,3667           00127                           TC       ESCAPE2                               #  GO TO POSSIBLE ARCSIN EPILOGUE.
043705,002809: 
043706,002810: 00,3670           00006        ASINEX             EXTEND                                         
043707,002811: 00,3671           40145                           DCS      MPAC                                  #  ARCSIN EPILOGUE - GET ARCSIN(X)
043708,002812: 00,3672           67747                           AD       QUARTER                               #  = PI/2 - ARCCOS(X).
043709,002813: 00,3673           52145                           DXCH     MPAC                                  
043710,002814: 00,3674           16125        LDANZIG            TCF      DANZIG                                
043711,002815: 

Page 1036

043713,002817: 00,3675           50000        ACOSSHR            INDEX    A                                     #  THE SHIFT RIGHT IS LESS THAN 14 SINCE
043714,002818: 00,3676           37746                           CAF      BIT14                                 #  THE INPUT WAS NON-ZERO DP.
043715,002819: 00,3677           54125                           TS       MPTEMP                                
043716,002820: 00,3700           02073                           TC       VSHRRND                               #  DP SHIFT RIGHT AND ROUND.
043717,002821: 00,3701           13633                           TCF      ACOS3                                 #  PROCEED.
043718,002822: 
043719,002823: 00,3702           00006        ACOSOVF            EXTEND                                         #  IF MAJOR PART WAS ONLY 1 MORE THAN .5,
043720,002824: 00,3703           13620                           BZF      ACOS=0                                #  CALL ANSWER ZERO.
043721,002825: 
043722,002826: 00,3704           06000        ACOSABRT           TC       ABORT                                 
043723,002827: 00,3705           01301                           OCT      1301                                  
043724,002828: 
043725,002829: 00,3706           37747        ACOSZERO           CAF      QUARTER                               #  ACOS(0) = PI/2.
043726,002830: 00,3707           13621                           TCF      ACOS=0     +1                         #  SET MPAC AND EXIT VIA ESCAPE.
043727,002831: 
043728,002832: 00,3710           77763        NEG12              DEC      -12        B-14                       
043729,002833: 00,3711           13663        TCSUBTR            TCF      SUBTR                                 
043730,002834: 

Page 1037

043732,002836:                                                                                                  #  AUXILIARY CODING FOR DDV/BDDV:
043733,002837: 
043734,002838: 
043735,002839: 00,3712           10000        BUFPOS             CCS      A                                     
043736,002840: 00,3713           12420                           TCF      BUF+                                  #  TO BUF+ IF BUF IS GREATER THAN +1.
043737,002841: 
043738,002842: 00,3714           40121                           CS       BUF        +1                         #  IF BUF IS +1, FORCING SIGN AGREEMENT
043739,002843: 00,3715           00006                           EXTEND                                         #  MAY CAUSE BUF TO BECOME ZERO.
043740,002844: 00,3716           62420                           BZMF     BUF+                                  #  BRANCH IF SIGNS AGREE.
043741,002845: 
043742,002846: 00,3717           37746                           CA       HALF                                  #  SIGNS DISAGREE.  FORCE AGREEMENT.
043743,002847: 00,3720           60000                 +6        DOUBLE                                         
043744,002848: 00,3721           26121                           ADS      BUF        +1                         
043745,002849: 00,3722           37767                           CA       ZERO                                  
043746,002850: 00,3723           54120                           TS       BUF                                   
043747,002851: 00,3724           12362                           TCF      BUFZERO                               
043748,002852: 
043749,002853: 00,3725           10000        BUFNEG             CCS      A                                     
043750,002854: 00,3726           12414                           TCF      BUF-                                  #  TO BUF- IF BUF IS LESS THAN -1.
043751,002855: 
043752,002856: 00,3727           30121                           CA       BUF        +1                         #  IF BUF IS -1, FORCING SIGN AGREEMENT
043753,002857: 00,3730           00006                           EXTEND                                         #  MAY CAUSE BUF TO BECOME ZERO.
043754,002858: 00,3731           62414                           BZMF     BUF-                                  #  BRANCH IF SIGNS AGREE.
043755,002859: 
043756,002860: 00,3732           47746                           CS       HALF                                  #  SIGNS DISAGREE.  FORCE AGREEMENT.
043757,002861: 00,3733           13720                           TCF      BUFPOS     +6                         
043758,002862: 

Page 1038

043760,002864:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE AVAILABLE FOR SETTING, MODIFYING, AND BRANCHING ON INDEX REGISTERS:
043761,002865: 
043762,002866:                                                                                                  #           1.  AXT                ADDRESS TO INDEX TRUE.
043763,002867:                                                                                                  #           2.  AXC                ADDRESS TO INDEX COMPLEMENTED.
043764,002868:                                                                                                  #           3.  LXA                LOAD INDEX FROM ERASABLE.
043765,002869:                                                                                                  #           4.  LXC                LOAD INDEX COMPLEMENTED FROM ERASABLE.
043766,002870:                                                                                                  #           5.  SXA                STORE INDEX IN ERASABLE.
043767,002871:                                                                                                  #           6.  XCHX               EXCHANGE INDEX REIGSTER WITH ERASABLE.
043768,002872: 
043769,002873:                                                                                                  #           7.  INCR               INCREMENT INDEX REGISTER.
043770,002874:                                                                                                  #           8.  XAD                ERASABLE ADD TO INDEX REGISTER.
043771,002875:                                                                                                  #           9.  XSU                ERASABLE SUBTRACT FROM INDEX REGISTER.
043772,002876: 
043773,002877:                                                                                                  #          10.  TIX                BRANCH ON INDEX REGISTER AND DECREMENT.
043774,002878: 
043775,002879: 
043776,002880: 01,2626                                           BANK     01                                    
043777,002881: 
043778,002882: 01,2626           02723        AXT                TC       TAGSUB                                #  SELECT APPROPRIATE INDEX REGISTER.
043779,002883: 01,2627           30107                           CA       POLISH                                
043780,002884: 01,2630           50120        XSTORE             INDEX    INDEXLOC                              #  CONTAINS C(FIXLOC) OR C(FIXLOC)+1.
043781,002885: 01,2631           54046                           TS       X1                                    
043782,002886: 01,2632           16125                           TCF      DANZIG                                
043783,002887: 
043784,002888: 01,2633           02723        AXC                TC       TAGSUB                                
043785,002889: 01,2634           40107                           CS       POLISH                                
043786,002890: 01,2635           02630                           TC       XSTORE                                
043787,002891: 
043788,002892: 01,2636           02711        LXA                TC       15ADRERS                              #  LOAD INDEX REGISTER FROM ERASABLE.
043789,002893: 01,2637           50107                           INDEX    POLISH                                
043790,002894: 01,2640           30000                           CA       0                                     
043791,002895: 01,2641           12630                           TCF      XSTORE                                
043792,002896: 
043793,002897: 01,2642           02711        LXC                TC       15ADRERS                              #  LOAD NDX REG FROM ERASABLE COMPLEMENTED.
043794,002898: 01,2643           50107                           INDEX    POLISH                                
043795,002899: 01,2644           40000                           CS       0                                     
043796,002900: 01,2645           12630                           TCF      XSTORE                                
043797,002901: 
043798,002902: 01,2646           02711        SXA                TC       15ADRERS                              #  STORE INDEX REGISTER IN ERASABLE.
043799,002903: 01,2647           50120                           INDEX    INDEXLOC                              
043800,002904: 01,2650           30046                           CA       X1                                    
043801,002905: 01,2651           50107        MSTORE1            INDEX    POLISH                                
043802,002906: 01,2652           54000                           TS       0                                     
043803,002907: 01,2653           16125                           TCF      DANZIG                                
043804,002908: 

Page 1039

043806,002910: 01,2654           02711        XCHX               TC       15ADRERS                              #  EXCHANGE INDEX REGISTER WITH ERASABLE.
043807,002911: 01,2655           50107                           INDEX    POLISH                                
043808,002912: 01,2656           30000                           CA       0                                     
043809,002913: 01,2657           50120                           INDEX    INDEXLOC                              
043810,002914: 01,2660           56046                           XCH      X1                                    
043811,002915: 01,2661           12651                           TCF      MSTORE1                               
043812,002916: 
043813,002917: 01,2662           02711        XAD                TC       15ADRERS                              #  ADD ERASABLE TO INDEX REGISTER.
043814,002918: 01,2663           50107                           INDEX    POLISH                                
043815,002919: 01,2664           30000                           CA       0                                     
043816,002920: 01,2665           50120        XAD2               INDEX    INDEXLOC                              
043817,002921: 01,2666           26046                           ADS      X1                                    #  IGNORING OVERFLOWS.
043818,002922: 01,2667           16125                           TCF      DANZIG                                
043819,002923: 
043820,002924: 01,2670           02723        INCR               TC       TAGSUB                                #  INCREMENT INDEX REGISTER.
043821,002925: 01,2671           30107                           CA       POLISH                                
043822,002926: 01,2672           12665                           TCF      XAD2                                  
043823,002927: 
043824,002928: 01,2673           02711        XSU                TC       15ADRERS                              #  SUBTRACT ERASABLE FROM INDEX REGISTER.
043825,002929: 01,2674           50107                           INDEX    POLISH                                
043826,002930: 01,2675           40000                           CS       0                                     
043827,002931: 01,2676           12665                           TCF      XAD2                                  
043828,002932: 
043829,002933: 
043830,002934: 01,2677           02723        TIX                TC       TAGSUB                                #  BRANCH AND DECREMENT ON INDEX.
043831,002935: 01,2700           50120                           INDEX    INDEXLOC                              
043832,002936: 01,2701           40050                           CS       S1                                    
043833,002937: 01,2702           50120                           INDEX    INDEXLOC                              
043834,002938: 01,2703           60046                           AD       X1                                    
043835,002939: 01,2704           00006                           EXTEND                                         #  NO OPERATION IF DECREMENTED INDEX IS
043836,002940: 01,2705           66125                           BZMF     DANZIG                                #  NEGATIVE OR ZERO.
043837,002941: 
043838,002942: 01,2706           50120        DOTIXBR            INDEX    INDEXLOC                              
043839,002943: 01,2707           56046                           XCH      X1                                    #  IGNORING OVERFLOWS.
043840,002944: 
043841,002945: 01,2710           16724                           TCF      GOTO                                  #  DO THE BRANCH USING THE CADR IN POLISH.
043842,002946: 

Page 1040

043844,002948:                                                                                                  #           SUBROUTINE TO CONVERT AN ERASABLE ADDRESS (11 BITS) TO AN EBANK SETTING AND SUBADDRESS.
043845,002949: 
043846,002950: 01,2711           40107        15ADRERS           CS       POLISH                                
043847,002951: 01,2712           65353                           AD       DEC45                                 
043848,002952: 01,2713           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
043849,002953: 01,2714           30110                           CA       FIXLOC                                #  YES.  ADD FIXLOC.  EBANK OK AS IS.
043850,002954: 01,2715           12722                           TCF      +5                                    
043851,002955: 
043852,002956: 01,2716           35352                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
043853,002957: 01,2717           56107                           XCH      POLISH                                
043854,002958: 01,2720           54003                           TS       EBANK                                 
043855,002959: 01,2721           74564                           MASK     LOW8                                  
043856,002960: 01,2722           26107                 +5        ADS      POLISH                                #  FALL INTO TAGSUB, AND RETURN VIA Q.
043857,002961: 
043858,002962:                                                                                                  #           SUBROUTINE WHICH SETS THE ADDRESS OF THE SPECIFIED INDEX IN INDEXLOC.  (ACTUALLY, THE ADDRESS -38D.)
043859,002963: 
043860,002964: 01,2723           30110        TAGSUB             CA       FIXLOC                                
043861,002965: 01,2724           54120                           TS       INDEXLOC                              
043862,002966: 
043863,002967: 01,2725           10020                           CCS      CYR                                   #  BIT 15 SPECIFIES INDEX.
043864,002968: 01,2726           24120                           INCR     INDEXLOC                              #  0 MEANS USE X2.
043865,002969: 01,2727           00002                           TC       Q                                     
043866,002970: 01,2730           00002                           TC       Q                                     #  1 FOR X1.
043867,002971: 

Page 1041

043869,002973:                                                                                                  #           MISCELLANEOUS OPERATION CODES WITH DIRECT ADDRESSES. INCLUDED HERE ARE:
043870,002974: 
043871,002975:                                                                                                  #           1.  ITA                STORE QPRET (RETURN ADDRESS) IN ERASABLE.
043872,002976:                                                                                                  #           2.  CALL               CALL A SUBROUTINE, LEAVING RETURN IN QPRET.
043873,002977:                                                                                                  #           3.  RTB                RETURN TO BASIC LANGUAGE AT THE GIVEN ADDRESS.
043874,002978:                                                                                                  #           4.  BHIZ               BRANCH IF THE HIGH ORDER OF MPAC IS ZERO (SINGLE PRECISION).
043875,002979:                                                                                                  #           5.  BOV                BRANCH ON OVERFLOW.
043876,002980:                                                                                                  #           6.  GOTO               SIMPLE SEQUENCE CHANGE.
043877,002981: 
043878,002982: 01,2731           10020        RTB/BHIZ           CCS      CYR                                   
043879,002983: 01,2732           30107        RTB                CA       POLISH                                
043880,002984: 01,2733           15230                           TCF      BANKJUMP                              #  CALL BASIC ROUTINE.
043881,002985: 
043882,002986: 01,2734           10144        BHIZ               CCS      MPAC                                  
043883,002987: 01,2735           16125                           TCF      DANZIG                                
043884,002988: 01,2736           16724                           TCF      GOTO                                  
043885,002989: 01,2737           16125                           TCF      DANZIG                                
043886,002990: 01,2740           16724                           TCF      GOTO                                  
043887,002991: 
043888,002992: 01,2741           10111        BOV(B)             CCS      OVFIND                                #  BRANCH ON OVERFLOW TO BASIC OR INTERP.
043889,002993: 01,2742           12744                           TCF      +2                                    
043890,002994: 01,2743           16125                           TCF      DANZIG                                
043891,002995: 01,2744           54111                           TS       OVFIND                                
043892,002996: 01,2745           10020                           CCS      CYR                                   
043893,002997: 01,2746           12732                           TCF      RTB                                   #  IF BASIC.
043894,002998: 01,2747           00360        B5TOBB             OCT      360                                   
043895,002999: 01,2750           16724                           TCF      GOTO                                  
043896,003000: 

Page 1042

043898,003002: 01,2751           10020        BZE/GOTO           CCS      CYR                                   #  SEE WHICH OP-CODE IS DESIRED.
043899,003003: 01,2752           07001                           TC       BRANCH                                #  DO BZE.
043900,003004: 01,2753           16125                           TCF      DANZIG                                
043901,003005: 01,2754           16724                           TCF      GOTO                                  #  DO GOTO.
043902,003006: 01,2755           16125                           TCF      DANZIG                                
043903,003007: 
043904,003008: 01,2756           10020        BPL/BMN            CCS      CYR                                   
043905,003009: 01,2757           12765                           TCF      BPL                                   
043906,003010: 01,2760           12000        5B10               DEC      5          B+10                       #  SHIFTS OP CODE IN SWITCH INSTRUCTION ADR
043907,003011: 
043908,003012: 01,2761           07001                           TC       BRANCH                                #  DO BMN.
043909,003013: 01,2762           16125                           TCF      DANZIG                                
043910,003014: 01,2763           16125                           TCF      DANZIG                                
043911,003015: 01,2764           16724                           TCF      GOTO                                  #  ONLY IF NNZ.
043912,003016: 
043913,003017: 01,2765           07001        BPL                TC       BRANCH                                
043914,003018: 01,2766           16724                           TCF      GOTO                                  #  IF POSITIVE OR ZERO.
043915,003019: 01,2767           16724                           TCF      GOTO                                  
043916,003020: 01,2770           16125                           TCF      DANZIG                                
043917,003021: 
043918,003022: 01,2771           10020        CALL/ITA           CCS      CYR                                   
043919,003023: 01,2772           16716                           TCF      CALL                                  
043920,003024: 
043921,003025: 01,2773           04736                           TC       CCSHOLE                               
043922,003026: 01,2774           02711                           TC       15ADRERS                              #  STORE QPRET. (TAGSUB AFTER 15ADRERS IS
043923,003027: 01,2775           50110                           INDEX    FIXLOC                                #  SLOW IN THIS CASE, BUT SAVES STORAGE.)
043924,003028: 01,2776           30052                           CA       QPRET                                 
043925,003029: 01,2777           12651                           TCF      MSTORE1                               
043926,003030: 

Page 1043

043928,003032:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR ALTERING AND TESTING INTERPRETIVE SWITCHES:
043929,003033: 
043930,003034:                                                                                                  #  00       BONSET                 SET A SWITCH AND DO A GOTO IF IT WAS ON.
043931,003035:                                                                                                  #  01       SETGO                  SET A SWITCH AND DO A GOTO.
043932,003036:                                                                                                  #  02       BOFSET                 SET A SWITCH AND DO A GOTO IF IT WAS OFF
043933,003037:                                                                                                  #  03       SET                    SET A SWITCH.
043934,003038: 
043935,003039:                                                                                                  #  04       BONINV                 INVERT A SWITCH AND BRANCH IF IT WAS ON.
043936,003040:                                                                                                  #  05       INVGO                  INVERT A SWITCH AND DO A GOTO.
043937,003041:                                                                                                  #  06       BOFINV                 INVERT A SWITCH AND BRANCH IF IT WAS OFF
043938,003042:                                                                                                  #  07       INVERT                 INVERT A SWITCH.
043939,003043: 
043940,003044:                                                                                                  #  10       BONCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS ON.
043941,003045:                                                                                                  #  11       CLRGO                  CLEAR A SWITCH AND DO A GOTO.
043942,003046:                                                                                                  #  12       BOFCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS OFF.
043943,003047:                                                                                                  #  13       CLEAR                  CLEAR A SWITCH.
043944,003048: 
043945,003049:                                                                                                  #  14       BON                    BRANCH IF A SWITCH WAS ON.
043946,003050:                                                                                                  #  16       BOFF                   BRANCH IF A SWITCH WAS OFF.
043947,003051: 
043948,003052:                                                                                                  #           THE ADDRESS SUPPLIED WITH THE SWITCH INSTRUCTION IS INTERPRETED AS FOLLOWS:
043949,003053: 
043950,003054:                                                                                                  #           BITS 1-4    SWITCH BIT NUMBER (1-15).
043951,003055:                                                                                                  #           BITS 5-8    SWITCH OPERATION NUMBER.
043952,003056:                                                                                                  #           BITS 9-     SWITCH WORD NUMBER (UP TO 64 SWITCH WORDS).
043953,003057: 
043954,003058:                                                                                                  #           THE ADDRESS ITSELF IS MADE UP BY THE YUL SYSTEM ASSEMBLER. THE BRANCH INSTRUCTIONS REQUIRE TWO
043955,003059:                                                                                                  #  ADDRESSES, THE SECOND TAKEN AS THE DIRECT (OR INDIRECT IF IN ERASABLE) ADDRESS OF THE BRANCH.
043956,003060: 
043957,003061: 
043958,003062: 01,3000           35343        SWITCHES           CAF      LOW4                                  #  LEAVE THE SWITCH BIT IN SWBIT  .
043959,003063: 01,3001           70107                           MASK     POLISH                                
043960,003064: 01,3002           50000                           INDEX    A                                     
043961,003065: 01,3003           37745                           CAF      BIT15                                 #  (NUMBER FROM LEFT TO RIGHT.)
043962,003066: 01,3004           54121                           TS       SWBIT                                 
043963,003067: 
043964,003068: 01,3005           37755                           CAF      BIT7                                  #  LEAVE THE SWITCH NUMBER IN SWWORD.
043965,003069: 01,3006           00006                           EXTEND                                         
043966,003070: 01,3007           70107                           MP       POLISH                                
043967,003071: 01,3010           54120                           TS       SWWORD                                
043968,003072: 
043969,003073: 01,3011           00004                           INHINT                                         #  DURING SWITCH CHANGE SO RUPT CAN USE TOO
043970,003074: 01,3012           50000                           INDEX    A                                     #  LEAVE THE SWITCH WORD ITSELF IN L.
043971,003075: 01,3013           30074                           CA       STATE                                 
043972,003076: 01,3014           54002                           TS       Q                                     #  Q WILL BE USED AS A CHANNEL.

Page 1044

043974,003078: 01,3015           37751                           CAF      BIT11                                 
043975,003079: 01,3016           00006                           EXTEND                                         #  DISPATCH SWITCH BIT OPERATION AS IN BITS
043976,003080: 01,3017           70107                           MP       POLISH                                #  7-8 OF POLISH.
043977,003081: 01,3020           73060                           MASK     B3TOB4                                #  GETS 4X2-BIT CODE.
043978,003082: 01,3021           50000                           INDEX    A                                     
043979,003083: 01,3022           13023                           TCF      +1                                    
043980,003084: 
043981,003085: 01,3023           30121                 +1        CA       SWBIT                                 #  00 - SET SWITCH IN QUESTION.
043982,003086: 01,3024           00006                           EXTEND                                         
043983,003087: 01,3025           04002                           ROR      Q                                     
043984,003088: 01,3026           13035                           TCF      SWSTORE                               
043985,003089: 
043986,003090: 01,3027           30121                 +5        CA       SWBIT                                 #  01 - INVERT SWITCH.
043987,003091: 01,3030           00006                           EXTEND                                         
043988,003092: 01,3031           06002                           RXOR     Q                                     
043989,003093: 01,3032           13035                           TCF      SWSTORE                               
043990,003094: 
043991,003095: 01,3033           40121                 +9D       CS       SWBIT                                 #  10 - CLEAR.
043992,003096: 01,3034           70002                           MASK     Q                                     
043993,003097: 01,3035           50120        SWSTORE            INDEX    SWWORD                                
043994,003098: 01,3036           54074                           TS       STATE                                 #  NEW SWITCH WORD.
043995,003099: 

Page 1045

043997,003101: 01,3037           00003                 +13D      RELINT                                         #  11 - NOOP.
043998,003102: 01,3040           37747                           CAF      BIT13                                 
043999,003103: 01,3041           00006                           EXTEND                                         #  DISPATCH SEQUCE CHANGING OR BRANCHING
044000,003104: 01,3042           70107                           MP       POLISH                                #  CODE.
044001,003105: 01,3043           73060                           MASK     B3TOB4                                
044002,003106: 01,3044           50000                           INDEX    A                                     
044003,003107: 01,3045           13046                           TCF      +1                                    #  ORIGINALLY STORED IN BITS 5-6.
044004,003108: 
044005,003109: 01,3046           40002                 +1        CS       Q                                     #  00 - BRANCH IF ON.
044006,003110: 01,3047           70121        TEST               MASK     SWBIT                                 
044007,003111: 01,3050           10000                           CCS      A                                     
044008,003112: 01,3051           13061                           TCF      SWSKIP                                
044009,003113: 
044010,003114: 01,3052           16773                 +5        TCF      SWBRANCH                              #  01 - GO TO.
044011,003115: 
044012,003116: 01,3053           13061                           TCF      SWSKIP                                #  HERE ONLY ON BIT 15.
044013,003117: 
044014,003118: 01,3054           04736                           TC       CCSHOLE                               
044015,003119: 01,3055           04736                           TC       CCSHOLE                               
044016,003120: 
044017,003121: 01,3056           30002                 +9D       CA       Q                                     #  10 - BRANCH IF OFF.
044018,003122: 01,3057           13047                           TCF      TEST                                  
044019,003123: 
044020,003124: 01,3060           00014        B3TOB4             OCT      14                                    
044021,003125: 
044022,003126: 01,3061           24154        SWSKIP             INCR     LOC                                   
044023,003127: 
044024,003128: 01,3062  01,3000               SW/                EQUALS   SWITCHES                              
044025,003129: 
044026,003130: 01,3062           16125                 +13D      TCF      DANZIG                                #  11 - NOOP.

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