Source Code

These source-code files were transcribed from a printout in Don Eyles's personal collection, scanned by archive.org, and financially sponsored by Mike Higgins. A team of volunteers performed the transcription and proof-reading. Note that the scanned page images are available at the Virtual AGC Project website, as well as higher-quality (but much larger) images at the Virtual AGC Project's section on archive.org. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository.

Notations on the program listing read, in part:

	YUL SYSTEM FOR BLK2: REVISION 0 OF PROGRAM RETRED44 BY NASA 2021100
	JUL 9, 1965
Note that the date is the date of the printout, not the date of the program revision.

003784,000002:                                                                                                  ## Copyright:   Public domain.
003785,000003:                                                                                                  ## Filename:    EXECUTIVE.agc
003786,000004:                                                                                                  ## Purpose:     Part of the source code for Retread 44 (revision 0). It was
003787,000005:                                                                                                  ##              the very first program for the Block II AGC, created as an
003788,000006:                                                                                                  ##              extensive rewrite of the Block I program Sunrise.
003789,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
003790,000008:                                                                                                  ##              that the code format has been changed to conform to the
003791,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
003792,000010:                                                                                                  ##              original YUL assembler.
003793,000011:                                                                                                  ## Reference:   pp. 107-117
003794,000012:                                                                                                  ## Assembler:   yaYUL
003795,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
003796,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
003797,000015:                                                                                                  ## Mod history: 2016-12-13 MAS  Created from Aurora 12 version.
003798,000016:                                                                                                  ##              2016-12-17 MAS  Transcribed.
003799,000017:                                                                                                  ##              2016-12-18 MAS  Typos.
003800,000018:                                                                                                  ##              2016-12-27 RSB  Proofed comment text using octopus/ProoferComments,
003801,000019:                                                                                                  ##                              and fixed errors found.
003802,000020: 

Page 107

003804,000022: 
003805,000023:    4131                                           SETLOC   ENDIBNKF                              
003806,000024: 
003807,000025:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
003808,000026: 
003809,000027:    4131           54632        NOVAC              TS       NEWPRIO                               #  SAVE PRIORITY OF NEW JOB.
003810,000028:    4132           00006                           EXTEND                                         
003811,000029:    4133           50002                           INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
003812,000030:    4134           30001                           DCA      0                                     #  2CADR OF JOB ENTERED.
003813,000031:    4135           52634                           DXCH     NEWLOC                                
003814,000032:    4136           34214                           CAF      EXECBANK                              
003815,000033:    4137           56004                           XCH      FBANK                                 
003816,000034:    4140           54626                           TS       EXECTEM1                              
003817,000035:    4141           12241                           TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
003818,000036: 
003819,000037:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
003820,000038: 
003821,000039:    4142           54632        FINDVAC            TS       NEWPRIO                               
003822,000040:    4143           00006                           EXTEND                                         
003823,000041:    4144           50002                           INDEX    Q                                     
003824,000042:    4145           30001                           DCA      0                                     
003825,000043:    4146           52634                           DXCH     NEWLOC                                
003826,000044:    4147           34214                           CAF      EXECBANK                              
003827,000045:    4150           56004                           XCH      FBANK                                 
003828,000046:    4151           12220                           TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
003829,000047: 
003830,000048:                                                                                                  #           TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
003831,000049: 
003832,000050:    4152           34214        CHANG1             CAF      EXECBANK                              
003833,000051:    4153           54001                           TS       L                                     
003834,000052:    4154           30002                           CA       Q                                     
003835,000053:    4155           22006                 +3        LXCH     BBANK                                 
003836,000054:    4156           00004                           INHINT                                         
003837,000055:    4157           12316                           TCF      CHANJOB                               
003838,000056: 
003839,000057:                                                                                                  #           TO SUSPEND AN INTERPRETIVE JOB:
003840,000058: 
003841,000059:    4160           34214        CHANG2             CAF      EXECBANK                              
003842,000060:    4161           54001                           TS       L                                     
003843,000061:    4162           40150                           CS       LOC                                   #  NEGATIVE LOC SHOWS JOB INTERPRETIVE.
003844,000062:    4163           14155                           TCF      CHANG1     +3                         
003845,000063: 

Page 108

003847,000065:                                                                                                  #           TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
003848,000066: 
003849,000067:    4164           54150        JOBSLEEP           TS       LOC                                   
003850,000068:    4165           34214                           CAF      EXECBANK                              
003851,000069:    4166           54004                           TS       FBANK                                 
003852,000070:    4167           12375                           TCF      JOBSLP1                               
003853,000071: 
003854,000072:                                                                                                  #           TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
003855,000073: 
003856,000074:    4170           54633        JOBWAKE            TS       NEWLOC                                
003857,000075:    4171           47645                           CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
003858,000076:    4172           26002                           ADS      Q                                     
003859,000077:    4173           34214                           CAF      EXECBANK                              
003860,000078:    4174           56004                           XCH      FBANK                                 
003861,000079:    4175           12406                           TCF      JOBWAKE2                              
003862,000080: 
003863,000081:                                                                                                  #           TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
003864,000082: 
003865,000083:    4176           00004        PRIOCHNG           INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
003866,000084:    4177           54632                           TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
003867,000085:    4200           34214                           CAF      EXECBANK                              #  HIGHEST. PREPARE FOR POSSIBLE BASIC-
003868,000086:    4201           56006                           XCH      BBANK                                 #  STYLE CHANGE-JOB.
003869,000087:    4202           54151                           TS       BANKSET                               
003870,000088:    4203           30002                           CA       Q                                     
003871,000089:    4204           12454                           TCF      PRIOCH2                               
003872,000090: 
003873,000091:                                                                                                  #           TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
003874,000092: 
003875,000093:    4205           34214        ENDOFJOB           CAF      EXECBANK                              
003876,000094:    4206           54004                           TS       FBANK                                 
003877,000095:    4207           12465                           TCF      ENDJOB1                               
003878,000096: 
003879,000097:    4210           30626        ENDFIND            CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
003880,000098:    4211           54004                           TS       FBANK                                 #  COMPLETE.
003881,000099:    4212           50002                           INDEX    Q                                     
003882,000100:    4213           00002                           TC       2                                     
003883,000101: 
003884,000102:    4214           02220        EXECBANK           CADR     FINDVAC2                              
003885,000103: 

Page 109

003887,000105:                                                                                                  #           LOCATE AN AVAILABLE VAC AREA.
003888,000106: 
003889,000107: 01,2220                                           SETLOC   ENDINTS1                              
003890,000108: 
003891,000109: 01,2220           54626        FINDVAC2           TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
003892,000110: 01,2221           10264                           CCS      VAC1USE                               
003893,000111: 01,2222           12234                           TCF      VACFOUND                              
003894,000112: 01,2223           10340                           CCS      VAC2USE                               
003895,000113: 01,2224           12234                           TCF      VACFOUND                              
003896,000114: 01,2225           10414                           CCS      VAC3USE                               
003897,000115: 01,2226           12234                           TCF      VACFOUND                              
003898,000116: 01,2227           10470                           CCS      VAC4USE                               
003899,000117: 01,2230           12234                           TCF      VACFOUND                              
003900,000118: 01,2231           10544                           CCS      VAC5USE                               
003901,000119: 01,2232           12234                           TCF      VACFOUND                              
003902,000120: 01,2233           02233                           TC       -0                                    #  ABORT IF NO VAC AREAS AVAILABLE.
003903,000121: 
003904,000122: 01,2234           67645        VACFOUND           AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
003905,000123: 01,2235           22007                           ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
003906,000124: 01,2236           50000                           INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
003907,000125: 01,2237           21777                           LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
003908,000126: 01,2240           26632                           ADS      NEWPRIO                               
003909,000127: 
003910,000128: 01,2241           37653        NOVAC2             CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
003911,000129: 01,2242           54635                           TS       LOCCTR                                
003912,000130: 01,2243           32250                           CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
003913,000131: 01,2244           54627        NOVAC3             TS       EXECTEM2                              
003914,000132: 01,2245           50635                           INDEX    LOCCTR                                
003915,000133: 01,2246           10153                           CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
003916,000134: 01,2247           12310                           TCF      NEXTCORE                              #  THE CORRESPONDING CORE SET IS AVAILABLE.
003917,000135: 01,2250           00006        NO.CORES           DEC      6          B-14                       
003918,000136: 01,2251           12310                           TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
003919,000137:                                                                                                  #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
003920,000138: 

Page 110

003922,000140: 01,2252           30632        CORFOUND           CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
003923,000141: 01,2253           50635                           INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
003924,000142: 01,2254           54153                           TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
003925,000143: 01,2255           72503                           MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
003926,000144: 01,2256           50635                           INDEX    LOCCTR                                
003927,000145: 01,2257           54152                           TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
003928,000146: 
003929,000147: 01,2260           10635                           CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
003930,000148: 01,2261           12275                           TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY .
003931,000149: 01,2262           54105                           TS       OVFIND                                
003932,000150: 01,2263           30152                           CA       PUSHLOC                               
003933,000151: 01,2264           54104                           TS       FIXLOC                                
003934,000152: 
003935,000153: 01,2265           10067        SPECTEST           CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
003936,000154: 01,2266           12275                           TCF      SETLOC                                #  MUST BE AWAKENED BUT UNCHANGED JOB.
003937,000155: 01,2271                                           SETLOC   +2                                    
003938,000156: 01,2271           54067                           TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
003939,000157: 01,2272           52634                           DXCH     NEWLOC                                
003940,000158: 01,2273           52151                           DXCH     LOC                                   
003941,000159: 01,2274           14210                           TCF      ENDFIND                               
003942,000160: 
003943,000161: 01,2275           52634        SETLOC             DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
003944,000162: 01,2276           50635                           INDEX    LOCCTR                                
003945,000163: 01,2277           52151                           DXCH     LOC                                   
003946,000164: 01,2300           50067                           INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
003947,000165: 01,2301           40153                           CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
003948,000166: 01,2302           60632                           AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
003949,000167: 01,2303           00006                           EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
003950,000168: 01,2304           64210                           BZMF     ENDFIND                               
003951,000169: 01,2305           30635                           CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
003952,000170: 01,2306           54067                           TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
003953,000171: 01,2307           14210                           TCF      ENDFIND                               #  REGISTERS, ETC.
003954,000172: 
003955,000173: 01,2310           32416        NEXTCORE           CAF      COREINC                               
003956,000174: 01,2311           26635                           ADS      LOCCTR                                
003957,000175: 01,2312           10627                           CCS      EXECTEM2                              
003958,000176: 01,2313           12244                           TCF      NOVAC3                                
003959,000177: 01,2314           02314                           TC       -0                                    #  ABORT IF NO MORE CORE SETS.
003960,000178: 

Page 111

003962,000180:                                                                                                  #           THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
003963,000181: 
003964,000182: 01,2315           52151                 -1        DXCH     LOC                                   
003965,000183: 01,2316           50067        CHANJOB            INDEX    NEWJOB                                #  LOC ARRIVES IN A AND BBANK IN L.
003966,000184: 01,2317           52151                           DXCH     LOC                                   
003967,000185: 01,2320           52151                           DXCH     LOC                                   
003968,000186: 
003969,000187: 01,2321           52141                           DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
003970,000188: 01,2322           50067                           INDEX    NEWJOB                                
003971,000189: 01,2323           52141                           DXCH     MPAC                                  
003972,000190: 01,2324           52141                           DXCH     MPAC                                  
003973,000191: 01,2325           52143                           DXCH     MPAC       +2                         
003974,000192: 01,2326           50067                           INDEX    NEWJOB                                
003975,000193: 01,2327           52143                           DXCH     MPAC       +2                         
003976,000194: 01,2330           52143                           DXCH     MPAC       +2                         
003977,000195: 01,2331           52145                           DXCH     MPAC       +4                         
003978,000196: 01,2332           50067                           INDEX    NEWJOB                                
003979,000197: 01,2333           52145                           DXCH     MPAC       +4                         
003980,000198: 01,2334           52145                           DXCH     MPAC       +4                         
003981,000199: 01,2335           52147                           DXCH     MPAC       +6                         
003982,000200: 01,2336           50067                           INDEX    NEWJOB                                
003983,000201: 01,2337           52147                           DXCH     MPAC       +6                         
003984,000202: 01,2340           52147                           DXCH     MPAC       +6                         
003985,000203: 
003986,000204: 01,2341           37653                           CAF      ZERO                                  
003987,000205: 01,2342           56105                           XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
003988,000206: 01,2343           00006                           EXTEND                                         
003989,000207: 01,2344           12347                           BZF      +3                                    
003990,000208: 01,2345           40152                           CS       PUSHLOC                               
003991,000209: 01,2346           54152                           TS       PUSHLOC                               
003992,000210: 
003993,000211: 01,2347           52153                           DXCH     PUSHLOC                               
003994,000212: 01,2350           50067                           INDEX    NEWJOB                                
003995,000213: 01,2351           52153                           DXCH     PUSHLOC                               
003996,000214: 01,2352           52153                           DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
003997,000215: 01,2353           10152                           CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
003998,000216: 01,2354           37653                           CAF      ZERO                                  
003999,000217: 01,2355           12362                           TCF      ENDPRCHG   -1                         
004000,000218: 01,2356           40152                           CS       PUSHLOC                               
004001,000219: 01,2357           54152                           TS       PUSHLOC                               
004002,000220: 01,2360           37646                           CAF      ONE                                   
004003,000221: 01,2361           56105                           XCH      OVFIND                                
004004,000222: 01,2362           54067                           TS       NEWJOB                                
004005,000223: 
004006,000224: 01,2363           00003        ENDPRCHG           RELINT                                         
004007,000225: 01,2364           52151                           DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
004008,000226: 01,2365           00006                           EXTEND                                         #  DISPATCH WITH A DTCB.
004009,000227: 01,2366           62370                           BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
004010,000228: 01,2367           52006                           DTCB                                           
004011,000229: 

Page 112

004013,000231: 01,2370           40000                           COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
004014,000232: 01,2371           54150                           TS       LOC                                   #  RESUME.
004015,000233: 01,2372           36232                           CAF      FBANKMSK                              
004016,000234: 01,2373           70001                           MASK     L                                     
004017,000235: 01,2374           16011                           TCF      INTRSM                                
004018,000236: 
004019,000237:                                                                                                  #           COMPLETE JOBSLEEP PREPARATIONS.
004020,000238: 
004021,000239: 01,2375           00004        JOBSLP1            INHINT                                         
004022,000240: 01,2376           40153                           CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
004023,000241: 01,2377           54153                           TS       PRIORITY                              
004024,000242: 01,2400           36027                           CAF      LOW7                                  
004025,000243: 01,2401           70006                           MASK     BBANK                                 
004026,000244: 01,2402           54151                           TS       BANKSET                               
004027,000245: 01,2403           47653                           CS       ZERO                                  
004028,000246: 01,2404           54115        JOBSLP2            TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
004029,000247: 01,2405           12475                           TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
004030,000248: 

Page 113

004032,000250:                                                                                                  #           TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
004033,000251:                                                                                                  #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
004034,000252:                                                                                                  #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
004035,000253: 
004036,000254: 01,2406           54626        JOBWAKE2           TS       EXECTEM1                              
004037,000255: 01,2407           37653                           CAF      ZERO                                  #  BEGIN CORE SET SCAN.
004038,000256: 01,2410           54635                           TS       LOCCTR                                
004039,000257: 01,2411           32250                           CAF      NO.CORES                              
004040,000258: 01,2412           54627        JOBWAKE4           TS       EXECTEM2                              
004041,000259: 01,2413           50635                           INDEX    LOCCTR                                
004042,000260: 01,2414           10153                           CCS      PRIORITY                              
004043,000261: 01,2415           12420                           TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
004044,000262: 01,2416           00014        COREINC            DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
004045,000263: 01,2417           12427                           TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
004046,000264: 
004047,000265: 01,2420           32416        JOBWAKE3           CAF      COREINC                               
004048,000266: 01,2421           26635                           ADS      LOCCTR                                
004049,000267: 01,2422           10627                           CCS      EXECTEM2                              
004050,000268: 01,2423           12412                           TCF      JOBWAKE4                              
004051,000269: 01,2424           47646                           CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
004052,000270: 01,2425           54635                           TS       LOCCTR                                
004053,000271: 01,2426           14210                           TCF      ENDFIND                               
004054,000272: 
004055,000273: 01,2427           40633        WAKETEST           CS       NEWLOC                                
004056,000274: 01,2430           50635                           INDEX    LOCCTR                                
004057,000275: 01,2431           60150                           AD       LOC                                   
004058,000276: 01,2432           00006                           EXTEND                                         
004059,000277: 01,2433           12435                           BZF      +2                                    #  IF MATCH.
004060,000278: 01,2434           12420                           TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
004061,000279: 
004062,000280: 01,2435           50635                           INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
004063,000281: 01,2436           40153                           CS       PRIORITY                              
004064,000282: 01,2437           50635                           INDEX    LOCCTR                                
004065,000283: 01,2440           54153                           TS       PRIORITY                              
004066,000284: 
004067,000285: 01,2441           46232                           CS       FBANKMSK                              #  MAKE UP THE 2CADR OF THE WAKE ADDRESS
004068,000286: 01,2442           70633                           MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
004069,000287: 01,2443           67634                           AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
004070,000288: 01,2444           56633                           XCH      NEWLOC                                
004071,000289: 01,2445           76232                           MASK     FBANKMSK                              
004072,000290: 01,2446           50635                           INDEX    LOCCTR                                
004073,000291: 01,2447           60151                           AD       BANKSET                               
004074,000292: 01,2450           54634                           TS       NEWLOC     +1                         
004075,000293: 
004076,000294: 01,2451           10635                           CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
004077,000295: 01,2452           12275                           TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
004078,000296: 01,2453           12265                           TCF      SPECTEST                              
004079,000297: 

Page 114

004081,000299:                                                                                                  #           PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
004082,000300: 
004083,000301: 01,2454           54150        PRIOCH2            TS       LOC                                   
004084,000302: 01,2455           37653                           CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
004085,000303: 01,2456           54114                           TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
004086,000304: 01,2457           32503                           CAF      LOW9                                  
004087,000305: 01,2460           70153                           MASK     PRIORITY                              
004088,000306: 01,2461           60632                           AD       NEWPRIO                               
004089,000307: 01,2462           54153                           TS       PRIORITY                              
004090,000308: 01,2463           40000                           COM                                            
004091,000309: 01,2464           12404                           TCF      JOBSLP2                               #  AND TO EJSCAN.
004092,000310: 

Page 115

004094,000312:                                                                                                  #           RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
004095,000313: 
004096,000314: 01,2465           00004        ENDJOB1            INHINT                                         
004097,000315: 01,2466           47653                           CS       ZERO                                  
004098,000316: 01,2467           54115                           TS       BUF        +1                         
004099,000317: 01,2470           56153                           XCH      PRIORITY                              
004100,000318: 01,2471           72503                           MASK     LOW9                                  
004101,000319: 01,2472           10000                           CCS      A                                     
004102,000320: 01,2473           50000                           INDEX    A                                     
004103,000321: 01,2474           54000                           TS       0                                     
004104,000322: 
004105,000323: 01,2475           10167        EJSCAN             CCS      PRIORITY   +12D                       
004106,000324: 01,2476           02542                           TC       EJ1                                   
004107,000325: 01,2500                                           SETLOC   +1                                    
004108,000326: 01,2500           12501                           TCF      +1                                    
004109,000327: 
004110,000328: 01,2501           10203                           CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
004111,000329: 01,2502           02542                           TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
004112,000330: 01,2503           00777        LOW9               OCT      00777                                 
004113,000331: 01,2504           12505                           TCF      +1                                    
004114,000332: 
004115,000333: 01,2505           10217                           CCS      PRIORITY   +36D                       
004116,000334: 01,2506           02542                           TC       EJ1                                   
004117,000335: 01,2507           67624        -CCSPR             -CCS     PRIORITY                              
004118,000336: 01,2510           12511                           TCF      +1                                    
004119,000337: 
004120,000338: 01,2511           10233                           CCS      PRIORITY   +48D                       
004121,000339: 01,2512           02542                           TC       EJ1                                   
004122,000340: 01,2514                                           SETLOC   +1                                    
004123,000341: 01,2514           12515                           TCF      +1                                    
004124,000342: 
004125,000343: 01,2515           10247                           CCS      PRIORITY   +60D                       
004126,000344: 01,2516           02542                           TC       EJ1                                   
004127,000345: 01,2520                                           SETLOC   +1                                    
004128,000346: 01,2520           12521                           TCF      +1                                    
004129,000347: 
004130,000348: 01,2521           10263                           CCS      PRIORITY   +72D                       
004131,000349: 01,2522           02542                           TC       EJ1                                   
004132,000350: 01,2524                                           SETLOC   +1                                    
004133,000351: 01,2524           12525                           TCF      +1                                    
004134,000352: 

Page 116

004136,000354:                                                                                                  #           EVALUATE THE RESULTS OF THE SCAN.
004137,000355: 
004138,000356: 01,2525           10115                           CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
004139,000357: 01,2530                                           SETLOC   +2                                    
004140,000358: 01,2530           12532                           TCF      +2                                    
004141,000359: 01,2531           14215                           TCF      DUMMYJOB                              
004142,000360: 01,2532           10114                           CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
004143,000361: 01,2533           12535                           TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
004144,000362: 01,2534           12363                           TCF      ENDPRCHG                              
004145,000363: 
004146,000364: 01,2535           50000                           INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
004147,000365: 01,2536           27777                           CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
004148,000366: 01,2537           62507                           AD       -CCSPR                                
004149,000367: 01,2540           54067                           TS       NEWJOB                                
004150,000368: 01,2541           12315                           TCF      CHANJOB    -1                         
004151,000369: 
004152,000370: 01,2542           54116        EJ1                TS       BUF        +2                         
004153,000371: 01,2543           60115                           AD       BUF        +1                         #  - OLD HIGH PRIORITY.
004154,000372: 01,2544           10000                           CCS      A                                     
004155,000373: 01,2545           40116                           CS       BUF        +2                         
004156,000374: 01,2546           12552                           TCF      EJ2                                   #  NEW HIGH PRIORITY.
004157,000375: 01,2547           12550                           NOOP                                           
004158,000376: 01,2550           50002                           INDEX    Q                                     
004159,000377: 01,2551           00002                           TC       2                                     #  PROCEED WITH SEARCH.
004160,000378: 
004161,000379: 01,2552           54115        EJ2                TS       BUF        +1                         
004162,000380: 01,2553           00006                           EXTEND                                         
004163,000381: 01,2554           22114                           QXCH     BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
004164,000382: 01,2555           50114                           INDEX    BUF                                   
004165,000383: 01,2556           00002                           TC       2                                     
004166,000384: 
004167,000385: 01,2557                        ENDEXECS           EQUALS                                         
004168,000386: 

Page 117

004170,000388:                                                                                                  #           IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
004171,000389:                                                                                                  #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
004172,000390: 
004173,000391:    4215                                           SETLOC   EXECBANK   +1                         
004174,000392: 
004175,000393:    4215           47653        DUMMYJOB           CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
004176,000394:    4216           54067                           TS       NEWJOB                                
004177,000395:    4217           00003                           RELINT                                         
004178,000396:    4220           47645                           CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
004179,000397:    4221           00006                           EXTEND                                         
004180,000398:    4222           03011                           WAND     DSALMOUT                              
004181,000399:    4223           14226                           TCF      CHECKNJ    +2                         
004182,000400: 
004183,000401:    4224           00006        CHECKNJ            EXTEND                                         #  SPECIAL NEWJOB TEST FOR SELF-CHECK,
004184,000402:    4225           23043                           QXCH     SELFRET                               #  WHICH RUNS UNDER EXECUTIVE CONTROL,
004185,000403:    4226           10067                 +2        CCS      NEWJOB                                #  BUT DOES NOT HAVE A JOBS CORE REGISTERS.
004186,000404:    4227           14241                           TCF      NUCHANGE                              #  NEW JOB REQUIRING A CHANGE JOB.
004187,000405:    4230           37645                           CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
004188,000406:    4231           14235                           TCF      NUDIRECT                              #  EXECUTION.
004189,000407: 
004190,000408:    4232           34250                           CAF      SELFBANK                              #  RETURN TO SELF-CHECK.
004191,000409:    4233           54004                           TS       FBANK                                 
004192,000410:    4234           01043                           TC       SELFRET                               
004193,000411: 
004194,000412:    4235           00006        NUDIRECT           EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
004195,000413:    4236           05011                           WOR      DSALMOUT                              
004196,000414:    4237           52151                           DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
004197,000415:    4240           52006                           DTCB                                           #  BASIC.
004198,000416: 
004199,000417:    4241           37645        NUCHANGE           CAF      TWO                                   
004200,000418:    4242           00006                           EXTEND                                         
004201,000419:    4243           05011                           WOR      DSALMOUT                              
004202,000420:    4244           34214                           CAF      EXECBANK                              #  SWAP CORE SETS.
004203,000421:    4245           54004                           TS       FBANK                                 
004204,000422:    4246           00004                           INHINT                                         #  CHANGE JOBS
004205,000423:    4247           12315                           TCF      CHANJOB    -1                         
004206,000424: 
004207,000425:    4250           21271        SELFBANK           CADR     ENDEDOP                               
004208,000426:    4251                        ENDEXECF           EQUALS                                         

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