Source Code

   YAYUL: ASSEMBLE REVISION 6 OF PROGRAM BOREALIS       BY MSTEWART JUN. 28,2017
This is a modern AGC system self-test program, though based on the Apollo-era AURORA 12 program, and was not written by the original AGC developers, but rather by Mike Stewart. All of the original AURORA 12 DAP code added by the DAP Group has been removed, and extensive new system test code has been added in its place. This allows more in-depth testing of CPU behavior, both in AGC software simulations and hardware simulations.

004549,000002:                                                                                                  ## Copyright:   Public domain.
004550,000003:                                                                                                  ## Filename:    EXECUTIVE.agc
004551,000004:                                                                                                  ## Purpose:     This program is designed to extensively test the Apollo Guidance Computer
004552,000005:                                                                                                  ##              (specifically the LM instantiation of it). It is built on top of a heavily
004553,000006:                                                                                                  ##              stripped-down Aurora 12, with all code ostensibly added by the DAP Group
004554,000007:                                                                                                  ##              removed. Instead Borealis expands upon the tests provided by Aurora,
004555,000008:                                                                                                  ##              including corrected tests from Retread 44 and tests from Ron Burkey's
004556,000009:                                                                                                  ##              Validation.
004557,000010:                                                                                                  ## Assembler:   yaYUL
004558,000011:                                                                                                  ## Contact:     Mike Stewart <mastewar1@gmail.com>.
004559,000012:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
004560,000013:                                                                                                  ## Mod history: 2016-12-20 MAS  Created from Aurora 12 (with much DAP stuff removed).
004561,000014:                                                                                                  ##              2017-06-28 MAS  Pulled in changes needed for BLK2->AGC from Sunburst 37
004562,000015: 
004563,000016:    4344                                           SETLOC   ENDSUBSF                              
004564,000017: 
004565,000018:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
004566,000019: 
004567,000020:    4344           54070        NOVAC              TS       NEWPRIO                               #  SAVE PRIORITY OF NEW JOB.
004568,000021:    4345           00006                           EXTEND                                         
004569,000022:    4346           50002                           INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
004570,000023:    4347           30001                           DCA      0                                     #  2CADR OF JOB ENTERED.
004571,000024:    4350           52073                           DXCH     NEWLOC                                
004572,000025:    4351           34430                           CAF      EXECBANK                              
004573,000026:    4352           56004                           XCH      FBANK                                 
004574,000027:    4353           54065                           TS       EXECTEM1                              
004575,000028:    4354           12257                           TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
004576,000029: 
004577,000030:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
004578,000031: 
004579,000032:    4355           54070        FINDVAC            TS       NEWPRIO                               
004580,000033:    4356           00006                           EXTEND                                         
004581,000034:    4357           50002                           INDEX    Q                                     
004582,000035:    4360           30001                           DCA      0                                     
004583,000036:    4361           52073                           DXCH     NEWLOC                                
004584,000037:    4362           34430                           CAF      EXECBANK                              
004585,000038:    4363           56004                           XCH      FBANK                                 
004586,000039:    4364           12235                           TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
004587,000040: 
004588,000041:                                                                                                  #           TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
004589,000042: 
004590,000043:    4365           34430        CHANG1             CAF      EXECBANK                              
004591,000044:    4366           54001                           TS       L                                     
004592,000045:    4367           30002                           CA       Q                                     
004593,000046:    4370           22006                           LXCH     BBANK                                 
004594,000047:    4371           00004                 +4        INHINT                                         
004595,000048:    4372           12335                           TCF      CHANJOB                               
004596,000049: 
004597,000050:                                                                                                  #           TO SUSPEND AN INTERPRETIVE JOB:
004598,000051: 
004599,000052:    4373           34430        CHANG2             CAF      EXECBANK                              
004600,000053:                                                                                                  #           ITRACE (4) REFERS TO "CHANG2".
004601,000054:    4374           54006                           TS       BBANK                                 
004602,000055:    4375           40150                           CS       LOC                                   #  NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
004603,000056:    4376           22151                           LXCH     BANKSET                               #  BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
004604,000057: 
004605,000058:    4377           14371                           TCF      CHANG1     +4                         
004606,000059: 
004607,000060: 
004608,000061:                                                                                                  #           TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
004609,000062: 
004610,000063:    4400           54150        JOBSLEEP           TS       LOC                                   
004611,000064:    4401           34430                           CAF      EXECBANK                              
004612,000065:    4402           54004                           TS       FBANK                                 
004613,000066:    4403           12416                           TCF      JOBSLP1                               
004614,000067: 
004615,000068:                                                                                                  #           TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
004616,000069: 
004617,000070:    4404           54072        JOBWAKE            TS       NEWLOC                                
004618,000071:    4405           47670                           CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
004619,000072:    4406           26002                           ADS      Q                                     
004620,000073:    4407           34430                           CAF      EXECBANK                              
004621,000074:    4410           56004                           XCH      FBANK                                 
004622,000075:    4411           12427                           TCF      JOBWAKE2                              
004623,000076: 
004624,000077:                                                                                                  #           TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
004625,000078: 
004626,000079:    4412           00004        PRIOCHNG           INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
004627,000080:    4413           54070                           TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
004628,000081:    4414           34430                           CAF      EXECBANK                              #  HIGHEST.  PREPARE FOR POSSIBLE BASIC-
004629,000082:    4415           56006                           XCH      BBANK                                 #  STYLE CHANGE-JOB.
004630,000083:    4416           54151                           TS       BANKSET                               
004631,000084:    4417           30002                           CA       Q                                     
004632,000085:    4420           12476                           TCF      PRIOCH2                               
004633,000086: 
004634,000087:                                                                                                  #           TO FREE THE DISPLAY BEFORE ENDOFJOB:
004635,000088: 
004636,000089:    4421           05373        EJFREE             TC       FREEDSP                               
004637,000090: 
004638,000091:                                                                                                  #           TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
004639,000092: 
004640,000093:    4422           34430        ENDOFJOB           CAF      EXECBANK                              
004641,000094:    4423           54004                           TS       FBANK                                 
004642,000095:    4424           12507                           TCF      ENDJOB1                               
004643,000096: 
004644,000097:    4425           30065        ENDFIND            CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
004645,000098:    4426           54004                           TS       FBANK                                 #  COMPLETE.
004646,000099:    4427           16724                           TCF      Q+2                                   
004647,000100:    4430           02235        EXECBANK           CADR     FINDVAC2                              
004648,000101: 
004649,000102: 
004650,000103:                                                                                                  #           LOCATE AN AVAILABLE VAC AREA.
004651,000104: 
004652,000105: 01,2235                                           SETLOC   ENDINTS1                              
004653,000106: 
004654,000107: 01,2235           54065        FINDVAC2           TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
004655,000108: 01,2236           10431                           CCS      VAC1USE                               
004656,000109: 01,2237           12252                           TCF      VACFOUND                              
004657,000110: 01,2240           10505                           CCS      VAC2USE                               
004658,000111: 01,2241           12252                           TCF      VACFOUND                              
004659,000112: 01,2242           10561                           CCS      VAC3USE                               
004660,000113: 01,2243           12252                           TCF      VACFOUND                              
004661,000114: 01,2244           10635                           CCS      VAC4USE                               
004662,000115: 01,2245           12252                           TCF      VACFOUND                              
004663,000116: 01,2246           10711                           CCS      VAC5USE                               
004664,000117: 01,2247           12252                           TCF      VACFOUND                              
004665,000118: 01,2250           05440                           TC       ABORT                                 
004666,000119: 01,2251           01201                           OCT      1201                                  #  NO VAC AREAS.
004667,000120: 
004668,000121: 01,2252           67670        VACFOUND           AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
004669,000122: 01,2253           22007                           ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
004670,000123: 01,2254           50000                           INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
004671,000124: 01,2255           21777                           LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
004672,000125: 01,2256           26070                           ADS      NEWPRIO                               
004673,000126: 
004674,000127: 01,2257           37675        NOVAC2             CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
004675,000128: 01,2260           54071                           TS       LOCCTR                                
004676,000129: 01,2261           32266                           CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
004677,000130: 01,2262           54066        NOVAC3             TS       EXECTEM2                              
004678,000131: 01,2263           50071                           INDEX    LOCCTR                                
004679,000132: 01,2264           10153                           CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
004680,000133: 01,2265           12326                           TCF      NEXTCORE                              #  THE CORRESPONDING CORE SET IS AVAILABLE.
004681,000134: 01,2266           00006        NO.CORES           DEC      6          B-14                       
004682,000135: 01,2267           12326                           TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
004683,000136:                                                                                                  #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
004684,000137: 
004685,000138: 
004686,000139: 01,2270           30070        CORFOUND           CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
004687,000140: 01,2271           50071                           INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
004688,000141: 01,2272           54153                           TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
004689,000142: 01,2273           77703                           MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
004690,000143: 01,2274           50071                           INDEX    LOCCTR                                
004691,000144: 01,2275           54152                           TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
004692,000145: 
004693,000146: 01,2276           10071                           CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
004694,000147: 01,2277           12313                           TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY.
004695,000148: 01,2300           54105                           TS       OVFIND                                
004696,000149: 01,2301           30152                           CA       PUSHLOC                               
004697,000150: 01,2302           54104                           TS       FIXLOC                                
004698,000151: 
004699,000152: 01,2303           10067        SPECTEST           CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
004700,000153: 01,2304           12313                           TCF      SETLOC                                #  MUST BE AWAKENED BUT UNCHANGED JOB.
004701,000154: 01,2305           05456                           TC       CCSHOLE                               
004702,000155: 01,2306           05456                           TC       CCSHOLE                               
004703,000156: 01,2307           54067                           TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
004704,000157: 01,2310           52073                           DXCH     NEWLOC                                
004705,000158: 01,2311           52151                           DXCH     LOC                                   
004706,000159: 01,2312           14425                           TCF      ENDFIND                               
004707,000160: 
004708,000161: 01,2313           52073        SETLOC             DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
004709,000162: 01,2314           50071                           INDEX    LOCCTR                                
004710,000163: 01,2315           52151                           DXCH     LOC                                   
004711,000164: 01,2316           50067                           INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
004712,000165: 01,2317           40153                           CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
004713,000166: 01,2320           60070                           AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
004714,000167: 01,2321           00006                           EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
004715,000168: 01,2322           64425                           BZMF     ENDFIND                               
004716,000169: 01,2323           30071                           CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
004717,000170: 01,2324           54067                           TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
004718,000171: 01,2325           14425                           TCF      ENDFIND                               #  REGISTERS, ETC.
004719,000172: 
004720,000173: 01,2326           32437        NEXTCORE           CAF      COREINC                               
004721,000174: 01,2327           26071                           ADS      LOCCTR                                
004722,000175: 01,2330           10066                           CCS      EXECTEM2                              
004723,000176: 01,2331           12262                           TCF      NOVAC3                                
004724,000177: 01,2332           05440                           TC       ABORT                                 #  NO CORE SETS.
004725,000178: 01,2333           01202                           OCT      1202                                  
004726,000179: 
004727,000180: 
004728,000181:                                                                                                  #           THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
004729,000182: 
004730,000183: 01,2334           52151                 -1        DXCH     LOC                                   
004731,000184: 01,2335           50067        CHANJOB            INDEX    NEWJOB                                #  LOC ARRIVES IN A AND BBANK IN L.
004732,000185: 01,2336           52151                           DXCH     LOC                                   
004733,000186: 01,2337           52151                           DXCH     LOC                                   
004734,000187: 
004735,000188: 01,2340           52141                           DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
004736,000189: 01,2341           50067                           INDEX    NEWJOB                                
004737,000190: 01,2342           52141                           DXCH     MPAC                                  
004738,000191: 01,2343           52141                           DXCH     MPAC                                  
004739,000192: 01,2344           52143                           DXCH     MPAC       +2                         
004740,000193: 01,2345           50067                           INDEX    NEWJOB                                
004741,000194: 01,2346           52143                           DXCH     MPAC       +2                         
004742,000195: 01,2347           52143                           DXCH     MPAC       +2                         
004743,000196: 01,2350           52145                           DXCH     MPAC       +4                         
004744,000197: 01,2351           50067                           INDEX    NEWJOB                                
004745,000198: 01,2352           52145                           DXCH     MPAC       +4                         
004746,000199: 01,2353           52145                           DXCH     MPAC       +4                         
004747,000200: 01,2354           52147                           DXCH     MPAC       +6                         
004748,000201: 01,2355           50067                           INDEX    NEWJOB                                
004749,000202: 01,2356           52147                           DXCH     MPAC       +6                         
004750,000203: 01,2357           52147                           DXCH     MPAC       +6                         
004751,000204: 
004752,000205: 01,2360           37675                           CAF      ZERO                                  
004753,000206: 01,2361           56105                           XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
004754,000207: 01,2362           00006                           EXTEND                                         
004755,000208: 01,2363           12366                           BZF      +3                                    
004756,000209: 01,2364           40152                           CS       PUSHLOC                               
004757,000210: 01,2365           54152                           TS       PUSHLOC                               
004758,000211: 
004759,000212: 01,2366           52153                           DXCH     PUSHLOC                               
004760,000213: 01,2367           50067                           INDEX    NEWJOB                                
004761,000214: 01,2370           52153                           DXCH     PUSHLOC                               
004762,000215: 01,2371           52153                           DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
004763,000216: 01,2372           37703                           CAF      LOW9                                  #  SET FIXLOC TO BASE OF VAC AREA.
004764,000217: 01,2373           70153                           MASK     PRIORITY                              
004765,000218: 01,2374           54104                           TS       FIXLOC                                
004766,000219: 
004767,000220: 01,2375           10152                           CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
004768,000221: 01,2376           37675                           CAF      ZERO                                  
004769,000222: 01,2377           12404                           TCF      ENDPRCHG   -1                         
004770,000223: 01,2400           40152                           CS       PUSHLOC                               
004771,000224: 01,2401           54152                           TS       PUSHLOC                               
004772,000225: 01,2402           37671                           CAF      ONE                                   
004773,000226: 01,2403           56105                           XCH      OVFIND                                
004774,000227: 01,2404           54067                           TS       NEWJOB                                
004775,000228: 
004776,000229: 01,2405           00003        ENDPRCHG           RELINT                                         
004777,000230: 01,2406           52151                           DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
004778,000231: 
004779,000232: 
004780,000233: 01,2407           00006                           EXTEND                                         #  DISPATCH WITH A DTCB.
004781,000234: 01,2410           62412                           BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
004782,000235: 01,2411           52006                           DTCB                                           
004783,000236: 
004784,000237: 
004785,000238: 01,2412           40000                           COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
004786,000239: 01,2413           67671                           AD       ONE                                   
004787,000240: 01,2414           54150                           TS       LOC                                   #  RESUME.
004788,000241: 01,2415           16007                           TCF      INTRSM                                
004789,000242: 
004790,000243:                                                                                                  #           COMPLETE JOBSLEEP PREPARATIONS.
004791,000244: 
004792,000245: 01,2416           00004        JOBSLP1            INHINT                                         
004793,000246: 01,2417           40153                           CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
004794,000247: 01,2420           54153                           TS       PRIORITY                              
004795,000248: 01,2421           36025                           CAF      LOW7                                  
004796,000249: 01,2422           70006                           MASK     BBANK                                 
004797,000250: 01,2423           54151                           TS       BANKSET                               
004798,000251: 01,2424           47675                           CS       ZERO                                  
004799,000252: 01,2425           54115        JOBSLP2            TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
004800,000253: 01,2426           12517                           TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
004801,000254: 
004802,000255: 
004803,000256:                                                                                                  #           TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP.  IF THE FCADR IN THE
004804,000257:                                                                                                  #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED.  IF NO JOB IS FOUND,
004805,000258:                                                                                                  #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
004806,000259: 
004807,000260: 01,2427           54065        JOBWAKE2           TS       EXECTEM1                              
004808,000261: 01,2430           37675                           CAF      ZERO                                  #  BEGIN CORE SET SCAN.
004809,000262: 01,2431           54071                           TS       LOCCTR                                
004810,000263: 01,2432           32266                           CAF      NO.CORES                              
004811,000264: 01,2433           54066        JOBWAKE4           TS       EXECTEM2                              
004812,000265: 01,2434           50071                           INDEX    LOCCTR                                
004813,000266: 01,2435           10153                           CCS      PRIORITY                              
004814,000267: 01,2436           12441                           TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
004815,000268: 01,2437           00014        COREINC            DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
004816,000269: 01,2440           12450                           TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
004817,000270: 
004818,000271: 01,2441           32437        JOBWAKE3           CAF      COREINC                               
004819,000272: 01,2442           26071                           ADS      LOCCTR                                
004820,000273: 01,2443           10066                           CCS      EXECTEM2                              
004821,000274: 01,2444           12433                           TCF      JOBWAKE4                              
004822,000275: 01,2445           47671                           CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
004823,000276: 01,2446           54071                           TS       LOCCTR                                
004824,000277: 01,2447           14425                           TCF      ENDFIND                               
004825,000278: 
004826,000279: 01,2450           40072        WAKETEST           CS       NEWLOC                                
004827,000280: 01,2451           50071                           INDEX    LOCCTR                                
004828,000281: 01,2452           60150                           AD       LOC                                   
004829,000282: 01,2453           00006                           EXTEND                                         
004830,000283: 01,2454           12456                           BZF      +2                                    #  IF MATCH.
004831,000284: 01,2455           12441                           TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
004832,000285: 
004833,000286: 01,2456           50071                           INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
004834,000287: 01,2457           40153                           CS       PRIORITY                              
004835,000288: 01,2460           54070                           TS       NEWPRIO                               
004836,000289: 01,2461           50071                           INDEX    LOCCTR                                
004837,000290: 01,2462           54153                           TS       PRIORITY                              
004838,000291: 
004839,000292: 01,2463           46226                           CS       FBANKMSK                              #  MAKE UP THE 2CADR OF THE WAKE ADDRESS
004840,000293: 01,2464           70072                           MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
004841,000294: 01,2465           67657                           AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
004842,000295: 01,2466           56072                           XCH      NEWLOC                                
004843,000296: 01,2467           76226                           MASK     FBANKMSK                              
004844,000297: 01,2470           50071                           INDEX    LOCCTR                                
004845,000298: 01,2471           60151                           AD       BANKSET                               
004846,000299: 01,2472           54073                           TS       NEWLOC     +1                         
004847,000300: 
004848,000301: 01,2473           10071                           CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
004849,000302: 01,2474           12313                           TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
004850,000303: 01,2475           12303                           TCF      SPECTEST                              
004851,000304: 
004852,000305: 
004853,000306:                                                                                                  #           PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
004854,000307: 
004855,000308: 01,2476           54150        PRIOCH2            TS       LOC                                   
004856,000309: 01,2477           37675                           CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
004857,000310: 01,2500           54114                           TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
004858,000311: 01,2501           37703                           CAF      LOW9                                  
004859,000312: 01,2502           70153                           MASK     PRIORITY                              
004860,000313: 01,2503           60070                           AD       NEWPRIO                               
004861,000314: 01,2504           54153                           TS       PRIORITY                              
004862,000315: 01,2505           40000                           COM                                            
004863,000316: 01,2506           12425                           TCF      JOBSLP2                               #  AND TO EJSCAN.
004864,000317: 
004865,000318: 
004866,000319:                                                                                                  #           RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
004867,000320: 
004868,000321: 01,2507           00004        ENDJOB1            INHINT                                         
004869,000322: 01,2510           47675                           CS       ZERO                                  
004870,000323: 01,2511           54115                           TS       BUF        +1                         
004871,000324: 01,2512           56153                           XCH      PRIORITY                              
004872,000325: 01,2513           77703                           MASK     LOW9                                  
004873,000326: 01,2514           10000                           CCS      A                                     
004874,000327: 01,2515           50000                           INDEX    A                                     
004875,000328: 01,2516           54000                           TS       0                                     
004876,000329: 
004877,000330: 01,2517           10167        EJSCAN             CCS      PRIORITY   +12D                       
004878,000331: 01,2520           02564                           TC       EJ1                                   
004879,000332: 01,2521           05456                           TC       CCSHOLE                               
004880,000333: 01,2522           12523                           TCF      +1                                    
004881,000334: 
004882,000335: 01,2523           10203                           CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
004883,000336: 01,2524           02564                           TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
004884,000337: 01,2525           05456                           TC       CCSHOLE                               
004885,000338: 01,2526           12527                           TCF      +1                                    
004886,000339: 
004887,000340: 01,2527           10217                           CCS      PRIORITY   +36D                       
004888,000341: 01,2530           02564                           TC       EJ1                                   
004889,000342: 01,2531           67624        -CCSPR             -CCS     PRIORITY                              
004890,000343: 01,2532           12533                           TCF      +1                                    
004891,000344: 
004892,000345: 01,2533           10233                           CCS      PRIORITY   +48D                       
004893,000346: 01,2534           02564                           TC       EJ1                                   
004894,000347: 01,2535           05456                           TC       CCSHOLE                               
004895,000348: 01,2536           12537                           TCF      +1                                    
004896,000349: 
004897,000350: 01,2537           10247                           CCS      PRIORITY   +60D                       
004898,000351: 01,2540           02564                           TC       EJ1                                   
004899,000352: 01,2541           05456                           TC       CCSHOLE                               
004900,000353: 01,2542           12543                           TCF      +1                                    
004901,000354: 
004902,000355: 01,2543           10263                           CCS      PRIORITY   +72D                       
004903,000356: 01,2544           02564                           TC       EJ1                                   
004904,000357: 01,2545           05456                           TC       CCSHOLE                               
004905,000358: 01,2546           12547                           TCF      +1                                    
004906,000359: 
004907,000360: 
004908,000361:                                                                                                  #           EVALUATE THE RESULTS OF THE SCAN.
004909,000362: 
004910,000363: 01,2547           10115                           CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
004911,000364: 01,2550           05456                           TC       CCSHOLE                               
004912,000365: 01,2551           05456                           TC       CCSHOLE                               
004913,000366: 
004914,000367: 01,2552           12554                           TCF      +2                                    
004915,000368: 01,2553           14431                           TCF      DUMMYJOB                              
004916,000369: 01,2554           10114                           CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
004917,000370: 01,2555           12557                           TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
004918,000371: 01,2556           12405                           TCF      ENDPRCHG                              
004919,000372: 
004920,000373: 01,2557           50000                           INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
004921,000374: 01,2560           27777                           CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
004922,000375: 01,2561           62531                           AD       -CCSPR                                
004923,000376: 01,2562           54067                           TS       NEWJOB                                
004924,000377: 01,2563           12334                           TCF      CHANJOB    -1                         
004925,000378: 
004926,000379: 01,2564           54116        EJ1                TS       BUF        +2                         
004927,000380: 01,2565           60115                           AD       BUF        +1                         #  - OLD HIGH PRIORITY.
004928,000381: 01,2566           10000                           CCS      A                                     
004929,000382: 01,2567           40116                           CS       BUF        +2                         
004930,000383: 01,2570           12574                           TCF      EJ2                                   #  NEW HIGH PRIORITY.
004931,000384: 01,2571           12572                           NOOP                                           
004932,000385: 01,2572           50002                           INDEX    Q                                     
004933,000386: 01,2573           00002                           TC       2                                     #  PROCEED WITH SEARCH.
004934,000387: 
004935,000388: 01,2574           54115        EJ2                TS       BUF        +1                         
004936,000389: 01,2575           00006                           EXTEND                                         
004937,000390: 01,2576           22114                           QXCH     BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
004938,000391: 01,2577           50114                           INDEX    BUF                                   
004939,000392: 01,2600           00002                           TC       2                                     
004940,000393: 
004941,000394: 01,2601                        ENDEXECS           EQUALS                                         
004942,000395: 
004943,000396: 
004944,000397:                                                                                                  #           IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
004945,000398:                                                                                                  #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
004946,000399: 
004947,000400:    4431                                           SETLOC   EXECBANK   +1                         
004948,000401: 
004949,000402:    4431     1360                                  EBANK=   SELFRET                               #  SELF-CHECK STORAGE IN EBANK.
004950,000403: 
004951,000404:    4431           47675        DUMMYJOB           CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
004952,000405:    4432           54067                           TS       NEWJOB                                
004953,000406:    4433           00003                           RELINT                                         
004954,000407:    4434           47670                           CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
004955,000408:    4435           00006                           EXTEND                                         
004956,000409:    4436           03011                           WAND     DSALMOUT                              
004957,000410:    4437           14442                           TCF      CHECKNJ    +2                         
004958,000411: 
004959,000412:    4440           00006        CHECKNJ            EXTEND                                         #  SPECIAL NEWJOB TEST FOR SELF-CHECK,
004960,000413:    4441           23360                           QXCH     SELFRET                               #  WHICH RUNS UNDER EXECUTIVE CONTROL,
004961,000414:    4442           10067                 +2        CCS      NEWJOB                                #  BUT DOES NOT HAVE A JOBS CORE REGISTERS.
004962,000415:    4443           14455                           TCF      NUCHANGE                              #  NEW JOB REQUIRING A CHANGE JOB.
004963,000416:    4444           37670                           CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
004964,000417:    4445           14451                           TCF      NUDIRECT                              #  EXECUTION.
004965,000418: 
004966,000419:    4446           34464        ADVAN              CAF      SELFBANK                              #  (SIMULATOR ADVAN IF NEWJOB = 77777).
004967,000420:    4447           54006                           TS       BBANK                                 
004968,000421:    4450           01360                           TC       SELFRET                               
004969,000422: 
004970,000423:    4451           00006        NUDIRECT           EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
004971,000424:    4452           05011                           WOR      DSALMOUT                              
004972,000425:    4453           52151                           DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
004973,000426:    4454           52006                           DTCB                                           #  BASIC.
004974,000427: 
004975,000428:    4455           37670        NUCHANGE           CAF      TWO                                   
004976,000429:    4456           00006                           EXTEND                                         
004977,000430:    4457           05011                           WOR      DSALMOUT                              
004978,000431:    4460           34430                           CAF      EXECBANK                              #  SWAP CORE SETS.
004979,000432:    4461           54004                           TS       FBANK                                 
004980,000433:    4462           00004                           INHINT                                         #  CHANGE JOBS
004981,000434:    4463           12334                           TCF      CHANJOB    -1                         
004982,000435: 
004983,000436:    4464     1360                                  EBANK=   SELFRET                               
004984,000437:    4464           40002        SELFBANK           BBCON    SELFCHK                               
004985,000438: 
004986,000439: 
004987,000440:                                                                                                  #           PRIORITY CONSTANTS (NOTE IN FIXED-FIXED).
004988,000441: 
004989,000442:    4465     7660               PRIO1              EQUALS   BIT10                                 
004990,000443:    4465     7657               PRIO2              EQUALS   BIT11                                 
004991,000444:    4465           03000        PRIO3              OCT      03000                                 
004992,000445:    4466     7656               PRIO4              EQUALS   BIT12                                 
004993,000446:    4466           05000        PRIO5              OCT      05000                                 
004994,000447:    4467           06000        PRIO6              OCT      06000                                 
004995,000448:    4470           07000        PRIO7              OCT      07000                                 
004996,000449:    4471     7655               PRIO10             EQUALS   BIT13                                 
004997,000450:    4471           11000        PRIO11             OCT      11000                                 
004998,000451:    4472           12000        PRIO12             OCT      12000                                 
004999,000452:    4473           13000        PRIO13             OCT      13000                                 
005000,000453:    4474           14000        PRIO14             OCT      14000                                 
005001,000454:    4475           15000        PRIO15             OCT      15000                                 
005002,000455:    4476           16000        PRIO16             OCT      16000                                 
005003,000456:    4477           17000        PRIO17             OCT      17000                                 
005004,000457:    4500     7654               PRIO20             EQUALS   BIT14                                 
005005,000458:    4500           21000        PRIO21             OCT      21000                                 
005006,000459:    4501           22000        PRIO22             OCT      22000                                 
005007,000460:    4502           23000        PRIO23             OCT      23000                                 
005008,000461:    4503           24000        PRIO24             OCT      24000                                 
005009,000462:    4504           25000        PRIO25             OCT      25000                                 
005010,000463:    4505           26000        PRIO26             OCT      26000                                 
005011,000464:    4506           27000        PRIO27             OCT      27000                                 
005012,000465:    4507           30000        PRIO30             OCT      30000                                 
005013,000466:    4510           31000        PRIO31             OCT      31000                                 
005014,000467:    4511           32000        PRIO32             OCT      32000                                 
005015,000468:    4512           33000        PRIO33             OCT      33000                                 
005016,000469:    4513           34000        PRIO34             OCT      34000                                 
005017,000470:    4514           35000        PRIO35             OCT      35000                                 
005018,000471:    4515           36000        PRIO36             OCT      36000                                 
005019,000472:    4516           37000        PRIO37             OCT      37000                                 
005020,000473:    4517                        ENDEXECF           EQUALS                                         

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