Source Code

These source-code files are part of a reconstructed copy of Sundial E, the final release of the Block II Command Module (CM) Apollo Guidance Computer (AGC) system test software.

They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 2003053-121, 2003053-151, and 2003972-211, belonging to the MIT Museum.

Since only binary dumps (rather than listings) of Sundial are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

004314,000002:                                                                                                  ## Copyright:   Public domain.
004315,000003:                                                                                                  ## Filename:    EXECUTIVE.agc
004316,000004:                                                                                                  ## Purpose:     A section of Sundial E.
004317,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
004318,000006:                                                                                                  ##              release of the Block II Command Module system test software. No
004319,000007:                                                                                                  ##              original listings of this program are available; instead, this
004320,000008:                                                                                                  ##              file was created via disassembly of dumps of Sundial core rope
004321,000009:                                                                                                  ##              modules and comparison with other AGC programs.
004322,000010:                                                                                                  ## Assembler:   yaYUL
004323,000011:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
004324,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
004325,000013:                                                                                                  ## Mod history: 2023-06-22 MAS  Created from Aurora 12.
004326,000014:                                                                                                  ##              2023-06-30 MAS  Updated for Sundial E.
004327,000015: 
004328,000016: 
004329,000017:    4276                                           SETLOC   ENDSUBSF                              
004330,000018: 
004331,000019:                                                                                                  #  TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
004332,000020: 
004333,000021:    4276           54070        NOVAC              TS       NEWPRIO                               #  SAVE PRIORITY OF NEW JOB.
004334,000022:    4277           00006                           EXTEND                                         
004335,000023:    4300           50002                           INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
004336,000024:    4301           30001                           DCA      0                                     #  2CADR OF JOB ENTERED.
004337,000025:    4302           52073                           DXCH     NEWLOC                                
004338,000026:    4303           34362                           CAF      EXECBANK                              
004339,000027:    4304           56004                           XCH      FBANK                                 
004340,000028:    4305           54065                           TS       EXECTEM1                              
004341,000029:    4306           12242                           TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
004342,000030: 
004343,000031:                                                                                                  #  TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
004344,000032: 
004345,000033:    4307           54070        FINDVAC            TS       NEWPRIO                               
004346,000034:    4310           00006                           EXTEND                                         
004347,000035:    4311           50002                           INDEX    Q                                     
004348,000036:    4312           30001                           DCA      0                                     
004349,000037:    4313           52073                           DXCH     NEWLOC                                
004350,000038:    4314           34362                           CAF      EXECBANK                              
004351,000039:    4315           56004                           XCH      FBANK                                 
004352,000040:    4316           12220                           TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
004353,000041: 
004354,000042:                                                                                                  #  TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
004355,000043: 
004356,000044:    4317           34362        CHANG1             CAF      EXECBANK                              
004357,000045:    4320           54001                           TS       L                                     
004358,000046:    4321           30002                           CA       Q                                     
004359,000047:    4322           22006                 +3        LXCH     BBANK                                 
004360,000048:    4323           00004                           INHINT                                         
004361,000049:    4324           12320                           TCF      CHANJOB                               
004362,000050: 
004363,000051:                                                                                                  #  TO SUSPEND AN INTERPRETIVE JOB:
004364,000052: 
004365,000053:    4325           34362        CHANG2             CAF      EXECBANK                              
004366,000054:    4326           54001                           TS       L                                     
004367,000055:    4327           40150                           CS       LOC                                   #  NEGATIVE LOC SHOWS JOB INTERPRETIVE.
004368,000056:    4330           14322                           TCF      CHANG1     +3                         
004369,000057: 
004370,000058: 
004371,000059:                                                                                                  #  TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
004372,000060: 
004373,000061:    4331           54150        JOBSLEEP           TS       LOC                                   
004374,000062:    4332           34362                           CAF      EXECBANK                              
004375,000063:    4333           54004                           TS       FBANK                                 
004376,000064:    4334           12403                           TCF      JOBSLP1                               
004377,000065: 
004378,000066:                                                                                                  #  TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
004379,000067: 
004380,000068:    4335           54072        JOBWAKE            TS       NEWLOC                                
004381,000069:    4336           47651                           CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
004382,000070:    4337           26002                           ADS      Q                                     
004383,000071:    4340           34362                           CAF      EXECBANK                              
004384,000072:    4341           56004                           XCH      FBANK                                 
004385,000073:    4342           12414                           TCF      JOBWAKE2                              
004386,000074: 
004387,000075:                                                                                                  #  TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
004388,000076: 
004389,000077:    4343           00004        PRIOCHNG           INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
004390,000078:    4344           54070                           TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
004391,000079:    4345           34362                           CAF      EXECBANK                              #  HIGHEST. PREPARE FOR POSSIBLE BASIC-
004392,000080:    4346           56006                           XCH      BBANK                                 #  STYLE CHANGE-JOB.
004393,000081:    4347           54151                           TS       BANKSET                               
004394,000082:    4350           30002                           CA       Q                                     
004395,000083:    4351           12463                           TCF      PRIOCH2                               
004396,000084: 
004397,000085:                                                                                                  #  TO FREE THE DISPLAY BEFORE ENDOFJOB:
004398,000086: 
004399,000087:    4352           05632        EJFREE             TC       FREEDSP                               
004400,000088: 
004401,000089:                                                                                                  #  TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
004402,000090: 
004403,000091:    4353           34362        ENDOFJOB           CAF      EXECBANK                              
004404,000092:    4354           54004                           TS       FBANK                                 
004405,000093:    4355           12474                           TCF      ENDJOB1                               
004406,000094: 
004407,000095:    4356           30065        ENDFIND            CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
004408,000096:    4357           54004                           TS       FBANK                                 #  COMPLETE.
004409,000097:    4360           50002                           INDEX    Q                                     
004410,000098:    4361           00002                           TC       2                                     
004411,000099: 
004412,000100:    4362           02220        EXECBANK           CADR     FINDVAC2                              
004413,000101: 
004414,000102: 
004415,000103:                                                                                                  #  LOCATE AN AVAILABLE VAC AREA.
004416,000104: 
004417,000105: 01,2220                                           SETLOC   ENDINTS1                              
004418,000106: 
004419,000107: 01,2220           54065        FINDVAC2           TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
004420,000108: 01,2221           10414                           CCS      VAC1USE                               
004421,000109: 01,2222           12235                           TCF      VACFOUND                              
004422,000110: 01,2223           10470                           CCS      VAC2USE                               
004423,000111: 01,2224           12235                           TCF      VACFOUND                              
004424,000112: 01,2225           10544                           CCS      VAC3USE                               
004425,000113: 01,2226           12235                           TCF      VACFOUND                              
004426,000114: 01,2227           10620                           CCS      VAC4USE                               
004427,000115: 01,2230           12235                           TCF      VACFOUND                              
004428,000116: 01,2231           10674                           CCS      VAC5USE                               
004429,000117: 01,2232           12235                           TCF      VACFOUND                              
004430,000118: 01,2233           05677                           TC       ABORT                                 
004431,000119: 01,2234           01201                           OCT      1201                                  #  NO VAC AREAS.
004432,000120: 
004433,000121: 01,2235           67651        VACFOUND           AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
004434,000122: 01,2236           22007                           ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
004435,000123: 01,2237           50000                           INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
004436,000124: 01,2240           21777                           LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
004437,000125: 01,2241           26070                           ADS      NEWPRIO                               
004438,000126: 
004439,000127: 01,2242           37657        NOVAC2             CAF      ZERO                                  #  NOVAC ENTERS HERE.  FIND A CORE SET.
004440,000128: 01,2243           54071                           TS       LOCCTR                                
004441,000129: 01,2244           32251                           CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
004442,000130: 01,2245           54066        NOVAC3             TS       EXECTEM2                              
004443,000131: 01,2246           50071                           INDEX    LOCCTR                                
004444,000132: 01,2247           10153                           CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
004445,000133: 01,2250           12311                           TCF      NEXTCORE                              #  THE CORRESPONDING CORE SET IS AVAILABLE.
004446,000134: 01,2251           00006        NO.CORES           DEC      6          B-14                       
004447,000135: 01,2252           12311                           TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
004448,000136:                                                                                                  #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
004449,000137: 
004450,000138: 
004451,000139: 01,2253           30070        CORFOUND           CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
004452,000140: 01,2254           50071                           INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
004453,000141: 01,2255           54153                           TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
004454,000142: 01,2256           77664                           MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
004455,000143: 01,2257           50071                           INDEX    LOCCTR                                
004456,000144: 01,2260           54152                           TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
004457,000145: 
004458,000146: 01,2261           10071                           CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
004459,000147: 01,2262           12276                           TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY.
004460,000148: 01,2263           54105                           TS       OVFIND                                
004461,000149: 01,2264           30152                           CA       PUSHLOC                               
004462,000150: 01,2265           54104                           TS       FIXLOC                                
004463,000151: 
004464,000152: 01,2266           10067        SPECTEST           CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
004465,000153: 01,2267           12276                           TCF      SETLOC                                #  MUST BE AWAKENED BUT UNCHANGED JOB.
004466,000154: 01,2270           05715                           TC       CCSHOLE                               
004467,000155: 01,2271           05715                           TC       CCSHOLE                               
004468,000156: 01,2272           54067                           TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
004469,000157: 01,2273           52073                           DXCH     NEWLOC                                
004470,000158: 01,2274           52151                           DXCH     LOC                                   
004471,000159: 01,2275           14356                           TCF      ENDFIND                               
004472,000160: 
004473,000161: 01,2276           52073        SETLOC             DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
004474,000162: 01,2277           50071                           INDEX    LOCCTR                                
004475,000163: 01,2300           52151                           DXCH     LOC                                   
004476,000164: 01,2301           50067                           INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
004477,000165: 01,2302           40153                           CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
004478,000166: 01,2303           60070                           AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
004479,000167: 01,2304           00006                           EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
004480,000168: 01,2305           64356                           BZMF     ENDFIND                               
004481,000169: 01,2306           30071                           CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
004482,000170: 01,2307           54067                           TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
004483,000171: 01,2310           14356                           TCF      ENDFIND                               #  REGISTERS, ETC.
004484,000172: 
004485,000173: 01,2311           32424        NEXTCORE           CAF      COREINC                               
004486,000174: 01,2312           26071                           ADS      LOCCTR                                
004487,000175: 01,2313           10066                           CCS      EXECTEM2                              
004488,000176: 01,2314           12245                           TCF      NOVAC3                                
004489,000177: 01,2315           05677                           TC       ABORT                                 #  NO CORE SETS.
004490,000178: 01,2316           01202                           OCT      1202                                  
004491,000179: 
004492,000180: 
004493,000181:                                                                                                  #  THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
004494,000182: 
004495,000183: 01,2317           52151                 -1        DXCH     LOC                                   
004496,000184: 01,2320           50067        CHANJOB            INDEX    NEWJOB                                #  LOC ARRIVES IN A AND BBANK IN L.
004497,000185: 01,2321           52151                           DXCH     LOC                                   
004498,000186: 01,2322           52151                           DXCH     LOC                                   
004499,000187: 
004500,000188: 01,2323           52141                           DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
004501,000189: 01,2324           50067                           INDEX    NEWJOB                                
004502,000190: 01,2325           52141                           DXCH     MPAC                                  
004503,000191: 01,2326           52141                           DXCH     MPAC                                  
004504,000192: 01,2327           52143                           DXCH     MPAC       +2                         
004505,000193: 01,2330           50067                           INDEX    NEWJOB                                
004506,000194: 01,2331           52143                           DXCH     MPAC       +2                         
004507,000195: 01,2332           52143                           DXCH     MPAC       +2                         
004508,000196: 01,2333           52145                           DXCH     MPAC       +4                         
004509,000197: 01,2334           50067                           INDEX    NEWJOB                                
004510,000198: 01,2335           52145                           DXCH     MPAC       +4                         
004511,000199: 01,2336           52145                           DXCH     MPAC       +4                         
004512,000200: 01,2337           52147                           DXCH     MPAC       +6                         
004513,000201: 01,2340           50067                           INDEX    NEWJOB                                
004514,000202: 01,2341           52147                           DXCH     MPAC       +6                         
004515,000203: 01,2342           52147                           DXCH     MPAC       +6                         
004516,000204: 
004517,000205: 01,2343           37657                           CAF      ZERO                                  
004518,000206: 01,2344           56105                           XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
004519,000207: 01,2345           00006                           EXTEND                                         
004520,000208: 01,2346           12351                           BZF      +3                                    
004521,000209: 01,2347           40152                           CS       PUSHLOC                               
004522,000210: 01,2350           54152                           TS       PUSHLOC                               
004523,000211: 
004524,000212: 01,2351           52153                           DXCH     PUSHLOC                               
004525,000213: 01,2352           50067                           INDEX    NEWJOB                                
004526,000214: 01,2353           52153                           DXCH     PUSHLOC                               
004527,000215: 01,2354           52153                           DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
004528,000216: 01,2355           37664                           CAF      LOW9                                  #  SET FIXLOC TO BASE OF VAC AREA.
004529,000217: 01,2356           70153                           MASK     PRIORITY                              
004530,000218: 01,2357           54104                           TS       FIXLOC                                
004531,000219: 
004532,000220: 01,2360           10152                           CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
004533,000221: 01,2361           37657                           CAF      ZERO                                  
004534,000222: 01,2362           12367                           TCF      ENDPRCHG   -1                         
004535,000223: 01,2363           40152                           CS       PUSHLOC                               
004536,000224: 01,2364           54152                           TS       PUSHLOC                               
004537,000225: 01,2365           37652                           CAF      ONE                                   
004538,000226: 01,2366           56105                           XCH      OVFIND                                
004539,000227: 01,2367           54067                           TS       NEWJOB                                
004540,000228: 
004541,000229: 01,2370           00003        ENDPRCHG           RELINT                                         
004542,000230: 01,2371           52151                           DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
004543,000231: 
004544,000232: 
004545,000233: 01,2372           00006                           EXTEND                                         #  DISPATCH WITH A DTCB.
004546,000234: 01,2373           62375                           BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
004547,000235: 01,2374           52006                           DTCB                                           
004548,000236: 
004549,000237: 
004550,000238: 01,2375           40000                           COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
004551,000239: 01,2376           67652                           AD       ONE                                   
004552,000240: 01,2377           54150                           TS       LOC                                   #  RESUME.
004553,000241: 01,2400           36232                           CAF      FBANKMSK                              
004554,000242: 01,2401           70001                           MASK     L                                     
004555,000243: 01,2402           16011                           TCF      INTRSM                                
004556,000244: 
004557,000245:                                                                                                  #  COMPLETE JOBSLEEP PREPARATIONS.
004558,000246: 
004559,000247: 01,2403           00004        JOBSLP1            INHINT                                         
004560,000248: 01,2404           40153                           CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
004561,000249: 01,2405           54153                           TS       PRIORITY                              
004562,000250: 01,2406           36027                           CAF      LOW7                                  
004563,000251: 01,2407           70006                           MASK     BBANK                                 
004564,000252: 01,2410           54151                           TS       BANKSET                               
004565,000253: 01,2411           47657                           CS       ZERO                                  
004566,000254: 01,2412           54115        JOBSLP2            TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
004567,000255: 01,2413           12504                           TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
004568,000256: 
004569,000257: 
004570,000258:                                                                                                  #  TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
004571,000259:                                                                                                  #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
004572,000260:                                                                                                  #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
004573,000261: 
004574,000262: 01,2414           54065        JOBWAKE2           TS       EXECTEM1                              
004575,000263: 01,2415           37657                           CAF      ZERO                                  #  BEGIN CORE SET SCAN.
004576,000264: 01,2416           54071                           TS       LOCCTR                                
004577,000265: 01,2417           32251                           CAF      NO.CORES                              
004578,000266: 01,2420           54066        JOBWAKE4           TS       EXECTEM2                              
004579,000267: 01,2421           50071                           INDEX    LOCCTR                                
004580,000268: 01,2422           10153                           CCS      PRIORITY                              
004581,000269: 01,2423           12426                           TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
004582,000270: 01,2424           00014        COREINC            DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
004583,000271: 01,2425           12435                           TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
004584,000272: 
004585,000273: 01,2426           32424        JOBWAKE3           CAF      COREINC                               
004586,000274: 01,2427           26071                           ADS      LOCCTR                                
004587,000275: 01,2430           10066                           CCS      EXECTEM2                              
004588,000276: 01,2431           12420                           TCF      JOBWAKE4                              
004589,000277: 01,2432           47652                           CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
004590,000278: 01,2433           54071                           TS       LOCCTR                                
004591,000279: 01,2434           14356                           TCF      ENDFIND                               
004592,000280: 
004593,000281: 01,2435           40072        WAKETEST           CS       NEWLOC                                
004594,000282: 01,2436           50071                           INDEX    LOCCTR                                
004595,000283: 01,2437           60150                           AD       LOC                                   
004596,000284: 01,2440           00006                           EXTEND                                         
004597,000285: 01,2441           12443                           BZF      +2                                    #  IF MATCH.
004598,000286: 01,2442           12426                           TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
004599,000287: 
004600,000288: 01,2443           50071                           INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
004601,000289: 01,2444           40153                           CS       PRIORITY                              
004602,000290: 01,2445           54070                           TS       NEWPRIO                               
004603,000291: 01,2446           50071                           INDEX    LOCCTR                                
004604,000292: 01,2447           54153                           TS       PRIORITY                              
004605,000293: 
004606,000294: 01,2450           46232                           CS       FBANKMSK                              #  MAKE UP THE 2CADR OF THE WAKE ADDRESS
004607,000295: 01,2451           70072                           MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
004608,000296: 01,2452           67640                           AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
004609,000297: 01,2453           56072                           XCH      NEWLOC                                
004610,000298: 01,2454           76232                           MASK     FBANKMSK                              
004611,000299: 01,2455           50071                           INDEX    LOCCTR                                
004612,000300: 01,2456           60151                           AD       BANKSET                               
004613,000301: 01,2457           54073                           TS       NEWLOC     +1                         
004614,000302: 
004615,000303: 01,2460           10071                           CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
004616,000304: 01,2461           12276                           TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
004617,000305: 01,2462           12266                           TCF      SPECTEST                              
004618,000306: 
004619,000307: 
004620,000308:                                                                                                  #  PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
004621,000309: 
004622,000310: 01,2463           54150        PRIOCH2            TS       LOC                                   
004623,000311: 01,2464           37657                           CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
004624,000312: 01,2465           54114                           TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
004625,000313: 01,2466           37664                           CAF      LOW9                                  
004626,000314: 01,2467           70153                           MASK     PRIORITY                              
004627,000315: 01,2470           60070                           AD       NEWPRIO                               
004628,000316: 01,2471           54153                           TS       PRIORITY                              
004629,000317: 01,2472           40000                           COM                                            
004630,000318: 01,2473           12412                           TCF      JOBSLP2                               #  AND TO EJSCAN.
004631,000319: 
004632,000320: 
004633,000321:                                                                                                  #  RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
004634,000322: 
004635,000323: 01,2474           00004        ENDJOB1            INHINT                                         
004636,000324: 01,2475           47657                           CS       ZERO                                  
004637,000325: 01,2476           54115                           TS       BUF        +1                         
004638,000326: 01,2477           56153                           XCH      PRIORITY                              
004639,000327: 01,2500           77664                           MASK     LOW9                                  
004640,000328: 01,2501           10000                           CCS      A                                     
004641,000329: 01,2502           50000                           INDEX    A                                     
004642,000330: 01,2503           54000                           TS       0                                     
004643,000331: 
004644,000332: 01,2504           10167        EJSCAN             CCS      PRIORITY   +12D                       
004645,000333: 01,2505           02551                           TC       EJ1                                   
004646,000334: 01,2506           05715                           TC       CCSHOLE                               
004647,000335: 01,2507           12510                           TCF      +1                                    
004648,000336: 
004649,000337: 01,2510           10203                           CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
004650,000338: 01,2511           02551                           TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
004651,000339: 01,2512           05715                           TC       CCSHOLE                               
004652,000340: 01,2513           12514                           TCF      +1                                    
004653,000341: 
004654,000342: 01,2514           10217                           CCS      PRIORITY   +36D                       
004655,000343: 01,2515           02551                           TC       EJ1                                   
004656,000344: 01,2516           67624        -CCSPR             -CCS     PRIORITY                              
004657,000345: 01,2517           12520                           TCF      +1                                    
004658,000346: 
004659,000347: 01,2520           10233                           CCS      PRIORITY   +48D                       
004660,000348: 01,2521           02551                           TC       EJ1                                   
004661,000349: 01,2522           05715                           TC       CCSHOLE                               
004662,000350: 01,2523           12524                           TCF      +1                                    
004663,000351: 
004664,000352: 01,2524           10247                           CCS      PRIORITY   +60D                       
004665,000353: 01,2525           02551                           TC       EJ1                                   
004666,000354: 01,2526           05715                           TC       CCSHOLE                               
004667,000355: 01,2527           12530                           TCF      +1                                    
004668,000356: 
004669,000357: 01,2530           10263                           CCS      PRIORITY   +72D                       
004670,000358: 01,2531           02551                           TC       EJ1                                   
004671,000359: 01,2532           05715                           TC       CCSHOLE                               
004672,000360: 01,2533           12534                           TCF      +1                                    
004673,000361: 
004674,000362: 
004675,000363:                                                                                                  #  EVALUATE THE RESULTS OF THE SCAN.
004676,000364: 
004677,000365: 01,2534           10115                           CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
004678,000366: 01,2535           05715                           TC       CCSHOLE                               
004679,000367: 01,2536           05715                           TC       CCSHOLE                               
004680,000368: 
004681,000369: 01,2537           12541                           TCF      +2                                    
004682,000370: 01,2540           14363                           TCF      DUMMYJOB                              
004683,000371: 01,2541           10114                           CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
004684,000372: 01,2542           12544                           TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
004685,000373: 01,2543           12370                           TCF      ENDPRCHG                              
004686,000374: 
004687,000375: 01,2544           50000                           INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
004688,000376: 01,2545           27777                           CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
004689,000377: 01,2546           62516                           AD       -CCSPR                                
004690,000378: 01,2547           54067                           TS       NEWJOB                                
004691,000379: 01,2550           12317                           TCF      CHANJOB    -1                         
004692,000380: 
004693,000381: 01,2551           54116        EJ1                TS       BUF        +2                         
004694,000382: 01,2552           60115                           AD       BUF        +1                         #  - OLD HIGH PRIORITY.
004695,000383: 01,2553           10000                           CCS      A                                     
004696,000384: 01,2554           40116                           CS       BUF        +2                         
004697,000385: 01,2555           12561                           TCF      EJ2                                   #  NEW HIGH PRIORITY.
004698,000386: 01,2556           12557                           NOOP                                           
004699,000387: 01,2557           50002                           INDEX    Q                                     
004700,000388: 01,2560           00002                           TC       2                                     #  PROCEED WITH SEARCH.
004701,000389: 
004702,000390: 01,2561           54115        EJ2                TS       BUF        +1                         
004703,000391: 01,2562           00006                           EXTEND                                         
004704,000392: 01,2563           22114                           QXCH     BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
004705,000393: 01,2564           50114                           INDEX    BUF                                   
004706,000394: 01,2565           00002                           TC       2                                     
004707,000395: 
004708,000396: 01,2566                        ENDEXECS           EQUALS                                         
004709,000397: 
004710,000398: 
004711,000399:                                                                                                  #  IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
004712,000400:                                                                                                  #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
004713,000401: 
004714,000402:    4363                                           SETLOC   EXECBANK   +1                         
004715,000403: 
004716,000404:    4363     1360                                  EBANK=   SELFRET                               #  SELF-CHECK STORAGE IN EBANK.
004717,000405: 
004718,000406:    4363           47657        DUMMYJOB           CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
004719,000407:    4364           54067                           TS       NEWJOB                                
004720,000408:    4365           00003                           RELINT                                         
004721,000409:    4366           47651                           CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
004722,000410:    4367           00006                           EXTEND                                         
004723,000411:    4370           03011                           WAND     DSALMOUT                              
004724,000412:    4371           14374                           TCF      CHECKNJ    +2                         
004725,000413: 
004726,000414:    4372           00006        CHECKNJ            EXTEND                                         #  SPECIAL NEWJOB TEST FOR SELF-CHECK,
004727,000415:    4373           23360                           QXCH     SELFRET                               #  WHICH RUNS UNDER EXECUTIVE CONTROL,
004728,000416:    4374           10067                 +2        CCS      NEWJOB                                #  BUT DOES NOT HAVE A JOBS CORE REGISTERS.
004729,000417:    4375           14407                           TCF      NUCHANGE                              #  NEW JOB REQUIRING A CHANGE JOB.
004730,000418:    4376           37651                           CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
004731,000419:    4377           14403                           TCF      NUDIRECT                              #  EXECUTION.
004732,000420: 
004733,000421:    4400           34416        ADVAN              CAF      SELFBANK                              #  (SIMULATOR ADVAN IF NEWJOB = 77777).
004734,000422:    4401           54006                           TS       BBANK                                 
004735,000423:    4402           01360                           TC       SELFRET                               
004736,000424: 
004737,000425:    4403           00006        NUDIRECT           EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
004738,000426:    4404           05011                           WOR      DSALMOUT                              
004739,000427:    4405           52151                           DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
004740,000428:    4406           52006                           DTCB                                           #  BASIC.
004741,000429: 
004742,000430:    4407           37651        NUCHANGE           CAF      TWO                                   
004743,000431:    4410           00006                           EXTEND                                         
004744,000432:    4411           05011                           WOR      DSALMOUT                              
004745,000433:    4412           34362                           CAF      EXECBANK                              #  SWAP CORE SETS.
004746,000434:    4413           54004                           TS       FBANK                                 
004747,000435:    4414           00004                           INHINT                                         #  CHANGE JOBS
004748,000436:    4415           12317                           TCF      CHANJOB    -1                         
004749,000437: 
004750,000438:    4416           20002        SELFBANK           BBCON    SELFCHK                               
004751,000439: 
004752,000440: 
004753,000441:                                                                                                  #  PRIORITY CONSTANTS (NOTE IN FIXED-FIXED).
004754,000442: 
004755,000443:    4417     7641               PRIO1              EQUALS   BIT10                                 
004756,000444:    4417     7640               PRIO2              EQUALS   BIT11                                 
004757,000445:    4417           03000        PRIO3              OCT      03000                                 
004758,000446:    4420     7637               PRIO4              EQUALS   BIT12                                 
004759,000447:    4420           05000        PRIO5              OCT      05000                                 
004760,000448:    4421           06000        PRIO6              OCT      06000                                 
004761,000449:    4422           07000        PRIO7              OCT      07000                                 
004762,000450:    4423     7636               PRIO10             EQUALS   BIT13                                 
004763,000451:    4423           11000        PRIO11             OCT      11000                                 
004764,000452:    4424           12000        PRIO12             OCT      12000                                 
004765,000453:    4425           13000        PRIO13             OCT      13000                                 
004766,000454:    4426           14000        PRIO14             OCT      14000                                 
004767,000455:    4427           15000        PRIO15             OCT      15000                                 
004768,000456:    4430           16000        PRIO16             OCT      16000                                 
004769,000457:    4431           17000        PRIO17             OCT      17000                                 
004770,000458:    4432     7635               PRIO20             EQUALS   BIT14                                 
004771,000459:    4432           21000        PRIO21             OCT      21000                                 
004772,000460:    4433           22000        PRIO22             OCT      22000                                 
004773,000461:    4434           23000        PRIO23             OCT      23000                                 
004774,000462:    4435           24000        PRIO24             OCT      24000                                 
004775,000463:    4436           25000        PRIO25             OCT      25000                                 
004776,000464:    4437           26000        PRIO26             OCT      26000                                 
004777,000465:    4440           27000        PRIO27             OCT      27000                                 
004778,000466:    4441           30000        PRIO30             OCT      30000                                 
004779,000467:    4442           31000        PRIO31             OCT      31000                                 
004780,000468:    4443           32000        PRIO32             OCT      32000                                 
004781,000469:    4444           33000        PRIO33             OCT      33000                                 
004782,000470:    4445           34000        PRIO34             OCT      34000                                 
004783,000471:    4446           35000        PRIO35             OCT      35000                                 
004784,000472:    4447           36000        PRIO36             OCT      36000                                 
004785,000473:    4450           37000        PRIO37             OCT      37000                                 
004786,000474:    4451                        ENDEXECF           EQUALS                                         

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