Source Code

These source-code files were reconstructed by Mike Stewart from dumps of the RETREAD 50 program stored in physical AGC core-rope modules (B1 and B2) belonging to the Computer History Museum, Mountain View, California. The reconstruction was aided by pre-existing source code for the AGC programs RETREAD 44 and AURORA 12. Read about the process here. Assembling this source code with yaYUL produces core ropes identical to those of the physical modules. Page-number references refer to corresponding sections of RETREAD 44 source code. No printouts of RETREAD 50 program listings are available. New sections of the software (appearing in EXTENDED_VERBS_FOR_MODING.agc) have been disassembled; labels and comments have been either taken from similar code in later programs or, in cases where this was not possible, added by VirtualAGC for clarity.

003744,000002:                                                                                                  ## Copyright:   Public domain.
003745,000003:                                                                                                  ## Filename:    EXECUTIVE.agc
003746,000004:                                                                                                  ## Purpose:     Part of the source code for AGC program Retread 50. 
003747,000005:                                                                                                  ## Assembler:   yaYUL
003748,000006:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
003749,000007:                                                                                                  ## Website:     www.ibiblio.org/apollo/Restoration.html
003750,000008:                                                                                                  ## Mod history: 2019-06-12 MAS  Recreated from Computer History Museum's
003751,000009:                                                                                                  ##                              physical core-rope modules.
003752,000010: 

Page 107

003754,000012: 
003755,000013:    4131                                           SETLOC   ENDIBNKF                              
003756,000014: 
003757,000015:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
003758,000016: 
003759,000017:    4131           54632        NOVAC              TS       NEWPRIO                               #  SAVE PRIORITY OF NEW JOB.
003760,000018:    4132           00006                           EXTEND                                         
003761,000019:    4133           50002                           INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
003762,000020:    4134           30001                           DCA      0                                     #  2CADR OF JOB ENTERED.
003763,000021:    4135           52634                           DXCH     NEWLOC                                
003764,000022:    4136           34214                           CAF      EXECBANK                              
003765,000023:    4137           56004                           XCH      FBANK                                 
003766,000024:    4140           54626                           TS       EXECTEM1                              
003767,000025:    4141           12241                           TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
003768,000026: 
003769,000027:                                                                                                  #           TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
003770,000028: 
003771,000029:    4142           54632        FINDVAC            TS       NEWPRIO                               
003772,000030:    4143           00006                           EXTEND                                         
003773,000031:    4144           50002                           INDEX    Q                                     
003774,000032:    4145           30001                           DCA      0                                     
003775,000033:    4146           52634                           DXCH     NEWLOC                                
003776,000034:    4147           34214                           CAF      EXECBANK                              
003777,000035:    4150           56004                           XCH      FBANK                                 
003778,000036:    4151           12220                           TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
003779,000037: 
003780,000038:                                                                                                  #           TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
003781,000039: 
003782,000040:    4152           34214        CHANG1             CAF      EXECBANK                              
003783,000041:    4153           54001                           TS       L                                     
003784,000042:    4154           30002                           CA       Q                                     
003785,000043:    4155           22006                 +3        LXCH     BBANK                                 
003786,000044:    4156           00004                           INHINT                                         
003787,000045:    4157           12316                           TCF      CHANJOB                               
003788,000046: 
003789,000047:                                                                                                  #           TO SUSPEND AN INTERPRETIVE JOB:
003790,000048: 
003791,000049:    4160           34214        CHANG2             CAF      EXECBANK                              
003792,000050:    4161           54001                           TS       L                                     
003793,000051:    4162           40150                           CS       LOC                                   #  NEGATIVE LOC SHOWS JOB INTERPRETIVE.
003794,000052:    4163           14155                           TCF      CHANG1     +3                         
003795,000053: 

Page 108

003797,000055:                                                                                                  #           TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
003798,000056: 
003799,000057:    4164           54150        JOBSLEEP           TS       LOC                                   
003800,000058:    4165           34214                           CAF      EXECBANK                              
003801,000059:    4166           54004                           TS       FBANK                                 
003802,000060:    4167           12375                           TCF      JOBSLP1                               
003803,000061: 
003804,000062:                                                                                                  #           TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
003805,000063: 
003806,000064:    4170           54633        JOBWAKE            TS       NEWLOC                                
003807,000065:    4171           47645                           CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
003808,000066:    4172           26002                           ADS      Q                                     
003809,000067:    4173           34214                           CAF      EXECBANK                              
003810,000068:    4174           56004                           XCH      FBANK                                 
003811,000069:    4175           12406                           TCF      JOBWAKE2                              
003812,000070: 
003813,000071:                                                                                                  #           TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
003814,000072: 
003815,000073:    4176           00004        PRIOCHNG           INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
003816,000074:    4177           54632                           TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
003817,000075:    4200           34214                           CAF      EXECBANK                              #  HIGHEST. PREPARE FOR POSSIBLE BASIC-
003818,000076:    4201           56006                           XCH      BBANK                                 #  STYLE CHANGE-JOB.
003819,000077:    4202           54151                           TS       BANKSET                               
003820,000078:    4203           30002                           CA       Q                                     
003821,000079:    4204           12454                           TCF      PRIOCH2                               
003822,000080: 
003823,000081:                                                                                                  #           TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
003824,000082: 
003825,000083:    4205           34214        ENDOFJOB           CAF      EXECBANK                              
003826,000084:    4206           54004                           TS       FBANK                                 
003827,000085:    4207           12465                           TCF      ENDJOB1                               
003828,000086: 
003829,000087:    4210           30626        ENDFIND            CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
003830,000088:    4211           54004                           TS       FBANK                                 #  COMPLETE.
003831,000089:    4212           50002                           INDEX    Q                                     
003832,000090:    4213           00002                           TC       2                                     
003833,000091: 
003834,000092:    4214           02220        EXECBANK           CADR     FINDVAC2                              
003835,000093: 

Page 109

003837,000095:                                                                                                  #           LOCATE AN AVAILABLE VAC AREA.
003838,000096: 
003839,000097: 01,2220                                           SETLOC   ENDINTS1                              
003840,000098: 
003841,000099: 01,2220           54626        FINDVAC2           TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
003842,000100: 01,2221           10264                           CCS      VAC1USE                               
003843,000101: 01,2222           12234                           TCF      VACFOUND                              
003844,000102: 01,2223           10340                           CCS      VAC2USE                               
003845,000103: 01,2224           12234                           TCF      VACFOUND                              
003846,000104: 01,2225           10414                           CCS      VAC3USE                               
003847,000105: 01,2226           12234                           TCF      VACFOUND                              
003848,000106: 01,2227           10470                           CCS      VAC4USE                               
003849,000107: 01,2230           12234                           TCF      VACFOUND                              
003850,000108: 01,2231           10544                           CCS      VAC5USE                               
003851,000109: 01,2232           12234                           TCF      VACFOUND                              
003852,000110: 01,2233           02233                           TC       -0                                    #  ABORT IF NO VAC AREAS AVAILABLE.
003853,000111: 
003854,000112: 01,2234           67645        VACFOUND           AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
003855,000113: 01,2235           22007                           ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
003856,000114: 01,2236           50000                           INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
003857,000115: 01,2237           21777                           LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
003858,000116: 01,2240           26632                           ADS      NEWPRIO                               
003859,000117: 
003860,000118: 01,2241           37653        NOVAC2             CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
003861,000119: 01,2242           54635                           TS       LOCCTR                                
003862,000120: 01,2243           32250                           CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
003863,000121: 01,2244           54627        NOVAC3             TS       EXECTEM2                              
003864,000122: 01,2245           50635                           INDEX    LOCCTR                                
003865,000123: 01,2246           10153                           CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
003866,000124: 01,2247           12310                           TCF      NEXTCORE                              #  THE CORRESPONDING CORE SET IS AVAILABLE.
003867,000125: 01,2250           00006        NO.CORES           DEC      6          B-14                       
003868,000126: 01,2251           12310                           TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
003869,000127:                                                                                                  #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
003870,000128: 

Page 110

003872,000130: 01,2252           30632        CORFOUND           CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
003873,000131: 01,2253           50635                           INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
003874,000132: 01,2254           54153                           TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
003875,000133: 01,2255           72503                           MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
003876,000134: 01,2256           50635                           INDEX    LOCCTR                                
003877,000135: 01,2257           54152                           TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
003878,000136: 
003879,000137: 01,2260           10635                           CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
003880,000138: 01,2261           12275                           TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY .
003881,000139: 01,2262           54105                           TS       OVFIND                                
003882,000140: 01,2263           30152                           CA       PUSHLOC                               
003883,000141: 01,2264           54104                           TS       FIXLOC                                
003884,000142: 
003885,000143: 01,2265           10067        SPECTEST           CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
003886,000144: 01,2266           12275                           TCF      SETLOC                                #  MUST BE AWAKENED BUT UNCHANGED JOB.
003887,000145: 01,2271                                           SETLOC   +2                                    
003888,000146: 01,2271           54067                           TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
003889,000147: 01,2272           52634                           DXCH     NEWLOC                                
003890,000148: 01,2273           52151                           DXCH     LOC                                   
003891,000149: 01,2274           14210                           TCF      ENDFIND                               
003892,000150: 
003893,000151: 01,2275           52634        SETLOC             DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
003894,000152: 01,2276           50635                           INDEX    LOCCTR                                
003895,000153: 01,2277           52151                           DXCH     LOC                                   
003896,000154: 01,2300           50067                           INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
003897,000155: 01,2301           40153                           CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
003898,000156: 01,2302           60632                           AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
003899,000157: 01,2303           00006                           EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
003900,000158: 01,2304           64210                           BZMF     ENDFIND                               
003901,000159: 01,2305           30635                           CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
003902,000160: 01,2306           54067                           TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
003903,000161: 01,2307           14210                           TCF      ENDFIND                               #  REGISTERS, ETC.
003904,000162: 
003905,000163: 01,2310           32416        NEXTCORE           CAF      COREINC                               
003906,000164: 01,2311           26635                           ADS      LOCCTR                                
003907,000165: 01,2312           10627                           CCS      EXECTEM2                              
003908,000166: 01,2313           12244                           TCF      NOVAC3                                
003909,000167: 01,2314           02314                           TC       -0                                    #  ABORT IF NO MORE CORE SETS.
003910,000168: 

Page 111

003912,000170:                                                                                                  #           THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
003913,000171: 
003914,000172: 01,2315           52151                 -1        DXCH     LOC                                   
003915,000173: 01,2316           50067        CHANJOB            INDEX    NEWJOB                                #  LOC ARRIVES IN A AND BBANK IN L.
003916,000174: 01,2317           52151                           DXCH     LOC                                   
003917,000175: 01,2320           52151                           DXCH     LOC                                   
003918,000176: 
003919,000177: 01,2321           52141                           DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
003920,000178: 01,2322           50067                           INDEX    NEWJOB                                
003921,000179: 01,2323           52141                           DXCH     MPAC                                  
003922,000180: 01,2324           52141                           DXCH     MPAC                                  
003923,000181: 01,2325           52143                           DXCH     MPAC       +2                         
003924,000182: 01,2326           50067                           INDEX    NEWJOB                                
003925,000183: 01,2327           52143                           DXCH     MPAC       +2                         
003926,000184: 01,2330           52143                           DXCH     MPAC       +2                         
003927,000185: 01,2331           52145                           DXCH     MPAC       +4                         
003928,000186: 01,2332           50067                           INDEX    NEWJOB                                
003929,000187: 01,2333           52145                           DXCH     MPAC       +4                         
003930,000188: 01,2334           52145                           DXCH     MPAC       +4                         
003931,000189: 01,2335           52147                           DXCH     MPAC       +6                         
003932,000190: 01,2336           50067                           INDEX    NEWJOB                                
003933,000191: 01,2337           52147                           DXCH     MPAC       +6                         
003934,000192: 01,2340           52147                           DXCH     MPAC       +6                         
003935,000193: 
003936,000194: 01,2341           37653                           CAF      ZERO                                  
003937,000195: 01,2342           56105                           XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
003938,000196: 01,2343           00006                           EXTEND                                         
003939,000197: 01,2344           12347                           BZF      +3                                    
003940,000198: 01,2345           40152                           CS       PUSHLOC                               
003941,000199: 01,2346           54152                           TS       PUSHLOC                               
003942,000200: 
003943,000201: 01,2347           52153                           DXCH     PUSHLOC                               
003944,000202: 01,2350           50067                           INDEX    NEWJOB                                
003945,000203: 01,2351           52153                           DXCH     PUSHLOC                               
003946,000204: 01,2352           52153                           DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
003947,000205: 01,2353           10152                           CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
003948,000206: 01,2354           37653                           CAF      ZERO                                  
003949,000207: 01,2355           12362                           TCF      ENDPRCHG   -1                         
003950,000208: 01,2356           40152                           CS       PUSHLOC                               
003951,000209: 01,2357           54152                           TS       PUSHLOC                               
003952,000210: 01,2360           37646                           CAF      ONE                                   
003953,000211: 01,2361           56105                           XCH      OVFIND                                
003954,000212: 01,2362           54067                           TS       NEWJOB                                
003955,000213: 
003956,000214: 01,2363           00003        ENDPRCHG           RELINT                                         
003957,000215: 01,2364           52151                           DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
003958,000216: 01,2365           00006                           EXTEND                                         #  DISPATCH WITH A DTCB.
003959,000217: 01,2366           62370                           BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
003960,000218: 01,2367           52006                           DTCB                                           
003961,000219: 

Page 112

003963,000221: 01,2370           40000                           COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
003964,000222: 01,2371           54150                           TS       LOC                                   #  RESUME.
003965,000223: 01,2372           36232                           CAF      FBANKMSK                              
003966,000224: 01,2373           70001                           MASK     L                                     
003967,000225: 01,2374           16011                           TCF      INTRSM                                
003968,000226: 
003969,000227:                                                                                                  #           COMPLETE JOBSLEEP PREPARATIONS.
003970,000228: 
003971,000229: 01,2375           00004        JOBSLP1            INHINT                                         
003972,000230: 01,2376           40153                           CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
003973,000231: 01,2377           54153                           TS       PRIORITY                              
003974,000232: 01,2400           36027                           CAF      LOW7                                  
003975,000233: 01,2401           70006                           MASK     BBANK                                 
003976,000234: 01,2402           54151                           TS       BANKSET                               
003977,000235: 01,2403           47653                           CS       ZERO                                  
003978,000236: 01,2404           54115        JOBSLP2            TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
003979,000237: 01,2405           12475                           TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
003980,000238: 

Page 113

003982,000240:                                                                                                  #           TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
003983,000241:                                                                                                  #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
003984,000242:                                                                                                  #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
003985,000243: 
003986,000244: 01,2406           54626        JOBWAKE2           TS       EXECTEM1                              
003987,000245: 01,2407           37653                           CAF      ZERO                                  #  BEGIN CORE SET SCAN.
003988,000246: 01,2410           54635                           TS       LOCCTR                                
003989,000247: 01,2411           32250                           CAF      NO.CORES                              
003990,000248: 01,2412           54627        JOBWAKE4           TS       EXECTEM2                              
003991,000249: 01,2413           50635                           INDEX    LOCCTR                                
003992,000250: 01,2414           10153                           CCS      PRIORITY                              
003993,000251: 01,2415           12420                           TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
003994,000252: 01,2416           00014        COREINC            DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
003995,000253: 01,2417           12427                           TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
003996,000254: 
003997,000255: 01,2420           32416        JOBWAKE3           CAF      COREINC                               
003998,000256: 01,2421           26635                           ADS      LOCCTR                                
003999,000257: 01,2422           10627                           CCS      EXECTEM2                              
004000,000258: 01,2423           12412                           TCF      JOBWAKE4                              
004001,000259: 01,2424           47646                           CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
004002,000260: 01,2425           54635                           TS       LOCCTR                                
004003,000261: 01,2426           14210                           TCF      ENDFIND                               
004004,000262: 
004005,000263: 01,2427           40633        WAKETEST           CS       NEWLOC                                
004006,000264: 01,2430           50635                           INDEX    LOCCTR                                
004007,000265: 01,2431           60150                           AD       LOC                                   
004008,000266: 01,2432           00006                           EXTEND                                         
004009,000267: 01,2433           12435                           BZF      +2                                    #  IF MATCH.
004010,000268: 01,2434           12420                           TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
004011,000269: 
004012,000270: 01,2435           50635                           INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
004013,000271: 01,2436           40153                           CS       PRIORITY                              
004014,000272: 01,2437           50635                           INDEX    LOCCTR                                
004015,000273: 01,2440           54153                           TS       PRIORITY                              
004016,000274: 
004017,000275: 01,2441           46232                           CS       FBANKMSK                              #  MAKE UP THE 2CADR OF THE WAKE ADDRESS
004018,000276: 01,2442           70633                           MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
004019,000277: 01,2443           67634                           AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
004020,000278: 01,2444           56633                           XCH      NEWLOC                                
004021,000279: 01,2445           76232                           MASK     FBANKMSK                              
004022,000280: 01,2446           50635                           INDEX    LOCCTR                                
004023,000281: 01,2447           60151                           AD       BANKSET                               
004024,000282: 01,2450           54634                           TS       NEWLOC     +1                         
004025,000283: 
004026,000284: 01,2451           10635                           CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
004027,000285: 01,2452           12275                           TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
004028,000286: 01,2453           12265                           TCF      SPECTEST                              
004029,000287: 

Page 114

004031,000289:                                                                                                  #           PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
004032,000290: 
004033,000291: 01,2454           54150        PRIOCH2            TS       LOC                                   
004034,000292: 01,2455           37653                           CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
004035,000293: 01,2456           54114                           TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
004036,000294: 01,2457           32503                           CAF      LOW9                                  
004037,000295: 01,2460           70153                           MASK     PRIORITY                              
004038,000296: 01,2461           60632                           AD       NEWPRIO                               
004039,000297: 01,2462           54153                           TS       PRIORITY                              
004040,000298: 01,2463           40000                           COM                                            
004041,000299: 01,2464           12404                           TCF      JOBSLP2                               #  AND TO EJSCAN.
004042,000300: 

Page 115

004044,000302:                                                                                                  #           RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
004045,000303: 
004046,000304: 01,2465           00004        ENDJOB1            INHINT                                         
004047,000305: 01,2466           47653                           CS       ZERO                                  
004048,000306: 01,2467           54115                           TS       BUF        +1                         
004049,000307: 01,2470           56153                           XCH      PRIORITY                              
004050,000308: 01,2471           72503                           MASK     LOW9                                  
004051,000309: 01,2472           10000                           CCS      A                                     
004052,000310: 01,2473           50000                           INDEX    A                                     
004053,000311: 01,2474           54000                           TS       0                                     
004054,000312: 
004055,000313: 01,2475           10167        EJSCAN             CCS      PRIORITY   +12D                       
004056,000314: 01,2476           02542                           TC       EJ1                                   
004057,000315: 01,2500                                           SETLOC   +1                                    
004058,000316: 01,2500           12501                           TCF      +1                                    
004059,000317: 
004060,000318: 01,2501           10203                           CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
004061,000319: 01,2502           02542                           TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
004062,000320: 01,2503           00777        LOW9               OCT      00777                                 
004063,000321: 01,2504           12505                           TCF      +1                                    
004064,000322: 
004065,000323: 01,2505           10217                           CCS      PRIORITY   +36D                       
004066,000324: 01,2506           02542                           TC       EJ1                                   
004067,000325: 01,2507           67624        -CCSPR             -CCS     PRIORITY                              
004068,000326: 01,2510           12511                           TCF      +1                                    
004069,000327: 
004070,000328: 01,2511           10233                           CCS      PRIORITY   +48D                       
004071,000329: 01,2512           02542                           TC       EJ1                                   
004072,000330: 01,2514                                           SETLOC   +1                                    
004073,000331: 01,2514           12515                           TCF      +1                                    
004074,000332: 
004075,000333: 01,2515           10247                           CCS      PRIORITY   +60D                       
004076,000334: 01,2516           02542                           TC       EJ1                                   
004077,000335: 01,2520                                           SETLOC   +1                                    
004078,000336: 01,2520           12521                           TCF      +1                                    
004079,000337: 
004080,000338: 01,2521           10263                           CCS      PRIORITY   +72D                       
004081,000339: 01,2522           02542                           TC       EJ1                                   
004082,000340: 01,2524                                           SETLOC   +1                                    
004083,000341: 01,2524           12525                           TCF      +1                                    
004084,000342: 

Page 116

004086,000344:                                                                                                  #           EVALUATE THE RESULTS OF THE SCAN.
004087,000345: 
004088,000346: 01,2525           10115                           CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
004089,000347: 01,2530                                           SETLOC   +2                                    
004090,000348: 01,2530           12532                           TCF      +2                                    
004091,000349: 01,2531           14215                           TCF      DUMMYJOB                              
004092,000350: 01,2532           10114                           CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
004093,000351: 01,2533           12535                           TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
004094,000352: 01,2534           12363                           TCF      ENDPRCHG                              
004095,000353: 
004096,000354: 01,2535           50000                           INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
004097,000355: 01,2536           27777                           CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
004098,000356: 01,2537           62507                           AD       -CCSPR                                
004099,000357: 01,2540           54067                           TS       NEWJOB                                
004100,000358: 01,2541           12315                           TCF      CHANJOB    -1                         
004101,000359: 
004102,000360: 01,2542           54116        EJ1                TS       BUF        +2                         
004103,000361: 01,2543           60115                           AD       BUF        +1                         #  - OLD HIGH PRIORITY.
004104,000362: 01,2544           10000                           CCS      A                                     
004105,000363: 01,2545           40116                           CS       BUF        +2                         
004106,000364: 01,2546           12552                           TCF      EJ2                                   #  NEW HIGH PRIORITY.
004107,000365: 01,2547           12550                           NOOP                                           
004108,000366: 01,2550           50002                           INDEX    Q                                     
004109,000367: 01,2551           00002                           TC       2                                     #  PROCEED WITH SEARCH.
004110,000368: 
004111,000369: 01,2552           54115        EJ2                TS       BUF        +1                         
004112,000370: 01,2553           00006                           EXTEND                                         
004113,000371: 01,2554           22114                           QXCH     BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
004114,000372: 01,2555           50114                           INDEX    BUF                                   
004115,000373: 01,2556           00002                           TC       2                                     
004116,000374: 
004117,000375: 01,2557                        ENDEXECS           EQUALS                                         
004118,000376: 

Page 117

004120,000378:                                                                                                  #           IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
004121,000379:                                                                                                  #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
004122,000380: 
004123,000381:    4215                                           SETLOC   EXECBANK   +1                         
004124,000382: 
004125,000383:    4215           47653        DUMMYJOB           CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
004126,000384:    4216           54067                           TS       NEWJOB                                
004127,000385:    4217           00003                           RELINT                                         
004128,000386:    4220           47645                           CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
004129,000387:    4221           00006                           EXTEND                                         
004130,000388:    4222           03011                           WAND     DSALMOUT                              
004131,000389:    4223           14226                           TCF      CHECKNJ    +2                         
004132,000390: 
004133,000391:    4224           00006        CHECKNJ            EXTEND                                         #  SPECIAL NEWJOB TEST FOR SELF-CHECK,
004134,000392:    4225           23043                           QXCH     SELFRET                               #  WHICH RUNS UNDER EXECUTIVE CONTROL,
004135,000393:    4226           10067                 +2        CCS      NEWJOB                                #  BUT DOES NOT HAVE A JOBS CORE REGISTERS.
004136,000394:    4227           14241                           TCF      NUCHANGE                              #  NEW JOB REQUIRING A CHANGE JOB.
004137,000395:    4230           37645                           CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
004138,000396:    4231           14235                           TCF      NUDIRECT                              #  EXECUTION.
004139,000397: 
004140,000398:    4232           34250                           CAF      SELFBANK                              #  RETURN TO SELF-CHECK.
004141,000399:    4233           54004                           TS       FBANK                                 
004142,000400:    4234           01043                           TC       SELFRET                               
004143,000401: 
004144,000402:    4235           00006        NUDIRECT           EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
004145,000403:    4236           05011                           WOR      DSALMOUT                              
004146,000404:    4237           52151                           DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
004147,000405:    4240           52006                           DTCB                                           #  BASIC.
004148,000406: 
004149,000407:    4241           37645        NUCHANGE           CAF      TWO                                   
004150,000408:    4242           00006                           EXTEND                                         
004151,000409:    4243           05011                           WOR      DSALMOUT                              
004152,000410:    4244           34214                           CAF      EXECBANK                              #  SWAP CORE SETS.
004153,000411:    4245           54004                           TS       FBANK                                 
004154,000412:    4246           00004                           INHINT                                         #  CHANGE JOBS
004155,000413:    4247           12315                           TCF      CHANJOB    -1                         
004156,000414: 
004157,000415:    4250           21273        SELFBANK           CADR     ENDEDOP                               
004158,000416:    4251                        ENDEXECF           EQUALS                                         

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