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.

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

Page 1001

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

Page 1002

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

Page 1003

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

Page 1004

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

Page 1005

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

Page 1006

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

Page 1007

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

Page 1008

044771,000290: 
044772,000291: 01,3500           10000                 +4        CCS      A                                     
044773,000292: 01,3501           61407                           AD       LST1       +7                         
044774,000293: 01,3502           13506                           TCF      +4                                    
044775,000294: 01,3503           67755                           AD       ONE                                   
044776,000295: 01,3504           03515                           TC       WTLST2                                
044777,000296: 01,3505           00007                           OCT      7                                     
044778,000297: 
044779,000298: 01,3506           10000                 +4        CCS      A                                     
044780,000299: 01,3507           06000        WTABORT            TC       ABORT                                 #  NO ROOM IN THE INN.                         
044781,000300: 01,3510           01203                           OCT      1203                                  
044782,000301: 
044783,000302: 01,3511           67755                           AD       ONE                                   
044784,000303: 01,3512           03515                           TC       WTLST2                                
044785,000304: 01,3513           00010                           OCT      10                                    
044786,000305: 
044787,000306: 01,3514           40201        OCT40201           OCT      40201                                 
044788,000307: 

Page 1009

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

Page 1010

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

Page 1011

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

Page 1012

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

Page 1013

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

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