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.

044493,000002:                                                                                                  ## Copyright:   Public domain.
044494,000003:                                                                                                  ## Filename:    WAITLIST.agc
044495,000004:                                                                                                  ## Purpose:     A section of Sunburst revision 37, or Shepatin revision 0.
044496,000005:                                                                                                  ##              It is part of an early development version of the software
044497,000006:                                                                                                  ##              for Apollo Guidance Computer (AGC) on the unmanned Lunar
044498,000007:                                                                                                  ##              Module (LM) flight Apollo 5. Sunburst 37 was the program
044499,000008:                                                                                                  ##              upon which Don Eyles's offline development program Shepatin
044500,000009:                                                                                                  ##              was based; the listing herein transcribed was actually for
044501,000010:                                                                                                  ##              the equivalent revision 0 of Shepatin.
044502,000011:                                                                                                  ##              This file is intended to be a faithful transcription, except
044503,000012:                                                                                                  ##              that the code format has been changed to conform to the
044504,000013:                                                                                                  ##              requirements of the yaYUL assembler rather than the
044505,000014:                                                                                                  ##              original YUL assembler.
044506,000015:                                                                                                  ## Reference:   pp. 1001-1013
044507,000016:                                                                                                  ## Assembler:   yaYUL
044508,000017:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
044509,000018:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
044510,000019:                                                                                                  ## Mod history: 2017-05-24 MAS  Created from Sunburst 120.
044511,000020:                                                                                                  ##              2017-06-03 TVB  Transcribed.
044512,000021:                                                                                                  ##              2017-06-15 HG   Fix operator XCH -> TS
044513,000022:                                                                                                  ##              2017-06-23 RSB  Proofed comment text with
044514,000023:                                                                                                  ##                              octopus/ProoferComments.
044515,000024: 

Page 1001

044517,000026: 
044518,000027:                                                                                                  #  PROGRAM DESCRIPTION                                                           DATE - 10 OCTOBER 1966
044519,000028:                                                                                                  #  MOD NO - 2                                                                    LOG SECTION - WAITLIST
044520,000029:                                                                                                  #  MOD BY - MILLER      (DTMAX INCREASED TO 162.5 SEC)                           ASSEMBLY SUNBURST REV 5
044521,000030: 
044522,000031:                                                                                                  #  FUNCTIONAL DESCRIPTION-
044523,000032:                                                                                                  #             PART OF A SECTION OF PROGRAMS,-WAITLIST, TASKOVER, T3RUPT, USED TO CALL A PROGRAM, (CALLED A TASK),
044524,000033:                                                                                                  #        WHICH IS TO BEGIN IN C(A) CENTISECONDS.  WAITLIST UPDATES TIME3, LST1 AND LST2.  THE MEANING OF THESE LISTS
044525,000034:                                                                                                  #        FOLLOW.
044526,000035: 
044527,000036:                                                                                                  #                C(TIME3) = 16384 -(T1-T) CENTISECONDS, (T=PRESENT TIME, T1-TIME FOR TASK1)
044528,000037: 
044529,000038:                                                                                                  #                        C(LST1)         =       -(T2-T1)+1
044530,000039:                                                                                                  #                        C(LST1 +1)      =       -(T3-T2)+1
044531,000040:                                                                                                  #                        C(LST1 +2)      =       -(T4-T3)+1
044532,000041:                                                                                                  #                                        .
044533,000042:                                                                                                  #                                        .
044534,000043:                                                                                                  #                        C(LST1 +6)      =       -(T8-T7)+1
044535,000044:                                                                                                  #                        C(LST1 +7)      =       -(T9-T8)+1
044536,000045: 
044537,000046:                                                                                                  #                        C(LST2)         =       2CADR OF TASK1
044538,000047:                                                                                                  #                        C(LST2 +2)      =       2CADR OF TASK2
044539,000048:                                                                                                  #                                        .
044540,000049:                                                                                                  #                                        .
044541,000050:                                                                                                  #                        C(LST2 +14)     =       2CADR OF TASK8
044542,000051:                                                                                                  #                        C(LST2 +16)     =       2CADR OF TASK9
044543,000052: 
044544,000053:                                                                                                  #  WARNINGS-
044545,000054:                                                                                                  #  --------
044546,000055:                                                                                                  #        1)      1 <= C(A) <= 16250D (1 CENTISECOND TO 162.5 SEC)
044547,000056:                                                                                                  #        2)      9 TASKS MAXIMUM
044548,000057:                                                                                                  #        3)      TASKS CALLED UNDER INTERRUPT INHIBITED
044549,000058:                                                                                                  #        4)      TASKS END BY TC TASKOVER
044550,000059: 
044551,000060:                                                                                                  #  CALLING SEQUENCE-
044552,000061:                                                                                                  #        L-2     CAF     DELTAT  (TIME IN CENTISECONDS TO TASK START)
044553,000062:                                                                                                  #        L-1     INHINT
044554,000063:                                                                                                  #        L       TC      WAITLIST
044555,000064:                                                                                                  #        L+1     2CADR   DESIRED TASK
044556,000065:                                                                                                  #        L+2     (MINOR OF 2CADR)
044557,000066:                                                                                                  #        L+3     RELINT          (RETURNS HERE)
044558,000067: 
044559,000068:                                                                                                  #  NORMAL EXIT MODES-
044560,000069: 
044561,000070:                                                                                                  #        AT L+3 OF CALLING SEQUENCE
044562,000071: 
044563,000072:                                                                                                  #  ALARM OR ABORT EXIT MODES-
044564,000073: 

Page 1002

044566,000075: 
044567,000076:                                                                                                  #        TC      ABORT
044568,000077:                                                                                                  #        OCT     1203    (WAITLIST OVERFLOW - TOO MANY TASKS)
044569,000078: 
044570,000079:                                                                                                  #  ERASABLE INITIALIZATION REQUIRED-
044571,000080: 
044572,000081:                                                                                                  #        ACCOMPLISHED BY FRESH START,--LST2,..., LST2 +16 =ENDTASK
044573,000082:                                                                                                  #                                      LST1,..., LST1 +7  =NEG1/2
044574,000083: 
044575,000084:                                                                                                  #  OUTPUT--
044576,000085: 
044577,000086:                                                                                                  #        LST1 AND LST2 UPDATED WITH NEW TASK AND ASSOCIATED TIME.
044578,000087: 
044579,000088:                                                                                                  #  DEBRIS-
044580,000089: 
044581,000090:                                                                                                  #        CENTRALS- A,Q,L
044582,000091:                                                                                                  #        OTHER   - WAITEXIT, WAITADR, WAITTEMP, WAITBANK
044583,000092:                                                                                                  #  DETAILED ANALYSIS OF TIMING-
044584,000093: 
044585,000094:                                                                                                  #             CONTROL WILL NOT BE RETURNED TO THE SPECIFIED ADDRESS (2CADR) IN EXACTLY DELTA T CENTISECONDS.
044586,000095:                                                                                                  #        THE APPROXIMATE TIME MAY BE CALCULATED AS FOLLOWS
044587,000096: 
044588,000097:                                                                                                  #                LET TO = THE TIME OF THE TC WAITLIST
044589,000098:                                                                                                  #                LET TS = TO +147U + COUNTER INCREMENTS (SET UP TIME)
044590,000099:                                                                                                  #                LET X  = TS -(100TS)/100  (VARIANCE FROM COUNTERS)
044591,000100:                                                                                                  #                LET Y  = LENGTH OF TIME OF INHIBIT INTERRUPT AFTER T3RUPT
044592,000101:                                                                                                  #                LET Z  = LENGTH OF TIME TO PROCESS TASKS WHICH ARE DUE THIS T3RUPT BUT DISPATCHED EARLIER.
044593,000102:                                                                                                  #        (Z=0, USUALLY)
044594,000103:                                                                                                  #                LET DELTD = THE ACTUAL TIME TAKEN TO GIVE CONTROL TO 2CADR
044595,000104:                                                                                                  #             THEN   DELTD = TS+DELTA T -X +Y +Z +1.05MS* +COUNTERS*
044596,000105: 
044597,000106:                                                                                                  #        *-THE TIME TAKEN BY WAITLIST ITSELF AND THE COUNTER TICKING DURING THIS WAITLIST TIME.
044598,000107: 
044599,000108:                                                                                                  #             IN SHORT, THE ACTUAL TIME TO RETURN CONTROL TO A 2CADR IS AUGMENTED BY THE TIME TO SET UP THE TASK:S
044600,000109:                                                                                                  #        INTERRUPT, ALL COUNTERS TICKING, THE T3RUPT PROCESSING TIME, THE WAITLIST PROCESSING TIME AND THE POSSIBILITY
044601,000110:                                                                                                  #        OF OTHER TASKS INHIBITING THE INTERRUPT.
044602,000111: 
044603,000112:    5701                                           BLOCK    02                                    
044604,000113:    5701  E3,1400                                  EBANK=   LST1                                  #  TASK LISTS IN SWITCHED E BANK.
044605,000114: 
044606,000115:    5701           56002        WAITLIST           XCH      Q                                     #   SAVE DELTA T IN Q AND RETURN IN                                          
044607,000116:    5702           54061                           TS       WAITEXIT                              #  WAITEXIT.
044608,000117:    5703           00006                           EXTEND                                         
044609,000118:    5704           50000                           INDEX    A                                     
044610,000119:    5705           30001                           DCA      0                                     #  PICK UP 2CADR OF TASK.
044611,000120:    5706           54063                           TS       WAITADR                               #  BBCON WILL REMAIN IN L.
044612,000121:    5707           35716        DLY2               CAF      WAITBB                                #  ENTRY FROM FIXDELAY AND VARDELAY.
044613,000122:    5710           56006                           XCH      BBANK                                 
044614,000123:    5711           13360                           TCF      WAIT2                                 
044615,000124: 
044616,000125:                                                                                                  #  RETURN TO CALLER AFTER TASK INSERTION:
044617,000126: 

Page 1003

044619,000128: 
044620,000129:    5712           30062        LVWTLIST           CA       WAITBANK                              
044621,000130:    5713           54006                           TS       BBANK                                 
044622,000131:    5714           50061                           INDEX    WAITEXIT                              
044623,000132:    5715           00002                           TC       2                                     
044624,000133: 
044625,000134:    5716  E3,1400                                  EBANK=   LST1                                  
044626,000135:    5716           02003        WAITBB             BBCON    WAIT2                                 
044627,000136: 
044628,000137:                                                                                                  #  RETURN TO CALLER +2 AFTER WAITING DT SPECIFIED AT CALLER +1.
044629,000138: 
044630,000139:    5717           50002        FIXDELAY           INDEX    Q                                     #  BOTH ROUTINES MUST BE CALLED UNDER
044631,000140:    5720           30000                           CAF      0                                     #  WAITLIST CONTROL AND TERMINATE THE TASK
044632,000141:    5721           24002                           INCR     Q                                     #  IN WHICH THEY WERE CALLED.
044633,000142: 
044634,000143:                                                                                                  #  RETURN TO CALLER +1 AFTER WAITING THE DT AS ARRIVING IN A.
044635,000144: 
044636,000145:    5722           56002        VARDELAY           XCH      Q                                     #  DT TO Q. TASK ADRES TO WAITADR.
044637,000146:    5723           54063                           TS       WAITADR                               
044638,000147:    5724           30006                           CA       BBANK                                 #  BBANK IS SAVED DURING DELAY.
044639,000148:    5725           54001                           TS       L                                     
044640,000149:    5726           35731                           CAF      DELAYEX                               
044641,000150:    5727           54061                           TS       WAITEXIT                              #  GO TO TASKOVER AFTER TASK ENTRY.
044642,000151:    5730           15707                           TCF      DLY2                                  
044643,000152: 
044644,000153:    5731           15743        DELAYEX            TCF      TASKOVER   -2                         #  RETURNS TO TASKOVER
044645,000154: 

Page 1004

044647,000156: 
044648,000157:                                                                                                  #  ENDTASK MUST BE ENTERED IN FIXED-FIXED SO IT IS DISTINGUISHABLE BY ITS ADRES ALONE.
044649,000158: 
044650,000159:    5732  E3,1400                                  EBANK=   LST1                                  
044651,000160:    5732           72043 73774  ENDTASK            -2CADR   SVCT3                                 
044652,000161: 
044653,000162:    5734           10076        SVCT3              CCS      FLAGWRD2                              #  DRIFT FLAG
044654,000163:    5735           15745                           TCF      TASKOVER                              
044655,000164:    5736           15745                           TCF      TASKOVER                              
044656,000165:    5737           15740                           TCF      +1                                    
044657,000166: 
044658,000167:    5740           35674                           CAF      PRIO35                                #  COMPENSATE FOR NBD COEFFICIENTS ONLY
044659,000168:    5741           05523                           TC       NOVAC                                 #      ENABLE EVERY 81.93 SECONDS
044660,000169:    5742  E3,1444                                  EBANK=   NBDX                                  
044661,000170:    5742           03503 24003                     2CADR    NBDONLY                               
044662,000171: 
044663,000172:    5744           15745                           TCF      TASKOVER                              
044664,000173: 

Page 1005

044666,000175: 
044667,000176:                                                                                                  #  BEGIN TASK INSERTION.
044668,000177: 
044669,000178: 01,3360                                           BANK     01                                    
044670,000179: 01,3360           54062        WAIT2              TS       WAITBANK                              #  BBANK OF CALLING PROGRAM.
044671,000180: 01,3361           40026                           CS       TIME3                                 
044672,000181: 01,3362           67746                           AD       BIT8                                  #  BIT 8 = OCT 200
044673,000182: 01,3363           10000                           CCS      A                                     #  TEST 200 - C(TIME3).  IF POSITIVE,
044674,000183:                                                                                                  #  IT MEANS THAT TIME3 OVERFLOW HAS OCCURRED PRIOR TO CS TIME3 AND THAT
044675,000184:                                                                                                  #  C(TIME3) = T - T1, INSTEAD OF 1.0 - (T1 - T).  THE FOLLOWING FOUR
044676,000185:                                                                                                  #  ORDERS SET C(A) = TD - T1 + 1 IN EITHER CASE.
044677,000186: 
044678,000187: 01,3364           66143                           AD       OCT40001                              #  OVERFLOW HAS OCCURRED.  SET C(A) =
044679,000188: 01,3365           40000                           CS       A                                     #  T - T1 + 1.0 - 201
044680,000189: 
044681,000190:                                                                                                  #  NORMAL CASE (C(A) NNZ) YIELDS SAME C(A):  -( -(1.0-(T1-T)) + 200) - 1
044682,000191: 
044683,000192: 01,3366           63514                           AD       OCT40201                              
044684,000193: 01,3367           60002                           AD       Q                                     #  RESULT = TD - T1 + 1.
044685,000194: 
044686,000195: 01,3370           10000                           CCS      A                                     #  TEST TD - T1 + 1
044687,000196: 
044688,000197: 01,3371           61400                           AD       LST1                                  #  IF TD - T1 POS, GO TO WTLST5 WITH
044689,000198: 01,3372           13434                           TCF      WTLST5                                #  C(A) = (TD - T1) + C(LST1) = TD-T2+1
044690,000199: 
044691,000200: 01,3373           13374                           NOOP                                           
044692,000201: 01,3374           40002                           CS       Q                                     
044693,000202: 
044694,000203:                                                                                                  #  NOTE THAT THIS PROGRAM SECTION IS NEVER ENTERED WHEN T-T1 G/E -1,
044695,000204:                                                                                                  #  SINCE TD-T1+1 = (TD-T) + (T-T1+1), AND DELTA T = TD-T G/E +1.  (G/E
044696,000205:                                                                                                  #  SYMBOL MEANS GREATER THAN OR EQUAL TO).  THUS THERE NEED BE NO CON-
044697,000206:                                                                                                  #  CERN OVER A PREVIOUS OR IMMINENT OVERFLOW OF TIME3 HERE.
044698,000207: 
044699,000208: 01,3375           67740                           AD       POS1/2                                #  WHEN TD IS NEXT, FORM QUANTITY
044700,000209: 01,3376           67740                           AD       POS1/2                                #        1.0 - DELTA T = 1.0 - (TD - T)
044701,000210: 01,3377           56026                           XCH      TIME3                                 
044702,000211: 01,3400           67737                           AD       NEGMAX                                
044703,000212: 01,3401           60002                           AD       Q                                     #  1.0 - DELTAT T NOW COMPLETE.
044704,000213: 01,3402           00006                           EXTEND                                         #  ZERO INDEX Q.
044705,000214: 01,3403           22007                           QXCH     7                                     #  (ZQ)
044706,000215: 

Page 1006

044708,000217: 01,3404           57400        WTLST4             XCH      LST1                                  
044709,000218: 01,3405           57401                           XCH      LST1       +1                         
044710,000219: 01,3406           57402                           XCH      LST1       +2                         
044711,000220: 01,3407           57403                           XCH      LST1       +3                         
044712,000221: 01,3410           57404                           XCH      LST1       +4                         
044713,000222: 01,3411           57405                           XCH      LST1       +5                         
044714,000223: 01,3412           57406                           XCH      LST1       +6                         
044715,000224: 01,3413           57407                           XCH      LST1       +7                         
044716,000225: 
044717,000226: 01,3414           30063                           CA       WAITADR                               #  (MINOR PART OF TASK CADR HAS BEEN IN L.)
044718,000227: 01,3415           50002                           INDEX    Q                                     
044719,000228: 01,3416           13417                           TCF      +1                                    
044720,000229: 
044721,000230: 01,3417           53411                           DXCH     LST2                                  
044722,000231: 01,3420           53413                           DXCH     LST2       +2                         
044723,000232: 01,3421           53415                           DXCH     LST2       +4                         
044724,000233: 01,3422           53417                           DXCH     LST2       +6                         
044725,000234: 01,3423           53421                           DXCH     LST2       +8D                        
044726,000235: 01,3424           53423                           DXCH     LST2       +10D                       #  AT END, CHECK THAT C(LST2+10) IS STD
044727,000236: 01,3425           53425                           DXCH     LST2       +12D                       
044728,000237: 01,3426           53427                           DXCH     LST2       +14D                       
044729,000238: 01,3427           53431                           DXCH     LST2       +16D                       
044730,000239: 01,3430           65732                           AD       ENDTASK                               #  END ITEM, AS CHECK FOR EXCEEDING
044731,000240:                                                                                                  #  THE LENGTH OF THE LIST.
044732,000241: 01,3431           00006                           EXTEND                                         #  DUMMY TASK ADRES SHOULD BE IN FIXED-
044733,000242: 01,3432           15712                           BZF      LVWTLIST                              #  FIXED SO ITS ADRES ALONE DISTINGUISHES
044734,000243: 01,3433           13507                           TCF      WTABORT                               #  IT.
044735,000244: 

Page 1007

044737,000246: 
044738,000247: 01,3434           10000        WTLST5             CCS      A                                     #  TEST TD - T2 + 1
044739,000248: 01,3435           61401                           AD       LST1       +1                         
044740,000249: 01,3436           13442                           TCF      +4                                    
044741,000250: 01,3437           67755                           AD       ONE                                   
044742,000251: 01,3440           03515                           TC       WTLST2                                
044743,000252: 01,3441           00001                           OCT      1                                     
044744,000253: 
044745,000254: 01,3442           10000                 +4        CCS      A                                     #  TEST TD - T3 + 1
044746,000255: 01,3443           61402                           AD       LST1       +2                         
044747,000256: 01,3444           13450                           TCF      +4                                    
044748,000257: 01,3445           67755                           AD       ONE                                   
044749,000258: 01,3446           03515                           TC       WTLST2                                
044750,000259: 01,3447           00002                           OCT      2                                     
044751,000260: 
044752,000261: 01,3450           10000                 +4        CCS      A                                     #  TEST TD - T4 + 1
044753,000262: 01,3451           61403                           AD       LST1       +3                         
044754,000263: 01,3452           13456                           TCF      +4                                    
044755,000264: 01,3453           67755                           AD       ONE                                   
044756,000265: 01,3454           03515                           TC       WTLST2                                
044757,000266: 01,3455           00003                           OCT      3                                     
044758,000267: 
044759,000268: 01,3456           10000                 +4        CCS      A                                     #  TEST TD - T5 + 1
044760,000269: 01,3457           61404                           AD       LST1       +4                         
044761,000270: 01,3460           13464                           TCF      +4                                    
044762,000271: 01,3461           67755                           AD       ONE                                   
044763,000272: 01,3462           03515                           TC       WTLST2                                
044764,000273: 01,3463           00004                           OCT      4                                     
044765,000274: 
044766,000275: 01,3464           10000                 +4        CCS      A                                     #  TEST TD - T6 + 1
044767,000276: 01,3465           61405                           AD       LST1       +5                         
044768,000277: 01,3466           13472                           TCF      +4                                    
044769,000278: 01,3467           67755                           AD       ONE                                   
044770,000279: 01,3470           03515                           TC       WTLST2                                
044771,000280: 01,3471           00005                           OCT      5                                     
044772,000281: 
044773,000282: 01,3472           10000                 +4        CCS      A                                     #  TEST TD - T7 + 1
044774,000283: 01,3473           61406                           AD       LST1       +6                         
044775,000284: 01,3474           13500                           TCF      +4                                    
044776,000285: 01,3475           67755                           AD       ONE                                   
044777,000286: 01,3476           03515                           TC       WTLST2                                
044778,000287: 01,3477           00006                           OCT      6                                     
044779,000288: 

Page 1008

044781,000290: 
044782,000291: 01,3500           10000                 +4        CCS      A                                     
044783,000292: 01,3501           61407                           AD       LST1       +7                         
044784,000293: 01,3502           13506                           TCF      +4                                    
044785,000294: 01,3503           67755                           AD       ONE                                   
044786,000295: 01,3504           03515                           TC       WTLST2                                
044787,000296: 01,3505           00007                           OCT      7                                     
044788,000297: 
044789,000298: 01,3506           10000                 +4        CCS      A                                     
044790,000299: 01,3507           06000        WTABORT            TC       ABORT                                 #  NO ROOM IN THE INN.                         
044791,000300: 01,3510           01203                           OCT      1203                                  
044792,000301: 
044793,000302: 01,3511           67755                           AD       ONE                                   
044794,000303: 01,3512           03515                           TC       WTLST2                                
044795,000304: 01,3513           00010                           OCT      10                                    
044796,000305: 
044797,000306: 01,3514           40201        OCT40201           OCT      40201                                 
044798,000307: 

Page 1009

044800,000309: 
044801,000310:                                                                                                  #  THE ENTRY TO WTLST2 JUST PRECEDING OCT N IS FOR T  LE TD LE T   -1.
044802,000311:                                                                                                  #                                                   N           N+1
044803,000312:                                                                                                  #  (LE MEANS LESS THAN OR EQUAL TO).  AT ENTRY, C(A) = -(TD - T   + 1)
044804,000313:                                                                                                  #                                                              N+1
044805,000314:                                                                                                  #  THE LST1 ENTRY -(T   -T +1) IS TO BE REPLACED BY -(TD - T  + 1), AND
044806,000315:                                                                                                  #                    N+1  N                                 N
044807,000316:                                                                                                  #  THE ENTRY -(T   - TD + 1) IS TO BE INSERTED IMMEDIATELY FOLLOWING.
044808,000317:                                                                                                  #               N+1
044809,000318: 
044810,000319: 01,3515           54064        WTLST2             TS       WAITTEMP                              #  C(A) = -(TD - T + 1)
044811,000320: 01,3516           50002                           INDEX    Q                                     
044812,000321: 01,3517           30000                           CAF      0                                     
044813,000322: 01,3520           54002                           TS       Q                                     #  INDEX VALUE INTO Q.
044814,000323: 
044815,000324: 01,3521           37755                           CAF      ONE                                   
044816,000325: 01,3522           60064                           AD       WAITTEMP                              
044817,000326: 01,3523           50002                           INDEX    Q                                     #  C(A) = -(TD - T ) + 1.
044818,000327: 01,3524           27377                           ADS      LST1       -1                         #                 N
044819,000328: 
044820,000329: 01,3525           40064                           CS       WAITTEMP                              
044821,000330: 01,3526           50002                           INDEX    Q                                     
044822,000331: 01,3527           13404                           TCF      WTLST4                                
044823,000332: 
044824,000333:                                                                                                  #        C(TIME3)        =       1.0 - (T1 - T)
044825,000334: 
044826,000335:                                                                                                  #        C(LST1   )       =       - (T2 - T1) + 1
044827,000336:                                                                                                  #        C(LST1+1 )       =       - (T3 - T2) + 1
044828,000337:                                                                                                  #        C(LST1+2 )       =       - (T4 - T3) + 1
044829,000338:                                                                                                  #        C(LST1+3 )       =       - (T5 - T4) + 1
044830,000339:                                                                                                  #        C(LST1+4 )       =       - (T6 - T5) + 1
044831,000340: 
044832,000341:                                                                                                  #        C(LST2   )       =       2CADR TASK1
044833,000342:                                                                                                  #        C(LST2+2 )       =       2CADR TASK2
044834,000343:                                                                                                  #        C(LST2+4 )       =       2CADR TASK3
044835,000344:                                                                                                  #        C(LST2+6 )       =       2CADR TASK4
044836,000345:                                                                                                  #        C(LST2+8 )       =       2CADR TASK5
044837,000346:                                                                                                  #        C(LST2+10)       =       2CADR TASK6
044838,000347: 

Page 1010

044840,000349: 
044841,000350:                                                                                                  #  ENTERS HERE ON T3 RUPT TO DISPATCH WAITLISTED TASK.
044842,000351: 
044843,000352: 01,3530           54016        T3RUPT             TS       BANKRUPT                              
044844,000353: 01,3531           00006                           EXTEND                                         
044845,000354: 01,3532           22012                           QXCH     QRUPT                                 
044846,000355: 
044847,000356: 01,3533           37736        T3RUPT2            CAF      NEG1/2                                #  DISPATCH WAITLIST TASK.
044848,000357: 01,3534           57407                           XCH      LST1       +7                         
044849,000358: 01,3535           57406                           XCH      LST1       +6                         
044850,000359: 01,3536           57405                           XCH      LST1       +5                         
044851,000360: 01,3537           57404                           XCH      LST1       +4                         #  1. MOVE UP LST1 CONTENTS, ENTERING
044852,000361: 01,3540           57403                           XCH      LST1       +3                         #     A VALUE OF 1/2 +1 AT THE BOTTOM
044853,000362: 01,3541           57402                           XCH      LST1       +2                         #     FOR T6-T5, CORRESPONDING TO THE
044854,000363: 01,3542           57401                           XCH      LST1       +1                         #     INTERVAL 81.91 SEC FOR ENDTASK.
044855,000364: 01,3543           57400                           XCH      LST1                                  
044856,000365: 01,3544           67735                           AD       POSMAX                                #  2. SET T3 = 1.0 - T2 - T USING LIST 1.
044857,000366: 01,3545           26026                           ADS      TIME3                                 #  SO T3 WONT TICK DURING UPDATE.
044858,000367: 01,3546           55076                           TS       RUPTAGN                               
044859,000368: 01,3547           47761                           CS       ZERO                                  
044860,000369: 01,3550           55076                           TS       RUPTAGN                               #  SETS RUPTAGN TO +1 ON OVERFLOW.
044861,000370: 
044862,000371: 01,3551           00006                           EXTEND                                         #  DISPATCH TASK.
044863,000372: 01,3552           45733                           DCS      ENDTASK                               
044864,000373: 01,3553           53431                           DXCH     LST2       +16D                       
044865,000374: 01,3554           53427                           DXCH     LST2       +14D                       
044866,000375: 01,3555           53425                           DXCH     LST2       +12D                       
044867,000376: 01,3556           53423                           DXCH     LST2       +10D                       
044868,000377: 01,3557           53421                           DXCH     LST2       +8D                        
044869,000378: 01,3560           53417                           DXCH     LST2       +6                         
044870,000379: 01,3561           53415                           DXCH     LST2       +4                         
044871,000380: 01,3562           53413                           DXCH     LST2       +2                         
044872,000381: 01,3563           53411                           DXCH     LST2                                  
044873,000382: 
044874,000383: 01,3564           52006                           DTCB                                           
044875,000384: 

Page 1011

044877,000386: 
044878,000387:                                                                                                  #  RETURN, AFTER EXECUTION OF T3 OVERFLOW TASK:
044879,000388: 
044880,000389:    5745                                           BLOCK    02                                    
044881,000390:    5745           11076        TASKOVER           CCS      RUPTAGN                               #  IF +1 RETURN TO T3RUPT, IF -0 RESUME.
044882,000391:    5746           35716                           CAF      WAITBB                                
044883,000392:    5747           54006                           TS       BBANK                                 
044884,000393:    5750           13533                           TCF      T3RUPT2                               #  DISPATCH NEXT TASK IF IT WAS DUE.
044885,000394: 
044886,000395:    5751           00006        RESUME             EXTEND                                         
044887,000396:    5752           22012                           QXCH     QRUPT                                 
044888,000397:    5753           30016        NOQRSM             CA       BANKRUPT                              
044889,000398:    5754           54006                           TS       BBANK                                 
044890,000399:    5755           52011        NOQBRSM            DXCH     ARUPT                                 
044891,000400:    5756           50017                           RESUME                                         
044892,000401: 

Page 1012

044894,000403: 
044895,000404:                                                                                                  #  LONGCALL
044896,000405: 
044897,000406:                                                                                                  #  LONGCALL IS CALLED WITH THE DELTA TIME ARRIVING IN A,L SCALED AS TIME2,TIME1 WITH THE 2CADR OF THE TASK
044898,000407:                                                                                                  #  IMMEDIATELY FOLLOWING THE TC LONGCALL.  FOR EXAMPLE, IT MIGHT BE DONE AS FOLLOWS WHERE TIMELOC IS THE NAME OF
044899,000408:                                                                                                  #  A DP REGISTER CONTAINING A DELTA TIME AND WHERE TASKTODO IS THE NAME OF THE LOCATION AT WHICH LONGCALL IS TO
044900,000409:                                                                                                  #  START
044901,000410: 
044902,000411:                                                                                                  #                EXTEND
044903,000412:                                                                                                  #                DCA             TIMELOC
044904,000413:                                                                                                  #                TC              LONGCALL
044905,000414:                                                                                                  #                2CADR           TASKTODO
044906,000415: 
044907,000416:                                                                                                  #  *** THE FOLLOWING IS TO BE IN FIXED-FIXED AND UNSWITCHED ERRASIBLE ***
044908,000417: 
044909,000418:    5757                                           BLOCK    02                                    
044910,000419:    5757  E3,1400                                  EBANK=   LST1                                  
044911,000420:    5757           53153        LONGCALL           DXCH     LONGTIME                              #  OBTAIN THE DELTA TIME
044912,000421: 
044913,000422:    5760           00006                           EXTEND                                         #  OBTAIN THE 2CADR
044914,000423:    5761           50002                           NDX      Q                                     
044915,000424:    5762           30001                           DCA      0                                     
044916,000425:    5763           53151                           DXCH     LONGCADR                              
044917,000426: 
044918,000427:    5764           00006                           EXTEND                                         #  NOW GO TO THE APPROPRIATE SWITCHED BANK
044919,000428:    5765           35770                           DCA      LGCL2CDR                              #  FOR THE REST OF LONGCALL
044920,000429:    5766           52006                           DTCB                                           
044921,000430: 
044922,000431:    5767  E3,1400                                  EBANK=   LST1                                  
044923,000432:    5767           03565 02003  LGCL2CDR           2CADR    LNGCALL2                              
044924,000433: 
044925,000434:                                                                                                  #  *** THE FOLLOWING MAY BE IN A SWITCHED BANK, INCLUDING ITS ERASABLE ***
044926,000435: 
044927,000436: 01,3565                                           BANK     01                                    
044928,000437: 01,3565           23435        LNGCALL2           LXCH     LONGEXIT   +1                         #  SAVE THE CORRECT BB FOR RETURN
044929,000438: 01,3566           37754                           CA       TWO                                   #  OBTAIN THE RETURN ADDRESS
044930,000439: 01,3567           26002                           ADS      Q                                     
044931,000440: 01,3570           55434                           TS       LONGEXIT                              
044932,000441: 
044933,000442:                                                                                                  #  *** WAITLIST TASK LONGCYCL ***
044934,000443: 
044935,000444: 01,3571           00006        LONGCYCL           EXTEND                                         #  CAN WE SUCCESFULLY TAKE ABOUT 1.25
044936,000445: 01,3572           43603                           DCS      DPBIT14                               #  MINUTES OFF OF LONGTIME
044937,000446: 01,3573           21153                           DAS      LONGTIME                              
044938,000447: 
044939,000448: 01,3574           11153                           CCS      LONGTIME   +1                         #  THE REASONIBG BEHIND THIS PART IS
044940,000449: 01,3575           13614                           TCF      MUCHTIME                              #  INVOLVED, TAKING INTO ACCOUNT THAT THE
044941,000450:                                                                                                  #  WORDS MAY NOT BE SIGNED CORRECTED (DP
044942,000451:                                                                                                  #  BASIC INSTRUCTIONS
044943,000452:                                                                                                  #  DO NOT SIGN CORRECT) AND THAT WE SUBTRAC
044944,000453:                                                                                                  #  TED BIT14 (1 OVER HALF THE POS. VALUE
044945,000454:                                                                                                  #  REPRESENTIBLE IN SINGLE WORD)
044946,000455: 

Page 1013

044948,000457: 
044949,000458: 01,3576           13577                           NOOP                                           #  CAN:T GET HERE **********
044950,000459: 01,3577           13600                           TCF      +1                                    
044951,000460: 01,3600           11152                           CCS      LONGTIME                              
044952,000461: 01,3601           13614                           TCF      MUCHTIME                              
044953,000462: 01,3602           00000        DPBIT14            OCT      00000                                 
044954,000463: 01,3603           20000                           OCT      20000                                 
044955,000464: 
044956,000465:                                                                                                  #  LONGCALL
044957,000466: 
044958,000467: 01,3604           37740        LASTTIME           CA       BIT14                                 #  GET BACK THE CORRECT DELTA TFOR WAITLIST
044959,000468: 01,3605           27153                           ADS      LONGTIME   +1                         
044960,000469: 01,3606           05701                           TC       WAITLIST                              
044961,000470: 01,3607  E3,1400                                  EBANK=   LST1                                  
044962,000471: 01,3607           03621 02003                     2CADR    GETCADR                               #  THE ENTRY TO OUR LONGCADR
044963,000472: 
044964,000473: 01,3611           33623        LONGRTRN           CA       TSKOVCDR                              #  SET IT UP SO THAT ONLY THE FIRST EXIT IS
044965,000474: 01,3612           53435                           DXCH     LONGEXIT                              #  TO THE CALLER OF LONGCALL
044966,000475: 01,3613           52006                           DTCB                                           #  THE REST ARE TO TASKOVER
044967,000476: 
044968,000477: 01,3614           37740        MUCHTIME           CA       BIT14                                 #  WE HAVE OVER OUR ABOUT 1.25 MINUTES
044969,000478: 01,3615           05701                           TC       WAITLIST                              #  SO SET UP FOR ANOTHER CYCLE THROUGH HERE
044970,000479: 01,3616  E3,1400                                  EBANK=   LST1                                  
044971,000480: 01,3616           03571 02003                     2CADR    LONGCYCL                              
044972,000481: 
044973,000482: 01,3620           13611                           TCF      LONGRTRN                              #  NOW EXIT PROPERLY
044974,000483: 
044975,000484:                                                                                                  #  *** WAITLIST TASK GETCADR ***
044976,000485: 
044977,000486: 01,3621           53151        GETCADR            DXCH     LONGCADR                              #  GET THE LONGCALL THAT WE WISHED TO START
044978,000487: 01,3622           52006                           DTCB                                           #  AND TRANSFER CONTROL TO IT
044979,000488: 
044980,000489: 01,3623           05745        TSKOVCDR           GENADR   TASKOVER                              

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