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.

040861,000002:                                                                                                  ## Copyright:   Public domain.
040862,000003:                                                                                                  ## Filename:    INTERPRETER.agc
040863,000004:                                                                                                  ## Purpose:     A module for revision 0 of BURST120 (Sunburst). It 
040864,000005:                                                                                                  ##              is part of the source code for the Lunar Module's
040865,000006:                                                                                                  ##              (LM) Apollo Guidance Computer (AGC) for Apollo 5.
040866,000007:                                                                                                  ## Assembler:   yaYUL
040867,000008:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
040868,000009:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
040869,000010:                                                                                                  ## Mod history: 2016-09-30 RSB  Created draft version.
040870,000011:                                                                                                  ##              2016-10-14 MAS  Began.
040871,000012:                                                                                                  ##              2016-10-14 MAS  Completed transcription.
040872,000013:                                                                                                  ##              2016-10-31 RSB  Typos.
040873,000014:                                                                                                  ##              2016-11-01 RSB  More typos.
040874,000015:                                                                                                  ##              2016-12-06 RSB  Comments proofed using octopus/ProoferComments,
040875,000016:                                                                                                  ##                              changes made.
040876,000017:                                                                                                  ##              2017-03-15 RSB  Comment-text fixes identified in 5-way
040877,000018:                                                                                                  ##                              side-by-side diff of Luminary 69/99/116/131/210.
040878,000019: 

Page 953

040880,000021:                                                                                                  #  SECTION 1  DISPATCHER
040881,000022: 
040882,000023:                                                                                                  #           ENTRY TO THE INTERPRETER. INTPRET SETS LOC TO THE FIRST  INSTRUCTION, BANKSET TO THE BBANK OF THE
040883,000024:                                                                                                  #  OBJECT INTERPRETIVE PROGRAM, AND INTBIT15 TO THE BIT15 CONTENTS OF FBANK. INTERPRETIVE PROGRAMS MAY BE IN
040884,000025:                                                                                                  #  VIRTUALLY ALL BANKS PRESENT UNDER ANY SUPER-BANK SETTING, WITH THE RESTRICTION THAT PROGRAMS IN HIGH BANKS
040885,000026:                                                                                                  #  (BIT15 OF FBANK = 1) DO NOT REFER TO LOWBANKS, AND VICE-VERSA. THE INTERPRETER DOES NOT SWITCH SUPERBANKS.
040886,000027:                                                                                                  #  E-BANK SWITCHING OCCURS WHENEVER GENERAL ERASABLE (100 - 3777) IS ADDRESSED.
040887,000028: 
040888,000029: 
040889,000030:    6112                                           BLOCK    03                                    
040890,000031: 
040891,000032:    6112           00006        INTPRET            EXTEND                                         #  SET LOC TO THE WORD FOLLOWING THE TC.
040892,000033:    6113           22154                           QXCH     LOC                                   
040893,000034: 
040894,000035:    6114           30006                 +2        CA       BBANK                                 #  INTERPRETIVE BRANCHES FINISH HERE.
040895,000036:    6115           54155                           TS       BANKSET                               
040896,000037:    6116           77745                           MASK     BIT15                                 #  GET 15TH BIT FOR INDEXABLE ADDRESSES.
040897,000038:    6117           54105                           TS       INTBIT15                              
040898,000039: 
040899,000040:    6120           54023                           TS       EDOP                                  #  MAKE SURE NO INSTRUCTIONS LEFT OVER
040900,000041: 
040901,000042:    6121           16134                           TCF      NEWOPS                                #  PICK UP OP CODE PAIR AND BEGIN.
040902,000043: 
040903,000044: 
040904,000045:    6122           22006        INTRSM             LXCH     BBANK                                 #  RESUME SUSPENDED INTERPRETIVE JOB
040905,000046:    6123           16114                           TCF      INTPRET    +2                         
040906,000047: 

Page 954

040908,000049:                                                                                                  #           AT THE END OF MOST INSTRUCTIONS, CONTROL IS GIVEN TO DANZIG TO DISPATCH THE NEXT OPERATION.
040909,000050: 
040910,000051:    6124           54153        NEWMODE            TS       MODE                                  #  PROLOGUE FOR MODE-CHANGING INSTRUCTIONS.
040911,000052: 
040912,000053:    6125           30155        DANZIG             CA       BANKSET                               #  SET BBANK BEFORE TESTING NEWJOB SO THAT
040913,000054:    6126           54006                           TS       BBANK                                 #  IT MAY BE SAVED DIRECTLY BY CHANJOB.
040914,000055: 
040915,000056:    6127           10023        NOIBNKSW           CCS      EDOP                                  #  SEE IF AN ORDER CODE IS LEFT OVER FROM
040916,000057:    6130           16143                           TCF      OPJUMP                                #  THE LAST PAIR RETRIEVED. IF SO, EXECUTE.
040917,000058:                                                                                                  #  EDOP IS SET TO ZERO ON ITS RE-EDITING.
040918,000059: 
040919,000060:    6131           10067                           CCS      NEWJOB                                #  SEE IF A JOB OF HIGHER PRIORITY IS
040920,000061:    6132           15540                           TCF      CHANG2                                #  PRESENT, AND IF SO, CHANGE JOBS.
040921,000062: 
040922,000063:    6133           24154                           INCR     LOC                                   #  ADVANCE THE LOCATION COUNTER.
040923,000064:                                                                                                  #           ITRACE (1) REFERS TO "NEWOPS".
040924,000065:    6134           50154        NEWOPS             INDEX    LOC                                   #  ENTRY TO BEGIN BY PICKING OP CODE PAIR.
040925,000066:    6135           30000                           CA       0                                     #  MAY BE AN OPCODE PAIR OR A STORE CODE.
040926,000067:    6136           10000                           CCS      A                                     #  TEST SIGN AND GET DABS(A).
040927,000068:    6137           16431                           TCF      DOSTORE                               #  PROCESS STORE CODE.
040928,000069: 
040929,000070:    6140           04736                           TC       CCSHOLE                               #  TO CATCH SOME TASK USERS OF INTERPRETER.
040930,000071: 
040931,000072:    6141           54023                           TS       EDOP                                  #  OP CODE PAIR. LEAVE THE OTHER IN EDOP
040932,000073:    6142           75342                           MASK     LOW7                                  #  WHERE  CCS EDOP  WILL HONOR IT NEXT.
040933,000074: 
040934,000075:    6143           54020        OPJUMP             TS       CYR                                   #  LOWWD ENTERS HERE IF A RIGHT-HAND OP
040935,000076:    6144           10020                           CCS      CYR                                   #  CODE IS TO BE PROCESSED. TEST PREFICES.
040936,000077:    6145           16313                           TCF      OPJUMP2                               #  TEST SECOND PREFIX BIT.
040937,000078: 
040938,000079:    6146           17021                           TCF      EXIT                                  #  +0 OP CODE IS EXIT.
040939,000080: 

Page 955

040941,000082:                                                                                                  #           PROCESS ADDRESSES WHICH MAY BE DIRECT, INDEXED, OR REFERENCE THE PUSHDOWN LIST.
040942,000083: 
040943,000084:    6147           77763        ADDRESS            MASK     BIT1                                  #  SEE IF ADDRESS IS INDEXED. CYR CONTAINED
040944,000085:    6150           10000                           CCS      A                                     #  400XX, SO BIT 1 IS NOW AS IT WAS IN CYR.
040945,000086:    6151           16212                           TCF      INDEX                                 #  FORM INDEXED ADDRESS.
040946,000087: 
040947,000088:    6152           50154        DIRADRES           INDEX    LOC                                   #  LOOK AHEAD TO NEXT WORD TO SEE IF
040948,000089:    6153           40001        OCT40001           CS       1                                     #  ADDRESS IS GIVEN.
040949,000090:    6154           10000                           CCS      A                                     
040950,000091:    6155           16261                           TCF      PUSHUP                                #  IF NOT.
040951,000092: 
040952,000093:    6156           77773        NEG4               DEC      -4         B-14                       
040953,000094: 
040954,000095:    6157           24154                           INCR     LOC                                   #  IF SO, TO SHOW WE PICKED UP A WORD.
040955,000096:    6160           54106                           TS       ADDRWD                                
040956,000097: 

Page 956

040958,000099:                                                                                                  #           FINAL DIGESTION OF DIRECT ADDRESSES OF OP CODES WITH 01 PREFIX IS DONE HERE. IN EACH CASE, THE
040959,000100:                                                                                                  #  REQUIRED 12-BIT SUB-ADDRESS IS LEFT IN ADDRWD, WITH ANY REQUIRED E OR F BANK SWITCHING DONE. ADDRESSES LESS
040960,000101:                                                                                                  #  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.
040961,000102: 
040962,000103: 
040963,000104:    6161           66315                           AD       -ENDVAC                               #  SEE IF ADDRESS RELATIVE TO WORK AREA.
040964,000105:    6162           10000                           CCS      A                                     
040965,000106:    6163           66342                           AD       -ENDERAS                              #  IF NOT, SEE IF IN GENERAL ERASABLE.
040966,000107:    6164           16171                           TCF      IERASTST                              
040967,000108: 
040968,000109:    6165           30110        NETZERO            CA       FIXLOC                                #  IF SO, LEAVE THE MODIFIED ADDRESS IN
040969,000110:    6166           26106                           ADS      ADDRWD                                #  ADDRWD AND DISPATCH.
040970,000111:    6167           50020        ITR15              INDEX    CYR                                   #  THIS INDEX MAKES THE NEXT INSTRUCTION
040971,000112:    6170           76342                           7        INDJUMP    -1                         #  TCF INDJUMP + OP, EDITING CYR.
040972,000113: 
040973,000114:    6171           00006        IERASTST           EXTEND                                         
040974,000115:    6172           66202                           BZMF     GEADDR                                #  GO PROCESS GENERAL-ERASABLE ADDRESS.
040975,000116: 
040976,000117:    6173           75337                           MASK     LOW10                                 #  FIXED BANK ADDRESS. RESTORE AND ADD B15.
040977,000118:    6174           65337                           AD       LOW10                                 #  SWITCH BANKS AND LEAVE SUBADDRESS IN
040978,000119:    6175           56106                           XCH      ADDRWD                                #  ADDRWD FOR OPERAND RETRIEVAL. (THIS
040979,000120:    6176           60105                           AD       INTBIT15                              #  METHOD PRECLUDES USE OF THE LAST
040980,000121:    6177           54004                           TS       FBANK                                 #  LOCATION IN EACH FBANK.)
040981,000122:    6200           50020        ITR12              INDEX    CYR                                   
040982,000123:    6201           76342                           7        INDJUMP    -1                         
040983,000124: 
040984,000125:    6202           74564        GEADDR             MASK     LOW8                                  
040985,000126:    6203           65352                           AD       OCT1400                               
040986,000127:    6204           56106                           XCH      ADDRWD                                
040987,000128:    6205           54003                           TS       EBANK                                 
040988,000129:    6206           50020        ITR10              INDEX    CYR                                   
040989,000130:    6207           76342                           7        INDJUMP    -1                         
040990,000131: 

Page 957

040992,000133:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES INTERPRETIVE INDEXED ADDRESSES. AN INTERPRETER INDEX REGISTER MAY
040993,000134:                                                                                                  #  CONTAIN THE ADDRESS OF ANY ERASABLE REGISTER (0-42 BEING RELATIVE TO THE VAC AREA) OR ANY INTERPRETIVE PROGRAM
040994,000135:                                                                                                  #  BANK, OR ANY INTEGER IN THAT RANGE.
040995,000136: 
040996,000137:    6210           35346        DODLOAD*           CAF      DLOAD*                                #  STODL* COMES HERE TO PROCESS LOAD ADR.
040997,000138:    6211           54020                           TS       CYR                                   #  (STOVL* ENTERS HERE).
040998,000139: 
040999,000140:    6212           30110        INDEX              CA       FIXLOC                                #  SET UP INDEX LOCATION.
041000,000141:    6213           54120                           TS       INDEXLOC                              
041001,000142:    6214           24154                           INCR     LOC                                   #  (ADDRESS ALWAYS GIVEN).
041002,000143:    6215           50154                           INDEX    LOC                                   
041003,000144:    6216           40000                           CS       0                                     
041004,000145:    6217           10000                           CCS      A                                     #  INDEX 2 IF ADDRESS STORED COMPLEMENTED.
041005,000146:    6220           24120                           INCR     INDEXLOC                              
041006,000147:    6221           16222                           NOOP                                           
041007,000148: 
041008,000149:    6222           54106                           TS       ADDRWD                                #  14 BIT ADDRESS TO ADDRWD.
041009,000150:    6223           75351                           MASK     HIGH4                                 #  IF ADDRESS GREATER THAN 2K, ADD INTBIT15
041010,000151:    6224           00006                           EXTEND                                         
041011,000152:    6225           16230                           BZF      INDEX2                                
041012,000153:    6226           30105                           CA       INTBIT15                              
041013,000154:    6227           26106                           ADS      ADDRWD                                
041014,000155: 
041015,000156:    6230           50120        INDEX2             INDEX    INDEXLOC                              
041016,000157:    6231           40046                           CS       X1                                    
041017,000158:    6232           26106                           ADS      ADDRWD                                #  DO AUGMENT, IGNORING AND CORRECTING OVF.
041018,000159: 
041019,000160:    6233           76340                           MASK     HIGH9                                 #  SEE IF ADDRESS IS IN WORK AREA.
041020,000161:    6234           00006                           EXTEND                                         
041021,000162:    6235           16250                           BZF      INDWORK                               
041022,000163:    6236           75351                           MASK     HIGH4                                 #  SEE IF IN FIXED BANK.
041023,000164:    6237           00006                           EXTEND                                         
041024,000165:    6240           16252                           BZF      INDERASE                              
041025,000166: 
041026,000167:    6241           30106                           CA       ADDRWD                                #  IN FIXED - SWITCH BANKS AND CREATE
041027,000168:    6242           54004                           TS       FBANK                                 #  SUB-ADDRESS.
041028,000169:    6243           75337                           MASK     LOW10                                 
041029,000170:    6244           67751                           AD       2K                                    
041030,000171:    6245           54106                           TS       ADDRWD                                
041031,000172:    6246           50020        ITR11              INDEX    CYR                                   
041032,000173:    6247           36342                           3        INDJUMP    -1                         
041033,000174: 
041034,000175:    6250           30110        INDWORK            CA       FIXLOC                                #  MAKE ADDRWD RELATIVE TO WORK AREA.
041035,000176:    6251           16256                           TCF      ITR13      -1                         
041036,000177: 
041037,000178:    6252           35352        INDERASE           CA       OCT1400                               
041038,000179:    6253           56106                           XCH      ADDRWD                                
041039,000180:    6254           54003                           TS       EBANK                                 
041040,000181:    6255           74564                           MASK     LOW8                                  
041041,000182:    6256           26106                 -1        ADS      ADDRWD                                

Page 958

041043,000184:    6257           50020        ITR13              INDEX    CYR                                   
041044,000185:    6260           36342                           3        INDJUMP    -1                         
041045,000186: 

Page 959

041047,000188:                                                                                                  #           PUSH-UP ROUTINES. WHEN NO OPERAND ADDRESS IS GIVEN, THE APPROPRIATE OPERAND IS TAKEN FROM THE PUSH-DOWN
041048,000189:                                                                                                  #  LIST. IN MOST CASES THE MODE OF THE RESULT (VECTOR OR SCALAR) OF THE LAST ARITHMETIC OPERATION PERFORMED
041049,000190:                                                                                                  #  IS THE SAME AS THE TYPE OF OPERAND DESIRED (ALL ADD/SUBTRACT ETC.). EXCEPTIONS TO THIS GENERAL RULE ARE LISTED
041050,000191:                                                                                                  #  BELOW (NOTE THAT IN EVERY CASE THE MODE REGISTER IS LEFT INTACT):
041051,000192: 
041052,000193:                                                                                                  #           1.  VXSC AND V/SC WANT THE OPPOSITE TYPE OF OPERAND, E.G., IF THE LAST OPERATION YIELDED A VECTOR
041053,000194:                                                                                                  #  RESULT, VXSC WANTS A SCALAR.
041054,000195: 
041055,000196:                                                                                                  #           2.  THE LOAD CODES SHOULD LOAD THE ACCUMULATOR INDEPENDENT OF THE RESULT OF THE LAST OPERATION. THIS
041056,000197:                                                                                                  #  INCLUDES VLOAD, DLOAD, TLOAD, PDDL, AND PDVL (NO PUSHUP WITH SLOAD).
041057,000198: 
041058,000199:                                                                                                  #           3.  SOME ARITHMETIC OPERATIONS REQUIRE A STANDARD TYPE OF OPERAND REGARDLESS OF THE PREVIOUS OPERATION.
041059,000200:                                                                                                  #  THIS INCLUDES SIGN WANTING DP AND TAD REQUIRING TP.
041060,000201: 
041061,000202:    6261           34565        PUSHUP             CAF      OCT23                                 #  IF THE LOW 5 BITS OF CYR ARE LESS THAN
041062,000203:    6262           70020                           MASK     CYR                                   #  20, THIS OP REQUIRES SPECIAL ATTENTION.
041063,000204:    6263           66266                           AD       -OCT10                                #  (NO -0).
041064,000205:    6264           10000                           CCS      A                                     
041065,000206:    6265           16277                           TCF      REGUP                                 #  FOR ALL CODES GREATER THAN OCT 7.
041066,000207: 
041067,000208:    6266           77767        -OCT10             OCT      -10                                   
041068,000209: 
041069,000210:    6267           66156                           AD       NEG4                                  #  WE NOW HAVE 7 - OP CODE(MOD4). SEE IF
041070,000211:    6270           10000                           CCS      A                                     #  THE OP CODE (MOD4) IS THREE (REVERSE).
041071,000212:    6271           50000                           INDEX    A                                     #  NO - THE MODE IS DEFINITE. PICK UP THE
041072,000213:    6272           46310                           CS       NO.WDS                                
041073,000214:    6273           16301                           TCF      REGUP      +2                         
041074,000215: 
041075,000216:    6274           50153                           INDEX    MODE                                  #  FOR VXSC AND V/SC WE WANT THE REQUIRED
041076,000217:    6275           46306                           CS       REVCNT                                #  PUSHLOC DECREMENT WITHOUT CHANGING THE
041077,000218:    6276           16301                           TCF      REGUP      +2                         #  MODE AT THIS TIME.
041078,000219: 
041079,000220:    6277           50153        REGUP              INDEX    MODE                                  #  MOST ALL OP CODES PUSHUP HERE.
041080,000221:    6300           46310                           CS       NO.WDS                                
041081,000222:    6301           26156                 +2        ADS      PUSHLOC                               
041082,000223:    6302           54106                           TS       ADDRWD                                
041083,000224:    6303           50020        ITR14              INDEX    CYR                                   
041084,000225:    6304           76342                           7        INDJUMP    -1                         #  (THE INDEX MAKES THIS A TCF.)
041085,000226: 
041086,000227:    6305           00002                           OCT      2                                     #  REVERSE PUSHUP DECREMENT. VECTOR TAKES 2
041087,000228:    6306           00006        REVCNT             OCT      6                                     #  WORDS, SCALAR TAKES 6.
041088,000229:    6307           00006                           OCT      6                                     
041089,000230:    6310           00002        NO.WDS             OCT      2                                     #  CONVENTIONAL DECREMENT IS 6 WORDS VECTOR
041090,000231:    6311           00003        OCTAL3             OCT      3                                     #  2 IN DP, AND 3 IN TP.
041091,000232:    6312           00006                           OCT      6                                     
041092,000233: 

Page 960

041094,000235:                                                                                                  #            TEST THE SECOND PREFIX BIT TO SEE IF THIS IS A MISCELLANEOUS OR A UNARY/SHORT SHIFT OPERATION.
041095,000236: 
041096,000237:    6313           10020        OPJUMP2            CCS      CYR                                   #  TEST SECOND PREFIX BIT.
041097,000238:    6314           16327                           TCF      OPJUMP3                               #  TEST THIRD BIT TO SEE IF UNARY OR SHIFT.
041098,000239: 
041099,000240:    6315           77722        -ENDVAC            DEC      -45        B-14                       
041100,000241: 
041101,000242:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES ADDRESSES OF SUFFIX CLASS 10. THEY ARE BASICALLY WORK AREA ADDRESSES
041102,000243:                                                                                                  #  IN THE RANGE 0 - 52, ERASABLE ECADR CONSTANTS FROM 100 - 3777, AND FCADRS ABOVE THAT. ALL 15 BITS ARE AVAILABLE
041103,000244:                                                                                                  #  IN CONTRAST TO SUFFIX 1, IN WHICH ONLY THE LOW ORDER 14 ARE AVAILABLE.
041104,000245: 
041105,000246:    6316           24154        15BITADR           INCR     LOC                                   #  (ENTRY HERE FROM STCALL).
041106,000247:    6317           50154                           INDEX    LOC                                   #  PICK UP ADDRESS WORD.
041107,000248:    6320           30000                           CA       0                                     
041108,000249:    6321           54107                           TS       POLISH                                #  WE MAY NEED A SUBADDRESS LATER.
041109,000250: 
041110,000251:    6322           36337                           CAF      LOW7+2K                               #  THESE INSTRUCTIONS ARE IN BANK 1.
041111,000252:    6323           54004                           TS       FBANK                                 
041112,000253:    6324           70020                           MASK     CYR                                   
041113,000254:    6325           50000        ITR7               INDEX    A                                     
041114,000255:    6326           16403                           TCF      MISCJUMP                              
041115,000256: 

Page 961

041117,000258:                                                                                                  #           COMPLETE THE DISPATCHING OF UNARY AND SHORT SHIFT OPERATIONS.
041118,000259: 
041119,000260:    6327           54004        OPJUMP3            TS       FBANK                                 #  CALL IN BANK 0 (BIT5 11-15 OF A ARE 0.)
041120,000261:                                                                                                  #           ITRACE (6) REFERS TO "OPJUMP3".
041121,000262:    6330           10020                           CCS      CYR                                   #  TEST THIRD PREFIX BIT.
041122,000263:    6331           50000                           INDEX    A                                     #  THE DECREMENTED UNARY CODE IS IN BITS
041123,000264:    6332           12000                           TCF      UNAJUMP                               #  1-4 OF A (ZERO, EXIT, HAS BEEN DETECTED)
041124,000265: 
041125,000266:    6333           10153                           CCS      MODE                                  #  ITS A SHORT SHIFT CODE. SEE IF PRESENT
041126,000267:    6334           12017                           TCF      SHORTT                                #  SCALAR OR VECTOR.
041127,000268:    6335           12017                           TCF      SHORTT                                
041128,000269:    6336           12121                           TCF      SHORTV                                #  CALLS THE APPROPRIATE ROUTINE.
041129,000270: 
041130,000271: 
041131,000272:    6337     4565               OCT23              =        VD1                                   
041132,000273:    6337           02177        LOW7+2K            OCT      2177                                  #  OP CODE MASK + BANK 1 FBANK SETTING.
041133,000274:    6340           77700        HIGH9              OCT      77700                                 
041134,000275:    6341           76000        BANKMASK           OCT      76000                                 #  FBANK MASK.
041135,000276:    6342     6341               FBANKMSK           EQUALS   BANKMASK                              
041136,000277:    6342     5655               B12T14             =        PRIO34                                #  USED IN PROCESSING STORE CODES.
041137,000278:    6342           74056        -ENDERAS           DEC      -2001      B-14                       #  = -(2047 - 45 - 1)
041138,000279: 

Page 962

041140,000281:                                                                                                  #           THE FOLLOWING IS THE JUMP TABLE FOR OP CODES WHICH MAY HAVE INDEXABLE ADDRESSES OR MAY PUSH UP.
041141,000282: 
041142,000283:    6343           16563        INDJUMP            TCF      VLOAD                                 #  00 - LOAD MPAC WITH A VECTOR.
041143,000284:    6344           17142                           TCF      TAD                                   #  01 - TRIPLE PRECISION ADD TO MPAC.
041144,000285:    6345           17707                           TCF      SIGN                                  #  02 - COMPLEMENT MPAC (V OR SC) IF X NEG.
041145,000286:    6346           17460                           TCF      VXSC                                  #  03 - VECTOR TIMES SCALAR.
041146,000287:    6347           16761                           TCF      CGOTO                                 #  04 - COMPUTED GO TO.
041147,000288:    6350           16546                           TCF      TLOAD                                 #  05 - LOAD MPAC WITH TRIPLE PRECISION.
041148,000289:    6351           16537                           TCF      DLOAD                                 #  06 - LOAD MPAC WITH A DP SCALAR.
041149,000290:    6352           17656                           TCF      V/SC                                  #  07 - VECTOR DIVIDED BY SCALAR.
041150,000291: 
041151,000292:    6353           16557                           TCF      SLOAD                                 #  10 - LOAD MPAC IN SINGLE PRECISION.
041152,000293:    6354           16676                           TCF      SSP                                   #  11 - SET SINGLE PRECISION INTO X.
041153,000294:    6355           16601                           TCF      PDDL                                  #  12 - PUSH DOWN MPAC AND RE-LOAD IN DP.
041154,000295:    6356           17413                           TCF      MXV                                   #  13 - MATRIX POST-MULTIPLIED BY VECTOR.
041155,000296:    6357           16635                           TCF      PDVL                                  #  14 - PUSH DOWN AND VECTOR LOAD.
041156,000297:    6360           16704                           TCF      CCALL                                 #  15 - COMPUTED CALL.
041157,000298:    6361           17416                           TCF      VXM                                   #  16 - MATRIX PRE-MULTIPLIED BY VECTOR.
041158,000299:    6362           17650                           TCF      TSLC                                  #  17 - NORMALIZE MPAC (SCALAR ONLY).
041159,000300: 
041160,000301:    6363           17626                           TCF      DMPR                                  #  20 - DP MULTIPLY AND ROUND.
041161,000302:    6364           17631                           TCF      DDV                                   #  21 - DP DIVIDE BY.
041162,000303:    6365           17635                           TCF      BDDV                                  #  22 - DP DIVIDE INTO.
041163,000304:    6366           17653                           TCF      GSHIFT                                #  23 - GENERAL SHIFT INSTRUCTION.
041164,000305:    6367           17025                           TCF      VAD                                   #  24 - VECTOR ADD.
041165,000306:    6370           17053                           TCF      VSU                                   #  25 - VECTOR SUBTRACT.
041166,000307:    6371           17103                           TCF      BVSU                                  #  26 - VECTOR SUBTRACT FROM.
041167,000308:    6372           17410                           TCF      DOT                                   #  27 - VECTOR DOT PRODUCT.
041168,000309: 
041169,000310:    6373           17540                           TCF      VXV                                   #  30 - VECTOR CROSS PRODUCT.
041170,000311:    6374           17504                           TCF      VPROJ                                 #  31 - VECTOR PROJECTION.
041171,000312:    6375           17071                           TCF      DSU                                   #  32 - DP SUBTRACT.
041172,000313:    6376           17127                           TCF      BDSU                                  #  33 - DP SUBTRACT FROM.
041173,000314:    6377           17043                           TCF      DAD                                   #  34 - DP ADD.
041174,000315:    6400           16400                           TCF      +0                                    #  35 - AVAILABLE
041175,000316:    6401           17624                           TCF      DMP1                                  #  36 - DP MULTIPLY.
041176,000317:    6402           17645                           TCF      SETPD                                 #  37 - SET PUSH DOWN POINTER (DIRECT ONLY)
041177,000318: 
041178,000319:                                                                                                  #  CODES 10 AND 14 MUST NOT PUSH UP. CODE 04 MAY BE USED FOR VECTOR DECLARE BEFORE PUSHUP IF DESIRED.
041179,000320: 

Page 963

041181,000322:                                                                                                  #           THE FOLLOWING JUMP TABLE APPLIES TO INDEX, BRANCH, AND MISCELLANEOUS INSTRUCTIONS.
041182,000323: 
041183,000324:    6403           12626        MISCJUMP           TCF      AXT                                   #  00 - ADDRESS TO INDEX TRUE.
041184,000325:    6404           12633                           TCF      AXC                                   #  01 - ADDRESS TO INDEX COMPLEMENTED.
041185,000326:    6405           12636                           TCF      LXA                                   #  02 - LOAD INDEX FROM ERASABLE.
041186,000327:    6406           12642                           TCF      LXC                                   #  03 - LOAD INDEX FROM COMPLEMENT OF ERAS.
041187,000328:    6407           12646                           TCF      SXA                                   #  04 - STORE INDEX IN ERASABLE.
041188,000329:    6410           12654                           TCF      XCHX                                  #  05 - EXCHANGE INDEX WITH ERASABLE.
041189,000330:    6411           12670                           TCF      INCR                                  #  06 - INCREMENT INDEX REGISTER.
041190,000331:    6412           12677                           TCF      TIX                                   #  07 - TRANSFER ON INDEX.
041191,000332: 
041192,000333:    6413           12662                           TCF      XAD                                   #  10 - INDEX REGISTER ADD FROM ERASABLE.
041193,000334:    6414           12673                           TCF      XSU                                   #  11 - INDEX SUBTRACT FROM ERASABLE.
041194,000335:    6415           12751                           TCF      BZE/GOTO                              #  12 - BRANCH ZERO AND GOTO.
041195,000336:    6416           12756                           TCF      BPL/BMN                               #  13 - BRANCH PLUS AND BRANCH MINUS.
041196,000337:    6417           12731                           TCF      RTB/BHIZ                              #  14 - RETURN TO BASIC AND BRANCH HI ZERO.
041197,000338:    6420           12771                           TCF      CALL/ITA                              #  15 - CALL AND STORE QPRET.
041198,000339:    6421           13000                           TCF      SW/                                   #  16 - SWITCH INSTRUCTIONS AND AVAILABLE.
041199,000340:    6422           12741                           TCF      BOV(B)                                #  17 - BRANCH ON OVERFLOW TO BASIC OR INT.
041200,000341: 

Page 964

041202,000343:                                                                                                  #           THE FOLLOWING JUMP TABLE APPIES TO UNARY INSTRUCTIONS.
041203,000344: 
041204,000345: 00,2000                                           BANK     0                                     #  00 - EXIT - DETECTED EARLIER.
041205,000346: 00,2000           13167        UNAJUMP            TCF      SQRT                                  #  01 - SQUARE ROOT.
041206,000347: 00,2001           13511                           TCF      SINE                                  #  02 - SIN.
041207,000348: 00,2002           13500                           TCF      COSINE                                #  03 - COS.
041208,000349: 00,2003           13571                           TCF      ARCSIN                                #  04 - ARC SIN.
041209,000350: 00,2004           13573                           TCF      ARCCOS                                #  05 - ARC COS.
041210,000351: 00,2005           13154                           TCF      DSQ                                   #  06 - DP SQUARE.
041211,000352: 00,2006           12116                           TCF      ROUND                                 #  07 - ROUND TO DP.
041212,000353: 
041213,000354: 00,2007           17722                           TCF      COMP                                  #  10 - COMPLEMENT VECTOR OR SCALAR.
041214,000355: 00,2010           13212                           TCF      VDEF                                  #  11 - VECTOR DEFINE.
041215,000356: 00,2011           13002                           TCF      UNIT                                  #  12 - UNIT VECTOR.
041216,000357: 00,2012           13156                           TCF      ABVALABS                              #  13 - LENGTH OF VECTOR OR MAG OF SCALAR.
041217,000358: 00,2013           13226                           TCF      VSQ                                   #  14 - SQUARE OF LENGTH OF VECTOR.
041218,000359: 00,2014           16423                           TCF      STADR                                 #  15 - PUSH UP ON STORE CODE.
041219,000360: 00,2015           13256                           TCF      RVQ                                   #  16 - RETURN VIA QPRET.
041220,000361: 00,2016           13231                           TCF      PUSH                                  #  17 - PUSH MPAC DOWN.
041221,000362: 

Page 965

041223,000364:                                                                                                  #  SECTION 2  LOAD AND STORE PACKAGE.
041224,000365: 
041225,000366:                                                                                                  #           A SET OF EIGHT STORE CODES IS PROVIDED AS THE PRIMARY METHOD OF STORING THE MULTI-PURPOSE
041226,000367:                                                                                                  #  ACCUMULATOR (MPAC). IF IN THE DANZIG SECTION LOC REFERS TO AN ALGEBRAICALLY POSITIVE WORD, IT IS TAKEN AS A 
041227,000368:                                                                                                  #  STORE CODE WITH A CORRESPONDING ERASABLE ADDRESS. MOST OF THESE CODES ARE TWO ADDRESS, SPECIFYING THAT THE WORD
041228,000369:                                                                                                  #  FOLLOWING THE STORE CODE IS TO BE USED AS AN ADDRESS FROM WHICH TO RE-LOAD MPAC. FOUR OPTIONS ARE AVAILABLE:
041229,000370: 
041230,000371:                                                                                                  #           1. STORE               STORE MPAC. THE E ADDRESS MAY BE INDEXED.
041231,000372:                                                                                                  #           2. STODL               STORE MPAC AND RE-LOAD IT IN DP WITH THE NEXT ADDRESS (THE LOAD MAY BE INDEXED).
041232,000373:                                                                                                  #           3. STOVL               STORE MPAC AND RE-LOAD A VECTOR (AS ABOVE).
041233,000374:                                                                                                  #           4. STCALL              STORE AND DO A CALL (BOTH ADDRESSES MUST BE DIRECT HERE).
041234,000375: 
041235,000376:                                                                                                  #           STODL AND STOVL WILL TAKE FROM THE PUSH-DOWN LIST IF NO LOAD ADDRESS IS GIVEN.
041236,000377: 
041237,000378:    6423                                           BLOCK    3                                     
041238,000379: 
041239,000380:    6423           30155        STADR              CA       BANKSET                               #  THE STADR CODE (PUSHUP UP ON STORE
041240,000381:    6424           54004                           TS       FBANK                                 #  ADDRESS) ENTERS HERE.
041241,000382:    6425           24154                           INCR     LOC                                   
041242,000383:    6426           50154        ITR1               INDEX    LOC                                   #  THE STORECODE WAS STORED COMPLEMENTED TO
041243,000384:    6427           40000                           CS       0                                     #  MAKE IT LOOK LIKE AN OPCODE PAIR.
041244,000385:    6430           67771                           AD       NEGONE                                #  (YUL CANT REMOVE 1 BECAUSE OF EARLY CCS)
041245,000386: 
041246,000387:    6431           54106        DOSTORE            TS       ADDRWD                                
041247,000388:    6432           74563                           MASK     LOW11                                 #  ENTRY FROM DISPATCHER. SAVE THE ERASABLE
041248,000389:    6433           56106                           XCH      ADDRWD                                #  ADDRESS AND JUMP ON THE STORE CODE NO.
041249,000390:    6434           75655                           MASK     B12T14                                
041250,000391:    6435           00006                           EXTEND                                         
041251,000392:    6436           77757                           MP       BIT5                                  #  EACH TRANSFER VECTOR ENTRY IS TWO WORDS.
041252,000393:    6437           50000        ITR0               INDEX    A                                     
041253,000394:    6440           16441                           TCF      STORJUMP                              
041254,000395: 

Page 966

041256,000397:                                                                                                  #           STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
041257,000398:                                                                                                  #  A SUPPLIED OPERATION CODE.
041258,000399: 
041259,000400:    6441           06471        STORJUMP           TC       STORE                                 #  STORE.
041260,000401:    6442           16133                           TCF      NEWOPS     -1                         #  PICK UP NEW OP CODE(S).
041261,000402:    6443           06463                           TC       STORE,1                               
041262,000403:    6444           16133                           TCF      NEWOPS     -1                         
041263,000404:    6445           06466                           TC       STORE,2                               
041264,000405:    6446           16133                           TCF      NEWOPS     -1                         
041265,000406: 
041266,000407:    6447           06471                           TC       STORE                                 #  STODL.
041267,000408:    6450           16527                           TCF      DODLOAD                               
041268,000409: 
041269,000410:    6451           06471                           TC       STORE                                 #  STODL WITH INDEXED LOAD ADDRESS.
041270,000411:    6452           16210                           TCF      DODLOAD*                              
041271,000412: 
041272,000413:    6453           06471                           TC       STORE                                 #  STOVL.
041273,000414:    6454           16532                           TCF      DOVLOAD                               
041274,000415: 
041275,000416:    6455           06471                           TC       STORE                                 #  STOVL WITH INDEXED LOAD ADDRESS.
041276,000417:    6456           16535                           TCF      DOVLOAD*                              
041277,000418:    6457           06471                           TC       STORE                                 #  STOTC.
041278,000419:    6460           35344                           CAF      CALLCODE                              
041279,000420:    6461           54020                           TS       CYR                                   
041280,000421:    6462           16316                           TCF      15BITADR                              #  GET A 15 BIT ADDRESS.
041281,000422: 

Page 967

041283,000424:                                                                                                  #           STORE CODE ADDRESS PROCESSOR.
041284,000425: 
041285,000426:    6463           50110        STORE,1            INDEX    FIXLOC                                
041286,000427:    6464           40046                           CS       X1                                    
041287,000428:    6465           16470                           TCF      PRESTORE                              
041288,000429: 
041289,000430:    6466           50110        STORE,2            INDEX    FIXLOC                                
041290,000431:    6467           40047                           CS       X2                                    
041291,000432:    6470           26106        PRESTORE           ADS      ADDRWD                                #  RESULTANT ADDRESS IS IN ERASABLE.
041292,000433: 
041293,000434:    6471           40106        STORE              CS       ADDRWD                                
041294,000435:    6472           65353                           AD       DEC45                                 
041295,000436:    6473           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
041296,000437:    6474           30110                           CA       FIXLOC                                #  YES.
041297,000438:    6475           16502                           TCF      AHEAD5                                
041298,000439:    6476           35352                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
041299,000440:    6477           56106                           XCH      ADDRWD                                
041300,000441:    6500           54003                           TS       EBANK                                 
041301,000442:    6501           74564                           MASK     LOW8                                  
041302,000443:    6502           26106        AHEAD5             ADS      ADDRWD                                
041303,000444: 

Page 968

041305,000446:                                                                                                  #           STORING ROUTINES. STORE DP, TP, OR VECTOR AS INDICATED BY MODE.
041306,000447: 
041307,000448:    6503           00006        STARTSTO           EXTEND                                         #  MPAC,+1 MUST BE STORED IN ANY EVENT.
041308,000449:                                                                                                  #           ITRACE (5) REFERS TO "STARTSTO".
041309,000450:    6504           30145                           DCA      MPAC                                  
041310,000451:    6505           50106                           INDEX    ADDRWD                                
041311,000452:    6506           52001                           DXCH     0                                     
041312,000453: 
041313,000454:    6507           10153                           CCS      MODE                                  
041314,000455:    6510           16523                           TCF      TSTORE                                
041315,000456:    6511           00002                           TC       Q                                     
041316,000457: 
041317,000458:    6512           00006        VSTORE             EXTEND                                         
041318,000459:    6513           30150                           DCA      MPAC       +3                         
041319,000460:    6514           50106                           INDEX    ADDRWD                                
041320,000461:    6515           52003                           DXCH     2                                     
041321,000462: 
041322,000463:    6516           00006                           EXTEND                                         
041323,000464:    6517           30152                           DCA      MPAC       +5                         
041324,000465:    6520           50106                           INDEX    ADDRWD                                
041325,000466:    6521           52005                           DXCH     4                                     
041326,000467:    6522           00002                           TC       Q                                     
041327,000468: 
041328,000469:    6523           30146        TSTORE             CA       MPAC       +2                         
041329,000470:    6524           50106                           INDEX    ADDRWD                                
041330,000471:    6525           54002                           TS       2                                     
041331,000472:    6526           00002                           TC       Q                                     
041332,000473: 

Page 969

041334,000475:                                                                                                  #           ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRESS ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
041335,000476:                                                                                                  #  ITSELF.
041336,000477: 
041337,000478:    6527           35345        DODLOAD            CAF      DLOADCOD                              
041338,000479:    6530           54020                           TS       CYR                                   
041339,000480:    6531           16152                           TCF      DIRADRES                              #  GO GET A DIRECT ADDRESS.
041340,000481: 
041341,000482:    6532           37745        DOVLOAD            CAF      VLOADCOD                              
041342,000483:    6533           54020                           TS       CYR                                   
041343,000484:    6534           16152                           TCF      DIRADRES                              
041344,000485: 
041345,000486:    6535           36153        DOVLOAD*           CAF      VLOAD*                                
041346,000487:    6536           16211                           TCF      DODLOAD*   +1                         #  PROLOGUE TO INDEX ROUTINE.
041347,000488: 

Page 970

041349,000490:                                                                                                  #           THE FOLLOWING LOAD INSTRUCTIONS ARE PROVIDED FOR LOADING THE MULTI-PURPOSE ACCUMULATOR MPAC.
041350,000491: 
041351,000492:    6537           00006        DLOAD              EXTEND                                         
041352,000493:    6540           50106                           INDEX    ADDRWD                                
041353,000494:    6541           30001                           DCA      0                                     #  PICK UP DP ARGUMENT AND LEAVE IT IN
041354,000495:    6542           52145        SLOAD2             DXCH     MPAC                                  #  MPAC,+1, SETTING MPAC +2 TO ZERO. THE
041355,000496:    6543           37767                           CAF      ZERO                                  #  CONTENTS OF THE OTHER FOUR REGISTERS OF
041356,000497:    6544           54146                           TS       MPAC       +2                         #  MPAC ARE IRRELEVANT.
041357,000498:    6545           16124                           TCF      NEWMODE                               #  DECLARE DOUBLE PRECISION MODE.
041358,000499: 
041359,000500:    6546           50106        TLOAD              INDEX    ADDRWD                                
041360,000501:    6547           30002                           CA       2                                     #  LOAD A TRIPLE PRECISION ARGUMENT INTO
041361,000502:    6550           54146                           TS       MPAC       +2                         #  THE FIRST THREE MPAC REGISTERS, WITH THE
041362,000503:    6551           00006                           EXTEND                                         #  CONTENTS OF THE OTHER FOUR IRRELEVANT.
041363,000504:    6552           50106                           INDEX    ADDRWD                                
041364,000505:    6553           30001                           DCA      0                                     
041365,000506:    6554           52145                           DXCH     MPAC                                  
041366,000507:    6555           37763                           CAF      ONE                                   
041367,000508:    6556           16124                           TCF      NEWMODE                               #  DECLARE TRIPLE PRECISION MODE.
041368,000509: 
041369,000510:    6557           22007        SLOAD              ZL                                             #  LOAD A SINGLE PRECISION NUMBER INTO
041370,000511:    6560           50106                           INDEX    ADDRWD                                #  MPAC, SETTING MPAC+1,2 TO ZERO. THE
041371,000512:    6561           30000                           CA       0                                     #  CONTENTS OF THE REMAINING MPAC REGISTERS
041372,000513:    6562           16542                           TCF      SLOAD2                                #  ARE IRRELEVANT.
041373,000514: 
041374,000515:    6563           00006        VLOAD              EXTEND                                         #  LOAD A DOUBLE PRECISION VECTOR INTO
041375,000516:    6564           50106                           INDEX    ADDRWD                                #  MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
041376,000517:    6565           30001                           DCA      0                                     #  CONTENTS OF MPAC +2 ARE IRRELEVANT.
041377,000518:    6566           52145                           DXCH     MPAC                                  
041378,000519: 
041379,000520:    6567           00006        ENDVLOAD           EXTEND                                         #  PDVL COMES HERE TO FINISH UP FOR DP, TP.
041380,000521:    6570           50106                           INDEX    ADDRWD                                
041381,000522:    6571           30003                           DCA      2                                     
041382,000523:    6572           52150                           DXCH     MPAC       +3                         
041383,000524: 
041384,000525:    6573           00006                 +4        EXTEND                                         #  TPDVL FINISHES HERE.
041385,000526:    6574           50106                           INDEX    ADDRWD                                
041386,000527:    6575           30005                           DCA      4                                     
041387,000528:    6576           52152                           DXCH     MPAC       +5                         
041388,000529: 
041389,000530:    6577           47763                           CS       ONE                                   #  DECLARE VECTOR MODE.
041390,000531:    6600           16124                           TCF      NEWMODE                               
041391,000532: 

Page 971

041393,000534:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE PROVIDED FOR STORING OPERANDS IN THE PUSHDOWN LIST:
041394,000535: 
041395,000536:                                                                                                  #           1.  PUSH               PUSHDOWN AND NO LOAD.
041396,000537:                                                                                                  #           2.  PDDL               PUSHDOWN AND DOUBLE PRECISION LOAD.
041397,000538:                                                                                                  #           3.  PDVL               PUSHDOWN AND VECTOR LOAD.
041398,000539: 
041399,000540:    6601           00006        PDDL               EXTEND                                         
041400,000541:    6602           50106                           INDEX    ADDRWD                                #  LOAD MPAC,+1, PUSHING THE FORMER
041401,000542:    6603           30001                           DCA      0                                     #  CONTENTS DOWN.
041402,000543:    6604           52145                           DXCH     MPAC                                  
041403,000544:    6605           50156                           INDEX    PUSHLOC                               
041404,000545:    6606           52001                           DXCH     0                                     
041405,000546: 
041406,000547:    6607           50153                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER APPRO-
041407,000548:    6610           36310                           CAF      NO.WDS                                #  PRIATELY.
041408,000549:    6611           26156                           ADS      PUSHLOC                               
041409,000550: 
041410,000551:    6612           10153                           CCS      MODE                                  
041411,000552:    6613           16630                           TCF      ENDTPUSH                              
041412,000553:    6614           16626                           TCF      ENDDPUSH                              
041413,000554: 
041414,000555:    6615           54153                           TS       MODE                                  #  NOW DP.
041415,000556:    6616           54146        ENDVPUSH           TS       MPAC       +2                         
041416,000557:    6617           52150                           DXCH     MPAC       +3                         #  PUSH DOWN THE REST OF THE VECTOR HERE.
041417,000558:    6620           50156                           INDEX    PUSHLOC                               
041418,000559:    6621           51775                           DXCH     0          -4                         
041419,000560: 
041420,000561:    6622           52152                           DXCH     MPAC       +5                         
041421,000562:    6623           50156                           INDEX    PUSHLOC                               
041422,000563:    6624           51777                           DXCH     0          -2                         
041423,000564: 
041424,000565:    6625           16125                           TCF      DANZIG                                
041425,000566: 
041426,000567:    6626           54146        ENDDPUSH           TS       MPAC       +2                         #  SET MPAC +2 TO ZERO AND EXIT ON DP.
041427,000568:    6627           16125                           TCF      DANZIG                                
041428,000569: 
041429,000570:    6630           54153        ENDTPUSH           TS       MODE                                  
041430,000571:    6631           56146                           XCH      MPAC       +2                         #  ON TRIPLE, SET MPAC +2 TO ZERO, PUSHING
041431,000572:    6632           50156                 +2        INDEX    PUSHLOC                               #  DOWN THE OLD CONTENTS
041432,000573:    6633           53777                           TS       0          -1                         
041433,000574:    6634           16125                           TCF      DANZIG                                
041434,000575: 

Page 972

041436,000577:                                                                                                  #           PDVL - PUSHDOWN AND VECTOR LOAD.
041437,000578: 
041438,000579:    6635           00006        PDVL               EXTEND                                         #  RELOAD MPAC AND PUSH DOWN ITS CONTENTS.
041439,000580:    6636           50106                           INDEX    ADDRWD                                
041440,000581:    6637           30001                           DCA      0                                     
041441,000582:    6640           52145                           DXCH     MPAC                                  
041442,000583:    6641           50156                           INDEX    PUSHLOC                               
041443,000584:    6642           52001                           DXCH     0                                     
041444,000585: 
041445,000586:    6643           50153                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER.
041446,000587:    6644           36310                           CAF      NO.WDS                                
041447,000588:    6645           26156                           ADS      PUSHLOC                               
041448,000589: 
041449,000590:    6646           10153                           CCS      MODE                                  #  TEST PAST MODE.
041450,000591:    6647           16666                           TCF      TPDVL                                 
041451,000592:    6650           16567                           TCF      ENDVLOAD                              #  JUST LOAD LAST FOUR REGISTERS ON DP.
041452,000593: 
041453,000594:    6651           00006        VPDVL              EXTEND                                         #  PUSHDOWN AND RE-LOAD LAST TWO COMPONENTS
041454,000595:    6652           50106                           INDEX    ADDRWD                                
041455,000596:    6653           30003                           DCA      2                                     
041456,000597:    6654           52150                           DXCH     MPAC       +3                         
041457,000598:    6655           50156                           INDEX    PUSHLOC                               
041458,000599:    6656           51775                           DXCH     0          -4                         
041459,000600: 
041460,000601:    6657           00006                           EXTEND                                         
041461,000602:    6660           50106                           INDEX    ADDRWD                                
041462,000603:    6661           30005                           DCA      4                                     
041463,000604:    6662           52152                           DXCH     MPAC       +5                         
041464,000605:    6663           50156                           INDEX    PUSHLOC                               
041465,000606:    6664           51777                           DXCH     0          -2                         
041466,000607: 
041467,000608:    6665           16125                           TCF      DANZIG                                
041468,000609: 
041469,000610:    6666           00006        TPDVL              EXTEND                                         #  ON TP, WE MUST LOAD THE Y COMPONENT
041470,000611:    6667           50106                           INDEX    ADDRWD                                #  BEFORE STORING MPAC +2 INCASE THIS IS A
041471,000612:    6670           30003                           DCA      2                                     #  PUSHUP.
041472,000613:    6671           52150                           DXCH     MPAC       +3                         
041473,000614: 
041474,000615:    6672           30146                           CA       MPAC       +2                         
041475,000616:    6673           50156                           INDEX    PUSHLOC                               #  IN DP.
041476,000617:    6674           53777                           TS       0          -1                         
041477,000618:    6675           16573                           TCF      ENDVLOAD   +4                         
041478,000619: 
041479,000620:                                                                                                  #           SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.
041480,000621: 
041481,000622:    6676           24154        SSP                INCR     LOC                                   #  PICK UP THE WORD FOLLOWING THE GIVEN
041482,000623:    6677           50154                           INDEX    LOC                                   #  ADDRESS AND STORE IT AT X.
041483,000624:    6700           30000                           CA       0                                     
041484,000625:    6701           50106        STORE1             INDEX    ADDRWD                                #  SOME INDEX AND MISCELLANEOUS OPS END
041485,000626:    6702           54000                           TS       0                                     #  HERE.

Page 973

041487,000628:    6703           16125                           TCF      DANZIG                                
041488,000629: 

Page 974

041490,000631:                                                                                                  #  SEQUENCE CHANGING AND SUBROUTINE CALLING OPTIONS.
041491,000632: 
041492,000633:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR SEQUENCING CHANGING, BRANCHING, AND CALLING SUBROUTINES:
041493,000634: 
041494,000635:                                                                                                  #           1.  GOTO               GO TO.
041495,000636:                                                                                                  #           2.  CALL               CALL SUBROUTINE SETTING QPRET.
041496,000637:                                                                                                  #           3.  CGOTO              COMPUTED GO TO.
041497,000638:                                                                                                  #           4.  CCALL              COMPUTED CALL.
041498,000639:                                                                                                  #           7.  BPL                BRANCH IF MPAC POSITIVE OR ZERO.
041499,000640:                                                                                                  #           8.  BZE                BRANCH IF MPAC ZERO.
041500,000641:                                                                                                  #           9.  BMN                BRANCH IF MPAC NEGATIVE NON-ZERO.
041501,000642: 
041502,000643:    6704           24154        CCALL              INCR     LOC                                   #  MAINTAIN LOC FOR QPRET COMPUTATION.
041503,000644:    6705           50154                           INDEX    LOC                                   
041504,000645:    6706           30000                           CAF      0                                     #  GET BASE ADDRESS OF CADR LIST.
041505,000646:    6707           50106                           INDEX    ADDRWD                                
041506,000647:    6710           60000                           AD       0                                     #  ADD INCREMENT.
041507,000648:    6711           54004                           TS       FBANK                                 #  SELECT DESIRED CADR.
041508,000649:    6712           75337                           MASK     LOW10                                 
041509,000650:    6713           50000                           INDEX    A                                     
041510,000651:    6714           32000                           CAF      10000                                 
041511,000652:    6715           54107                           TS       POLISH                                
041512,000653: 
041513,000654:    6716           30155        CALL               CA       BANKSET                               #  FOR ANY OF THE CALL OPTIONS, MAKE UP THE
041514,000655:    6717           76341                           MASK     BANKMASK                              #  ADDRESS OF THE NEXT OP-CODE PAIR/STORE
041515,000656:    6720           66341                           AD       BANKMASK                              #  CODE AND LEAVE IT IN QPRET.  NOTE THAT
041516,000657:    6721           60154                           AD       LOC                                   #  BANKMASK = -(2000 - 1).
041517,000658:    6722           50110                           INDEX    FIXLOC                                
041518,000659:    6723           54052                           TS       QPRET                                 
041519,000660: 
041520,000661:    6724           30107        GOTO               CA       POLISH                                #  BASIC BRANCHING SEQUENCE.
041521,000662:    6725           75351                 +1        MASK     HIGH4                                 
041522,000663:    6726           00006                           EXTEND                                         
041523,000664:    6727           16740                           BZF      GOTOERS                               #  SEE IF ADDRESS POINTS TO FIXED OR ERAS.
041524,000665:    6730           30155                 +4        CA       BANKSET                               #  SET EBANK PART OF BBANK. NEXT, SET UP
041525,000666:    6731           54006                           TS       BBANK                                 #  FBANK. THE COMBINATION IS PICKED UP &
041526,000667:    6732           30107                           CA       POLISH                                #  PUT INTO BANKSET AT INTPRET +2.
041527,000668:    6733           54004                           TS       FBANK                                 
041528,000669:    6734           75337                           MASK     LOW10                                 
041529,000670:    6735           67751                           AD       2K                                    
041530,000671:    6736           54154                           TS       LOC                                   
041531,000672:    6737           16114                           TCF      INTPRET    +2                         
041532,000673: 

Page 975

041534,000675:    6740  E3,1400                                  EBANK=   1400                                  #  SO YUL DOESN'T CUSS THE "CA 1400" BELOW.
041535,000676: 
041536,000677:    6740           30107        GOTOERS            CA       POLISH                                #  THE GIVEN ADDRESS IS IN ERASABLE - SEE
041537,000678:    6741           66315                           AD       -ENDVAC                               #  IF RELATIVE TO THE WORK AREA.
041538,000679:    6742           10000                           CCS      A                                     
041539,000680:    6743           30107                           CA       POLISH                                #  GENERAL ERASABLE.
041540,000681:    6744           16753                           TCF      GOTOGE                                
041541,000682: 
041542,000683:    6745           30110                           CA       FIXLOC                                #  WORK AREA.
041543,000684:    6746           60107                           AD       POLISH                                
041544,000685:    6747           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
041545,000686:    6750           30000                           CA       0                                     #  THE BRANCH ADDRESS.
041546,000687:    6751           54107                           TS       POLISH                                
041547,000688:    6752           16725                           TCF      GOTO       +1                         #  ALLOWS ARBITRARY INDIRECTNESS LEVELS.
041548,000689: 
041549,000690:    6753           54003        GOTOGE             TS       EBANK                                 
041550,000691:    6754           74564                           MASK     LOW8                                  
041551,000692:    6755           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
041552,000693:    6756           31400                           CA       1400                                  #  THE BRANCH ADDRESS.
041553,000694:    6757           54107                           TS       POLISH                                
041554,000695:    6760           16725                           TCF      GOTO       +1                         
041555,000696: 
041556,000697:    6761           50154        CGOTO              INDEX    LOC                                   #  COMPUTED GO TO. PICK UP ADDRESS OF CADR
041557,000698:    6762           30001                           CA       1                                     #  LIST.
041558,000699:    6763           50106                           INDEX    ADDRWD                                #  ADD MODIFIER.
041559,000700:    6764           60000                           AD       0                                     
041560,000701:    6765           54004                           TS       FBANK                                 #  SELECT GOTO ADDRESS.
041561,000702:    6766           75337                           MASK     LOW10                                 
041562,000703:    6767           50000                           INDEX    A                                     
041563,000704:    6770           32000                           CA       10000                                 
041564,000705:    6771           54107                           TS       POLISH                                
041565,000706:    6772           16725                           TCF      GOTO       +1                         #  WITH ADDRESS IN A.
041566,000707: 
041567,000708:    6773           30155        SWBRANCH           CA       BANKSET                               #  SWITCH INSTRUCTIONS WHICH ELECT TO
041568,000709:    6774           54004                           TS       FBANK                                 #  BRANCH COME HERE TO DO SO.
041569,000710:    6775           50154                           INDEX    LOC                                   
041570,000711:    6776           30001                           CA       1                                     
041571,000712:    6777           54107                           TS       POLISH                                
041572,000713:    7000           16725                           TCF      GOTO       +1                         
041573,000714: 

Page 976

041575,000716:                                                                                                  #           TRIPLE PRECISION BRANCHING ROUTINE. IF CALLING TC IS AT L, RETURN IS AS FOLLOWS:
041576,000717: 
041577,000718:                                                                                                  #           L+1  IF MPAC IS GREATER THAN ZERO.
041578,000719:                                                                                                  #           L+2  IF MPAC IS EQUAL TO +0 OR -0.
041579,000720:                                                                                                  #           L+3  IF MPAC IS LESS THAN ZERO.
041580,000721: 
041581,000722: 
041582,000723:    7001           10144        BRANCH             CCS      MPAC                                  
041583,000724:    7002           00002                           TC       Q                                     
041584,000725:    7003           17005                           TCF      +2                                    #  ON ZERO.
041585,000726:    7004           17017                           TCF      NEG                                   
041586,000727: 
041587,000728:    7005           10145                           CCS      MPAC       +1                         
041588,000729:    7006           00002                           TC       Q                                     
041589,000730:    7007           17011                           TCF      +2                                    
041590,000731:    7010           17017                           TCF      NEG                                   
041591,000732: 
041592,000733:    7011           10146                           CCS      MPAC       +2                         
041593,000734:    7012           00002                           TC       Q                                     
041594,000735:    7013           17015                           TCF      +2                                    
041595,000736:    7014           17017                           TCF      NEG                                   
041596,000737: 
041597,000738:    7015           50002        Q+1                INDEX    Q                                     
041598,000739:    7016           00001                           TC       1                                     
041599,000740: 
041600,000741:    7017           50002        NEG                INDEX    Q                                     #  IF FIRST NON-ZERO REGISTER WAS NEGATIVE.
041601,000742:    7020           00002                           TC       2                                     
041602,000743: 
041603,000744: 
041604,000745:    7021     7017               Q+2                =        NEG                                   
041605,000746: 
041606,000747:                                                                                                  #           ITRACE (3) REFERS TO "EXIT".
041607,000748:    7021           30155        EXIT               CA       BANKSET                               #  RESTORE USER'S BANK SETTING, AND LEAVE
041608,000749:    7022           54006                           TS       BBANK                                 #  INTERPRETIVE MODE.
041609,000750:    7023           50154                           INDEX    LOC                                   
041610,000751:    7024           00001                           TC       1                                     
041611,000752: 

Page 977

041613,000754:                                                                                                  #  SECTION 3 - ADD/SUBTRACT PACKAGE.
041614,000755: 
041615,000756:                                                                                                  #           THE FOLLOWING OPERATIONS ARE PROVIDED FOR ADDING TO AND SUBTRACTING FROM THE MULTI-PURPOSE ACCUMULATOR
041616,000757:                                                                                                  #  MPAC:
041617,000758: 
041618,000759:                                                                                                  #           1.  DAD                DOUBLE PRECISION ADD.
041619,000760:                                                                                                  #           2.  DSU                DOUBLE PRECISION SUBTRACT.
041620,000761:                                                                                                  #           3.  BDSU               DOUBLE PRECISION SUBTRACT FROM.
041621,000762: 
041622,000763:                                                                                                  #           4.  TAD                TRIPLE PRECISION ADD.
041623,000764: 
041624,000765:                                                                                                  #           5.  VAD                VECTOR ADD.
041625,000766:                                                                                                  #           6.  VSU                VECTOR SUBTRACT.
041626,000767:                                                                                                  #           7.  BVSU               VECTOR SUBTRACT FROM.
041627,000768: 
041628,000769:                                                                                                  #  THE INTERPRETIVE OVERFLOW INDICATOR OVFIND IS SET NON-ZERO IF OVERFLOW OCCURS IN ANY OF THE ABOVE.
041629,000770: 
041630,000771: 
041631,000772:    7025           00006        VAD                EXTEND                                         
041632,000773:    7026           50106                           INDEX    ADDRWD                                
041633,000774:    7027           30003                           DCA      2                                     
041634,000775:    7030           20150                           DAS      MPAC       +3                         
041635,000776:    7031           00006                           EXTEND                                         #  CHECK OVERFLOW.
041636,000777:    7032           17034                           BZF      +2                                    
041637,000778:    7033           07101                           TC       OVERFLOW                              
041638,000779: 
041639,000780:    7034           00006                           EXTEND                                         
041640,000781:    7035           50106                           INDEX    ADDRWD                                
041641,000782:    7036           30005                           DCA      4                                     
041642,000783:    7037           20152                           DAS      MPAC       +5                         
041643,000784:    7040           00006                           EXTEND                                         
041644,000785:    7041           17043                           BZF      +2                                    
041645,000786:    7042           07101                           TC       OVERFLOW                              
041646,000787: 
041647,000788:    7043           00006        DAD                EXTEND                                         
041648,000789:    7044           50106                           INDEX    ADDRWD                                
041649,000790:    7045           30001                           DCA      0                                     
041650,000791:    7046           20145        ENDVXV             DAS      MPAC                                  #  VXV FINISHES HERE.
041651,000792:    7047           00006                           EXTEND                                         
041652,000793:    7050           16125                           BZF      DANZIG                                
041653,000794:    7051           07101                           TC       OVERFLOW                              
041654,000795:    7052           16125                           TCF      DANZIG                                
041655,000796: 

Page 978

041657,000798:    7053           00006        VSU                EXTEND                                         
041658,000799:    7054           50106                           INDEX    ADDRWD                                
041659,000800:    7055           40003                           DCS      2                                     
041660,000801:    7056           20150                           DAS      MPAC       +3                         
041661,000802:    7057           00006                           EXTEND                                         
041662,000803:    7060           17062                           BZF      +2                                    
041663,000804:    7061           07101                           TC       OVERFLOW                              
041664,000805: 
041665,000806:    7062           00006                           EXTEND                                         
041666,000807:    7063           50106                           INDEX    ADDRWD                                
041667,000808:    7064           40005                           DCS      4                                     
041668,000809:    7065           20152                           DAS      MPAC       +5                         
041669,000810:    7066           00006                           EXTEND                                         
041670,000811:    7067           17071                           BZF      +2                                    
041671,000812:    7070           07101                           TC       OVERFLOW                              
041672,000813: 
041673,000814:    7071           00006        DSU                EXTEND                                         
041674,000815:    7072           50106                           INDEX    ADDRWD                                
041675,000816:    7073           40001                           DCS      0                                     
041676,000817:    7074           20145                           DAS      MPAC                                  
041677,000818:    7075           00006                           EXTEND                                         
041678,000819:    7076           16125                           BZF      DANZIG                                
041679,000820:    7077           07101                           TC       OVERFLOW                              
041680,000821:    7100           16125                           TCF      DANZIG                                
041681,000822: 
041682,000823:    7101           37763        OVERFLOW           CAF      ONE                                   #  SUBROUTINE TO TURN OVFIND ON.
041683,000824:    7102           17224                           TCF      SETOVF2                               
041684,000825: 

Page 979

041686,000827:    7103           00006        BVSU               EXTEND                                         
041687,000828:    7104           50106                           INDEX    ADDRWD                                
041688,000829:    7105           30003                           DCA      2                                     
041689,000830:    7106           52150                           DXCH     MPAC       +3                         
041690,000831:    7107           00006                           EXTEND                                         
041691,000832:    7110           40001                           DCOM                                           
041692,000833:    7111           20150                           DAS      MPAC       +3                         
041693,000834:    7112           00006                           EXTEND                                         
041694,000835:    7113           17115                           BZF      +2                                    
041695,000836:    7114           07101                           TC       OVERFLOW                              
041696,000837: 
041697,000838:    7115           00006                           EXTEND                                         
041698,000839:    7116           50106                           INDEX    ADDRWD                                
041699,000840:    7117           30005                           DCA      4                                     
041700,000841:    7120           52152                           DXCH     MPAC       +5                         
041701,000842:    7121           00006                           EXTEND                                         
041702,000843:    7122           40001                           DCOM                                           
041703,000844:    7123           20152                           DAS      MPAC       +5                         
041704,000845:    7124           00006                           EXTEND                                         
041705,000846:    7125           17127                           BZF      +2                                    
041706,000847:    7126           07101                           TC       OVERFLOW                              
041707,000848: 
041708,000849:    7127           00006        BDSU               EXTEND                                         
041709,000850:    7130           50106                           INDEX    ADDRWD                                
041710,000851:    7131           30001                           DCA      0                                     
041711,000852:    7132           52145                           DXCH     MPAC                                  
041712,000853:    7133           00006                           EXTEND                                         
041713,000854:    7134           40001                           DCOM                                           
041714,000855:    7135           20145                           DAS      MPAC                                  
041715,000856:    7136           00006                           EXTEND                                         
041716,000857:    7137           16125                           BZF      DANZIG                                
041717,000858:    7140           07101                           TC       OVERFLOW                              
041718,000859:    7141           16125                           TCF      DANZIG                                
041719,000860: 

Page 980

041721,000862:                                                                                                  #           TRIPLE PRECISION ADD ROUTINE.
041722,000863: 
041723,000864:    7142           00006        TAD                EXTEND                                         
041724,000865:    7143           50106                           INDEX    ADDRWD                                
041725,000866:    7144           30002                           DCA      1                                     #  ADD MINOR PARTS FIRST.
041726,000867:    7145           20146                           DAS      MPAC       +1                         
041727,000868:    7146           50106                           INDEX    ADDRWD                                
041728,000869:    7147           60000                           AD       0                                     
041729,000870:    7150           60144                           AD       MPAC                                  
041730,000871:    7151           54144                           TS       MPAC                                  
041731,000872:    7152           16125                           TCF      DANZIG                                
041732,000873: 
041733,000874:    7153           54111        SETOVF             TS       OVFIND                                #  SET OVFIND IF SUCH OCCURS.
041734,000875:    7154           16125                           TCF      DANZIG                                
041735,000876: 

Page 981

041737,000878:                                                                                                  #  ARITHMETIC SUBROUTINES REQUIRED IN FIXED-FIXED.
041738,000879:                                                                                                  #           1.  DMPSUB     DOUBLE PRECISION MULTIPLY. MULTIPLY THE CONTENTS OF MPAC,+1 BY THE DP WORD WHOSE ADDRESS
041739,000880:                                                                                                  #                          IS IN ADDRWD AND LEAVE A TRIPLE PRECISION RESULT IN MPAC.
041740,000881:                                                                                                  #           2.  ROUNDSUB   ROUND THE TRIPLE PRECISON CONTENTS OF MPAC TO DOUBLE PRECISION.
041741,000882:                                                                                                  #           3.  DOTSUB     TAKE THE DOT PRODUCT OF THE VECTOR IN MPAC AND THE VECTOR WHOSE ADDRESS IS IN ADDRWD
041742,000883:                                                                                                  #                          AND LEAVE THE TRIPLE PRECISION RESULT IN MPAC.
041743,000884:                                                                                                  #           4.  POLY       USING THE CONTENTS OF MPAC AS A DP ARGUMENT, EVALUATE THE POLYNOMIAL WHOSE DEGREE AND
041744,000885:                                                                                                  #                          COEFFICIENTS IMMEDIATELY FOLLOW THE TC POLY INSTRUCTION (SEE ROUTINE FOR DETAILS.)
041745,000886: 
041746,000887: 
041747,000888:    7155           50002        DMP                INDEX    Q                                     #  BASIC SUBROUTINE FOR USE BY PINBALL, ETC
041748,000889:    7156           30000                           CAF      0                                     #  ADRES OF ARGUMENT FOLLOWS  TC DMP  .
041749,000890:    7157           24002                           INCR     Q                                     
041750,000891:    7160           54106                 -1        TS       ADDRWD                                #  (PROLOGUE FOR SETTING ADDRWD.)
041751,000892: 
041752,000893:    7161           50106        DMPSUB             INDEX    ADDRWD                                #  GET MINOR PART OF OPERAND AT C(ADDRWD).
041753,000894:    7162           30001                           CA       1                                     
041754,000895:    7163           54146                           TS       MPAC       +2                         #  THIS WORKS FOR SQUARING MPAC AS WELL.
041755,000896:    7164           37767                           CAF      ZERO                                  #  SET MPAC +1 TO ZERO SO WE CAN ACCUMULATE
041756,000897:    7165           56145                           XCH      MPAC       +1                         #  THE PARTIAL PRODUCTS WITH DAS
041757,000898:    7166           54125                           TS       MPTEMP                                #  INSTRUCTIONS.
041758,000899:    7167           00006                           EXTEND                                         
041759,000900:    7170           70146                           MP       MPAC       +2                         #  MINOR OF MPAC X MINOR OF C(ADDRWD).
041760,000901: 
041761,000902:    7171           56146                           XCH      MPAC       +2                         #  DISCARD MINOR PART OF ABOVE RESULT AND
041762,000903:    7172           00006                           EXTEND                                         #  FORM MAJOR OF MPAC X MINOR OF C(ADDRWD).
041763,000904:    7173           70144                           MP       MPAC                                  
041764,000905:    7174           20146                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
041765,000906: 
041766,000907:    7175           50106                           INDEX    ADDRWD                                #  GET MAJOR PART OF ARGUMENT AT C(ADDRWD).
041767,000908:    7176           30000                           CA       0                                     
041768,000909:    7177           56125                           XCH      MPTEMP                                #  SAVE AND BRING OUT MINOR OF MPAC.
041769,000910:    7200           00006                           EXTEND                                         
041770,000911:    7201           70125                           MP       MPTEMP                                #  MAJOR OF C(ADDRWD) X MINOR OF MPAC.
041771,000912:    7202           20146                           DAS      MPAC       +1                         #  ACCUMULATE, SETTING A TO NET OVERFLOW.
041772,000913: 
041773,000914:    7203           56144                           XCH      MPAC                                  #  SETTING MPAC TO 0 OR +-1.
041774,000915:    7204           00006                           EXTEND                                         
041775,000916:    7205           70125                           MP       MPTEMP                                #  MAJOR OF MPAC X MAJOR OF C(ADDRWD).
041776,000917:    7206           20145                           DAS      MPAC                                  #  GUARANTEED NO OVERFLOW.
041777,000918:    7207           00002                           TC       Q                                     #  49 MCT = .573 MS. INCLUDING RETURN.
041778,000919: 

Page 982

041780,000921:                                                                                                  #           ROUND MPAC TO DOUBLE PRECISION, SETTING OVFIND ON THE RARE EVENT OF OVERFLOW.
041781,000922: 
041782,000923:    7210           37767        ROUNDSUB           CAF      ZERO                                  #  SET MPAC +2 = 0 FOR SCALARS AND CHANGE
041783,000924:    7211           54153                 +1        TS       MODE                                  #  MODE TO DP.
041784,000925: 
041785,000926:    7212           56146        VROUND             XCH      MPAC       +2                         #  BUT WE NEEDNT TAKE THE TIME FOR VECTORS.
041786,000927:    7213           60000                           DOUBLE                                         
041787,000928:    7214           54001                           TS       L                                     
041788,000929:    7215           00002                           TC       Q                                     
041789,000930: 
041790,000931:    7216           60145                           AD       MPAC       +1                         #  ADD ROUNDING BIT IF MPAC +2 WAS GREATER
041791,000932:    7217           54145                           TS       MPAC       +1                         #  THAN .5 IN MAGNITUDE.
041792,000933:    7220           00002                           TC       Q                                     
041793,000934: 
041794,000935:    7221           60144                           AD       MPAC                                  #  PROPAGATE INTERFLOW.
041795,000936:    7222           54144                           TS       MPAC                                  
041796,000937:    7223           00002                           TC       Q                                     
041797,000938: 
041798,000939:    7224           54111        SETOVF2            TS       OVFIND                                #  (RARE).
041799,000940:    7225           00002                           TC       Q                                     
041800,000941: 

Page 983

041802,000943:                                                                                                  #           THE DOT PRODUCT SUBROUTINE USUALLY FORMS THE DOT PRODUCT OF THE VECTOR IN MPAC WITH A STANDARD SIX
041803,000944:                                                                                                  #  REGISTER VECTOR WHOSE ADDRESS IS IN ADDRWD. IN THIS CASE C(DOTINC) ARE SET TO 2. VXM, HOWEVER, SETS C(DOTINC) TO
041804,000945:                                                                                                  #  6 SO THAT DOTSUB DOTS MPAC WITH A COLUMN VECTOR OF THE MATRIX IN QUESTION IN THIS CASE.
041805,000946: 
041806,000947: 
041807,000948:    7226           37762        PREDOT             CAF      TWO                                   #  PROLOGUE TO SET DOTINC TO 2.
041808,000949:    7227           54126                           TS       DOTINC                                
041809,000950: 
041810,000951:    7230           00006        DOTSUB             EXTEND                                         
041811,000952:    7231           22127                           QXCH     DOTRET                                #  SAVE RETURN.
041812,000953:    7232           07161                           TC       DMPSUB                                #  DOT X COMPONENTS.
041813,000954:    7233           52150                           DXCH     MPAC       +3                         #  POSITION Y COMPONENT OF MPAC FOR
041814,000955:    7234           52145                           DXCH     MPAC                                  #  MULTIPLICATION WHILE SAVING RESULT IN
041815,000956:    7235           52121                           DXCH     BUF                                   #  THREE WORD BUFFER, BUF.
041816,000957:    7236           30146                           CA       MPAC       +2                         
041817,000958:    7237           54122                           TS       BUF        +2                         
041818,000959: 
041819,000960:    7240           30126                           CA       DOTINC                                #  ADVANCE ADDRWD TO Y COMPONENT OF
041820,000961:    7241           26106                           ADS      ADDRWD                                #  OTHER ARGUMENT.
041821,000962:    7242           07161                           TC       DMPSUB                                
041822,000963:    7243           52146                           DXCH     MPAC       +1                         #  ACCUMULATE PARTIAL PRODUCTS.
041823,000964:    7244           20122                           DAS      BUF        +1                         
041824,000965:    7245           60144                           AD       MPAC                                  
041825,000966:    7246           60120                           AD       BUF                                   
041826,000967:    7247           54120                           TS       BUF                                   
041827,000968:    7250           17252                           TCF      +2                                    
041828,000969:    7251           54111                           TS       OVFIND                                #  IF OVERFLOW OCCURS.
041829,000970: 
041830,000971:    7252           52152                           DXCH     MPAC       +5                         #  MULTIPLY Z COMPONENTS.
041831,000972:    7253           52145                           DXCH     MPAC                                  
041832,000973:    7254           30126                           CA       DOTINC                                
041833,000974:    7255           26106                           ADS      ADDRWD                                
041834,000975:    7256           07161                           TC       DMPSUB                                
041835,000976:    7257           52122        ENDDOT             DXCH     BUF        +1                         #  LEAVE FINAL ACCUMULATION IN MPAC.
041836,000977:    7260           20146                           DAS      MPAC       +1                         
041837,000978:    7261           60144                           AD       MPAC                                  
041838,000979:    7262           60120                           AD       BUF                                   
041839,000980:    7263           54144                           TS       MPAC                                  
041840,000981:    7264           00127                           TC       DOTRET                                
041841,000982: 
041842,000983:    7265           54111                           TS       OVFIND                                #  ON OVERFLOW HERE.
041843,000984:    7266           00127                           TC       DOTRET                                
041844,000985: 

Page 984

041846,000987:                                                                                                  #  DOUBLE PRECISION POLYNOMIAL EVALUATOR
041847,000988:                                                                                                  #                                     N        N-1
041848,000989:                                                                                                  #           THIS ROUTINE EVALUATES A X  + A   X    + ... + A X + A  LEAVING THE DP RESULT IN MPAC ON EXIT.
041849,000990:                                                                                                  #                                   N      N-1              1     0
041850,000991: 
041851,000992:                                                                                                  #  THE ROUTINE HAS TWO ENTRIES
041852,000993: 
041853,000994:                                                                                                  #           1. ENTRY THRU POWRSERS. THE COEFFICIENTS MAY BE EITHER IN FIXED OR ERASABLE, THE CALL IS BY
041854,000995:                                                                                                  #              TC POWRSERS, AND THE RETURN IS TO LOC(TC POWRSERS)+1. THE ENTERING DATA MUST BE AS FOLLOWS
041855,000996: 
041856,000997:                                                                                                  #                                          A        SP     LOC-3           ADDRESS FOR REFERENCING COEF TABLE
041857,000998:                                                                                                  #                                          L        SP     N-1             N IS THE DEGREE OF THE POWER SERIES
041858,000999:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
041859,001000: 
041860,001001:                                                                                                  #                                          LOC-2N   DP     A(0)
041861,001002:                                                                                                  #                                                   ...
041862,001003:                                                                                                  #                                          LOC      DP     A(N)
041863,001004: 
041864,001005:                                                                                                  #           2. ENTRY THRU POLY. THE CALL TO POLY AND THE ENTERING DATA MUST BE AS FOLLOWS
041865,001006: 
041866,001007:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
041867,001008: 
041868,001009:                                                                                                  #                                          LOC      TC     POLY
041869,001010:                                                                                                  #                                          LOC+1    SP     N-1
041870,001011:                                                                                                  #                                          LOC+2    DP     A(0)
041871,001012:                                                                                                  #                                                   ...
041872,001013:                                                                                                  #                                          LOC+2N+2 DP     A(N)            RETURN IS TO LOC+2N+4
041873,001014: 
041874,001015:    7267           00006        POWRSERS           EXTEND                                         
041875,001016:    7270           22131                           QXCH     POLYRET                               #  RETURN ADDRESS
041876,001017:    7271           54107                           TS       POLISH                                #  POWER SERIES ADDRESS
041877,001018:    7272           22130                           LXCH     POLYCNT                               #  N-1 TO COUNTER
041878,001019:    7273           17304                           TCF      POLYCOM                               #  SKIP SET UP BY POLY
041879,001020: 
041880,001021:    7274           50002        POLY               INDEX    Q                                     
041881,001022:    7275           30000                           CAF      0                                     
041882,001023:    7276           54130                           TS       POLYCNT                               #  N-1 TO COUNTER
041883,001024:    7277           60000                           DOUBLE                                         
041884,001025:    7300           60002                           AD       Q                                     
041885,001026:    7301           54107                           TS       POLISH                                #  L(A(N))-3 TO POLISH
041886,001027:    7302           67766                           AD       FIVE                                  
041887,001028:    7303           54131                           TS       POLYRET                               #  STORE RETURN ADDRESS
041888,001029: 
041889,001030:    7304           35347        POLYCOM            CAF      LVBUF                                 #  INCOMING X WILL BE MOVED TO VBUF, SO
041890,001031:    7305           54106                           TS       ADDRWD                                #  SET ADDRWD SO DMPSUB WILL MPY BY VBUF.
041891,001032: 
041892,001033:    7306           00006                           EXTEND                                         
041893,001034:    7307           50107                           INDEX    POLISH                                
041894,001035:    7310           30004                           DCA      3                                     
041895,001036: 

Page 985

041897,001038:    7311           52145                           DXCH     MPAC                                  #  LOAD A(N) INTO MPAC,
041898,001039:    7312           52113                           DXCH     VBUF                                  #  SAVING X IN VBUF
041899,001040:    7313           17317                           TCF      POLY2                                 
041900,001041: 
041901,001042:    7314           54130        POLYLOOP           TS       POLYCNT                               #  SAVE DECREMENTED LOOP COUNTER
041902,001043:    7315           47762                           CS       TWO                                   
041903,001044:    7316           26107                           ADS      POLISH                                #  REGRESS COEFFICIENT POINTER
041904,001045: 
041905,001046:    7317           07161        POLY2              TC       DMPSUB                                #  MULTIPLY BY X
041906,001047:    7320           00006                           EXTEND                                         
041907,001048:    7321           50107                           INDEX    POLISH                                
041908,001049:    7322           30002                           DCA      1                                     #  ADD IN NEXT COEFFICIENT
041909,001050:    7323           20145                           DAS      MPAC                                  #  USERS RESPONSIBILITY TO ASSURE NO OVFLOW
041910,001051: 
041911,001052:    7324           10130                           CCS      POLYCNT                               
041912,001053:    7325           17314                           TCF      POLYLOOP                              
041913,001054:    7326           00131                           TC       POLYRET                               #  RETURN CALLER
041914,001055: 

Page 986

041916,001057:                                                                                                  #           MISCELLANEOUS MULTI-PRECISION ROUTINES REQUIRED IN FIXED-FIXED BUT NOT USED BY THE INTERPRETER.
041917,001058: 
041918,001059:    7327           22002        TPAGREE            LXCH     Q                                     #  FORCE SIGN AGREEMENT AMONG THE TRIPLE
041919,001060:    7330           07001                           TC       BRANCH                                #  PRECISION CONTENTS OF MPAC.  RETURNING
041920,001061:    7331           17335                           TCF      ARG+                                  #  WITH SIGNUM OF THE INPUT IN A.
041921,001062:    7332           17355                           TCF      ARGZERO                               
041922,001063: 
041923,001064:    7333           47743                           CS       POSMAX                                #  IF NEGATIVE.
041924,001065:    7334           17336                           TCF      +2                                    
041925,001066: 
041926,001067:    7335           37743        ARG+               CAF      POSMAX                                
041927,001068:    7336           54002                           TS       Q                                     
041928,001069:    7337           00006                           EXTEND                                         
041929,001070:    7340           24000                           AUG      A                                     #  FORMS +-1.0.
041930,001071:    7341           60146                           AD       MPAC       +2                         
041931,001072:    7342           54146                           TS       MPAC       +2                         
041932,001073:    7343           37767                           CAF      ZERO                                  
041933,001074:    7344           60002                           AD       Q                                     
041934,001075:    7345           60145                           AD       MPAC       +1                         
041935,001076:    7346           54145                           TS       MPAC       +1                         
041936,001077:    7347           37767                           CAF      ZERO                                  
041937,001078:    7350           60002                           AD       Q                                     #  Q STILL HAS POSMAX OR NEGMAX IN IT.
041938,001079:    7351           60144                           AD       MPAC                                  
041939,001080:    7352           54144        ARGZERO2           TS       MPAC                                  #  ALWAYS SKIPPING UNLESS ARGZERO.
041940,001081:    7353           54145                           TS       MPAC       +1                         
041941,001082:    7354           00001                           TC       L                                     #  RETURN VIA L.
041942,001083: 
041943,001084:    7355           54146        ARGZERO            TS       MPAC       +2                         #  SET ALL THREE MPAC REGISTERS TO ZERO.
041944,001085:    7356           17352                           TCF      ARGZERO2                              
041945,001086: 
041946,001087:                                                                                                  #           SHORTMP MULTIPLIES THE TP CONTENTS OF MPAC BY THE SINGLE PRECISION NUMBER ARRIVING IN A.
041947,001088: 
041948,001089:    7357           54125        SHORTMP            TS       MPTEMP                                
041949,001090:    7360           00006                           EXTEND                                         
041950,001091:    7361           70146                           MP       MPAC       +2                         
041951,001092:    7362           54146                           TS       MPAC       +2                         
041952,001093:    7363           37767                           CAF      ZERO                                  #  SO SUBSEQUENT DAS WILL WORK.
041953,001094:    7364           56145                           XCH      MPAC       +1                         
041954,001095:    7365           00006                           EXTEND                                         
041955,001096:    7366           70125                           MP       MPTEMP                                
041956,001097:    7367           20146                           DAS      MPAC       +1                         
041957,001098:    7370           56144                           XCH      MPAC                                  #  SETTING MPAC TO 0.
041958,001099:    7371           00006                           EXTEND                                         
041959,001100:    7372           70125                           MP       MPTEMP                                
041960,001101:    7373           20145                           DAS      MPAC                                  
041961,001102:    7374           00002                           TC       Q                                     
041962,001103: 

Page 987

041964,001105:                                                                                                  #         DMPNSUB MULTIPLIES THE DP FRACTION ARRIVING IN MPAC BY THE SP
041965,001106:                                                                                                  #  INTEGER ARRIVING IN A.  THE DP PRODUCT DEPARTS BOTH IN MPAC AND IN
041966,001107:                                                                                                  #  A AND L.  NOTE THAT DMPNSUB NORMALLY INCREASES THE MAGNITUDE OF THE
041967,001108:                                                                                                  #  CONTENTS OF MPAC.  THE CUSTOMER MUST INSURE THAT B(A) X B(MPAC,MPAC+1)
041968,001109:                                                                                                  #  AND B(A) X B(MPAC) ARE LESS THAN 1 IN MAGNITUDE, WHERE B, AS IS OBVIOUS,
041969,001110:                                                                                                  #  INDICATES THE ARRIVING CONTENTS.
041970,001111: 
041971,001112:    7375           54125        DMPNSUB            TS       DMPNTEMP                              
041972,001113:    7376           00006                           EXTEND                                         
041973,001114:    7377           70145                           MP       MPAC       +1                         
041974,001115:    7400           52145                           DXCH     MPAC                                  #  LOW PRODUCT TO MPAC, HIGH FACTOR TO A
041975,001116:    7401           00006                           EXTEND                                         
041976,001117:    7402           70125                           MP       DMPNTEMP                              
041977,001118:    7403           30001                           CA       L                                     
041978,001119:    7404           26144                           ADS      MPAC                                  #  COMPLETING THE PRODUCT IN MPAC
041979,001120:    7405           00006                           EXTEND                                         
041980,001121:    7406           30145                           DCA      MPAC                                  #  BRINGING THE PRODUCT INTO A AND L
041981,001122:    7407           00002                           TC       Q                                     
041982,001123: 

Page 988

041984,001125:                                                                                                  #  MISCELLANEOUS VECTOR OPERATIONS. INCLUDED HERE ARE THE FOLLOWING:
041985,001126: 
041986,001127:                                                                                                  #           1.  DOT                DP VECTOR DOT PRODUCT.
041987,001128:                                                                                                  #           2.  VXV                DP VECTOR CROSS PRODUCT.
041988,001129:                                                                                                  #           3.  VXSC               DP VECTOR TIMES SCALAR.
041989,001130:                                                                                                  #           4.  V/SC               DP VECTOR DIVIDED BY SCALAR.
041990,001131:                                                                                                  #           5.  VPROJ              DP VECTOR PROJECTION.  ( (MPAC.X)MPAC ).
041991,001132:                                                                                                  #           6.  VXM                DP VECTOR POST-MULTIPLIED BY MATRIX.
041992,001133:                                                                                                  #           7.  MXV                DP VECTOR PRE-MULTIPLIED BY MATRIX.
041993,001134: 
041994,001135: 
041995,001136:    7410           07226        DOT                TC       PREDOT                                #  DO THE DOT PRODUCT AND EXIT, CHANGING
041996,001137:    7411           37767                           CAF      ZERO                                  #  THE MODE TO DP SCALAR.
041997,001138:    7412           16124                           TCF      NEWMODE                               
041998,001139: 
041999,001140: 
042000,001141:    7413           37762        MXV                CAF      TWO                                   #  SET UP MATINC AND DOTINC FOR ROW
042001,001142:    7414           54130                           TS       MATINC                                #  VECTORS.
042002,001143:    7415           17421                           TCF      VXM/MXV                               #  GO TO COMMON PORTION.
042003,001144: 
042004,001145:    7416           44570        VXM                CS       TEN                                   #  SET MATINC AND DOTINC TO REFER TO MATRIX
042005,001146:    7417           54130                           TS       MATINC                                #  AS THREE COLUMN VECTORS.
042006,001147:    7420           36306                           CAF      SIX                                   
042007,001148: 

Page 989

042009,001150:                                                                                                  #           COMMON PORTION OF MXV AND VXM.
042010,001151: 
042011,001152:    7421           54126        VXM/MXV            TS       DOTINC                                
042012,001153:                                                                                                  #           ITRACE (2) REFERS TO "VXM/MXV".
042013,001154:    7422           07612                           TC       MPACVBUF                              #  SAVE VECTOR IN MPAC FOR FURTHER USE.
042014,001155: 
042015,001156:    7423           07230                           TC       DOTSUB                                #  GO DOT TO GET X COMPONENT OF ANSWER.
042016,001157:    7424           00006                           EXTEND                                         
042017,001158:    7425           30113                           DCA      VBUF                                  #  MOVE MPAC VECTOR BACK INTO MPAC, SAVING
042018,001159:    7426           52145                           DXCH     MPAC                                  #  NEW X COMPONENT IN BUF2.
042019,001160:    7427           52124                           DXCH     BUF2                                  
042020,001161:    7430           00006                           EXTEND                                         
042021,001162:    7431           30115                           DCA      VBUF       +2                         
042022,001163:    7432           52150                           DXCH     MPAC       +3                         
042023,001164:    7433           00006                           EXTEND                                         
042024,001165:    7434           30117                           DCA      VBUF       +4                         
042025,001166:    7435           52152                           DXCH     MPAC       +5                         
042026,001167:    7436           30130                           CA       MATINC                                #  INITIALIZE ADDRWD FOR NEXT DOT PRODUCT.
042027,001168:    7437           26106                           ADS      ADDRWD                                #  FORMS BASE ADDRESS OF NEXT COLUMN(ROW).
042028,001169: 
042029,001170:    7440           07230                           TC       DOTSUB                                
042030,001171:    7441           52113                           DXCH     VBUF                                  #  MOVE GIVEN VECTOR BACK TO MPAC, SAVING Y
042031,001172:    7442           52145                           DXCH     MPAC                                  #  COMPONENT OF ANSWER IN VBUF +2.
042032,001173:    7443           52115                           DXCH     VBUF       +2                         
042033,001174:    7444           52150                           DXCH     MPAC       +3                         
042034,001175:    7445           52117                           DXCH     VBUF       +4                         
042035,001176:    7446           52152                           DXCH     MPAC       +5                         
042036,001177:    7447           30130                           CA       MATINC                                #  FORM ADDRESS OF LAST COLUMN OR ROW.
042037,001178:    7450           26106                           ADS      ADDRWD                                
042038,001179: 
042039,001180:    7451           07230                           TC       DOTSUB                                
042040,001181:    7452           52124                           DXCH     BUF2                                  #  ANSWER NOW COMPLETE. PUT COMPONENTS INTO
042041,001182:    7453           52145                           DXCH     MPAC                                  #  PROPER MPAC REGISTERS.
042042,001183:    7454           52152                           DXCH     MPAC       +5                         
042043,001184:    7455           52115                           DXCH     VBUF       +2                         
042044,001185:    7456           52150                           DXCH     MPAC       +3                         
042045,001186:    7457           16125                           TCF      DANZIG                                #  EXIT.
042046,001187: 

Page 990

042048,001189:                                                                                                  #           VXSC - VECTOR TIMES SCALAR.
042049,001190: 
042050,001191:    7460           10153        VXSC               CCS      MODE                                  #  TEST PRESENT MODE.
042051,001192:    7461           17507                           TCF      DVXSC                                 #  SEPARATE ROUTINE WHEN SCALAR IS IN MPAC.
042052,001193:    7462           17507                           TCF      DVXSC                                 
042053,001194: 
042054,001195:    7463           07161        VVXSC              TC       DMPSUB                                #  COMPUTE X COMPONENT
042055,001196:    7464           07212                           TC       VROUND                                #  AND ROUND IT.
042056,001197:    7465           52150                           DXCH     MPAC       +3                         #  PUT Y COMPONENT INTO MPAC SAVING MPAC IN
042057,001198:    7466           52145                           DXCH     MPAC                                  #  MPAC +3.
042058,001199:    7467           52150                           DXCH     MPAC       +3                         
042059,001200: 
042060,001201:    7470           07161                           TC       DMPSUB                                #  DO SAME FOR Y AND Z COMPONENTS.
042061,001202:    7471           07212                           TC       VROUND                                
042062,001203:    7472           52152                           DXCH     MPAC       +5                         
042063,001204:    7473           52145                           DXCH     MPAC                                  
042064,001205:    7474           52152                           DXCH     MPAC       +5                         
042065,001206: 
042066,001207:    7475           07161                           TC       DMPSUB                                
042067,001208:    7476           07212                           TC       VROUND                                
042068,001209:    7477           52145        VROTATEX           DXCH     MPAC                                  #  EXIT USED TO RESTORE MPAC AFTER THIS
042069,001210:    7500           52152                           DXCH     MPAC       +5                         #  TYPE OF ROTATION. CALLED BY VECTOR SHIFT
042070,001211:    7501           52150                           DXCH     MPAC       +3                         #  RIGHT, V/SC, ETC.
042071,001212:    7502           52145                           DXCH     MPAC                                  
042072,001213:    7503           16125                           TCF      DANZIG                                
042073,001214: 

Page 991

042075,001216:                                                                                                  #           DP VECTOR PROJECTION ROUTINE.
042076,001217: 
042077,001218:    7504           07226        VPROJ              TC       PREDOT                                #  (MPAC.X)MPAC IS COMPUTED AND LEFT IN
042078,001219:    7505           47761                           CS       FOUR                                  #  MPAC. DO DOT AND FALL INTO DVXSC.
042079,001220:    7506           26106                           ADS      ADDRWD                                
042080,001221: 
042081,001222:                                                                                                  #           VXSC WHEN SCALAR ARRIVES IN MPAC AND VECTOR IS AT X.
042082,001223: 
042083,001224:    7507           00006        DVXSC              EXTEND                                         #  SAVE SCALAR IN MPAC +3 AND GET X
042084,001225:    7510           30145                           DCA      MPAC                                  #  COMPONENT OF ANSWER.
042085,001226:    7511           52150                           DXCH     MPAC       +3                         
042086,001227:    7512           07161                           TC       DMPSUB                                
042087,001228:    7513           07212                           TC       VROUND                                
042088,001229: 
042089,001230:    7514           37762                           CAF      TWO                                   #  ADVANCE ADDRWD TO Y COMPONENT OF X.
042090,001231:    7515           26106                           ADS      ADDRWD                                
042091,001232:    7516           00006                           EXTEND                                         
042092,001233:    7517           30150                           DCA      MPAC       +3                         #  PUT SCALAR BACK INTO MPAC AND SAVE
042093,001234:    7520           52145                           DXCH     MPAC                                  #  X RESULT IN MPAC +5.
042094,001235:    7521           52152                           DXCH     MPAC       +5                         
042095,001236:    7522           07161                           TC       DMPSUB                                
042096,001237:    7523           07212                           TC       VROUND                                
042097,001238: 
042098,001239:    7524           37762                           CAF      TWO                                   
042099,001240:    7525           26106                           ADS      ADDRWD                                #  TO Z COMPONENT.
042100,001241:    7526           52150                           DXCH     MPAC       +3                         #  BRING SCALAR BACK, PUTTING Y RESULT IN
042101,001242:    7527           52145                           DXCH     MPAC                                  #  THE PROPER PLACE.
042102,001243:    7530           52150                           DXCH     MPAC       +3                         
042103,001244:    7531           07161                           TC       DMPSUB                                
042104,001245:    7532           07212                           TC       VROUND                                
042105,001246: 
042106,001247:    7533           52145                           DXCH     MPAC                                  #  PUT Z COMPONENT IN PROPER PLACE, ALSO
042107,001248:    7534           52152                           DXCH     MPAC       +5                         #  POSITIONING X.
042108,001249:    7535           52145                           DXCH     MPAC                                  
042109,001250: 
042110,001251:    7536           47763                           CS       ONE                                   #  MODE HAS CHANGED TO VECTOR.
042111,001252:    7537           16124                           TCF      NEWMODE                               
042112,001253: 

Page 992

042114,001255:                                                                                                  #           THE VECTOR CROSS PRODUCT ROUTINE CALCULATES (X M -X M ,X M -X M ,X M -X M ) WHERE M IS THE VECTOR IN
042115,001256:                                                                                                  #                                                         3 2  2 3  1 3  3 1  2 1  1 2
042116,001257:                                                                                                  #  MPAC AND X THE VECTOR AT THE GIVEN ADDRESS.
042117,001258: 
042118,001259: 
042119,001260:    7540           00006        VXV                EXTEND                                         
042120,001261:    7541           30152                           DCA      MPAC       +5                         #  FORM UP M3X1, LEAVING M1 IN VBUF.
042121,001262:    7542           52145                           DXCH     MPAC                                  
042122,001263:    7543           52113                           DXCH     VBUF                                  
042123,001264:    7544           07161                           TC       DMPSUB                                #  BY X1.
042124,001265: 
042125,001266:    7545           00006                           EXTEND                                         
042126,001267:    7546           40150                           DCS      MPAC       +3                         #  CALCULATE -X1M2, SAVING X1M3 IN VBUF +2.
042127,001268:    7547           52145                           DXCH     MPAC                                  
042128,001269:    7550           52115                           DXCH     VBUF       +2                         
042129,001270:    7551           07161                           TC       DMPSUB                                
042130,001271: 
042131,001272:    7552           37762                           CAF      TWO                                   #  ADVANCE ADDRWD TO X2.
042132,001273:    7553           26106                           ADS      ADDRWD                                
042133,001274:    7554           00006                           EXTEND                                         
042134,001275:    7555           40152                           DCS      MPAC       +5                         #  PREPARE TO GET -X2M3, SAVING -X1M2 IN
042135,001276:    7556           52145                           DXCH     MPAC                                  #  MPAC +5.
042136,001277:    7557           52152                           DXCH     MPAC       +5                         
042137,001278:    7560           07161                           TC       DMPSUB                                
042138,001279: 
042139,001280:    7561           00006                           EXTEND                                         
042140,001281:    7562           30113                           DCA      VBUF                                  #  GET X2M1, SAVING -X2M3 IN VBUF +4.
042141,001282:    7563           52145                           DXCH     MPAC                                  
042142,001283:    7564           52117                           DXCH     VBUF       +4                         
042143,001284:    7565           07161                           TC       DMPSUB                                
042144,001285: 
042145,001286:    7566           37762                           CAF      TWO                                   #  ADVANCE ADDRWD TO X3.
042146,001287:    7567           26106                           ADS      ADDRWD                                
042147,001288:    7570           00006                           EXTEND                                         
042148,001289:    7571           40113                           DCS      VBUF                                  #  GET -X3M1, ADDING X2M1 TO MPAC +5 TO
042149,001290:    7572           52145                           DXCH     MPAC                                  #  COMPLETE THE Z COMPONENT OF THE ANSWER.
042150,001291:    7573           20152                           DAS      MPAC       +5                         
042151,001292: 
042152,001293:    7574           00006                           EXTEND                                         
042153,001294:    7575           17577                           BZF      +2                                    
042154,001295:    7576           07101                           TC       OVERFLOW                              

Page 993

042156,001297:    7577           07161                           TC       DMPSUB                                
042157,001298:    7600           52115                           DXCH     VBUF       +2                         #  MOVE X1M3 TO MPAC +3 SETTING UP FOR X3M2
042158,001299:    7601           52150                           DXCH     MPAC       +3                         #  AND ADD -X3M1 TO MPAC +3 TO COMPLETE THE
042159,001300:    7602           52145                           DXCH     MPAC                                  #  Y COMPONENT OF THE RESULT.
042160,001301:    7603           20150                           DAS      MPAC       +3                         
042161,001302: 
042162,001303:    7604           00006                           EXTEND                                         
042163,001304:    7605           17607                           BZF      +2                                    
042164,001305:    7606           07101                           TC       OVERFLOW                              
042165,001306: 
042166,001307:    7607           07161                           TC       DMPSUB                                
042167,001308:    7610           52117                           DXCH     VBUF       +4                         #  GO ADD -X2M3 TO X3M2 TO COMPLETE THE X
042168,001309:    7611           17046                           TCF      ENDVXV                                #  COMPONENT (TAIL END OF DAD).
042169,001310: 
042170,001311:                                                                                                  #           THE MPACVBUF SUBROUTINE SAVES THE VECTOR IN MPAC IN VBUF WITHOUT CLOBBERING MPAC.
042171,001312: 
042172,001313:    7612           00006        MPACVBUF           EXTEND                                         #  CALLED BY MXV, VXM, AND UNIT.
042173,001314:    7613           30145                           DCA      MPAC                                  
042174,001315:    7614           52113                           DXCH     VBUF                                  
042175,001316:    7615           00006                           EXTEND                                         
042176,001317:    7616           30150                           DCA      MPAC       +3                         
042177,001318:    7617           52115                           DXCH     VBUF       +2                         
042178,001319:    7620           00006                           EXTEND                                         
042179,001320:    7621           30152                           DCA      MPAC       +5                         
042180,001321:    7622           52117                           DXCH     VBUF       +4                         
042181,001322:    7623           00002                           TC       Q                                     #  RETURN TO CALLER.
042182,001323: 

Page 994

042184,001325:                                                                                                  #           INTERPRETIVE INSTRUCTIONS WHOSE EXECUTION CONSISTS OF PRINCIPALLY CALLING SUBROUTINES.
042185,001326: 
042186,001327:    7624           07161        DMP1               TC       DMPSUB                                #  DMP INSTRUCTION.
042187,001328:    7625           16125                           TCF      DANZIG                                
042188,001329: 
042189,001330:    7626           07161        DMPR               TC       DMPSUB                                
042190,001331:    7627           07211                           TC       ROUNDSUB   +1                         #  (C(A) = +0).
042191,001332:    7630           16125                           TCF      DANZIG                                
042192,001333: 
042193,001334:    7631           00006        DDV                EXTEND                                         
042194,001335:    7632           50106                           INDEX    ADDRWD                                #  MOVE DIVIDEND INTO BUF.
042195,001336:    7633           30001                           DCA      0                                     
042196,001337:    7634           17641                           TCF      BDDV       +4                         
042197,001338: 
042198,001339:    7635           00006        BDDV               EXTEND                                         #  MOVE DIVISOR INTO MPAC SAVING MPAC, THE
042199,001340:    7636           50106                           INDEX    ADDRWD                                #  DIVIDEND, IN BUF.
042200,001341:    7637           30001                           DCA      0                                     
042201,001342:    7640           52145                           DXCH     MPAC                                  
042202,001343:    7641           52121                 +4        DXCH     BUF                                   
042203,001344:    7642           37767                           CAF      ZERO                                  #  DIVIDE ROUTINES IN BANK 0.
042204,001345:    7643           54004                           TS       FBANK                                 
042205,001346:    7644           12352                           TCF      DDV/BDDV                              
042206,001347: 
042207,001348:    7645           30106        SETPD              CA       ADDRWD                                #  MUST SET TO WORK AREA, OR EBANK TROUBLE.
042208,001349:    7646           54156                           TS       PUSHLOC                               
042209,001350:    7647           16127                           TCF      NOIBNKSW                              #  NO FBANK SWITCH REQUIRED.
042210,001351: 
042211,001352:    7650           37767        TSLC               CAF      ZERO                                  #  SHIFTING ROUTINES LOCATED IN BANK 00.
042212,001353:    7651           54004                           TS       FBANK                                 
042213,001354:    7652           12172                           TCF      TSLC2                                 
042214,001355: 
042215,001356:    7653           35342        GSHIFT             CAF      LOW7                                  #  USED AS MASK AT GENSHIFT. THIS PROCESSES
042216,001357:    7654           54004                           TS       FBANK                                 #  ANY SHIFT INSTRUCTION (EXCEPT TSLC) WITH
042217,001358:    7655           12214                           TCF      GENSHIFT                              #  AN ADDRESS (ROUTINES IN BANK 0).
042218,001359: 

Page 995

042220,001361:                                                                                                  #           THE FOLLOWING IS THE PROLOGUE TO V/SC. IF THE PRESENT MODE IS VECTOR, IT SAVES THE SCALAR AT X IN BUF
042221,001362:                                                                                                  #  AND CALLS THE V/SC ROUTINE IN BANK 0. IF THE PRESENT MODE IS SCALAR, IT MOVES THE VECTOR AT X INTO MPAC, SAVING
042222,001363:                                                                                                  #  THE SCALAR IN MPAC IN BUF BEFORE CALLING THE V/SC ROUTINE IN BANK 0.
042223,001364: 
042224,001365: 
042225,001366:    7656           10153        V/SC               CCS      MODE                                  
042226,001367:    7657           17670                           TCF      DV/SC                                 #  MOVE VECTOR INTO MPAC.
042227,001368:    7660           17670                           TCF      DV/SC                                 
042228,001369: 
042229,001370:    7661           00006        VV/SC              EXTEND                                         
042230,001371:    7662           50106                           INDEX    ADDRWD                                
042231,001372:    7663           30001                           DCA      0                                     
042232,001373:    7664           52121        V/SC1              DXCH     BUF                                   #  IN BOTH CASES, VECTOR IS NOW IN MPAC AND
042233,001374:    7665           37767                           CAF      ZERO                                  #  SCALAR IN BUF.
042234,001375:    7666           54004                           TS       FBANK                                 
042235,001376:    7667           12630                           TCF      V/SC2                                 
042236,001377: 
042237,001378:    7670           00006        DV/SC              EXTEND                                         
042238,001379:    7671           50106                           INDEX    ADDRWD                                
042239,001380:    7672           30003                           DCA      2                                     
042240,001381:    7673           52150                           DXCH     MPAC       +3                         
042241,001382:    7674           00006                           EXTEND                                         
042242,001383:    7675           50106                           INDEX    ADDRWD                                
042243,001384:    7676           30005                           DCA      4                                     
042244,001385:    7677           52152                           DXCH     MPAC       +5                         
042245,001386: 
042246,001387:    7700           47763                           CS       ONE                                   #  CHANGE MODE TO VECTOR.
042247,001388:    7701           54153                           TS       MODE                                  
042248,001389: 
042249,001390:    7702           00006                           EXTEND                                         
042250,001391:    7703           50106                           INDEX    ADDRWD                                
042251,001392:    7704           30001                           DCA      0                                     
042252,001393:    7705           52145                           DXCH     MPAC                                  
042253,001394:    7706           17664                           TCF      V/SC1                                 #  FINISH PROLOGUE AT COMMON SECTION.
042254,001395: 

Page 996

042256,001397:                                                                                                  #           SIGN AND COMPLEMENT INSTRUCTIONS.
042257,001398: 
042258,001399:    7707           50106        SIGN               INDEX    ADDRWD                                #  CALL COMP INSTRUCTION IF WORD AT X IS
042259,001400:    7710           10000                           CCS      0                                     #  NEGATIVE NON-ZERO.
042260,001401:    7711           16125                           TCF      DANZIG                                
042261,001402:    7712           17714                           TCF      +2                                    
042262,001403:    7713           17722                           TCF      COMP                                  #  DO THE COMPLEMENT.
042263,001404: 
042264,001405:    7714           50106                           INDEX    ADDRWD                                
042265,001406:    7715           10001                           CCS      1                                     
042266,001407:    7716           16125                           TCF      DANZIG                                
042267,001408:    7717           16125                           TCF      DANZIG                                
042268,001409:    7720           17722                           TCF      COMP                                  
042269,001410:    7721           16125                           TCF      DANZIG                                
042270,001411:    7722           00006        COMP               EXTEND                                         #  COMPLEMENT DP MPAC IN EVERY CASE.
042271,001412:    7723           40145                           DCS      MPAC                                  
042272,001413:    7724           52145                           DXCH     MPAC                                  
042273,001414: 
042274,001415:    7725           10153                           CCS      MODE                                  #  EITHER COMPLEMENT MPAC +3 OR THE REST OF
042275,001416:    7726           17737                           TCF      DCOMP                                 #  THE VECTOR ACCUMULATOR.
042276,001417:    7727           17737                           TCF      DCOMP                                 
042277,001418: 
042278,001419:    7730           00006                           EXTEND                                         #  VECTOR COMPLEMENT.
042279,001420:    7731           40150                           DCS      MPAC       +3                         
042280,001421:    7732           52150                           DXCH     MPAC       +3                         
042281,001422:    7733           00006                           EXTEND                                         
042282,001423:    7734           40152                           DCS      MPAC       +5                         
042283,001424:    7735           52152                           DXCH     MPAC       +5                         
042284,001425:    7736           16125                           TCF      DANZIG                                
042285,001426: 
042286,001427:    7737           40146        DCOMP              CS       MPAC       +2                         
042287,001428:    7740           54146                           TS       MPAC       +2                         
042288,001429:    7741           16125                           TCF      DANZIG                                
042289,001430: 

Page 997

042291,001432:                                                                                                  #           CONSTANTS REQUIRED IN FIXED-FIXED.
042292,001433:    7742           37777        DPOSMAX            OCT      37777                                 
042293,001434:    7743           37777        POSMAX             OCT      37777                                 
042294,001435:    7744     7744               LIMITS             EQUALS   POSMAX     +1                         
042295,001436:    7744           57777        NEG1/2             OCT      -20000                                #  MUST BE TWO LOCATIONS AHEAD OF POS1/2.
042296,001437: 
042297,001438:    7745           40000        BIT15              OCT      40000                                 #  BIT TABLE FOLLOWS.
042298,001439:    7746           20000        BIT14              OCT      20000                                 
042299,001440:    7747           10000        BIT13              OCT      10000                                 
042300,001441:    7750           04000        BIT12              OCT      04000                                 
042301,001442:    7751           02000        BIT11              OCT      02000                                 
042302,001443:    7752           01000        BIT10              OCT      01000                                 
042303,001444:    7753           00400        BIT9               OCT      00400                                 
042304,001445:    7754           00200        BIT8               OCT      00200                                 
042305,001446:    7755           00100        BIT7               OCT      00100                                 
042306,001447:    7756           00040        BIT6               OCT      00040                                 
042307,001448:    7757           00020        BIT5               OCT      00020                                 
042308,001449:    7760           00010        BIT4               OCT      00010                                 
042309,001450:    7761           00004        BIT3               OCT      00004                                 
042310,001451:    7762           00002        BIT2               OCT      00002                                 
042311,001452:    7763           00001        BIT1               OCT      00001                                 
042312,001453: 
042313,001454:    7764     7745               NEGMAX             EQUALS   BIT15                                 
042314,001455:    7764     7746               HALF               EQUALS   BIT14                                 
042315,001456:    7764     7746               POS1/2             EQUALS   HALF                                  
042316,001457:    7764     7747               QUARTER            EQUALS   BIT13                                 
042317,001458:    7764     7751               2K                 EQUALS   BIT11                                 
042318,001459:    7764           00013        ELEVEN             DEC      11         B-14                       
042319,001460:    7765     7764               NOUTCON            =        ELEVEN                                
042320,001461:    7765     4570               TEN                =        BINCON                                
042321,001462:    7765     4530               NINE               =        R2D1                                  
042322,001463:    7765     7760               EIGHT              EQUALS   BIT4                                  
042323,001464:    7765           00007        SEVEN              OCT      7                                     
042324,001465:    7766     6306               SIX                EQUALS   REVCNT                                
042325,001466:    7766           00005        FIVE               OCT      5                                     
042326,001467:    7767     7761               FOUR               EQUALS   BIT3                                  
042327,001468:    7767     6311               THREE              EQUALS   OCTAL3                                
042328,001469:    7767     7762               TWO                EQUALS   BIT2                                  
042329,001470:    7767     7763               ONE                EQUALS   BIT1                                  
042330,001471:    7767           00000        ZERO               OCT      0                                     
042331,001472:    7770           77777        NEG0               OCT      77777                                 
042332,001473:    7771           77776        NEGONE             DEC      -1         B-14                       
042333,001474: 
042334,001475:    7772     7771               NEG1               =        NEGONE                                
042335,001476:    7772     7771               MINUS1             EQUALS   NEG1                                  
042336,001477: 
042337,001478:    5336                                           BLOCK    02                                    
042338,001479: 
042339,001480:    5336           77775        NEG2               OCT      77775                                 

Page 998

042341,001482:    5337           01777        LOW10              OCT      1777                                  
042342,001483:    5340           77774        NEG3               DEC      -3         B-14                       
042343,001484:    5341           00777        LOW9               OCT      777                                   
042344,001485:    5342           00177        LOW7               OCT      177                                   
042345,001486:    5343           00017        LOW4               OCT      17                                    
042346,001487:    5344     7765               LOW3               EQUALS   SEVEN                                 
042347,001488:    5344     6311               LOW2               EQUALS   THREE                                 
042348,001489: 
042349,001490:    5344           00032        CALLCODE           OCT      00032                                 
042350,001491:    5345           40014        DLOADCOD           OCT      40014                                 
042351,001492:    5346     7745               VLOADCOD           EQUALS   BIT15                                 
042352,001493:    5346           40015        DLOAD*             OCT      40015                                 
042353,001494:    5347     6153               VLOAD*             EQUALS   OCT40001                              
042354,001495:    5347           00112        LVBUF              ADRES    VBUF                                  
042355,001496:    5350     5210               BIT13-14           =        PRIO30                                
042356,001497:                                                                                                  #  THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07 (WNACTV) FOR ACCESSING THE EVENTUALLY THREE AND ONE-HALF
042357,001498:                                                                                                  #  PRESENTLY ONE AND ONE-HALF SUPERBANKS.
042358,001499: 
042359,001500:    5350           00060        SUPER011           OCT      60                                    #  BITS FOR SUPERBNK SETTING 011
042360,001501:    5351     7755               SUPER100           EQUALS   BIT7                                  #  BITS FOR SUPERBNK SETTING 100
042361,001502:                                                                                                  #                                                                  (LAST 4K OF ROPE)
042362,001503:                                                                                                  #  SUPER101        OCT             120                             BITS FOR SUPERBNK SETTING 101
042363,001504:                                                                                                  #                                                                  (FIRST 8K OF ACM)
042364,001505:                                                                                                  #  SUPER110        OCT             140                             BITS FOR SUPERBNK SETTING 110
042365,001506:                                                                                                  #                                                                  (LAST 8K OF ACM)
042366,001507:    5351           74000        HIGH4              OCT      74000                                 
042367,001508:    5352           01400        OCT1400            OCT      01400                                 
042368,001509:    5353           00055        DEC45              DEC      45         B-14                       
042369,001510: 

Page 999

042371,001512:                                                                                                  #           THE FOLLOWING SHORT SHIFT CODES REQUIRE NO ADDRESS WORD:
042372,001513: 
042373,001514:                                                                                                  #           1.  SR1 TO SR4         SCALAR SHIFT RIGHT.
042374,001515:                                                                                                  #           2.  SR1R TO SR4R       SCALAR SHIFT RIGHT AND ROUND.
042375,001516:                                                                                                  #           3.  SL1 TO SL4         SCALAR SHIFT LEFT.
042376,001517:                                                                                                  #           4.  SL1R TO SL4R       SCALAR SHIFT LEFT AND ROUND.
042377,001518: 
042378,001519:                                                                                                  #           5.  VSR1 TO VSR8       VECTOR SHIFT RIGHT (ALWAYS ROUNDS).
042379,001520:                                                                                                  #           6.  VSL1 TO VSL8       VECTOR SHIFT LEFT (NEVER ROUNDS).
042380,001521: 
042381,001522:                                                                                                  #           THE FOLLOWING CODES REQUIRE AN ADDRESS WHICH MAY BE INDEXED:*
042382,001523: 
042383,001524:                                                                                                  #           1.  SR                 SCALAR SHIFT RIGHT.
042384,001525:                                                                                                  #           2.  SRR                SCALAR SHIFT RIGHT AND ROUND.
042385,001526:                                                                                                  #           3.  SL                 SCALAR SHIFT LEFT.
042386,001527:                                                                                                  #           4.  SLR                SCALAR SHIFT LEFT AND ROUND.
042387,001528: 
042388,001529:                                                                                                  #           5.  VSR                VECTOR SHIFT RIGHT.
042389,001530:                                                                                                  #           6.  VSL                VECTOR SHIFT LEFT.
042390,001531: 
042391,001532:                                                                                                  #  *  IF THE ADDRESS IS INDEXED, AND THE INDEX MODIFICATION RESULTS IN A NEGATIVE SHIFT COUNT, A SHIFT OF THE
042392,001533:                                                                                                  #  ABSOLUTE VALUE OF THE COUNT IS DONE IN THE OPPOSITE DIRECTION.
042393,001534: 
042394,001535: 00,2017                                           BANK     00                                    
042395,001536: 
042396,001537: 00,2017           36306        SHORTT             CAF      SIX                                   #  SCALAR SHORT SHIFTS COME HERE. THE SHIFT
042397,001538: 00,2020           70020                           MASK     CYR                                   #  COUNT-1 IS NOW IN BITS 2-3 OF CYR. THE
042398,001539: 00,2021           54021                           TS       SR                                    #  ROUNDING BIT IS IN BIT1 AT THIS POINT.
042399,001540: 
042400,001541: 00,2022           10020                           CCS      CYR                                   #  SEE IF RIGHT OR LEFT SHIFT DESIRED.
042401,001542: 00,2023           12101                           TCF      TSSL                                  #  SHIFT LEFT.
042402,001543: 
042403,001544: 00,2024           00024        SRDDV              DEC      20         B-14                       #  MPTEMP SETTING FOR SR BEFORE DDV.
042404,001545: 
042405,001546: 00,2025           50021        TSSR               INDEX    SR                                    #  GET SHIFTING BIT.
042406,001547: 00,2026           37746                           CAF      BIT14                                 
042407,001548: 00,2027           54125                           TS       MPTEMP                                
042408,001549: 
042409,001550: 00,2030           10020                           CCS      CYR                                   #  SEE IF A ROUND IS DESIRED.
042410,001551: 00,2031           02050        RIGHTR             TC       MPACSRND                              #  YES - SHIFT RIGHT AND ROUND.
042411,001552: 00,2032           16124                           TCF      NEWMODE                               #  SET MODE TO DP (C(A) = 0).
042412,001553: 00,2033           30125        MPACSHR            CA       MPTEMP                                #  DO A TRIPLE PRECISION SHIFT RIGHT.
042413,001554: 00,2034           00006                           EXTEND                                         
042414,001555: 00,2035           70146                           MP       MPAC       +2                         
042415,001556: 00,2036           54146                 +3        TS       MPAC       +2                         #  (EXIT FROM SQRT AND ABVAL).
042416,001557: 00,2037           30125                           CA       MPTEMP                                
042417,001558: 00,2040           00006                           EXTEND                                         
042418,001559: 00,2041           70144                           MP       MPAC                                  #  SHIFT MAJOR PART INTO A,L AND PLACE IN

Page 1000

042420,001561: 00,2042           52145                           DXCH     MPAC                                  #  MPAC,+1.
042421,001562: 00,2043           30125                           CA       MPTEMP                                
042422,001563: 00,2044           00006                           EXTEND                                         
042423,001564: 00,2045           70001                           MP       L                                     #  ORIGINAL C(MPAC +1).
042424,001565: 00,2046           20146                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
042425,001566: 00,2047           16125                           TCF      DANZIG                                
042426,001567: 
042427,001568:                                                                                                  #           MPAC SHIFT RIGHT AND ROUND SUBROUTINES.
042428,001569: 
042429,001570: 00,2050           30146        MPACSRND           CA       MPAC       +2                         #  WE HAVE TO DO ALL THREE MULTIPLIES SINCE
042430,001571: 00,2051           00006                           EXTEND                                         #  MPAC +1 AND MPAC +2 MIGHT HAVE SIGN
042431,001572: 00,2052           70125                           MP       MPTEMP                                #  DISAGREEMENT WITH A SHIFT RIGHT OF 1.
042432,001573: 00,2053           56145                           XCH      MPAC       +1                         
042433,001574: 00,2054           00006                           EXTEND                                         
042434,001575: 00,2055           70125                           MP       MPTEMP                                
042435,001576: 00,2056           56145                           XCH      MPAC       +1                         #  TRIAL MINOR PART.
042436,001577: 00,2057           60001                           AD       L                                     
042437,001578: 
042438,001579: 00,2060           60000        VSHR2              DOUBLE                                         #  (FINISH VECTOR COMPONENT SHIFT RIGHT
042439,001580: 00,2061           54146                           TS       MPAC       +2                         #  AND ROUND.
042440,001581: 00,2062           12064                           TCF      +2                                    
042441,001582: 00,2063           26145                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
042442,001583: 
042443,001584: 00,2064           37767                           CAF      ZERO                                  
042444,001585: 00,2065           54146                           TS       MPAC       +2                         
042445,001586: 00,2066           56144                           XCH      MPAC                                  #  SETTING TO ZERO SO FOLLOWING DAS WORKS.
042446,001587: 00,2067           00006                           EXTEND                                         
042447,001588: 00,2070           70125                           MP       MPTEMP                                
042448,001589: 00,2071           20145                           DAS      MPAC                                  #  AGAIN NO OVERFLOW.
042449,001590: 00,2072           00002                           TC       Q                                     
042450,001591: 
042451,001592: 00,2073           30125        VSHRRND            CA       MPTEMP                                #  ENTRY TO SHIFT RIGHT AND ROUND MPAC WHEN
042452,001593: 00,2074           00006                           EXTEND                                         #  MPAC CONTAINS A VECTOR COMPONENT.
042453,001594: 00,2075           70145                           MP       MPAC       +1                         
042454,001595: 00,2076           54145                           TS       MPAC       +1                         
042455,001596: 00,2077           56001                           XCH      L                                     
042456,001597: 00,2100           12060                           TCF      VSHR2                                 #  GO ADD ONE IF NECESSARY AND FINISH.
042457,001598: 

Page 1001

042459,001600:                                                                                                  #           ROUTINE FOR SHORT SCALAR SHIFT LEFT (AND MAYBE ROUND).
042460,001601: 
042461,001602: 00,2101           30021        TSSL               CA       SR                                    #  GET SHIFT COUNT FOR SR.
042462,001603: 00,2102           54125                 +1        TS       MPTEMP                                
042463,001604: 
042464,001605: 00,2103           00006                 +2        EXTEND                                         #  ENTRY HERE FROM SL FOR SCALARS.
042465,001606: 00,2104           30146                           DCA      MPAC       +1                         #  SHIFTING LEFT ONE PLACE AT A TIME IS
042466,001607: 00,2105           20146                           DAS      MPAC       +1                         #  FASTER THAN DOING THE WHOLE SHIFT WITH
042467,001608: 00,2106           60144                           AD       MPAC                                  #  MULTIPLIES ASSUMING THAT FREQUENCY OF
042468,001609: 00,2107           60144                           AD       MPAC                                  #  SHIFT COUNTS GOES DOWN RAPIDLY AS A
042469,001610: 00,2110           54144                           TS       MPAC                                  #  FUNCTION OF THEIR MAGNITUDE.
042470,001611: 00,2111           12113                           TCF      +2                                    
042471,001612: 00,2112           54111                           TS       OVFIND                                #  OVERFLOW.  (LEAVES OVERFLOW-CORRECTED
042472,001613:                                                                                                  #  RESULT ANYWAY).
042473,001614: 00,2113           10125                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNT.
042474,001615: 00,2114           12102                           TCF      TSSL       +1                         
042475,001616: 
042476,001617: 00,2115           10020                           CCS      CYR                                   #  SEE IF ROUND WANTED.
042477,001618: 00,2116           07210        ROUND              TC       ROUNDSUB                              #  YES - ROUND AND EXIT.
042478,001619: 00,2117           16125                           TCF      DANZIG                                #  SL LEAVES A ZERO IN CYR FOR NO ROUND.
042479,001620: 00,2120           16125                           TCF      DANZIG                                #  NO - EXIT IMMEDIATL
042480,001621: 

Page 1002

042482,001623:                                                                                                  #  VECTOR SHIFTING ROUTINES.
042483,001624: 
042484,001625: 00,2121           37765        SHORTV             CAF      LOW3                                  #  SAVE 3 BIT SHIFT COUNT - 1 WITHOUT
042485,001626: 00,2122           70020                           MASK     CYR                                   #  EDITING CYR.
042486,001627: 00,2123           54125                           TS       MPTEMP                                
042487,001628: 00,2124           10020                           CCS      CYR                                   #  SEE IF LEFT OR RIGHT SHIFT.
042488,001629: 00,2125           12145                           TCF      VSSL                                  #  VECTOR SHIFT LEFT.
042489,001630: 00,2126           00176        OCT176             OCT      176                                   #  USED IN PROCESSED SHIFTS WITH - COUNT.
042490,001631: 
042491,001632: 00,2127           50125        VSSR               INDEX    MPTEMP                                #  (ENTRY FROM SR). PICK UP SHIFTING BIT.
042492,001633: 00,2130           37746                           CAF      BIT14                                 #  MPTEMP CONTAINS THE SHIFT COUNT - 1.
042493,001634: 00,2131           54125                           TS       MPTEMP                                
042494,001635: 00,2132           02073                           TC       VSHRRND                               #  SHIFT X COMPONENT.
042495,001636: 
042496,001637: 00,2133           52145                           DXCH     MPAC                                  #  SWAP X AND Y COMPONENTS.
042497,001638: 00,2134           52150                           DXCH     MPAC       +3                         
042498,001639: 00,2135           52145                           DXCH     MPAC                                  
042499,001640: 00,2136           02073                           TC       VSHRRND                               #  SHIFT Y COMPONENT.
042500,001641: 
042501,001642: 00,2137           52145                           DXCH     MPAC                                  #  SWAP Y AND Z COMPONENTS.
042502,001643: 00,2140           52152                           DXCH     MPAC       +5                         
042503,001644: 00,2141           52145                           DXCH     MPAC                                  
042504,001645: 00,2142           02073                           TC       VSHRRND                               #  SHIFT Z COMPONENT.
042505,001646: 
042506,001647: 00,2143           17477                           TCF      VROTATEX                              #  RESTORE COMPONENTS TO PROPER PLACES.
042507,001648: 

Page 1003

042509,001650:                                                                                                  #  VECTOR SHIFT LEFT - DONE ONE PLACE AT A TIME.
042510,001651: 
042511,001652: 00,2144           54125                 -1        TS       MPTEMP                                #  SHIFTING LOOP.
042512,001653: 
042513,001654: 00,2145           00006        VSSL               EXTEND                                         
042514,001655: 00,2146           30145                           DCA      MPAC                                  
042515,001656: 00,2147           20145                           DAS      MPAC                                  
042516,001657: 00,2150           00006                           EXTEND                                         
042517,001658: 00,2151           12153                           BZF      +2                                    
042518,001659: 00,2152           07101                           TC       OVERFLOW                              
042519,001660: 
042520,001661: 00,2153           00006                           EXTEND                                         
042521,001662: 00,2154           30150                           DCA      MPAC       +3                         
042522,001663: 00,2155           20150                           DAS      MPAC       +3                         
042523,001664: 00,2156           00006                           EXTEND                                         
042524,001665: 00,2157           12161                           BZF      +2                                    
042525,001666: 00,2160           07101                           TC       OVERFLOW                              
042526,001667: 
042527,001668: 00,2161           00006                           EXTEND                                         
042528,001669: 00,2162           30152                           DCA      MPAC       +5                         
042529,001670: 00,2163           20152                           DAS      MPAC       +5                         
042530,001671: 00,2164           00006                           EXTEND                                         
042531,001672: 00,2165           12167                           BZF      +2                                    
042532,001673: 00,2166           07101                           TC       OVERFLOW                              
042533,001674: 
042534,001675: 00,2167           10125                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNTER.
042535,001676: 00,2170           12144                           TCF      VSSL       -1                         
042536,001677: 00,2171           16125                           TCF      DANZIG                                #  EXIT.
042537,001678: 

Page 1004

042539,001680:                                                                                                  #           TSLC - TRIPLE SHIFT LEFT AND COUNT. SHIFTS MPAC LEFT UNTIL GREATER THAN .5 IN MAGNITUDE, LEAVING
042540,001681:                                                                                                  #  THE COMPLEMENT OF THE NUMBER OF SHIFTS REQUIRED IN X.
042541,001682: 
042542,001683: 00,2172           54125        TSLC2              TS       MPTEMP                                #  START BY ZEROING SHIFT COUNT (IN A NOW).
042543,001684: 00,2173           07001                           TC       BRANCH                                #  EXIT WITH NO SHIFTING IF ARGUMENT ZERO.
042544,001685: 00,2174           12176                           TCF      +2                                    
042545,001686: 00,2175           12212                           TCF      ENDTSLC                               #  STORES ZERO SHIFT COUNT IN THIS CASE.
042546,001687: 
042547,001688: 00,2176           07327                           TC       TPAGREE                               #  MAY CAUSE UPSHIFT OF ONE EXTRA PLACE.
042548,001689: 
042549,001690: 00,2177           30144                           CA       MPAC                                  #  BEGIN NORMALIZATION LOOP.
042550,001691: 00,2200           12207                           TCF      TSLCTEST                              
042551,001692: 
042552,001693: 00,2201           24125        TSLCLOOP           INCR     MPTEMP                                #  INCREMENT SHIFT COUNTER.
042553,001694: 00,2202           00006                           EXTEND                                         
042554,001695: 00,2203           30146                           DCA      MPAC       +1                         
042555,001696: 00,2204           20146                           DAS      MPAC       +1                         
042556,001697: 00,2205           60144                           AD       MPAC                                  
042557,001698: 00,2206           26144                           ADS      MPAC                                  
042558,001699: 00,2207           60000        TSLCTEST           DOUBLE                                         #  SEE IF (ANOTHER) SHIFT IS REQUIRED.
042559,001700: 00,2210           54000                           OVSK                                           
042560,001701: 00,2211           12201                           TCF      TSLCLOOP                              #  YES - INCREMENT COUNT AND SHIFT AGAIN.
042561,001702: 
042562,001703: 00,2212           40125        ENDTSLC            CS       MPTEMP                                
042563,001704: 00,2213           16701                           TCF      STORE1                                #  STORE SHIFT COUNT AND RETURN TO DANZIG.
042564,001705: 

Page 1005

042566,001707:                                                                                                  #           THE FOLLOWING ROUTINES PROCESSES THE GENERAL SHIFT INSTRUCTIONS SR, SRR, SL, AND SLR.
042567,001708:                                                                                                  #  THE GIVEN ADDRESS IS DECODED AS FOLLOWS:
042568,001709: 
042569,001710:                                                                                                  #           BITS 1-7    SHIFT COUNT (SUBADDRESS) LESS THAN 125 DECIMAL.
042570,001711:                                                                                                  #           BIT 8       PSEUDO SIGN BIT (DETECTS CHANGE IN SIGN IN INDEXED SHIFTS).
042571,001712:                                                                                                  #           BIT 9       0 FOR LEFT SHIFT, AND 1 FOR RIGHT SHIFT.
042572,001713:                                                                                                  #           BIT 10      1 FOR TERMINAL ROUND ON SCALAR SHIFTS, 0 OTHERWISE.
042573,001714:                                                                                                  #           BITS 11-13  0.
042574,001715:                                                                                                  #           BIT 14      1.
042575,001716:                                                                                                  #           BIT 15      0.
042576,001717: 
042577,001718:                                                                                                  #  THE ABOVE ENCODING IS DONE BY THE YUL SYSTEM.
042578,001719: 
042579,001720: 
042580,001721: 00,2214           70106        GENSHIFT           MASK     ADDRWD                                #  GET SHIFT COUNT, TESTING FOR ZERO.
042581,001722: 00,2215           10000                           CCS      A                                     #  (ARRIVES WITH C(A) = LOW7).
042582,001723: 00,2216           12224                           TCF      GENSHFT2                              #  IF NON-ZERO, PROCEED WITH DECREMENTED CT
042583,001724: 
042584,001725: 00,2217           37752                           CAF      BIT10                                 #  ZERO SHIFT COUNT. NO SHIFTS NEEDED BUT
042585,001726: 00,2220           70106                           MASK     ADDRWD                                #  WE MIGHT HAVE TO ROUND MPAC ON SLR AND
042586,001727: 00,2221           10000                           CCS      A                                     #  SRR (SCALAR ONLY).
042587,001728: 00,2222           07210                           TC       ROUNDSUB                              
042588,001729: 00,2223           16125                           TCF      DANZIG                                
042589,001730: 
042590,001731: 00,2224           54125        GENSHFT2           TS       MPTEMP                                #  DECREMENTED SHIFT COUNT TO MPTEMP.
042591,001732: 00,2225           37754                           CAF      BIT8                                  #  TEST MEANING OF LOW SEVEN BIT COUNT IN
042592,001733: 00,2226           00006                           EXTEND                                         #  MPTEMP NOW.
042593,001734: 00,2227           70106                           MP       ADDRWD                                
042594,001735: 00,2230           76311                           MASK     LOW2                                  #  JUMPS ON SHIFT DIRECTION (BIT8) AND
042595,001736: 00,2231           50000                           INDEX    A                                     
042596,001737: 00,2232           12233                           TCF      +1                                    #  ORIGINAL SHIFT DIRECTION (BIT 9).
042597,001738: 00,2233           12332                           TCF      RIGHT-                                #  NEGATIVE SHIFT COUNT FOR SL OR SLR.
042598,001739: 00,2234           12341                           TCF      LEFT                                  #  SL OR SLR.
042599,001740: 00,2235           12336                           TCF      LEFT-                                 #  NEGATIVE SHIFT COUNT WITH SR OR SRR.
042600,001741: 

Page 1006

042602,001743:                                                                                                  #           GENERAL SHIFT RIGHT.
042603,001744: 
042604,001745: 00,2236           10153        RIGHT              CCS      MODE                                  #  SEE IF VECTOR OR SCALAR.
042605,001746: 00,2237           12277                           TCF      GENSCR                                
042606,001747: 00,2240           12277                           TCF      GENSCR                                
042607,001748: 
042608,001749: 00,2241           30125                           CA       MPTEMP                                #  SEE IF SHIFT COUNT LESS THAN 14D.
042609,001750: 00,2242           63710        VRIGHT2            AD       NEG12                                 
042610,001751: 00,2243           00006                           EXTEND                                         
042611,001752: 00,2244           62127                           BZMF     VSSR                                  #  IF SO, BRANCH AND SHIFT IMMEDIATELY.
042612,001753: 
042613,001754: 00,2245           67771                           AD       NEGONE                                #  IF NOT, REDUCE MPTEMP BY A TOTAL OF 14,
042614,001755: 00,2246           54125                           TS       MPTEMP                                #  AND DO A SHIFT RIGHT AND ROUND BY 14.
042615,001756: 00,2247           37767                           CAF      ZERO                                  #  THE ROUND AT THIS STAGE MAY INTRODUCE A
042616,001757: 00,2250           54001                           TS       L                                     #  ONE BIT ERROR IN A SHIFT RIGHT 15D.
042617,001758: 00,2251           56144                           XCH      MPAC                                  
042618,001759: 00,2252           56145                           XCH      MPAC       +1                         
042619,001760: 00,2253           02272                           TC       SETROUND                              #  X COMPONENT NOW SHIFTED, SO MAKE UP THE
042620,001761: 00,2254           20145                           DAS      MPAC                                  #  ROUNDING QUANTITY (0 IN A AND 0 OR +-1
042621,001762:                                                                                                  #  IN L).
042622,001763: 00,2255           56147                           XCH      MPAC       +3                         #  REPEAT THE ABOVE PROCESS FOR Y AND Z.
042623,001764: 00,2256           56150                           XCH      MPAC       +4                         
042624,001765: 00,2257           02272                           TC       SETROUND                              
042625,001766: 00,2260           20150                           DAS      MPAC       +3                         #  NO OVERFLOW ON THESE ADDS.
042626,001767: 
042627,001768: 00,2261           56151                           XCH      MPAC       +5                         
042628,001769: 00,2262           56152                           XCH      MPAC       +6                         
042629,001770: 00,2263           02272                           TC       SETROUND                              
042630,001771: 00,2264           20152                           DAS      MPAC       +5                         
042631,001772: 
042632,001773: 00,2265           10125                           CCS      MPTEMP                                #  SEE IF DONE, DOING FINAL DECREMENT.
042633,001774: 00,2266           54125                           TS       MPTEMP                                
042634,001775: 00,2267           12242                           TCF      VRIGHT2                               
042635,001776: 00,2270           04604        BIASLO             DEC      .2974      B-1                        #  SQRT CONSTANT
042636,001777: 
042637,001778: 00,2271           16125                           TCF      DANZIG                                
042638,001779: 
042639,001780: 
042640,001781: 00,2272           60000        SETROUND           DOUBLE                                         #  MAKES UP ROUNDING QUANTITY FROM ARRIVING
042641,001782: 00,2273           54146                           TS       MPAC       +2                         #  C(A). L IS ZERO INITIALLY.
042642,001783: 00,2274           37767                           CAF      ZERO                                  
042643,001784: 00,2275           56001                           XCH      L                                     
042644,001785: 00,2276           00002                           TC       Q                                     #  RETURN AND DO THE DAS, RESETTING L TO 0.
042645,001786: 

Page 1007

042647,001788:                                                                                                  #           PROCESS SR AND SRR FOR SCALARS.
042648,001789: 
042649,001790: 00,2277           30125        GENSCR             CA       MPTEMP                                #  SEE IF THE ORIGINAL SHIFT COUNT WAS LESS
042650,001791: 00,2300           63710                 +1        AD       NEG12                                 #  THAN 14D.
042651,001792: 00,2301           00006                           EXTEND                                         
042652,001793: 00,2302           62322                           BZMF     DOSSHFT                               #  DO THE SHIFT IMMEDIATELY IF SO.
042653,001794: 
042654,001795: 00,2303           67771                 +4        AD       NEGONE                                #  IF NOT, DECREMENT SHIFT COUNT BY 14D AND
042655,001796: 00,2304           54125                           TS       MPTEMP                                #  SHIFT MPAC RIGHT 14 PLACES.
042656,001797: 00,2305           37767                           CAF      ZERO                                  
042657,001798: 00,2306           56144                           XCH      MPAC                                  
042658,001799: 00,2307           56145                           XCH      MPAC       +1                         
042659,001800: 00,2310           54146                           TS       MPAC       +2                         
042660,001801: 00,2311           10125                           CCS      MPTEMP                                #  SEE IF FINISHED, DO FINAL DECREMENT.
042661,001802: 00,2312           54125                           TS       MPTEMP                                
042662,001803: 00,2313           02300                           TC       GENSCR     +1                         
042663,001804: 00,2314           22650        SLOPEHI            DEC      .5884                                 #  SQRT CONSTANT.
042664,001805: 00,2315           37752                           CAF      BIT10                                 #  FINISHED WITH SHIFT. SEE IF ROUND
042665,001806: 00,2316           70106                           MASK     ADDRWD                                #  WANTED.
042666,001807: 00,2317           10000                           CCS      A                                     
042667,001808: 00,2320           07210                           TC       ROUNDSUB                              
042668,001809: 00,2321           16125                           TCF      DANZIG                                #  DO SO AND/OR EXIT.
042669,001810: 
042670,001811: 00,2322           50125        DOSSHFT            INDEX    MPTEMP                                #  PICK UP SHIFTING BIT.
042671,001812: 00,2323           37746                           CAF      BIT14                                 
042672,001813: 00,2324           54125                           TS       MPTEMP                                
042673,001814: 00,2325           37752                           CAF      BIT10                                 #  SEE IF TERMINAL ROUND DESIRED.
042674,001815: 00,2326           70106                           MASK     ADDRWD                                
042675,001816: 00,2327           10000                           CCS      A                                     
042676,001817: 00,2330           12031                           TCF      RIGHTR                                #  YES.
042677,001818: 00,2331           12033                           TCF      MPACSHR                               #  JUST SHIFT RIGHT.
042678,001819: 

Page 1008

042680,001821:                                                                                                  #           PROCESS THE RIGHT- (SL(R) WITH A NEGATIVE COUNT), LEFT-, AND LEFT OPTIONS.
042681,001822: 
042682,001823: 00,2332           40125        RIGHT-             CS       MPTEMP                                #  GET ABSOLUTE VALUE - 1 OF SHIFT COUNT
042683,001824: 00,2333           62126                           AD       OCT176                                #  UNDERSTANDING THAT BIT8 (PSEUDO-SIGN)
042684,001825: 00,2334           54125                           TS       MPTEMP                                #  WAS 1 INITIALLY.
042685,001826: 00,2335           12236                           TCF      RIGHT                                 #  DO NORMAL SHIFT RIGHT.
042686,001827: 
042687,001828: 00,2336           40125        LEFT-              CS       MPTEMP                                #  SAME PROLOGUE TO LEFT FOR INDEXED RIGHT
042688,001829: 00,2337           62126                           AD       OCT176                                #  SHIFTS WHOSE NET SHIFT COUNT IS NEGATIVE
042689,001830: 00,2340           54125                           TS       MPTEMP                                
042690,001831: 
042691,001832: 00,2341           10153        LEFT               CCS      MODE                                  #  SINCE LEFT SHIFTING IS SONE ONE PLACE AT
042692,001833: 00,2342           12345                           TCF      GENSCL                                #  A TIME, NO COMPARISON WITH 14 NEED BE
042693,001834: 00,2343           12345                           TCF      GENSCL                                #  DONE. FOR SCALARS, SEE IF TERMINAL ROUND
042694,001835: 00,2344           12145                           TCF      VSSL                                  #  DESIRED. FOR VECTORS, SHIFT IMMEDIATELY.
042695,001836: 
042696,001837: 00,2345           37756        GENSCL             CAF      BIT6                                  #  PUT ROUNDING BIT (BIT10 OF ADDRWD) INTO
042697,001838: 00,2346           00006                           EXTEND                                         #  BIT 15 OF CYR WHERE THE ROUNDING BIT OF
042698,001839: 00,2347           70106                           MP       ADDRWD                                #  A SHORT SHIFT LEFT WOULD BE.
042699,001840: 00,2350           54020                           TS       CYR                                   
042700,001841: 00,2351           12103                           TCF      TSSL       +2                         #  DO THE SHIFT.
042701,001842: 

Page 1009

042703,001844:                                                                                                  #           SCALAR DIVISION INSTRUCTIONS, DDV AND BDDV, ARE EXECUTED HERE. AT THIS POINT, THE DIVIDEND IS IN MPAC
042704,001845:                                                                                                  #  AND THE DIVISOR IN BUF.
042705,001846: 
042706,001847: 00,2352           47763        DDV/BDDV           CS       ONE                                   #  INITIALIZATION.
042707,001848: 00,2353           54126                           TS       DVSIGN                                #  +-1 FOR POSITIVE QUOTIENT - -0 FOR NEG.
042708,001849: 00,2354           54127                           TS       DVNORMCT                              #  DIVIDEND NORMALIZATION COUNT.
042709,001850: 00,2355           54130                           TS       MAXDVSW                               #  NEAR-ONE DIVIDE FLAG.
042710,001851: 
042711,001852: 00,2356           10120                           CCS      BUF                                   #  FORCE BUF POSITIVE WITH THE MAJOR PART
042712,001853: 00,2357           13712                           TCF      BUFPOS                                #  NON-ZERO.
042713,001854: 00,2360           12362                           TCF      +2                                    
042714,001855: 00,2361           13725                           TCF      BUFNEG                                
042715,001856: 
042716,001857: 00,2362           54146        BUFZERO            TS       MPAC       +2                         #  ZERO THIS.
042717,001858: 00,2363           07327                           TC       TPAGREE                               #  FORCE SIGN AGREEMENT BEFORE OVERFLOW
042718,001859: 
042719,001860: 00,2364           10144                           CCS      MPAC                                  #  TEST TO SEE IF MPAC NON-ZERO.  (TOO BIG)
042720,001861: 00,2365           12412                           TCF      OVF+                                  #  MAJOR PART OF DIVIDEND IS POSITIVE NON-0
042721,001862: 00,2366           12370                           TCF      +2                                    
042722,001863: 00,2367           12411                           TCF      OVF+       -1                         #  MAJOR PART OF DIVIDEND IS NEG. NON-ZERO
042723,001864: 
042724,001865: 00,2370           56121                           XCH      BUF        +1                         #  SHIFT DIVIDEND AND DIVISOR LEFT 14.
042725,001866: 00,2371           56120                           XCH      BUF                                   
042726,001867: 00,2372           56145                           XCH      MPAC       +1                         
042727,001868: 00,2373           56144                           XCH      MPAC                                  
042728,001869: 00,2374           10120                           CCS      BUF                                   #  TRY AGAIN ON FORMER MINOR PART.
042729,001870: 00,2375           12420                           TCF      BUF+                                  
042730,001871: 00,2376           12400                           TCF      +2                                    #  OVERFLOW ON ZERO DIVISOR.
042731,001872: 00,2377           12414                           TCF      BUF-                                  
042732,001873: 
042733,001874: 00,2400           40144                           CS       MPAC                                  #  SIGN OF MPAC DETERMINES SIGN OF RESULT.
042734,001875: 00,2401           00006        SGNDVOVF           EXTEND                                         
042735,001876: 00,2402           62404                           BZMF     +2                                    
042736,001877: 00,2403           24126                           INCR     DVSIGN                                #  NEGMAX IN MPAC PERHAPS.
042737,001878: 00,2404           37743        DVOVF              CAF      POSMAX                                #  ON DIVISION OVERFLOW OF ANY SORT, SET
042738,001879: 00,2405           54144                           TS       MPAC                                  #  SET DP MPAC TO +-POSMAX.
042739,001880: 00,2406           02604                           TC       FINALDV    +3                         
042740,001881: 00,2407           37763                           CAF      ONE                                   #  SET OVERFLOW INDICATOR AND EXIT.
042741,001882: 00,2410           17153                           TCF      SETOVF                                
042742,001883: 
042743,001884: 00,2411           24126                 -1        INCR     DVSIGN                                
042744,001885: 00,2412           40121        OVF+               CS       BUF        +1                         #  LOAD LOWER ORDER PART OF DIVISOR.
042745,001886: 00,2413           12401                           TCF      SGNDVOVF                              #  GET SIGN OF RESULT.
042746,001887: 
042747,001888: 00,2414           00006        BUF-               EXTEND                                         #  IF BUF IS NEGATIVE, COMPLEMENT IT AND
042748,001889: 00,2415           40121                           DCS      BUF                                   #  MAINTAIN DVSIGN FOR FINAL QUOTIENT SIGN.
042749,001890: 00,2416           52121                           DXCH     BUF                                   
042750,001891: 00,2417           24126                           INCR     DVSIGN                                #  NOW -0.
042751,001892: 
042752,001893: 00,2420           10144        BUF+               CCS      MPAC                                  #  FORCE MPAC POSITIVE, CHECKING FOR ZERO

Page 1010

042754,001895: 00,2421           12435                           TCF      MPAC+                                 #  DIVIDEND IN THE PROCESS.
042755,001896: 00,2422           12424                           TCF      +2                                    
042756,001897: 00,2423           12431                           TCF      MPAC-                                 
042757,001898: 00,2424           10145                           CCS      MPAC       +1                         
042758,001899: 00,2425           12435                           TCF      MPAC+                                 
042759,001900: 00,2426           16125                           TCF      DANZIG                                #  EXIT IMMEDIATELY ON ZERO DIVIDEND.
042760,001901: 00,2427           12431                           TCF      MPAC-                                 
042761,001902: 00,2430           16125                           TCF      DANZIG                                
042762,001903: 
042763,001904: 00,2431           00006        MPAC-              EXTEND                                         #  FORCE MPAC POSITIVE AS BUF IN BUF-.
042764,001905: 00,2432           40145                           DCS      MPAC                                  
042765,001906: 00,2433           52145                           DXCH     MPAC                                  
042766,001907: 00,2434           24126                           INCR     DVSIGN                                #  NOW +1 OR -0.
042767,001908: 

Page 1011

042769,001910: 00,2435           40144        MPAC+              CS       MPAC                                  #  CHECK FOR DIVISION OVERFLOW. IF THE
042770,001911: 00,2436           67771                           AD       NEGONE                                #  MAJOR PART OF THE DIVIDEND IS LESS THAN
042771,001912: 00,2437           60120                           AD       BUF                                   #  THE MAJOR PART OF THE DIVISOR BY AT
042772,001913: 00,2440           10000                           CCS      A                                     #  LEAST TWO, WE CAN PROCEED IMMEDIATELY
042773,001914: 00,2441           12503                           TCF      DVNORM                                #  WITHOUT NORMALIZATION PRODUCING A DVMAX.
042774,001915: 00,2442           60001        -1/2+2             OCT      60001                                 #  USED IN SQRTSUB.
042775,001916: 
042776,001917: 00,2443           12444                           TCF      +1                                    #  IF THE ABOVE DOES NOT HOLD, FORCE SIGN
042777,001918: 00,2444           37746                           CAF      HALF                                  #  AGREEMENT IN NUMERATOR AND DENOMINATOR
042778,001919: 00,2445           60000                           DOUBLE                                         #  TO FACILITATE OVERFLOW AND NEAR-ONE
042779,001920: 00,2446           60145                           AD       MPAC       +1                         #  CHECKING.
042780,001921: 00,2447           54145                           TS       MPAC       +1                         
042781,001922: 00,2450           37767                           CAF      ZERO                                  
042782,001923: 00,2451           67743                           AD       POSMAX                                
042783,001924: 00,2452           26144                           ADS      MPAC                                  
042784,001925: 
042785,001926: 00,2453           37746                           CAF      HALF                                  #  SAME FOR BUF.
042786,001927: 00,2454           60000                           DOUBLE                                         
042787,001928: 00,2455           60121                           AD       BUF        +1                         
042788,001929: 00,2456           54121                           TS       BUF        +1                         
042789,001930: 00,2457           37767                           CAF      ZERO                                  
042790,001931: 00,2460           67743                           AD       POSMAX                                
042791,001932: 00,2461           26120                           ADS      BUF                                   
042792,001933: 
042793,001934: 00,2462           40144                           CS       MPAC                                  #  CHECK MAGNITUDE OF SIGN-CORRECTED
042794,001935: 00,2463           60120                           AD       BUF                                   #  OPERANDS.
042795,001936: 00,2464           10000                           CCS      A                                     
042796,001937: 00,2465           12503                           TCF      DVNORM                                #  DIVIDE OK - WILL NOT BECOME MAXDV CASE.
042797,001938: 00,2466           00123        LBUF2              ADRES    BUF2                                  
042798,001939: 00,2467           12404                           TCF      DVOVF                                 #  DIVISOR NOT LESS THAN DIVIDEND - OVF.
042799,001940: 
042800,001941: 00,2470           54130                           TS       MAXDVSW                               #  IF THE MAJOR PARTS OF THE DIVIDEND AND
042801,001942: 00,2471           40145                           CS       MPAC       +1                         #  DIVISOR ARE EQUAL, A SPECIAL APPROXIMA-
042802,001943: 00,2472           60121                           AD       BUF        +1                         #  TION IS USED (PROVIDED THE DIVISION IS
042803,001944: 00,2473           00006                           EXTEND                                         #  POSSIBLE, OF COURSE).
042804,001945: 00,2474           62404                           BZMF     DVOVF                                 
042805,001946: 00,2475           12503                           TCF      DVNORM                                #  IF NO OVERFLOW.
042806,001947: 

Page 1012

042808,001949: 00,2476           00006        BUFNORM            EXTEND                                         #  ADD -1 TO AUGMENT SHIFT COUNT AND SHIFT
042809,001950: 00,2477           24127                           AUG      DVNORMCT                              #  LEFT ONE PLACE.
042810,001951: 00,2500           00006                           EXTEND                                         
042811,001952: 00,2501           30121                           DCA      BUF                                   
042812,001953: 00,2502           20121                           DAS      BUF                                   
042813,001954: 
042814,001955: 00,2503           30120        DVNORM             CA       BUF                                   #  SEE IF DIVISOR NORMALIZED YET.
042815,001956: 00,2504           60000                           DOUBLE                                         
042816,001957: 00,2505           54000                           OVSK                                           
042817,001958: 00,2506           12476                           TCF      BUFNORM                               #  NO - SHIFT LEFT ONE AND TRY AGAIN.
042818,001959: 
042819,001960: 00,2507           52145                           DXCH     MPAC                                  #  CALL DIVIDEND NORMALIZATION SEQUENCE
042820,001961: 00,2510           50127                           INDEX    DVNORMCT                              #  PRIOR TO DOING THE DIVIDE.
042821,001962: 00,2511           02541                           TC       MAXTEST                               
042822,001963: 
042823,001964: 00,2512           54146                           TS       MPAC       +2                         #  RETURNS WITH DIVISION DONE AND C(A) = 0.
042824,001965: 00,2513           16125                           TCF      DANZIG                                
042825,001966: 

Page 1013

042827,001968:                                                                                                  #           THE FOLLOWING ARE PROLOGUES TO SHIFT THE DIVIDEND ARRIVING IN A AND L BEFORE THE DIVIDE.
042828,001969: 
042829,001970: 00,2514           22021                 -21D      LXCH     SR                                    #  SPECIAL PROLOGUE FOR UNIT WHEN THE
042830,001971: 00,2515           00006                           EXTEND                                         #  LENGTH OF THE ARGUMENT WAS NOT LESS THAN
042831,001972: 00,2516           77746                           MP       HALF                                  #  .5. IN THIS CASE, EACH COMPONENT MUST BE
042832,001973: 00,2517           56001                           XCH      L                                     #  SHIFTED RIGHT ONE TO PRODUCE A HALF-UNIT
042833,001974: 00,2520           60021                           AD       SR                                    #  VECTOR.
042834,001975: 00,2521           56001                           XCH      L                                     
042835,001976: 00,2522           12545                           TCF      GENDDV     +1                         #  WITH DP DIVIDEND IN A,L.
042836,001977: 
042837,001978: 00,2523           20001                           DDOUBL                                         #  PROLOGUE WHICH NORMALIZES THE DIVIDEND
042838,001979: 00,2524           20001                           DDOUBL                                         #  WHEN IT IS KNOWN THAT NO DIVISION
042839,001980: 00,2525           20001                           DDOUBL                                         #  OVERFLOW WILL OCCUR.
042840,001981: 00,2526           20001                           DDOUBL                                         
042841,001982: 00,2527           20001                           DDOUBL                                         
042842,001983: 00,2530           20001                           DDOUBL                                         
042843,001984: 00,2531           20001                           DDOUBL                                         
042844,001985: 00,2532           20001                           DDOUBL                                         
042845,001986: 00,2533           20001                           DDOUBL                                         
042846,001987: 00,2534           20001                           DDOUBL                                         
042847,001988: 00,2535           20001                           DDOUBL                                         
042848,001989: 00,2536           20001                           DDOUBL                                         
042849,001990: 00,2537           20001                           DDOUBL                                         
042850,001991: 00,2540           52145                           DXCH     MPAC                                  
042851,001992: 
042852,001993: 00,2541           10130        MAXTEST            CCS      MAXDVSW                               #  0 IF MAJORS MIGHT BE =, -1 OTHERWISE.
042853,001994: 00,2542           06552        BIASHI             DEC      .4192      B-1                        #  SQRT CONSTANTS
042854,001995: 
042855,001996: 00,2543           12616                           TCF      MAXDV                                 #  CHECK TO SEE IF THEY ARE NOW EQUAL.
042856,001997: 

Page 1014

042858,001999:                                                                                                  #           THE FOLLOWING IS A GENERAL PURPOSE DOUBLE PRECISION DIVISION ROUTINE. IT DIVIDES MPAC BY BUF AND LEAVES
042859,002000:                                                                                                  #  THE RESULT IN MPAC. THE FOLLOWING CONDITIONS MUST BE SATISFIED:
042860,002001: 
042861,002002:                                                                                                  #           1.  THE DIVISOR (BUF) MUST BE POSITIVE AND NOT LESS THAN .5.
042862,002003: 
042863,002004:                                                                                                  #           2.  THE DIVIDEND (MPAC) MUST BE POSITIVE WITH THE MAJOR PART OF MPAC STRICTLY LESS THAN THAT OF BUF
042864,002005:                                                                                                  #  (A SPECIAL APPROXIMATION, MAXDV, IS USED WHEN THE MAJOR PARTS ARE EQUAL).
042865,002006: 
042866,002007:                                                                                                  #           UNDERSTANDING THAT A/B = Q + S(R/B) WHERE S = 2(-14) AND Q AND R ARE QUOTIENT AND REMAINDER, RESPEC-
042867,002008:                                                                                                  #  TIVELY, THE FOLLOWING APPROXIMATION IS OBTAINED BY MULTIPLYING ABOVE AND BELOW BY C - SD AND NEGLECTING TERMS OF
042868,002009:                                                                                                  #  ORDER S-SQUARED (POSSIBLY INTRODUCING ERROR INTO THE LOW TWO BITS OF THE RESULT). SIGN AGREEMENT IS UNNECESSARY.
042869,002010: 
042870,002011:                                                                                                  #           A + SB .      (R - QD)                                             A + SB
042871,002012:                                                                                                  #           ------ = Q + S(------) WHERE Q AND R ARE QUOTIENT AND REMAINDER OF ------ RESPECTIVELY.
042872,002013:                                                                                                  #           C + SD        (  C   }                                                C
042873,002014: 
042874,002015: 
042875,002016: 00,2544           52145        GENDDV             DXCH     MPAC                                  #  WE NEED A AND B ONLY FOR FIRST DV.
042876,002017: 00,2545           00006                 +1        EXTEND                                         #  (SPECIAL UNIT PROLOGUE ENTERS HERE).
042877,002018: 00,2546           10120                           DV       BUF                                   #  A NOW CONTAINS Q AND L, R.
042878,002019: 00,2547           52145                           DXCH     MPAC                                  
042879,002020: 
042880,002021: 00,2550           40144                           CS       MPAC                                  #  FORM DIVIDEND FOR MINOR PART OF RESULT.
042881,002022: 00,2551           00006                           EXTEND                                         
042882,002023: 00,2552           70121                           MP       BUF        +1                         
042883,002024: 00,2553           60145                           AD       MPAC       +1                         #  OVERFLOW AT THIS POINT IS POSITIVE SINCE
042884,002025: 00,2554           54000                           OVSK                                           #  R IS POSITIVE IN EVERY CASE.
042885,002026: 00,2555           12562                           TCF      +5                                    
042886,002027: 
042887,002028: 00,2556           00006                           EXTEND                                         #  OVERFLOW CAN BE REMOVED BY SUBTRACTING C
042888,002029: 00,2557           60120                           SU       BUF                                   #  (BUF) ONCE SINCE R IS ALWAYS LESS THAN C
042889,002030: 00,2560           24144                           INCR     MPAC                                  #  IN THIS CASE. INCR COMPENSATES SUBTRACT.
042890,002031: 00,2561           12564                           TCF      +DOWN                                 #  (SINCE C(A) IS STILL POSITIVE).
042891,002032: 
042892,002033: 00,2562           00006                 +5        EXTEND                                         #  C(A) CAN BE MADE LESS THAN C IN MAGNI-
042893,002034: 00,2563           62574                           BZMF     -UP                                   #  TUDE BY DIMINISHING IT BY C (SINCE C IS
042894,002035:                                                                                                  #  NOT LESS THAN .5) UNLESS C(A) = 0.
042895,002036: 

Page 1015

042897,002038: 00,2564           00006        +DOWN              EXTEND                                         
042898,002039: 00,2565           60120                           SU       BUF                                   #  IF POSITIVE, REDUCE ONLY IF NECESSARY
042899,002040: 00,2566           00006                           EXTEND                                         #  SINCE THE COMPENSATING INCR MIGHT CAUSE
042900,002041: 00,2567           12572                           BZF      +3                                    #  OVERFLOW.
042901,002042: 00,2570           00006                           EXTEND                                         #  DONT SUBTRACT UNLESS RESULT IS POSITIVE
042902,002043: 00,2571           62600                           BZMF     ENDMAXDV                              #  OR ZERO.
042903,002044: 
042904,002045: 00,2572           24144                 +3        INCR     MPAC                                  #  KEEP SUBTRACT HERE AND COMPENSATE.
042905,002046: 00,2573           12601                           TCF      FINALDV                               
042906,002047: 
042907,002048: 00,2574           00006        -UP                EXTEND                                         #  IF ZERO, SET MINOR PART OF RESULT TO
042908,002049: 00,2575           12604                           BZF      FINALDV    +3                         #  ZERO.
042909,002050: 
042910,002051: 00,2576           00006                           EXTEND                                         #  IF NEGATIVE, ADD C TO A, SUBTRACTING ONE
042911,002052: 00,2577           26144                           DIM      MPAC                                  #  TO COMPENSATE. DIM IS OK HERE SINCE THE
042912,002053: 00,2600           60120        ENDMAXDV           AD       BUF                                   #  MAJOR PART NEVER GOES NEGATIVE.
042913,002054: 

Page 1016

042915,002056: 00,2601           22007        FINALDV            ZL                                             #  DO DV TO OBTAIN MINOR PART OF RESULT.
042916,002057: 00,2602           00006                           EXTEND                                         
042917,002058: 00,2603           10120                           DV       BUF                                   
042918,002059: 00,2604           54145                 +3        TS       MPAC       +1                         
042919,002060: 
042920,002061: 00,2605           10126                           CCS      DVSIGN                                #  LEAVE RESULT POSITIVE UNLESS C(DVSIGN)=
042921,002062: 00,2606           00002                           TC       Q                                     #  -0.
042922,002063: 00,2607           00002                           TC       Q                                     
042923,002064: 00,2610           00002                           TC       Q                                     
042924,002065: 
042925,002066: 00,2611           00006                           EXTEND                                         
042926,002067: 00,2612           40145                           DCS      MPAC                                  
042927,002068: 00,2613           52145                           DXCH     MPAC                                  
042928,002069: 00,2614           37767                           CAF      ZERO                                  #  SO WE ALWAYS RETURN WITH C(A) = 0.
042929,002070: 00,2615           00002                           TC       Q                                     
042930,002071: 

Page 1017

042932,002073:                                                                                                  #           IF THE MAJOR PARTS OF THE DIVISOR AND DIVIDEND ARE EQUAL, BUT THE MINOR PARTS ARE SUCH THAT THE
042933,002074:                                                                                                  #  DIVIDEND IS STRICTLY LESS THAN THE DIVISOR IN MAGNITUDE, THE FOLLOWING APPROXIMATION IS USED. THE ASSUMPTIONS
042934,002075:                                                                                                  #  ARE THE SAME AS THE GENERAL ROUTINE WITH THE ADDITION THAT SIGN AGREEMENT IS NECESSARY (B, C, & D POSITIVE).
042935,002076: 
042936,002077:                                                                                                  #                  C + SB .          (C + B - D)
042937,002078:                                                                                                  #                  ------ = 37777 + S(---------)
042938,002079:                                                                                                  #                  C + SD            (    C    )
042939,002080: 
042940,002081:                                                                                                  #           THE DIVISION MAY BE PERFORMED IMMEDIATELY SINCE B IS STRICTLY LESS THAN D AND C IS NOT LESS THAN .5.
042941,002082: 
042942,002083: 
042943,002084: 00,2616           40144        MAXDV              CS       MPAC                                  #  SEE IF MAXDV CASE STILL HOLDS AFTER
042944,002085: 00,2617           60120                           AD       BUF                                   #  NORMALIZATION.
042945,002086: 00,2620           00006                           EXTEND                                         
042946,002087: 00,2621           12623                           BZF      +2                                    
042947,002088: 00,2622           12544                           TCF      GENDDV                                #  MPAC NOW LESS THAN BUF - DIVIDE AS USUAL
042948,002089: 
042949,002090: 00,2623           37743                 +2        CAF      POSMAX                                #  SET MAJOR PART OF RESULT.
042950,002091: 00,2624           54144                           TS       MPAC                                  
042951,002092: 
042952,002093: 00,2625           40121                           CS       BUF        +1                         #  FORM DIVIDEND OF MINOR PART OF RESULT.
042953,002094: 00,2626           60145                           AD       MPAC       +1                         
042954,002095: 00,2627           12600                           TCF      ENDMAXDV                              #  GO ADD C AND DO DIVIDE, ATTACHING SIGN
042955,002096:                                                                                                  #  BEFORE EXITING.
042956,002097: 

Page 1018

042958,002099:                                                                                                  #           VECTOR DIVIDED BY SCALAR, V/SC, IS EXECUTED HERE. THE VECTOR IS NOW IN MPAC WITH SCALAR IN BUF.
042959,002100: 
042960,002101: 00,2630           47763        V/SC2              CS       ONE                                   #  INITIALIZE DIVIDEND NORMALIZATION COUNT
042961,002102: 00,2631           54127                           TS       DVNORMCT                              #  AND DIVISION SIGN REGISTER.
042962,002103: 00,2632           54117                           TS       VBUF       +5                         
042963,002104: 
042964,002105: 00,2633           10120                           CCS      BUF                                   #  FORCE DIVISOR POSITIVE WITH MAJOR PART
042965,002106: 00,2634           12671                           TCF      /BUF+                                 #  NON-ZERO (IF POSSIBLE).
042966,002107: 00,2635           12637                           TCF      +2                                    
042967,002108: 00,2636           12665                           TCF      /BUF-                                 
042968,002109: 
042969,002110: 00,2637           56121                           XCH      BUF        +1                         #  SHIFT VECTOR AND SCALAR LEFT 14.
042970,002111: 00,2640           56120                           XCH      BUF                                   
042971,002112: 00,2641           56145                           XCH      MPAC       +1                         
042972,002113: 00,2642           56144                           XCH      MPAC                                  
042973,002114: 00,2643           00006                           EXTEND                                         #  CHECK FOR OVERFLOW IN EACH CASE.
042974,002115: 00,2644           12646                           BZF      +2                                    
042975,002116: 00,2645           12404                           TCF      DVOVF                                 
042976,002117: 
042977,002118: 00,2646           56150                           XCH      MPAC       +4                         
042978,002119: 00,2647           56147                           XCH      MPAC       +3                         
042979,002120: 00,2650           00006                           EXTEND                                         
042980,002121: 00,2651           12653                           BZF      +2                                    
042981,002122: 00,2652           12404                           TCF      DVOVF                                 
042982,002123: 
042983,002124: 00,2653           56152                           XCH      MPAC       +6                         
042984,002125: 00,2654           56151                           XCH      MPAC       +5                         
042985,002126: 00,2655           00006                           EXTEND                                         
042986,002127: 00,2656           12660                           BZF      +2                                    
042987,002128: 00,2657           12404                           TCF      DVOVF                                 
042988,002129: 
042989,002130: 00,2660           10120                           CCS      BUF                                   
042990,002131: 00,2661           12671                           TCF      /BUF+                                 
042991,002132: 00,2662           12404                           TCF      DVOVF                                 #  ZERO DIVISOR - OVERFLOW.
042992,002133: 00,2663           12665                           TCF      /BUF-                                 
042993,002134: 00,2664           12404                           TCF      DVOVF                                 
042994,002135: 
042995,002136: 00,2665           00006        /BUF-              EXTEND                                         #  ON NEGATIVE, COMPLEMENT BUF AND MAINTAIN
042996,002137: 00,2666           40121                           DCS      BUF                                   #  DVSIGN IN VBUF +5.
042997,002138: 00,2667           52121                           DXCH     BUF                                   
042998,002139: 00,2670           24117                           INCR     VBUF       +5                         
042999,002140: 

Page 1019

043001,002142: 00,2671           37746        /BUF+              CAF      HALF                                  #  FORCE SIGN AGREEMENT IN DIVISOR.
043002,002143: 00,2672           60000                           DOUBLE                                         
043003,002144: 00,2673           60121                           AD       BUF        +1                         
043004,002145: 00,2674           54121                           TS       BUF        +1                         
043005,002146: 00,2675           37767                           CAF      ZERO                                  
043006,002147: 00,2676           67743                           AD       POSMAX                                
043007,002148: 00,2677           26120                           ADS      BUF                                   
043008,002149: 
043009,002150: 00,2700           56123                           XCH      BUF2                                  #  LEAVE ABS(ORIGINAL DIVISOR) IN BUF2 FOR
043010,002151: 00,2701           30121                           CA       BUF        +1                         #  OVERFLOW TESTING.
043011,002152: 00,2702           54124                           TS       BUF2       +1                         
043012,002153: 00,2703           12711                           TCF      /NORM                                 #  NORMALIZE DIVISOR IN BUF.
043013,002154: 
043014,002155: 00,2704           00006        /NORM2             EXTEND                                         #  IF LESS THAN .5, AUGMENT DVNORMCT AND
043015,002156: 00,2705           24127                           AUG      DVNORMCT                              #  DOUBLE DIVISOR.
043016,002157: 00,2706           00006                           EXTEND                                         
043017,002158: 00,2707           30121                           DCA      BUF                                   
043018,002159: 00,2710           20121                           DAS      BUF                                   
043019,002160: 
043020,002161: 00,2711           30120        /NORM              CA       BUF                                   #  SEE IF DIVISOR NORMALIZED.
043021,002162: 00,2712           60000                           DOUBLE                                         
043022,002163: 00,2713           54000                           OVSK                                           
043023,002164: 00,2714           12704                           TCF      /NORM2                                #  DOUBLE AND TRY AGAIN IF NOT.
043024,002165: 
043025,002166: 00,2715           02727                           TC       V/SCDV                                #  DO X COMPONENT DIVIDE.
043026,002167: 00,2716           52150                           DXCH     MPAC       +3                         #  SUPPLY ARGUMENTS IN USUAL SEQUENCE.
043027,002168: 00,2717           52145                           DXCH     MPAC                                  
043028,002169: 00,2720           52150                           DXCH     MPAC       +3                         
043029,002170: 
043030,002171: 00,2721           02727                           TC       V/SCDV                                #  Y COMPONENT.
043031,002172: 00,2722           52152                           DXCH     MPAC       +5                         
043032,002173: 00,2723           52145                           DXCH     MPAC                                  
043033,002174: 00,2724           52152                           DXCH     MPAC       +5                         
043034,002175: 
043035,002176: 00,2725           02727                           TC       V/SCDV                                #  Z COMPONENT.
043036,002177: 00,2726           17477                           TCF      VROTATEX                              #  GO RE-ARRANGE COMPONENTS BEFORE EXIT.
043037,002178: 

Page 1020

043039,002180:                                                                                                  #           SUBROUTINE USED BY V/SC TO DIVIDE VECTOR COMPONENT IN MPAC,+1 BY THE SCALAR GIVEN IN BUF.
043040,002181: 
043041,002182: 00,2727           30117        V/SCDV             CA       VBUF       +5                         #  REFLECTS SIGN OF SCALAR.
043042,002183: 00,2730           54126                           TS       DVSIGN                                
043043,002184: 
043044,002185: 00,2731           10144                           CCS      MPAC                                  #  FORCE MPAC POSITIVE, EXITING ON ZERO.
043045,002186: 00,2732           12746                           TCF      /MPAC+                                
043046,002187: 00,2733           12735                           TCF      +2                                    
043047,002188: 00,2734           12742                           TCF      /MPAC-                                
043048,002189: 
043049,002190: 00,2735           10145                           CCS      MPAC       +1                         
043050,002191: 00,2736           12746                           TCF      /MPAC+                                
043051,002192: 00,2737           00002                           TC       Q                                     
043052,002193: 00,2740           12742                           TCF      /MPAC-                                
043053,002194: 00,2741           00002                           TC       Q                                     
043054,002195: 
043055,002196: 00,2742           00006        /MPAC-             EXTEND                                         #  USUAL COMPLEMENTING AND SETTING OF SIGN.
043056,002197: 00,2743           40145                           DCS      MPAC                                  
043057,002198: 00,2744           52145                           DXCH     MPAC                                  
043058,002199: 00,2745           24126                           INCR     DVSIGN                                
043059,002200: 
043060,002201: 00,2746           47763        /MPAC+             CS       ONE                                   #  INITIALIZE NEAR-ONE SWITCH.
043061,002202: 00,2747           54130                           TS       MAXDVSW                               
043062,002203: 
043063,002204: 00,2750           40144                           CS       MPAC                                  #  CHECK POSSIBLE OVERFLOW.
043064,002205: 00,2751           60123                           AD       BUF2                                  #  UNNORMALIZED INPUT DIVISOR.
043065,002206: 00,2752           00006                           EXTEND                                         
043066,002207: 00,2753           62757                           BZMF     /AGREE                                #  CHECK FOR NEAR-ONE OR OVERFLOW.
043067,002208: 
043068,002209: 00,2754           52145        DDVCALL            DXCH     MPAC                                  #  CALL PRE-DIVIDE NORMALIZATION.
043069,002210: 00,2755           50127                           INDEX    DVNORMCT                              
043070,002211: 00,2756           12541                           TCF      MAXTEST                               
043071,002212: 

Page 1021

043073,002214: 00,2757           37746        /AGREE             CAF      HALF                                  #  FORCE SIGN AGREEMENT IN DIVIDEND
043074,002215: 00,2760           60000                           DOUBLE                                         #  (ALREADY DONE FOR DIVISOR).
043075,002216: 00,2761           60145                           AD       MPAC       +1                         
043076,002217: 00,2762           54145                           TS       MPAC       +1                         
043077,002218: 00,2763           37767                           CAF      ZERO                                  
043078,002219: 00,2764           67743                           AD       POSMAX                                
043079,002220: 00,2765           26144                           ADS      MPAC                                  
043080,002221: 
043081,002222: 00,2766           40144                           CS       MPAC                                  #  CHECK TO SEE IF OVERFLOW GONE OR IF
043082,002223: 00,2767           60123                           AD       BUF2                                  #  NEAR-ONE CASE IS PRESENT.
043083,002224: 00,2770           10000                           CCS      A                                     
043084,002225: 00,2771           12754                           TCF      DDVCALL                               #  NOT NEAR-ONE.
043085,002226: 00,2772           32506        SLOPELO            DEC      .8324                                 
043086,002227: 00,2773           12404                           TCF      DVOVF                                 #  NO HOPE.
043087,002228: 
043088,002229: 00,2774           54130                           TS       MAXDVSW                               #  SIGNAL POSSIBLE NEAR-ONE CASE.
043089,002230: 00,2775           40145                           CS       MPAC       +1                         #  SEE IF DIVISION CAN BE DONE.
043090,002231: 00,2776           60124                           AD       BUF2       +1                         
043091,002232: 00,2777           00006                           EXTEND                                         
043092,002233: 00,3000           62404                           BZMF     DVOVF                                 
043093,002234: 00,3001           12754                           TCF      DDVCALL                               #  GOING TO MAXDV.
043094,002235: 

Page 1022

043096,002237:                                                                                                  #           THE FOLLOWING ROUTINE EXECUTES THE UNIT INSTRUCTION, WHICH TAKES THE UNIT OF THE VECTOR IN MPAC.
043097,002238: 
043098,002239: 00,3002           07612        UNIT               TC       MPACVBUF                              #  SAVE THE ARGUMENT IN VBUF.
043099,002240: 00,3003           37767                           CAF      ZERO                                  #  MUST SENSE OVERFLOW IN FOLLOWING DOT.
043100,002241: 00,3004           56111                           XCH      OVFIND                                
043101,002242: 00,3005           54131                           TS       TEM1                                  
043102,002243: 00,3006           03301                           TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043103,002244: 00,3007           30131                           CA       TEM1                                  
043104,002245: 00,3010           56111                           XCH      OVFIND                                
043105,002246: 00,3011           00006                           EXTEND                                         
043106,002247: 00,3012           13014                           BZF      +2                                    
043107,002248: 00,3013           12404                           TCF      DVOVF                                 
043108,002249: 00,3014           00006                           EXTEND                                         
043109,002250: 00,3015           30145                           DCA      MPAC                                  #  LEAVE THE SQUARE OF THE LENGTH OF THE
043110,002251: 00,3016           50110                           INDEX    FIXLOC                                #  ARGUMENT IN LVSQUARE.
043111,002252: 00,3017           52043                           DXCH     LVSQUARE                              
043112,002253: 
043113,002254: 00,3020           03325                           TC       SQRTSUB                               #  GO TAKE THE NORMALIZED SQUARE ROOT.
043114,002255: 
043115,002256: 00,3021           10144                           CCS      MPAC                                  #  CHECK FOR UNIT OVERFLOW.
043116,002257: 00,3022           13027                           TCF      +5                                    #  MPAC IS NOT LESS THAN .5 UNLESS
043117,002258: 00,3023           54001                           TS       L                                     
043118,002259: 00,3024           50110                           INDEX    FIXLOC                                
043119,002260: 00,3025           52045                           DXCH     LV                                    
043120,002261: 00,3026           12404                           TCF      DVOVF                                 #  INPUT TO SQRTSUB WAS 0.
043121,002262: 
043122,002263: 00,3027           43130                           CS       FOURTEEN                              #  SEE IF THE INPUT WAS SO SMALL THE THE
043123,002264: 00,3030           60125                           AD       MPTEMP                                #  FIRST TWO REGISTERS OF THE SQUARE WERE 0
043124,002265: 00,3031           10000                           CCS      A                                     
043125,002266: 00,3032           40000                           COM                                            #  IF SO, SAVE THE NEGATIVE OF THE SHIFT
043126,002267: 00,3033           13111                           TCF      SMALL                                 #  COUNT -15D.
043127,002268: 
043128,002269: 00,3034           13043                           TCF      LARGE                                 #  (THIS IS USUALLY THE CASE.)
043129,002270: 
043130,002271: 00,3035           43127                           CS       THIRTEEN                              #  IF THE SHIFT COUNT WAS EXACTLY 14, SET
043131,002272: 00,3036           54125                           TS       MPTEMP                                #  THE PRE-DIVIDE NORM COUNT TO -13D.
043132,002273: 
043133,002274: 00,3037           30144                           CA       MPAC                                  #  SHIFT THE LENGTH RIGHT 14 BEFORE STORING
043134,002275: 00,3040           54001        SMALL2             TS       L                                     #  (SMALL EXITS TO THIS POINT).
043135,002276: 00,3041           37767                           CAF      ZERO                                  
043136,002277: 00,3042           13070                           TCF      LARGE2                                #  GO TO STORE LENGTH AND PROCEED.
043137,002278: 
043138,002279: 00,3043           10125        LARGE              CCS      MPTEMP                                #  MOST ALL CASES COME HERE.
043139,002280: 00,3044           13052                           TCF      LARGE3                                #  SEE IF NO NORMALIZATION WAS REQUIRED BY
043140,002281: 
043141,002282: 00,3045           42024                           CS       SRDDV                                 #  SQRT, AND IF SO, SET UP FOR A SHIFT
043142,002283: 00,3046           54125                           TS       MPTEMP                                #  RIGHT 1 BEFORE DIVIDING TO PRODUCE
043143,002284: 00,3047           00006                           EXTEND                                         #  THE DESIRED HALF UNIT VECTOR.
043144,002285: 00,3050           30145                           DCA      MPAC                                  
043145,002286: 00,3051           13070                           TCF      LARGE2                                
043146,002287: 

Page 1023

043148,002289: 00,3052           40000        LARGE3             COM                                            #  LEAVE NEGATIVE OF SHIFT COUNT-1 FOR
043149,002290: 00,3053           54125                           TS       MPTEMP                                #  PREDIVIDE LEFT SHIFT.
043150,002291: 
043151,002292: 00,3054           40000                           COM                                            #  PICK UP REQUIRED SHIFTING BIT TO UNNORM-
043152,002293: 00,3055           50000                           INDEX    A                                     #  ALIZE THE SQRT RESULT.
043153,002294: 00,3056           37746                           CAF      BIT14                                 
043154,002295: 00,3057           54120                           TS       BUF                                   
043155,002296: 00,3060           00006                           EXTEND                                         
043156,002297: 00,3061           70145                           MP       MPAC       +1                         
043157,002298: 00,3062           56120                           XCH      BUF                                   
043158,002299: 00,3063           00006                           EXTEND                                         #  (UNNORMALIZE THE SQRT FOR LV).
043159,002300: 00,3064           70144                           MP       MPAC                                  
043160,002301: 00,3065           56001                           XCH      L                                     
043161,002302: 00,3066           60120                           AD       BUF                                   
043162,002303: 00,3067           56001                           XCH      L                                     
043163,002304: 
043164,002305: 00,3070           50110        LARGE2             INDEX    FIXLOC                                
043165,002306: 00,3071           52045                           DXCH     LV                                    #  LENGTH NOW STORED IN WORK AREA.
043166,002307: 
043167,002308: 00,3072           47763                           CS       ONE                                   
043168,002309: 00,3073           54130                           TS       MAXDVSW                               #  NO MAXDV CASES IN UNIT.
043169,002310: 
043170,002311: 00,3074           52113                           DXCH     VBUF                                  #  PREPARE X COMPONENT FOR DIVIDE, SETTING
043171,002312: 00,3075           52145                           DXCH     MPAC                                  #  LENGTH OF VECTOR AS DIVISOR IN BUF.
043172,002313: 00,3076           52121                           DXCH     BUF                                   
043173,002314: 00,3077           03131                           TC       UNITDV                                
043174,002315: 
043175,002316: 00,3100           52115                           DXCH     VBUF       +2                         #  DO Y AND Z IN USUAL FASHION SO WE CAN
043176,002317: 00,3101           52145                           DXCH     MPAC                                  #  EXIT THROUGH VROTATEX.
043177,002318: 00,3102           52150                           DXCH     MPAC       +3                         
043178,002319: 00,3103           03131                           TC       UNITDV                                
043179,002320: 
043180,002321: 00,3104           52117                           DXCH     VBUF       +4                         
043181,002322: 00,3105           52145                           DXCH     MPAC                                  
043182,002323: 00,3106           52152                           DXCH     MPAC       +5                         
043183,002324: 00,3107           03131                           TC       UNITDV                                
043184,002325: 00,3110           17477                           TCF      VROTATEX                              #  AND EXIT.
043185,002326: 

Page 1024

043187,002328:                                                                                                  #           IF THE LENGTH OF THE ARGUMENT VECTOR WAS LESS THAN 2(-28), EACH COMPONENT MUST BE SHIFTED LEFT AT LEAST
043188,002329:                                                                                                  #  14 PLACES BEFORE THE DIVIDE. NOTE THAT IN THIS CASE, THE MAJOR PART OF EACH COMPONENT IS ZERO.
043189,002330: 
043190,002331: 00,3111           54125        SMALL              TS       MPTEMP                                #  NEGATIVE OF PRE-DIVIDE SHIFT COUNT.
043191,002332: 
043192,002333: 00,3112           37767                           CAF      ZERO                                  #  SHIFT EACH COMPONENT LEFT 14.
043193,002334: 00,3113           56113                           XCH      VBUF       +1                         
043194,002335: 00,3114           56112                           XCH      VBUF                                  
043195,002336: 00,3115           56115                           XCH      VBUF       +3                         
043196,002337: 00,3116           56114                           XCH      VBUF       +2                         
043197,002338: 00,3117           56117                           XCH      VBUF       +5                         
043198,002339: 00,3120           56116                           XCH      VBUF       +4                         
043199,002340: 
043200,002341: 00,3121           40125                           CS       MPTEMP                                
043201,002342: 00,3122           50000                           INDEX    A                                     
043202,002343: 00,3123           37746                           CAF      BIT14                                 
043203,002344: 00,3124           00006                           EXTEND                                         
043204,002345: 00,3125           70144                           MP       MPAC                                  
043205,002346: 00,3126           13040                           TCF      SMALL2                                
043206,002347: 
043207,002348: 00,3127           00015        THIRTEEN           DEC      13         B-14                       
043208,002349: 00,3130           00016        FOURTEEN           DEC      14         B-14                       
043209,002350: 

Page 1025

043211,002352:                                                                                                  #           THE FOLLOWING ROUTINE SETS UP THE CALL TO THE DIVIDE ROUTINES.
043212,002353: 
043213,002354: 00,3131           10144        UNITDV             CCS      MPAC                                  #  FORCE MPAC POSITIVE IF POSSIBLE, SETTING
043214,002355: 00,3132           13150                           TCF      UMPAC+                                #  DVSIGN ACCORDING TO THE SIGN OF MPAC
043215,002356: 00,3133           13135                           TCF      +2                                    #  SINCE THE DIVISOR IS ALWAYS POSITIVE
043216,002357: 00,3134           13142                           TCF      UMPAC-                                #  HERE.
043217,002358: 
043218,002359: 00,3135           10145                           CCS      MPAC       +1                         
043219,002360: 00,3136           13150                           TCF      UMPAC+                                
043220,002361: 00,3137           00002                           TC       Q                                     #  EXIT IMMEDIATELY ON ZERO.
043221,002362: 00,3140           13142                           TCF      UMPAC-                                
043222,002363: 00,3141           00002                           TC       Q                                     
043223,002364: 
043224,002365: 00,3142           47767        UMPAC-             CS       ZERO                                  #  IF NEGATIVE, SET -0 IN DVSIGN FOR FINAL
043225,002366: 00,3143           54126                           TS       DVSIGN                                #  COMPLEMENT.
043226,002367: 00,3144           00006                           EXTEND                                         
043227,002368: 00,3145           40145                           DCS      MPAC                                  #  PICK UP ABSOLUTE VALUE OF ARG AND JUMP.
043228,002369: 00,3146           50125                           INDEX    MPTEMP                                
043229,002370: 00,3147           12540                           TCF      MAXTEST    -1                         
043230,002371: 
043231,002372: 00,3150           54126        UMPAC+             TS       DVSIGN                                #  SET DVSIGN FOR POSITIVE QUOTIENT.
043232,002373: 00,3151           52145                           DXCH     MPAC                                  
043233,002374: 00,3152           50125                           INDEX    MPTEMP                                
043234,002375: 00,3153           12540                           TCF      MAXTEST    -1                         
043235,002376: 

Page 1026

043237,002378:                                                                                                  #           MISCELLANEOUS UNARY OPERATIONS.
043238,002379: 
043239,002380: 00,3154           03262        DSQ                TC       DSQSUB                                #  SQUARE THE DP CONTENTS OF MPAC.
043240,002381: 00,3155           16125                           TCF      DANZIG                                
043241,002382: 
043242,002383: 00,3156           10153        ABVALABS           CCS      MODE                                  #  ABVAL OR ABS INSTRUCTION.
043243,002384: 00,3157           13206                           TCF      ABS                                   #  DO ABS ON SCALAR.
043244,002385: 00,3160           13206                           TCF      ABS                                   
043245,002386: 
043246,002387: 00,3161           03301        ABVAL              TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043247,002388: 00,3162           22153                           LXCH     MODE                                  #  MODE IS NOW DP (L ZERO AFTER DAS).
043248,002389: 
043249,002390: 00,3163           00006                           EXTEND                                         #  STORE SQUARE OF LENGTH IN WORK AREA.
043250,002391: 00,3164           30145                           DCA      MPAC                                  
043251,002392: 00,3165           50110                           INDEX    FIXLOC                                
043252,002393: 00,3166           52043                           DXCH     LVSQUARE                              
043253,002394: 
043254,002395: 00,3167           03325        SQRT               TC       SQRTSUB                               #  TAKE THE SQUARE ROOT OF MPAC.
043255,002396: 00,3170           10125                           CCS      MPTEMP                                #  RETURNED NORMALIZED SQUARE ROOT. SEE IF
043256,002397: 00,3171           13173                           TCF      +2                                    #  ANY UN-NORMALIZATION REQUIRED AND EXIT
043257,002398: 00,3172           16125                           TCF      DANZIG                                #  IF NOT.
043258,002399: 
043259,002400: 00,3173           63710                           AD       NEG12                                 #  A RIGHT SHIFT OF MORE THAN 13 COULD BE
043260,002401: 00,3174           00006                           EXTEND                                         #  REQUIRED IF INPUT WAS ZERO IN MPAC,+1.
043261,002402: 00,3175           63201                           BZMF     SQRTSHFT                              #  GOES HERE IN MOST CASES.
043262,002403: 00,3176           22007                           ZL                                             #  IF A LONG SHIFT IS REQUIRED, GO TO
043263,002404: 00,3177           22106                           LXCH     ADDRWD                                #  GENERAL RIGHT SHIFT ROUTINES.
043264,002405: 00,3200           12303                           TCF      GENSCR     +4                         #  ADDRWD WAS ZERO TO PREVENT ROUND.
043265,002406: 
043266,002407: 00,3201           50125        SQRTSHFT           INDEX    MPTEMP                                #  SELECT SHIFTING BIT AND EXIT THROUGH
043267,002408: 00,3202           37745                           CAF      BIT15                                 #  SHIFT ROUTINES.
043268,002409: 00,3203           54125                           TS       MPTEMP                                
043269,002410: 00,3204           37767                           CAF      ZERO                                  #  TO ZERO MPAC +2 IN THE PROCESS.
043270,002411: 00,3205           12036                           TCF      MPACSHR    +3                         
043271,002412: 
043272,002413: 00,3206           07001        ABS                TC       BRANCH                                #  TEST SIGN OF MPAC AND COMPLEMENT IF
043273,002414: 00,3207           16125                           TCF      DANZIG                                
043274,002415: 00,3210           16125                           TCF      DANZIG                                
043275,002416: 00,3211           17722                           TCF      COMP                                  
043276,002417: 

Page 1027

043278,002419: 00,3212           47761        VDEF               CS       FOUR                                  #  VECTOR DEFINE - ESSENTIALLY TREATS
043279,002420: 00,3213           26156                           ADS      PUSHLOC                               #  SCALAR IN MPAC AS X COMPONENT, PUSHES UP
043280,002421: 00,3214           00006                           EXTEND                                         #  FOR Y AND THEN AGAIN FOR Z.
043281,002422: 00,3215           50000                           INDEX    A                                     
043282,002423: 00,3216           30003                           DCA      2                                     
043283,002424: 00,3217           52150                           DXCH     MPAC       +3                         
043284,002425: 00,3220           00006                           EXTEND                                         
043285,002426: 00,3221           50156                           INDEX    PUSHLOC                               
043286,002427: 00,3222           30001                           DCA      0                                     
043287,002428: 00,3223           52152                           DXCH     MPAC       +5                         
043288,002429: 00,3224           47763                           CS       ONE                                   #  MODE IS NOW VECTOR.
043289,002430: 00,3225           16124                           TCF      NEWMODE                               
043290,002431: 
043291,002432: 00,3226           03301        VSQ                TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043292,002433: 00,3227           37767                           CAF      ZERO                                  
043293,002434: 00,3230           16124                           TCF      NEWMODE                               #  MODE IS NOW DP.
043294,002435: 
043295,002436: 00,3231           00006        PUSH               EXTEND                                         #  PUSH DOWN MPAC LEAVING IT LOADED.
043296,002437: 00,3232           30145                           DCA      MPAC                                  
043297,002438: 00,3233           50156                           INDEX    PUSHLOC                               #  PUSH DOWN FIRST TWO REGISTERS IN EACH
043298,002439: 00,3234           52001                           DXCH     0                                     
043299,002440: 
043300,002441: 00,3235           50153                           INDEX    MODE                                  #  INCREMENT PUSHDOWN POINTER.
043301,002442: 00,3236           36310                           CAF      NO.WDS                                
043302,002443: 00,3237           26156                           ADS      PUSHLOC                               
043303,002444: 
043304,002445: 00,3240           10153                           CCS      MODE                                  
043305,002446: 00,3241           13254                           TCF      TPUSH                                 #  PUSH DOWN MPAC +2.
043306,002447: 00,3242           16125                           TCF      DANZIG                                #  DONE FOR DP.
043307,002448: 
043308,002449: 00,3243           00006                           EXTEND                                         #  ON VECTOR, PUSH DOWN Y AND Z COMPONENTS.
043309,002450: 00,3244           30150                           DCA      MPAC       +3                         
043310,002451: 00,3245           50156                           INDEX    PUSHLOC                               
043311,002452: 00,3246           51775                           DXCH     0          -4                         
043312,002453: 00,3247           00006                           EXTEND                                         
043313,002454: 00,3250           30152                           DCA      MPAC       +5                         
043314,002455: 00,3251           50156                           INDEX    PUSHLOC                               
043315,002456: 00,3252           51777                           DXCH     0          -2                         
043316,002457: 00,3253           16125                           TCF      DANZIG                                
043317,002458: 
043318,002459: 00,3254           30146        TPUSH              CA       MPAC       +2                         
043319,002460: 00,3255           16632                           TCF      ENDTPUSH   +2                         
043320,002461: 
043321,002462: 00,3256           50110        RVQ                INDEX    FIXLOC                                #  RVQ - RETURN IVA QPRET.
043322,002463: 00,3257           30052                           CA       QPRET                                 
043323,002464: 00,3260           54107                           TS       POLISH                                
043324,002465: 00,3261           16730                           TCF      GOTO       +4                         #  (ASSUME QPRET POINTS TO FIXED ONLY.)
043325,002466: 

Page 1028

043327,002468:                                                                                                  #           THE FOLLOWING SUBROUTINES ARE USED IN SQUARING MPAC, IN BOTH THE SCALAR AND VECTOR SENSE. THEY ARE
043328,002469:                                                                                                  #  SPECIAL CASES OF DMPSUB AND DOTSUB, PUT IN TO SAVE SOME TIME.
043329,002470: 
043330,002471: 00,3262           30145        DSQSUB             CA       MPAC       +1                         #  SQUARES THE SCALAR CONTENTS OF MPAC.
043331,002472: 00,3263           00006                           EXTEND                                         
043332,002473: 00,3264           70000                           SQUARE                                         
043333,002474: 00,3265           54146                           TS       MPAC       +2                         
043334,002475: 00,3266           37767                           CAF      ZERO                                  #  FORM 2(CROSS TERM).
043335,002476: 00,3267           56145                           XCH      MPAC       +1                         
043336,002477: 00,3270           00006                           EXTEND                                         
043337,002478: 00,3271           70144                           MP       MPAC                                  
043338,002479: 00,3272           20001                           DDOUBL                                         #  AND MAYBE OVERFLOW.
043339,002480: 00,3273           20146                           DAS      MPAC       +1                         #  AND SET A TO NET OVERFLOW.
043340,002481: 00,3274           56144                           XCH      MPAC                                  
043341,002482: 00,3275           00006                           EXTEND                                         
043342,002483: 00,3276           70000                           SQUARE                                         
043343,002484: 00,3277           20145                           DAS      MPAC                                  
043344,002485: 00,3300           00002                           TC       Q                                     
043345,002486: 
043346,002487: 00,3301           00006        VSQSUB             EXTEND                                         #  DOTS THE VECTOR IN MPAC WITH ITSELF.
043347,002488: 00,3302           22127                           QXCH     DOTRET                                
043348,002489: 00,3303           03262                           TC       DSQSUB                                #  SQUARE THE X COMPONENT.
043349,002490: 00,3304           52150                           DXCH     MPAC       +3                         
043350,002491: 00,3305           52145                           DXCH     MPAC                                  
043351,002492: 00,3306           52121                           DXCH     BUF                                   #  SO WE CAN END IN DOTSUB.
043352,002493: 00,3307           30146                           CA       MPAC       +2                         
043353,002494: 00,3310           54122                           TS       BUF        +2                         
043354,002495: 
043355,002496: 00,3311           03262                           TC       DSQSUB                                #  SQUARE Y COMPONENT.
043356,002497: 00,3312           52146                           DXCH     MPAC       +1                         
043357,002498: 00,3313           20122                           DAS      BUF        +1                         
043358,002499: 00,3314           60144                           AD       MPAC                                  
043359,002500: 00,3315           60120                           AD       BUF                                   
043360,002501: 00,3316           54120                           TS       BUF                                   
043361,002502: 00,3317           13321                           TCF      +2                                    
043362,002503: 00,3320           54111                           TS       OVFIND                                #  IF OVERFLOW.
043363,002504: 
043364,002505: 00,3321           52152                           DXCH     MPAC       +5                         
043365,002506: 00,3322           52145                           DXCH     MPAC                                  
043366,002507: 00,3323           03262                           TC       DSQSUB                                #  SQUARE Z COMPONENT.
043367,002508: 00,3324           17257                           TCF      ENDDOT                                #  END AS IN DOTSUB.
043368,002509: 

Page 1029

043370,002511:                                                                                                  #           DOUBLE PRECISION SQUARE ROOT ROUTINE. TAKE THE SQUARE ROOT OF THE TRIPLE PRECISION (MPAC +2 USED ONLY
043371,002512:                                                                                                  #  IN NORMALIZATION) CONTENTS OF MPAC AND LEAVE THE NORMALIZED RESULT IN MPAC (C(MPAC) GREATER THAN OR EQUAL TO
043372,002513:                                                                                                  #  .5). THE RIGHT SHIFT COUNT (TO UNNORMALIZE) IS LEFT IN MPTEMP.
043373,002514: 
043374,002515: 
043375,002516: 00,3325           37767        SQRTSUB            CAF      ZERO                                  #  START BY ZEROING RIGHT SHIFT COUNT.
043376,002517: 00,3326           54125                           TS       MPTEMP                                
043377,002518: 
043378,002519: 00,3327           10144                           CCS      MPAC                                  #  CHECK FOR POSITIVE ARGUMENT, SHIFTING
043379,002520: 00,3330           13366                           TCF      SMPAC+                                #  FIRST SIGNIFICANT MPAC REGISTER INTO
043380,002521: 00,3331           13333                           TCF      +2                                    #  MPAC ITSELF.
043381,002522: 00,3332           13355                           TCF      SQRTNEG                               #  SEE IF MAG OF ARGUMENT LESS THAN 10(-4).
043382,002523: 
043383,002524: 00,3333           56146                           XCH      MPAC       +2                         #  MPAC IS ZERO - SHIFT LEFT 14.
043384,002525: 00,3334           56145                           XCH      MPAC       +1                         
043385,002526: 00,3335           54144                           TS       MPAC                                  
043386,002527: 00,3336           37765                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
043387,002528: 00,3337           54125                           TS       MPTEMP                                
043388,002529: 
043389,002530: 00,3340           10144                           CCS      MPAC                                  #  SEE IF MPAC NOW PNZ.
043390,002531: 00,3341           13366                           TCF      SMPAC+                                
043391,002532: 00,3342           13344                           TCF      +2                                    
043392,002533: 00,3343           13360                           TCF      ZEROANS                               #  NEGATIVE BUT LESS THAN 10(-4) IN MAG.
043393,002534: 
043394,002535: 00,3344           56145                           XCH      MPAC       +1                         #  ZERO - SHIFT LEFT 14 AGAIN.
043395,002536: 00,3345           54144                           TS       MPAC                                  
043396,002537: 00,3346           37765                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
043397,002538: 00,3347           26125                           ADS      MPTEMP                                
043398,002539: 
043399,002540: 00,3350           10144                           CCS      MPAC                                  
043400,002541: 00,3351           13366                           TCF      SMPAC+                                
043401,002542: 00,3352           00002                           TC       Q                                     #  SQRT(0) = 0.
043402,002543: 00,3353           13360                           TCF      ZEROANS                               
043403,002544: 00,3354           13434                           TCF      FIXROOT                               #  DO NOT LEAVE SQRTSUB WITH -0 IN MPAC.
043404,002545: 
043405,002546: 00,3355           10000        SQRTNEG            CCS      A                                     #  ARGUMENT IS NEGATIVE, BUT SEE IF SIGN-
043406,002547: 00,3356           13364                           TCF      SQRTABRT                              #  CORRECTED ARGUMENT IS LESS THAN 10(-4)
043407,002548: 
043408,002549: 00,3357           10145                           CCS      MPAC       +1                         #  IN MAGNITUDE. IF SO, CALL ANSWER ZERO.
043409,002550: 00,3360           37767        ZEROANS            CAF      ZERO                                  #  FORCE ANSWER TO ZERO HERE.
043410,002551: 00,3361           13434                           TCF      FIXROOT                               
043411,002552: 00,3362           13364                           TCF      SQRTABRT                              
043412,002553: 00,3363           13434                           TCF      FIXROOT                               
043413,002554: 
043414,002555: 00,3364           06000        SQRTABRT           TC       ABORT                                 
043415,002556: 00,3365           01302                           OCT      1302                                  
043416,002557: 

Page 1030

043418,002559: 00,3366           62442        SMPAC+             AD       -1/2+2                                #  SEE IF ARGUMENT GREATER THAN OR EQUAL TO
043419,002560: 00,3367           00006                           EXTEND                                         #  .5.
043420,002561: 00,3370           63437                           BZMF     SRTEST                                #  IF SO, SEE IF LESS THAN .25.
043421,002562: 
043422,002563: 00,3371           52145                           DXCH     MPAC                                  #  WE WILL TAKE THE SQUARE ROOT OF MPAC/2.
043423,002564: 00,3372           22021                           LXCH     SR                                    #  SHIFT RIGHT 1 AND GO TO THE SQRT ROUTINE
043424,002565: 00,3373           00006                           EXTEND                                         
043425,002566: 00,3374           77746                           MP       HALF                                  
043426,002567: 00,3375           52145                           DXCH     MPAC                                  
043427,002568: 00,3376           56021                           XCH      SR                                    
043428,002569: 00,3377           26145                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
043429,002570: 
043430,002571: 00,3400           32314        ARGHI              CAF      SLOPEHI                               #  ARGUMENT BETWEEN .25 AND .5. GET A
043431,002572: 00,3401           00006                           EXTEND                                         #  LINEAR APPROXIMATION FOR THIS RANGE.
043432,002573: 00,3402           70144                           MP       MPAC                                  
043433,002574: 00,3403           62542                           AD       BIASHI                                #  X0/2 = (MPAC/2)(SLOPEHI) + BIASHI/2.
043434,002575: 
043435,002576: 00,3404           54120                 +4        TS       BUF                                   #  X0/2 (ARGLO ENTERS HERE).
043436,002577: 00,3405           30144                           CA       MPAC                                  #  SINGLE-PRECISION THROUGHOUT.
043437,002578: 00,3406           22007                           ZL                                             
043438,002579: 00,3407           00006                           EXTEND                                         
043439,002580: 00,3410           10120                           DV       BUF                                   #  (MPAC/2)/(X0/2)
043440,002581: 00,3411           00006                           EXTEND                                         
043441,002582: 00,3412           77746                           MP       HALF                                  
043442,002583: 00,3413           26120                           ADS      BUF                                   #  X1 = X0/2 + .5(MPAC/2)/(X0/2).
043443,002584: 
043444,002585: 00,3414           00006                           EXTEND                                         
043445,002586: 00,3415           77746                           MP       HALF                                  #  FORM UP X1/2.
043446,002587: 00,3416           52145                           DXCH     MPAC                                  #  SAVE AND BRING OUT ARGUMENT.
043447,002588: 00,3417           00006                           EXTEND                                         #  TAKE DP QUOTIENT WITH X1.
043448,002589: 00,3420           10120                           DV       BUF                                   
043449,002590: 00,3421           54121                           TS       BUF        +1                         #  SAVE MAJOR PART OF QUOTIENT.
043450,002591: 00,3422           37767                           CAF      ZERO                                  #  FORM MINOR PART OF QUOTIENT USING
043451,002592: 00,3423           56001                           XCH      L                                     #  (REMAINDER,0).
043452,002593: 00,3424           00006                           EXTEND                                         
043453,002594: 00,3425           10120                           DV       BUF                                   
043454,002595: 00,3426           54001                           TS       L                                     #  IN PREPARATION FOR DAS.
043455,002596: 00,3427           30121                           CA       BUF        +1                         
043456,002597: 00,3430           20145                           DAS      MPAC                                  #  X2 = X1/2 + (MPAC/2)X1
043457,002598: 
043458,002599: 00,3431           00006                           EXTEND                                         #  OVERFLOWS IF ARG. NEAR POSMAX.
043459,002600: 00,3432           13436                           BZF      TCQBNK00                              
043460,002601: 00,3433           37743                           CAF      POSMAX                                
043461,002602: 00,3434           54144        FIXROOT            TS       MPAC                                  
043462,002603: 00,3435           54145                           TS       MPAC       +1                         
043463,002604: 00,3436           00002        TCQBNK00           TC       Q                                     #  RETURN TO CALLER TO UNNORMALIZE, ETC.
043464,002605: 

Page 1031

043466,002607: 00,3437           67747        SRTEST             AD       QUARTER                               #  ARGUMENT WAS LESS THAN .5, SEE IF LESS
043467,002608: 00,3440           00006                           EXTEND                                         #  THAN .25.
043468,002609: 00,3441           63463                           BZMF     SQRTNORM                              #  IF SO, BEGIN NORMALIZATION.
043469,002610: 
043470,002611: 00,3442           52145                           DXCH     MPAC                                  #  IF BETWEEN .5 AND .25, SHIFT RIGHT 1 AND
043471,002612: 00,3443           22021                           LXCH     SR                                    #  START AT ARGLO.
043472,002613: 00,3444           00006                           EXTEND                                         
043473,002614: 00,3445           77746                           MP       HALF                                  
043474,002615: 00,3446           52145                           DXCH     MPAC                                  
043475,002616: 00,3447           56021                           XCH      SR                                    
043476,002617: 00,3450           26145                           ADS      MPAC       +1                         #  NO OVERFLOW.
043477,002618: 
043478,002619: 00,3451           32772        ARGLO              CAF      SLOPELO                               #  (NORMALIZED) ARGUMENT BETWEEN .125 AND
043479,002620: 00,3452           00006                           EXTEND                                         #  .25
043480,002621: 00,3453           70144                           MP       MPAC                                  
043481,002622: 00,3454           62270                           AD       BIASLO                                
043482,002623: 00,3455           13404                           TCF      ARGHI      +4                         #  BEGIN SQUARE ROOT.
043483,002624: 
043484,002625: 00,3456           00006        SQRTNM2            EXTEND                                         #  SHIFT LEFT 2 AND INCREMENT RIGHT SHIFT
043485,002626: 00,3457           30146                           DCA      MPAC       +1                         #  COUNT (FOR TERMINAL UNNORMALIZATION).
043486,002627: 00,3460           20146                           DAS      MPAC       +1                         
043487,002628: 00,3461           60144                           AD       MPAC                                  
043488,002629: 00,3462           26144                           ADS      MPAC                                  #  (NO OVERFLOW).
043489,002630: 
043490,002631: 00,3463           24125        SQRTNORM           INCR     MPTEMP                                #  FIRST TIME THROUGH, JUST SHIFT LEFT 1
043491,002632: 00,3464           00006                           EXTEND                                         #  (PUTS IN EFFECTIVE RIGHT SHIFT SINCE
043492,002633: 00,3465           30146                           DCA      MPAC       +1                         #  WE WANT MPAC/2).
043493,002634: 00,3466           20146                           DAS      MPAC       +1                         
043494,002635: 00,3467           60144                           AD       MPAC                                  
043495,002636: 00,3470           26144                           ADS      MPAC                                  #  (AGAIN NO OVERFLOW).
043496,002637: 00,3471           60000                           DOUBLE                                         
043497,002638: 00,3472           54022                           TS       CYL                                   
043498,002639: 
043499,002640: 00,3473           10022        NORMTEST           CCS      CYL                                   #  SEE IF ARGUMENT NOW NORMALIZED AT
043500,002641: 00,3474           10022                           CCS      CYL                                   #  GREATER THAN .125.
043501,002642: 00,3475           13456                           TCF      SQRTNM2                               #  NO - SHIFT LEFT 2 MORE AND TRY AGAIN.
043502,002643: 00,3476           13400                           TCF      ARGHI                                 #  YES - NOW BETWEEN .5 AND .25.
043503,002644: 00,3477           13451                           TCF      ARGLO                                 #  ARGUMENT NOW BETWEEN .25 AND .125.
043504,002645: 

Page 1032

043506,002647:                                                                                                  #  TRIGONOMETRIC FUNCTION PACKAGE.
043507,002648: 
043508,002649:                                                                                                  #           THE FOLLOWING TRIGONOMETRIC FUNCTIONS ARE AVAILABLE AS INTERPRETIVE OPERATIONS:
043509,002650: 
043510,002651:                                                                                                  #           1.  SIN                COMPUTES (1/2)SINE(2 PI MPAC).
043511,002652:                                                                                                  #           2.  COS                COMPUTES (1/2)COSINE(2 PI MPAC).
043512,002653: 
043513,002654:                                                                                                  #           3.  ASIN               COMPUTES (1/2PI)ARCSINE(2 MPAC).
043514,002655:                                                                                                  #           4.  ACOS               COMPUTES (1/2PI)ARCCOSINE(2 MPAC).
043515,002656: 
043516,002657:                                                                                                  #  SIN-ASIN AND COS-ACOS ARE MUTUALLY INVERSE, IE SIN(ASIN(X)) = X.
043517,002658: 
043518,002659: 00,3500           07001        COSINE             TC       BRANCH                                #  FINDS COSINE USING THE IDENTITY
043519,002660: 00,3501           13504                           TCF      +3                                    #  COS(X) = SIN(PI/2 - ABS(X)).
043520,002661: 00,3502           13507                           TCF      PRESINE                               
043521,002662: 00,3503           13507                           TCF      PRESINE                               
043522,002663: 
043523,002664: 00,3504           00006                 +3        EXTEND                                         
043524,002665: 00,3505           40145                           DCS      MPAC                                  
043525,002666: 00,3506           52145                           DXCH     MPAC                                  
043526,002667: 
043527,002668: 00,3507           37747        PRESINE            CAF      QUARTER                               #  PI/2 SCALED.
043528,002669: 00,3510           26144                           ADS      MPAC                                  
043529,002670: 
043530,002671: 
043531,002672: 00,3511           52145        SINE               DXCH     MPAC                                  #  DOUBLE ARGUMENT.
043532,002673: 00,3512           20001                           DDOUBL                                         
043533,002674: 00,3513           54000                           OVSK                                           #  SEE IF OVERFLOW PRESENT.
043534,002675: 00,3514           13517                           TCF      +3                                    #  IF NOT, ARGUMENT OK AS IS.
043535,002676: 
043536,002677: 00,3515           00006                           EXTEND                                         #  IF SO, WE LOST (OR GAINED) PI, SO
043537,002678: 00,3516           40001                           DCOM                                           #  COMPLEMENT MPAC USING THE IDENTITY
043538,002679:                                                                                                  #  SIN(X-(+)PI) = SIN(-X).
043539,002680: 00,3517           52145                 +3        DXCH     MPAC                                  
043540,002681: 00,3520           30144                           CA       MPAC                                  #  SEE IF ARGUMENT GREATER THAN .5 IN
043541,002682: 00,3521           60000                           DOUBLE                                         #  MAGNITUDE. IF SO, REDUCE IT TO LESS THAN
043542,002683: 00,3522           54001                           TS       L                                     #  .5 (+-PI/2 SCALED) AS FOLLOWS:
043543,002684: 00,3523           13534                           TCF      SN1                                   
043544,002685: 
043545,002686: 00,3524           50000                           INDEX    A                                     #  IF POSITIVE, FORM PI - X, IF NEGATIVE
043546,002687: 00,3525           37745                           CAF      NEG1/2     +1                         #  USE -PI -X.
043547,002688: 00,3526           60000                           DOUBLE                                         
043548,002689: 00,3527           00006                           EXTEND                                         
043549,002690: 00,3530           60144                           SU       MPAC                                  #  GUARANTEED NO OVERFLOW.
043550,002691: 00,3531           54144                           TS       MPAC                                  
043551,002692: 00,3532           40145                           CS       MPAC       +1                         
043552,002693: 00,3533           54145                           TS       MPAC       +1                         
043553,002694: 

Page 1033

043555,002696: 00,3534           00006        SN1                EXTEND                                         #  SET UP TO EVALUATE HASTINGS POLYNOMIAL
043556,002697: 00,3535           30145                           DCA      MPAC                                  
043557,002698: 00,3536           52124                           DXCH     BUF2                                  
043558,002699: 00,3537           03262                           TC       DSQSUB                                #  SQUARE MPAC.
043559,002700: 
043560,002701: 00,3540           07274                           TC       POLY                                  #  EVALUATE FOURTH ORDER POLYNOMIAL.
043561,002702: 00,3541           00003                           DEC      3          B-14                       
043562,002703: 00,3542           14441 37325                     2DEC     +.3926990796                            
043563,002704: 
043564,002705: 00,3544           53250 60764                     2DEC     -.6459637111                            
043565,002706: 
043566,002707: 00,3546           12146 21276                     2DEC     +.318758717                            
043567,002708: 
043568,002709: 00,3550           75466 71471                     2DEC     -.074780249                            
043569,002710: 
043570,002711: 00,3552           00236 32757                     2DEC     +.009694988                            
043571,002712: 
043572,002713: 00,3554           32466                           CAF      LBUF2                                 #  MULTIPLY BY ARGUMENT AND SHIFT LEFT 2.
043573,002714: 00,3555           07160                           TC       DMPSUB     -1                         
043574,002715: 
043575,002716: 00,3556           00006                           EXTEND                                         
043576,002717: 00,3557           30146                           DCA      MPAC       +1                         
043577,002718: 00,3560           20146                           DAS      MPAC       +1                         
043578,002719: 00,3561           60144                           AD       MPAC                                  
043579,002720: 00,3562           26144                           ADS      MPAC                                  #  NEITHER SHIFT OVERFLOWS.
043580,002721: 00,3563           00006                           EXTEND                                         
043581,002722: 00,3564           30146                           DCA      MPAC       +1                         
043582,002723: 00,3565           20146                           DAS      MPAC       +1                         
043583,002724: 00,3566           60144                           AD       MPAC                                  
043584,002725: 00,3567           26144                           ADS      MPAC                                  
043585,002726: 00,3570           16125                           TCF      DANZIG                                
043586,002727: 

Page 1034

043588,002729:                                                                                                  #           ARCSIN/ARCCOS ROUTINE.
043589,002730: 
043590,002731: 00,3571           33612        ARCSIN             CAF      LASINEX                               #  COMPUTE ARCSIN BY USING THE IDENTITY
043591,002732: 00,3572           13574                           TCF      +2                                    #  ARCSIN(X) = PI/2 - ARCCOS(X).
043592,002733: 
043593,002734: 00,3573           33674        ARCCOS             CAF      LDANZIG                               #  (EXITS IMMEDIATELY).
043594,002735: 00,3574           54126                           TS       ESCAPE                                
043595,002736: 00,3575           07001                           TC       BRANCH                                #  TEST SIGN OF INPUT.
043596,002737: 00,3576           13606                           TCF      ACOSST                                #  START IMMEDIATELY IF POSITIVE.
043597,002738: 00,3577           13706                           TCF      ACOSZERO                              #  ARCCOS(0) = PI/2 = .25.
043598,002739: 00,3600           00006                           EXTEND                                         #  IF NEGATIVE, USE THE IDENTITY
043599,002740: 00,3601           40145                           DCS      MPAC                                  #  ARCCOS(X) = PI - ARCCOS(-X), FORCING
043600,002741: 00,3602           52145                           DXCH     MPAC                                  #  ARGUMENT POSITIVE.
043601,002742: 00,3603           33711                           CAF      TCSUBTR                               #  SET EXIT  TO DO ABOVE BEFORE
043602,002743: 00,3604           56126                           XCH      ESCAPE                                #  ARCSIN/ARCCOS CONSIDERATIONS.
043603,002744: 00,3605           54127                           TS       ESCAPE2                               
043604,002745: 
043605,002746: 00,3606           47746        ACOSST             CS       HALF                                  #  TEST MAGNITUDE OF INPUT.
043606,002747: 00,3607           60144                           AD       MPAC                                  
043607,002748: 00,3610           10000                           CCS      A                                     
043608,002749: 00,3611           13702                           TCF      ACOSOVF                               #  THIS IS PROBABLY AN OVERFLOW CASE.
043609,002750: 
043610,002751: 00,3612           13670        LASINEX            TCF      ASINEX                                
043611,002752: 
043612,002753: 00,3613           13623                           TCF      ACOSST2                               #  NO OVERFLOW - PROCEED.
043613,002754: 
043614,002755: 00,3614           10145                           CCS      MPAC       +1                         #  IF MAJOR PART IS .5, CALL ANSWER 0
043615,002756: 00,3615           37767                           CAF      ZERO                                  #  UNLESS MINOR PART NEGATIVE.
043616,002757: 00,3616           13620                           TCF      ACOS=0                                
043617,002758: 
043618,002759: 00,3617           13623                           TCF      ACOSST2                               
043619,002760: 
043620,002761: 00,3620           54145        ACOS=0             TS       MPAC       +1                         
043621,002762: 00,3621           54144                           TS       MPAC                                  
043622,002763: 00,3622           00126                           TC       ESCAPE                                
043623,002764: 
043624,002765: 00,3623           00006        ACOSST2            EXTEND                                         #  NOW THAT ARGUMENT IS IN PROPER RANGE,
043625,002766: 00,3624           40145                           DCS      MPAC                                  #  BEGIN COMPUTATION. USE HASTINGS
043626,002767: 00,3625           67746                           AD       HALF                                  #  APPROXIMATION ARCCOS(X) = SQRT(1-X)P(X)
043627,002768: 00,3626           52145                           DXCH     MPAC                                  #  IN A SCALED VERSION WHERE P(X) IS A
043628,002769: 00,3627           52124                           DXCH     BUF2                                  #  SEVENTH ORDER POLYNOMIAL.
043629,002770: 
043630,002771: 00,3630           03325                           TC       SQRTSUB                               #  RETURNS WITH NORMALIZED SQUARE ROOT.
043631,002772: 
043632,002773: 00,3631           10125                           CCS      MPTEMP                                #  SEE IF UN-NORMALIZATION REQUIRED.
043633,002774: 00,3632           13675                           TCF      ACOSSHR                               #  IF SO.
043634,002775: 

Page 1035

043636,002777: 00,3633           52145        ACOS3              DXCH     MPAC                                  #  SET UP FOR POLYNOMIAL EVALUATION.
043637,002778: 00,3634           52124                           DXCH     BUF2                                  
043638,002779: 00,3635           52145                           DXCH     MPAC                                  
043639,002780: 
043640,002781: 00,3636           07274                           TC       POLY                                  
043641,002782: 00,3637           00006                           DEC      6          B-14                       
043642,002783: 00,3640           13240 23630                     2DEC     +.353553385                            #  COEFFICIENTS ARE C 2(+I)/PISQRT(2) WHERE
043643,002784: 
043644,002785: 00,3642           74721 47775                     2DEC*    -.0483017006 B+1*                       #                    I
043645,002786: 
043646,002787: 00,3644           02440 20237                     2DEC*    +.0200273085 B+2*                       #       WHERE C STANDS FOR ORIGINAL COEFFS.
043647,002788: 
043648,002789: 00,3646           75067 70742                     2DEC*    -.0112931863 B+3*                       
043649,002790: 
043650,002791: 00,3650           03436 26756                     2DEC*    +.00695311612 B+4*                       
043651,002792: 
043652,002793: 00,3652           74037 57640                     2DEC*    -.00384617957 B+5*                       
043653,002794: 
043654,002795: 00,3654           03046 07143                     2DEC*    +.001501297736 B+6*                       
043655,002796: 
043656,002797: 00,3656           76654 42244                     2DEC*    -.000284160334 B+7*                       
043657,002798: 
043658,002799: 00,3660           32466                           CAF      LBUF2                                 #  DO FINAL MULTIPLY AND GO TO ANY
043659,002800: 00,3661           07160                           TC       DMPSUB     -1                         #  EPILOGUE SEQUENCES.
043660,002801: 00,3662           00126                           TC       ESCAPE                                
043661,002802: 
043662,002803: 00,3663           00006        SUBTR              EXTEND                                         #  EPILOGUE FOR NEGATIVE INPUTS TO ARCCOS.
043663,002804: 00,3664           40145                           DCS      MPAC                                  
043664,002805: 00,3665           67746                           AD       HALF                                  #  FORMS PI - ARCCOS(-X) = ARCCOS(X).
043665,002806: 00,3666           52145                           DXCH     MPAC                                  
043666,002807: 00,3667           00127                           TC       ESCAPE2                               #  GO TO POSSIBLE ARCSIN EPILOGUE.
043667,002808: 
043668,002809: 00,3670           00006        ASINEX             EXTEND                                         
043669,002810: 00,3671           40145                           DCS      MPAC                                  #  ARCSIN EPILOGUE - GET ARCSIN(X)
043670,002811: 00,3672           67747                           AD       QUARTER                               #  = PI/2 - ARCCOS(X).
043671,002812: 00,3673           52145                           DXCH     MPAC                                  
043672,002813: 00,3674           16125        LDANZIG            TCF      DANZIG                                
043673,002814: 

Page 1036

043675,002816: 00,3675           50000        ACOSSHR            INDEX    A                                     #  THE SHIFT RIGHT IS LESS THAN 14 SINCE
043676,002817: 00,3676           37746                           CAF      BIT14                                 #  THE INPUT WAS NON-ZERO DP.
043677,002818: 00,3677           54125                           TS       MPTEMP                                
043678,002819: 00,3700           02073                           TC       VSHRRND                               #  DP SHIFT RIGHT AND ROUND.
043679,002820: 00,3701           13633                           TCF      ACOS3                                 #  PROCEED.
043680,002821: 
043681,002822: 00,3702           00006        ACOSOVF            EXTEND                                         #  IF MAJOR PART WAS ONLY 1 MORE THAN .5,
043682,002823: 00,3703           13620                           BZF      ACOS=0                                #  CALL ANSWER ZERO.
043683,002824: 
043684,002825: 00,3704           06000        ACOSABRT           TC       ABORT                                 
043685,002826: 00,3705           01301                           OCT      1301                                  
043686,002827: 
043687,002828: 00,3706           37747        ACOSZERO           CAF      QUARTER                               #  ACOS(0) = PI/2.
043688,002829: 00,3707           13621                           TCF      ACOS=0     +1                         #  SET MPAC AND EXIT VIA ESCAPE.
043689,002830: 
043690,002831: 00,3710           77763        NEG12              DEC      -12        B-14                       
043691,002832: 00,3711           13663        TCSUBTR            TCF      SUBTR                                 
043692,002833: 

Page 1037

043694,002835:                                                                                                  #  AUXILIARY CODING FOR DDV/BDDV:
043695,002836: 
043696,002837: 
043697,002838: 00,3712           10000        BUFPOS             CCS      A                                     
043698,002839: 00,3713           12420                           TCF      BUF+                                  #  TO BUF+ IF BUF IS GREATER THAN +1.
043699,002840: 
043700,002841: 00,3714           40121                           CS       BUF        +1                         #  IF BUF IS +1, FORCING SIGN AGREEMENT
043701,002842: 00,3715           00006                           EXTEND                                         #  MAY CAUSE BUF TO BECOME ZERO.
043702,002843: 00,3716           62420                           BZMF     BUF+                                  #  BRANCH IF SIGNS AGREE.
043703,002844: 
043704,002845: 00,3717           37746                           CA       HALF                                  #  SIGNS DISAGREE.  FORCE AGREEMENT.
043705,002846: 00,3720           60000                 +6        DOUBLE                                         
043706,002847: 00,3721           26121                           ADS      BUF        +1                         
043707,002848: 00,3722           37767                           CA       ZERO                                  
043708,002849: 00,3723           54120                           TS       BUF                                   
043709,002850: 00,3724           12362                           TCF      BUFZERO                               
043710,002851: 
043711,002852: 00,3725           10000        BUFNEG             CCS      A                                     
043712,002853: 00,3726           12414                           TCF      BUF-                                  #  TO BUF- IF BUF IS LESS THAN -1.
043713,002854: 
043714,002855: 00,3727           30121                           CA       BUF        +1                         #  IF BUF IS -1, FORCING SIGN AGREEMENT
043715,002856: 00,3730           00006                           EXTEND                                         #  MAY CAUSE BUF TO BECOME ZERO.
043716,002857: 00,3731           62414                           BZMF     BUF-                                  #  BRANCH IF SIGNS AGREE.
043717,002858: 
043718,002859: 00,3732           47746                           CS       HALF                                  #  SIGNS DISAGREE.  FORCE AGREEMENT.
043719,002860: 00,3733           13720                           TCF      BUFPOS     +6                         
043720,002861: 

Page 1038

043722,002863:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE AVAILABLE FOR SETTING, MODIFYING, AND BRANCHING ON INDEX REGISTERS:
043723,002864: 
043724,002865:                                                                                                  #           1.  AXT                ADDRESS TO INDEX TRUE.
043725,002866:                                                                                                  #           2.  AXC                ADDRESS TO INDEX COMPLEMENTED.
043726,002867:                                                                                                  #           3.  LXA                LOAD INDEX FROM ERASABLE.
043727,002868:                                                                                                  #           4.  LXC                LOAD INDEX COMPLEMENTED FROM ERASABLE.
043728,002869:                                                                                                  #           5.  SXA                STORE INDEX IN ERASABLE.
043729,002870:                                                                                                  #           6.  XCHX               EXCHANGE INDEX REIGSTER WITH ERASABLE.
043730,002871: 
043731,002872:                                                                                                  #           7.  INCR               INCREMENT INDEX REGISTER.
043732,002873:                                                                                                  #           8.  XAD                ERASABLE ADD TO INDEX REGISTER.
043733,002874:                                                                                                  #           9.  XSU                ERASABLE SUBTRACT FROM INDEX REGISTER.
043734,002875: 
043735,002876:                                                                                                  #          10.  TIX                BRANCH ON INDEX REGISTER AND DECREMENT.
043736,002877: 
043737,002878: 
043738,002879: 01,2626                                           BANK     01                                    
043739,002880: 
043740,002881: 01,2626           02723        AXT                TC       TAGSUB                                #  SELECT APPROPRIATE INDEX REGISTER.
043741,002882: 01,2627           30107                           CA       POLISH                                
043742,002883: 01,2630           50120        XSTORE             INDEX    INDEXLOC                              #  CONTAINS C(FIXLOC) OR C(FIXLOC)+1.
043743,002884: 01,2631           54046                           TS       X1                                    
043744,002885: 01,2632           16125                           TCF      DANZIG                                
043745,002886: 
043746,002887: 01,2633           02723        AXC                TC       TAGSUB                                
043747,002888: 01,2634           40107                           CS       POLISH                                
043748,002889: 01,2635           02630                           TC       XSTORE                                
043749,002890: 
043750,002891: 01,2636           02711        LXA                TC       15ADRERS                              #  LOAD INDEX REGISTER FROM ERASABLE.
043751,002892: 01,2637           50107                           INDEX    POLISH                                
043752,002893: 01,2640           30000                           CA       0                                     
043753,002894: 01,2641           12630                           TCF      XSTORE                                
043754,002895: 
043755,002896: 01,2642           02711        LXC                TC       15ADRERS                              #  LOAD NDX REG FROM ERASABLE COMPLEMENTED.
043756,002897: 01,2643           50107                           INDEX    POLISH                                
043757,002898: 01,2644           40000                           CS       0                                     
043758,002899: 01,2645           12630                           TCF      XSTORE                                
043759,002900: 
043760,002901: 01,2646           02711        SXA                TC       15ADRERS                              #  STORE INDEX REGISTER IN ERASABLE.
043761,002902: 01,2647           50120                           INDEX    INDEXLOC                              
043762,002903: 01,2650           30046                           CA       X1                                    
043763,002904: 01,2651           50107        MSTORE1            INDEX    POLISH                                
043764,002905: 01,2652           54000                           TS       0                                     
043765,002906: 01,2653           16125                           TCF      DANZIG                                
043766,002907: 

Page 1039

043768,002909: 01,2654           02711        XCHX               TC       15ADRERS                              #  EXCHANGE INDEX REGISTER WITH ERASABLE.
043769,002910: 01,2655           50107                           INDEX    POLISH                                
043770,002911: 01,2656           30000                           CA       0                                     
043771,002912: 01,2657           50120                           INDEX    INDEXLOC                              
043772,002913: 01,2660           56046                           XCH      X1                                    
043773,002914: 01,2661           12651                           TCF      MSTORE1                               
043774,002915: 
043775,002916: 01,2662           02711        XAD                TC       15ADRERS                              #  ADD ERASABLE TO INDEX REGISTER.
043776,002917: 01,2663           50107                           INDEX    POLISH                                
043777,002918: 01,2664           30000                           CA       0                                     
043778,002919: 01,2665           50120        XAD2               INDEX    INDEXLOC                              
043779,002920: 01,2666           26046                           ADS      X1                                    #  IGNORING OVERFLOWS.
043780,002921: 01,2667           16125                           TCF      DANZIG                                
043781,002922: 
043782,002923: 01,2670           02723        INCR               TC       TAGSUB                                #  INCREMENT INDEX REGISTER.
043783,002924: 01,2671           30107                           CA       POLISH                                
043784,002925: 01,2672           12665                           TCF      XAD2                                  
043785,002926: 
043786,002927: 01,2673           02711        XSU                TC       15ADRERS                              #  SUBTRACT ERASABLE FROM INDEX REGISTER.
043787,002928: 01,2674           50107                           INDEX    POLISH                                
043788,002929: 01,2675           40000                           CS       0                                     
043789,002930: 01,2676           12665                           TCF      XAD2                                  
043790,002931: 
043791,002932: 
043792,002933: 01,2677           02723        TIX                TC       TAGSUB                                #  BRANCH AND DECREMENT ON INDEX.
043793,002934: 01,2700           50120                           INDEX    INDEXLOC                              
043794,002935: 01,2701           40050                           CS       S1                                    
043795,002936: 01,2702           50120                           INDEX    INDEXLOC                              
043796,002937: 01,2703           60046                           AD       X1                                    
043797,002938: 01,2704           00006                           EXTEND                                         #  NO OPERATION IF DECREMENTED INDEX IS
043798,002939: 01,2705           66125                           BZMF     DANZIG                                #  NEGATIVE OR ZERO.
043799,002940: 
043800,002941: 01,2706           50120        DOTIXBR            INDEX    INDEXLOC                              
043801,002942: 01,2707           56046                           XCH      X1                                    #  IGNORING OVERFLOWS.
043802,002943: 
043803,002944: 01,2710           16724                           TCF      GOTO                                  #  DO THE BRANCH USING THE CADR IN POLISH.
043804,002945: 

Page 1040

043806,002947:                                                                                                  #           SUBROUTINE TO CONVERT AN ERASABLE ADDRESS (11 BITS) TO AN EBANK SETTING AND SUBADDRESS.
043807,002948: 
043808,002949: 01,2711           40107        15ADRERS           CS       POLISH                                
043809,002950: 01,2712           65353                           AD       DEC45                                 
043810,002951: 01,2713           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
043811,002952: 01,2714           30110                           CA       FIXLOC                                #  YES.  ADD FIXLOC.  EBANK OK AS IS.
043812,002953: 01,2715           12722                           TCF      +5                                    
043813,002954: 
043814,002955: 01,2716           35352                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
043815,002956: 01,2717           56107                           XCH      POLISH                                
043816,002957: 01,2720           54003                           TS       EBANK                                 
043817,002958: 01,2721           74564                           MASK     LOW8                                  
043818,002959: 01,2722           26107                 +5        ADS      POLISH                                #  FALL INTO TAGSUB, AND RETURN VIA Q.
043819,002960: 
043820,002961:                                                                                                  #           SUBROUTINE WHICH SETS THE ADDRESS OF THE SPECIFIED INDEX IN INDEXLOC.  (ACTUALLY, THE ADDRESS -38D.)
043821,002962: 
043822,002963: 01,2723           30110        TAGSUB             CA       FIXLOC                                
043823,002964: 01,2724           54120                           TS       INDEXLOC                              
043824,002965: 
043825,002966: 01,2725           10020                           CCS      CYR                                   #  BIT 15 SPECIFIES INDEX.
043826,002967: 01,2726           24120                           INCR     INDEXLOC                              #  0 MEANS USE X2.
043827,002968: 01,2727           00002                           TC       Q                                     
043828,002969: 01,2730           00002                           TC       Q                                     #  1 FOR X1.
043829,002970: 

Page 1041

043831,002972:                                                                                                  #           MISCELLANEOUS OPERATION CODES WITH DIRECT ADDRESSES. INCLUDED HERE ARE:
043832,002973: 
043833,002974:                                                                                                  #           1.  ITA                STORE QPRET (RETURN ADDRESS) IN ERASABLE.
043834,002975:                                                                                                  #           2.  CALL               CALL A SUBROUTINE, LEAVING RETURN IN QPRET.
043835,002976:                                                                                                  #           3.  RTB                RETURN TO BASIC LANGUAGE AT THE GIVEN ADDRESS.
043836,002977:                                                                                                  #           4.  BHIZ               BRANCH IF THE HIGH ORDER OF MPAC IS ZERO (SINGLE PRECISION).
043837,002978:                                                                                                  #           5.  BOV                BRANCH ON OVERFLOW.
043838,002979:                                                                                                  #           6.  GOTO               SIMPLE SEQUENCE CHANGE.
043839,002980: 
043840,002981: 01,2731           10020        RTB/BHIZ           CCS      CYR                                   
043841,002982: 01,2732           30107        RTB                CA       POLISH                                
043842,002983: 01,2733           15230                           TCF      BANKJUMP                              #  CALL BASIC ROUTINE.
043843,002984: 
043844,002985: 01,2734           10144        BHIZ               CCS      MPAC                                  
043845,002986: 01,2735           16125                           TCF      DANZIG                                
043846,002987: 01,2736           16724                           TCF      GOTO                                  
043847,002988: 01,2737           16125                           TCF      DANZIG                                
043848,002989: 01,2740           16724                           TCF      GOTO                                  
043849,002990: 
043850,002991: 01,2741           10111        BOV(B)             CCS      OVFIND                                #  BRANCH ON OVERFLOW TO BASIC OR INTERP.
043851,002992: 01,2742           12744                           TCF      +2                                    
043852,002993: 01,2743           16125                           TCF      DANZIG                                
043853,002994: 01,2744           54111                           TS       OVFIND                                
043854,002995: 01,2745           10020                           CCS      CYR                                   
043855,002996: 01,2746           12732                           TCF      RTB                                   #  IF BASIC.
043856,002997: 01,2747           00360        B5TOBB             OCT      360                                   
043857,002998: 01,2750           16724                           TCF      GOTO                                  
043858,002999: 

Page 1042

043860,003001: 01,2751           10020        BZE/GOTO           CCS      CYR                                   #  SEE WHICH OP-CODE IS DESIRED.
043861,003002: 01,2752           07001                           TC       BRANCH                                #  DO BZE.
043862,003003: 01,2753           16125                           TCF      DANZIG                                
043863,003004: 01,2754           16724                           TCF      GOTO                                  #  DO GOTO.
043864,003005: 01,2755           16125                           TCF      DANZIG                                
043865,003006: 
043866,003007: 01,2756           10020        BPL/BMN            CCS      CYR                                   
043867,003008: 01,2757           12765                           TCF      BPL                                   
043868,003009: 01,2760           12000        5B10               DEC      5          B+10                       #  SHIFTS OP CODE IN SWITCH INSTRUCTION ADR
043869,003010: 
043870,003011: 01,2761           07001                           TC       BRANCH                                #  DO BMN.
043871,003012: 01,2762           16125                           TCF      DANZIG                                
043872,003013: 01,2763           16125                           TCF      DANZIG                                
043873,003014: 01,2764           16724                           TCF      GOTO                                  #  ONLY IF NNZ.
043874,003015: 
043875,003016: 01,2765           07001        BPL                TC       BRANCH                                
043876,003017: 01,2766           16724                           TCF      GOTO                                  #  IF POSITIVE OR ZERO.
043877,003018: 01,2767           16724                           TCF      GOTO                                  
043878,003019: 01,2770           16125                           TCF      DANZIG                                
043879,003020: 
043880,003021: 01,2771           10020        CALL/ITA           CCS      CYR                                   
043881,003022: 01,2772           16716                           TCF      CALL                                  
043882,003023: 
043883,003024: 01,2773           04736                           TC       CCSHOLE                               
043884,003025: 01,2774           02711                           TC       15ADRERS                              #  STORE QPRET. (TAGSUB AFTER 15ADRERS IS
043885,003026: 01,2775           50110                           INDEX    FIXLOC                                #  SLOW IN THIS CASE, BUT SAVES STORAGE.)
043886,003027: 01,2776           30052                           CA       QPRET                                 
043887,003028: 01,2777           12651                           TCF      MSTORE1                               
043888,003029: 

Page 1043

043890,003031:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR ALTERING AND TESTING INTERPRETIVE SWITCHES:
043891,003032: 
043892,003033:                                                                                                  #  00       BONSET                 SET A SWITCH AND DO A GOTO IF IT WAS ON.
043893,003034:                                                                                                  #  01       SETGO                  SET A SWITCH AND DO A GOTO.
043894,003035:                                                                                                  #  02       BOFSET                 SET A SWITCH AND DO A GOTO IF IT WAS OFF
043895,003036:                                                                                                  #  03       SET                    SET A SWITCH.
043896,003037: 
043897,003038:                                                                                                  #  04       BONINV                 INVERT A SWITCH AND BRANCH IF IT WAS ON.
043898,003039:                                                                                                  #  05       INVGO                  INVERT A SWITCH AND DO A GOTO.
043899,003040:                                                                                                  #  06       BOFINV                 INVERT A SWITCH AND BRANCH IF IT WAS OFF
043900,003041:                                                                                                  #  07       INVERT                 INVERT A SWITCH.
043901,003042: 
043902,003043:                                                                                                  #  10       BONCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS ON.
043903,003044:                                                                                                  #  11       CLRGO                  CLEAR A SWITCH AND DO A GOTO.
043904,003045:                                                                                                  #  12       BOFCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS OFF.
043905,003046:                                                                                                  #  13       CLEAR                  CLEAR A SWITCH.
043906,003047: 
043907,003048:                                                                                                  #  14       BON                    BRANCH IF A SWITCH WAS ON.
043908,003049:                                                                                                  #  16       BOFF                   BRANCH IF A SWITCH WAS OFF.
043909,003050: 
043910,003051:                                                                                                  #           THE ADDRESS SUPPLIED WITH THE SWITCH INSTRUCTION IS INTERPRETED AS FOLLOWS:
043911,003052: 
043912,003053:                                                                                                  #           BITS 1-4    SWITCH BIT NUMBER (1-15).
043913,003054:                                                                                                  #           BITS 5-8    SWITCH OPERATION NUMBER.
043914,003055:                                                                                                  #           BITS 9-     SWITCH WORD NUMBER (UP TO 64 SWITCH WORDS).
043915,003056: 
043916,003057:                                                                                                  #           THE ADDRESS ITSELF IS MADE UP BY THE YUL SYSTEM ASSEMBLER. THE BRANCH INSTRUCTIONS REQUIRE TWO
043917,003058:                                                                                                  #  ADDRESSES, THE SECOND TAKEN AS THE DIRECT (OR INDIRECT IF IN ERASABLE) ADDRESS OF THE BRANCH.
043918,003059: 
043919,003060: 
043920,003061: 01,3000           35343        SWITCHES           CAF      LOW4                                  #  LEAVE THE SWITCH BIT IN SWBIT  .
043921,003062: 01,3001           70107                           MASK     POLISH                                
043922,003063: 01,3002           50000                           INDEX    A                                     
043923,003064: 01,3003           37745                           CAF      BIT15                                 #  (NUMBER FROM LEFT TO RIGHT.)
043924,003065: 01,3004           54121                           TS       SWBIT                                 
043925,003066: 
043926,003067: 01,3005           37755                           CAF      BIT7                                  #  LEAVE THE SWITCH NUMBER IN SWWORD.
043927,003068: 01,3006           00006                           EXTEND                                         
043928,003069: 01,3007           70107                           MP       POLISH                                
043929,003070: 01,3010           54120                           TS       SWWORD                                
043930,003071: 
043931,003072: 01,3011           00004                           INHINT                                         #  DURING SWITCH CHANGE SO RUPT CAN USE TOO
043932,003073: 01,3012           50000                           INDEX    A                                     #  LEAVE THE SWITCH WORD ITSELF IN L.
043933,003074: 01,3013           30074                           CA       STATE                                 
043934,003075: 01,3014           54002                           TS       Q                                     #  Q WILL BE USED AS A CHANNEL.

Page 1044

043936,003077: 01,3015           37751                           CAF      BIT11                                 
043937,003078: 01,3016           00006                           EXTEND                                         #  DISPATCH SWITCH BIT OPERATION AS IN BITS
043938,003079: 01,3017           70107                           MP       POLISH                                #  7-8 OF POLISH.
043939,003080: 01,3020           73060                           MASK     B3TOB4                                #  GETS 4X2-BIT CODE.
043940,003081: 01,3021           50000                           INDEX    A                                     
043941,003082: 01,3022           13023                           TCF      +1                                    
043942,003083: 
043943,003084: 01,3023           30121                 +1        CA       SWBIT                                 #  00 - SET SWITCH IN QUESTION.
043944,003085: 01,3024           00006                           EXTEND                                         
043945,003086: 01,3025           04002                           ROR      Q                                     
043946,003087: 01,3026           13035                           TCF      SWSTORE                               
043947,003088: 
043948,003089: 01,3027           30121                 +5        CA       SWBIT                                 #  01 - INVERT SWITCH.
043949,003090: 01,3030           00006                           EXTEND                                         
043950,003091: 01,3031           06002                           RXOR     Q                                     
043951,003092: 01,3032           13035                           TCF      SWSTORE                               
043952,003093: 
043953,003094: 01,3033           40121                 +9D       CS       SWBIT                                 #  10 - CLEAR.
043954,003095: 01,3034           70002                           MASK     Q                                     
043955,003096: 01,3035           50120        SWSTORE            INDEX    SWWORD                                
043956,003097: 01,3036           54074                           TS       STATE                                 #  NEW SWITCH WORD.
043957,003098: 

Page 1045

043959,003100: 01,3037           00003                 +13D      RELINT                                         #  11 - NOOP.
043960,003101: 01,3040           37747                           CAF      BIT13                                 
043961,003102: 01,3041           00006                           EXTEND                                         #  DISPATCH SEQUCE CHANGING OR BRANCHING
043962,003103: 01,3042           70107                           MP       POLISH                                #  CODE.
043963,003104: 01,3043           73060                           MASK     B3TOB4                                
043964,003105: 01,3044           50000                           INDEX    A                                     
043965,003106: 01,3045           13046                           TCF      +1                                    #  ORIGINALLY STORED IN BITS 5-6.
043966,003107: 
043967,003108: 01,3046           40002                 +1        CS       Q                                     #  00 - BRANCH IF ON.
043968,003109: 01,3047           70121        TEST               MASK     SWBIT                                 
043969,003110: 01,3050           10000                           CCS      A                                     
043970,003111: 01,3051           13061                           TCF      SWSKIP                                
043971,003112: 
043972,003113: 01,3052           16773                 +5        TCF      SWBRANCH                              #  01 - GO TO.
043973,003114: 
043974,003115: 01,3053           13061                           TCF      SWSKIP                                #  HERE ONLY ON BIT 15.
043975,003116: 
043976,003117: 01,3054           04736                           TC       CCSHOLE                               
043977,003118: 01,3055           04736                           TC       CCSHOLE                               
043978,003119: 
043979,003120: 01,3056           30002                 +9D       CA       Q                                     #  10 - BRANCH IF OFF.
043980,003121: 01,3057           13047                           TCF      TEST                                  
043981,003122: 
043982,003123: 01,3060           00014        B3TOB4             OCT      14                                    
043983,003124: 
043984,003125: 01,3061           24154        SWSKIP             INCR     LOC                                   
043985,003126: 
043986,003127: 01,3062  01,3000               SW/                EQUALS   SWITCHES                              
043987,003128: 
043988,003129: 01,3062           16125                 +13D      TCF      DANZIG                                #  11 - NOOP.

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