Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Peter McDermott. A team of volunteers performed the transcription and proof-reading. The scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's collection in the Internet Archive. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR AGC: NEW PROGRAM SHEPATIN BY EYLES
	DEC 13, 1966

	THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 
        OF PROGRAM SUNBURST BY LEM GROUP
Note that the date is the date of the printout, not the date of the program revision.

040494,000002:                                                                                                  ## Copyright:   Public domain.
040495,000003:                                                                                                  ## Filename:    INTERPRETER.agc
040496,000004:                                                                                                  ## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
040497,000005:                                                                                                  ##              It is part of an early development version of the software
040498,000006:                                                                                                  ##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
040499,000007:                                                                                                  ##              Module (LM) flight Apollo 5. Sunburst 37 was the program
040500,000008:                                                                                                  ##              upon which Don Eyles's offline development program Shepatin
040501,000009:                                                                                                  ##              was based; the listing herein transcribed was actually for
040502,000010:                                                                                                  ##              the equivalent revision 0 of Shepatin.
040503,000011:                                                                                                  ##              This file is intended to be a faithful transcription, except
040504,000012:                                                                                                  ##              that the code format has been changed to conform to the
040505,000013:                                                                                                  ##              requirements of the yaYUL assembler rather than the
040506,000014:                                                                                                  ##              original YUL assembler.
040507,000015:                                                                                                  ## Reference:   pp. 893-984
040508,000016:                                                                                                  ## Assembler:   yaYUL
040509,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
040510,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
040511,000019:                                                                                                  ## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
040512,000020:                                                                                                  ##              2017-06-12 MAS  Began updating for Sunburst 37.
040513,000021:                                                                                                  ##              2017-06-13 MAS  Completed updates for Sunburst 37.
040514,000022:                                                                                                  ##              2017-06-15 HG   Fix opcode TC  -> TCF
040515,000023:                                                                                                  ##              2017-06-23 RSB  Proofed comment text with
040516,000024:                                                                                                  ##                              octopus/ProoferComments.
040517,000025:                                                                                                  ##              2021-05-30 ABS  B5TOBB -> B5TOB8
040518,000026: 

Page 893

040520,000028:                                                                                                  #  SECTION 1  DISPATCHER
040521,000029: 
040522,000030:                                                                                                  #           ENTRY TO THE INTERPRETER. INTPRET SETS LOC TO THE FIRST  INSTRUCTION, BANKSET TO THE BBANK OF THE
040523,000031:                                                                                                  #  OBJECT INTERPRETIVE PROGRAM, AND INTBIT15 TO THE BIT15 CONTENTS OF FBANK. INTERPRETIVE PROGRAMS MAY BE IN
040524,000032:                                                                                                  #  VIRTUALLY ALL BANKS PRESENT UNDER ANY SUPER-BANK SETTING, WITH THE RESTRICTION THAT PROGRAMS IN HIGH BANKS
040525,000033:                                                                                                  #  (BIT15 OF FBANK = 1) DO NOT REFER TO LOWBANKS, AND VICE-VERSA. THE INTERPRETER DOES NOT SWITCH SUPERBANKS.
040526,000034:                                                                                                  #  E-BANK SWITCHING OCCURS WHENEVER GENERAL ERASABLE (100 - 3777) IS ADDRESSED.
040527,000035: 
040528,000036: 
040529,000037: 
040530,000038:    6103                                           BLOCK    03                                    
040531,000039: 
040532,000040:    6103           00006        INTPRET            EXTEND                                         #  SET LOC TO THE WORD FOLLOWING THE TC.
040533,000041:    6104           22154                           QXCH     LOC                                   
040534,000042: 
040535,000043:    6105           30006                 +2        CA       BBANK                                 #  INTERPRETIVE BRANCHES FINISH HERE.
040536,000044:    6106           54155                           TS       BANKSET                               
040537,000045:    6107           77737                           MASK     BIT15                                 #  GET 15TH BIT FOR INDEXABLE ADDRESSES.
040538,000046:    6110           54105                           TS       INTBIT15                              
040539,000047: 
040540,000048: 
040541,000049:    6111           16124                           TCF      NEWOPS                                #  PICK UP OP CODE PAIR AND BEGIN.
040542,000050: 
040543,000051: 
040544,000052: 
040545,000053:    6112           22006        INTRSM             LXCH     BBANK                                 #  RESUME SUSPENDED INTERPRETIVE JOB
040546,000054:    6113           16105                           TCF      INTPRET    +2                         
040547,000055: 

Page 894

040549,000057:                                                                                                  #           AT THE END OF MOST INSTRUCTIONS, CONTROL IS GIVEN TO DANZIG TO DISPATCH THE NEXT OPERATION.
040550,000058: 
040551,000059:    6114           54153        NEWMODE            TS       MODE                                  #  PROLOGUE FOR MODE-CHANGING INSTRUCTIONS.
040552,000060: 
040553,000061:    6115           30155        DANZIG             CA       BANKSET                               #  SET BBANK BEFORE TESTING NEWJOB SO THAT
040554,000062:    6116           54006                           TS       BBANK                                 #  IT MAY BE SAVED DIRECTLY BY CHANJOB.
040555,000063: 
040556,000064:    6117           10023        NOIBNKSW           CCS      EDOP                                  #  SEE IF AN ORDER CODE IS LEFT OVER FROM
040557,000065:    6120           16133                           TCF      OPJUMP                                #  THE LAST PAIR RETRIEVED. IF SO, EXECUTE.
040558,000066:                                                                                                  #  EDOP IS SET TO ZERO ON ITS RE-EDITING.
040559,000067: 
040560,000068:    6121           10067                           CCS      NEWJOB                                #  SEE IF A JOB OF HIGHER PRIORITY IS
040561,000069:    6122           15556                           TCF      CHANG2                                #  PRESENT, AND IF SO, CHANGE JOBS.
040562,000070: 
040563,000071: 
040564,000072:    6123           24154                           INCR     LOC                                   #  ADVANCE THE LOCATION COUNTER.
040565,000073:                                                                                                  #           ITRACE (1) REFERS TO "NEWOPS".
040566,000074:    6124           50154        NEWOPS             INDEX    LOC                                   #  ENTRY TO BEGIN BY PICKING OP CODE PAIR.
040567,000075:    6125           30000                           CA       0                                     #  MAY BE AN OPCODE PAIR OR A STORE CODE.
040568,000076:    6126           10000                           CCS      A                                     #  TEST SIGN AND GET DABS(A).
040569,000077:    6127           16421                           TCF      DOSTORE                               #  PROCESS STORE CODE.
040570,000078: 
040571,000079:    6130           00177        LOW7               OCT      177                                   
040572,000080: 
040573,000081:    6131           54023                           TS       EDOP                                  #  OP CODE PAIR. LEAVE THE OTHER IN EDOP
040574,000082: 
040575,000083:    6132           76130                           MASK     LOW7                                  #  WHERE  CCS EDOP  WILL HONOR IT NEXT.
040576,000084: 
040577,000085:    6133           54020        OPJUMP             TS       CYR                                   #  LOWWD ENTERS HERE IF A RIGHT-HAND OP
040578,000086:    6134           10020                           CCS      CYR                                   #  CODE IS TO BE PROCESSED. TEST PREFICES.
040579,000087:    6135           16303                           TCF      OPJUMP2                               #  TEST SECOND PREFIX BIT.
040580,000088: 
040581,000089:    6136           17012                           TCF      EXIT                                  #  +0 OP CODE IS EXIT.
040582,000090: 

Page 895

040584,000092:                                                                                                  #           PROCESS ADDRESSES WHICH MAY BE DIRECT, INDEXED, OR REFERENCE THE PUSHDOWN LIST.
040585,000093: 
040586,000094:    6137           77755        ADDRESS            MASK     BIT1                                  #  SEE IF ADDRESS IS INDEXED. CYR CONTAINED
040587,000095:    6140           10000                           CCS      A                                     #  400XX, SO BIT 1 IS NOW AS IT WAS IN CYR.
040588,000096:    6141           16202                           TCF      INDEX                                 #  FORM INDEXED ADDRESS.
040589,000097: 
040590,000098: 
040591,000099:    6142           50154        DIRADRES           INDEX    LOC                                   #  LOOK AHEAD TO NEXT WORD TO SEE IF
040592,000100:    6143           40001        OCT40001           CS       1                                     #  ADDRESS IS GIVEN.
040593,000101:    6144           10000                           CCS      A                                     
040594,000102:    6145           16251                           TCF      PUSHUP                                #  IF NOT.
040595,000103: 
040596,000104:    6146           77773        NEG4               DEC      -4         B-14                       
040597,000105: 
040598,000106:    6147           24154                           INCR     LOC                                   #  IF SO, TO SHOW WE PICKED UP A WORD.
040599,000107:    6150           54106                           TS       ADDRWD                                
040600,000108: 

Page 896

040602,000110:                                                                                                  #           FINAL DIGESTION OF DIRECT ADDRESSES OF OP CODES WITH 01 PREFIX IS DONE HERE. IN EACH CASE, THE
040603,000111:                                                                                                  #  REQUIRED 12-BIT SUB-ADDRESS IS LEFT IN ADDRWD, WITH ANY REQUIRED E OR F BANK SWITCHING DONE. ADDRESSES LESS
040604,000112: 
040605,000113:                                                                                                  #  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.
040606,000114: 
040607,000115: 
040608,000116:    6151           66305                           AD       -ENDVAC                               #  SEE IF ADDRESS RELATIVE TO WORK AREA.
040609,000117:    6152           10000                           CCS      A                                     
040610,000118:    6153           66332                           AD       -ENDERAS                              #  IF NOT, SEE IF IN GENERAL ERASABLE.
040611,000119:    6154           16161                           TCF      IERASTST                              
040612,000120: 
040613,000121:    6155           30110        NETZERO            CA       FIXLOC                                #  IF SO, LEAVE THE MODIFIED ADDRESS IN
040614,000122: 
040615,000123:    6156           26106                           ADS      ADDRWD                                #  ADDRWD AND DISPATCH.
040616,000124:    6157           50020        ITR15              INDEX    CYR                                   #  THIS INDEX MAKES THE NEXT INSTRUCTION
040617,000125:    6160           76332                           7        INDJUMP    -1                         #  TCF INDJUMP + OP, EDITING CYR.
040618,000126: 
040619,000127:    6161           00006        IERASTST           EXTEND                                         
040620,000128:    6162           66172                           BZMF     GEADDR                                #  GO PROCESS GENERAL-ERASABLE ADDRESS.
040621,000129: 
040622,000130:    6163           75356                           MASK     LOW10                                 #  FIXED BANK ADDRESS. RESTORE AND ADD B15.
040623,000131:    6164           65356                           AD       LOW10                                 #  SWITCH BANKS AND LEAVE SUBADDRESS IN
040624,000132:    6165           56106                           XCH      ADDRWD                                #  ADDRWD FOR OPERAND RETRIEVAL. (THIS
040625,000133:    6166           60105                           AD       INTBIT15                              #  METHOD PRECLUDES USE OF THE LAST
040626,000134:    6167           54004                           TS       FBANK                                 #  LOCATION IN EACH FBANK.)
040627,000135: 
040628,000136:    6170           50020        ITR12              INDEX    CYR                                   
040629,000137:    6171           76332                           7        INDJUMP    -1                         
040630,000138: 
040631,000139:    6172           74553        GEADDR             MASK     LOW8                                  
040632,000140:    6173           65370                           AD       OCT1400                               
040633,000141:    6174           56106                           XCH      ADDRWD                                
040634,000142:    6175           54003                           TS       EBANK                                 
040635,000143:    6176           50020        ITR10              INDEX    CYR                                   
040636,000144:    6177           76332                           7        INDJUMP    -1                         
040637,000145: 

Page 897

040639,000147:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES INTERPRETIVE INDEXED ADDRESSES. AN INTERPRETER INDEX REGISTER MAY
040640,000148:                                                                                                  #  CONTAIN THE ADDRESS OF ANY ERASABLE REGISTER (0-42 BEING RELATIVE TO THE VAC AREA) OR ANY INTERPRETIVE PROGRAM
040641,000149:                                                                                                  #  BANK, OR ANY INTEGER IN THAT RANGE.
040642,000150: 
040643,000151:    6200           35364        DODLOAD*           CAF      DLOAD*                                #  STODL* COMES HERE TO PROCESS LOAD ADR.
040644,000152:    6201           54020                           TS       CYR                                   #  (STOVL* ENTERS HERE).
040645,000153: 
040646,000154:    6202           30110        INDEX              CA       FIXLOC                                #  SET UP INDEX LOCATION.
040647,000155: 
040648,000156:    6203           54120                           TS       INDEXLOC                              
040649,000157:    6204           24154                           INCR     LOC                                   #  (ADDRESS ALWAYS GIVEN).
040650,000158:    6205           50154                           INDEX    LOC                                   
040651,000159:    6206           40000                           CS       0                                     
040652,000160:    6207           10000                           CCS      A                                     #  INDEX 2 IF ADDRESS STORED COMPLEMENTED.
040653,000161:    6210           24120                           INCR     INDEXLOC                              
040654,000162:    6211           16212                           NOOP                                           
040655,000163: 
040656,000164:    6212           54106                           TS       ADDRWD                                #  14 BIT ADDRESS TO ADDRWD.
040657,000165:    6213           75367                           MASK     HIGH4                                 #  IF ADDRESS GREATER THAN 2K, ADD INTBIT15
040658,000166: 
040659,000167:    6214           00006                           EXTEND                                         
040660,000168:    6215           16220                           BZF      INDEX2                                
040661,000169:    6216           30105                           CA       INTBIT15                              
040662,000170:    6217           26106                           ADS      ADDRWD                                
040663,000171: 
040664,000172:    6220           50120        INDEX2             INDEX    INDEXLOC                              
040665,000173:    6221           40046                           CS       X1                                    
040666,000174:    6222           26106                           ADS      ADDRWD                                #  DO AUGMENT, IGNORING AND CORRECTING OVF.
040667,000175: 
040668,000176:    6223           76330                           MASK     HIGH9                                 #  SEE IF ADDRESS IS IN WORK AREA.
040669,000177:    6224           00006                           EXTEND                                         
040670,000178:    6225           16240                           BZF      INDWORK                               
040671,000179: 
040672,000180:    6226           75367                           MASK     HIGH4                                 #  SEE IF IN FIXED BANK.
040673,000181:    6227           00006                           EXTEND                                         
040674,000182:    6230           16242                           BZF      INDERASE                              
040675,000183: 
040676,000184:    6231           30106                           CA       ADDRWD                                #  IN FIXED - SWITCH BANKS AND CREATE
040677,000185:    6232           54004                           TS       FBANK                                 #  SUB-ADDRESS.
040678,000186:    6233           75356                           MASK     LOW10                                 
040679,000187:    6234           67743                           AD       2K                                    
040680,000188:    6235           54106                           TS       ADDRWD                                
040681,000189:    6236           50020        ITR11              INDEX    CYR                                   
040682,000190: 
040683,000191:    6237           36332                           3        INDJUMP    -1                         
040684,000192: 
040685,000193:    6240           30110        INDWORK            CA       FIXLOC                                #  MAKE ADDRWD RELATIVE TO WORK AREA.
040686,000194:    6241           16246                           TCF      ITR13      -1                         
040687,000195: 
040688,000196:    6242           35370        INDERASE           CA       OCT1400                               
040689,000197:    6243           56106                           XCH      ADDRWD                                
040690,000198:    6244           54003                           TS       EBANK                                 
040691,000199:    6245           74553                           MASK     LOW8                                  
040692,000200:    6246           26106                 -1        ADS      ADDRWD                                

Page 898

040694,000202:    6247           50020        ITR13              INDEX    CYR                                   
040695,000203: 
040696,000204:    6250           36332                           3        INDJUMP    -1                         
040697,000205: 

Page 899

040699,000207:                                                                                                  #           PUSH-UP ROUTINES. WHEN NO OPERAND ADDRESS IS GIVEN, THE APPROPRIATE OPERAND IS TAKEN FROM THE PUSH-DOWN
040700,000208:                                                                                                  #  LIST. IN MOST CASES THE MODE OF THE RESULT (VECTOR OR SCALAR) OF THE LAST ARITHMETIC OPERATION PERFORMED
040701,000209:                                                                                                  #  IS THE SAME AS THE TYPE OF OPERAND DESIRED (ALL ADD/SUBTRACT ETC.). EXCEPTIONS TO THIS GENERAL RULE ARE LISTED
040702,000210:                                                                                                  #  BELOW (NOTE THAT IN EVERY CASE THE MODE REGISTER IS LEFT INTACT):
040703,000211: 
040704,000212:                                                                                                  #           1.  VXSC AND V/SC WANT THE OPPOSITE TYPE OF OPERAND, E.G., IF THE LAST OPERATION YIELDED A VECTOR
040705,000213: 
040706,000214:                                                                                                  #  RESULT, VXSC WANTS A SCALAR.
040707,000215: 
040708,000216:                                                                                                  #           2.  THE LOAD CODES SHOULD LOAD THE ACCUMULATOR INDEPENDENT OF THE RESULT OF THE LAST OPERATION. THIS
040709,000217:                                                                                                  #  INCLUDES VLOAD, DLOAD, TLOAD, PDDL, AND PDVL (NO PUSHUP WITH SLOAD).
040710,000218: 
040711,000219:                                                                                                  #           3.  SOME ARITHMETIC OPERATIONS REQUIRE A STANDARD TYPE OF OPERAND REGARDLESS OF THE PREVIOUS OPERATION.
040712,000220:                                                                                                  #  THIS INCLUDES SIGN WANTING DP AND TAD REQUIRING TP.
040713,000221: 
040714,000222:    6251           34554        PUSHUP             CAF      OCT23                                 #  IF THE LOW 5 BITS OF CYR ARE LESS THAN
040715,000223:    6252           70020                           MASK     CYR                                   #  20, THIS OP REQUIRES SPECIAL ATTENTION.
040716,000224:    6253           66256                           AD       -OCT10                                #  (NO -0).
040717,000225:    6254           10000                           CCS      A                                     
040718,000226: 
040719,000227:    6255           16267                           TCF      REGUP                                 #  FOR ALL CODES GREATER THAN OCT 7.
040720,000228: 
040721,000229:    6256           77767        -OCT10             OCT      -10                                   
040722,000230: 
040723,000231:    6257           66146                           AD       NEG4                                  #  WE NOW HAVE 7 - OP CODE(MOD4). SEE IF
040724,000232:    6260           10000                           CCS      A                                     #  THE OP CODE (MOD4) IS THREE (REVERSE).
040725,000233:    6261           50000                           INDEX    A                                     #  NO - THE MODE IS DEFINITE. PICK UP THE
040726,000234:    6262           46300                           CS       NO.WDS                                
040727,000235:    6263           16271                           TCF      REGUP      +2                         
040728,000236: 
040729,000237: 
040730,000238:    6264           50153                           INDEX    MODE                                  #  FOR VXSC AND V/SC WE WANT THE REQUIRED
040731,000239:    6265           46276                           CS       REVCNT                                #  PUSHLOC DECREMENT WITHOUT CHANGING THE
040732,000240:    6266           16271                           TCF      REGUP      +2                         #  MODE AT THIS TIME.
040733,000241: 
040734,000242:    6267           50153        REGUP              INDEX    MODE                                  #  MOST ALL OP CODES PUSHUP HERE.
040735,000243:    6270           46300                           CS       NO.WDS                                
040736,000244:    6271           26156                 +2        ADS      PUSHLOC                               
040737,000245:    6272           54106                           TS       ADDRWD                                
040738,000246:    6273           50020        ITR14              INDEX    CYR                                   
040739,000247:    6274           76332                           7        INDJUMP    -1                         #  (THE INDEX MAKES THIS A TCF.)
040740,000248: 
040741,000249:    6275           00002                           OCT      2                                     #  REVERSE PUSHUP DECREMENT. VECTOR TAKES 2
040742,000250: 
040743,000251:    6276           00006        REVCNT             OCT      6                                     #  WORDS, SCALAR TAKES 6.
040744,000252:    6277           00006                           OCT      6                                     
040745,000253:    6300           00002        NO.WDS             OCT      2                                     #  CONVENTIONAL DECREMENT IS 6 WORDS VECTOR
040746,000254:    6301           00003        OCTAL3             OCT      3                                     #  2 IN DP, AND 3 IN TP.
040747,000255:    6302           00006                           OCT      6                                     
040748,000256: 

Page 900

040750,000258:                                                                                                  #            TEST THE SECOND PREFIX BIT TO SEE IF THIS IS A MISCELLANEOUS OR A UNARY/SHORT SHIFT OPERATION.
040751,000259: 
040752,000260:    6303           10020        OPJUMP2            CCS      CYR                                   #  TEST SECOND PREFIX BIT.
040753,000261:    6304           16317                           TCF      OPJUMP3                               #  TEST THIRD BIT TO SEE IF UNARY OR SHIFT.
040754,000262: 
040755,000263:    6305           77722        -ENDVAC            DEC      -45        B-14                       
040756,000264: 
040757,000265:                                                                                                  #           THE FOLLOWING ROUTINE PROCESSES ADDRESSES OF SUFFIX CLASS 10. THEY ARE BASICALLY WORK AREA ADDRESSES
040758,000266:                                                                                                  #  IN THE RANGE 0 - 52, ERASABLE ECADR CONSTANTS FROM 100 - 3777, AND FCADRS ABOVE THAT. ALL 15 BITS ARE AVAILABLE
040759,000267:                                                                                                  #  IN CONTRAST TO SUFFIX 1, IN WHICH ONLY THE LOW ORDER 14 ARE AVAILABLE.
040760,000268: 
040761,000269:    6306           24154        15BITADR           INCR     LOC                                   #  (ENTRY HERE FROM STCALL).
040762,000270: 
040763,000271:    6307           50154                           INDEX    LOC                                   #  PICK UP ADDRESS WORD.
040764,000272:    6310           30000                           CA       0                                     
040765,000273:    6311           54107                           TS       POLISH                                #  WE MAY NEED A SUBADDRESS LATER.
040766,000274: 
040767,000275:    6312           36327                           CAF      LOW7+2K                               #  THESE INSTRUCTIONS ARE IN BANK 1.
040768,000276:    6313           54004                           TS       FBANK                                 
040769,000277:    6314           70020                           MASK     CYR                                   
040770,000278:    6315           50000        ITR7               INDEX    A                                     
040771,000279:    6316           16373                           TCF      MISCJUMP                              
040772,000280: 

Page 901

040774,000282:                                                                                                  #           COMPLETE THE DISPATCHING OF UNARY AND SHORT SHIFT OPERATIONS.
040775,000283: 
040776,000284:    6317           54004        OPJUMP3            TS       FBANK                                 #  CALL IN BANK 0 (BIT5 11-15 OF A ARE 0.)
040777,000285:                                                                                                  #           ITRACE (6) REFERS TO "OPJUMP3".
040778,000286:    6320           10020                           CCS      CYR                                   #  TEST THIRD PREFIX BIT.
040779,000287:    6321           50000                           INDEX    A                                     #  THE DECREMENTED UNARY CODE IS IN BITS
040780,000288:    6322           12000                           TCF      UNAJUMP                               #  1-4 OF A (ZERO, EXIT, HAS BEEN DETECTED)
040781,000289: 
040782,000290: 
040783,000291:    6323           10153                           CCS      MODE                                  #  ITS A SHORT SHIFT CODE. SEE IF PRESENT
040784,000292:    6324           12017                           TCF      SHORTT                                #  SCALAR OR VECTOR.
040785,000293:    6325           12017                           TCF      SHORTT                                
040786,000294:    6326           12121                           TCF      SHORTV                                #  CALLS THE APPROPRIATE ROUTINE.
040787,000295: 
040788,000296: 
040789,000297: 
040790,000298:    6327     4554               OCT23              =        VD1                                   
040791,000299:    6327           02177        LOW7+2K            OCT      2177                                  #  OP CODE MASK + BANK 1 FBANK SETTING.
040792,000300:    6330           77700        HIGH9              OCT      77700                                 
040793,000301: 
040794,000302:    6331           76000        BANKMASK           OCT      76000                                 #  FBANK MASK.
040795,000303:    6332     6331               FBANKMSK           EQUALS   BANKMASK                              
040796,000304:    6332     5673               B12T14             =        PRIO34                                #  USED IN PROCESSING STORE CODES.
040797,000305:    6332           74056        -ENDERAS           DEC      -2001      B-14                       #  = -(2047 - 45 - 1)
040798,000306: 

Page 902

040800,000308:                                                                                                  #           THE FOLLOWING IS THE JUMP TABLE FOR OP CODES WHICH MAY HAVE INDEXABLE ADDRESSES OR MAY PUSH UP.
040801,000309: 
040802,000310:    6333           16554        INDJUMP            TCF      VLOAD                                 #  00 - LOAD MPAC WITH A VECTOR.
040803,000311:    6334           17133                           TCF      TAD                                   #  01 - TRIPLE PRECISION ADD TO MPAC.
040804,000312:    6335           17701                           TCF      SIGN                                  #  02 - COMPLEMENT MPAC (V OR SC) IF X NEG.
040805,000313:    6336           17452                           TCF      VXSC                                  #  03 - VECTOR TIMES SCALAR.
040806,000314:    6337           16752                           TCF      CGOTO                                 #  04 - COMPUTED GO TO.
040807,000315:    6340           16537                           TCF      TLOAD                                 #  05 - LOAD MPAC WITH TRIPLE PRECISION.
040808,000316:    6341           16530                           TCF      DLOAD                                 #  06 - LOAD MPAC WITH A DP SCALAR.
040809,000317:    6342           17650                           TCF      V/SC                                  #  07 - VECTOR DIVIDED BY SCALAR.
040810,000318: 
040811,000319:    6343           16550                           TCF      SLOAD                                 #  10 - LOAD MPAC IN SINGLE PRECISION.
040812,000320:    6344           16667                           TCF      SSP                                   #  11 - SET SINGLE PRECISION INTO X.
040813,000321: 
040814,000322:    6345           16572                           TCF      PDDL                                  #  12 - PUSH DOWN MPAC AND RE-LOAD IN DP.
040815,000323:    6346           17405                           TCF      MXV                                   #  13 - MATRIX POST-MULTIPLIED BY VECTOR.
040816,000324:    6347           16626                           TCF      PDVL                                  #  14 - PUSH DOWN AND VECTOR LOAD.
040817,000325:    6350           16675                           TCF      CCALL                                 #  15 - COMPUTED CALL.
040818,000326:    6351           17410                           TCF      VXM                                   #  16 - MATRIX PRE-MULTIPLIED BY VECTOR.
040819,000327:    6352           17642                           TCF      TSLC                                  #  17 - NORMALIZE MPAC (SCALAR ONLY).
040820,000328: 
040821,000329:    6353           17620                           TCF      DMPR                                  #  20 - DP MULTIPLY AND ROUND.
040822,000330:    6354           17623                           TCF      DDV                                   #  21 - DP DIVIDE BY.
040823,000331:    6355           17627                           TCF      BDDV                                  #  22 - DP DIVIDE INTO.
040824,000332: 
040825,000333:    6356           17645                           TCF      GSHIFT                                #  23 - GENERAL SHIFT INSTRUCTION.
040826,000334:    6357           17016                           TCF      VAD                                   #  24 - VECTOR ADD.
040827,000335:    6360           17044                           TCF      VSU                                   #  25 - VECTOR SUBTRACT.
040828,000336:    6361           17074                           TCF      BVSU                                  #  26 - VECTOR SUBTRACT FROM.
040829,000337:    6362           17402                           TCF      DOT                                   #  27 - VECTOR DOT PRODUCT.
040830,000338: 
040831,000339:    6363           17532                           TCF      VXV                                   #  30 - VECTOR CROSS PRODUCT.
040832,000340:    6364           17476                           TCF      VPROJ                                 #  31 - VECTOR PROJECTION.
040833,000341:    6365           17062                           TCF      DSU                                   #  32 - DP SUBTRACT.
040834,000342:    6366           17120                           TCF      BDSU                                  #  33 - DP SUBTRACT FROM.
040835,000343:    6367           17034                           TCF      DAD                                   #  34 - DP ADD.
040836,000344:    6370           16370                           TCF      +0                                    #  35 - AVAILABLE
040837,000345: 
040838,000346:    6371           17616                           TCF      DMP1                                  #  36 - DP MULTIPLY.
040839,000347:    6372           17637                           TCF      SETPD                                 #  37 - SET PUSH DOWN POINTER (DIRECT ONLY)
040840,000348: 
040841,000349:                                                                                                  #  CODES 10 AND 14 MUST NOT PUSH UP. CODE 04 MAY BE USED FOR VECTOR DECLARE BEFORE PUSHUP IF DESIRED.
040842,000350: 

Page 903

040844,000352:                                                                                                  #           THE FOLLOWING JUMP TABLE APPLIES TO INDEX, BRANCH, AND MISCELLANEOUS INSTRUCTIONS.
040845,000353: 
040846,000354:    6373           12557        MISCJUMP           TCF      AXT                                   #  00 - ADDRESS TO INDEX TRUE.
040847,000355:    6374           12564                           TCF      AXC                                   #  01 - ADDRESS TO INDEX COMPLEMENTED.
040848,000356:    6375           12567                           TCF      LXA                                   #  02 - LOAD INDEX FROM ERASABLE.
040849,000357:    6376           12573                           TCF      LXC                                   #  03 - LOAD INDEX FROM COMPLEMENT OF ERAS.
040850,000358: 
040851,000359:    6377           12577                           TCF      SXA                                   #  04 - STORE INDEX IN ERASABLE.
040852,000360:    6400           12605                           TCF      XCHX                                  #  05 - EXCHANGE INDEX WITH ERASABLE.
040853,000361:    6401           12621                           TCF      INCR                                  #  06 - INCREMENT INDEX REGISTER.
040854,000362:    6402           12630                           TCF      TIX                                   #  07 - TRANSFER ON INDEX.
040855,000363: 
040856,000364:    6403           12613                           TCF      XAD                                   #  10 - INDEX REGISTER ADD FROM ERASABLE.
040857,000365:    6404           12624                           TCF      XSU                                   #  11 - INDEX SUBTRACT FROM ERASABLE.
040858,000366:    6405           12702                           TCF      BZE/GOTO                              #  12 - BRANCH ZERO AND GOTO.
040859,000367:    6406           12707                           TCF      BPL/BMN                               #  13 - BRANCH PLUS AND BRANCH MINUS.
040860,000368:    6407           12662                           TCF      RTB/BHIZ                              #  14 - RETURN TO BASIC AND BRANCH HI ZERO.
040861,000369:    6410           12722                           TCF      CALL/ITA                              #  15 - CALL AND STORE QPRET.
040862,000370:    6411           12731                           TCF      SW/                                   #  16 - SWITCH INSTRUCTIONS AND AVAILABLE.
040863,000371: 
040864,000372:    6412           12672                           TCF      BOV(B)                                #  17 - BRANCH ON OVERFLOW TO BASIC OR INT.
040865,000373: 

Page 904

040867,000375:                                                                                                  #           THE FOLLOWING JUMP TABLE APPIES TO UNARY INSTRUCTIONS.
040868,000376: 
040869,000377: 
040870,000378: 00,2000                                           BANK     0                                     #  00 - EXIT - DETECTED EARLIER.
040871,000379: 00,2000           13155        UNAJUMP            TCF      SQRT                                  #  01 - SQUARE ROOT.
040872,000380: 00,2001           13477                           TCF      SINE                                  #  02 - SIN.
040873,000381: 00,2002           13466                           TCF      COSINE                                #  03 - COS.
040874,000382: 00,2003           13557                           TCF      ARCSIN                                #  04 - ARC SIN.
040875,000383: 00,2004           13561                           TCF      ARCCOS                                #  05 - ARC COS.
040876,000384: 00,2005           13142                           TCF      DSQ                                   #  06 - DP SQUARE.
040877,000385: 00,2006           12116                           TCF      ROUND                                 #  07 - ROUND TO DP.
040878,000386: 
040879,000387: 00,2007           17714                           TCF      COMP                                  #  10 - COMPLEMENT VECTOR OR SCALAR.
040880,000388: 
040881,000389: 00,2010           13200                           TCF      VDEF                                  #  11 - VECTOR DEFINE.
040882,000390: 00,2011           12770                           TCF      UNIT                                  #  12 - UNIT VECTOR.
040883,000391: 00,2012           13144                           TCF      ABVALABS                              #  13 - LENGTH OF VECTOR OR MAG OF SCALAR.
040884,000392: 00,2013           13214                           TCF      VSQ                                   #  14 - SQUARE OF LENGTH OF VECTOR.
040885,000393: 00,2014           16413                           TCF      STADR                                 #  15 - PUSH UP ON STORE CODE.
040886,000394: 00,2015           13244                           TCF      RVQ                                   #  16 - RETURN VIA QPRET.
040887,000395: 00,2016           13217                           TCF      PUSH                                  #  17 - PUSH MPAC DOWN.
040888,000396: 

Page 905

040890,000398:                                                                                                  #  SECTION 2  LOAD AND STORE PACKAGE.
040891,000399: 
040892,000400:                                                                                                  #           A SET OF EIGHT STORE CODES IS PROVIDED AS THE PRIMARY METHOD OF STORING THE MULTI-PURPOSE
040893,000401:                                                                                                  #  ACCUMULATOR (MPAC). IF IN THE DANZIG SECTION LOC REFERS TO AN ALGEBRAICALLY POSITIVE WORD, IT IS TAKEN AS A 
040894,000402:                                                                                                  #  STORE CODE WITH A CORRESPONDING ERASABLE ADDRESS. MOST OF THESE CODES ARE TWO ADDRESS, SPECIFYING THAT THE WORD
040895,000403:                                                                                                  #  FOLLOWING THE STORE CODE IS TO BE USED AS AN ADDRESS FROM WHICH TO RE-LOAD MPAC. FOUR OPTIONS ARE AVAILABLE:
040896,000404: 
040897,000405:                                                                                                  #           1. STORE               STORE MPAC. THE E ADDRESS MAY BE INDEXED.
040898,000406: 
040899,000407:                                                                                                  #           2. STODL               STORE MPAC AND RE-LOAD IT IN DP WITH THE NEXT ADDRESS (THE LOAD MAY BE INDEXED).
040900,000408:                                                                                                  #           3. STOVL               STORE MPAC AND RE-LOAD A VECTOR (AS ABOVE).
040901,000409:                                                                                                  #           4. STCALL              STORE AND DO A CALL (BOTH ADDRESSES MUST BE DIRECT HERE).
040902,000410: 
040903,000411:                                                                                                  #           STODL AND STOVL WILL TAKE FROM THE PUSH-DOWN LIST IF NO LOAD ADDRESS IS GIVEN.
040904,000412: 
040905,000413: 
040906,000414: 
040907,000415:    6413                                           BLOCK    3                                     
040908,000416: 
040909,000417:    6413           30155        STADR              CA       BANKSET                               #  THE STADR CODE (PUSHUP UP ON STORE
040910,000418:    6414           54004                           TS       FBANK                                 #  ADDRESS) ENTERS HERE.
040911,000419:    6415           24154                           INCR     LOC                                   
040912,000420:    6416           50154        ITR1               INDEX    LOC                                   #  THE STORECODE WAS STORED COMPLEMENTED TO
040913,000421:    6417           40000                           CS       0                                     #  MAKE IT LOOK LIKE AN OPCODE PAIR.
040914,000422:    6420           67763                           AD       NEGONE                                #  (YUL CANT REMOVE 1 BECAUSE OF EARLY CCS)
040915,000423: 
040916,000424:    6421           54106        DOSTORE            TS       ADDRWD                                
040917,000425:    6422           74552                           MASK     LOW11                                 #  ENTRY FROM DISPATCHER. SAVE THE ERASABLE
040918,000426:    6423           56106                           XCH      ADDRWD                                #  ADDRESS AND JUMP ON THE STORE CODE NO.
040919,000427:    6424           75673                           MASK     B12T14                                
040920,000428:    6425           00006                           EXTEND                                         
040921,000429:    6426           77751                           MP       BIT5                                  #  EACH TRANSFER VECTOR ENTRY IS TWO WORDS.
040922,000430: 
040923,000431:    6427           54023                           TS       EDOP                                  #  MAYBE 2ND OP WAS LEFT OVER FROM BRANCH
040924,000432:    6430           50000        ITR0               INDEX    A                                     
040925,000433:    6431           16432                           TCF      STORJUMP                              
040926,000434: 

Page 906

040928,000436:                                                                                                  #           STORE CODE JUMP TABLE. CALLS THE APPROPRIATE STORING ROUTINE AND EXITS TO DANZIG OR TO ADDRESS WITH
040929,000437: 
040930,000438:                                                                                                  #  A SUPPLIED OPERATION CODE.
040931,000439: 
040932,000440:    6432           06462        STORJUMP           TC       STORE                                 #  STORE.
040933,000441:    6433           16123                           TCF      NEWOPS     -1                         #  PICK UP NEW OP CODE(S).
040934,000442:    6434           06454                           TC       STORE,1                               
040935,000443:    6435           16123                           TCF      NEWOPS     -1                         
040936,000444:    6436           06457                           TC       STORE,2                               
040937,000445:    6437           16123                           TCF      NEWOPS     -1                         
040938,000446: 
040939,000447:    6440           06462                           TC       STORE                                 #  STODL.
040940,000448:    6441           16520                           TCF      DODLOAD                               
040941,000449: 
040942,000450:    6442           06462                           TC       STORE                                 #  STODL WITH INDEXED LOAD ADDRESS.
040943,000451:    6443           16200                           TCF      DODLOAD*                              
040944,000452: 
040945,000453:    6444           06462                           TC       STORE                                 #  STOVL.
040946,000454:    6445           16523                           TCF      DOVLOAD                               
040947,000455: 
040948,000456:    6446           06462                           TC       STORE                                 #  STOVL WITH INDEXED LOAD ADDRESS.
040949,000457:    6447           16526                           TCF      DOVLOAD*                              
040950,000458:    6450           06462                           TC       STORE                                 #  STOTC.
040951,000459:    6451           35362                           CAF      CALLCODE                              
040952,000460: 
040953,000461:    6452           54020                           TS       CYR                                   
040954,000462:    6453           16306                           TCF      15BITADR                              #  GET A 15 BIT ADDRESS.
040955,000463: 

Page 907

040957,000465:                                                                                                  #           STORE CODE ADDRESS PROCESSOR.
040958,000466: 
040959,000467:    6454           50110        STORE,1            INDEX    FIXLOC                                
040960,000468:    6455           40046                           CS       X1                                    
040961,000469:    6456           16461                           TCF      PRESTORE                              
040962,000470: 
040963,000471: 
040964,000472:    6457           50110        STORE,2            INDEX    FIXLOC                                
040965,000473:    6460           40047                           CS       X2                                    
040966,000474:    6461           26106        PRESTORE           ADS      ADDRWD                                #  RESULTANT ADDRESS IS IN ERASABLE.
040967,000475: 
040968,000476:    6462           40106        STORE              CS       ADDRWD                                
040969,000477:    6463           65371                           AD       DEC45                                 
040970,000478:    6464           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
040971,000479:    6465           30110                           CA       FIXLOC                                #  YES.
040972,000480:    6466           16473                           TCF      AHEAD5                                
040973,000481:    6467           35370                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
040974,000482:    6470           56106                           XCH      ADDRWD                                
040975,000483:    6471           54003                           TS       EBANK                                 
040976,000484: 
040977,000485:    6472           74553                           MASK     LOW8                                  
040978,000486:    6473           26106        AHEAD5             ADS      ADDRWD                                
040979,000487: 

Page 908

040981,000489:                                                                                                  #           STORING ROUTINES. STORE DP, TP, OR VECTOR AS INDICATED BY MODE.
040982,000490: 
040983,000491: 
040984,000492:    6474           00006        STARTSTO           EXTEND                                         #  MPAC,+1 MUST BE STORED IN ANY EVENT.
040985,000493:                                                                                                  #           ITRACE (5) REFERS TO "STARTSTO".
040986,000494:    6475           30145                           DCA      MPAC                                  
040987,000495:    6476           50106                           INDEX    ADDRWD                                
040988,000496:    6477           52001                           DXCH     0                                     
040989,000497: 
040990,000498:    6500           10153                           CCS      MODE                                  
040991,000499:    6501           16514                           TCF      TSTORE                                
040992,000500:    6502           00002                           TC       Q                                     
040993,000501: 
040994,000502:    6503           00006        VSTORE             EXTEND                                         
040995,000503:    6504           30150                           DCA      MPAC       +3                         
040996,000504:    6505           50106                           INDEX    ADDRWD                                
040997,000505:    6506           52003                           DXCH     2                                     
040998,000506: 
040999,000507:    6507           00006                           EXTEND                                         
041000,000508:    6510           30152                           DCA      MPAC       +5                         
041001,000509:    6511           50106                           INDEX    ADDRWD                                
041002,000510:    6512           52005                           DXCH     4                                     
041003,000511:    6513           00002                           TC       Q                                     
041004,000512: 
041005,000513:    6514           30146        TSTORE             CA       MPAC       +2                         
041006,000514:    6515           50106                           INDEX    ADDRWD                                
041007,000515: 
041008,000516:    6516           54002                           TS       2                                     
041009,000517:    6517           00002                           TC       Q                                     
041010,000518: 

Page 909

041012,000520:                                                                                                  #           ROUTINES TO BEGIN PROCESSING OF THE SECOND ADDRESS ASSOCIATED WITH ALL STORE-TYPE CODES EXCEPT STORE
041013,000521:                                                                                                  #  ITSELF.
041014,000522: 
041015,000523:    6520           35363        DODLOAD            CAF      DLOADCOD                              
041016,000524:    6521           54020                           TS       CYR                                   
041017,000525:    6522           16142                           TCF      DIRADRES                              #  GO GET A DIRECT ADDRESS.
041018,000526: 
041019,000527:    6523           37737        DOVLOAD            CAF      VLOADCOD                              
041020,000528: 
041021,000529:    6524           54020                           TS       CYR                                   
041022,000530:    6525           16142                           TCF      DIRADRES                              
041023,000531: 
041024,000532:    6526           36143        DOVLOAD*           CAF      VLOAD*                                
041025,000533:    6527           16201                           TCF      DODLOAD*   +1                         #  PROLOGUE TO INDEX ROUTINE.
041026,000534: 

Page 910

041028,000536:                                                                                                  #           THE FOLLOWING LOAD INSTRUCTIONS ARE PROVIDED FOR LOADING THE MULTI-PURPOSE ACCUMULATOR MPAC.
041029,000537: 
041030,000538:    6530           00006        DLOAD              EXTEND                                         
041031,000539:    6531           50106                           INDEX    ADDRWD                                
041032,000540:    6532           30001                           DCA      0                                     #  PICK UP DP ARGUMENT AND LEAVE IT IN
041033,000541:    6533           52145        SLOAD2             DXCH     MPAC                                  #  MPAC,+1, SETTING MPAC +2 TO ZERO. THE
041034,000542:    6534           37761                           CAF      ZERO                                  #  CONTENTS OF THE OTHER FOUR REGISTERS OF
041035,000543:    6535           54146                           TS       MPAC       +2                         #  MPAC ARE IRRELEVANT.
041036,000544:    6536           16114                           TCF      NEWMODE                               #  DECLARE DOUBLE PRECISION MODE.
041037,000545: 
041038,000546:    6537           50106        TLOAD              INDEX    ADDRWD                                
041039,000547:    6540           30002                           CA       2                                     #  LOAD A TRIPLE PRECISION ARGUMENT INTO
041040,000548:    6541           54146                           TS       MPAC       +2                         #  THE FIRST THREE MPAC REGISTERS, WITH THE
041041,000549:    6542           00006                           EXTEND                                         #  CONTENTS OF THE OTHER FOUR IRRELEVANT.
041042,000550: 
041043,000551:    6543           50106                           INDEX    ADDRWD                                
041044,000552:    6544           30001                           DCA      0                                     
041045,000553:    6545           52145                           DXCH     MPAC                                  
041046,000554:    6546           37755                           CAF      ONE                                   
041047,000555:    6547           16114                           TCF      NEWMODE                               #  DECLARE TRIPLE PRECISION MODE.
041048,000556: 
041049,000557:    6550           22007        SLOAD              ZL                                             #  LOAD A SINGLE PRECISION NUMBER INTO
041050,000558:    6551           50106                           INDEX    ADDRWD                                #  MPAC, SETTING MPAC+1,2 TO ZERO. THE
041051,000559:    6552           30000                           CA       0                                     #  CONTENTS OF THE REMAINING MPAC REGISTERS
041052,000560:    6553           16533                           TCF      SLOAD2                                #  ARE IRRELEVANT.
041053,000561: 
041054,000562:    6554           00006        VLOAD              EXTEND                                         #  LOAD A DOUBLE PRECISION VECTOR INTO
041055,000563:    6555           50106                           INDEX    ADDRWD                                #  MPAC,+1, MPAC+3,4, AND MPAC+5,6. THE
041056,000564:    6556           30001                           DCA      0                                     #  CONTENTS OF MPAC +2 ARE IRRELEVANT.
041057,000565:    6557           52145                           DXCH     MPAC                                  
041058,000566: 
041059,000567:    6560           00006        ENDVLOAD           EXTEND                                         #  PDVL COMES HERE TO FINISH UP FOR DP, TP.
041060,000568:    6561           50106                           INDEX    ADDRWD                                
041061,000569:    6562           30003                           DCA      2                                     
041062,000570:    6563           52150                           DXCH     MPAC       +3                         
041063,000571: 
041064,000572:    6564           00006                 +4        EXTEND                                         #  TPDVL FINISHES HERE.
041065,000573:    6565           50106                           INDEX    ADDRWD                                
041066,000574: 
041067,000575:    6566           30005                           DCA      4                                     
041068,000576:    6567           52152                           DXCH     MPAC       +5                         
041069,000577: 
041070,000578:    6570           47755                           CS       ONE                                   #  DECLARE VECTOR MODE.
041071,000579:    6571           16114                           TCF      NEWMODE                               
041072,000580: 

Page 911

041074,000582:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE PROVIDED FOR STORING OPERANDS IN THE PUSHDOWN LIST:
041075,000583: 
041076,000584:                                                                                                  #           1.  PUSH               PUSHDOWN AND NO LOAD.
041077,000585:                                                                                                  #           2.  PDDL               PUSHDOWN AND DOUBLE PRECISION LOAD.
041078,000586:                                                                                                  #           3.  PDVL               PUSHDOWN AND VECTOR LOAD.
041079,000587: 
041080,000588:    6572           00006        PDDL               EXTEND                                         
041081,000589:    6573           50106                           INDEX    ADDRWD                                #  LOAD MPAC,+1, PUSHING THE FORMER
041082,000590:    6574           30001                           DCA      0                                     #  CONTENTS DOWN.
041083,000591:    6575           52145                           DXCH     MPAC                                  
041084,000592:    6576           50156                           INDEX    PUSHLOC                               
041085,000593:    6577           52001                           DXCH     0                                     
041086,000594: 
041087,000595:    6600           50153                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER APPRO-
041088,000596:    6601           36300                           CAF      NO.WDS                                #  PRIATELY.
041089,000597:    6602           26156                           ADS      PUSHLOC                               
041090,000598: 
041091,000599:    6603           10153                           CCS      MODE                                  
041092,000600:    6604           16621                           TCF      ENDTPUSH                              
041093,000601: 
041094,000602:    6605           16617                           TCF      ENDDPUSH                              
041095,000603: 
041096,000604:    6606           54153                           TS       MODE                                  #  NOW DP.
041097,000605:    6607           54146        ENDVPUSH           TS       MPAC       +2                         
041098,000606:    6610           52150                           DXCH     MPAC       +3                         #  PUSH DOWN THE REST OF THE VECTOR HERE.
041099,000607:    6611           50156                           INDEX    PUSHLOC                               
041100,000608:    6612           51775                           DXCH     0          -4                         
041101,000609: 
041102,000610:    6613           52152                           DXCH     MPAC       +5                         
041103,000611:    6614           50156                           INDEX    PUSHLOC                               
041104,000612: 
041105,000613:    6615           51777                           DXCH     0          -2                         
041106,000614: 
041107,000615:    6616           16115                           TCF      DANZIG                                
041108,000616: 
041109,000617:    6617           54146        ENDDPUSH           TS       MPAC       +2                         #  SET MPAC +2 TO ZERO AND EXIT ON DP.
041110,000618:    6620           16115                           TCF      DANZIG                                
041111,000619: 
041112,000620:    6621           54153        ENDTPUSH           TS       MODE                                  
041113,000621:    6622           56146                           XCH      MPAC       +2                         #  ON TRIPLE, SET MPAC +2 TO ZERO, PUSHING
041114,000622:    6623           50156                 +2        INDEX    PUSHLOC                               #  DOWN THE OLD CONTENTS
041115,000623:    6624           53777                           TS       0          -1                         
041116,000624:    6625           16115                           TCF      DANZIG                                
041117,000625: 

Page 912

041119,000627:                                                                                                  #           PDVL - PUSHDOWN AND VECTOR LOAD.
041120,000628: 
041121,000629: 
041122,000630:    6626           00006        PDVL               EXTEND                                         #  RELOAD MPAC AND PUSH DOWN ITS CONTENTS.
041123,000631:    6627           50106                           INDEX    ADDRWD                                
041124,000632:    6630           30001                           DCA      0                                     
041125,000633:    6631           52145                           DXCH     MPAC                                  
041126,000634:    6632           50156                           INDEX    PUSHLOC                               
041127,000635:    6633           52001                           DXCH     0                                     
041128,000636: 
041129,000637:    6634           50153                           INDEX    MODE                                  #  ADVANCE THE PUSHDOWN POINTER.
041130,000638:    6635           36300                           CAF      NO.WDS                                
041131,000639:    6636           26156                           ADS      PUSHLOC                               
041132,000640: 
041133,000641:    6637           10153                           CCS      MODE                                  #  TEST PAST MODE.
041134,000642:    6640           16657                           TCF      TPDVL                                 
041135,000643:    6641           16560                           TCF      ENDVLOAD                              #  JUST LOAD LAST FOUR REGISTERS ON DP.
041136,000644: 
041137,000645:    6642           00006        VPDVL              EXTEND                                         #  PUSHDOWN AND RE-LOAD LAST TWO COMPONENTS
041138,000646:    6643           50106                           INDEX    ADDRWD                                
041139,000647:    6644           30003                           DCA      2                                     
041140,000648:    6645           52150                           DXCH     MPAC       +3                         
041141,000649:    6646           50156                           INDEX    PUSHLOC                               
041142,000650:    6647           51775                           DXCH     0          -4                         
041143,000651: 
041144,000652:    6650           00006                           EXTEND                                         
041145,000653: 
041146,000654:    6651           50106                           INDEX    ADDRWD                                
041147,000655:    6652           30005                           DCA      4                                     
041148,000656:    6653           52152                           DXCH     MPAC       +5                         
041149,000657:    6654           50156                           INDEX    PUSHLOC                               
041150,000658:    6655           51777                           DXCH     0          -2                         
041151,000659: 
041152,000660:    6656           16115                           TCF      DANZIG                                
041153,000661: 
041154,000662:    6657           00006        TPDVL              EXTEND                                         #  ON TP, WE MUST LOAD THE Y COMPONENT
041155,000663:    6660           50106                           INDEX    ADDRWD                                #  BEFORE STORING MPAC +2 INCASE THIS IS A
041156,000664: 
041157,000665:    6661           30003                           DCA      2                                     #  PUSHUP.
041158,000666:    6662           52150                           DXCH     MPAC       +3                         
041159,000667: 
041160,000668:    6663           30146                           CA       MPAC       +2                         
041161,000669:    6664           50156                           INDEX    PUSHLOC                               #  IN DP.
041162,000670:    6665           53777                           TS       0          -1                         
041163,000671:    6666           16564                           TCF      ENDVLOAD   +4                         
041164,000672: 
041165,000673:                                                                                                  #           SSP (STORE SINGLE PRECISION) IS EXECUTED HERE.
041166,000674: 
041167,000675:    6667           24154        SSP                INCR     LOC                                   #  PICK UP THE WORD FOLLOWING THE GIVEN
041168,000676:    6670           50154                           INDEX    LOC                                   #  ADDRESS AND STORE IT AT X.
041169,000677: 
041170,000678:    6671           30000                           CA       0                                     
041171,000679:    6672           50106        STORE1             INDEX    ADDRWD                                #  SOME INDEX AND MISCELLANEOUS OPS END
041172,000680:    6673           54000                           TS       0                                     #  HERE.

Page 913

041174,000682:    6674           16115                           TCF      DANZIG                                
041175,000683: 

Page 914

041177,000685:                                                                                                  #  SEQUENCE CHANGING AND SUBROUTINE CALLING OPTIONS.
041178,000686: 
041179,000687:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR SEQUENCING CHANGING, BRANCHING, AND CALLING SUBROUTINES:
041180,000688: 
041181,000689:                                                                                                  #           1.  GOTO               GO TO.
041182,000690:                                                                                                  #           2.  CALL               CALL SUBROUTINE SETTING QPRET.
041183,000691:                                                                                                  #           3.  CGOTO              COMPUTED GO TO.
041184,000692:                                                                                                  #           4.  CCALL              COMPUTED CALL.
041185,000693:                                                                                                  #           7.  BPL                BRANCH IF MPAC POSITIVE OR ZERO.
041186,000694:                                                                                                  #           8.  BZE                BRANCH IF MPAC ZERO.
041187,000695:                                                                                                  #           9.  BMN                BRANCH IF MPAC NEGATIVE NON-ZERO.
041188,000696: 
041189,000697:    6675           24154        CCALL              INCR     LOC                                   #  MAINTAIN LOC FOR QPRET COMPUTATION.
041190,000698:    6676           50154                           INDEX    LOC                                   
041191,000699: 
041192,000700:    6677           30000                           CAF      0                                     #  GET BASE ADDRESS OF CADR LIST.
041193,000701:    6700           50106                           INDEX    ADDRWD                                
041194,000702:    6701           60000                           AD       0                                     #  ADD INCREMENT.
041195,000703:    6702           54004                           TS       FBANK                                 #  SELECT DESIRED CADR.
041196,000704:    6703           75356                           MASK     LOW10                                 
041197,000705:    6704           50000                           INDEX    A                                     
041198,000706:    6705           32000                           CAF      10000                                 
041199,000707:    6706           54107                           TS       POLISH                                
041200,000708: 
041201,000709:    6707           30155        CALL               CA       BANKSET                               #  FOR ANY OF THE CALL OPTIONS, MAKE UP THE
041202,000710: 
041203,000711:    6710           76331                           MASK     BANKMASK                              #  ADDRESS OF THE NEXT OP-CODE PAIR/STORE
041204,000712:    6711           66331                           AD       BANKMASK                              #  CODE AND LEAVE IT IN QPRET.  NOTE THAT
041205,000713:    6712           60154                           AD       LOC                                   #  BANKMASK = -(2000 - 1).
041206,000714:    6713           50110                           INDEX    FIXLOC                                
041207,000715:    6714           54052                           TS       QPRET                                 
041208,000716: 
041209,000717:    6715           30107        GOTO               CA       POLISH                                #  BASIC BRANCHING SEQUENCE.
041210,000718:    6716           75367                 +1        MASK     HIGH4                                 
041211,000719:    6717           00006                           EXTEND                                         
041212,000720:    6720           16731                           BZF      GOTOERS                               #  SEE IF ADDRESS POINTS TO FIXED OR ERAS.
041213,000721:    6721           30155                 +4        CA       BANKSET                               #  SET EBANK PART OF BBANK. NEXT, SET UP
041214,000722:    6722           54006                           TS       BBANK                                 #  FBANK. THE COMBINATION IS PICKED UP &
041215,000723: 
041216,000724:    6723           30107                           CA       POLISH                                #  PUT INTO BANKSET AT INTPRET +2.
041217,000725:    6724           54004                           TS       FBANK                                 
041218,000726:    6725           75356                           MASK     LOW10                                 
041219,000727:    6726           67743                           AD       2K                                    
041220,000728:    6727           54154                           TS       LOC                                   
041221,000729:    6730           16105                           TCF      INTPRET    +2                         
041222,000730: 

Page 915

041224,000732:    6731  E3,1400                                  EBANK=   1400                                  #  SO YUL DOESN'T CUSS THE "CA 1400" BELOW.
041225,000733: 
041226,000734:    6731           30107        GOTOERS            CA       POLISH                                #  THE GIVEN ADDRESS IS IN ERASABLE - SEE
041227,000735:    6732           66305                           AD       -ENDVAC                               #  IF RELATIVE TO THE WORK AREA.
041228,000736:    6733           10000                           CCS      A                                     
041229,000737:    6734           30107                           CA       POLISH                                #  GENERAL ERASABLE.
041230,000738: 
041231,000739:    6735           16744                           TCF      GOTOGE                                
041232,000740: 
041233,000741:    6736           30110                           CA       FIXLOC                                #  WORK AREA.
041234,000742:    6737           60107                           AD       POLISH                                
041235,000743:    6740           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
041236,000744:    6741           30000                           CA       0                                     #  THE BRANCH ADDRESS.
041237,000745:    6742           54107                           TS       POLISH                                
041238,000746:    6743           16716                           TCF      GOTO       +1                         #  ALLOWS ARBITRARY INDIRECTNESS LEVELS.
041239,000747: 
041240,000748:    6744           54003        GOTOGE             TS       EBANK                                 
041241,000749:    6745           74553                           MASK     LOW8                                  
041242,000750:    6746           50000                           INDEX    A                                     #  USE THE GIVEN ADDRESS AS THE ADDRESS OF
041243,000751: 
041244,000752:    6747           31400                           CA       1400                                  #  THE BRANCH ADDRESS.
041245,000753:    6750           54107                           TS       POLISH                                
041246,000754:    6751           16716                           TCF      GOTO       +1                         
041247,000755: 
041248,000756:    6752           50154        CGOTO              INDEX    LOC                                   #  COMPUTED GO TO. PICK UP ADDRESS OF CADR
041249,000757:    6753           30001                           CA       1                                     #  LIST.
041250,000758:    6754           50106                           INDEX    ADDRWD                                #  ADD MODIFIER.
041251,000759:    6755           60000                           AD       0                                     
041252,000760:    6756           54004                           TS       FBANK                                 #  SELECT GOTO ADDRESS.
041253,000761:    6757           75356                           MASK     LOW10                                 
041254,000762: 
041255,000763:    6760           50000                           INDEX    A                                     
041256,000764:    6761           32000                           CA       10000                                 
041257,000765:    6762           54107                           TS       POLISH                                
041258,000766:    6763           16716                           TCF      GOTO       +1                         #  WITH ADDRESS IN A.
041259,000767: 
041260,000768:    6764           30155        SWBRANCH           CA       BANKSET                               #  SWITCH INSTRUCTIONS WHICH ELECT TO
041261,000769:    6765           54004                           TS       FBANK                                 #  BRANCH COME HERE TO DO SO.
041262,000770:    6766           50154                           INDEX    LOC                                   
041263,000771:    6767           30001                           CA       1                                     
041264,000772:    6770           54107                           TS       POLISH                                
041265,000773:    6771           16716                           TCF      GOTO       +1                         
041266,000774: 

Page 916

041268,000776:                                                                                                  #           TRIPLE PRECISION BRANCHING ROUTINE. IF CALLING TC IS AT L, RETURN IS AS FOLLOWS:
041269,000777: 
041270,000778: 
041271,000779:                                                                                                  #           L+1  IF MPAC IS GREATER THAN ZERO.
041272,000780:                                                                                                  #           L+2  IF MPAC IS EQUAL TO +0 OR -0.
041273,000781:                                                                                                  #           L+3  IF MPAC IS LESS THAN ZERO.
041274,000782: 
041275,000783: 
041276,000784:    6772           10144        BRANCH             CCS      MPAC                                  
041277,000785:    6773           00002                           TC       Q                                     
041278,000786:    6774           16776                           TCF      +2                                    #  ON ZERO.
041279,000787:    6775           17010                           TCF      NEG                                   
041280,000788: 
041281,000789: 
041282,000790:    6776           10145                           CCS      MPAC       +1                         
041283,000791:    6777           00002                           TC       Q                                     
041284,000792:    7000           17002                           TCF      +2                                    
041285,000793:    7001           17010                           TCF      NEG                                   
041286,000794: 
041287,000795:    7002           10146                           CCS      MPAC       +2                         
041288,000796:    7003           00002                           TC       Q                                     
041289,000797:    7004           17006                           TCF      +2                                    
041290,000798:    7005           17010                           TCF      NEG                                   
041291,000799: 
041292,000800:    7006           50002        Q+1                INDEX    Q                                     
041293,000801: 
041294,000802:    7007           00001                           TC       1                                     
041295,000803: 
041296,000804:    7010           50002        NEG                INDEX    Q                                     #  IF FIRST NON-ZERO REGISTER WAS NEGATIVE.
041297,000805:    7011           00002                           TC       2                                     
041298,000806: 
041299,000807: 
041300,000808: 
041301,000809:    7012     7010               Q+2                =        NEG                                   
041302,000810: 
041303,000811:                                                                                                  #           ITRACE (3) REFERS TO "EXIT".
041304,000812: 
041305,000813:    7012           30155        EXIT               CA       BANKSET                               #  RESTORE USER'S BANK SETTING, AND LEAVE
041306,000814:    7013           54006                           TS       BBANK                                 #  INTERPRETIVE MODE.
041307,000815:    7014           50154                           INDEX    LOC                                   
041308,000816:    7015           10001                           TCF      1                                     
041309,000817: 

Page 917

041311,000819:                                                                                                  #  SECTION 3 - ADD/SUBTRACT PACKAGE.
041312,000820: 
041313,000821:                                                                                                  #           THE FOLLOWING OPERATIONS ARE PROVIDED FOR ADDING TO AND SUBTRACTING FROM THE MULTI-PURPOSE ACCUMULATOR
041314,000822:                                                                                                  #  MPAC:
041315,000823: 
041316,000824:                                                                                                  #           1.  DAD                DOUBLE PRECISION ADD.
041317,000825:                                                                                                  #           2.  DSU                DOUBLE PRECISION SUBTRACT.
041318,000826:                                                                                                  #           3.  BDSU               DOUBLE PRECISION SUBTRACT FROM.
041319,000827: 
041320,000828: 
041321,000829:                                                                                                  #           4.  TAD                TRIPLE PRECISION ADD.
041322,000830: 
041323,000831:                                                                                                  #           5.  VAD                VECTOR ADD.
041324,000832:                                                                                                  #           6.  VSU                VECTOR SUBTRACT.
041325,000833:                                                                                                  #           7.  BVSU               VECTOR SUBTRACT FROM.
041326,000834: 
041327,000835:                                                                                                  #  THE INTERPRETIVE OVERFLOW INDICATOR OVFIND IS SET NON-ZERO IF OVERFLOW OCCURS IN ANY OF THE ABOVE.
041328,000836: 
041329,000837: 
041330,000838: 
041331,000839:    7016           00006        VAD                EXTEND                                         
041332,000840:    7017           50106                           INDEX    ADDRWD                                
041333,000841:    7020           30003                           DCA      2                                     
041334,000842:    7021           20150                           DAS      MPAC       +3                         
041335,000843:    7022           00006                           EXTEND                                         #  CHECK OVERFLOW.
041336,000844:    7023           17025                           BZF      +2                                    
041337,000845:    7024           07072                           TC       OVERFLOW                              
041338,000846: 
041339,000847:    7025           00006                           EXTEND                                         
041340,000848:    7026           50106                           INDEX    ADDRWD                                
041341,000849:    7027           30005                           DCA      4                                     
041342,000850:    7030           20152                           DAS      MPAC       +5                         
041343,000851: 
041344,000852:    7031           00006                           EXTEND                                         
041345,000853:    7032           17034                           BZF      +2                                    
041346,000854:    7033           07072                           TC       OVERFLOW                              
041347,000855: 
041348,000856:    7034           00006        DAD                EXTEND                                         
041349,000857:    7035           50106                           INDEX    ADDRWD                                
041350,000858:    7036           30001                           DCA      0                                     
041351,000859:    7037           20145        ENDVXV             DAS      MPAC                                  #  VXV FINISHES HERE.
041352,000860:    7040           00006                           EXTEND                                         
041353,000861:    7041           16115                           BZF      DANZIG                                
041354,000862: 
041355,000863:    7042           07072                           TC       OVERFLOW                              
041356,000864:    7043           16115                           TCF      DANZIG                                
041357,000865: 

Page 918

041359,000867:    7044           00006        VSU                EXTEND                                         
041360,000868: 
041361,000869:    7045           50106                           INDEX    ADDRWD                                
041362,000870:    7046           40003                           DCS      2                                     
041363,000871:    7047           20150                           DAS      MPAC       +3                         
041364,000872:    7050           00006                           EXTEND                                         
041365,000873:    7051           17053                           BZF      +2                                    
041366,000874:    7052           07072                           TC       OVERFLOW                              
041367,000875: 
041368,000876:    7053           00006                           EXTEND                                         
041369,000877:    7054           50106                           INDEX    ADDRWD                                
041370,000878:    7055           40005                           DCS      4                                     
041371,000879:    7056           20152                           DAS      MPAC       +5                         
041372,000880:    7057           00006                           EXTEND                                         
041373,000881: 
041374,000882:    7060           17062                           BZF      +2                                    
041375,000883:    7061           07072                           TC       OVERFLOW                              
041376,000884: 
041377,000885:    7062           00006        DSU                EXTEND                                         
041378,000886:    7063           50106                           INDEX    ADDRWD                                
041379,000887:    7064           40001                           DCS      0                                     
041380,000888:    7065           20145                           DAS      MPAC                                  
041381,000889:    7066           00006                           EXTEND                                         
041382,000890:    7067           16115                           BZF      DANZIG                                
041383,000891:    7070           07072                           TC       OVERFLOW                              
041384,000892: 
041385,000893:    7071           16115                           TCF      DANZIG                                
041386,000894: 
041387,000895:    7072           37755        OVERFLOW           CAF      ONE                                   #  SUBROUTINE TO TURN OVFIND ON.
041388,000896:    7073           17215                           TCF      SETOVF2                               
041389,000897: 

Page 919

041391,000899:    7074           00006        BVSU               EXTEND                                         
041392,000900:    7075           50106                           INDEX    ADDRWD                                
041393,000901:    7076           30003                           DCA      2                                     
041394,000902:    7077           52150                           DXCH     MPAC       +3                         
041395,000903:    7100           00006                           EXTEND                                         
041396,000904:    7101           40001                           DCOM                                           
041397,000905: 
041398,000906:    7102           20150                           DAS      MPAC       +3                         
041399,000907:    7103           00006                           EXTEND                                         
041400,000908:    7104           17106                           BZF      +2                                    
041401,000909:    7105           07072                           TC       OVERFLOW                              
041402,000910: 
041403,000911:    7106           00006                           EXTEND                                         
041404,000912:    7107           50106                           INDEX    ADDRWD                                
041405,000913:    7110           30005                           DCA      4                                     
041406,000914:    7111           52152                           DXCH     MPAC       +5                         
041407,000915:    7112           00006                           EXTEND                                         
041408,000916:    7113           40001                           DCOM                                           
041409,000917:    7114           20152                           DAS      MPAC       +5                         
041410,000918: 
041411,000919:    7115           00006                           EXTEND                                         
041412,000920:    7116           17120                           BZF      +2                                    
041413,000921:    7117           07072                           TC       OVERFLOW                              
041414,000922: 
041415,000923:    7120           00006        BDSU               EXTEND                                         
041416,000924:    7121           50106                           INDEX    ADDRWD                                
041417,000925:    7122           30001                           DCA      0                                     
041418,000926:    7123           52145                           DXCH     MPAC                                  
041419,000927:    7124           00006                           EXTEND                                         
041420,000928:    7125           40001                           DCOM                                           
041421,000929: 
041422,000930:    7126           20145                           DAS      MPAC                                  
041423,000931:    7127           00006                           EXTEND                                         
041424,000932:    7130           16115                           BZF      DANZIG                                
041425,000933:    7131           07072                           TC       OVERFLOW                              
041426,000934:    7132           16115                           TCF      DANZIG                                
041427,000935: 

Page 920

041429,000937:                                                                                                  #           TRIPLE PRECISION ADD ROUTINE.
041430,000938: 
041431,000939: 
041432,000940:    7133           00006        TAD                EXTEND                                         
041433,000941:    7134           50106                           INDEX    ADDRWD                                
041434,000942:    7135           30002                           DCA      1                                     #  ADD MINOR PARTS FIRST.
041435,000943:    7136           20146                           DAS      MPAC       +1                         
041436,000944:    7137           50106                           INDEX    ADDRWD                                
041437,000945:    7140           60000                           AD       0                                     
041438,000946:    7141           60144                           AD       MPAC                                  
041439,000947:    7142           54144                           TS       MPAC                                  
041440,000948:    7143           16115                           TCF      DANZIG                                
041441,000949: 
041442,000950:    7144           54111        SETOVF             TS       OVFIND                                #  SET OVFIND IF SUCH OCCURS.
041443,000951:    7145           16115                           TCF      DANZIG                                
041444,000952: 

Page 921

041446,000954:                                                                                                  #  ARITHMETIC SUBROUTINES REQUIRED IN FIXED-FIXED.
041447,000955: 
041448,000956:                                                                                                  #           1.  DMPSUB     DOUBLE PRECISION MULTIPLY. MULTIPLY THE CONTENTS OF MPAC,+1 BY THE DP WORD WHOSE ADDRESS
041449,000957:                                                                                                  #                          IS IN ADDRWD AND LEAVE A TRIPLE PRECISION RESULT IN MPAC.
041450,000958:                                                                                                  #           2.  ROUNDSUB   ROUND THE TRIPLE PRECISON CONTENTS OF MPAC TO DOUBLE PRECISION.
041451,000959:                                                                                                  #           3.  DOTSUB     TAKE THE DOT PRODUCT OF THE VECTOR IN MPAC AND THE VECTOR WHOSE ADDRESS IS IN ADDRWD
041452,000960:                                                                                                  #                          AND LEAVE THE TRIPLE PRECISION RESULT IN MPAC.
041453,000961:                                                                                                  #           4.  POLY       USING THE CONTENTS OF MPAC AS A DP ARGUMENT, EVALUATE THE POLYNOMIAL WHOSE DEGREE AND
041454,000962: 
041455,000963:                                                                                                  #                          COEFFICIENTS IMMEDIATELY FOLLOW THE TC POLY INSTRUCTION (SEE ROUTINE FOR DETAILS.)
041456,000964: 
041457,000965: 
041458,000966: 
041459,000967:    7146           50002        DMP                INDEX    Q                                     #  BASIC SUBROUTINE FOR USE BY PINBALL, ETC
041460,000968:    7147           30000                           CAF      0                                     #  ADRES OF ARGUMENT FOLLOWS  TC DMP  .
041461,000969:    7150           24002                           INCR     Q                                     
041462,000970:    7151           54106                 -1        TS       ADDRWD                                #  (PROLOGUE FOR SETTING ADDRWD.)
041463,000971: 
041464,000972:    7152           50106        DMPSUB             INDEX    ADDRWD                                #  GET MINOR PART OF OPERAND AT C(ADDRWD).
041465,000973: 
041466,000974:    7153           30001                           CA       1                                     
041467,000975:    7154           54146                           TS       MPAC       +2                         #  THIS WORKS FOR SQUARING MPAC AS WELL.
041468,000976:    7155           37761                           CAF      ZERO                                  #  SET MPAC +1 TO ZERO SO WE CAN ACCUMULATE
041469,000977:    7156           56145                           XCH      MPAC       +1                         #  THE PARTIAL PRODUCTS WITH DAS
041470,000978:    7157           54125                           TS       MPTEMP                                #  INSTRUCTIONS.
041471,000979:    7160           00006                           EXTEND                                         
041472,000980:    7161           70146                           MP       MPAC       +2                         #  MINOR OF MPAC X MINOR OF C(ADDRWD).
041473,000981: 
041474,000982:    7162           56146                           XCH      MPAC       +2                         #  DISCARD MINOR PART OF ABOVE RESULT AND
041475,000983:    7163           00006                           EXTEND                                         #  FORM MAJOR OF MPAC X MINOR OF C(ADDRWD).
041476,000984:    7164           70144                           MP       MPAC                                  
041477,000985:    7165           20146                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
041478,000986: 
041479,000987:    7166           50106                           INDEX    ADDRWD                                #  GET MAJOR PART OF ARGUMENT AT C(ADDRWD).
041480,000988:    7167           30000                           CA       0                                     
041481,000989:    7170           56125                           XCH      MPTEMP                                #  SAVE AND BRING OUT MINOR OF MPAC.
041482,000990:    7171           00006                           EXTEND                                         
041483,000991:    7172           70125                           MP       MPTEMP                                #  MAJOR OF C(ADDRWD) X MINOR OF MPAC.
041484,000992:    7173           20146                           DAS      MPAC       +1                         #  ACCUMULATE, SETTING A TO NET OVERFLOW.
041485,000993: 
041486,000994:    7174           56144                           XCH      MPAC                                  #  SETTING MPAC TO 0 OR +-1.
041487,000995:    7175           00006                           EXTEND                                         
041488,000996: 
041489,000997:    7176           70125                           MP       MPTEMP                                #  MAJOR OF MPAC X MAJOR OF C(ADDRWD).
041490,000998:    7177           20145                           DAS      MPAC                                  #  GUARANTEED NO OVERFLOW.
041491,000999:    7200           00002                           TC       Q                                     #  49 MCT = .573 MS. INCLUDING RETURN.
041492,001000: 

Page 922

041494,001002:                                                                                                  #           ROUND MPAC TO DOUBLE PRECISION, SETTING OVFIND ON THE RARE EVENT OF OVERFLOW.
041495,001003: 
041496,001004:    7201           37761        ROUNDSUB           CAF      ZERO                                  #  SET MPAC +2 = 0 FOR SCALARS AND CHANGE
041497,001005:    7202           54153                 +1        TS       MODE                                  #  MODE TO DP.
041498,001006: 
041499,001007:    7203           56146        VROUND             XCH      MPAC       +2                         #  BUT WE NEEDNT TAKE THE TIME FOR VECTORS.
041500,001008:    7204           60000                           DOUBLE                                         
041501,001009:    7205           54001                           TS       L                                     
041502,001010:    7206           00002                           TC       Q                                     
041503,001011: 
041504,001012:    7207           60145                           AD       MPAC       +1                         #  ADD ROUNDING BIT IF MPAC +2 WAS GREATER
041505,001013:    7210           54145                           TS       MPAC       +1                         #  THAN .5 IN MAGNITUDE.
041506,001014:    7211           00002                           TC       Q                                     
041507,001015: 
041508,001016: 
041509,001017:    7212           60144                           AD       MPAC                                  #  PROPAGATE INTERFLOW.
041510,001018:    7213           54144                           TS       MPAC                                  
041511,001019:    7214           00002                           TC       Q                                     
041512,001020: 
041513,001021:    7215           54111        SETOVF2            TS       OVFIND                                #  (RARE).
041514,001022:    7216           00002                           TC       Q                                     
041515,001023: 

Page 923

041517,001025:                                                                                                  #           THE DOT PRODUCT SUBROUTINE USUALLY FORMS THE DOT PRODUCT OF THE VECTOR IN MPAC WITH A STANDARD SIX
041518,001026:                                                                                                  #  REGISTER VECTOR WHOSE ADDRESS IS IN ADDRWD. IN THIS CASE C(DOTINC) ARE SET TO 2. VXM, HOWEVER, SETS C(DOTINC) TO
041519,001027:                                                                                                  #  6 SO THAT DOTSUB DOTS MPAC WITH A COLUMN VECTOR OF THE MATRIX IN QUESTION IN THIS CASE.
041520,001028: 
041521,001029: 
041522,001030: 
041523,001031:    7217           37754        PREDOT             CAF      TWO                                   #  PROLOGUE TO SET DOTINC TO 2.
041524,001032:    7220           54126                           TS       DOTINC                                
041525,001033: 
041526,001034:    7221           00006        DOTSUB             EXTEND                                         
041527,001035:    7222           22127                           QXCH     DOTRET                                #  SAVE RETURN.
041528,001036:    7223           07152                           TC       DMPSUB                                #  DOT X COMPONENTS.
041529,001037:    7224           52150                           DXCH     MPAC       +3                         #  POSITION Y COMPONENT OF MPAC FOR
041530,001038:    7225           52145                           DXCH     MPAC                                  #  MULTIPLICATION WHILE SAVING RESULT IN
041531,001039:    7226           52121                           DXCH     BUF                                   #  THREE WORD BUFFER, BUF.
041532,001040:    7227           30146                           CA       MPAC       +2                         
041533,001041:    7230           54122                           TS       BUF        +2                         
041534,001042: 
041535,001043:    7231           30126                           CA       DOTINC                                #  ADVANCE ADDRWD TO Y COMPONENT OF
041536,001044: 
041537,001045:    7232           26106                           ADS      ADDRWD                                #  OTHER ARGUMENT.
041538,001046:    7233           07152                           TC       DMPSUB                                
041539,001047:    7234           52146                           DXCH     MPAC       +1                         #  ACCUMULATE PARTIAL PRODUCTS.
041540,001048:    7235           20122                           DAS      BUF        +1                         
041541,001049:    7236           60144                           AD       MPAC                                  
041542,001050:    7237           60120                           AD       BUF                                   
041543,001051:    7240           54120                           TS       BUF                                   
041544,001052:    7241           17243                           TCF      +2                                    
041545,001053:    7242           54111                           TS       OVFIND                                #  IF OVERFLOW OCCURS.
041546,001054: 
041547,001055:    7243           52152                           DXCH     MPAC       +5                         #  MULTIPLY Z COMPONENTS.
041548,001056:    7244           52145                           DXCH     MPAC                                  
041549,001057:    7245           30126                           CA       DOTINC                                
041550,001058:    7246           26106                           ADS      ADDRWD                                
041551,001059:    7247           07152                           TC       DMPSUB                                
041552,001060:    7250           52122        ENDDOT             DXCH     BUF        +1                         #  LEAVE FINAL ACCUMULATION IN MPAC.
041553,001061:    7251           20146                           DAS      MPAC       +1                         
041554,001062:    7252           60144                           AD       MPAC                                  
041555,001063:    7253           60120                           AD       BUF                                   
041556,001064:    7254           54144                           TS       MPAC                                  
041557,001065:    7255           00127                           TC       DOTRET                                
041558,001066: 
041559,001067:    7256           54111                           TS       OVFIND                                #  ON OVERFLOW HERE.
041560,001068: 
041561,001069:    7257           00127                           TC       DOTRET                                
041562,001070: 

Page 924

041564,001072:                                                                                                  #  DOUBLE PRECISION POLYNOMIAL EVALUATOR
041565,001073: 
041566,001074: 
041567,001075:                                                                                                  #                                     N        N-1
041568,001076:                                                                                                  #           THIS ROUTINE EVALUATES A X  + A   X    + ... + A X + A  LEAVING THE DP RESULT IN MPAC ON EXIT.
041569,001077:                                                                                                  #                                   N      N-1              1     0
041570,001078: 
041571,001079:                                                                                                  #  THE ROUTINE HAS TWO ENTRIES
041572,001080: 
041573,001081:                                                                                                  #           1. ENTRY THRU POWRSERS. THE COEFFICIENTS MAY BE EITHER IN FIXED OR ERASABLE, THE CALL IS BY
041574,001082:                                                                                                  #              TC POWRSERS, AND THE RETURN IS TO LOC(TC POWRSERS)+1. THE ENTERING DATA MUST BE AS FOLLOWS
041575,001083: 
041576,001084:                                                                                                  #                                          A        SP     LOC-3           ADDRESS FOR REFERENCING COEF TABLE
041577,001085: 
041578,001086:                                                                                                  #                                          L        SP     N-1             N IS THE DEGREE OF THE POWER SERIES
041579,001087:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
041580,001088: 
041581,001089:                                                                                                  #                                          LOC-2N   DP     A(0)
041582,001090:                                                                                                  #                                                   ...
041583,001091:                                                                                                  #                                          LOC      DP     A(N)
041584,001092: 
041585,001093:                                                                                                  #           2. ENTRY THRU POLY. THE CALL TO POLY AND THE ENTERING DATA MUST BE AS FOLLOWS
041586,001094: 
041587,001095:                                                                                                  #                                          MPAC     DP     X               ARGUMENT
041588,001096: 
041589,001097:                                                                                                  #                                          LOC      TC     POLY
041590,001098: 
041591,001099:                                                                                                  #                                          LOC+1    SP     N-1
041592,001100:                                                                                                  #                                          LOC+2    DP     A(0)
041593,001101:                                                                                                  #                                                   ...
041594,001102:                                                                                                  #                                          LOC+2N+2 DP     A(N)            RETURN IS TO LOC+2N+4
041595,001103: 
041596,001104:    7260           00006        POWRSERS           EXTEND                                         
041597,001105:    7261           22131                           QXCH     POLYRET                               #  RETURN ADDRESS
041598,001106:    7262           54107                           TS       POLISH                                #  POWER SERIES ADDRESS
041599,001107:    7263           22130                           LXCH     POLYCNT                               #  N-1 TO COUNTER
041600,001108:    7264           17275                           TCF      POLYCOM                               #  SKIP SET UP BY POLY
041601,001109: 
041602,001110:    7265           50002        POLY               INDEX    Q                                     
041603,001111:    7266           30000                           CAF      0                                     
041604,001112:    7267           54130                           TS       POLYCNT                               #  N-1 TO COUNTER
041605,001113:    7270           60000                           DOUBLE                                         
041606,001114:    7271           60002                           AD       Q                                     
041607,001115:    7272           54107                           TS       POLISH                                #  L(A(N))-3 TO POLISH
041608,001116:    7273           67760                           AD       FIVE                                  
041609,001117:    7274           54131                           TS       POLYRET                               #  STORE RETURN ADDRESS
041610,001118: 
041611,001119:    7275           35365        POLYCOM            CAF      LVBUF                                 #  INCOMING X WILL BE MOVED TO VBUF, SO
041612,001120:    7276           54106                           TS       ADDRWD                                #  SET ADDRWD SO DMPSUB WILL MPY BY VBUF.
041613,001121: 
041614,001122: 
041615,001123:    7277           00006                           EXTEND                                         
041616,001124:    7300           50107                           INDEX    POLISH                                
041617,001125:    7301           30004                           DCA      3                                     
041618,001126: 

Page 925

041620,001128:    7302           52145                           DXCH     MPAC                                  #  LOAD A(N) INTO MPAC,
041621,001129:    7303           52113                           DXCH     VBUF                                  #  SAVING X IN VBUF
041622,001130:    7304           17310                           TCF      POLY2                                 
041623,001131: 
041624,001132:    7305           54130        POLYLOOP           TS       POLYCNT                               #  SAVE DECREMENTED LOOP COUNTER
041625,001133:    7306           47754                           CS       TWO                                   
041626,001134:    7307           26107                           ADS      POLISH                                #  REGRESS COEFFICIENT POINTER
041627,001135: 
041628,001136: 
041629,001137:    7310           07152        POLY2              TC       DMPSUB                                #  MULTIPLY BY X
041630,001138:    7311           00006                           EXTEND                                         
041631,001139:    7312           50107                           INDEX    POLISH                                
041632,001140:    7313           30002                           DCA      1                                     #  ADD IN NEXT COEFFICIENT
041633,001141:    7314           20145                           DAS      MPAC                                  #  USERS RESPONSIBILITY TO ASSURE NO OVFLOW
041634,001142: 
041635,001143:    7315           10130                           CCS      POLYCNT                               
041636,001144:    7316           17305                           TCF      POLYLOOP                              
041637,001145:    7317           00131                           TC       POLYRET                               #  RETURN CALLER
041638,001146: 

Page 926

041640,001148:                                                                                                  #           MISCELLANEOUS MULTI-PRECISION ROUTINES REQUIRED IN FIXED-FIXED BUT NOT USED BY THE INTERPRETER.
041641,001149: 
041642,001150:    7320           00006        TPAGREE            EXTEND                                         #  FORCE SIGN AGREEMENT AMONG THE TRIPLE-
041643,001151:    7321           22120                           QXCH     BUF                                   #  PRECISION CONTENTS OF MPAC, RETURNING
041644,001152:    7322           06772                           TC       BRANCH                                #  WITH THE SIGNUM OF THE INPUT IN A.
041645,001153:    7323           17327                           TCF      ARG+                                  
041646,001154:    7324           17347                           TCF      ARGZERO                               
041647,001155: 
041648,001156:    7325           47735                           CS       POSMAX                                #  IF NEGATIVE.
041649,001157:    7326           17330                           TCF      +2                                    
041650,001158: 
041651,001159:    7327           37735        ARG+               CAF      POSMAX                                
041652,001160:    7330           54121                 +2        TS       BUF        +1                         
041653,001161:    7331           00006                           EXTEND                                         
041654,001162: 
041655,001163:    7332           24000                           AUG      A                                     #  FORMS +-1.0.
041656,001164:    7333           60146                           AD       MPAC       +2                         
041657,001165:    7334           54146                           TS       MPAC       +2                         
041658,001166:    7335           37761                           CAF      ZERO                                  
041659,001167:    7336           60121                           AD       BUF        +1                         
041660,001168:    7337           60145                           AD       MPAC       +1                         
041661,001169:    7340           54145                           TS       MPAC       +1                         
041662,001170:    7341           37761                           CAF      ZERO                                  
041663,001171:    7342           60121                           AD       BUF        +1                         
041664,001172:    7343           60144                           AD       MPAC                                  
041665,001173: 
041666,001174:    7344           54144        ARGZERO2           TS       MPAC                                  #  ALWAYS SKIPPING UNLESS ARGZERO.
041667,001175:    7345           54145                           TS       MPAC       +1                         
041668,001176:    7346           00120                           TC       BUF                                   #  RETURN.
041669,001177: 
041670,001178:    7347           54146        ARGZERO            TS       MPAC       +2                         #  SET ALL THREE MPAC REGISTERS TO ZERO.
041671,001179:    7350           17344                           TCF      ARGZERO2                              
041672,001180: 
041673,001181:                                                                                                  #           SHORTMP MULTIPLIES THE TP CONTENTS OF MPAC BY THE SINGLE PRECISION NUMBER ARRIVING IN A.
041674,001182: 
041675,001183:    7351           54125        SHORTMP            TS       MPTEMP                                
041676,001184:    7352           00006                           EXTEND                                         
041677,001185:    7353           70146                           MP       MPAC       +2                         
041678,001186: 
041679,001187:    7354           54146                           TS       MPAC       +2                         
041680,001188:    7355           37761                           CAF      ZERO                                  #  SO SUBSEQUENT DAS WILL WORK.
041681,001189:    7356           56145                           XCH      MPAC       +1                         
041682,001190:    7357           00006                           EXTEND                                         
041683,001191:    7360           70125                           MP       MPTEMP                                
041684,001192:    7361           20146                           DAS      MPAC       +1                         
041685,001193:    7362           56144                           XCH      MPAC                                  #  SETTING MPAC TO 0.
041686,001194:    7363           00006                           EXTEND                                         
041687,001195:    7364           70125                           MP       MPTEMP                                
041688,001196:    7365           20145                           DAS      MPAC                                  
041689,001197: 
041690,001198:    7366           00002                           TC       Q                                     
041691,001199: 

Page 927

041693,001201:                                                                                                  #         DMPNSUB MULTIPLIES THE DP FRACTION ARRIVING IN MPAC BY THE SP
041694,001202:                                                                                                  #  INTEGER ARRIVING IN A.  THE DP PRODUCT DEPARTS BOTH IN MPAC AND IN
041695,001203:                                                                                                  #  A AND L.  NOTE THAT DMPNSUB NORMALLY INCREASES THE MAGNITUDE OF THE
041696,001204:                                                                                                  #  CONTENTS OF MPAC.  THE CUSTOMER MUST INSURE THAT B(A) X B(MPAC,MPAC+1)
041697,001205:                                                                                                  #  AND B(A) X B(MPAC) ARE LESS THAN 1 IN MAGNITUDE, WHERE B, AS IS OBVIOUS,
041698,001206:                                                                                                  #  INDICATES THE ARRIVING CONTENTS.
041699,001207: 
041700,001208: 
041701,001209:    7367           54125        DMPNSUB            TS       DMPNTEMP                              
041702,001210:    7370           00006                           EXTEND                                         
041703,001211:    7371           70145                           MP       MPAC       +1                         
041704,001212:    7372           52145                           DXCH     MPAC                                  #  LOW PRODUCT TO MPAC, HIGH FACTOR TO A
041705,001213:    7373           00006                           EXTEND                                         
041706,001214:    7374           70125                           MP       DMPNTEMP                              
041707,001215:    7375           30001                           CA       L                                     
041708,001216:    7376           26144                           ADS      MPAC                                  #  COMPLETING THE PRODUCT IN MPAC
041709,001217:    7377           00006                           EXTEND                                         
041710,001218:    7400           30145                           DCA      MPAC                                  #  BRINGING THE PRODUCT INTO A AND L
041711,001219:    7401           00002                           TC       Q                                     
041712,001220: 

Page 928

041714,001222:                                                                                                  #  MISCELLANEOUS VECTOR OPERATIONS. INCLUDED HERE ARE THE FOLLOWING:
041715,001223: 
041716,001224: 
041717,001225:                                                                                                  #           1.  DOT                DP VECTOR DOT PRODUCT.
041718,001226:                                                                                                  #           2.  VXV                DP VECTOR CROSS PRODUCT.
041719,001227:                                                                                                  #           3.  VXSC               DP VECTOR TIMES SCALAR.
041720,001228:                                                                                                  #           4.  V/SC               DP VECTOR DIVIDED BY SCALAR.
041721,001229:                                                                                                  #           5.  VPROJ              DP VECTOR PROJECTION.  ( (MPAC.X)MPAC ).
041722,001230:                                                                                                  #           6.  VXM                DP VECTOR POST-MULTIPLIED BY MATRIX.
041723,001231:                                                                                                  #           7.  MXV                DP VECTOR PRE-MULTIPLIED BY MATRIX.
041724,001232: 
041725,001233: 
041726,001234: 
041727,001235:    7402           07217        DOT                TC       PREDOT                                #  DO THE DOT PRODUCT AND EXIT, CHANGING
041728,001236:    7403           37761                           CAF      ZERO                                  #  THE MODE TO DP SCALAR.
041729,001237:    7404           16114                           TCF      NEWMODE                               
041730,001238: 
041731,001239: 
041732,001240: 
041733,001241:    7405           37754        MXV                CAF      TWO                                   #  SET UP MATINC AND DOTINC FOR ROW
041734,001242:    7406           54130                           TS       MATINC                                #  VECTORS.
041735,001243:    7407           17413                           TCF      VXM/MXV                               #  GO TO COMMON PORTION.
041736,001244: 
041737,001245:    7410           44557        VXM                CS       TEN                                   #  SET MATINC AND DOTINC TO REFER TO MATRIX
041738,001246:    7411           54130                           TS       MATINC                                #  AS THREE COLUMN VECTORS.
041739,001247:    7412           36276                           CAF      SIX                                   
041740,001248: 

Page 929

041742,001250:                                                                                                  #           COMMON PORTION OF MXV AND VXM.
041743,001251: 
041744,001252:    7413           54126        VXM/MXV            TS       DOTINC                                
041745,001253:                                                                                                  #           ITRACE (2) REFERS TO "VXM/MXV".
041746,001254:    7414           07604                           TC       MPACVBUF                              #  SAVE VECTOR IN MPAC FOR FURTHER USE.
041747,001255: 
041748,001256:    7415           07221                           TC       DOTSUB                                #  GO DOT TO GET X COMPONENT OF ANSWER.
041749,001257:    7416           00006                           EXTEND                                         
041750,001258: 
041751,001259:    7417           30113                           DCA      VBUF                                  #  MOVE MPAC VECTOR BACK INTO MPAC, SAVING
041752,001260:    7420           52145                           DXCH     MPAC                                  #  NEW X COMPONENT IN BUF2.
041753,001261:    7421           52124                           DXCH     BUF2                                  
041754,001262:    7422           00006                           EXTEND                                         
041755,001263:    7423           30115                           DCA      VBUF       +2                         
041756,001264:    7424           52150                           DXCH     MPAC       +3                         
041757,001265:    7425           00006                           EXTEND                                         
041758,001266:    7426           30117                           DCA      VBUF       +4                         
041759,001267:    7427           52152                           DXCH     MPAC       +5                         
041760,001268:    7430           30130                           CA       MATINC                                #  INITIALIZE ADDRWD FOR NEXT DOT PRODUCT.
041761,001269: 
041762,001270:    7431           26106                           ADS      ADDRWD                                #  FORMS BASE ADDRESS OF NEXT COLUMN(ROW).
041763,001271: 
041764,001272:    7432           07221                           TC       DOTSUB                                
041765,001273:    7433           52113                           DXCH     VBUF                                  #  MOVE GIVEN VECTOR BACK TO MPAC, SAVING Y
041766,001274:    7434           52145                           DXCH     MPAC                                  #  COMPONENT OF ANSWER IN VBUF +2.
041767,001275:    7435           52115                           DXCH     VBUF       +2                         
041768,001276:    7436           52150                           DXCH     MPAC       +3                         
041769,001277:    7437           52117                           DXCH     VBUF       +4                         
041770,001278:    7440           52152                           DXCH     MPAC       +5                         
041771,001279:    7441           30130                           CA       MATINC                                #  FORM ADDRESS OF LAST COLUMN OR ROW.
041772,001280:    7442           26106                           ADS      ADDRWD                                
041773,001281: 
041774,001282:    7443           07221                           TC       DOTSUB                                
041775,001283:    7444           52124                           DXCH     BUF2                                  #  ANSWER NOW COMPLETE. PUT COMPONENTS INTO
041776,001284:    7445           52145                           DXCH     MPAC                                  #  PROPER MPAC REGISTERS.
041777,001285:    7446           52152                           DXCH     MPAC       +5                         
041778,001286:    7447           52115                           DXCH     VBUF       +2                         
041779,001287:    7450           52150                           DXCH     MPAC       +3                         
041780,001288:    7451           16115                           TCF      DANZIG                                #  EXIT.
041781,001289: 

Page 930

041783,001291:                                                                                                  #           VXSC - VECTOR TIMES SCALAR.
041784,001292: 
041785,001293:    7452           10153        VXSC               CCS      MODE                                  #  TEST PRESENT MODE.
041786,001294:    7453           17501                           TCF      DVXSC                                 #  SEPARATE ROUTINE WHEN SCALAR IS IN MPAC.
041787,001295:    7454           17501                           TCF      DVXSC                                 
041788,001296: 
041789,001297:    7455           07152        VVXSC              TC       DMPSUB                                #  COMPUTE X COMPONENT
041790,001298:    7456           07203                           TC       VROUND                                #  AND ROUND IT.
041791,001299:    7457           52150                           DXCH     MPAC       +3                         #  PUT Y COMPONENT INTO MPAC SAVING MPAC IN
041792,001300:    7460           52145                           DXCH     MPAC                                  #  MPAC +3.
041793,001301:    7461           52150                           DXCH     MPAC       +3                         
041794,001302: 
041795,001303:    7462           07152                           TC       DMPSUB                                #  DO SAME FOR Y AND Z COMPONENTS.
041796,001304:    7463           07203                           TC       VROUND                                
041797,001305: 
041798,001306:    7464           52152                           DXCH     MPAC       +5                         
041799,001307:    7465           52145                           DXCH     MPAC                                  
041800,001308:    7466           52152                           DXCH     MPAC       +5                         
041801,001309: 
041802,001310:    7467           07152                           TC       DMPSUB                                
041803,001311:    7470           07203                           TC       VROUND                                
041804,001312:    7471           52145        VROTATEX           DXCH     MPAC                                  #  EXIT USED TO RESTORE MPAC AFTER THIS
041805,001313:    7472           52152                           DXCH     MPAC       +5                         #  TYPE OF ROTATION. CALLED BY VECTOR SHIFT
041806,001314:    7473           52150                           DXCH     MPAC       +3                         #  RIGHT, V/SC, ETC.
041807,001315:    7474           52145                           DXCH     MPAC                                  
041808,001316: 
041809,001317:    7475           16115                           TCF      DANZIG                                
041810,001318: 

Page 931

041812,001320:                                                                                                  #           DP VECTOR PROJECTION ROUTINE.
041813,001321: 
041814,001322:    7476           07217        VPROJ              TC       PREDOT                                #  (MPAC.X)MPAC IS COMPUTED AND LEFT IN
041815,001323:    7477           47753                           CS       FOUR                                  #  MPAC. DO DOT AND FALL INTO DVXSC.
041816,001324:    7500           26106                           ADS      ADDRWD                                
041817,001325: 
041818,001326:                                                                                                  #           VXSC WHEN SCALAR ARRIVES IN MPAC AND VECTOR IS AT X.
041819,001327: 
041820,001328:    7501           00006        DVXSC              EXTEND                                         #  SAVE SCALAR IN MPAC +3 AND GET X
041821,001329:    7502           30145                           DCA      MPAC                                  #  COMPONENT OF ANSWER.
041822,001330:    7503           52150                           DXCH     MPAC       +3                         
041823,001331:    7504           07152                           TC       DMPSUB                                
041824,001332:    7505           07203                           TC       VROUND                                
041825,001333: 
041826,001334:    7506           37754                           CAF      TWO                                   #  ADVANCE ADDRWD TO Y COMPONENT OF X.
041827,001335:    7507           26106                           ADS      ADDRWD                                
041828,001336:    7510           00006                           EXTEND                                         
041829,001337:    7511           30150                           DCA      MPAC       +3                         #  PUT SCALAR BACK INTO MPAC AND SAVE
041830,001338:    7512           52145                           DXCH     MPAC                                  #  X RESULT IN MPAC +5.
041831,001339: 
041832,001340:    7513           52152                           DXCH     MPAC       +5                         
041833,001341:    7514           07152                           TC       DMPSUB                                
041834,001342:    7515           07203                           TC       VROUND                                
041835,001343: 
041836,001344:    7516           37754                           CAF      TWO                                   
041837,001345:    7517           26106                           ADS      ADDRWD                                #  TO Z COMPONENT.
041838,001346:    7520           52150                           DXCH     MPAC       +3                         #  BRING SCALAR BACK, PUTTING Y RESULT IN
041839,001347:    7521           52145                           DXCH     MPAC                                  #  THE PROPER PLACE.
041840,001348:    7522           52150                           DXCH     MPAC       +3                         
041841,001349:    7523           07152                           TC       DMPSUB                                
041842,001350: 
041843,001351:    7524           07203                           TC       VROUND                                
041844,001352: 
041845,001353:    7525           52145                           DXCH     MPAC                                  #  PUT Z COMPONENT IN PROPER PLACE, ALSO
041846,001354:    7526           52152                           DXCH     MPAC       +5                         #  POSITIONING X.
041847,001355:    7527           52145                           DXCH     MPAC                                  
041848,001356: 
041849,001357:    7530           47755                           CS       ONE                                   #  MODE HAS CHANGED TO VECTOR.
041850,001358:    7531           16114                           TCF      NEWMODE                               
041851,001359: 

Page 932

041853,001361:                                                                                                  #           THE VECTOR CROSS PRODUCT ROUTINE CALCULATES (X M -X M ,X M -X M ,X M -X M ) WHERE M IS THE VECTOR IN
041854,001362:                                                                                                  #                                                         3 2  2 3  1 3  3 1  2 1  1 2
041855,001363: 
041856,001364:                                                                                                  #  MPAC AND X THE VECTOR AT THE GIVEN ADDRESS.
041857,001365: 
041858,001366: 
041859,001367: 
041860,001368:    7532           00006        VXV                EXTEND                                         
041861,001369:    7533           30152                           DCA      MPAC       +5                         #  FORM UP M3X1, LEAVING M1 IN VBUF.
041862,001370:    7534           52145                           DXCH     MPAC                                  
041863,001371:    7535           52113                           DXCH     VBUF                                  
041864,001372:    7536           07152                           TC       DMPSUB                                #  BY X1.
041865,001373: 
041866,001374:    7537           00006                           EXTEND                                         
041867,001375:    7540           40150                           DCS      MPAC       +3                         #  CALCULATE -X1M2, SAVING X1M3 IN VBUF +2.
041868,001376:    7541           52145                           DXCH     MPAC                                  
041869,001377:    7542           52115                           DXCH     VBUF       +2                         
041870,001378:    7543           07152                           TC       DMPSUB                                
041871,001379: 
041872,001380:    7544           37754                           CAF      TWO                                   #  ADVANCE ADDRWD TO X2.
041873,001381:    7545           26106                           ADS      ADDRWD                                
041874,001382:    7546           00006                           EXTEND                                         
041875,001383:    7547           40152                           DCS      MPAC       +5                         #  PREPARE TO GET -X2M3, SAVING -X1M2 IN
041876,001384:    7550           52145                           DXCH     MPAC                                  #  MPAC +5.
041877,001385:    7551           52152                           DXCH     MPAC       +5                         
041878,001386:    7552           07152                           TC       DMPSUB                                
041879,001387: 
041880,001388: 
041881,001389:    7553           00006                           EXTEND                                         
041882,001390:    7554           30113                           DCA      VBUF                                  #  GET X2M1, SAVING -X2M3 IN VBUF +4.
041883,001391:    7555           52145                           DXCH     MPAC                                  
041884,001392:    7556           52117                           DXCH     VBUF       +4                         
041885,001393:    7557           07152                           TC       DMPSUB                                
041886,001394: 
041887,001395:    7560           37754                           CAF      TWO                                   #  ADVANCE ADDRWD TO X3.
041888,001396:    7561           26106                           ADS      ADDRWD                                
041889,001397:    7562           00006                           EXTEND                                         
041890,001398: 
041891,001399:    7563           40113                           DCS      VBUF                                  #  GET -X3M1, ADDING X2M1 TO MPAC +5 TO
041892,001400:    7564           52145                           DXCH     MPAC                                  #  COMPLETE THE Z COMPONENT OF THE ANSWER.
041893,001401:    7565           20152                           DAS      MPAC       +5                         
041894,001402: 
041895,001403:    7566           00006                           EXTEND                                         
041896,001404:    7567           17571                           BZF      +2                                    
041897,001405:    7570           07072                           TC       OVERFLOW                              

Page 933

041899,001407:    7571           07152                           TC       DMPSUB                                
041900,001408:    7572           52115                           DXCH     VBUF       +2                         #  MOVE X1M3 TO MPAC +3 SETTING UP FOR X3M2
041901,001409:    7573           52150                           DXCH     MPAC       +3                         #  AND ADD -X3M1 TO MPAC +3 TO COMPLETE THE
041902,001410:    7574           52145                           DXCH     MPAC                                  #  Y COMPONENT OF THE RESULT.
041903,001411:    7575           20150                           DAS      MPAC       +3                         
041904,001412: 
041905,001413:    7576           00006                           EXTEND                                         
041906,001414:    7577           17601                           BZF      +2                                    
041907,001415: 
041908,001416:    7600           07072                           TC       OVERFLOW                              
041909,001417: 
041910,001418:    7601           07152                           TC       DMPSUB                                
041911,001419:    7602           52117                           DXCH     VBUF       +4                         #  GO ADD -X2M3 TO X3M2 TO COMPLETE THE X
041912,001420:    7603           17037                           TCF      ENDVXV                                #  COMPONENT (TAIL END OF DAD).
041913,001421: 
041914,001422:                                                                                                  #           THE MPACVBUF SUBROUTINE SAVES THE VECTOR IN MPAC IN VBUF WITHOUT CLOBBERING MPAC.
041915,001423: 
041916,001424:    7604           00006        MPACVBUF           EXTEND                                         #  CALLED BY MXV, VXM, AND UNIT.
041917,001425:    7605           30145                           DCA      MPAC                                  
041918,001426: 
041919,001427:    7606           52113                           DXCH     VBUF                                  
041920,001428:    7607           00006                           EXTEND                                         
041921,001429:    7610           30150                           DCA      MPAC       +3                         
041922,001430:    7611           52115                           DXCH     VBUF       +2                         
041923,001431:    7612           00006                           EXTEND                                         
041924,001432:    7613           30152                           DCA      MPAC       +5                         
041925,001433:    7614           52117                           DXCH     VBUF       +4                         
041926,001434:    7615           00002                           TC       Q                                     #  RETURN TO CALLER.
041927,001435: 

Page 934

041929,001437:                                                                                                  #           INTERPRETIVE INSTRUCTIONS WHOSE EXECUTION CONSISTS OF PRINCIPALLY CALLING SUBROUTINES.
041930,001438: 
041931,001439:    7616           07152        DMP1               TC       DMPSUB                                #  DMP INSTRUCTION.
041932,001440:    7617           16115                           TCF      DANZIG                                
041933,001441: 
041934,001442:    7620           07152        DMPR               TC       DMPSUB                                
041935,001443:    7621           07202                           TC       ROUNDSUB   +1                         #  (C(A) = +0).
041936,001444:    7622           16115                           TCF      DANZIG                                
041937,001445: 
041938,001446:    7623           00006        DDV                EXTEND                                         
041939,001447:    7624           50106                           INDEX    ADDRWD                                #  MOVE DIVIDEND INTO BUF.
041940,001448:    7625           30001                           DCA      0                                     
041941,001449:    7626           17633                           TCF      BDDV       +4                         
041942,001450: 
041943,001451: 
041944,001452:    7627           00006        BDDV               EXTEND                                         #  MOVE DIVISOR INTO MPAC SAVING MPAC, THE
041945,001453:    7630           50106                           INDEX    ADDRWD                                #  DIVIDEND, IN BUF.
041946,001454:    7631           30001                           DCA      0                                     
041947,001455:    7632           52145                           DXCH     MPAC                                  
041948,001456:    7633           52121                 +4        DXCH     BUF                                   
041949,001457:    7634           37761                           CAF      ZERO                                  #  DIVIDE ROUTINES IN BANK 0.
041950,001458:    7635           54004                           TS       FBANK                                 
041951,001459:    7636           12352                           TCF      DDV/BDDV                              
041952,001460: 
041953,001461:    7637           30106        SETPD              CA       ADDRWD                                #  MUST SET TO WORK AREA, OR EBANK TROUBLE.
041954,001462: 
041955,001463:    7640           54156                           TS       PUSHLOC                               
041956,001464:    7641           16117                           TCF      NOIBNKSW                              #  NO FBANK SWITCH REQUIRED.
041957,001465: 
041958,001466:    7642           37761        TSLC               CAF      ZERO                                  #  SHIFTING ROUTINES LOCATED IN BANK 00.
041959,001467:    7643           54004                           TS       FBANK                                 
041960,001468:    7644           12172                           TCF      TSLC2                                 
041961,001469: 
041962,001470:    7645           36130        GSHIFT             CAF      LOW7                                  #  USED AS MASK AT GENSHIFT. THIS PROCESSES
041963,001471:    7646           54004                           TS       FBANK                                 #  ANY SHIFT INSTRUCTION (EXCEPT TSLC) WITH
041964,001472:    7647           12214                           TCF      GENSHIFT                              #  AN ADDRESS (ROUTINES IN BANK 0).
041965,001473: 

Page 935

041967,001475:                                                                                                  #           THE FOLLOWING IS THE PROLOGUE TO V/SC. IF THE PRESENT MODE IS VECTOR, IT SAVES THE SCALAR AT X IN BUF
041968,001476:                                                                                                  #  AND CALLS THE V/SC ROUTINE IN BANK 0. IF THE PRESENT MODE IS SCALAR, IT MOVES THE VECTOR AT X INTO MPAC, SAVING
041969,001477:                                                                                                  #  THE SCALAR IN MPAC IN BUF BEFORE CALLING THE V/SC ROUTINE IN BANK 0.
041970,001478: 
041971,001479: 
041972,001480: 
041973,001481:    7650           10153        V/SC               CCS      MODE                                  
041974,001482:    7651           17662                           TCF      DV/SC                                 #  MOVE VECTOR INTO MPAC.
041975,001483:    7652           17662                           TCF      DV/SC                                 
041976,001484: 
041977,001485:    7653           00006        VV/SC              EXTEND                                         
041978,001486:    7654           50106                           INDEX    ADDRWD                                
041979,001487:    7655           30001                           DCA      0                                     
041980,001488:    7656           52121        V/SC1              DXCH     BUF                                   #  IN BOTH CASES, VECTOR IS NOW IN MPAC AND
041981,001489:    7657           37761                           CAF      ZERO                                  #  SCALAR IN BUF.
041982,001490:    7660           54004                           TS       FBANK                                 
041983,001491:    7661           12616                           TCF      V/SC2                                 
041984,001492: 
041985,001493:    7662           00006        DV/SC              EXTEND                                         
041986,001494: 
041987,001495:    7663           50106                           INDEX    ADDRWD                                
041988,001496:    7664           30003                           DCA      2                                     
041989,001497:    7665           52150                           DXCH     MPAC       +3                         
041990,001498:    7666           00006                           EXTEND                                         
041991,001499:    7667           50106                           INDEX    ADDRWD                                
041992,001500:    7670           30005                           DCA      4                                     
041993,001501:    7671           52152                           DXCH     MPAC       +5                         
041994,001502: 
041995,001503:    7672           47755                           CS       ONE                                   #  CHANGE MODE TO VECTOR.
041996,001504:    7673           54153                           TS       MODE                                  
041997,001505: 
041998,001506:    7674           00006                           EXTEND                                         
041999,001507:    7675           50106                           INDEX    ADDRWD                                
042000,001508:    7676           30001                           DCA      0                                     
042001,001509:    7677           52145                           DXCH     MPAC                                  
042002,001510:    7700           17656                           TCF      V/SC1                                 #  FINISH PROLOGUE AT COMMON SECTION.
042003,001511: 

Page 936

042005,001513:                                                                                                  #           SIGN AND COMPLEMENT INSTRUCTIONS.
042006,001514: 
042007,001515: 
042008,001516:    7701           50106        SIGN               INDEX    ADDRWD                                #  CALL COMP INSTRUCTION IF WORD AT X IS
042009,001517:    7702           10000                           CCS      0                                     #  NEGATIVE NON-ZERO.
042010,001518:    7703           16115                           TCF      DANZIG                                
042011,001519:    7704           17706                           TCF      +2                                    
042012,001520:    7705           17714                           TCF      COMP                                  #  DO THE COMPLEMENT.
042013,001521: 
042014,001522:    7706           50106                           INDEX    ADDRWD                                
042015,001523:    7707           10001                           CCS      1                                     
042016,001524:    7710           16115                           TCF      DANZIG                                
042017,001525:    7711           16115                           TCF      DANZIG                                
042018,001526: 
042019,001527:    7712           17714                           TCF      COMP                                  
042020,001528:    7713           16115                           TCF      DANZIG                                
042021,001529:    7714           00006        COMP               EXTEND                                         #  COMPLEMENT DP MPAC IN EVERY CASE.
042022,001530:    7715           40145                           DCS      MPAC                                  
042023,001531:    7716           52145                           DXCH     MPAC                                  
042024,001532: 
042025,001533:    7717           10153                           CCS      MODE                                  #  EITHER COMPLEMENT MPAC +3 OR THE REST OF
042026,001534:    7720           17731                           TCF      DCOMP                                 #  THE VECTOR ACCUMULATOR.
042027,001535:    7721           17731                           TCF      DCOMP                                 
042028,001536: 
042029,001537:    7722           00006                           EXTEND                                         #  VECTOR COMPLEMENT.
042030,001538:    7723           40150                           DCS      MPAC       +3                         
042031,001539: 
042032,001540:    7724           52150                           DXCH     MPAC       +3                         
042033,001541:    7725           00006                           EXTEND                                         
042034,001542:    7726           40152                           DCS      MPAC       +5                         
042035,001543:    7727           52152                           DXCH     MPAC       +5                         
042036,001544:    7730           16115                           TCF      DANZIG                                
042037,001545: 
042038,001546:    7731           40146        DCOMP              CS       MPAC       +2                         
042039,001547:    7732           54146                           TS       MPAC       +2                         
042040,001548:    7733           16115                           TCF      DANZIG                                
042041,001549: 

Page 937

042043,001551:                                                                                                  #           CONSTANTS REQUIRED IN FIXED-FIXED.
042044,001552:    7734           37777        DPOSMAX            OCT      37777                                 
042045,001553:    7735           37777        POSMAX             OCT      37777                                 
042046,001554:    7736     7736               LIMITS             EQUALS   POSMAX     +1                         
042047,001555:    7736           57777        NEG1/2             OCT      -20000                                #  MUST BE TWO LOCATIONS AHEAD OF POS1/2.
042048,001556: 
042049,001557:    7737           40000        BIT15              OCT      40000                                 #  BIT TABLE FOLLOWS.
042050,001558: 
042051,001559:    7740           20000        BIT14              OCT      20000                                 
042052,001560:    7741           10000        BIT13              OCT      10000                                 
042053,001561:    7742           04000        BIT12              OCT      04000                                 
042054,001562:    7743           02000        BIT11              OCT      02000                                 
042055,001563:    7744           01000        BIT10              OCT      01000                                 
042056,001564:    7745           00400        BIT9               OCT      00400                                 
042057,001565:    7746           00200        BIT8               OCT      00200                                 
042058,001566:    7747           00100        BIT7               OCT      00100                                 
042059,001567:    7750           00040        BIT6               OCT      00040                                 
042060,001568:    7751           00020        BIT5               OCT      00020                                 
042061,001569: 
042062,001570:    7752           00010        BIT4               OCT      00010                                 
042063,001571:    7753           00004        BIT3               OCT      00004                                 
042064,001572:    7754           00002        BIT2               OCT      00002                                 
042065,001573:    7755           00001        BIT1               OCT      00001                                 
042066,001574: 
042067,001575:    7756     7737               NEGMAX             EQUALS   BIT15                                 
042068,001576:    7756     7740               HALF               EQUALS   BIT14                                 
042069,001577:    7756     7740               POS1/2             EQUALS   HALF                                  
042070,001578:    7756     7741               QUARTER            EQUALS   BIT13                                 
042071,001579:    7756     7743               2K                 EQUALS   BIT11                                 
042072,001580:    7756           00013        ELEVEN             DEC      11         B-14                       
042073,001581:    7757     7756               NOUTCON            =        ELEVEN                                
042074,001582: 
042075,001583:    7757     4557               TEN                =        BINCON                                
042076,001584:    7757     4517               NINE               =        R2D1                                  
042077,001585:    7757     7752               EIGHT              EQUALS   BIT4                                  
042078,001586:    7757           00007        SEVEN              OCT      7                                     
042079,001587:    7760     6276               SIX                EQUALS   REVCNT                                
042080,001588:    7760           00005        FIVE               OCT      5                                     
042081,001589:    7761     7753               FOUR               EQUALS   BIT3                                  
042082,001590:    7761     6301               THREE              EQUALS   OCTAL3                                
042083,001591:    7761     7754               TWO                EQUALS   BIT2                                  
042084,001592:    7761     7755               ONE                EQUALS   BIT1                                  
042085,001593: 
042086,001594:    7761           00000        ZERO               OCT      0                                     
042087,001595:    7762           77777        NEG0               OCT      77777                                 
042088,001596:    7763           77776        NEGONE             DEC      -1         B-14                       
042089,001597: 
042090,001598:    7764     7763               NEG1               =        NEGONE                                
042091,001599:    7764     7763               MINUS1             EQUALS   NEG1                                  
042092,001600: 
042093,001601:    5355                                           BLOCK    02                                    
042094,001602: 
042095,001603:    5355           77775        NEG2               OCT      77775                                 

Page 938

042097,001605:    5356           01777        LOW10              OCT      1777                                  
042098,001606: 
042099,001607:    5357           77774        NEG3               DEC      -3         B-14                       
042100,001608:    5360           00777        LOW9               OCT      777                                   
042101,001609:    5361           00017        LOW4               OCT      17                                    
042102,001610:    5362     7757               LOW3               EQUALS   SEVEN                                 
042103,001611:    5362     6301               LOW2               EQUALS   THREE                                 
042104,001612: 
042105,001613:    5362           00032        CALLCODE           OCT      00032                                 
042106,001614:    5363           40014        DLOADCOD           OCT      40014                                 
042107,001615:    5364     7737               VLOADCOD           EQUALS   BIT15                                 
042108,001616:    5364           40015        DLOAD*             OCT      40015                                 
042109,001617:    5365     6143               VLOAD*             EQUALS   OCT40001                              
042110,001618:    5365           00112        LVBUF              ADRES    VBUF                                  
042111,001619: 
042112,001620:    5366     5226               BIT13-14           =        PRIO30                                
042113,001621:                                                                                                  #  THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07 (WNACTV) FOR ACCESSING THE EVENTUALLY THREE AND ONE-HALF
042114,001622:                                                                                                  #  PRESENTLY ONE AND ONE-HALF SUPERBANKS.
042115,001623: 
042116,001624:    5366           00060        SUPER011           OCT      60                                    #  BITS FOR SUPERBNK SETTING 011
042117,001625:    5367     7747               SUPER100           EQUALS   BIT7                                  #  BITS FOR SUPERBNK SETTING 100
042118,001626:                                                                                                  #                                                                  (LAST 4K OF ROPE)
042119,001627:                                                                                                  #  SUPER101        OCT             120                             BITS FOR SUPERBNK SETTING 101
042120,001628:                                                                                                  #                                                                  (FIRST 8K OF ACM)
042121,001629:                                                                                                  #  SUPER110        OCT             140                             BITS FOR SUPERBNK SETTING 110
042122,001630: 
042123,001631:                                                                                                  #                                                                  (LAST 8K OF ACM)
042124,001632:    5367           74000        HIGH4              OCT      74000                                 
042125,001633:    5370           01400        OCT1400            OCT      01400                                 
042126,001634:    5371           00055        DEC45              DEC      45         B-14                       
042127,001635: 

Page 939

042129,001637:                                                                                                  #           THE FOLLOWING SHORT SHIFT CODES REQUIRE NO ADDRESS WORD:
042130,001638: 
042131,001639:                                                                                                  #           1.  SR1 TO SR4         SCALAR SHIFT RIGHT.
042132,001640:                                                                                                  #           2.  SR1R TO SR4R       SCALAR SHIFT RIGHT AND ROUND.
042133,001641:                                                                                                  #           3.  SL1 TO SL4         SCALAR SHIFT LEFT.
042134,001642:                                                                                                  #           4.  SL1R TO SL4R       SCALAR SHIFT LEFT AND ROUND.
042135,001643: 
042136,001644:                                                                                                  #           5.  VSR1 TO VSR8       VECTOR SHIFT RIGHT (ALWAYS ROUNDS).
042137,001645:                                                                                                  #           6.  VSL1 TO VSL8       VECTOR SHIFT LEFT (NEVER ROUNDS).
042138,001646: 
042139,001647:                                                                                                  #           THE FOLLOWING CODES REQUIRE AN ADDRESS WHICH MAY BE INDEXED:*
042140,001648: 
042141,001649:                                                                                                  #           1.  SR                 SCALAR SHIFT RIGHT.
042142,001650:                                                                                                  #           2.  SRR                SCALAR SHIFT RIGHT AND ROUND.
042143,001651:                                                                                                  #           3.  SL                 SCALAR SHIFT LEFT.
042144,001652:                                                                                                  #           4.  SLR                SCALAR SHIFT LEFT AND ROUND.
042145,001653: 
042146,001654:                                                                                                  #           5.  VSR                VECTOR SHIFT RIGHT.
042147,001655:                                                                                                  #           6.  VSL                VECTOR SHIFT LEFT.
042148,001656: 
042149,001657: 
042150,001658:                                                                                                  #  *  IF THE ADDRESS IS INDEXED, AND THE INDEX MODIFICATION RESULTS IN A NEGATIVE SHIFT COUNT, A SHIFT OF THE
042151,001659:                                                                                                  #  ABSOLUTE VALUE OF THE COUNT IS DONE IN THE OPPOSITE DIRECTION.
042152,001660: 
042153,001661: 
042154,001662: 
042155,001663: 00,2017                                           BANK     00                                    
042156,001664: 
042157,001665: 00,2017           36276        SHORTT             CAF      SIX                                   #  SCALAR SHORT SHIFTS COME HERE. THE SHIFT
042158,001666: 00,2020           70020                           MASK     CYR                                   #  COUNT-1 IS NOW IN BITS 2-3 OF CYR. THE
042159,001667: 
042160,001668: 00,2021           54021                           TS       SR                                    #  ROUNDING BIT IS IN BIT1 AT THIS POINT.
042161,001669: 
042162,001670: 00,2022           10020                           CCS      CYR                                   #  SEE IF RIGHT OR LEFT SHIFT DESIRED.
042163,001671: 00,2023           12101                           TCF      TSSL                                  #  SHIFT LEFT.
042164,001672: 
042165,001673: 00,2024           00024        SRDDV              DEC      20         B-14                       #  MPTEMP SETTING FOR SR BEFORE DDV.
042166,001674: 
042167,001675: 00,2025           50021        TSSR               INDEX    SR                                    #  GET SHIFTING BIT.
042168,001676: 00,2026           37740                           CAF      BIT14                                 
042169,001677: 00,2027           54125                           TS       MPTEMP                                
042170,001678: 
042171,001679: 00,2030           10020                           CCS      CYR                                   #  SEE IF A ROUND IS DESIRED.
042172,001680: 
042173,001681: 00,2031           02050        RIGHTR             TC       MPACSRND                              #  YES - SHIFT RIGHT AND ROUND.
042174,001682: 00,2032           16114                           TCF      NEWMODE                               #  SET MODE TO DP (C(A) = 0).
042175,001683: 00,2033           30125        MPACSHR            CA       MPTEMP                                #  DO A TRIPLE PRECISION SHIFT RIGHT.
042176,001684: 00,2034           00006                           EXTEND                                         
042177,001685: 00,2035           70146                           MP       MPAC       +2                         
042178,001686: 00,2036           54146                 +3        TS       MPAC       +2                         #  (EXIT FROM SQRT AND ABVAL).
042179,001687: 00,2037           30125                           CA       MPTEMP                                
042180,001688: 00,2040           00006                           EXTEND                                         
042181,001689: 00,2041           70144                           MP       MPAC                                  #  SHIFT MAJOR PART INTO A,L AND PLACE IN

Page 940

042183,001691: 00,2042           52145                           DXCH     MPAC                                  #  MPAC,+1.
042184,001692: 00,2043           30125                           CA       MPTEMP                                
042185,001693: 
042186,001694: 00,2044           00006                           EXTEND                                         
042187,001695: 00,2045           70001                           MP       L                                     #  ORIGINAL C(MPAC +1).
042188,001696: 00,2046           20146                           DAS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
042189,001697: 00,2047           16115                           TCF      DANZIG                                
042190,001698: 
042191,001699:                                                                                                  #           MPAC SHIFT RIGHT AND ROUND SUBROUTINES.
042192,001700: 
042193,001701: 00,2050           30146        MPACSRND           CA       MPAC       +2                         #  WE HAVE TO DO ALL THREE MULTIPLIES SINCE
042194,001702: 00,2051           00006                           EXTEND                                         #  MPAC +1 AND MPAC +2 MIGHT HAVE SIGN
042195,001703: 00,2052           70125                           MP       MPTEMP                                #  DISAGREEMENT WITH A SHIFT RIGHT OF 1.
042196,001704: 
042197,001705: 00,2053           56145                           XCH      MPAC       +1                         
042198,001706: 00,2054           00006                           EXTEND                                         
042199,001707: 00,2055           70125                           MP       MPTEMP                                
042200,001708: 00,2056           56145                           XCH      MPAC       +1                         #  TRIAL MINOR PART.
042201,001709: 00,2057           60001                           AD       L                                     
042202,001710: 
042203,001711: 00,2060           60000        VSHR2              DOUBLE                                         #  (FINISH VECTOR COMPONENT SHIFT RIGHT
042204,001712: 00,2061           54146                           TS       MPAC       +2                         #  AND ROUND.
042205,001713: 00,2062           12064                           TCF      +2                                    
042206,001714: 00,2063           26145                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
042207,001715: 
042208,001716: 00,2064           37761                           CAF      ZERO                                  
042209,001717: 
042210,001718: 00,2065           54146                           TS       MPAC       +2                         
042211,001719: 00,2066           56144                           XCH      MPAC                                  #  SETTING TO ZERO SO FOLLOWING DAS WORKS.
042212,001720: 00,2067           00006                           EXTEND                                         
042213,001721: 00,2070           70125                           MP       MPTEMP                                
042214,001722: 00,2071           20145                           DAS      MPAC                                  #  AGAIN NO OVERFLOW.
042215,001723: 00,2072           00002                           TC       Q                                     
042216,001724: 
042217,001725: 00,2073           30125        VSHRRND            CA       MPTEMP                                #  ENTRY TO SHIFT RIGHT AND ROUND MPAC WHEN
042218,001726: 00,2074           00006                           EXTEND                                         #  MPAC CONTAINS A VECTOR COMPONENT.
042219,001727: 00,2075           70145                           MP       MPAC       +1                         
042220,001728: 
042221,001729: 00,2076           54145                           TS       MPAC       +1                         
042222,001730: 00,2077           56001                           XCH      L                                     
042223,001731: 00,2100           12060                           TCF      VSHR2                                 #  GO ADD ONE IF NECESSARY AND FINISH.
042224,001732: 

Page 941

042226,001734:                                                                                                  #           ROUTINE FOR SHORT SCALAR SHIFT LEFT (AND MAYBE ROUND).
042227,001735: 
042228,001736: 00,2101           30021        TSSL               CA       SR                                    #  GET SHIFT COUNT FOR SR.
042229,001737: 00,2102           54125                 +1        TS       MPTEMP                                
042230,001738: 
042231,001739: 00,2103           00006                 +2        EXTEND                                         #  ENTRY HERE FROM SL FOR SCALARS.
042232,001740: 00,2104           30146                           DCA      MPAC       +1                         #  SHIFTING LEFT ONE PLACE AT A TIME IS
042233,001741: 00,2105           20146                           DAS      MPAC       +1                         #  FASTER THAN DOING THE WHOLE SHIFT WITH
042234,001742: 
042235,001743: 00,2106           60144                           AD       MPAC                                  #  MULTIPLIES ASSUMING THAT FREQUENCY OF
042236,001744: 00,2107           60144                           AD       MPAC                                  #  SHIFT COUNTS GOES DOWN RAPIDLY AS A
042237,001745: 00,2110           54144                           TS       MPAC                                  #  FUNCTION OF THEIR MAGNITUDE.
042238,001746: 00,2111           12113                           TCF      +2                                    
042239,001747: 00,2112           54111                           TS       OVFIND                                #  OVERFLOW. (LEAVES OVERFLOW-CORRECTED
042240,001748:                                                                                                  #  RESULT ANYWAY).
042241,001749: 00,2113           10125                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNT.
042242,001750: 00,2114           12102                           TCF      TSSL       +1                         
042243,001751: 
042244,001752: 00,2115           10020                           CCS      CYR                                   #  SEE IF ROUND WANTED.
042245,001753: 
042246,001754: 00,2116           07201        ROUND              TC       ROUNDSUB                              #  YES - ROUND AND EXIT.
042247,001755: 00,2117           16115                           TCF      DANZIG                                #  SL LEAVES A ZERO IN CYR FOR NO ROUND.
042248,001756: 00,2120           16115                           TCF      DANZIG                                #  NO - EXIT IMMEDIATL
042249,001757: 

Page 942

042251,001759:                                                                                                  #  VECTOR SHIFTING ROUTINES.
042252,001760: 
042253,001761: 00,2121           37757        SHORTV             CAF      LOW3                                  #  SAVE 3 BIT SHIFT COUNT - 1 WITHOUT
042254,001762: 00,2122           70020                           MASK     CYR                                   #  EDITING CYR.
042255,001763: 00,2123           54125                           TS       MPTEMP                                
042256,001764: 00,2124           10020                           CCS      CYR                                   #  SEE IF LEFT OR RIGHT SHIFT.
042257,001765: 00,2125           12145                           TCF      VSSL                                  #  VECTOR SHIFT LEFT.
042258,001766: 00,2126           00176        OCT176             OCT      176                                   #  USED IN PROCESSED SHIFTS WITH - COUNT.
042259,001767: 
042260,001768: 00,2127           50125        VSSR               INDEX    MPTEMP                                #  (ENTRY FROM SR). PICK UP SHIFTING BIT.
042261,001769: 00,2130           37740                           CAF      BIT14                                 #  MPTEMP CONTAINS THE SHIFT COUNT - 1.
042262,001770: 00,2131           54125                           TS       MPTEMP                                
042263,001771: 00,2132           02073                           TC       VSHRRND                               #  SHIFT X COMPONENT.
042264,001772: 
042265,001773: 
042266,001774: 00,2133           52145                           DXCH     MPAC                                  #  SWAP X AND Y COMPONENTS.
042267,001775: 00,2134           52150                           DXCH     MPAC       +3                         
042268,001776: 00,2135           52145                           DXCH     MPAC                                  
042269,001777: 00,2136           02073                           TC       VSHRRND                               #  SHIFT Y COMPONENT.
042270,001778: 
042271,001779: 00,2137           52145                           DXCH     MPAC                                  #  SWAP Y AND Z COMPONENTS.
042272,001780: 00,2140           52152                           DXCH     MPAC       +5                         
042273,001781: 00,2141           52145                           DXCH     MPAC                                  
042274,001782: 00,2142           02073                           TC       VSHRRND                               #  SHIFT Z COMPONENT.
042275,001783: 
042276,001784: 00,2143           17471                           TCF      VROTATEX                              #  RESTORE COMPONENTS TO PROPER PLACES.
042277,001785: 

Page 943

042279,001787:                                                                                                  #  VECTOR SHIFT LEFT - DONE ONE PLACE AT A TIME.
042280,001788: 
042281,001789: 00,2144           54125                 -1        TS       MPTEMP                                #  SHIFTING LOOP.
042282,001790: 
042283,001791: 00,2145           00006        VSSL               EXTEND                                         
042284,001792: 00,2146           30145                           DCA      MPAC                                  
042285,001793: 
042286,001794: 00,2147           20145                           DAS      MPAC                                  
042287,001795: 00,2150           00006                           EXTEND                                         
042288,001796: 00,2151           12153                           BZF      +2                                    
042289,001797: 00,2152           07072                           TC       OVERFLOW                              
042290,001798: 
042291,001799: 00,2153           00006                           EXTEND                                         
042292,001800: 00,2154           30150                           DCA      MPAC       +3                         
042293,001801: 00,2155           20150                           DAS      MPAC       +3                         
042294,001802: 00,2156           00006                           EXTEND                                         
042295,001803: 00,2157           12161                           BZF      +2                                    
042296,001804: 00,2160           07072                           TC       OVERFLOW                              
042297,001805: 
042298,001806: 
042299,001807: 00,2161           00006                           EXTEND                                         
042300,001808: 00,2162           30152                           DCA      MPAC       +5                         
042301,001809: 00,2163           20152                           DAS      MPAC       +5                         
042302,001810: 00,2164           00006                           EXTEND                                         
042303,001811: 00,2165           12167                           BZF      +2                                    
042304,001812: 00,2166           07072                           TC       OVERFLOW                              
042305,001813: 
042306,001814: 00,2167           10125                           CCS      MPTEMP                                #  LOOP ON DECREMENTED SHIFT COUNTER.
042307,001815: 00,2170           12144                           TCF      VSSL       -1                         
042308,001816: 00,2171           16115                           TCF      DANZIG                                #  EXIT.
042309,001817: 

Page 944

042311,001819:                                                                                                  #           TSLC - TRIPLE SHIFT LEFT AND COUNT. SHIFTS MPAC LEFT UNTIL GREATER THAN .5 IN MAGNITUDE, LEAVING
042312,001820:                                                                                                  #  THE COMPLEMENT OF THE NUMBER OF SHIFTS REQUIRED IN X.
042313,001821: 
042314,001822: 
042315,001823: 00,2172           54125        TSLC2              TS       MPTEMP                                #  START BY ZEROING SHIFT COUNT (IN A NOW).
042316,001824: 00,2173           06772                           TC       BRANCH                                #  EXIT WITH NO SHIFTING IF ARGUMENT ZERO.
042317,001825: 00,2174           12176                           TCF      +2                                    
042318,001826: 00,2175           12212                           TCF      ENDTSLC                               #  STORES ZERO SHIFT COUNT IN THIS CASE.
042319,001827: 
042320,001828: 00,2176           07320                           TC       TPAGREE                               #  MAY CAUSE UPSHIFT OF ONE EXTRA PLACE.
042321,001829: 
042322,001830: 00,2177           30144                           CA       MPAC                                  #  BEGIN NORMALIZATION LOOP.
042323,001831: 00,2200           12207                           TCF      TSLCTEST                              
042324,001832: 
042325,001833: 00,2201           24125        TSLCLOOP           INCR     MPTEMP                                #  INCREMENT SHIFT COUNTER.
042326,001834: 00,2202           00006                           EXTEND                                         
042327,001835: 00,2203           30146                           DCA      MPAC       +1                         
042328,001836: 00,2204           20146                           DAS      MPAC       +1                         
042329,001837: 00,2205           60144                           AD       MPAC                                  
042330,001838: 00,2206           26144                           ADS      MPAC                                  
042331,001839: 00,2207           60000        TSLCTEST           DOUBLE                                         #  SEE IF (ANOTHER) SHIFT IS REQUIRED.
042332,001840: 00,2210           54000                           OVSK                                           
042333,001841: 00,2211           12201                           TCF      TSLCLOOP                              #  YES - INCREMENT COUNT AND SHIFT AGAIN.
042334,001842: 
042335,001843: 00,2212           40125        ENDTSLC            CS       MPTEMP                                
042336,001844: 00,2213           16672                           TCF      STORE1                                #  STORE SHIFT COUNT AND RETURN TO DANZIG.
042337,001845: 

Page 945

042339,001847:                                                                                                  #           THE FOLLOWING ROUTINES PROCESSES THE GENERAL SHIFT INSTRUCTIONS SR, SRR, SL, AND SLR.
042340,001848:                                                                                                  #  THE GIVEN ADDRESS IS DECODED AS FOLLOWS:
042341,001849: 
042342,001850:                                                                                                  #           BITS 1-7    SHIFT COUNT (SUBADDRESS) LESS THAN 125 DECIMAL.
042343,001851:                                                                                                  #           BIT 8       PSEUDO SIGN BIT (DETECTS CHANGE IN SIGN IN INDEXED SHIFTS).
042344,001852:                                                                                                  #           BIT 9       0 FOR LEFT SHIFT, AND 1 FOR RIGHT SHIFT.
042345,001853:                                                                                                  #           BIT 10      1 FOR TERMINAL ROUND ON SCALAR SHIFTS, 0 OTHERWISE.
042346,001854:                                                                                                  #           BITS 11-13  0.
042347,001855: 
042348,001856:                                                                                                  #           BIT 14      1.
042349,001857:                                                                                                  #           BIT 15      0.
042350,001858: 
042351,001859:                                                                                                  #  THE ABOVE ENCODING IS DONE BY THE YUL SYSTEM.
042352,001860: 
042353,001861: 
042354,001862: 
042355,001863: 00,2214           70106        GENSHIFT           MASK     ADDRWD                                #  GET SHIFT COUNT, TESTING FOR ZERO.
042356,001864: 00,2215           10000                           CCS      A                                     #  (ARRIVES WITH C(A) = LOW7).
042357,001865: 00,2216           12224                           TCF      GENSHFT2                              #  IF NON-ZERO, PROCEED WITH DECREMENTED CT
042358,001866: 
042359,001867: 00,2217           37744                           CAF      BIT10                                 #  ZERO SHIFT COUNT. NO SHIFTS NEEDED BUT
042360,001868: 00,2220           70106                           MASK     ADDRWD                                #  WE MIGHT HAVE TO ROUND MPAC ON SLR AND
042361,001869: 00,2221           10000                           CCS      A                                     #  SRR (SCALAR ONLY).
042362,001870: 00,2222           07201                           TC       ROUNDSUB                              
042363,001871: 00,2223           16115                           TCF      DANZIG                                
042364,001872: 
042365,001873: 00,2224           54125        GENSHFT2           TS       MPTEMP                                #  DECREMENTED SHIFT COUNT TO MPTEMP.
042366,001874: 00,2225           37746                           CAF      BIT8                                  #  TEST MEANING OF LOW SEVEN BIT COUNT IN
042367,001875: 00,2226           00006                           EXTEND                                         #  MPTEMP NOW.
042368,001876: 00,2227           70106                           MP       ADDRWD                                
042369,001877: 00,2230           76301                           MASK     LOW2                                  #  JUMPS ON SHIFT DIRECTION (BIT8) AND
042370,001878: 00,2231           50000                           INDEX    A                                     
042371,001879: 
042372,001880: 00,2232           12233                           TCF      +1                                    #  ORIGINAL SHIFT DIRECTION (BIT 9).
042373,001881: 00,2233           12332                           TCF      RIGHT-                                #  NEGATIVE SHIFT COUNT FOR SL OR SLR.
042374,001882: 00,2234           12341                           TCF      LEFT                                  #  SL OR SLR.
042375,001883: 00,2235           12336                           TCF      LEFT-                                 #  NEGATIVE SHIFT COUNT WITH SR OR SRR.
042376,001884: 

Page 946

042378,001886:                                                                                                  #           GENERAL SHIFT RIGHT.
042379,001887: 
042380,001888: 00,2236           10153        RIGHT              CCS      MODE                                  #  SEE IF VECTOR OR SCALAR.
042381,001889: 00,2237           12277                           TCF      GENSCR                                
042382,001890: 00,2240           12277                           TCF      GENSCR                                
042383,001891: 
042384,001892: 00,2241           30125                           CA       MPTEMP                                #  SEE IF SHIFT COUNT LESS THAN 14D.
042385,001893: 00,2242           63676        VRIGHT2            AD       NEG12                                 
042386,001894: 00,2243           00006                           EXTEND                                         
042387,001895: 00,2244           62127                           BZMF     VSSR                                  #  IF SO, BRANCH AND SHIFT IMMEDIATELY.
042388,001896: 
042389,001897: 00,2245           67763                           AD       NEGONE                                #  IF NOT, REDUCE MPTEMP BY A TOTAL OF 14,
042390,001898: 00,2246           54125                           TS       MPTEMP                                #  AND DO A SHIFT RIGHT AND ROUND BY 14.
042391,001899: 00,2247           37761                           CAF      ZERO                                  #  THE ROUND AT THIS STAGE MAY INTRODUCE A
042392,001900: 
042393,001901: 00,2250           54001                           TS       L                                     #  ONE BIT ERROR IN A SHIFT RIGHT 15D.
042394,001902: 00,2251           56144                           XCH      MPAC                                  
042395,001903: 00,2252           56145                           XCH      MPAC       +1                         
042396,001904: 00,2253           02272                           TC       SETROUND                              #  X COMPONENT NOW SHIFTED, SO MAKE UP THE
042397,001905: 00,2254           20145                           DAS      MPAC                                  #  ROUNDING QUANTITY (0 IN A AND 0 OR +-1
042398,001906:                                                                                                  #  IN L).
042399,001907: 00,2255           56147                           XCH      MPAC       +3                         #  REPEAT THE ABOVE PROCESS FOR Y AND Z.
042400,001908: 00,2256           56150                           XCH      MPAC       +4                         
042401,001909: 00,2257           02272                           TC       SETROUND                              
042402,001910: 00,2260           20150                           DAS      MPAC       +3                         #  NO OVERFLOW ON THESE ADDS.
042403,001911: 
042404,001912: 
042405,001913: 00,2261           56151                           XCH      MPAC       +5                         
042406,001914: 00,2262           56152                           XCH      MPAC       +6                         
042407,001915: 00,2263           02272                           TC       SETROUND                              
042408,001916: 00,2264           20152                           DAS      MPAC       +5                         
042409,001917: 
042410,001918: 00,2265           10125                           CCS      MPTEMP                                #  SEE IF DONE, DOING FINAL DECREMENT.
042411,001919: 00,2266           54125                           TS       MPTEMP                                
042412,001920: 00,2267           12242                           TCF      VRIGHT2                               
042413,001921: 00,2270           04604        BIASLO             DEC      .2974      B-1                        #  SQRT CONSTANT
042414,001922: 
042415,001923: 00,2271           16115                           TCF      DANZIG                                
042416,001924: 
042417,001925: 
042418,001926: 
042419,001927: 00,2272           60000        SETROUND           DOUBLE                                         #  MAKES UP ROUNDING QUANTITY FROM ARRIVING
042420,001928: 00,2273           54146                           TS       MPAC       +2                         #  C(A). L IS ZERO INITIALLY.
042421,001929: 00,2274           37761                           CAF      ZERO                                  
042422,001930: 00,2275           56001                           XCH      L                                     
042423,001931: 00,2276           00002                           TC       Q                                     #  RETURN AND DO THE DAS, RESETTING L TO 0.
042424,001932: 

Page 947

042426,001934:                                                                                                  #           PROCESS SR AND SRR FOR SCALARS.
042427,001935: 
042428,001936: 00,2277           30125        GENSCR             CA       MPTEMP                                #  SEE IF THE ORIGINAL SHIFT COUNT WAS LESS
042429,001937: 00,2300           63676                 +1        AD       NEG12                                 #  THAN 14D.
042430,001938: 00,2301           00006                           EXTEND                                         
042431,001939: 00,2302           62322                           BZMF     DOSSHFT                               #  DO THE SHIFT IMMEDIATELY IF SO.
042432,001940: 
042433,001941: 00,2303           67763                 +4        AD       NEGONE                                #  IF NOT, DECREMENT SHIFT COUNT BY 14D AND
042434,001942: 00,2304           54125                           TS       MPTEMP                                #  SHIFT MPAC RIGHT 14 PLACES.
042435,001943: 00,2305           37761                           CAF      ZERO                                  
042436,001944: 00,2306           56144                           XCH      MPAC                                  
042437,001945: 00,2307           56145                           XCH      MPAC       +1                         
042438,001946: 00,2310           54146                           TS       MPAC       +2                         
042439,001947: 00,2311           10125                           CCS      MPTEMP                                #  SEE IF FINISHED, DO FINAL DECREMENT.
042440,001948: 00,2312           54125                           TS       MPTEMP                                
042441,001949: 00,2313           02300                           TC       GENSCR     +1                         
042442,001950: 00,2314           22650        SLOPEHI            DEC      .5884                                 #  SQRT CONSTANT.
042443,001951: 00,2315           37744                           CAF      BIT10                                 #  FINISHED WITH SHIFT. SEE IF ROUND
042444,001952: 00,2316           70106                           MASK     ADDRWD                                #  WANTED.
042445,001953: 
042446,001954: 00,2317           10000                           CCS      A                                     
042447,001955: 00,2320           07201                           TC       ROUNDSUB                              
042448,001956: 00,2321           16115                           TCF      DANZIG                                #  DO SO AND/OR EXIT.
042449,001957: 
042450,001958: 00,2322           50125        DOSSHFT            INDEX    MPTEMP                                #  PICK UP SHIFTING BIT.
042451,001959: 00,2323           37740                           CAF      BIT14                                 
042452,001960: 00,2324           54125                           TS       MPTEMP                                
042453,001961: 00,2325           37744                           CAF      BIT10                                 #  SEE IF TERMINAL ROUND DESIRED.
042454,001962: 00,2326           70106                           MASK     ADDRWD                                
042455,001963: 00,2327           10000                           CCS      A                                     
042456,001964: 
042457,001965: 00,2330           12031                           TCF      RIGHTR                                #  YES.
042458,001966: 00,2331           12033                           TCF      MPACSHR                               #  JUST SHIFT RIGHT.
042459,001967: 

Page 948

042461,001969:                                                                                                  #           PROCESS THE RIGHT- (SL(R) WITH A NEGATIVE COUNT), LEFT-, AND LEFT OPTIONS.
042462,001970: 
042463,001971: 
042464,001972: 00,2332           40125        RIGHT-             CS       MPTEMP                                #  GET ABSOLUTE VALUE - 1 OF SHIFT COUNT
042465,001973: 00,2333           62126                           AD       OCT176                                #  UNDERSTANDING THAT BIT8 (PSEUDO-SIGN)
042466,001974: 00,2334           54125                           TS       MPTEMP                                #  WAS 1 INITIALLY.
042467,001975: 00,2335           12236                           TCF      RIGHT                                 #  DO NORMAL SHIFT RIGHT.
042468,001976: 
042469,001977: 00,2336           40125        LEFT-              CS       MPTEMP                                #  SAME PROLOGUE TO LEFT FOR INDEXED RIGHT
042470,001978: 00,2337           62126                           AD       OCT176                                #  SHIFTS WHOSE NET SHIFT COUNT IS NEGATIVE
042471,001979: 00,2340           54125                           TS       MPTEMP                                
042472,001980: 
042473,001981: 00,2341           10153        LEFT               CCS      MODE                                  #  SINCE LEFT SHIFTING IS SONE ONE PLACE AT
042474,001982: 
042475,001983: 00,2342           12345                           TCF      GENSCL                                #  A TIME, NO COMPARISON WITH 14 NEED BE
042476,001984: 00,2343           12345                           TCF      GENSCL                                #  DONE. FOR SCALARS, SEE IF TERMINAL ROUND
042477,001985: 00,2344           12145                           TCF      VSSL                                  #  DESIRED. FOR VECTORS, SHIFT IMMEDIATELY.
042478,001986: 
042479,001987: 00,2345           37750        GENSCL             CAF      BIT6                                  #  PUT ROUNDING BIT (BIT10 OF ADDRWD) INTO
042480,001988: 00,2346           00006                           EXTEND                                         #  BIT 15 OF CYR WHERE THE ROUNDING BIT OF
042481,001989: 00,2347           70106                           MP       ADDRWD                                #  A SHORT SHIFT LEFT WOULD BE.
042482,001990: 00,2350           54020                           TS       CYR                                   
042483,001991: 00,2351           12103                           TCF      TSSL       +2                         #  DO THE SHIFT.
042484,001992: 

Page 949

042486,001994:                                                                                                  #           SCALAR DIVISION INSTRUCTIONS, DDV AND BDDV, ARE EXECUTED HERE. AT THIS POINT, THE DIVIDEND IS IN MPAC
042487,001995:                                                                                                  #  AND THE DIVISOR IN BUF.
042488,001996: 
042489,001997: 00,2352           47755        DDV/BDDV           CS       ONE                                   #  INITIALIZATION.
042490,001998: 00,2353           54126                           TS       DVSIGN                                #  +-1 FOR POSITIVE QUOTIENT - -0 FOR NEG.
042491,001999: 00,2354           54127                           TS       DVNORMCT                              #  DIVIDEND NORMALIZATION COUNT.
042492,002000: 00,2355           54130                           TS       MAXDVSW                               #  NEAR-ONE DIVIDE FLAG.
042493,002001: 
042494,002002: 
042495,002003: 00,2356           10120                           CCS      BUF                                   #  FORCE BUF POSITIVE WITH THE MAJOR PART
042496,002004: 00,2357           12406                           TCF      BUF+                                  #  NON-ZERO.
042497,002005: 00,2360           12362                           TCF      +2                                    
042498,002006: 00,2361           12402                           TCF      BUF-                                  
042499,002007: 
042500,002008: 00,2362           56121                           XCH      BUF        +1                         #  SHIFT DIVIDEND AND DIVISOR LEFT 14.
042501,002009: 00,2363           56120                           XCH      BUF                                   
042502,002010: 00,2364           56145                           XCH      MPAC       +1                         
042503,002011: 00,2365           56144                           XCH      MPAC                                  
042504,002012: 00,2366           00006                           EXTEND                                         #  CHECK FOR OVERFLOW.
042505,002013: 
042506,002014: 00,2367           12371                           BZF      +2                                    
042507,002015: 00,2370           12375                           TCF      DVOVF                                 
042508,002016: 
042509,002017: 00,2371           10120                           CCS      BUF                                   #  TRY AGAIN ON FORMER MINOR PART.
042510,002018: 00,2372           12406                           TCF      BUF+                                  
042511,002019: 00,2373           12375                           TCF      DVOVF                                 #  OVERFLOW ON ZERO DIVISOR.
042512,002020: 00,2374           12402                           TCF      BUF-                                  
042513,002021: 
042514,002022: 00,2375           37735        DVOVF              CAF      POSMAX                                #  ON DIVISION OVERFLOW OF ANY SORT, SET
042515,002023: 00,2376           54144                           TS       MPAC                                  #  SET DP MPAC TO +-POSMAX.
042516,002024: 00,2377           02572                           TC       FINALDV    +3                         
042517,002025: 00,2400           37755                           CAF      ONE                                   #  SET OVERFLOW INDICATOR AND EXIT.
042518,002026: 
042519,002027: 00,2401           17144                           TCF      SETOVF                                
042520,002028: 
042521,002029: 00,2402           00006        BUF-               EXTEND                                         #  IF BUF IS NEGATIVE, COMPLEMENT IT AND
042522,002030: 00,2403           40121                           DCS      BUF                                   #  MAINTAIN DVSIGN FOR FINAL QUOTIENT SIGN.
042523,002031: 00,2404           52121                           DXCH     BUF                                   
042524,002032: 00,2405           24126                           INCR     DVSIGN                                #  NOW -0.
042525,002033: 
042526,002034: 00,2406           10144        BUF+               CCS      MPAC                                  #  FORCE MPAC POSITIVE, CHECKING FOR ZERO
042527,002035: 00,2407           12423                           TCF      MPAC+                                 #  DIVIDEND IN THE PROCESS.
042528,002036: 00,2410           12412                           TCF      +2                                    
042529,002037: 
042530,002038: 00,2411           12417                           TCF      MPAC-                                 
042531,002039: 00,2412           10145                           CCS      MPAC       +1                         
042532,002040: 00,2413           12423                           TCF      MPAC+                                 
042533,002041: 00,2414           16115                           TCF      DANZIG                                #  EXIT IMMEDIATELY ON ZERO DIVIDEND.
042534,002042: 00,2415           12417                           TCF      MPAC-                                 
042535,002043: 00,2416           16115                           TCF      DANZIG                                
042536,002044: 
042537,002045: 00,2417           00006        MPAC-              EXTEND                                         #  FORCE MPAC POSITIVE AS BUF IN BUF-.
042538,002046: 00,2420           40145                           DCS      MPAC                                  
042539,002047: 00,2421           52145                           DXCH     MPAC                                  

Page 950

042541,002049: 00,2422           24126                           INCR     DVSIGN                                #  NOW +1 OR -0.
042542,002050: 

Page 951

042544,002052: 00,2423           40144        MPAC+              CS       MPAC                                  #  CHECK FOR DIVISION OVERFLOW. IF THE
042545,002053: 00,2424           67763                           AD       NEGONE                                #  MAJOR PART OF THE DIVIDEND IS LESS THAN
042546,002054: 00,2425           60120                           AD       BUF                                   #  THE MAJOR PART OF THE DIVISOR BY AT
042547,002055: 00,2426           10000                           CCS      A                                     #  LEAST TWO, WE CAN PROCEED IMMEDIATELY
042548,002056: 00,2427           12471                           TCF      DVNORM                                #  WITHOUT NORMALIZATION PRODUCING A DVMAX.
042549,002057: 00,2430           60001        -1/2+2             OCT      60001                                 #  USED IN SQRTSUB.
042550,002058: 
042551,002059: 00,2431           12432                           TCF      +1                                    #  IF THE ABOVE DOES NOT HOLD, FORCE SIGN
042552,002060: 00,2432           37740                           CAF      HALF                                  #  AGREEMENT IN NUMERATOR AND DENOMINATOR
042553,002061: 00,2433           60000                           DOUBLE                                         #  TO FACILITATE OVERFLOW AND NEAR-ONE
042554,002062: 00,2434           60145                           AD       MPAC       +1                         #  CHECKING.
042555,002063: 00,2435           54145                           TS       MPAC       +1                         
042556,002064: 00,2436           37761                           CAF      ZERO                                  
042557,002065: 00,2437           67735                           AD       POSMAX                                
042558,002066: 00,2440           26144                           ADS      MPAC                                  
042559,002067: 
042560,002068: 00,2441           37740                           CAF      HALF                                  #  SAME FOR BUF.
042561,002069: 00,2442           60000                           DOUBLE                                         
042562,002070: 00,2443           60121                           AD       BUF        +1                         
042563,002071: 
042564,002072: 00,2444           54121                           TS       BUF        +1                         
042565,002073: 00,2445           37761                           CAF      ZERO                                  
042566,002074: 00,2446           67735                           AD       POSMAX                                
042567,002075: 00,2447           26120                           ADS      BUF                                   
042568,002076: 
042569,002077: 00,2450           40144                           CS       MPAC                                  #  CHECK MAGNITUDE OF SIGN-CORRECTED
042570,002078: 00,2451           60120                           AD       BUF                                   #  OPERANDS.
042571,002079: 00,2452           10000                           CCS      A                                     
042572,002080: 00,2453           12471                           TCF      DVNORM                                #  DIVIDE OK - WILL NOT BECOME MAXDV CASE.
042573,002081: 00,2454           00123        LBUF2              ADRES    BUF2                                  
042574,002082: 
042575,002083: 00,2455           12375                           TCF      DVOVF                                 #  DIVISOR NOT LESS THAN DIVIDEND - OVF.
042576,002084: 
042577,002085: 00,2456           54130                           TS       MAXDVSW                               #  IF THE MAJOR PARTS OF THE DIVIDEND AND
042578,002086: 00,2457           40145                           CS       MPAC       +1                         #  DIVISOR ARE EQUAL, A SPECIAL APPROXIMA-
042579,002087: 00,2460           60121                           AD       BUF        +1                         #  TION IS USED (PROVIDED THE DIVISION IS
042580,002088: 00,2461           00006                           EXTEND                                         #  POSSIBLE, OF COURSE).
042581,002089: 00,2462           62375                           BZMF     DVOVF                                 
042582,002090: 00,2463           12471                           TCF      DVNORM                                #  IF NO OVERFLOW.
042583,002091: 

Page 952

042585,002093: 00,2464           00006        BUFNORM            EXTEND                                         #  ADD -1 TO AUGMENT SHIFT COUNT AND SHIFT
042586,002094: 00,2465           24127                           AUG      DVNORMCT                              #  LEFT ONE PLACE.
042587,002095: 
042588,002096: 00,2466           00006                           EXTEND                                         
042589,002097: 00,2467           30121                           DCA      BUF                                   
042590,002098: 00,2470           20121                           DAS      BUF                                   
042591,002099: 
042592,002100: 00,2471           30120        DVNORM             CA       BUF                                   #  SEE IF DIVISOR NORMALIZED YET.
042593,002101: 00,2472           60000                           DOUBLE                                         
042594,002102: 00,2473           54000                           OVSK                                           
042595,002103: 00,2474           12464                           TCF      BUFNORM                               #  NO - SHIFT LEFT ONE AND TRY AGAIN.
042596,002104: 
042597,002105: 00,2475           52145                           DXCH     MPAC                                  #  CALL DIVIDEND NORMALIZATION SEQUENCE
042598,002106: 
042599,002107: 00,2476           50127                           INDEX    DVNORMCT                              #  PRIOR TO DOING THE DIVIDE.
042600,002108: 00,2477           02527                           TC       MAXTEST                               
042601,002109: 
042602,002110: 00,2500           54146                           TS       MPAC       +2                         #  RETURNS WITH DIVISION DONE AND C(A) = 0.
042603,002111: 00,2501           16115                           TCF      DANZIG                                
042604,002112: 

Page 953

042606,002114:                                                                                                  #           THE FOLLOWING ARE PROLOGUES TO SHIFT THE DIVIDEND ARRIVING IN A AND L BEFORE THE DIVIDE.
042607,002115: 
042608,002116: 00,2502           22021                 -21D      LXCH     SR                                    #  SPECIAL PROLOGUE FOR UNIT WHEN THE
042609,002117: 00,2503           00006                           EXTEND                                         #  LENGTH OF THE ARGUMENT WAS NOT LESS THAN
042610,002118: 00,2504           77740                           MP       HALF                                  #  .5. IN THIS CASE, EACH COMPONENT MUST BE
042611,002119: 00,2505           56001                           XCH      L                                     #  SHIFTED RIGHT ONE TO PRODUCE A HALF-UNIT
042612,002120: 00,2506           60021                           AD       SR                                    #  VECTOR.
042613,002121: 00,2507           56001                           XCH      L                                     
042614,002122: 
042615,002123: 00,2510           12533                           TCF      GENDDV     +1                         #  WITH DP DIVIDEND IN A,L.
042616,002124: 
042617,002125: 00,2511           20001                           DDOUBL                                         #  PROLOGUE WHICH NORMALIZES THE DIVIDEND
042618,002126: 00,2512           20001                           DDOUBL                                         #  WHEN IT IS KNOWN THAT NO DIVISION
042619,002127: 00,2513           20001                           DDOUBL                                         #  OVERFLOW WILL OCCUR.
042620,002128: 00,2514           20001                           DDOUBL                                         
042621,002129: 00,2515           20001                           DDOUBL                                         
042622,002130: 00,2516           20001                           DDOUBL                                         
042623,002131: 00,2517           20001                           DDOUBL                                         
042624,002132: 00,2520           20001                           DDOUBL                                         
042625,002133: 
042626,002134: 00,2521           20001                           DDOUBL                                         
042627,002135: 00,2522           20001                           DDOUBL                                         
042628,002136: 00,2523           20001                           DDOUBL                                         
042629,002137: 00,2524           20001                           DDOUBL                                         
042630,002138: 00,2525           20001                           DDOUBL                                         
042631,002139: 00,2526           52145                           DXCH     MPAC                                  
042632,002140: 
042633,002141: 00,2527           10130        MAXTEST            CCS      MAXDVSW                               #  0 IF MAJORS MIGHT BE =, -1 OTHERWISE.
042634,002142: 00,2530           06552        BIASHI             DEC      .4192      B-1                        #  SQRT CONSTANTS
042635,002143: 
042636,002144: 00,2531           12604                           TCF      MAXDV                                 #  CHECK TO SEE IF THEY ARE NOW EQUAL.
042637,002145: 

Page 954

042639,002147:                                                                                                  #           THE FOLLOWING IS A GENERAL PURPOSE DOUBLE PRECISION DIVISION ROUTINE. IT DIVIDES MPAC BY BUF AND LEAVES
042640,002148: 
042641,002149:                                                                                                  #  THE RESULT IN MPAC. THE FOLLOWING CONDITIONS MUST BE SATISFIED:
042642,002150: 
042643,002151:                                                                                                  #           1.  THE DIVISOR (BUF) MUST BE POSITIVE AND NOT LESS THAN .5.
042644,002152: 
042645,002153:                                                                                                  #           2.  THE DIVIDEND (MPAC) MUST BE POSITIVE WITH THE MAJOR PART OF MPAC STRICTLY LESS THAN THAT OF BUF
042646,002154:                                                                                                  #  (A SPECIAL APPROXIMATION, MAXDV, IS USED WHEN THE MAJOR PARTS ARE EQUAL).
042647,002155: 
042648,002156:                                                                                                  #           UNDERSTANDING THAT A/B = Q + S(R/B) WHERE S = 2(-14) AND Q AND R ARE QUOTIENT AND REMAINDER, RESPEC-
042649,002157:                                                                                                  #  TIVELY, THE FOLLOWING APPROXIMATION IS OBTAINED BY MULTIPLYING ABOVE AND BELOW BY C - SD AND NEGLECTING TERMS OF
042650,002158:                                                                                                  #  ORDER S-SQUARED (POSSIBLY INTRODUCING ERROR INTO THE LOW TWO BITS OF THE RESULT). SIGN AGREEMENT IS UNNECESSARY.
042651,002159: 
042652,002160:                                                                                                  #           A + SB .      (R - QD)                                             A + SB
042653,002161: 
042654,002162:                                                                                                  #           ------ = Q + S(------) WHERE Q AND R ARE QUOTIENT AND REMAINDER OF ------ RESPECTIVELY.
042655,002163:                                                                                                  #           C + SD        (  C   )                                                C
042656,002164: 
042657,002165: 
042658,002166: 00,2532           52145        GENDDV             DXCH     MPAC                                  #  WE NEED A AND B ONLY FOR FIRST DV.
042659,002167: 00,2533           00006                 +1        EXTEND                                         #  (SPECIAL UNIT PROLOGUE ENTERS HERE).
042660,002168: 00,2534           10120                           DV       BUF                                   #  A NOW CONTAINS Q AND L, R.
042661,002169: 00,2535           52145                           DXCH     MPAC                                  
042662,002170: 
042663,002171: 00,2536           40144                           CS       MPAC                                  #  FORM DIVIDEND FOR MINOR PART OF RESULT.
042664,002172: 00,2537           00006                           EXTEND                                         
042665,002173: 00,2540           70121                           MP       BUF        +1                         
042666,002174: 00,2541           60145                           AD       MPAC       +1                         #  OVERFLOW AT THIS POINT IS POSITIVE SINCE
042667,002175: 00,2542           54000                           OVSK                                           #  R IS POSITIVE IN EVERY CASE.
042668,002176: 00,2543           12550                           TCF      +5                                    
042669,002177: 
042670,002178: 00,2544           00006                           EXTEND                                         #  OVERFLOW CAN BE REMOVED BY SUBTRACTING C
042671,002179: 00,2545           60120                           SU       BUF                                   #  (BUF) ONCE SINCE R IS ALWAYS LESS THAN C
042672,002180: 00,2546           24144                           INCR     MPAC                                  #  IN THIS CASE. INCR COMPENSATES SUBTRACT.
042673,002181: 00,2547           12552                           TCF      +DOWN                                 #  (SINCE C(A) IS STILL POSITIVE).
042674,002182: 
042675,002183: 00,2550           00006                 +5        EXTEND                                         #  C(A) CAN BE MADE LESS THAN C IN MAGNI-
042676,002184: 
042677,002185: 00,2551           62562                           BZMF     -UP                                   #  TUDE BY DIMINISHING IT BY C (SINCE C IS
042678,002186:                                                                                                  #  NOT LESS THAN .5) UNLESS C(A) = 0.
042679,002187: 

Page 955

042681,002189: 00,2552           00006        +DOWN              EXTEND                                         
042682,002190: 00,2553           60120                           SU       BUF                                   #  IF POSITIVE, REDUCE ONLY IF NECESSARY
042683,002191: 00,2554           00006                           EXTEND                                         #  SINCE THE COMPENSATING INCR MIGHT CAUSE
042684,002192: 00,2555           12560                           BZF      +3                                    #  OVERFLOW.
042685,002193: 00,2556           00006                           EXTEND                                         #  DONT SUBTRACT UNLESS RESULT IS POSITIVE
042686,002194: 00,2557           62566                           BZMF     ENDMAXDV                              #  OR ZERO.
042687,002195: 
042688,002196: 00,2560           24144                 +3        INCR     MPAC                                  #  KEEP SUBTRACT HERE AND COMPENSATE.
042689,002197: 00,2561           12567                           TCF      FINALDV                               
042690,002198: 
042691,002199: 00,2562           00006        -UP                EXTEND                                         #  IF ZERO, SET MINOR PART OF RESULT TO
042692,002200: 00,2563           12572                           BZF      FINALDV    +3                         #  ZERO.
042693,002201: 
042694,002202: 00,2564           00006                           EXTEND                                         #  IF NEGATIVE, ADD C TO A, SUBTRACTING ONE
042695,002203: 00,2565           26144                           DIM      MPAC                                  #  TO COMPENSATE. DIM IS OK HERE SINCE THE
042696,002204: 00,2566           60120        ENDMAXDV           AD       BUF                                   #  MAJOR PART NEVER GOES NEGATIVE.
042697,002205: 

Page 956

042699,002207: 00,2567           22007        FINALDV            ZL                                             #  DO DV TO OBTAIN MINOR PART OF RESULT.
042700,002208: 00,2570           00006                           EXTEND                                         
042701,002209: 
042702,002210: 00,2571           10120                           DV       BUF                                   
042703,002211: 00,2572           54145                 +3        TS       MPAC       +1                         
042704,002212: 
042705,002213: 00,2573           10126                           CCS      DVSIGN                                #  LEAVE RESULT POSITIVE UNLESS C(DVSIGN)=
042706,002214: 00,2574           00002                           TC       Q                                     #  -0.
042707,002215: 00,2575           00002                           TC       Q                                     
042708,002216: 00,2576           00002                           TC       Q                                     
042709,002217: 
042710,002218: 00,2577           00006                           EXTEND                                         
042711,002219: 00,2600           40145                           DCS      MPAC                                  
042712,002220: 
042713,002221: 00,2601           52145                           DXCH     MPAC                                  
042714,002222: 00,2602           37761                           CAF      ZERO                                  #  SO WE ALWAYS RETURN WITH C(A) = 0.
042715,002223: 00,2603           00002                           TC       Q                                     
042716,002224: 

Page 957

042718,002226:                                                                                                  #           IF THE MAJOR PARTS OF THE DIVISOR AND DIVIDEND ARE EQUAL, BUT THE MINOR PARTS ARE SUCH THAT THE
042719,002227:                                                                                                  #  DIVIDEND IS STRICTLY LESS THAN THE DIVISOR IN MAGNITUDE, THE FOLLOWING APPROXIMATION IS USED. THE ASSUMPTIONS
042720,002228:                                                                                                  #  ARE THE SAME AS THE GENERAL ROUTINE WITH THE ADDITION THAT SIGN AGREEMENT IS NECESSARY (B, C, & D POSITIVE).
042721,002229: 
042722,002230:                                                                                                  #                  C + SB .          (C + B - D)
042723,002231:                                                                                                  #                  ------ = 37777 + S(---------)
042724,002232:                                                                                                  #                  C + SD            (    C    )
042725,002233: 
042726,002234:                                                                                                  #           THE DIVISION MAY BE PERFORMED IMMEDIATELY SINCE B IS STRICTLY LESS THAN D AND C IS NOT LESS THAN .5.
042727,002235: 
042728,002236: 
042729,002237: 
042730,002238: 00,2604           40144        MAXDV              CS       MPAC                                  #  SEE IF MAXDV CASE STILL HOLDS AFTER
042731,002239: 00,2605           60120                           AD       BUF                                   #  NORMALIZATION.
042732,002240: 00,2606           00006                           EXTEND                                         
042733,002241: 00,2607           12611                           BZF      +2                                    
042734,002242: 00,2610           12532                           TCF      GENDDV                                #  MPAC NOW LESS THAN BUF - DIVIDE AS USUAL
042735,002243: 
042736,002244: 
042737,002245: 00,2611           37735                 +2        CAF      POSMAX                                #  SET MAJOR PART OF RESULT.
042738,002246: 00,2612           54144                           TS       MPAC                                  
042739,002247: 
042740,002248: 00,2613           40121                           CS       BUF        +1                         #  FORM DIVIDEND OF MINOR PART OF RESULT.
042741,002249: 00,2614           60145                           AD       MPAC       +1                         
042742,002250: 00,2615           12566                           TCF      ENDMAXDV                              #  GO ADD C AND DO DIVIDE, ATTACHING SIGN
042743,002251:                                                                                                  #  BEFORE EXITING.
042744,002252: 

Page 958

042746,002254:                                                                                                  #           VECTOR DIVIDED BY SCALAR, V/SC, IS EXECUTED HERE. THE VECTOR IS NOW IN MPAC WITH SCALAR IN BUF.
042747,002255: 
042748,002256: 00,2616           47755        V/SC2              CS       ONE                                   #  INITIALIZE DIVIDEND NORMALIZATION COUNT
042749,002257: 00,2617           54127                           TS       DVNORMCT                              #  AND DIVISION SIGN REGISTER.
042750,002258: 00,2620           54117                           TS       VBUF       +5                         
042751,002259: 
042752,002260: 00,2621           10120                           CCS      BUF                                   #  FORCE DIVISOR POSITIVE WITH MAJOR PART
042753,002261: 00,2622           12657                           TCF      /BUF+                                 #  NON-ZERO (IF POSSIBLE).
042754,002262: 00,2623           12625                           TCF      +2                                    
042755,002263: 00,2624           12653                           TCF      /BUF-                                 
042756,002264: 
042757,002265: 00,2625           56121                           XCH      BUF        +1                         #  SHIFT VECTOR AND SCALAR LEFT 14.
042758,002266: 00,2626           56120                           XCH      BUF                                   
042759,002267: 00,2627           56145                           XCH      MPAC       +1                         
042760,002268: 
042761,002269: 00,2630           56144                           XCH      MPAC                                  
042762,002270: 00,2631           00006                           EXTEND                                         #  CHECK FOR OVERFLOW IN EACH CASE.
042763,002271: 00,2632           12634                           BZF      +2                                    
042764,002272: 00,2633           12375                           TCF      DVOVF                                 
042765,002273: 
042766,002274: 00,2634           56150                           XCH      MPAC       +4                         
042767,002275: 00,2635           56147                           XCH      MPAC       +3                         
042768,002276: 00,2636           00006                           EXTEND                                         
042769,002277: 00,2637           12641                           BZF      +2                                    
042770,002278: 00,2640           12375                           TCF      DVOVF                                 
042771,002279: 
042772,002280: 
042773,002281: 00,2641           56152                           XCH      MPAC       +6                         
042774,002282: 00,2642           56151                           XCH      MPAC       +5                         
042775,002283: 00,2643           00006                           EXTEND                                         
042776,002284: 00,2644           12646                           BZF      +2                                    
042777,002285: 00,2645           12375                           TCF      DVOVF                                 
042778,002286: 
042779,002287: 00,2646           10120                           CCS      BUF                                   
042780,002288: 00,2647           12657                           TCF      /BUF+                                 
042781,002289: 00,2650           12375                           TCF      DVOVF                                 #  ZERO DIVISOR - OVERFLOW.
042782,002290: 00,2651           12653                           TCF      /BUF-                                 
042783,002291: 00,2652           12375                           TCF      DVOVF                                 
042784,002292: 
042785,002293: 
042786,002294: 00,2653           00006        /BUF-              EXTEND                                         #  ON NEGATIVE, COMPLEMENT BUF AND MAINTAIN
042787,002295: 00,2654           40121                           DCS      BUF                                   #  DVSIGN IN VBUF +5.
042788,002296: 00,2655           52121                           DXCH     BUF                                   
042789,002297: 00,2656           24117                           INCR     VBUF       +5                         
042790,002298: 

Page 959

042792,002300: 00,2657           37740        /BUF+              CAF      HALF                                  #  FORCE SIGN AGREEMENT IN DIVISOR.
042793,002301: 00,2660           60000                           DOUBLE                                         
042794,002302: 00,2661           60121                           AD       BUF        +1                         
042795,002303: 00,2662           54121                           TS       BUF        +1                         
042796,002304: 00,2663           37761                           CAF      ZERO                                  
042797,002305: 00,2664           67735                           AD       POSMAX                                
042798,002306: 
042799,002307: 00,2665           26120                           ADS      BUF                                   
042800,002308: 
042801,002309: 00,2666           56123                           XCH      BUF2                                  #  LEAVE ABS(ORIGINAL DIVISOR) IN BUF2 FOR
042802,002310: 00,2667           30121                           CA       BUF        +1                         #  OVERFLOW TESTING.
042803,002311: 00,2670           54124                           TS       BUF2       +1                         
042804,002312: 00,2671           12677                           TCF      /NORM                                 #  NORMALIZE DIVISOR IN BUF.
042805,002313: 
042806,002314: 00,2672           00006        /NORM2             EXTEND                                         #  IF LESS THAN .5, AUGMENT DVNORMCT AND
042807,002315: 00,2673           24127                           AUG      DVNORMCT                              #  DOUBLE DIVISOR.
042808,002316: 00,2674           00006                           EXTEND                                         
042809,002317: 00,2675           30121                           DCA      BUF                                   
042810,002318: 00,2676           20121                           DAS      BUF                                   
042811,002319: 
042812,002320: 
042813,002321: 00,2677           30120        /NORM              CA       BUF                                   #  SEE IF DIVISOR NORMALIZED.
042814,002322: 00,2700           60000                           DOUBLE                                         
042815,002323: 00,2701           54000                           OVSK                                           
042816,002324: 00,2702           12672                           TCF      /NORM2                                #  DOUBLE AND TRY AGAIN IF NOT.
042817,002325: 
042818,002326: 00,2703           02715                           TC       V/SCDV                                #  DO X COMPONENT DIVIDE.
042819,002327: 00,2704           52150                           DXCH     MPAC       +3                         #  SUPPLY ARGUMENTS IN USUAL SEQUENCE.
042820,002328: 00,2705           52145                           DXCH     MPAC                                  
042821,002329: 00,2706           52150                           DXCH     MPAC       +3                         
042822,002330: 
042823,002331: 00,2707           02715                           TC       V/SCDV                                #  Y COMPONENT.
042824,002332: 00,2710           52152                           DXCH     MPAC       +5                         
042825,002333: 00,2711           52145                           DXCH     MPAC                                  
042826,002334: 00,2712           52152                           DXCH     MPAC       +5                         
042827,002335: 
042828,002336: 00,2713           02715                           TC       V/SCDV                                #  Z COMPONENT.
042829,002337: 00,2714           17471                           TCF      VROTATEX                              #  GO RE-ARRANGE COMPONENTS BEFORE EXIT.
042830,002338: 

Page 960

042832,002340:                                                                                                  #           SUBROUTINE USED BY V/SC TO DIVIDE VECTOR COMPONENT IN MPAC,+1 BY THE SCALAR GIVEN IN BUF.
042833,002341: 
042834,002342: 00,2715           30117        V/SCDV             CA       VBUF       +5                         #  REFLECTS SIGN OF SCALAR.
042835,002343: 00,2716           54126                           TS       DVSIGN                                
042836,002344: 
042837,002345: 00,2717           10144                           CCS      MPAC                                  #  FORCE MPAC POSITIVE, EXITING ON ZERO.
042838,002346: 00,2720           12734                           TCF      /MPAC+                                
042839,002347: 00,2721           12723                           TCF      +2                                    
042840,002348: 00,2722           12730                           TCF      /MPAC-                                
042841,002349: 
042842,002350: 00,2723           10145                           CCS      MPAC       +1                         
042843,002351: 00,2724           12734                           TCF      /MPAC+                                
042844,002352: 
042845,002353: 00,2725           00002                           TC       Q                                     
042846,002354: 00,2726           12730                           TCF      /MPAC-                                
042847,002355: 00,2727           00002                           TC       Q                                     
042848,002356: 
042849,002357: 00,2730           00006        /MPAC-             EXTEND                                         #  USUAL COMPLEMENTING AND SETTING OF SIGN.
042850,002358: 00,2731           40145                           DCS      MPAC                                  
042851,002359: 00,2732           52145                           DXCH     MPAC                                  
042852,002360: 00,2733           24126                           INCR     DVSIGN                                
042853,002361: 
042854,002362: 00,2734           47755        /MPAC+             CS       ONE                                   #  INITIALIZE NEAR-ONE SWITCH.
042855,002363: 00,2735           54130                           TS       MAXDVSW                               
042856,002364: 
042857,002365: 
042858,002366: 00,2736           40144                           CS       MPAC                                  #  CHECK POSSIBLE OVERFLOW.
042859,002367: 00,2737           60123                           AD       BUF2                                  #  UNNORMALIZED INPUT DIVISOR.
042860,002368: 00,2740           00006                           EXTEND                                         
042861,002369: 00,2741           62745                           BZMF     /AGREE                                #  CHECK FOR NEAR-ONE OR OVERFLOW.
042862,002370: 
042863,002371: 00,2742           52145        DDVCALL            DXCH     MPAC                                  #  CALL PRE-DIVIDE NORMALIZATION.
042864,002372: 00,2743           50127                           INDEX    DVNORMCT                              
042865,002373: 00,2744           12527                           TCF      MAXTEST                               
042866,002374: 

Page 961

042868,002376: 00,2745           37740        /AGREE             CAF      HALF                                  #  FORCE SIGN AGREEMENT IN DIVIDEND
042869,002377: 00,2746           60000                           DOUBLE                                         #  (ALREADY DONE FOR DIVISOR).
042870,002378: 00,2747           60145                           AD       MPAC       +1                         
042871,002379: 00,2750           54145                           TS       MPAC       +1                         
042872,002380: 00,2751           37761                           CAF      ZERO                                  
042873,002381: 00,2752           67735                           AD       POSMAX                                
042874,002382: 00,2753           26144                           ADS      MPAC                                  
042875,002383: 
042876,002384: 
042877,002385: 00,2754           40144                           CS       MPAC                                  #  CHECK TO SEE IF OVERFLOW GONE OR IF
042878,002386: 00,2755           60123                           AD       BUF2                                  #  NEAR-ONE CASE IS PRESENT.
042879,002387: 00,2756           10000                           CCS      A                                     
042880,002388: 00,2757           12742                           TCF      DDVCALL                               #  NOT NEAR-ONE.
042881,002389: 00,2760           32506        SLOPELO            DEC      .8324                                 
042882,002390: 00,2761           12375                           TCF      DVOVF                                 #  NO HOPE.
042883,002391: 
042884,002392: 00,2762           54130                           TS       MAXDVSW                               #  SIGNAL POSSIBLE NEAR-ONE CASE.
042885,002393: 00,2763           40145                           CS       MPAC       +1                         #  SEE IF DIVISION CAN BE DONE.
042886,002394: 00,2764           60124                           AD       BUF2       +1                         
042887,002395: 
042888,002396: 00,2765           00006                           EXTEND                                         
042889,002397: 00,2766           62375                           BZMF     DVOVF                                 
042890,002398: 00,2767           12742                           TCF      DDVCALL                               #  GOING TO MAXDV.
042891,002399: 

Page 962

042893,002401:                                                                                                  #           THE FOLLOWING ROUTINE EXECUTES THE UNIT INSTRUCTION, WHICH TAKES THE UNIT OF THE VECTOR IN MPAC.
042894,002402: 
042895,002403: 00,2770           07604        UNIT               TC       MPACVBUF                              #  SAVE THE ARGUMENT IN VBUF.
042896,002404: 00,2771           37761                           CAF      ZERO                                  #  MUST SENSE OVERFLOW IN FOLLOWING DOT.
042897,002405: 00,2772           56111                           XCH      OVFIND                                
042898,002406: 00,2773           54131                           TS       TEM1                                  
042899,002407: 00,2774           03267                           TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
042900,002408: 00,2775           30131                           CA       TEM1                                  
042901,002409: 00,2776           56111                           XCH      OVFIND                                
042902,002410: 00,2777           00006                           EXTEND                                         
042903,002411: 00,3000           13002                           BZF      +2                                    
042904,002412: 00,3001           12375                           TCF      DVOVF                                 
042905,002413: 00,3002           00006                           EXTEND                                         
042906,002414: 00,3003           30145                           DCA      MPAC                                  #  LEAVE THE SQUARE OF THE LENGTH OF THE
042907,002415: 
042908,002416: 00,3004           50110                           INDEX    FIXLOC                                #  ARGUMENT IN LVSQUARE.
042909,002417: 00,3005           52043                           DXCH     LVSQUARE                              
042910,002418: 
042911,002419: 00,3006           03313                           TC       SQRTSUB                               #  GO TAKE THE NORMALIZED SQUARE ROOT.
042912,002420: 
042913,002421: 00,3007           10144                           CCS      MPAC                                  #  CHECK FOR UNIT OVERFLOW.
042914,002422: 00,3010           13015                           TCF      +5                                    #  MPAC IS NOT LESS THAN .5 UNLESS
042915,002423: 00,3011           54001                           TS       L                                     
042916,002424: 00,3012           50110                           INDEX    FIXLOC                                
042917,002425: 00,3013           52045                           DXCH     LV                                    
042918,002426: 
042919,002427: 00,3014           12375                           TCF      DVOVF                                 #  INPUT TO SQRTSUB WAS 0.
042920,002428: 
042921,002429: 00,3015           43116                           CS       FOURTEEN                              #  SEE IF THE INPUT WAS SO SMALL THE THE
042922,002430: 00,3016           60125                           AD       MPTEMP                                #  FIRST TWO REGISTERS OF THE SQUARE WERE 0
042923,002431: 00,3017           10000                           CCS      A                                     
042924,002432: 00,3020           40000                           COM                                            #  IF SO, SAVE THE NEGATIVE OF THE SHIFT
042925,002433: 00,3021           13077                           TCF      SMALL                                 #  COUNT -15D.
042926,002434: 
042927,002435: 00,3022           13031                           TCF      LARGE                                 #  (THIS IS USUALLY THE CASE.)
042928,002436: 
042929,002437: 00,3023           43115                           CS       THIRTEEN                              #  IF THE SHIFT COUNT WAS EXACTLY 14, SET
042930,002438: 00,3024           54125                           TS       MPTEMP                                #  THE PRE-DIVIDE NORM COUNT TO -13D.
042931,002439: 
042932,002440: 
042933,002441: 00,3025           30144                           CA       MPAC                                  #  SHIFT THE LENGTH RIGHT 14 BEFORE STORING
042934,002442: 00,3026           54001        SMALL2             TS       L                                     #  (SMALL EXITS TO THIS POINT).
042935,002443: 00,3027           37761                           CAF      ZERO                                  
042936,002444: 00,3030           13056                           TCF      LARGE2                                #  GO TO STORE LENGTH AND PROCEED.
042937,002445: 
042938,002446: 00,3031           10125        LARGE              CCS      MPTEMP                                #  MOST ALL CASES COME HERE.
042939,002447: 00,3032           13040                           TCF      LARGE3                                #  SEE IF NO NORMALIZATION WAS REQUIRED BY
042940,002448: 
042941,002449: 00,3033           42024                           CS       SRDDV                                 #  SQRT, AND IF SO, SET UP FOR A SHIFT
042942,002450: 
042943,002451: 00,3034           54125                           TS       MPTEMP                                #  RIGHT 1 BEFORE DIVIDING TO PRODUCE
042944,002452: 00,3035           00006                           EXTEND                                         #  THE DESIRED HALF UNIT VECTOR.
042945,002453: 00,3036           30145                           DCA      MPAC                                  
042946,002454: 00,3037           13056                           TCF      LARGE2                                
042947,002455: 

Page 963

042949,002457: 00,3040           40000        LARGE3             COM                                            #  LEAVE NEGATIVE OF SHIFT COUNT-1 FOR
042950,002458: 00,3041           54125                           TS       MPTEMP                                #  PREDIVIDE LEFT SHIFT.
042951,002459: 
042952,002460: 00,3042           40000                           COM                                            #  PICK UP REQUIRED SHIFTING BIT TO UNNORM-
042953,002461: 00,3043           50000                           INDEX    A                                     #  ALIZE THE SQRT RESULT.
042954,002462: 00,3044           37740                           CAF      BIT14                                 
042955,002463: 
042956,002464: 00,3045           54120                           TS       BUF                                   
042957,002465: 00,3046           00006                           EXTEND                                         
042958,002466: 00,3047           70145                           MP       MPAC       +1                         
042959,002467: 00,3050           56120                           XCH      BUF                                   
042960,002468: 00,3051           00006                           EXTEND                                         #  (UNNORMALIZE THE SQRT FOR LV).
042961,002469: 00,3052           70144                           MP       MPAC                                  
042962,002470: 00,3053           56001                           XCH      L                                     
042963,002471: 00,3054           60120                           AD       BUF                                   
042964,002472: 00,3055           56001                           XCH      L                                     
042965,002473: 
042966,002474: 00,3056           50110        LARGE2             INDEX    FIXLOC                                
042967,002475: 00,3057           52045                           DXCH     LV                                    #  LENGTH NOW STORED IN WORK AREA.
042968,002476: 
042969,002477: 
042970,002478: 00,3060           47755                           CS       ONE                                   
042971,002479: 00,3061           54130                           TS       MAXDVSW                               #  NO MAXDV CASES IN UNIT.
042972,002480: 
042973,002481: 00,3062           52113                           DXCH     VBUF                                  #  PREPARE X COMPONENT FOR DIVIDE, SETTING
042974,002482: 00,3063           52145                           DXCH     MPAC                                  #  LENGTH OF VECTOR AS DIVISOR IN BUF.
042975,002483: 00,3064           52121                           DXCH     BUF                                   
042976,002484: 00,3065           03117                           TC       UNITDV                                
042977,002485: 
042978,002486: 00,3066           52115                           DXCH     VBUF       +2                         #  DO Y AND Z IN USUAL FASHION SO WE CAN
042979,002487: 
042980,002488: 00,3067           52145                           DXCH     MPAC                                  #  EXIT THROUGH VROTATEX.
042981,002489: 00,3070           52150                           DXCH     MPAC       +3                         
042982,002490: 00,3071           03117                           TC       UNITDV                                
042983,002491: 
042984,002492: 00,3072           52117                           DXCH     VBUF       +4                         
042985,002493: 00,3073           52145                           DXCH     MPAC                                  
042986,002494: 00,3074           52152                           DXCH     MPAC       +5                         
042987,002495: 00,3075           03117                           TC       UNITDV                                
042988,002496: 00,3076           17471                           TCF      VROTATEX                              #  AND EXIT.
042989,002497: 

Page 964

042991,002499:                                                                                                  #           IF THE LENGTH OF THE ARGUMENT VECTOR WAS LESS THAN 2(-28), EACH COMPONENT MUST BE SHIFTED LEFT AT LEAST
042992,002500:                                                                                                  #  14 PLACES BEFORE THE DIVIDE. NOTE THAT IN THIS CASE, THE MAJOR PART OF EACH COMPONENT IS ZERO.
042993,002501: 
042994,002502: 00,3077           54125        SMALL              TS       MPTEMP                                #  NEGATIVE OF PRE-DIVIDE SHIFT COUNT.
042995,002503: 
042996,002504: 00,3100           37761                           CAF      ZERO                                  #  SHIFT EACH COMPONENT LEFT 14.
042997,002505: 00,3101           56113                           XCH      VBUF       +1                         
042998,002506: 00,3102           56112                           XCH      VBUF                                  
042999,002507: 00,3103           56115                           XCH      VBUF       +3                         
043000,002508: 00,3104           56114                           XCH      VBUF       +2                         
043001,002509: 00,3105           56117                           XCH      VBUF       +5                         
043002,002510: 00,3106           56116                           XCH      VBUF       +4                         
043003,002511: 
043004,002512: 00,3107           40125                           CS       MPTEMP                                
043005,002513: 00,3110           50000                           INDEX    A                                     
043006,002514: 00,3111           37740                           CAF      BIT14                                 
043007,002515: 00,3112           00006                           EXTEND                                         
043008,002516: 00,3113           70144                           MP       MPAC                                  
043009,002517: 00,3114           13026                           TCF      SMALL2                                
043010,002518: 
043011,002519: 00,3115           00015        THIRTEEN           DEC      13         B-14                       
043012,002520: 00,3116           00016        FOURTEEN           DEC      14         B-14                       
043013,002521: 

Page 965

043015,002523:                                                                                                  #           THE FOLLOWING ROUTINE SETS UP THE CALL TO THE DIVIDE ROUTINES.
043016,002524: 
043017,002525: 00,3117           10144        UNITDV             CCS      MPAC                                  #  FORCE MPAC POSITIVE IF POSSIBLE, SETTING
043018,002526: 00,3120           13136                           TCF      UMPAC+                                #  DVSIGN ACCORDING TO THE SIGN OF MPAC
043019,002527: 00,3121           13123                           TCF      +2                                    #  SINCE THE DIVISOR IS ALWAYS POSITIVE
043020,002528: 00,3122           13130                           TCF      UMPAC-                                #  HERE.
043021,002529: 
043022,002530: 00,3123           10145                           CCS      MPAC       +1                         
043023,002531: 
043024,002532: 00,3124           13136                           TCF      UMPAC+                                
043025,002533: 00,3125           00002                           TC       Q                                     #  EXIT IMMEDIATELY ON ZERO.
043026,002534: 00,3126           13130                           TCF      UMPAC-                                
043027,002535: 00,3127           00002                           TC       Q                                     
043028,002536: 
043029,002537: 00,3130           47761        UMPAC-             CS       ZERO                                  #  IF NEGATIVE, SET -0 IN DVSIGN FOR FINAL
043030,002538: 00,3131           54126                           TS       DVSIGN                                #  COMPLEMENT.
043031,002539: 00,3132           00006                           EXTEND                                         
043032,002540: 00,3133           40145                           DCS      MPAC                                  #  PICK UP ABSOLUTE VALUE OF ARG AND JUMP.
043033,002541: 00,3134           50125                           INDEX    MPTEMP                                
043034,002542: 
043035,002543: 00,3135           12526                           TCF      MAXTEST    -1                         
043036,002544: 
043037,002545: 00,3136           54126        UMPAC+             TS       DVSIGN                                #  SET DVSIGN FOR POSITIVE QUOTIENT.
043038,002546: 00,3137           52145                           DXCH     MPAC                                  
043039,002547: 00,3140           50125                           INDEX    MPTEMP                                
043040,002548: 00,3141           12526                           TCF      MAXTEST    -1                         
043041,002549: 

Page 966

043043,002551:                                                                                                  #           MISCELLANEOUS UNARY OPERATIONS.
043044,002552: 
043045,002553: 00,3142           03250        DSQ                TC       DSQSUB                                #  SQUARE THE DP CONTENTS OF MPAC.
043046,002554: 00,3143           16115                           TCF      DANZIG                                
043047,002555: 
043048,002556: 00,3144           10153        ABVALABS           CCS      MODE                                  #  ABVAL OR ABS INSTRUCTION.
043049,002557: 00,3145           13174                           TCF      ABS                                   #  DO ABS ON SCALAR.
043050,002558: 00,3146           13174                           TCF      ABS                                   
043051,002559: 
043052,002560: 00,3147           03267        ABVAL              TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043053,002561: 00,3150           22153                           LXCH     MODE                                  #  MODE IS NOW DP (L ZERO AFTER DAS).
043054,002562: 
043055,002563: 00,3151           00006                           EXTEND                                         #  STORE SQUARE OF LENGTH IN WORK AREA.
043056,002564: 00,3152           30145                           DCA      MPAC                                  
043057,002565: 
043058,002566: 00,3153           50110                           INDEX    FIXLOC                                
043059,002567: 00,3154           52043                           DXCH     LVSQUARE                              
043060,002568: 
043061,002569: 00,3155           03313        SQRT               TC       SQRTSUB                               #  TAKE THE SQUARE ROOT OF MPAC.
043062,002570: 00,3156           10125                           CCS      MPTEMP                                #  RETURNED NORMALIZED SQUARE ROOT. SEE IF
043063,002571: 00,3157           13161                           TCF      +2                                    #  ANY UN-NORMALIZATION REQUIRED AND EXIT
043064,002572: 00,3160           16115                           TCF      DANZIG                                #  IF NOT.
043065,002573: 
043066,002574: 00,3161           63676                           AD       NEG12                                 #  A RIGHT SHIFT OF MORE THAN 13 COULD BE
043067,002575: 00,3162           00006                           EXTEND                                         #  REQUIRED IF INPUT WAS ZERO IN MPAC,+1.
043068,002576: 
043069,002577: 00,3163           63167                           BZMF     SQRTSHFT                              #  GOES HERE IN MOST CASES.
043070,002578: 00,3164           22007                           ZL                                             #  IF A LONG SHIFT IS REQUIRED, GO TO
043071,002579: 00,3165           22106                           LXCH     ADDRWD                                #  GENERAL RIGHT SHIFT ROUTINES.
043072,002580: 00,3166           12303                           TCF      GENSCR     +4                         #  ADDRWD WAS ZERO TO PREVENT ROUND.
043073,002581: 
043074,002582: 00,3167           50125        SQRTSHFT           INDEX    MPTEMP                                #  SELECT SHIFTING BIT AND EXIT THROUGH
043075,002583: 00,3170           37737                           CAF      BIT15                                 #  SHIFT ROUTINES.
043076,002584: 00,3171           54125                           TS       MPTEMP                                
043077,002585: 00,3172           37761                           CAF      ZERO                                  #  TO ZERO MPAC +2 IN THE PROCESS.
043078,002586: 00,3173           12036                           TCF      MPACSHR    +3                         
043079,002587: 
043080,002588: 00,3174           06772        ABS                TC       BRANCH                                #  TEST SIGN OF MPAC AND COMPLEMENT IF
043081,002589: 
043082,002590: 00,3175           16115                           TCF      DANZIG                                
043083,002591: 00,3176           16115                           TCF      DANZIG                                
043084,002592: 00,3177           17714                           TCF      COMP                                  
043085,002593: 

Page 967

043087,002595: 00,3200           47753        VDEF               CS       FOUR                                  #  VECTOR DEFINE - ESSENTIALLY TREATS
043088,002596: 00,3201           26156                           ADS      PUSHLOC                               #  SCALAR IN MPAC AS X COMPONENT, PUSHES UP
043089,002597: 00,3202           00006                           EXTEND                                         #  FOR Y AND THEN AGAIN FOR Z.
043090,002598: 00,3203           50000                           INDEX    A                                     
043091,002599: 00,3204           30003                           DCA      2                                     
043092,002600: 00,3205           52150                           DXCH     MPAC       +3                         
043093,002601: 
043094,002602: 00,3206           00006                           EXTEND                                         
043095,002603: 00,3207           50156                           INDEX    PUSHLOC                               
043096,002604: 00,3210           30001                           DCA      0                                     
043097,002605: 00,3211           52152                           DXCH     MPAC       +5                         
043098,002606: 00,3212           47755                           CS       ONE                                   #  MODE IS NOW VECTOR.
043099,002607: 00,3213           16114                           TCF      NEWMODE                               
043100,002608: 
043101,002609: 00,3214           03267        VSQ                TC       VSQSUB                                #  DOT MPAC WITH ITSELF.
043102,002610: 00,3215           37761                           CAF      ZERO                                  
043103,002611: 00,3216           16114                           TCF      NEWMODE                               #  MODE IS NOW DP.
043104,002612: 
043105,002613: 00,3217           00006        PUSH               EXTEND                                         #  PUSH DOWN MPAC LEAVING IT LOADED.
043106,002614: 
043107,002615: 00,3220           30145                           DCA      MPAC                                  
043108,002616: 00,3221           50156                           INDEX    PUSHLOC                               #  PUSH DOWN FIRST TWO REGISTERS IN EACH
043109,002617: 00,3222           52001                           DXCH     0                                     
043110,002618: 
043111,002619: 00,3223           50153                           INDEX    MODE                                  #  INCREMENT PUSHDOWN POINTER.
043112,002620: 00,3224           36300                           CAF      NO.WDS                                
043113,002621: 00,3225           26156                           ADS      PUSHLOC                               
043114,002622: 
043115,002623: 00,3226           10153                           CCS      MODE                                  
043116,002624: 00,3227           13242                           TCF      TPUSH                                 #  PUSH DOWN MPAC +2.
043117,002625: 
043118,002626: 00,3230           16115                           TCF      DANZIG                                #  DONE FOR DP.
043119,002627: 
043120,002628: 00,3231           00006                           EXTEND                                         #  ON VECTOR, PUSH DOWN Y AND Z COMPONENTS.
043121,002629: 00,3232           30150                           DCA      MPAC       +3                         
043122,002630: 00,3233           50156                           INDEX    PUSHLOC                               
043123,002631: 00,3234           51775                           DXCH     0          -4                         
043124,002632: 00,3235           00006                           EXTEND                                         
043125,002633: 00,3236           30152                           DCA      MPAC       +5                         
043126,002634: 00,3237           50156                           INDEX    PUSHLOC                               
043127,002635: 00,3240           51777                           DXCH     0          -2                         
043128,002636: 00,3241           16115                           TCF      DANZIG                                
043129,002637: 
043130,002638: 
043131,002639: 00,3242           30146        TPUSH              CA       MPAC       +2                         
043132,002640: 00,3243           16623                           TCF      ENDTPUSH   +2                         
043133,002641: 
043134,002642: 00,3244           50110        RVQ                INDEX    FIXLOC                                #  RVQ - RETURN IVA QPRET.
043135,002643: 00,3245           30052                           CA       QPRET                                 
043136,002644: 00,3246           54107                           TS       POLISH                                
043137,002645: 00,3247           16721                           TCF      GOTO       +4                         #  (ASSUME QPRET POINTS TO FIXED ONLY.)
043138,002646: 

Page 968

043140,002648:                                                                                                  #           THE FOLLOWING SUBROUTINES ARE USED IN SQUARING MPAC, IN BOTH THE SCALAR AND VECTOR SENSE. THEY ARE
043141,002649:                                                                                                  #  SPECIAL CASES OF DMPSUB AND DOTSUB, PUT IN TO SAVE SOME TIME.
043142,002650: 
043143,002651: 00,3250           30145        DSQSUB             CA       MPAC       +1                         #  SQUARES THE SCALAR CONTENTS OF MPAC.
043144,002652: 00,3251           00006                           EXTEND                                         
043145,002653: 00,3252           70000                           SQUARE                                         
043146,002654: 00,3253           54146                           TS       MPAC       +2                         
043147,002655: 00,3254           37761                           CAF      ZERO                                  #  FORM 2(CROSS TERM).
043148,002656: 00,3255           56145                           XCH      MPAC       +1                         
043149,002657: 00,3256           00006                           EXTEND                                         
043150,002658: 00,3257           70144                           MP       MPAC                                  
043151,002659: 00,3260           20001                           DDOUBL                                         #  AND MAYBE OVERFLOW.
043152,002660: 
043153,002661: 00,3261           20146                           DAS      MPAC       +1                         #  AND SET A TO NET OVERFLOW.
043154,002662: 00,3262           56144                           XCH      MPAC                                  
043155,002663: 00,3263           00006                           EXTEND                                         
043156,002664: 00,3264           70000                           SQUARE                                         
043157,002665: 00,3265           20145                           DAS      MPAC                                  
043158,002666: 00,3266           00002                           TC       Q                                     
043159,002667: 
043160,002668: 00,3267           00006        VSQSUB             EXTEND                                         #  DOTS THE VECTOR IN MPAC WITH ITSELF.
043161,002669: 00,3270           22127                           QXCH     DOTRET                                
043162,002670: 00,3271           03250                           TC       DSQSUB                                #  SQUARE THE X COMPONENT.
043163,002671: 00,3272           52150                           DXCH     MPAC       +3                         
043164,002672: 00,3273           52145                           DXCH     MPAC                                  
043165,002673: 
043166,002674: 00,3274           52121                           DXCH     BUF                                   #  SO WE CAN END IN DOTSUB.
043167,002675: 00,3275           30146                           CA       MPAC       +2                         
043168,002676: 00,3276           54122                           TS       BUF        +2                         
043169,002677: 
043170,002678: 00,3277           03250                           TC       DSQSUB                                #  SQUARE Y COMPONENT.
043171,002679: 00,3300           52146                           DXCH     MPAC       +1                         
043172,002680: 00,3301           20122                           DAS      BUF        +1                         
043173,002681: 00,3302           60144                           AD       MPAC                                  
043174,002682: 00,3303           60120                           AD       BUF                                   
043175,002683: 00,3304           54120                           TS       BUF                                   
043176,002684: 
043177,002685: 00,3305           13307                           TCF      +2                                    
043178,002686: 00,3306           54111                           TS       OVFIND                                #  IF OVERFLOW.
043179,002687: 
043180,002688: 00,3307           52152                           DXCH     MPAC       +5                         
043181,002689: 00,3310           52145                           DXCH     MPAC                                  
043182,002690: 00,3311           03250                           TC       DSQSUB                                #  SQUARE Z COMPONENT.
043183,002691: 00,3312           17250                           TCF      ENDDOT                                #  END AS IN DOTSUB.
043184,002692: 

Page 969

043186,002694:                                                                                                  #           DOUBLE PRECISION SQUARE ROOT ROUTINE. TAKE THE SQUARE ROOT OF THE TRIPLE PRECISION (MPAC +2 USED ONLY
043187,002695:                                                                                                  #  IN NORMALIZATION) CONTENTS OF MPAC AND LEAVE THE NORMALIZED RESULT IN MPAC (C(MPAC) GREATER THAN OR EQUAL TO
043188,002696:                                                                                                  #  .5). THE RIGHT SHIFT COUNT (TO UNNORMALIZE) IS LEFT IN MPTEMP.
043189,002697: 
043190,002698: 
043191,002699: 
043192,002700: 00,3313           37761        SQRTSUB            CAF      ZERO                                  #  START BY ZEROING RIGHT SHIFT COUNT.
043193,002701: 00,3314           54125                           TS       MPTEMP                                
043194,002702: 
043195,002703: 
043196,002704: 00,3315           10144                           CCS      MPAC                                  #  CHECK FOR POSITIVE ARGUMENT, SHIFTING
043197,002705: 00,3316           13354                           TCF      SMPAC+                                #  FIRST SIGNIFICANT MPAC REGISTER INTO
043198,002706: 00,3317           13321                           TCF      +2                                    #  MPAC ITSELF.
043199,002707: 00,3320           13343                           TCF      SQRTNEG                               #  SEE IF MAG OF ARGUMENT LESS THAN 10(-4).
043200,002708: 
043201,002709: 00,3321           56146                           XCH      MPAC       +2                         #  MPAC IS ZERO - SHIFT LEFT 14.
043202,002710: 00,3322           56145                           XCH      MPAC       +1                         
043203,002711: 00,3323           54144                           TS       MPAC                                  
043204,002712: 00,3324           37757                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
043205,002713: 
043206,002714: 00,3325           54125                           TS       MPTEMP                                
043207,002715: 
043208,002716: 00,3326           10144                           CCS      MPAC                                  #  SEE IF MPAC NOW PNZ.
043209,002717: 00,3327           13354                           TCF      SMPAC+                                
043210,002718: 00,3330           13332                           TCF      +2                                    
043211,002719: 00,3331           13346                           TCF      ZEROANS                               #  NEGATIVE BUT LESS THAN 10(-4) IN MAG.
043212,002720: 
043213,002721: 00,3332           56145                           XCH      MPAC       +1                         #  ZERO - SHIFT LEFT 14 AGAIN.
043214,002722: 00,3333           54144                           TS       MPAC                                  
043215,002723: 00,3334           37757                           CAF      SEVEN                                 #  AUGMENT RIGHT SHIFT COUNTER.
043216,002724: 00,3335           26125                           ADS      MPTEMP                                
043217,002725: 
043218,002726: 
043219,002727: 00,3336           10144                           CCS      MPAC                                  
043220,002728: 00,3337           13354                           TCF      SMPAC+                                
043221,002729: 00,3340           00002                           TC       Q                                     #  SQRT(0) = 0.
043222,002730: 00,3341           13346                           TCF      ZEROANS                               
043223,002731: 00,3342           00002                           TC       Q                                     
043224,002732: 
043225,002733: 
043226,002734: 
043227,002735: 00,3343           10000        SQRTNEG            CCS      A                                     #  ARGUMENT IS NEGATIVE, BUT SEE IF SIGN-
043228,002736: 00,3344           13352                           TCF      SQRTABRT                              #  CORRECTED ARGUMENT IS LESS THAN 10(-4)
043229,002737: 
043230,002738: 00,3345           10145                           CCS      MPAC       +1                         #  IN MAGNITUDE. IF SO, CALL ANSWER ZERO.
043231,002739: 00,3346           37761        ZEROANS            CAF      ZERO                                  #  FORCE ANSWER TO ZERO HERE.
043232,002740: 00,3347           13422                           TCF      FIXROOT                               
043233,002741: 00,3350           13352                           TCF      SQRTABRT                              
043234,002742: 00,3351           13422                           TCF      FIXROOT                               
043235,002743: 
043236,002744: 00,3352           06000        SQRTABRT           TC       ABORT                                 
043237,002745: 00,3353           01302                           OCT      1302                                  
043238,002746: 

Page 970

043240,002748: 00,3354           62430        SMPAC+             AD       -1/2+2                                #  SEE IF ARGUMENT GREATER THAN OR EQUAL TO
043241,002749: 
043242,002750: 00,3355           00006                           EXTEND                                         #  .5.
043243,002751: 00,3356           63425                           BZMF     SRTEST                                #  IF SO, SEE IF LESS THAN .25.
043244,002752: 
043245,002753: 00,3357           52145                           DXCH     MPAC                                  #  WE WILL TAKE THE SQUARE ROOT OF MPAC/2.
043246,002754: 00,3360           22021                           LXCH     SR                                    #  SHIFT RIGHT 1 AND GO TO THE SQRT ROUTINE
043247,002755: 00,3361           00006                           EXTEND                                         
043248,002756: 00,3362           77740                           MP       HALF                                  
043249,002757: 00,3363           52145                           DXCH     MPAC                                  
043250,002758: 00,3364           56021                           XCH      SR                                    
043251,002759: 00,3365           26145                           ADS      MPAC       +1                         #  GUARANTEED NO OVERFLOW.
043252,002760: 
043253,002761: 00,3366           32314        ARGHI              CAF      SLOPEHI                               #  ARGUMENT BETWEEN .25 AND .5. GET A
043254,002762: 
043255,002763: 00,3367           00006                           EXTEND                                         #  LINEAR APPROXIMATION FOR THIS RANGE.
043256,002764: 00,3370           70144                           MP       MPAC                                  
043257,002765: 00,3371           62530                           AD       BIASHI                                #  X0/2 = (MPAC/2)(SLOPEHI) + BIASHI/2.
043258,002766: 
043259,002767: 00,3372           54120                 +4        TS       BUF                                   #  X0/2 (ARGLO ENTERS HERE).
043260,002768: 00,3373           30144                           CA       MPAC                                  #  SINGLE-PRECISION THROUGHOUT.
043261,002769: 00,3374           22007                           ZL                                             
043262,002770: 00,3375           00006                           EXTEND                                         
043263,002771: 00,3376           10120                           DV       BUF                                   #  (MPAC/2)/(X0/2)
043264,002772: 00,3377           00006                           EXTEND                                         
043265,002773: 
043266,002774: 00,3400           77740                           MP       HALF                                  
043267,002775: 00,3401           26120                           ADS      BUF                                   #  X1 = X0/2 + .5(MPAC/2)/(X0/2).
043268,002776: 
043269,002777: 00,3402           00006                           EXTEND                                         
043270,002778: 00,3403           77740                           MP       HALF                                  #  FORM UP X1/2.
043271,002779: 00,3404           52145                           DXCH     MPAC                                  #  SAVE AND BRING OUT ARGUMENT.
043272,002780: 00,3405           00006                           EXTEND                                         #  TAKE DP QUOTIENT WITH X1.
043273,002781: 00,3406           10120                           DV       BUF                                   
043274,002782: 00,3407           54121                           TS       BUF        +1                         #  SAVE MAJOR PART OF QUOTIENT.
043275,002783: 00,3410           37761                           CAF      ZERO                                  #  FORM MINOR PART OF QUOTIENT USING
043276,002784: 00,3411           56001                           XCH      L                                     #  (REMAINDER,0).
043277,002785: 00,3412           00006                           EXTEND                                         
043278,002786: 
043279,002787: 00,3413           10120                           DV       BUF                                   
043280,002788: 00,3414           54001                           TS       L                                     #  IN PREPARATION FOR DAS.
043281,002789: 00,3415           30121                           CA       BUF        +1                         
043282,002790: 00,3416           20145                           DAS      MPAC                                  #  X2 = X1/2 + (MPAC/2)X1
043283,002791: 
043284,002792: 00,3417           00006                           EXTEND                                         #  OVERFLOWS IF ARG. NEAR POSMAX.
043285,002793: 00,3420           13424                           BZF      TCQBNK00                              
043286,002794: 00,3421           37735                           CAF      POSMAX                                
043287,002795: 00,3422           54144        FIXROOT            TS       MPAC                                  
043288,002796: 00,3423           54145                           TS       MPAC       +1                         
043289,002797: 
043290,002798: 00,3424           00002        TCQBNK00           TC       Q                                     #  RETURN TO CALLER TO UNNORMALIZE, ETC.
043291,002799: 

Page 971

043293,002801: 00,3425           67741        SRTEST             AD       QUARTER                               #  ARGUMENT WAS LESS THAN .5, SEE IF LESS
043294,002802: 00,3426           00006                           EXTEND                                         #  THAN .25.
043295,002803: 00,3427           63451                           BZMF     SQRTNORM                              #  IF SO, BEGIN NORMALIZATION.
043296,002804: 
043297,002805: 00,3430           52145                           DXCH     MPAC                                  #  IF BETWEEN .5 AND .25, SHIFT RIGHT 1 AND
043298,002806: 00,3431           22021                           LXCH     SR                                    #  START AT ARGLO.
043299,002807: 
043300,002808: 00,3432           00006                           EXTEND                                         
043301,002809: 00,3433           77740                           MP       HALF                                  
043302,002810: 00,3434           52145                           DXCH     MPAC                                  
043303,002811: 00,3435           56021                           XCH      SR                                    
043304,002812: 00,3436           26145                           ADS      MPAC       +1                         #  NO OVERFLOW.
043305,002813: 
043306,002814: 00,3437           32760        ARGLO              CAF      SLOPELO                               #  (NORMALIZED) ARGUMENT BETWEEN .125 AND
043307,002815: 00,3440           00006                           EXTEND                                         #  .25
043308,002816: 00,3441           70144                           MP       MPAC                                  
043309,002817: 00,3442           62270                           AD       BIASLO                                
043310,002818: 00,3443           13372                           TCF      ARGHI      +4                         #  BEGIN SQUARE ROOT.
043311,002819: 
043312,002820: 
043313,002821: 00,3444           00006        SQRTNM2            EXTEND                                         #  SHIFT LEFT 2 AND INCREMENT RIGHT SHIFT
043314,002822: 00,3445           30146                           DCA      MPAC       +1                         #  COUNT (FOR TERMINAL UNNORMALIZATION).
043315,002823: 00,3446           20146                           DAS      MPAC       +1                         
043316,002824: 00,3447           60144                           AD       MPAC                                  
043317,002825: 00,3450           26144                           ADS      MPAC                                  #  (NO OVERFLOW).
043318,002826: 
043319,002827: 00,3451           24125        SQRTNORM           INCR     MPTEMP                                #  FIRST TIME THROUGH, JUST SHIFT LEFT 1
043320,002828: 00,3452           00006                           EXTEND                                         #  (PUTS IN EFFECTIVE RIGHT SHIFT SINCE
043321,002829: 00,3453           30146                           DCA      MPAC       +1                         #  WE WANT MPAC/2).
043322,002830: 00,3454           20146                           DAS      MPAC       +1                         
043323,002831: 
043324,002832: 00,3455           60144                           AD       MPAC                                  
043325,002833: 00,3456           26144                           ADS      MPAC                                  #  (AGAIN NO OVERFLOW).
043326,002834: 00,3457           60000                           DOUBLE                                         
043327,002835: 00,3460           54022                           TS       CYL                                   
043328,002836: 
043329,002837: 00,3461           10022        NORMTEST           CCS      CYL                                   #  SEE IF ARGUMENT NOW NORMALIZED AT
043330,002838: 00,3462           10022                           CCS      CYL                                   #  GREATER THAN .125.
043331,002839: 00,3463           13444                           TCF      SQRTNM2                               #  NO - SHIFT LEFT 2 MORE AND TRY AGAIN.
043332,002840: 00,3464           13366                           TCF      ARGHI                                 #  YES - NOW BETWEEN .5 AND .25.
043333,002841: 00,3465           13437                           TCF      ARGLO                                 #  ARGUMENT NOW BETWEEN .25 AND .125.
043334,002842: 

Page 972

043336,002844:                                                                                                  #  TRIGONOMETRIC FUNCTION PACKAGE.
043337,002845: 
043338,002846: 
043339,002847:                                                                                                  #           THE FOLLOWING TRIGONOMETRIC FUNCTIONS ARE AVAILABLE AS INTERPRETIVE OPERATIONS:
043340,002848: 
043341,002849:                                                                                                  #           1.  SIN                COMPUTES (1/2)SINE(2 PI MPAC).
043342,002850:                                                                                                  #           2.  COS                COMPUTES (1/2)COSINE(2 PI MPAC).
043343,002851: 
043344,002852:                                                                                                  #           3.  ASIN               COMPUTES (1/2PI)ARCSINE(2 MPAC).
043345,002853:                                                                                                  #           4.  ACOS               COMPUTES (1/2PI)ARCCOSINE(2 MPAC).
043346,002854: 
043347,002855:                                                                                                  #  SIN-ASIN AND COS-ACOS ARE MUTUALLY INVERSE, IE SIN(ASIN(X)) = X.
043348,002856: 
043349,002857: 
043350,002858: 
043351,002859: 00,3466           06772        COSINE             TC       BRANCH                                #  FINDS COSINE USING THE IDENTITY
043352,002860: 00,3467           13472                           TCF      +3                                    #  COS(X) = SIN(PI/2 - ABS(X)).
043353,002861: 00,3470           13475                           TCF      PRESINE                               
043354,002862: 00,3471           13475                           TCF      PRESINE                               
043355,002863: 
043356,002864: 00,3472           00006                 +3        EXTEND                                         
043357,002865: 00,3473           40145                           DCS      MPAC                                  
043358,002866: 00,3474           52145                           DXCH     MPAC                                  
043359,002867: 
043360,002868: 00,3475           37741        PRESINE            CAF      QUARTER                               #  PI/2 SCALED.
043361,002869: 00,3476           26144                           ADS      MPAC                                  
043362,002870: 
043363,002871: 
043364,002872: 
043365,002873: 
043366,002874: 00,3477           52145        SINE               DXCH     MPAC                                  #  DOUBLE ARGUMENT.
043367,002875: 00,3500           20001                           DDOUBL                                         
043368,002876: 00,3501           54000                           OVSK                                           #  SEE IF OVERFLOW PRESENT.
043369,002877: 00,3502           13505                           TCF      +3                                    #  IF NOT, ARGUMENT OK AS IS.
043370,002878: 
043371,002879: 00,3503           00006                           EXTEND                                         #  IF SO, WE LOST (OR GAINED) PI, SO
043372,002880: 00,3504           40001                           DCOM                                           #  COMPLEMENT MPAC USING THE IDENTITY
043373,002881: 
043374,002882:                                                                                                  #  SIN(X-(+)PI) = SIN(-X).
043375,002883: 00,3505           52145                 +3        DXCH     MPAC                                  
043376,002884: 00,3506           30144                           CA       MPAC                                  #  SEE IF ARGUMENT GREATER THAN .5 IN
043377,002885: 00,3507           60000                           DOUBLE                                         #  MAGNITUDE. IF SO, REDUCE IT TO LESS THAN
043378,002886: 00,3510           54001                           TS       L                                     #  .5 (+-PI/2 SCALED) AS FOLLOWS:
043379,002887: 00,3511           13522                           TCF      SN1                                   
043380,002888: 
043381,002889: 00,3512           50000                           INDEX    A                                     #  IF POSITIVE, FORM PI - X, IF NEGATIVE
043382,002890: 00,3513           37737                           CAF      NEG1/2     +1                         #  USE -PI - X.
043383,002891: 00,3514           60000                           DOUBLE                                         
043384,002892: 00,3515           00006                           EXTEND                                         
043385,002893: 00,3516           60144                           SU       MPAC                                  #  GUARANTEED NO OVERFLOW.
043386,002894: 
043387,002895: 00,3517           54144                           TS       MPAC                                  
043388,002896: 00,3520           40145                           CS       MPAC       +1                         
043389,002897: 00,3521           54145                           TS       MPAC       +1                         
043390,002898: 

Page 973

043392,002900: 00,3522           00006        SN1                EXTEND                                         #  SET UP TO EVALUATE HASTINGS POLYNOMIAL
043393,002901: 00,3523           30145                           DCA      MPAC                                  
043394,002902: 00,3524           52124                           DXCH     BUF2                                  
043395,002903: 00,3525           03250                           TC       DSQSUB                                #  SQUARE MPAC.
043396,002904: 
043397,002905: 00,3526           07265                           TC       POLY                                  #  EVALUATE FOURTH ORDER POLYNOMIAL.
043398,002906: 00,3527           00003                           DEC      3          B-14                       
043399,002907: 00,3530           14441 37325                     2DEC     +.3926990796                            
043400,002908: 
043401,002909: 
043402,002910: 00,3532           53250 60764                     2DEC     -.6459637111                            
043403,002911: 
043404,002912: 00,3534           12146 21276                     2DEC     +.318758717                            
043405,002913: 
043406,002914: 00,3536           75466 71471                     2DEC     -.074780249                            
043407,002915: 
043408,002916: 00,3540           00236 32757                     2DEC     +.009694988                            
043409,002917: 
043410,002918: 00,3542           32454                           CAF      LBUF2                                 #  MULTIPLY BY ARGUMENT AND SHIFT LEFT 2.
043411,002919: 
043412,002920: 00,3543           07151                           TC       DMPSUB     -1                         
043413,002921: 
043414,002922: 00,3544           00006                           EXTEND                                         
043415,002923: 00,3545           30146                           DCA      MPAC       +1                         
043416,002924: 00,3546           20146                           DAS      MPAC       +1                         
043417,002925: 00,3547           60144                           AD       MPAC                                  
043418,002926: 00,3550           26144                           ADS      MPAC                                  #  NEITHER SHIFT OVERFLOWS.
043419,002927: 00,3551           00006                           EXTEND                                         
043420,002928: 00,3552           30146                           DCA      MPAC       +1                         
043421,002929: 00,3553           20146                           DAS      MPAC       +1                         
043422,002930: 00,3554           60144                           AD       MPAC                                  
043423,002931: 00,3555           26144                           ADS      MPAC                                  
043424,002932: 
043425,002933: 00,3556           16115                           TCF      DANZIG                                
043426,002934: 

Page 974

043428,002936:                                                                                                  #           ARCSIN/ARCCOS ROUTINE.
043429,002937: 
043430,002938: 00,3557           33600        ARCSIN             CAF      LASINEX                               #  COMPUTE ARCSIN BY USING THE IDENTITY
043431,002939: 00,3560           13562                           TCF      +2                                    #  ARCSIN(X) = PI/2 - ARCCOS(X).
043432,002940: 
043433,002941: 00,3561           33662        ARCCOS             CAF      LDANZIG                               #  (EXITS IMMEDIATELY).
043434,002942: 00,3562           54126                           TS       ESCAPE                                
043435,002943: 00,3563           06772                           TC       BRANCH                                #  TEST SIGN OF INPUT.
043436,002944: 00,3564           13574                           TCF      ACOSST                                #  START IMMEDIATELY IF POSITIVE.
043437,002945: 00,3565           13674                           TCF      ACOSZERO                              #  ARCCOS(0) = PI/2 = .25.
043438,002946: 00,3566           00006                           EXTEND                                         #  IF NEGATIVE, USE THE IDENTITY
043439,002947: 00,3567           40145                           DCS      MPAC                                  #  ARCCOS(X) = PI - ARCCOS(-X), FORCING
043440,002948: 00,3570           52145                           DXCH     MPAC                                  #  ARGUMENT POSITIVE.
043441,002949: 00,3571           33677                           CAF      TCSUBTR                               #  SET EXIT  TO DO ABOVE BEFORE
043442,002950: 
043443,002951: 00,3572           56126                           XCH      ESCAPE                                #  ARCSIN/ARCCOS CONSIDERATIONS.
043444,002952: 00,3573           54127                           TS       ESCAPE2                               
043445,002953: 
043446,002954: 00,3574           47740        ACOSST             CS       HALF                                  #  TEST MAGNITUDE OF INPUT.
043447,002955: 00,3575           60144                           AD       MPAC                                  
043448,002956: 00,3576           10000                           CCS      A                                     
043449,002957: 00,3577           13670                           TCF      ACOSOVF                               #  THIS IS PROBABLY AN OVERFLOW CASE.
043450,002958: 
043451,002959: 00,3600           13656        LASINEX            TCF      ASINEX                                
043452,002960: 
043453,002961: 00,3601           13611                           TCF      ACOSST2                               #  NO OVERFLOW - PROCEED.
043454,002962: 
043455,002963: 00,3602           10145                           CCS      MPAC       +1                         #  IF MAJOR PART IS .5, CALL ANSWER 0
043456,002964: 00,3603           37761                           CAF      ZERO                                  #  UNLESS MINOR PART NEGATIVE.
043457,002965: 00,3604           13606                           TCF      ACOS=0                                
043458,002966: 
043459,002967: 00,3605           13611                           TCF      ACOSST2                               
043460,002968: 
043461,002969: 00,3606           54145        ACOS=0             TS       MPAC       +1                         
043462,002970: 00,3607           54144                           TS       MPAC                                  
043463,002971: 00,3610           00126                           TC       ESCAPE                                
043464,002972: 
043465,002973: 00,3611           00006        ACOSST2            EXTEND                                         #  NOW THAT ARGUMENT IS IN PROPER RANGE,
043466,002974: 
043467,002975: 00,3612           40145                           DCS      MPAC                                  #  BEGIN COMPUTATION. USE HASTINGS
043468,002976: 00,3613           67740                           AD       HALF                                  #  APPROXIMATION ARCCOS(X) = SQRT(1-X)P(X)
043469,002977: 00,3614           52145                           DXCH     MPAC                                  #  IN A SCALED VERSION WHERE P(X) IS A
043470,002978: 00,3615           52124                           DXCH     BUF2                                  #  SEVENTH ORDER POLYNOMIAL.
043471,002979: 
043472,002980: 00,3616           03313                           TC       SQRTSUB                               #  RETURNS WITH NORMALIZED SQUARE ROOT.
043473,002981: 
043474,002982: 00,3617           10125                           CCS      MPTEMP                                #  SEE IF UN-NORMALIZATION REQUIRED.
043475,002983: 00,3620           13663                           TCF      ACOSSHR                               #  IF SO.
043476,002984: 

Page 975

043478,002986: 00,3621           52145        ACOS3              DXCH     MPAC                                  #  SET UP FOR POLYNOMIAL EVALUATION.
043479,002987: 00,3622           52124                           DXCH     BUF2                                  
043480,002988: 00,3623           52145                           DXCH     MPAC                                  
043481,002989: 
043482,002990: 00,3624           07265                           TC       POLY                                  
043483,002991: 00,3625           00006                           DEC      6          B-14                       
043484,002992: 
043485,002993: 00,3626           13240 23630                     2DEC     +.353553385                            #  COEFFICIENTS ARE C 2(+I)/PISQRT(2) WHERE
043486,002994: 
043487,002995: 00,3630           74721 47775                     2DEC*    -.0483017006 B+1*                       #                    I
043488,002996: 
043489,002997: 00,3632           02440 20237                     2DEC*    +.0200273085 B+2*                       #       WHERE C STANDS FOR ORIGINAL COEFFS.
043490,002998: 
043491,002999: 00,3634           75067 70742                     2DEC*    -.0112931863 B+3*                       
043492,003000: 
043493,003001: 00,3636           03436 26756                     2DEC*    +.00695311612 B+4*                       
043494,003002: 
043495,003003: 00,3640           74037 57640                     2DEC*    -.00384617957 B+5*                       
043496,003004: 
043497,003005: 
043498,003006: 00,3642           03046 07143                     2DEC*    +.001501297736 B+6*                       
043499,003007: 
043500,003008: 00,3644           76654 42244                     2DEC*    -.000284160334 B+7*                       
043501,003009: 
043502,003010: 00,3646           32454                           CAF      LBUF2                                 #  DO FINAL MULTIPLY AND GO TO ANY
043503,003011: 00,3647           07151                           TC       DMPSUB     -1                         #  EPILOGUE SEQUENCES.
043504,003012: 00,3650           00126                           TC       ESCAPE                                
043505,003013: 
043506,003014: 00,3651           00006        SUBTR              EXTEND                                         #  EPILOGUE FOR NEGATIVE INPUTS TO ARCCOS.
043507,003015: 00,3652           40145                           DCS      MPAC                                  
043508,003016: 
043509,003017: 00,3653           67740                           AD       HALF                                  #  FORMS PI - ARCCOS(-X) = ARCCOS(X).
043510,003018: 00,3654           52145                           DXCH     MPAC                                  
043511,003019: 00,3655           00127                           TC       ESCAPE2                               #  GO TO POSSIBLE ARCSIN EPILOGUE.
043512,003020: 
043513,003021: 00,3656           00006        ASINEX             EXTEND                                         
043514,003022: 00,3657           40145                           DCS      MPAC                                  #  ARCSIN EPILOGUE - GET ARCSIN(X)
043515,003023: 00,3660           67741                           AD       QUARTER                               #  = PI/2 - ARCCOS(X).
043516,003024: 00,3661           52145                           DXCH     MPAC                                  
043517,003025: 00,3662           16115        LDANZIG            TCF      DANZIG                                
043518,003026: 

Page 976

043520,003028: 00,3663           50000        ACOSSHR            INDEX    A                                     #  THE SHIFT RIGHT IS LESS THAN 14 SINCE
043521,003029: 00,3664           37740                           CAF      BIT14                                 #  THE INPUT WAS NON-ZERO DP.
043522,003030: 
043523,003031: 00,3665           54125                           TS       MPTEMP                                
043524,003032: 00,3666           02073                           TC       VSHRRND                               #  DP SHIFT RIGHT AND ROUND.
043525,003033: 00,3667           13621                           TCF      ACOS3                                 #  PROCEED.
043526,003034: 
043527,003035: 00,3670           00006        ACOSOVF            EXTEND                                         #  IF MAJOR PART WAS ONLY 1 MORE THAN .5,
043528,003036: 00,3671           13606                           BZF      ACOS=0                                #  CALL ANSWER ZERO.
043529,003037: 
043530,003038: 00,3672           06000        ACOSABRT           TC       ABORT                                 
043531,003039: 00,3673           01301                           OCT      1301                                  
043532,003040: 
043533,003041: 00,3674           37741        ACOSZERO           CAF      QUARTER                               #  ACOS(0) = PI/2.
043534,003042: 00,3675           13607                           TCF      ACOS=0     +1                         #  SET MPAC AND EXIT VIA ESCAPE.
043535,003043: 
043536,003044: 00,3676           77763        NEG12              DEC      -12        B-14                       
043537,003045: 00,3677           13651        TCSUBTR            TCF      SUBTR                                 
043538,003046: 

Page 977

043540,003048:                                                                                                  #           THE FOLLOWING INSTRUCTIONS ARE AVAILABLE FOR SETTING, MODIFYING, AND BRANCHING ON INDEX REGISTERS:
043541,003049: 
043542,003050:                                                                                                  #           1.  AXT                ADDRESS TO INDEX TRUE.
043543,003051:                                                                                                  #           2.  AXC                ADDRESS TO INDEX COMPLEMENTED.
043544,003052:                                                                                                  #           3.  LXA                LOAD INDEX FROM ERASABLE.
043545,003053:                                                                                                  #           4.  LXC                LOAD INDEX COMPLEMENTED FROM ERASABLE.
043546,003054:                                                                                                  #           5.  SXA                STORE INDEX IN ERASABLE.
043547,003055:                                                                                                  #           6.  XCHX               EXCHANGE INDEX REIGSTER WITH ERASABLE.
043548,003056: 
043549,003057: 
043550,003058:                                                                                                  #           7.  INCR               INCREMENT INDEX REGISTER.
043551,003059:                                                                                                  #           8.  XAD                ERASABLE ADD TO INDEX REGISTER.
043552,003060:                                                                                                  #           9.  XSU                ERASABLE SUBTRACT FROM INDEX REGISTER.
043553,003061: 
043554,003062:                                                                                                  #          10.  TIX                BRANCH ON INDEX REGISTER AND DECREMENT.
043555,003063: 
043556,003064: 
043557,003065: 
043558,003066: 01,2557                                           BANK     01                                    
043559,003067: 
043560,003068: 01,2557           02654        AXT                TC       TAGSUB                                #  SELECT APPROPRIATE INDEX REGISTER.
043561,003069: 01,2560           30107                           CA       POLISH                                
043562,003070: 01,2561           50120        XSTORE             INDEX    INDEXLOC                              #  CONTAINS C(FIXLOC) OR C(FIXLOC)+1.
043563,003071: 01,2562           54046                           TS       X1                                    
043564,003072: 01,2563           16115                           TCF      DANZIG                                
043565,003073: 
043566,003074: 01,2564           02654        AXC                TC       TAGSUB                                
043567,003075: 01,2565           40107                           CS       POLISH                                
043568,003076: 01,2566           02561                           TC       XSTORE                                
043569,003077: 
043570,003078: 01,2567           02642        LXA                TC       15ADRERS                              #  LOAD INDEX REGISTER FROM ERASABLE.
043571,003079: 01,2570           50107                           INDEX    POLISH                                
043572,003080: 
043573,003081: 01,2571           30000                           CA       0                                     
043574,003082: 01,2572           12561                           TCF      XSTORE                                
043575,003083: 
043576,003084: 01,2573           02642        LXC                TC       15ADRERS                              #  LOAD NDX REG FROM ERASABLE COMPLEMENTED.
043577,003085: 01,2574           50107                           INDEX    POLISH                                
043578,003086: 01,2575           40000                           CS       0                                     
043579,003087: 01,2576           12561                           TCF      XSTORE                                
043580,003088: 
043581,003089: 01,2577           02642        SXA                TC       15ADRERS                              #  STORE INDEX REGISTER IN ERASABLE.
043582,003090: 01,2600           50120                           INDEX    INDEXLOC                              
043583,003091: 
043584,003092: 01,2601           30046                           CA       X1                                    
043585,003093: 01,2602           50107        MSTORE1            INDEX    POLISH                                
043586,003094: 01,2603           54000                           TS       0                                     
043587,003095: 01,2604           16115                           TCF      DANZIG                                
043588,003096: 

Page 978

043590,003098: 01,2605           02642        XCHX               TC       15ADRERS                              #  EXCHANGE INDEX REGISTER WITH ERASABLE.
043591,003099: 
043592,003100: 01,2606           50107                           INDEX    POLISH                                
043593,003101: 01,2607           30000                           CA       0                                     
043594,003102: 01,2610           50120                           INDEX    INDEXLOC                              
043595,003103: 01,2611           56046                           XCH      X1                                    
043596,003104: 01,2612           12602                           TCF      MSTORE1                               
043597,003105: 
043598,003106: 01,2613           02642        XAD                TC       15ADRERS                              #  ADD ERASABLE TO INDEX REGISTER.
043599,003107: 01,2614           50107                           INDEX    POLISH                                
043600,003108: 01,2615           30000                           CA       0                                     
043601,003109: 01,2616           50120        XAD2               INDEX    INDEXLOC                              
043602,003110: 01,2617           26046                           ADS      X1                                    #  IGNORING OVERFLOWS.
043603,003111: 01,2620           16115                           TCF      DANZIG                                
043604,003112: 
043605,003113: 
043606,003114: 01,2621           02654        INCR               TC       TAGSUB                                #  INCREMENT INDEX REGISTER.
043607,003115: 01,2622           30107                           CA       POLISH                                
043608,003116: 01,2623           12616                           TCF      XAD2                                  
043609,003117: 
043610,003118: 01,2624           02642        XSU                TC       15ADRERS                              #  SUBTRACT ERASABLE FROM INDEX REGISTER.
043611,003119: 01,2625           50107                           INDEX    POLISH                                
043612,003120: 01,2626           40000                           CS       0                                     
043613,003121: 01,2627           12616                           TCF      XAD2                                  
043614,003122: 
043615,003123: 
043616,003124: 
043617,003125: 01,2630           02654        TIX                TC       TAGSUB                                #  BRANCH AND DECREMENT ON INDEX.
043618,003126: 01,2631           50120                           INDEX    INDEXLOC                              
043619,003127: 01,2632           40050                           CS       S1                                    
043620,003128: 01,2633           50120                           INDEX    INDEXLOC                              
043621,003129: 01,2634           60046                           AD       X1                                    
043622,003130: 01,2635           00006                           EXTEND                                         #  NO OPERATION IF DECREMENTED INDEX IS
043623,003131: 01,2636           66115                           BZMF     DANZIG                                #  NEGATIVE OR ZERO.
043624,003132: 
043625,003133: 01,2637           50120        DOTIXBR            INDEX    INDEXLOC                              
043626,003134: 01,2640           56046                           XCH      X1                                    #  IGNORING OVERFLOWS.
043627,003135: 
043628,003136: 
043629,003137: 01,2641           16715                           TCF      GOTO                                  #  DO THE BRANCH USING THE CADR IN POLISH.
043630,003138: 

Page 979

043632,003140:                                                                                                  #           SUBROUTINE TO CONVERT AN ERASABLE ADDRESS (11 BITS) TO AN EBANK SETTING AND SUBADDRESS.
043633,003141: 
043634,003142: 01,2642           40107        15ADRERS           CS       POLISH                                
043635,003143: 01,2643           65371                           AD       DEC45                                 
043636,003144: 01,2644           10000                           CCS      A                                     #  DOES THE ADDRESS POINT TO THE WORK AREA?
043637,003145: 01,2645           30110                           CA       FIXLOC                                #  YES.  ADD FIXLOC.  EBANK OK AS IS.
043638,003146: 
043639,003147: 01,2646           12653                           TCF      +5                                    
043640,003148: 
043641,003149: 01,2647           35370                           CA       OCT1400                               #  NO.  SET EBANK & MAKE UP SUBADDRESS.
043642,003150: 01,2650           56107                           XCH      POLISH                                
043643,003151: 01,2651           54003                           TS       EBANK                                 
043644,003152: 01,2652           74553                           MASK     LOW8                                  
043645,003153: 01,2653           26107                 +5        ADS      POLISH                                #  FALL INTO TAGSUB, AND RETURN VIA Q.
043646,003154: 
043647,003155:                                                                                                  #           SUBROUTINE WHICH SETS THE ADDRESS OF THE SPECIFIED INDEX IN INDEXLOC. (ACTUALLY, THE ADDRESS -38D.)
043648,003156: 
043649,003157: 01,2654           30110        TAGSUB             CA       FIXLOC                                
043650,003158: 01,2655           54120                           TS       INDEXLOC                              
043651,003159: 
043652,003160: 
043653,003161: 01,2656           10020                           CCS      CYR                                   #  BIT 15 SPECIFIES INDEX.
043654,003162: 01,2657           24120                           INCR     INDEXLOC                              #  0 MEANS USE X2.
043655,003163: 01,2660           00002                           TC       Q                                     
043656,003164: 01,2661           00002                           TC       Q                                     #  1 FOR X1.
043657,003165: 

Page 980

043659,003167:                                                                                                  #           MISCELLANEOUS OPERATION CODES WITH DIRECT ADDRESSES. INCLUDED HERE ARE:
043660,003168: 
043661,003169: 
043662,003170:                                                                                                  #           1.  ITA                STORE QPRET (RETURN ADDRESS) IN ERASABLE.
043663,003171:                                                                                                  #           2.  CALL               CALL A SUBROUTINE, LEAVING RETURN IN QPRET.
043664,003172:                                                                                                  #           3.  RTB                RETURN TO BASIC LANGUAGE AT THE GIVEN ADDRESS.
043665,003173:                                                                                                  #           4.  BHIZ               BRANCH IF THE HIGH ORDER OF MPAC IS ZERO (SINGLE PRECISION).
043666,003174:                                                                                                  #           5.  BOV                BRANCH ON OVERFLOW.
043667,003175:                                                                                                  #           6.  GOTO               SIMPLE SEQUENCE CHANGE.
043668,003176: 
043669,003177: 01,2662           10020        RTB/BHIZ           CCS      CYR                                   
043670,003178: 01,2663           30107        RTB                CA       POLISH                                
043671,003179: 01,2664           15246                           TCF      BANKJUMP                              #  CALL BASIC ROUTINE.
043672,003180: 
043673,003181: 
043674,003182: 01,2665           10144        BHIZ               CCS      MPAC                                  
043675,003183: 01,2666           16115                           TCF      DANZIG                                
043676,003184: 01,2667           16715                           TCF      GOTO                                  
043677,003185: 01,2670           16115                           TCF      DANZIG                                
043678,003186: 01,2671           16715                           TCF      GOTO                                  
043679,003187: 
043680,003188: 01,2672           10111        BOV(B)             CCS      OVFIND                                #  BRANCH ON OVERFLOW TO BASIC OR INTERP.
043681,003189: 01,2673           12675                           TCF      +2                                    
043682,003190: 01,2674           16115                           TCF      DANZIG                                
043683,003191: 01,2675           54111                           TS       OVFIND                                
043684,003192: 01,2676           10020                           CCS      CYR                                   
043685,003193: 
043686,003194: 01,2677           12663                           TCF      RTB                                   #  IF BASIC.
043687,003195: 01,2700           00360        B5TOB8             OCT      360                                   
043688,003196: 01,2701           16715                           TCF      GOTO                                  
043689,003197: 

Page 981

043691,003199: 01,2702           10020        BZE/GOTO           CCS      CYR                                   #  SEE WHICH OP-CODE IS DESIRED.
043692,003200: 01,2703           06772                           TC       BRANCH                                #  DO BZE.
043693,003201: 01,2704           16115                           TCF      DANZIG                                
043694,003202: 01,2705           16715                           TCF      GOTO                                  #  DO GOTO.
043695,003203: 01,2706           16115                           TCF      DANZIG                                
043696,003204: 
043697,003205: 01,2707           10020        BPL/BMN            CCS      CYR                                   
043698,003206: 01,2710           12716                           TCF      BPL                                   
043699,003207: 
043700,003208: 01,2711           12000        5B10               DEC      5          B+10                       #  SHIFTS OP CODE IN SWITCH INSTRUCTION ADR
043701,003209: 
043702,003210: 01,2712           06772                           TC       BRANCH                                #  DO BMN.
043703,003211: 01,2713           16115                           TCF      DANZIG                                
043704,003212: 01,2714           16115                           TCF      DANZIG                                
043705,003213: 01,2715           16715                           TCF      GOTO                                  #  ONLY IF NNZ.
043706,003214: 
043707,003215: 01,2716           06772        BPL                TC       BRANCH                                
043708,003216: 01,2717           16715                           TCF      GOTO                                  #  IF POSITIVE OR ZERO.
043709,003217: 01,2720           16715                           TCF      GOTO                                  
043710,003218: 01,2721           16115                           TCF      DANZIG                                
043711,003219: 
043712,003220: 01,2722           10020        CALL/ITA           CCS      CYR                                   
043713,003221: 01,2723           16707                           TCF      CALL                                  
043714,003222: 
043715,003223: 01,2724           04725                           TC       CCSHOLE                               
043716,003224: 01,2725           02642                           TC       15ADRERS                              #  STORE QPRET. (TAGSUB AFTER 15ADRERS IS
043717,003225: 01,2726           50110                           INDEX    FIXLOC                                #  SLOW IN THIS CASE, BUT SAVES STORAGE.)
043718,003226: 01,2727           30052                           CA       QPRET                                 
043719,003227: 01,2730           12602                           TCF      MSTORE1                               
043720,003228: 

Page 982

043722,003230:                                                                                                  #           THE FOLLOWING OPERATIONS ARE AVAILABLE FOR ALTERING AND TESTING INTERPRETIVE SWITCHES:
043723,003231: 
043724,003232:                                                                                                  #  00       BONSET                 SET A SWITCH AND DO A GOTO IF IT WAS ON.
043725,003233:                                                                                                  #  01       SETGO                  SET A SWITCH AND DO A GOTO.
043726,003234:                                                                                                  #  02       BOFSET                 SET A SWITCH AND DO A GOTO IF IT WAS OFF
043727,003235:                                                                                                  #  03       SET                    SET A SWITCH.
043728,003236: 
043729,003237:                                                                                                  #  04       BONINV                 INVERT A SWITCH AND BRANCH IF IT WAS ON.
043730,003238:                                                                                                  #  05       INVGO                  INVERT A SWITCH AND DO A GOTO.
043731,003239:                                                                                                  #  06       BOFINV                 INVERT A SWITCH AND BRANCH IF IT WAS OFF
043732,003240:                                                                                                  #  07       INVERT                 INVERT A SWITCH.
043733,003241: 
043734,003242:                                                                                                  #  10       BONCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS ON.
043735,003243:                                                                                                  #  11       CLRGO                  CLEAR A SWITCH AND DO A GOTO.
043736,003244: 
043737,003245:                                                                                                  #  12       BOFCLR                 CLEAR A SWITCH AND BRANCH IF IT WAS OFF.
043738,003246:                                                                                                  #  13       CLEAR                  CLEAR A SWITCH.
043739,003247: 
043740,003248:                                                                                                  #  14       BON                    BRANCH IF A SWITCH WAS ON.
043741,003249:                                                                                                  #  16       BOFF                   BRANCH IF A SWITCH WAS OFF.
043742,003250: 
043743,003251: 
043744,003252: 
043745,003253:                                                                                                  #           THE ADDRESS SUPPLIED WITH THE SWITCH INSTRUCTION IS INTERPRETED AS FOLLOWS:
043746,003254: 
043747,003255:                                                                                                  #           BITS 1-4    SWITCH BIT NUMBER (1-15).
043748,003256:                                                                                                  #           BITS 5-8    SWITCH OPERATION NUMBER.
043749,003257:                                                                                                  #           BITS 9-     SWITCH WORD NUMBER (UP TO 64 SWITCH WORDS).
043750,003258: 
043751,003259:                                                                                                  #           THE ADDRESS ITSELF IS MADE UP BY THE YUL SYSTEM ASSEMBLER. THE BRANCH INSTRUCTIONS REQUIRE TWO
043752,003260:                                                                                                  #  ADDRESSES, THE SECOND TAKEN AS THE DIRECT (OR INDIRECT IF IN ERASABLE) ADDRESS OF THE BRANCH.
043753,003261: 
043754,003262: 
043755,003263: 
043756,003264: 01,2731           35361        SWITCHES           CAF      LOW4                                  #  LEAVE THE SWITCH BIT IN SWBIT  .
043757,003265: 01,2732           70107                           MASK     POLISH                                
043758,003266: 01,2733           50000                           INDEX    A                                     
043759,003267: 01,2734           37737                           CAF      BIT15                                 #  (NUMBER FROM LEFT TO RIGHT.)
043760,003268: 
043761,003269: 01,2735           54121                           TS       SWBIT                                 
043762,003270: 
043763,003271: 01,2736           37747                           CAF      BIT7                                  #  LEAVE THE SWITCH NUMBER IN SWWORD.
043764,003272: 01,2737           00006                           EXTEND                                         
043765,003273: 01,2740           70107                           MP       POLISH                                
043766,003274: 01,2741           54120                           TS       SWWORD                                
043767,003275: 
043768,003276: 01,2742           00004                           INHINT                                         #  DURING SWITCH CHANGE SO RUPT CAN USE TOO
043769,003277: 01,2743           50000                           INDEX    A                                     #  LEAVE THE SWITCH WORD ITSELF IN L.
043770,003278: 01,2744           30074                           CA       STATE                                 
043771,003279: 
043772,003280: 01,2745           54002                           TS       Q                                     #  Q WILL BE USED AS A CHANNEL.

Page 983

043774,003282: 01,2746           37743                           CAF      BIT11                                 
043775,003283: 01,2747           00006                           EXTEND                                         #  DISPATCH SWITCH BIT OPERATION AS IN BITS
043776,003284: 01,2750           70107                           MP       POLISH                                #  7-8 OF POLISH.
043777,003285: 01,2751           73011                           MASK     B3TOB4                                #  GETS 4X2-BIT CODE.
043778,003286: 01,2752           50000                           INDEX    A                                     
043779,003287: 01,2753           12754                           TCF      +1                                    
043780,003288: 
043781,003289: 
043782,003290: 01,2754           30121                 +1        CA       SWBIT                                 #  00 - SET SWITCH IN QUESTION.
043783,003291: 01,2755           00006                           EXTEND                                         
043784,003292: 01,2756           04002                           ROR      Q                                     
043785,003293: 01,2757           12766                           TCF      SWSTORE                               
043786,003294: 
043787,003295: 01,2760           30121                 +5        CA       SWBIT                                 #  01 - INVERT SWITCH.
043788,003296: 01,2761           00006                           EXTEND                                         
043789,003297: 01,2762           06002                           RXOR     Q                                     
043790,003298: 01,2763           12766                           TCF      SWSTORE                               
043791,003299: 
043792,003300: 01,2764           40121                 +9D       CS       SWBIT                                 #  10 - CLEAR.
043793,003301: 
043794,003302: 01,2765           70002                           MASK     Q                                     
043795,003303: 01,2766           50120        SWSTORE            INDEX    SWWORD                                
043796,003304: 01,2767           54074                           TS       STATE                                 #  NEW SWITCH WORD.
043797,003305: 

Page 984

043799,003307: 01,2770           00003                 +13D      RELINT                                         #  11 - NOOP.
043800,003308: 01,2771           37741                           CAF      BIT13                                 
043801,003309: 
043802,003310: 01,2772           00006                           EXTEND                                         #  DISPATCH SEQUCE CHANGING OR BRANCHING
043803,003311: 01,2773           70107                           MP       POLISH                                #  CODE.
043804,003312: 01,2774           73011                           MASK     B3TOB4                                
043805,003313: 01,2775           50000                           INDEX    A                                     
043806,003314: 01,2776           12777                           TCF      +1                                    #  ORIGINALLY STORED IN BITS 5-6.
043807,003315: 
043808,003316: 01,2777           40002                 +1        CS       Q                                     #  00 - BRANCH IF ON.
043809,003317: 01,3000           70121        TEST               MASK     SWBIT                                 
043810,003318: 01,3001           10000                           CCS      A                                     
043811,003319: 01,3002           13012                           TCF      SWSKIP                                
043812,003320: 
043813,003321: 01,3003           16764                 +5        TCF      SWBRANCH                              #  01 - GO TO.
043814,003322: 
043815,003323: 01,3004           13012                           TCF      SWSKIP                                #  HERE ONLY ON BIT 15.
043816,003324: 
043817,003325: 01,3005           04725                           TC       CCSHOLE                               
043818,003326: 01,3006           04725                           TC       CCSHOLE                               
043819,003327: 
043820,003328: 01,3007           30002                 +9D       CA       Q                                     #  10 - BRANCH IF OFF.
043821,003329: 01,3010           13000                           TCF      TEST                                  
043822,003330: 
043823,003331: 01,3011           00014        B3TOB4             OCT      14                                    
043824,003332: 
043825,003333: 
043826,003334: 01,3012           24154        SWSKIP             INCR     LOC                                   
043827,003335: 
043828,003336: 01,3013  01,2731               SW/                EQUALS   SWITCHES                              
043829,003337: 
043830,003338: 01,3013           16115                 +13D      TCF      DANZIG                                #  11 - NOOP.

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