Source Code

   YAYUL: ASSEMBLE REVISION 5 OF PROGRAM BOREALIS       BY MSTEWART MAR. 27,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.

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

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