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.

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

Page 107

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

Page 108

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

Page 109

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

Page 110

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

Page 111

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

Page 112

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

Page 113

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

Page 114

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

Page 115

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

Page 116

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

Page 117

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

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