Source Code

These source code files are a reconstruction of Sundance, the Apollo 9 LM (Lunar Module) AGC (Apollo Guidance Computer) flight software, created from binary dumps of original core rope program modules, as follows:
  • B1 — Revision 292
  • B2 — Revision 302
  • B3 — Revision 302
  • B4 — Revision 302
  • B5 — Revision 292
  • B6 — Revision 306
This means that source code does not represent a specific historical revision of Sundance, but rather a mixture of the three released versions. Nonetheless, it is capable of flying the whole Apollo 9 mission. This source code matches the binary dumps, as closely as feasible, but 100% match is not possible, due mostly to changes in memory addresses at which code and variables were allocated in different revisions of Sundance. Refer to this list of explanations for each binary mismatch.

Since only binary dumps (rather than listings) of Sundance 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.

042500,000002:                                                                                                  ## Copyright:   Public domain.
042501,000003:                                                                                                  ## Filename:    EXECUTIVE.agc
042502,000004:                                                                                                  ## Purpose:     A section of a reconstructed, mixed version of Sundance
042503,000005:                                                                                                  ##              It is part of the reconstructed source code for the Lunar
042504,000006:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 9.
042505,000007:                                                                                                  ##              No original listings of this program are available;
042506,000008:                                                                                                  ##              instead, this file was created via disassembly of dumps
042507,000009:                                                                                                  ##              of various revisions of Sundance core rope modules.
042508,000010:                                                                                                  ## Assembler:   yaYUL
042509,000011:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
042510,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
042511,000013:                                                                                                  ## Mod history: 2020-06-17 MAS  Created from Luminary 69.
042512,000014: 
042513,000015:                                                                                                  ## Sundance 292
042514,000016: 
042515,000017:    5142                                           BLOCK    02                                    
042516,000018:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
042517,000019: 
042518,000020:    5142                                           COUNT*   $$/EXEC                               
042519,000021:    5142           00004        NOVAC              INHINT                                         
042520,000022:    5143           65234                           AD       FAKEPRET                              #  LOC(MPAC +6) - LOC(QPRET)
042521,000023:    5144           54063                           TS       NEWPRIO                               #  PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
042522,000024: 
042523,000025:    5145           00006                           EXTEND                                         
042524,000026:    5146           50002                           INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
042525,000027:    5147           30001                           DCA      0                                     #  2CADR OF JOB ENTERED.
042526,000028:    5150           52066                           DXCH     NEWLOC                                
042527,000029:    5151           35233                           CAF      EXECBANK                              
042528,000030:    5152           56004                           XCH      FBANK                                 
042529,000031:    5153           54061                           TS       EXECTEM1                              
042530,000032:    5154           12444                           TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
042531,000033: 
042532,000034:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
042533,000035: 
042534,000036:    5155           00004        FINDVAC            INHINT                                         
042535,000037:    5156           54063                           TS       NEWPRIO                               
042536,000038:    5157           00006                           EXTEND                                         
042537,000039:    5160           50002                           INDEX    Q                                     
042538,000040:    5161           30001                           DCA      0                                     
042539,000041:    5162           52066        SPVACIN            DXCH     NEWLOC                                
042540,000042:    5163           35233                           CAF      EXECBANK                              
042541,000043:    5164           56004                           XCH      FBANK                                 
042542,000044:    5165           12422                           TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
042543,000045: 
042544,000046:                                                                                                  #           TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
042545,000047: 
042546,000048:                                                                                                  #           USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
042547,000049: 
042548,000050:    5166           56002        SPVAC              XCH      Q                                     
042549,000051:    5167           67720                           AD       NEG2                                  
042550,000052:    5170           56002                           XCH      Q                                     
042551,000053:    5171           15162                           TCF      SPVACIN                               
042552,000054: 
042553,000055:                                                                                                  #           TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
042554,000056: 
042555,000057:    5172           22002        CHANG1             LXCH     Q                                     
042556,000058:    5173           35233                           CAF      EXECBANK                              
042557,000059:    5174           56006                           XCH      BBANK                                 
042558,000060:    5175           12523                           TCF      CHANJOB                               
042559,000061: 
042560,000062:                                                                                                  #           TO SUSPEND AN INTERPRETIVE JOB:
042561,000063: 
042562,000064:    5176           40164        CHANG2             CS       LOC                                   #  NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
042563,000065:                                                                                                  #           ITRACE (4) REFERS TO "CHANG2".
042564,000066:    5177           54001                           TS       L                                     
042565,000067: 
042566,000068:    5200           35233                 +2        CAF      EXECBANK                              
042567,000069:    5201           54006                           TS       BBANK                                 
042568,000070:    5202           12522                           TCF      CHANJOB    -1                         
042569,000071: 
042570,000072:                                                                                                  #           TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
042571,000073: 
042572,000074:    5203           54164        JOBSLEEP           TS       LOC                                   
042573,000075:    5204           35233                           CAF      EXECBANK                              
042574,000076:    5205           54004                           TS       FBANK                                 
042575,000077:    5206           12613                           TCF      JOBSLP1                               
042576,000078: 
042577,000079:                                                                                                  #           TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
042578,000080: 
042579,000081:    5207           00004        JOBWAKE            INHINT                                         
042580,000082:    5210           54065                           TS       NEWLOC                                
042581,000083:    5211           45025                           CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
042582,000084:    5212           26002                           ADS      Q                                     
042583,000085:    5213           35233                           CAF      EXECBANK                              
042584,000086:    5214           56004                           XCH      FBANK                                 
042585,000087:    5215           12640                           TCF      JOBWAKE2                              
042586,000088: 
042587,000089:                                                                                                  #           TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
042588,000090: 
042589,000091:    5216           00004        PRIOCHNG           INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
042590,000092:    5217           54063                           TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
042591,000093:    5220           35233                           CAF      EXECBANK                              #  HIGHEST.  PREPARE FOR POSSIBLE BASIC-
042592,000094:    5221           56006                           XCH      BBANK                                 #  STYLE CHANGE-JOB.
042593,000095:    5222           54165                           TS       BANKSET                               
042594,000096:    5223           30002                           CA       Q                                     
042595,000097:    5224           12707                           TCF      PRIOCH2                               
042596,000098: 
042597,000099:                                                                                                  #           TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
042598,000100: 
042599,000101:    5225           35233        ENDOFJOB           CAF      EXECBANK                              
042600,000102:    5226           54004                           TS       FBANK                                 
042601,000103:    5227           12720                           TCF      ENDJOB1                               
042602,000104: 
042603,000105:    5230           30061        ENDFIND            CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
042604,000106:    5231           54004                           TS       FBANK                                 #  COMPLETE.
042605,000107:    5232           16715                           TCF      Q+2                                   
042606,000108:    5233           02422        EXECBANK           CADR     FINDVAC2                              
042607,000109: 
042608,000110:    5234           00110        FAKEPRET           ADRES    MPAC       -36D                       #  LOC(MPAC +6) - LOC(QPRET)
042609,000111: 
042610,000112:                                                                                                  #           LOCATE AN AVAILABLE VAC AREA.
042611,000113: 
042612,000114: 01,2422                                           BANK     01                                    
042613,000115: 01,2422                                           COUNT*   $$/EXEC                               
042614,000116: 01,2422           54061        FINDVAC2           TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
042615,000117: 01,2423           10400                           CCS      VAC1USE                               
042616,000118: 01,2424           12437                           TCF      VACFOUND                              
042617,000119: 01,2425           10454                           CCS      VAC2USE                               
042618,000120: 01,2426           12437                           TCF      VACFOUND                              
042619,000121: 01,2427           10530                           CCS      VAC3USE                               
042620,000122: 01,2430           12437                           TCF      VACFOUND                              
042621,000123: 01,2431           10604                           CCS      VAC4USE                               
042622,000124: 01,2432           12437                           TCF      VACFOUND                              
042623,000125: 01,2433           10660                           CCS      VAC5USE                               
042624,000126: 01,2434           12437                           TCF      VACFOUND                              
042625,000127: 01,2435           05713                           TC       ABORT                                 
042626,000128: 01,2436           01201                           OCT      1201                                  #  NO VAC AREAS.
042627,000129: 
042628,000130: 01,2437           65025        VACFOUND           AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
042629,000131: 01,2440           22007                           ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
042630,000132: 01,2441           50000                           INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
042631,000133: 01,2442           21777                           LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
042632,000134: 01,2443           26063                           ADS      NEWPRIO                               
042633,000135: 
042634,000136: 01,2444           35030        NOVAC2             CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
042635,000137: 01,2445           54064                           TS       LOCCTR                                
042636,000138: 01,2446           32453                           CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
042637,000139: 01,2447           54062        NOVAC3             TS       EXECTEM2                              
042638,000140: 01,2450           50064                           INDEX    LOCCTR                                
042639,000141: 01,2451           10167                           CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
042640,000142: 01,2452           12513                           TCF      NEXTCORE                              #  THE CORRESPONDING CORE SET IS AVAILABLE.
042641,000143: 01,2453           00006        NO.CORES           DEC      6          B-14                       
042642,000144: 01,2454           12513                           TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
042643,000145:                                                                                                  #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
042644,000146: 
042645,000147: 01,2455           30063        CORFOUND           CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
042646,000148: 01,2456           50064                           INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
042647,000149: 01,2457           54167                           TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
042648,000150: 01,2460           75054                           MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
042649,000151: 01,2461           50064                           INDEX    LOCCTR                                
042650,000152: 01,2462           54166                           TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
042651,000153: 
042652,000154: 01,2463           10064                           CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
042653,000155: 01,2464           12500                           TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY.
042654,000156: 01,2465           54121                           TS       OVFIND                                
042655,000157: 01,2466           30166                           CA       PUSHLOC                               
042656,000158: 01,2467           54120                           TS       FIXLOC                                
042657,000159: 
042658,000160: 01,2470           10067        SPECTEST           CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
042659,000161: 01,2471           12500                           TCF      SETLOC                                #  MUST BE AWAKENED BUT UNCHANGED JOB.
042660,000162: 01,2472           05723                           TC       CCSHOLE                               
042661,000163: 01,2473           05723                           TC       CCSHOLE                               
042662,000164: 01,2474           54067                           TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
042663,000165: 01,2475           52066                           DXCH     NEWLOC                                
042664,000166: 01,2476           52165                           DXCH     LOC                                   
042665,000167: 01,2477           15230                           TCF      ENDFIND                               
042666,000168: 
042667,000169: 01,2500           52066        SETLOC             DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
042668,000170: 01,2501           50064                           INDEX    LOCCTR                                
042669,000171: 01,2502           52165                           DXCH     LOC                                   
042670,000172: 01,2503           50067                           INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
042671,000173: 01,2504           40167                           CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
042672,000174: 01,2505           60063                           AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
042673,000175: 01,2506           00006                           EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
042674,000176: 01,2507           65230                           BZMF     ENDFIND                               
042675,000177: 01,2510           30064                           CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
042676,000178: 01,2511           54067                           TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
042677,000179: 01,2512           15230                           TCF      ENDFIND                               #  REGISTERS, ETC.
042678,000180: 
042679,000181: 01,2513           32650        NEXTCORE           CAF      COREINC                               
042680,000182: 01,2514           26064                           ADS      LOCCTR                                
042681,000183: 01,2515           10062                           CCS      EXECTEM2                              
042682,000184: 01,2516           12447                           TCF      NOVAC3                                
042683,000185: 01,2517           05713                           TC       ABORT                                 #  NO CORE SETS.
042684,000186: 01,2520           01202                           OCT      1202                                  
042685,000187: 
042686,000188:                                                                                                  #           THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
042687,000189: 
042688,000190: 01,2521           22164                 -2        LXCH     LOC                                   
042689,000191: 01,2522           30165                 -1        CAE      BANKSET                               #  BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
042690,000192: 01,2523           00004        CHANJOB            INHINT                                         
042691,000193: 01,2524           00006                           EXTEND                                         
042692,000194: 01,2525           04007                           ROR      SUPERBNK                              #  PICK UP CURRENT SBANK FOR BBCON
042693,000195: 01,2526           56001                           XCH      L                                     #  LOC IN A AND BBCON IN L.
042694,000196: 01,2527           50067                 +4        INDEX    NEWJOB                                #  SWAP LOC AND BANKSET.
042695,000197: 01,2530           52165                           DXCH     LOC                                   
042696,000198: 01,2531           52165                           DXCH     LOC                                   
042697,000199: 
042698,000200: 01,2532           30165                           CAE      BANKSET                               
042699,000201: 01,2533           00006                           EXTEND                                         
042700,000202: 01,2534           01007                           WRITE    SUPERBNK                              #  SET SBANK FOR NEW JOB.
042701,000203: 01,2535           52155                           DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
042702,000204: 01,2536           50067                           INDEX    NEWJOB                                
042703,000205: 01,2537           52155                           DXCH     MPAC                                  
042704,000206: 01,2540           52155                           DXCH     MPAC                                  
042705,000207: 01,2541           52157                           DXCH     MPAC       +2                         
042706,000208: 01,2542           50067                           INDEX    NEWJOB                                
042707,000209: 01,2543           52157                           DXCH     MPAC       +2                         
042708,000210: 01,2544           52157                           DXCH     MPAC       +2                         
042709,000211: 01,2545           52161                           DXCH     MPAC       +4                         
042710,000212: 01,2546           50067                           INDEX    NEWJOB                                
042711,000213: 01,2547           52161                           DXCH     MPAC       +4                         
042712,000214: 01,2550           52161                           DXCH     MPAC       +4                         
042713,000215: 01,2551           52163                           DXCH     MPAC       +6                         
042714,000216: 01,2552           50067                           INDEX    NEWJOB                                
042715,000217: 01,2553           52163                           DXCH     MPAC       +6                         
042716,000218: 01,2554           52163                           DXCH     MPAC       +6                         
042717,000219: 
042718,000220: 01,2555           35030                           CAF      ZERO                                  
042719,000221: 01,2556           56121                           XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
042720,000222: 01,2557           00006                           EXTEND                                         
042721,000223: 01,2560           12563                           BZF      +3                                    
042722,000224: 01,2561           40166                           CS       PUSHLOC                               
042723,000225: 01,2562           54166                           TS       PUSHLOC                               
042724,000226: 
042725,000227: 01,2563           52167                           DXCH     PUSHLOC                               
042726,000228: 01,2564           50067                           INDEX    NEWJOB                                
042727,000229: 01,2565           52167                           DXCH     PUSHLOC                               
042728,000230: 01,2566           52167                           DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
042729,000231: 01,2567           35054                           CAF      LOW9                                  #  SET FIXLOC TO BASE OF VAC AREA.
042730,000232: 01,2570           70167                           MASK     PRIORITY                              
042731,000233: 01,2571           54120                           TS       FIXLOC                                
042732,000234: 
042733,000235: 01,2572           10166                           CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
042734,000236: 01,2573           35030                           CAF      ZERO                                  
042735,000237: 01,2574           12601                           TCF      ENDPRCHG   -1                         
042736,000238: 
042737,000239: 01,2575           40166                           CS       PUSHLOC                               
042738,000240: 01,2576           54166                           TS       PUSHLOC                               
042739,000241: 01,2577           35026                           CAF      ONE                                   
042740,000242: 01,2600           56121                           XCH      OVFIND                                
042741,000243: 01,2601           54067                           TS       NEWJOB                                
042742,000244: 
042743,000245: 01,2602           00003        ENDPRCHG           RELINT                                         
042744,000246: 01,2603           52165                           DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
042745,000247: 01,2604           00006                           EXTEND                                         #  DISPATCH WITH A DTCB.
042746,000248: 01,2605           62607                           BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
042747,000249: 01,2606           52006                           DTCB                                           
042748,000250: 
042749,000251: 01,2607           40000                           COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
042750,000252: 01,2610           65026                           AD       ONE                                   
042751,000253: 01,2611           54164                           TS       LOC                                   #  RESUME.
042752,000254: 01,2612           16024                           TCF      INTRSM                                
042753,000255: 
042754,000256:                                                                                                  #           COMPLETE JOBSLEEP PREPARATIONS.
042755,000257: 
042756,000258: 01,2613           00004        JOBSLP1            INHINT                                         
042757,000259: 01,2614           40167                           CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
042758,000260: 01,2615           54167                           TS       PRIORITY                              
042759,000261: 01,2616           36050                           CAF      LOW7                                  
042760,000262: 01,2617           70006                           MASK     BBANK                                 
042761,000263: 01,2620           00006                           EXTEND                                         
042762,000264: 01,2621           04007                           ROR      SUPERBNK                              #  SAVE OLD SUPERBANK VALUE.
042763,000265: 01,2622           54165                           TS       BANKSET                               
042764,000266: 01,2623           45030                           CS       ZERO                                  
042765,000267: 01,2624           54131        JOBSLP2            TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
042766,000268: 01,2625           12735                           TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
042767,000269: 
042768,000270: 01,2626           00004        NUCHANG2           INHINT                                         #  QUICK... DONT LET NEWJOB CHANGE TO +0.
042769,000271: 01,2627           10067                           CCS      NEWJOB                                
042770,000272: 01,2630           12633                           TCF      +3                                    #  NEWJOB STILL PNZ
042771,000273: 01,2631           00003                           RELINT                                         #  NEW JOB HAS CHANGED TO +0. WAKE UP JOB
042772,000274: 01,2632           13027                           TCF      ADVAN      +2                         #  VIA NUDIRECT. (VERY RARE CASE.)
042773,000275: 
042774,000276: 01,2633           35025                           CAF      TWO                                   
042775,000277: 01,2634           00006                           EXTEND                                         
042776,000278: 01,2635           05011                           WOR      DSALMOUT                              #  TURN ON ACTIVITY LIGHT
042777,000279: 01,2636           52165                           DXCH     LOC                                   #  AND SAVE ADDRESS INFO FOR BENEFIT OF
042778,000280: 01,2637           12527                           TCF      CHANJOB    +4                         #   POSSIBLE SLEEPING JOB.
042779,000281: 
042780,000282:                                                                                                  #           TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
042781,000283:                                                                                                  #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
042782,000284:                                                                                                  #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
042783,000285: 
042784,000286: 01,2640           54061        JOBWAKE2           TS       EXECTEM1                              
042785,000287: 01,2641           35030                           CAF      ZERO                                  #  BEGIN CORE SET SCAN.
042786,000288: 01,2642           54064                           TS       LOCCTR                                
042787,000289: 01,2643           32453                           CAF      NO.CORES                              
042788,000290: 01,2644           54062        JOBWAKE4           TS       EXECTEM2                              
042789,000291: 01,2645           50064                           INDEX    LOCCTR                                
042790,000292: 01,2646           10167                           CCS      PRIORITY                              
042791,000293: 01,2647           12652                           TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
042792,000294: 01,2650           00014        COREINC            DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
042793,000295: 01,2651           12661                           TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
042794,000296: 
042795,000297: 01,2652           32650        JOBWAKE3           CAF      COREINC                               
042796,000298: 01,2653           26064                           ADS      LOCCTR                                
042797,000299: 01,2654           10062                           CCS      EXECTEM2                              
042798,000300: 01,2655           12644                           TCF      JOBWAKE4                              
042799,000301: 01,2656           45026                           CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
042800,000302: 01,2657           54064                           TS       LOCCTR                                
042801,000303: 01,2660           15230                           TCF      ENDFIND                               
042802,000304: 
042803,000305: 01,2661           40065        WAKETEST           CS       NEWLOC                                
042804,000306: 01,2662           50064                           INDEX    LOCCTR                                
042805,000307: 01,2663           60164                           AD       LOC                                   
042806,000308: 01,2664           00006                           EXTEND                                         
042807,000309: 01,2665           12667                           BZF      +2                                    #  IF MATCH.
042808,000310: 01,2666           12652                           TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
042809,000311: 
042810,000312: 01,2667           50064                           INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
042811,000313: 01,2670           40167                           CS       PRIORITY                              
042812,000314: 01,2671           54063                           TS       NEWPRIO                               
042813,000315: 01,2672           50064                           INDEX    LOCCTR                                
042814,000316: 01,2673           54167                           TS       PRIORITY                              
042815,000317: 
042816,000318: 01,2674           44362                           CS       FBANKMSK                              #  MAKE UP THE 2CADR OF THE WAKE ADDRESS
042817,000319: 01,2675           70065                           MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
042818,000320: 01,2676           65014                           AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
042819,000321: 01,2677           56065                           XCH      NEWLOC                                
042820,000322: 01,2700           74362                           MASK     FBANKMSK                              
042821,000323: 01,2701           50064                           INDEX    LOCCTR                                
042822,000324: 01,2702           60165                           AD       BANKSET                               
042823,000325: 01,2703           54066                           TS       NEWLOC     +1                         
042824,000326: 
042825,000327: 01,2704           10064                           CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
042826,000328: 01,2705           12500                           TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
042827,000329: 01,2706           12470                           TCF      SPECTEST                              
042828,000330: 
042829,000331:                                                                                                  #           PRIORITY CHANGE.  CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
042830,000332: 
042831,000333: 01,2707           54164        PRIOCH2            TS       LOC                                   
042832,000334: 01,2710           35030                           CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
042833,000335: 01,2711           54130                           TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
042834,000336: 01,2712           35054                           CAF      LOW9                                  
042835,000337: 01,2713           70167                           MASK     PRIORITY                              
042836,000338: 01,2714           60063                           AD       NEWPRIO                               
042837,000339: 01,2715           54167                           TS       PRIORITY                              
042838,000340: 01,2716           40000                           COM                                            
042839,000341: 01,2717           12624                           TCF      JOBSLP2                               #  AND TO EJSCAN.
042840,000342: 
042841,000343:                                                                                                  #           RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
042842,000344: 
042843,000345: 01,2720           00004        ENDJOB1            INHINT                                         
042844,000346: 01,2721           45030                           CS       ZERO                                  
042845,000347: 01,2722           54131                           TS       BUF        +1                         
042846,000348: 01,2723           56167                           XCH      PRIORITY                              
042847,000349: 01,2724           75054                           MASK     LOW9                                  
042848,000350: 01,2725           54001                           TS       L                                     
042849,000351: 
042850,000352: 01,2726           45234                           CS       FAKEPRET                              
042851,000353: 01,2727           60001                           AD       L                                     
042852,000354: 
042853,000355: 01,2730           00006                           EXTEND                                         
042854,000356: 01,2731           62735                           BZMF     EJSCAN                                #  NOVAC ENDOFJOB
042855,000357: 
042856,000358: 01,2732           10001                           CCS      L                                     
042857,000359: 01,2733           50000                           INDEX    A                                     
042858,000360: 01,2734           54000                           TS       0                                     
042859,000361: 
042860,000362: 01,2735           10203        EJSCAN             CCS      PRIORITY   +12D                       
042861,000363: 01,2736           03002                           TC       EJ1                                   
042862,000364: 01,2737           05723                           TC       CCSHOLE                               
042863,000365: 01,2740           12741                           TCF      +1                                    
042864,000366: 
042865,000367: 01,2741           10217                           CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
042866,000368: 01,2742           03002                           TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
042867,000369: 01,2743           05723                           TC       CCSHOLE                               
042868,000370: 01,2744           12745                           TCF      +1                                    
042869,000371: 
042870,000372: 01,2745           10233                           CCS      PRIORITY   +36D                       
042871,000373: 01,2746           03002                           TC       EJ1                                   
042872,000374: 01,2747           67610        -CCSPR             -CCS     PRIORITY                              
042873,000375: 01,2750           12751                           TCF      +1                                    
042874,000376: 
042875,000377: 01,2751           10247                           CCS      PRIORITY   +48D                       
042876,000378: 01,2752           03002                           TC       EJ1                                   
042877,000379: 01,2753           05723                           TC       CCSHOLE                               
042878,000380: 01,2754           12755                           TCF      +1                                    
042879,000381: 
042880,000382: 01,2755           10263                           CCS      PRIORITY   +60D                       
042881,000383: 01,2756           03002                           TC       EJ1                                   
042882,000384: 01,2757           05723                           TC       CCSHOLE                               
042883,000385: 01,2760           12761                           TCF      +1                                    
042884,000386: 
042885,000387: 01,2761           10277                           CCS      PRIORITY   +72D                       
042886,000388: 01,2762           03002                           TC       EJ1                                   
042887,000389: 01,2763           05723                           TC       CCSHOLE                               
042888,000390: 01,2764           12765                           TCF      +1                                    
042889,000391: 
042890,000392:                                                                                                  #           EVALUATE THE RESULTS OF THE SCAN.
042891,000393: 
042892,000394: 01,2765           10131                           CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
042893,000395: 01,2766           05723                           TC       CCSHOLE                               
042894,000396: 01,2767           05723                           TC       CCSHOLE                               
042895,000397: 
042896,000398: 01,2770           12772                           TCF      +2                                    
042897,000399: 01,2771           13017                           TCF      DUMMYJOB                              
042898,000400: 01,2772           10130                           CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
042899,000401: 01,2773           12775                           TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
042900,000402: 01,2774           12601                           TCF      ENDPRCHG   -1                         
042901,000403: 
042902,000404: 01,2775           50000                           INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
042903,000405: 01,2776           27777                           CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
042904,000406: 01,2777           62747                           AD       -CCSPR                                
042905,000407: 01,3000           54067                           TS       NEWJOB                                
042906,000408: 01,3001           12521                           TCF      CHANJOB    -2                         
042907,000409: 
042908,000410: 01,3002           54132        EJ1                TS       BUF        +2                         
042909,000411: 01,3003           60131                           AD       BUF        +1                         #  - OLD HIGH PRIORITY.
042910,000412: 01,3004           10000                           CCS      A                                     
042911,000413: 01,3005           40132                           CS       BUF        +2                         
042912,000414: 01,3006           13012                           TCF      EJ2                                   #  NEW HIGH PRIORITY.
042913,000415: 01,3007           13010                           NOOP                                           
042914,000416: 01,3010           50002                           INDEX    Q                                     
042915,000417: 01,3011           00002                           TC       2                                     #  PROCEED WITH SEARCH.
042916,000418: 
042917,000419: 01,3012           54131        EJ2                TS       BUF        +1                         
042918,000420: 01,3013           00006                           EXTEND                                         
042919,000421: 01,3014           22130                           QXCH     BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
042920,000422: 01,3015           50130                           INDEX    BUF                                   
042921,000423: 01,3016           00002                           TC       2                                     
042922,000424: 
042923,000425:                                                                                                  #           IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
042924,000426:                                                                                                  #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
042925,000427: 
042926,000428: 01,3017     1361                                  EBANK=   SELFRET                               #  SELF-CHECK STORAGE IN EBANK.
042927,000429: 
042928,000430: 01,3017           45030        DUMMYJOB           CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
042929,000431: 01,3020           54067                           TS       NEWJOB                                
042930,000432: 01,3021           00003                           RELINT                                         
042931,000433: 01,3022           45025                           CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
042932,000434: 01,3023           00006                           EXTEND                                         
042933,000435: 01,3024           03011                           WAND     DSALMOUT                              
042934,000436: 01,3025           10067        ADVAN              CCS      NEWJOB                                #  IS A NEWJOB ACTIVE?
042935,000437: 01,3026           12626                           TCF      NUCHANG2                              #  YES... ONE REQUIRING A CHANGE JOB.
042936,000438: 01,3027           35025                           CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
042937,000439: 01,3030           13036                           TCF      NUDIRECT                              #  EXECUTION.
042938,000440: 
042939,000441: 01,3031           31361                           CA       SELFRET                               
042940,000442: 01,3032           54001                           TS       L                                     #  PUT RETURN ADDRESS IN L.
042941,000443: 01,3033           33035                           CAF      SELFBANK                              
042942,000444: 01,3034           15236                           TCF      SUPDXCHZ   +1                         #   AND DISPATCH JOB.
042943,000445: 
042944,000446: 01,3035     1361                                  EBANK=   SELFRET                               
042945,000447: 01,3035           66102        SELFBANK           BBCON    SELFCHK                               
042946,000448: 
042947,000449: 01,3036           00006        NUDIRECT           EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
042948,000450: 01,3037           05011                           WOR      DSALMOUT                              
042949,000451: 01,3040           52165                           DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
042950,000452: 01,3041           15235                           TCF      SUPDXCHZ                              
042951,000453: 
042952,000454:    5235                                           BLOCK    2                                     #  IN FIXED-FIXED SO OTHERS MAY USE.
042953,000455: 
042954,000456:    5235                                           COUNT*   $$/EXEC                               
042955,000457:                                                                                                  #  SUPDXCHZ - ROUTINE TO TRANSFER TO SUPERBANK.
042956,000458:                                                                                                  #  CALLING SEQUENCE
042957,000459:                                                                                                  #                TCF     SUPDXCHZ        WITH 2CADR OF DESIRED LOCATION IN A + L.
042958,000460: 
042959,000461:    5235           56001        SUPDXCHZ           XCH      L                                     #  BASIC.
042960,000462:    5236           00006                 +1        EXTEND                                         
042961,000463:    5237           01007                           WRITE    SUPERBNK                              
042962,000464:    5240           54006                           TS       BBANK                                 
042963,000465:    5241           00001                           TC       L                                     
042964,000466: 
042965,000467:    5242           77677        NEG100             OCT      77677                                 

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