Source Code

These source-code files were obtained by digitally photographing an Artemis 72 program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971

	THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS
				COLOSSUS 3
	THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED
	IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER OSR
	PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT
	CENTER OF THE NATIONAL AERONAUTICS AND SPACE
	ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE
	CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF
	TECHNOLOGY, CAMBRIDGE, MASS.

052120,000002:                                                                                                 #  Copyright:     Public domain.
052121,000003:                                                                                                 #  Filename:      WAITLIST.agc
052122,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
052123,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
052124,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
052125,000007:                                                                                                 #                 Apollo 15-17.
052126,000008:                                                                                                 #  Assembler:     yaYUL
052127,000009:                                                                                                 #  Contact:       Jim Lawton <jim DOT lawton AT gmail DOT com>
052128,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
052129,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
052130,000012:                                                                                                 #  Mod history:   2009-08-29 JL   Adapted from corresponding Comanche 055 file.
052131,000013:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
052132,000014: 

Page 1221

052134,000016: 
052135,000017:                                                                                                 #  PROGRAM DESCRIPTION                                                            DATE - 10 OCTOBER 1966
052136,000018:                                                                                                 #  MOD NO - 2                                                                     LOG SECTION - WAITLIST
052137,000019:                                                                                                 #  MOD BY - MILLER        (DTMAX INCREASED TO 162.5 SEC)                          ASSEMBLY SUNBURST REV 5
052138,000020:                                                                                                 #  MOD 3 BY KERNAN        (INHINT INSERTED AT WAITLIST) 2/28/68 SKIPPER REV 4
052139,000021:                                                                                                 #  MOD 4 BY KERNAN        (TWIDDLE IN 54) 3/28/68 SKIPPER REV 13.
052140,000022: 
052141,000023:                                                                                                 #  FUNCTIONAL DESCRIPTION-
052142,000024:                                                                                                 #         PART OF A SECTION OF PROGRAMS,-WAITLIST, TASKOVER, T3RUPT, USED TO CALL A PROGRAM, (CALLED A TASK),
052143,000025:                                                                                                 #         WHICH IS TO BEGIN IN C(A) CENTISECONDS.  WAITLIST UPDATES TIME3, LST1, AND LST2. THE MEANING OF THESE LISTS
052144,000026:                                                                                                 #         FOLLOW.
052145,000027: 
052146,000028:                                                                                                 #                 C(TIME3) = 16384 -(T1-T) CENTISECONDS, (T=PRESENT TIME, T1-TIME FOR TASK1)
052147,000029: 
052148,000030:                                                                                                 #                         C(LST1)         =       -(T2-T1)+1
052149,000031:                                                                                                 #                         C(LST1 +1)      =       -(T3-T2)+1
052150,000032:                                                                                                 #                         C(LST1 +2)      =       -(T4-T3)+1
052151,000033:                                                                                                 #                                         .
052152,000034:                                                                                                 #                                         .
052153,000035:                                                                                                 #                         C(LST1 +6)      =       -(T8-T7)+1
052154,000036:                                                                                                 #                         C(LST1 +7)      =       -(T9-T8)+1
052155,000037: 
052156,000038:                                                                                                 #                         C(LST2)         =       2CADR OF TASK1
052157,000039:                                                                                                 #                         C(LST2 +2)      =       2CADR OF TASK2
052158,000040:                                                                                                 #                                         .
052159,000041:                                                                                                 #                                         .
052160,000042:                                                                                                 #                         C(LST2 +14)     =       2CADR OF TASK8
052161,000043:                                                                                                 #                         C(LST2 +16)     =       2CADR OF TASK9
052162,000044: 
052163,000045:                                                                                                 #  WARNINGS-
052164,000046:                                                                                                 #  --------
052165,000047:                                                                                                 #                 1) 1 <= C(A) <= 16250D (1 CENTISCOND TO 162.5 SEC)
052166,000048:                                                                                                 #                 2) 9 TASKS MAXIMUM
052167,000049:                                                                                                 #                 3) TASKS CALLED UNDER INTERRUPT INHIBITED
052168,000050:                                                                                                 #                 4) TASKS END BY TC TASKOVER
052169,000051: 
052170,000052:                                                                                                 #  CALLING SEQUENCE-
052171,000053:                                                                                                 #  
052172,000054:                                                                                                 #                 L-1     CA      DELTAT  (TIME IN CENTISECONDS TO TASK START)
052173,000055:                                                                                                 #                 L       TC      WAITLIST
052174,000056:                                                                                                 #                 L+1     2CADR   DESIRED TASK
052175,000057:                                                                                                 #                 L+2     (MINOR OF 2CADR)
052176,000058:                                                                                                 #                 L+3     RELINT          (RETURNS HERE)
052177,000059: 
052178,000060:                                                                                                 #  TWIDDLE-
052179,000061:                                                                                                 #         TWIDDLE IS FOR USE WHEN THE TASK BEING SET UP IS IN THE SAME EBANK AND FBANK AS THE USER.  IN
052180,000062:                                                                                                 #         SUCH CASES, IT IMPROVES UPON WAITLIST BY ELIMINATING THE NEED FOR THE BBCON HALF OF THE 2CADR,

Page 1222

052182,000064:                                                                                                 #         SAVING A WORD.  TWIDDLE IS LIKE WAITLIST IN EVERY RESPECT EXCEPT CALLING SEQUENCE, TO WIT-
052183,000065: 
052184,000066:                                                                                                 #                 L-1     CA      DELTAT
052185,000067:                                                                                                 #                 L       TC      TWIDDLE
052186,000068:                                                                                                 #                 L+1     ADRES   DESIRED TASK
052187,000069:                                                                                                 #                 L+2     RELINT                  (RETURNS HERE)
052188,000070: 
052189,000071:                                                                                                 #  NORMAL EXIT MODES-
052190,000072: 
052191,000073:                                                                                                 #                 AT L+3 OF CALLING SEQUENCE.
052192,000074: 
052193,000075:                                                                                                 #  ALARM OR ABORT EXIT MODES-
052194,000076: 
052195,000077:                                                                                                 #                 TC      ABORT
052196,000078:                                                                                                 #                 OCT     1203    (WAITLIST OVERFLOW - TOO MANY TASKS)
052197,000079: 
052198,000080:                                                                                                 #  ERASABLE INITIALIZATION REQUIRED
052199,000081:                                                                                                 # -
052200,000082:                                                                                                 #                 ACCOMPLISHED BY FRESH START,--LST2,...,LST2 +16 = ENDTASK
052201,000083:                                                                                                 #                                               LST1,...,LST1 +7  = NEG1/2
052202,000084: 
052203,000085:                                                                                                 #  OUTPUT--
052204,000086:                                                                                                 #                 LST1 AND LST2 UPDATED WITH NEW TASK AND ASSOCIATED TIME.
052205,000087: 
052206,000088:                                                                                                 #  DEBRIS-
052207,000089: 
052208,000090:                                                                                                 #                 CENTRALS - A,Q,L
052209,000091:                                                                                                 #                 OTHER    - WAITEXIT, WAITADR, WAITTEMP, WAITBANK
052210,000092: 
052211,000093:                                                                                                 #  DETAILED ANALYSIS OF TIMING-
052212,000094: 
052213,000095:                                                                                                 #         CONTROL WILL NOT BE RETURNED TO THE SPECIFIED ADDRESS (2CADR) IN EXACTLY DELTA T CENTISECONDS.
052214,000096:                                                                                                 #         THE APPROXIMATE TIME MAY BE CALCULATED AS FOLLOWS:
052215,000097:                                                                                                 #                         LET T0 = THE TIME OF THE TC WAITLIST
052216,000098:                                                                                                 #                         LET TS = T0 +147U + COUNTER INCREMENTS (SET UP TIME)
052217,000099:                                                                                                 #                         LET X  = TS -(100TS)/100  (VARIANCE FROM COUNTERS)
052218,000100:                                                                                                 #                         LET Y  = LENGTH OF TIME OF INHIBIT INTERRUPT AFTER T3RUPT
052219,000101:                                                                                                 #                         LET Z  = LENGTH OF TIME TO PROCESS TASKS WHICH ARE DUE THIS T3RUPT BUT DISPATCHED EARLIER.
052220,000102:                                                                                                 #         (Z=0, USUALLY).
052221,000103:                                                                                                 #                         LET DELTD = THE ACTUAL TIME TAKEN TO GIVE CONTROL TO 2CADR
052222,000104:                                                                                                 #                 THEN DELTD = TS+DELTA T -X +Y +Z +1.05MS* +COUNTERS*
052223,000105:                                                                                                 #         *-THE TIME TAKEN BY WAITLIST ITSELF AND THE COUNTER TICKING DURING THIS WAITLIST TIME.
052224,000106: 
052225,000107:                                                                                                 #         IN SHORT, THE ACTUAL TIME TO RETURN CONTROL TO A 2CADR IS AUGMENTED BY THE TIME TO SET UP THE TASK'S
052226,000108:                                                                                                 #         INTERRUPT, ALL COUNTERS TICKING, THE T3RUPT PROCESSING TIME, THE WAITLIST PROCESSING TIME AND THE POSSIBILITY
052227,000109:                                                                                                 #         OF OTHER TASKS INHIBITING THE INTERRUPT.
052228,000110: 
052229,000111:    4000                                          SETLOC   WAITF2                                

Page 1223

052231,000113:    4000                                          BANK                                           
052232,000114: 
052233,000115:    5222  E3,1400                                 EBANK=   LST1                                  #  TASK LISTS IN SWITCHED E BANK.
052234,000116: 
052235,000117:    5222                                          COUNT*   $$/WAIT                               
052236,000118:    5222           34770        TWIDBIT1          CAF      ONE                                   
052237,000119:    5223           00004        TWIDDLE           INHINT                                         
052238,000120:    5224           54001                          TS       L                                     #  SAVE DELAY TIME IN L
052239,000121:    5225           34750                          CA       POSMAX                                
052240,000122:    5226           26002                          ADS      Q                                     #  CREATING OVERFLOW AND Q-1 IN Q
052241,000123:    5227           30006                          CA       BBANK                                 
052242,000124:    5230           00006                          EXTEND                                         
052243,000125:    5231           04007                          ROR      SUPERBNK                              
052244,000126:    5232           56001                          XCH      L                                     
052245,000127: 
052246,000128:    5233           00004        WAITLIST          INHINT                                         
052247,000129:    5234           00006                          EXTEND                                         
052248,000130:    5235           65247                          BZMF     WATLST0-                              
052249,000131:    5236           56002                          XCH      Q          SAVE       DELTA           
052250,000132:    5237           54061                          TS       WAITEXIT   WAITEXIT.                  
052251,000133:    5240           00006                          EXTEND                                         
052252,000134:    5241           50061                          INDEX    WAITEXIT                              #  IF TWIDDLING, THE TS SKIPS TO HERE
052253,000135:    5242           30001                          DCA      0                                     #  PICK UP 2CADR OF TASK.
052254,000136:    5243           54063                 -1       TS       WAITADR                               #  BBCON WILL REMAIN IN L
052255,000137:    5244           35254        DLY2              CAF      WAITBB                                #  ENTRY FROM FIXDELAY AND VARDELAY.
052256,000138:    5245           56006                          XCH      BBANK                                 
052257,000139:    5246           13213                          TCF      WAIT2                                 
052258,000140: 
052259,000141:    5247           05726        WATLST0-          TC       POODOO                                
052260,000142:    5250           21204                          OCT      21204                                 
052261,000143: 
052262,000144:                                                                                                 #  RETURN TO CALLER AFTER TASK INSERTION:
052263,000145: 
052264,000146:    5251           52062        LVWTLIST          DXCH     WAITEXIT                              
052265,000147:    5252           64767                          AD       TWO                                   
052266,000148:    5253           52006                          DTCB                                           
052267,000149: 
052268,000150:    5254  E3,1400                                 EBANK=   LST1                                  
052269,000151:    5254           02063        WAITBB            BBCON    WAIT2                                 
052270,000152: 
052271,000153:                                                                                                 #  RETURN TO CALLER +2 AFTER WAITING DT SPECIFIED AT CALLER +1.
052272,000154: 
052273,000155:    5255           50002        FIXDELAY          INDEX    Q                                     #  BOTH ROUTINES MUST BE CALLED UNDER

Was CAF --- RSB 2004.

052275,000157:    5256           30000                          CA       0                                     #  WAITLIST CONTROL AND TERMINATE THE TASK
052276,000158:    5257           24002                          INCR     Q                                     #  IN WHICH THEY WERE CALLED.
052277,000159: 
052278,000160:                                                                                                 #  RETURN TO CALLER +1 AFTER WAITING THE DT AS ARRIVING IN A.
052279,000161: 
052280,000162:    5260           00006        VARDELAY          EXTEND                                         
052281,000163:    5261           65247                          BZMF     WATLST0-                              

Page 1224

052283,000165:    5262           56002                          XCH      Q                                     
052284,000166:    5263           54063                          TS       WAITADR                               
052285,000167:    5264           30006                          CA       BBANK                                 #  BBANK IS SAVED DURING DELAY.
052286,000168:    5265           00006                          EXTEND                                         
052287,000169:    5266           04007                          ROR      SUPERBNK                              #  ADD SBANK TO BBCON.
052288,000170:    5267           54001                          TS       L                                     
052289,000171:    5270           35273                          CAF      DELAYEX                               
052290,000172:    5271           54061                          TS       WAITEXIT                              #  GO TO TASKOVER AFTER TASK ENTRY.
052291,000173:    5272           15244                          TCF      DLY2                                  
052292,000174: 
052293,000175:    5273           15312        DELAYEX           TCF      TASKOVER   -2                         #  RETURNS TO TASKOVER
052294,000176: 

Page 1225

052296,000178:                                                                                                 #  ENDTASK MUST BE ENTERED IN FIXED-FIXED SO IT IS DISTINGUISHABLE BY ITS ADRES ALONE.
052297,000179: 
052298,000180:    5274  E3,1400                                 EBANK=   LST1                                  
052299,000181:    5274           72501 73714  ENDTASK           -2CADR   SVCT3                                 
052300,000182: 
052301,000183:    5276           30076        SVCT3             CA       FLAGWRD2                              
052302,000184:    5277           74752                          MASK     DRFTBIT                               
052303,000185:    5300           00006                          EXTEND                                         
052304,000186:    5301           15314                          BZF      TASKOVER                              
052305,000187:    5302           11335                          CCS      IMUCADR                               #  DON'T DO NBDONLY IF SOMEONE ELSE IS IN
052306,000188:    5303           17703                          TCF      SVCT3X                                
052307,000189:    5304           15307                          TCF      +3                                    
052308,000190:    5305           17703                          TCF      SVCT3X                                
052309,000191:    5306           17703                          TCF      SVCT3X                                
052310,000192:    5307           37657                 +3       CAF      PRIO35                                #  COMPENSATE FOR NBD COEFFICIENTS ONLY.
052311,000193:    5310           05121        NOVACADR          TC       NOVAC                                 #  ENABLE EVERY 81.93 SECONDS (=GENADR)
052312,000194:    5311  E3,1460                                 EBANK=   NBDX                                  
052313,000195:    5311           03561 14063                    2CADR    NBDONLY                               
052314,000196: 
052315,000197:    5313           05314        TSKOVCDR          TC       TASKOVER   (=GENADR)                  
052316,000198:    6000                                          SETLOC   FFTAG6                                
052317,000199:    6000                                          BANK                                           
052318,000200: 
052319,000201:    7703                                          COUNT*   $$/WAIT                               
052320,000202:    7703           05255        SVCT3X            TC       FIXDELAY                              #  DELAY MAX OF 2 TIMES FOR IMU ZERO
052321,000203:    7704           00764        DEC500            DEC      500        B-14                       #  MUST COME AFTER SVCT3X
052322,000204:    7705           05276                          TC       SVCT3                                 #  CHECK DRIFT FLAG AGAIN
052323,000205: 

Page 1226

052325,000207:                                                                                                 #  BEGIN TASK INSERTION.
052326,000208: 
052327,000209: 01,2000                                          SETLOC   EXECB1                                
052328,000210: 01,2000                                          BANK                                           
052329,000211: 
052330,000212: 01,3213                                          COUNT*   $$/WAIT                               
052331,000213: 01,3213           54062        WAIT2             TS       WAITBANK                              #  BBANK OF CALLING PROGRAM.
052332,000214: 01,3214           40026                          CS       TIME3                                 
052333,000215: 01,3215           64761                          AD       BIT8                                  #  BIT 8 = OCT 200
052334,000216: 01,3216           10000                          CCS      A                                     #  TEST 200 - C(TIME3).  IF POSITIVE,
052335,000217:                                                                                                 #  IT MEANS THAT TIME3 OVERFLOW HAS OCCURRED PRIOR TO CS TIME3 AND THAT
052336,000218:                                                                                                 #  C(TIME3) = T - T1, INSTEAD OF 1.0 - (T1 - T).  THE FOLLOWING FOUR
052337,000219:                                                                                                 #  ORDERS SET C(A) = TD - T1 + 1 IN EITHER CASE.
052338,000220: 
052339,000221: 01,3217           66056                          AD       OCT40001                              #  OVERFLOW HAS OCCURRED.  SET C(A) =
052340,000222: 01,3220           40000                          CS       A                                     #  T - T1 + 1.0 - 201
052341,000223: 
052342,000224:                                                                                                 #  NORMAL CASE (C(A) NNZ) YIELDS SAME C(A):  -( -(1.0-(T1-T)) + 200) - 1
052343,000225: 
052344,000226: 01,3221           63117                          AD       OCT40201                              
052345,000227: 01,3222           60002                          AD       Q                                     #  RESULT = TD - T1 + 1.
052346,000228: 
052347,000229: 01,3223           10000                          CCS      A                                     #  TEST TD - T1 + 1.
052348,000230: 
052349,000231: 01,3224           61400                          AD       LST1                                  #  IF TD - T1 POS, GO TO WTLST5 WITH
052350,000232: 01,3225           13267                          TCF      WTLST5                                #  C(A) = (TD - T1) + C(LST1) = TD-T2+1
052351,000233: 
052352,000234: 01,3226           13227                          NOOP                                           
052353,000235: 01,3227           40002                          CS       Q                                     
052354,000236: 
052355,000237:                                                                                                 #  NOTE THAT THIS PROGRAM SECTION IS NEVER ENTERED WHEN T-T1 G/E -1,
052356,000238:                                                                                                 #  SINCE TD-T1+1 = (TD-T) + (T-T1+1), AND DELTA T = TD-T G/E +1.  (G/E
052357,000239:                                                                                                 #  SYMBOL MEANS GREATER THAN OR EQUAL TO).  THUS THERE NEED BE NO CON-
052358,000240:                                                                                                 #  CERN OVER A PREVIOUS OR IMMINENT OVEFLOW OF TIME3 HERE.
052359,000241: 
052360,000242: 01,3230           64753                          AD       POS1/2                                #  WHEN TD IS NEXT, FORM QUANTITY
052361,000243: 01,3231           64753                          AD       POS1/2                                #    1.0 - DELTA T = 1.0 - (TD - T)
052362,000244: 01,3232           56026                          XCH      TIME3                                 
052363,000245: 01,3233           64752                          AD       NEGMAX                                
052364,000246: 01,3234           60002                          AD       Q                                     #  1.0 - DELTAT T NOW COMPLETE.
052365,000247: 01,3235           00006                          EXTEND                                         #  ZERO INDEX Q.
052366,000248: 01,3236           22007                          QXCH     7                                     #  (ZQ)
052367,000249: 

Page 1227

052369,000251: 01,3237           57400        WTLST4            XCH      LST1                                  
052370,000252: 01,3240           57401                          XCH      LST1       +1                         
052371,000253: 01,3241           57402                          XCH      LST1       +2                         
052372,000254: 01,3242           57403                          XCH      LST1       +3                         
052373,000255: 01,3243           57404                          XCH      LST1       +4                         
052374,000256: 01,3244           57405                          XCH      LST1       +5                         
052375,000257: 01,3245           57406                          XCH      LST1       +6                         
052376,000258: 01,3246           57407                          XCH      LST1       +7                         
052377,000259: 
052378,000260: 01,3247           30063                          CA       WAITADR                               #  (MINOR PART OF TASK CADR HAS BEEN IN L.)
052379,000261: 01,3250           50002                          INDEX    Q                                     
052380,000262: 01,3251           13252                          TCF      +1                                    
052381,000263: 
052382,000264: 01,3252           53411                          DXCH     LST2                                  
052383,000265: 01,3253           53413                          DXCH     LST2       +2                         
052384,000266: 01,3254           53415                          DXCH     LST2       +4                         
052385,000267: 01,3255           53417                          DXCH     LST2       +6                         
052386,000268: 01,3256           53421                          DXCH     LST2       +8D                        
052387,000269: 01,3257           53423                          DXCH     LST2       +10D                       #  AT END, CHECK THAT C(LST2+10) IS STD
052388,000270: 01,3260           53425                          DXCH     LST2       +12D                       
052389,000271: 01,3261           53427                          DXCH     LST2       +14D                       
052390,000272: 01,3262           53431                          DXCH     LST2       +16D                       
052391,000273: 01,3263           65274                          AD       ENDTASK                               #    END ITEM, AS CHECK FOR EXCEEDING
052392,000274:                                                                                                 #    THE LENGTH OF THE LIST.
052393,000275: 01,3264           00006                          EXTEND                                         #  DUMMY TASK ADRES SHOULD BE IN FIXED-
052394,000276: 01,3265           15251                          BZF      LVWTLIST                              #  FIXED SO ITS ADRES ALONE DISTINGUISHES
052395,000277: 01,3266           13342                          TCF      WTABORT                               #  IT.
052396,000278: 

Page 1228

052398,000280: 01,3267           10000        WTLST5            CCS      A                                     #  TEST TD - T2 + 1
052399,000281: 01,3270           61401                          AD       LST1       +1                         
052400,000282: 01,3271           13275                          TCF      +4                                    
052401,000283: 01,3272           64770                          AD       ONE                                   
052402,000284: 01,3273           03347                          TC       WTLST2                                
052403,000285: 01,3274           00001                          OCT      1                                     
052404,000286: 
052405,000287: 01,3275           10000                 +4       CCS      A                                     #  TEST TD - T3 + 1
052406,000288: 01,3276           61402                          AD       LST1       +2                         
052407,000289: 01,3277           13303                          TCF      +4                                    
052408,000290: 01,3300           64770                          AD       ONE                                   
052409,000291: 01,3301           03347                          TC       WTLST2                                
052410,000292: 01,3302           00002                          OCT      2                                     
052411,000293: 
052412,000294: 01,3303           10000                 +4       CCS      A                                     #  TEST TD - T4 + 1
052413,000295: 01,3304           61403                          AD       LST1       +3                         
052414,000296: 01,3305           13311                          TCF      +4                                    
052415,000297: 01,3306           64770                          AD       ONE                                   
052416,000298: 01,3307           03347                          TC       WTLST2                                
052417,000299: 01,3310           00003                          OCT      3                                     
052418,000300: 
052419,000301: 01,3311           10000                 +4       CCS      A                                     #  TEST TD - T5 + 1
052420,000302: 01,3312           61404                          AD       LST1       +4                         
052421,000303: 01,3313           13317                          TCF      +4                                    
052422,000304: 01,3314           64770                          AD       ONE                                   
052423,000305: 01,3315           03347                          TC       WTLST2                                
052424,000306: 01,3316           00004                          OCT      4                                     
052425,000307: 
052426,000308: 01,3317           10000                 +4       CCS      A                                     #  TEST TD - T6 + 1
052427,000309: 01,3320           61405                          AD       LST1       +5                         
052428,000310: 01,3321           13325                          TCF      +4                                    
052429,000311: 01,3322           64770                          AD       ONE                                   
052430,000312: 01,3323           03347                          TC       WTLST2                                
052431,000313: 01,3324           00005                          OCT      5                                     
052432,000314: 
052433,000315: 01,3325           10000                 +4       CCS      A                                     #  TEST TD - T7 + 1
052434,000316: 01,3326           61406                          AD       LST1       +6                         
052435,000317: 01,3327           13333                          TCF      +4                                    
052436,000318: 01,3330           64770                          AD       ONE                                   
052437,000319: 01,3331           03347                          TC       WTLST2                                
052438,000320: 01,3332           00006                          OCT      6                                     
052439,000321: 

Page 1229

052441,000323: 01,3333           10000                 +4       CCS      A                                     
052442,000324: 01,3334           61407                          AD       LST1       +7                         
052443,000325: 01,3335           13341                          TCF      +4                                    
052444,000326: 01,3336           64770                          AD       ONE                                   
052445,000327: 01,3337           03347                          TC       WTLST2                                
052446,000328: 01,3340           00007                          OCT      7                                     
052447,000329: 
052448,000330: 01,3341           10000                 +4       CCS      A                                     
052449,000331: 01,3342           07706        WTABORT           TC       BAILOUT                               #  NO ROOM IN THE INN.
052450,000332: 01,3343           31203                          OCT      31203                                 
052451,000333: 
052452,000334: 01,3344           64770                          AD       ONE                                   
052453,000335: 01,3345           03347                          TC       WTLST2                                
052454,000336: 01,3346           00010                          OCT      10                                    
052455,000337: 

Page 1230

052457,000339:                                                                                                 #  THE ENTRY TO WTLST2 JUST PRECEDING OCT  N  IS FOR T  LE TD LE T   -1.
052458,000340:                                                                                                 #                                                     N           N+1
052459,000341: 
052460,000342:                                                                                                 #  (LE MEANS LESS THAN OR EQUAL TO).  AT ENTRY, C(A) = -(TD - T   + 1)
052461,000343:                                                                                                 #                                                              N+1
052462,000344: 
052463,000345:                                                                                                 #  THE LST1 ENTRY -(T   -T +1) IS TO BE REPLACED BY -(TD - T + 1), AND
052464,000346:                                                                                                 #                    N+1  N                                 N
052465,000347: 
052466,000348:                                                                                                 #  THE ENTRY -(T   - TD + 1) IS TO BE INSERTED IMMEDIATELY FOLLOWING.
052467,000349:                                                                                                 #               N+1
052468,000350: 
052469,000351: 01,3347           54064        WTLST2            TS       WAITTEMP                              #  C(A) = -(TD - T + 1)
052470,000352: 01,3350           50002                          INDEX    Q                                     

Was CAF --- RSB 2004.

052472,000354: 01,3351           30000                          CA       0                                     
052473,000355: 01,3352           54002                          TS       Q                                     #  INDEX VALUE INTO Q.
052474,000356: 
052475,000357: 01,3353           34770                          CAF      ONE                                   
052476,000358: 01,3354           60064                          AD       WAITTEMP                              
052477,000359: 01,3355           50002                          INDEX    Q                                     #  C(A) = -(TD - T ) + 1.
052478,000360: 01,3356           27377                          ADS      LST1       -1                         #                 N
052479,000361: 
052480,000362: 01,3357           40064                          CS       WAITTEMP                              
052481,000363: 01,3360           50002                          INDEX    Q                                     
052482,000364: 01,3361           13237                          TCF      WTLST4                                
052483,000365: 
052484,000366:                                                                                                 #  C(LST1  ) = - (T2 - T1) + 1
052485,000367:                                                                                                 #  C(LST1+1) = - (T3 - T2) + 1
052486,000368:                                                                                                 #  C(LST1+2) = - (T4 - T3) + 1
052487,000369:                                                                                                 #  C(LST1+3) = - (T5 - T4) + 1
052488,000370:                                                                                                 #  C(LST1+4) = - (T6 - T5) + 1
052489,000371: 
052490,000372:                                                                                                 #  C(LST2   ) = 2CADR     TASK1
052491,000373:                                                                                                 #  C(LST2+2 ) = 2CADR     TASK2
052492,000374:                                                                                                 #  C(LST2+4 ) = 2CADR     TASK3
052493,000375:                                                                                                 #  C(LST2+6 ) = 2CADR     TASK4
052494,000376:                                                                                                 #  C(LST2+8 ) = 2CADR     TASK5
052495,000377:                                                                                                 #  C(LST2+10) = 2CADR     TASK6
052496,000378: 

Page 1231

052498,000380:                                                                                                 #  ENTERS HERE ON T3 RUPT TO DISPATCH WAITLISTED TASK.
052499,000381: 
052500,000382: 01,3362           00006        T3RUPT            EXTEND                                         
052501,000383: 01,3363           04007                          ROR      SUPERBNK                              #  READ CURRENT SUPERBANK VALUE AND
052502,000384: 01,3364           54016                          TS       BANKRUPT                              #  SAVE WITH E AND F BANK VALUES.
052503,000385: 01,3365           00006                          EXTEND                                         
052504,000386: 01,3366           22012                          QXCH     QRUPT                                 
052505,000387: 
052506,000388: 01,3367           34751        T3RUPT2           CAF      NEG1/2                                #  DISPATCH WAITLIST TASK.
052507,000389: 01,3370           57407                          XCH      LST1       +7                         
052508,000390: 01,3371           57406                          XCH      LST1       +6                         
052509,000391: 01,3372           57405                          XCH      LST1       +5                         
052510,000392: 01,3373           57404                          XCH      LST1       +4                         #  1.  MOVE UP LST1 CONTENTS, ENTERING
052511,000393: 01,3374           57403                          XCH      LST1       +3                         #      A VALUE OF 1/2 +1 AT THE BOTTOM
052512,000394: 01,3375           57402                          XCH      LST1       +2                         #      FOR T6-T5, CORRESPONDING TO THE
052513,000395: 01,3376           57401                          XCH      LST1       +1                         #      INTERVAL 81.91 SEC FOR ENDTASK.
052514,000396: 01,3377           57400                          XCH      LST1                                  
052515,000397: 01,3400           64750                          AD       POSMAX                                #  2. SET T3 = 1.0 - T2 - T USING LIST 1.
052516,000398: 01,3401           26026                          ADS      TIME3                                 #  SO T3 WON'T TICK DURING UPDATE.
052517,000399: 01,3402           55137                          TS       RUPTAGN                               
052518,000400: 01,3403           44772                          CS       ZERO                                  
052519,000401: 01,3404           55137                          TS       RUPTAGN                               #  SETS RUPTAGN TO +1 ON OVERFLOW.
052520,000402: 
052521,000403: 01,3405           00006                          EXTEND                                         #  DISPATCH TASK.
052522,000404: 01,3406           45275                          DCS      ENDTASK                               
052523,000405: 01,3407           53431                          DXCH     LST2       +16D                       
052524,000406: 01,3410           53427                          DXCH     LST2       +14D                       
052525,000407: 01,3411           53425                          DXCH     LST2       +12D                       
052526,000408: 01,3412           53423                          DXCH     LST2       +10D                       
052527,000409: 01,3413           53421                          DXCH     LST2       +8D                        
052528,000410: 01,3414           53417                          DXCH     LST2       +6                         
052529,000411: 01,3415           53415                          DXCH     LST2       +4                         
052530,000412: 01,3416           53413                          DXCH     LST2       +2                         
052531,000413: 01,3417           53411                          DXCH     LST2                                  
052532,000414: 
052533,000415: 01,3420           56001                          XCH      L                                     
052534,000416: 01,3421           00006                          EXTEND                                         
052535,000417: 01,3422           01007                          WRITE    SUPERBNK                              #  SET SUPERBANK FROM BBCON OF 2CADR
052536,000418: 01,3423           56001                          XCH      L                                     #  RESTORE TO L FOR DXCH Z.
052537,000419: 01,3424           52006                          DTCB                                           
052538,000420: 

Page 1232

052540,000422:                                                                                                 #  RETURN, AFTER EXECUTION OF T3 OVERFLOW TASK:
052541,000423: 
052542,000424:    4000                                          SETLOC   WAITF2                                
052543,000425:    4000                                          BANK                                           
052544,000426: 
052545,000427:    5314                                          COUNT*   $$/WAIT                               
052546,000428:    5314           11137        TASKOVER          CCS      RUPTAGN                               #  IF +1 RETURN TO T3RUPT, IF -0 RESUME.
052547,000429:    5315           35254                          CAF      WAITBB                                
052548,000430:    5316           54006                          TS       BBANK                                 
052549,000431:    5317           13367                          TCF      T3RUPT2                               #  DISPATCH NEXT TASK IF IT WAS DUE.
052550,000432: 
052551,000433:    5320           30016                          CA       BANKRUPT                              
052552,000434:    5321           00006                          EXTEND                                         
052553,000435:    5322           01007                          WRITE    SUPERBNK                              #  RESTORE SUPERBANK BEFORE RESUME IS DONE
052554,000436: 
052555,000437:    5323           00006        RESUME            EXTEND                                         
052556,000438:    5324           22012                          QXCH     QRUPT                                 
052557,000439:    5325           30016        NOQRSM            CA       BANKRUPT                              
052558,000440:    5326           56006                 +1       XCH      BBANK                                 
052559,000441:    5327           52011        NOQBRSM           DXCH     ARUPT                                 
052560,000442:    5330           00003                          RELINT                                         
052561,000443:    5331           50017                          RESUME                                         
052562,000444: 

Page 1233

052564,000446:                                                                                                 #  LONGCALL
052565,000447:                                                                                                 #  PROGRAM DESCRIPTION                                          DATE- 17 MARCH 1967
052566,000448:                                                                                                 #  PROGRAM WRITTEN BY W.H. VANDEVER                            LOG SECTION WAITLIST
052567,000449:                                                                                                 #  MOD BY- R. MELANSON TO ADD DOCUMENTATION               ASSEMBLY SUNDISK REV. 100
052568,000450: 
052569,000451:                                                                                                 #  FUNCTIONAL DESCRIPTION-
052570,000452:                                                                                                 #  LONGCALL IS CALLED WITH THE DELTA TIME ARRIVING IN A,L SCALED AS TIME2,TIME1 WITH THE 2CADR OF THE TASK
052571,000453:                                                                                                 #  IMMEDIATELY FOLLOWING THE TC LONGCALL.  FOR EXAMPLE, IT MIGHT BE DONE AS FOLLOWS WHERE TIMELOC IS THE NAME OF
052572,000454:                                                                                                 #  A DP REGISTER CONTAINING A DELTA TIME AND WHERE TASKTODO IS THE NAME OF THE LOCATION AT WHICH LONGCALL IS TO
052573,000455:                                                                                                 #  START
052574,000456: 
052575,000457:                                                                                                 #  CALLING SEQUENCE-
052576,000458:                                                                                                 #                                 EXTEND
052577,000459:                                                                                                 #                                 DCA     TIMELOC
052578,000460:                                                                                                 #                                 TC      LONGCALL
052579,000461:                                                                                                 #                                 2CADR   TASKTODO
052580,000462: 
052581,000463:                                                                                                 #  NORMAL EXIT MODE-
052582,000464:                                                                                                 #         1). TC    WAITLIST
052583,000465:                                                                                                 #         2). DTCB  (TC L+3 OF CALLING ROUTINE 1ST PASS THRU LONGCYCL)
052584,000466:                                                                                                 #         3). DTCB  (TO TASKOVER ON SUBSEQUENT PASSES THRU LONGCYCL)
052585,000467: 
052586,000468:                                                                                                 #  ALARM OR ABORT EXIT MODE-
052587,000469:                                                                                                 #         NONE
052588,000470: 
052589,000471:                                                                                                 #  OUTPUT-
052590,000472:                                                                                                 #         LONGTIME AND LONGTIME+1 = DELTA TIME
052591,000473:                                                                                                 #         LONGEXIT AND LONGEXIT+1 = RETURN 2CADR
052592,000474:                                                                                                 #         LONGCADR AND LONGCADR+1 = TASK 2CADR
052593,000475:                                                                                                 #         A = SINGLE PRECISION TIME FOR WAITLIST
052594,000476: 
052595,000477:                                                                                                 #  ERASABLE INITIALIZATION-
052596,000478:                                                                                                 #         A = MOST SIGNIFICANT PART OF DELTA TIME
052597,000479:                                                                                                 #         L = LEAST SIGNIFICANT PART OF DELTA TIME
052598,000480:                                                                                                 #         Q = ADDRESS OF 2CADR TASK VALUE
052599,000481: 
052600,000482:                                                                                                 #  DEBRIS-
052601,000483:                                                                                                 #         A,Q,L
052602,000484:                                                                                                 #         LONGCADR AND LONGCADR+1
052603,000485:                                                                                                 #         LONGEXIT AND LONGEXIT+1
052604,000486:                                                                                                 #         LONGTIME AND LONGTIME+1
052605,000487: 
052606,000488:                                                                                                 #  *** THE FOLLOWING IS TO BE IN FIXED-FIXED AND UNSWITCHED ERRASIBLE ***
052607,000489: 
052608,000490:    4000                                          SETLOC   WAITF2                                
052609,000491:    4000                                          BANK                                           
052610,000492: 
052611,000493:    5332                                          COUNT*   $$/WAIT                               
052612,000494:    5332  E3,1400                                 EBANK=   LST1                                  

Page 1234

052614,000496:    5332           53305        LONGCALL          DXCH     LONGTIME                              #  OBTAIN THE DELTA TIME
052615,000497: 
052616,000498:    5333           00006                          EXTEND                                         #  OBTAIN THE 2CADR
052617,000499:    5334           50002                          NDX      Q                                     
052618,000500:    5335           30001                          DCA      0                                     
052619,000501:    5336           53301                          DXCH     LONGCADR                              
052620,000502: 
052621,000503:    5337           00006                          EXTEND                                         #  NOW GO TO THE APPROPRIATE SWITCHED BANK
052622,000504:    5340           35343                          DCA      LGCL2CDR                              #  FOR THE REST OF LONGCALL
052623,000505:    5341           52006                          DTCB                                           
052624,000506: 
052625,000507:    5342  E3,1400                                 EBANK=   LST1                                  
052626,000508:    5342           03425 02063  LGCL2CDR          2CADR    LNGCALL2                              
052627,000509: 
052628,000510:                                                                                                 #  *** THE FOLLOWING MAY BE IN A SWITCHED BANK, INCLUDING ITS ERASABLE ***
052629,000511: 
052630,000512: 01,2000                                          SETLOC   EXECB1                                
052631,000513: 01,2000                                          BANK                                           
052632,000514: 
052633,000515: 01,3425                                          COUNT*   $$/WAIT                               
052634,000516: 01,3425           23435        LNGCALL2          LXCH     LONGEXIT   +1                         #  SAVE THE CORRECT BB FOR RETURN
052635,000517: 01,3426           34767                          CA       TWO                                   #  OBTAIN THE RETURN ADDRESS
052636,000518: 01,3427           26002                          ADS      Q                                     
052637,000519: 01,3430           55434                          TS       LONGEXIT                              
052638,000520: 
052639,000521: 01,3431           11304        LGCLNGTM          CCS      LONGTIME                              #  TEST FOR NEG. TIME
052640,000522: 01,3432           13440                          TCF      LONGCYCL                              #  HI-ORDER POS...OK
052641,000523: 01,3433           13435                          TCF      +2                                    #            ZERO...TEST LO-ORDER
052642,000524: 01,3434           15247                          TCF      WATLST0-                              #            NEG...POODOO
052643,000525: 01,3435           31305                          CA       LONGTIME   +1                         #            ZERO...TEST LO-ORDER
052644,000526: 01,3436           00006                          EXTEND                                         
052645,000527: 01,3437           65247                          BZMF     WATLST0-                              #  LO-ORDER ZERO/NEG...POODOO
052646,000528: 
052647,000529:                                                                                                 #  *** WAITLIST TASK LONGCYCL ***
052648,000530: 
052649,000531: 01,3440           00006        LONGCYCL          EXTEND                                         #  CAN WE SUCCESFULLY TAKE ABOUT 1.25
052650,000532: 01,3441           43452                          DCS      DPBIT14                               #  MINUTES OFF OF LONGTIME
052651,000533: 01,3442           21305                          DAS      LONGTIME                              
052652,000534: 
052653,000535: 01,3443           11305                          CCS      LONGTIME   +1                         #  THE REASONING BEHIND THIS PART IS
052654,000536: 01,3444           13462                          TCF      MUCHTIME                              #  INVOLVED, TAKING INTO ACCOUNT THAT THE
052655,000537:                                                                                                 #  WORDS MAY NOT BE SIGNED CORRECTED (DP
052656,000538:                                                                                                 #  BASIC INSTRUCTIONS
052657,000539:                                                                                                 #  DO NOT SIGN CORRECT) AND THAT WE SUBTRAC-
052658,000540:                                                                                                 #  TED BIT14 (1 OVER HALF THE POS. VALUE
052659,000541:                                                                                                 #  REPRESENTABLE IN SINGLE WORD)
052660,000542: 01,3445           13446                          NOOP                                           #  CAN'T GET HERE **********
052661,000543: 01,3446           13447                          TCF      +1                                    
052662,000544: 01,3447           11304                          CCS      LONGTIME                              
052663,000545: 01,3450           13462                          TCF      MUCHTIME                              

Page 1235

052665,000547: 01,3451           00000        DPBIT14           OCT      00000                                 
052666,000548: 01,3452           20000                          OCT      20000                                 
052667,000549: 
052668,000550:                                                                                                 #  LONGCALL
052669,000551: 01,3453           34753        LASTTIME          CA       BIT14                                 #  GET BACK THE CORRECT DELTA T FOR WAITLIST
052670,000552: 01,3454           27305                          ADS      LONGTIME   +1                         
052671,000553: 01,3455           05223                          TC       TWIDDLE                               
052672,000554: 01,3456           03142                          ADRES    GETCADR                               #  THE ENTRY TO OUR LONGCADR
052673,000555: 01,3457           35313        LONGRTRN          CA       TSKOVCDR                              #  SET IT UP SO THAT ONLY THE FIRST EXIT IS
052674,000556: 01,3460           53435                          DXCH     LONGEXIT                              #  TO THE CALLER OF LONGCALL
052675,000557: 01,3461           52006                          DTCB                                           #  THE REST ARE TO TASKOVER
052676,000558: 
052677,000559: 01,3462           34753        MUCHTIME          CA       BIT14                                 #  WE HAVE OVER OUR ABOUT 1.25 MINUTES
052678,000560: 01,3463           05233        WTLTCADR          TC       WAITLIST                              #  SO SET UP FOR ANOTHER CYCLE THRU HERE (=GENADR)
052679,000561: 01,3464  E3,1400                                 EBANK=   LST1                                  
052680,000562: 01,3464           03440 02063                    2CADR    LONGCYCL                              
052681,000563: 
052682,000564: 01,3466           13457                          TCF      LONGRTRN                              #  NOW EXIT PROPERLY

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