Source Code

These source-code files were obtained by digitally photographing the Colossus 237 program listing from the private collection of original AGC developer Fred Martin, and then modifying pre-existing Colossus 249 (Apollo 9) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images are available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 237 OF AGC PROGRAM COLOSSUS 
	BY NASA 2021111-031  1:17 AUG. 24, 1968

049745,000002:                                                                                                 #  Copyright:    Public domain.
049746,000003:                                                                                                 #  Filename:      EXECUTIVE.agc
049747,000004:                                                                                                 #  Purpose:      Part of the source code for Colossus build 237.
049748,000005:                                                                                                 #                This is for the Command Module's (CM) Apollo Guidance
049749,000006:                                                                                                 #                Computer (AGC), we believe for Apollo 8.
049750,000007:                                                                                                 #  Assembler:    yaYUL
049751,000008:                                                                                                 #  Contact:      Jim Lawton <jim DOT lawton AT gmail DOT com>
049752,000009:                                                                                                 #  Website:      www.ibiblio.org/apollo/index.html
049753,000010:                                                                                                 #  Page scans:   www.ibiblio.org/apollo/ScansForConversion/Colossus237/
049754,000011:                                                                                                 #  Mod history:  2011-04-13 JL    Adapted from corresponding Colossus 249 file.
049755,000012: 
049756,000013:                                                                                                 # # Page 1175
049757,000014:    5027                                          BLOCK    02                                    
049758,000015:                                                                                                 #           TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
049759,000016: 
049760,000017:    5027                                          COUNT    02/EXEC                               
049761,000018: 
049762,000019:    5027           00004        NOVAC             INHINT                                         
049763,000020:    5030           65121                          AD       FAKEPRET                              #  LOC(MPAC +6) - LOC(QPRET)
049764,000021:    5031           54063                          TS       NEWPRIO                               #  PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
049765,000022: 
049766,000023:    5032           00006                          EXTEND                                         
049767,000024:    5033           50002                          INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
049768,000025:    5034           30001                          DCA      0                                     #  2CADR OF JOB ENTERED.
049769,000026:    5035           52066                          DXCH     NEWLOC                                
049770,000027:    5036           35120                          CAF      EXECBANK                              
049771,000028:    5037           56004                          XCH      FBANK                                 
049772,000029:    5040           54061                          TS       EXECTEM1                              
049773,000030:    5041           12650                          TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
049774,000031: 
049775,000032:                                                                                                 #           TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
049776,000033: 
049777,000034:    5042           00004        FINDVAC           INHINT                                         
049778,000035:    5043           54063                          TS       NEWPRIO                               
049779,000036:    5044           00006                          EXTEND                                         
049780,000037:    5045           50002                          INDEX    Q                                     
049781,000038:    5046           30001                          DCA      0                                     
049782,000039:    5047           52066        SPVACIN           DXCH     NEWLOC                                
049783,000040:    5050           35120                          CAF      EXECBANK                              
049784,000041:    5051           56004                          XCH      FBANK                                 
049785,000042:    5052           12626                          TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
049786,000043: 
049787,000044:                                                                                                 #           TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
049788,000045: 
049789,000046:                                                                                                 #           USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
049790,000047: 
049791,000048:    5053           56002        SPVAC             XCH      Q                                     
049792,000049:    5054           67715                          AD       NEG2                                  
049793,000050:    5055           56002                          XCH      Q                                     
049794,000051:    5056           15047                          TCF      SPVACIN                               
049795,000052: 
049796,000053:                                                                                                 #           TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
049797,000054: 
049798,000055:    5057           22002        CHANG1            LXCH     Q                                     
049799,000056:    5060           35120                          CAF      EXECBANK                              
049800,000057:    5061           56006                          XCH      BBANK                                 
049801,000058:    5062           12727                          TCF      CHANJOB                               
049802,000059: 
049803,000060:                                                                                                 #           TO SUSPEND AN INTERPRETIVE JOB:
049804,000061: 
049805,000062:    5063           40164        CHANG2            CS       LOC                                   #  NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
049806,000063:                                                                                                 #           ITRACE (4) REFERS TO "CHANG2"
049807,000064:                                                                                                 # # Page 1176
049808,000065:    5064           54001                          TS       L                                     
049809,000066:    5065           35120                 +2       CAF      EXECBANK                              
049810,000067:    5066           54006                          TS       BBANK                                 
049811,000068:    5067           12726                          TCF      CHANJOB    -1                         
049812,000069: 
049813,000070:                                                                                                 # # Page 1177
049814,000071:                                                                                                 #           TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
049815,000072: 
049816,000073:    5070           54164        JOBSLEEP          TS       LOC                                   
049817,000074:    5071           35120                          CAF      EXECBANK                              
049818,000075:    5072           54004                          TS       FBANK                                 
049819,000076:    5073           13017                          TCF      JOBSLP1                               
049820,000077: 
049821,000078:                                                                                                 #           TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
049822,000079: 
049823,000080:    5074           00004        JOBWAKE           INHINT                                         
049824,000081:    5075           54065                          TS       NEWLOC                                
049825,000082:    5076           44711                          CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
049826,000083:    5077           26002                          ADS      Q                                     
049827,000084:    5100           35120                          CAF      EXECBANK                              
049828,000085:    5101           56004                          XCH      FBANK                                 
049829,000086:    5102           13044                          TCF      JOBWAKE2                              
049830,000087: 
049831,000088:                                                                                                 #           TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
049832,000089: 
049833,000090:    5103           00004        PRIOCHNG          INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
049834,000091:    5104           54063                          TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
049835,000092:    5105           35120                          CAF      EXECBANK                              #  HIGHEST. PREPARE FOR POSSIBLE BASIC-
049836,000093:    5106           56006                          XCH      BBANK                                 #  STYLE CHANGE-JOB.
049837,000094:    5107           54165                          TS       BANKSET                               
049838,000095:    5110           30002                          CA       Q                                     
049839,000096:    5111           13113                          TCF      PRIOCH2                               
049840,000097: 
049841,000098:                                                                                                 #           TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
049842,000099: 
049843,000100:    5112           35120        ENDOFJOB          CAF      EXECBANK                              
049844,000101:    5113           54004                          TS       FBANK                                 
049845,000102:    5114           13124                          TCF      ENDJOB1                               
049846,000103: 
049847,000104:    5115           30061        ENDFIND           CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
049848,000105:    5116           54004                          TS       FBANK                                 #  COMPLETE.
049849,000106:    5117           16710                          TCF      Q+2                                   
049850,000107:    5120           02626        EXECBANK          CADR     FINDVAC2                              
049851,000108: 
049852,000109:    5121           00110        FAKEPRET          ADRES    MPAC       -36D                       #  LOC(MPAC +6) - LOC(QPRET)
049853,000110: 
049854,000111:                                                                                                 # # Page 1178
049855,000112:                                                                                                 #           LOCATE AN AVAILABLE VAC AREA.
049856,000113: 
049857,000114: 01,2626                                          BANK     01                                    
049858,000115: 01,2626                                          COUNT    01/EXEC                               
049859,000116: 
049860,000117: 01,2626           54061        FINDVAC2          TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
049861,000118: 01,2627           10400                          CCS      VAC1USE                               
049862,000119: 01,2630           12643                          TCF      VACFOUND                              
049863,000120: 01,2631           10454                          CCS      VAC2USE                               
049864,000121: 01,2632           12643                          TCF      VACFOUND                              
049865,000122: 01,2633           10530                          CCS      VAC3USE                               
049866,000123: 01,2634           12643                          TCF      VACFOUND                              
049867,000124: 01,2635           10604                          CCS      VAC4USE                               
049868,000125: 01,2636           12643                          TCF      VACFOUND                              
049869,000126: 01,2637           10660                          CCS      VAC5USE                               
049870,000127: 01,2640           12643                          TCF      VACFOUND                              
049871,000128: 01,2641           05604                          TC       BAILOUT                               
049872,000129: 01,2642           01201                          OCT      1201                                  #  NO VAC AREAS.
049873,000130: 
049874,000131: 01,2643           64711        VACFOUND          AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
049875,000132: 01,2644           22007                          ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
049876,000133: 01,2645           50000                          INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
049877,000134: 01,2646           21777                          LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
049878,000135: 01,2647           26063                          ADS      NEWPRIO                               
049879,000136: 
049880,000137: 01,2650           34714        NOVAC2            CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
049881,000138: 01,2651           54064                          TS       LOCCTR                                
049882,000139: 01,2652           32657                          CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
049883,000140: 01,2653           54062        NOVAC3            TS       EXECTEM2                              
049884,000141: 01,2654           50064                          INDEX    LOCCTR                                
049885,000142: 01,2655           10167                          CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
049886,000143: 01,2656           12717                          TCF      NEXTCORE                              #  THE CORESPONDING CORE SET IS AVAILABLE.
049887,000144: 01,2657           00006        NO.CORES          DEC      6          B-14                       
049888,000145: 01,2660           12717                          TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
049889,000146:                                                                                                 #                                           BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
049890,000147: 
049891,000148:                                                                                                 # # Page 1179
049892,000149: 01,2661           30063        CORFOUND          CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
049893,000150: 01,2662           50064                          INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
049894,000151: 01,2663           54167                          TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
049895,000152: 01,2664           74741                          MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
049896,000153: 01,2665           50064                          INDEX    LOCCTR                                
049897,000154: 01,2666           54166                          TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
049898,000155: 
049899,000156: 01,2667           10064                          CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
049900,000157: 01,2670           12704                          TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY .
049901,000158: 01,2671           54121                          TS       OVFIND                                
049902,000159: 01,2672           30166                          CA       PUSHLOC                               
049903,000160: 01,2673           54120                          TS       FIXLOC                                
049904,000161: 
049905,000162: 01,2674           10067        SPECTEST          CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
049906,000163: 01,2675           12704                          TCF      SETLOC                                #  MUST BE AWAKENED OUT UNCHANGED JOB.
049907,000164: 01,2676           05642                          TC       CCSHOLE                               
049908,000165: 01,2677           05642                          TC       CCSHOLE                               
049909,000166: 01,2700           54067                          TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
049910,000167: 01,2701           52066                          DXCH     NEWLOC                                
049911,000168: 01,2702           52165                          DXCH     LOC                                   
049912,000169: 01,2703           15115                          TCF      ENDFIND                               
049913,000170: 
049914,000171: 01,2704           52066        SETLOC            DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
049915,000172: 01,2705           50064                          INDEX    LOCCTR                                
049916,000173: 01,2706           52165                          DXCH     LOC                                   
049917,000174: 01,2707           50067                          INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
049918,000175: 01,2710           40167                          CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
049919,000176: 01,2711           60063                          AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
049920,000177: 01,2712           00006                          EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
049921,000178: 01,2713           65115                          BZMF     ENDFIND                               
049922,000179: 01,2714           30064                          CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
049923,000180: 01,2715           54067                          TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
049924,000181: 01,2716           15115                          TCF      ENDFIND                               #  REGISTERS, ETC.
049925,000182: 
049926,000183: 01,2717           33054        NEXTCORE          CAF      COREINC                               
049927,000184: 01,2720           26064                          ADS      LOCCTR                                
049928,000185: 01,2721           10062                          CCS      EXECTEM2                              
049929,000186: 01,2722           12653                          TCF      NOVAC3                                
049930,000187: 01,2723           05604                          TC       BAILOUT                               #  NO CORE SETS.
049931,000188: 01,2724           01202                          OCT      1202                                  
049932,000189: 
049933,000190:                                                                                                 # # Page 1180
049934,000191:                                                                                                 #           THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
049935,000192: 
049936,000193: 01,2725           22164                 -2       LXCH     LOC                                   
049937,000194: 01,2726           30165                 -1       CAE      BANKSET                               #  BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
049938,000195: 01,2727           00004        CHANJOB           INHINT                                         
049939,000196: 01,2730           00006                          EXTEND                                         
049940,000197: 01,2731           04007                          ROR      SUPERBNK                              #  PICK UP CURRENT SBANK FOR BBCON
049941,000198: 01,2732           56001                          XCH      L                                     #  LOC IN A AND BBCON IN L.
049942,000199: 01,2733           50067                 +4       INDEX    NEWJOB                                #  SWAP LOC AND BANKSET.
049943,000200: 01,2734           52165                          DXCH     LOC                                   
049944,000201: 01,2735           52165                          DXCH     LOC                                   
049945,000202: 
049946,000203: 01,2736           30165                          CAE      BANKSET                               
049947,000204: 01,2737           00006                          EXTEND                                         
049948,000205: 01,2740           01007                          WRITE    SUPERBNK                              #  SET SBANK FOR NEW JOB.
049949,000206: 01,2741           52155                          DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
049950,000207: 01,2742           50067                          INDEX    NEWJOB                                
049951,000208: 01,2743           52155                          DXCH     MPAC                                  
049952,000209: 01,2744           52155                          DXCH     MPAC                                  
049953,000210: 01,2745           52157                          DXCH     MPAC       +2                         
049954,000211: 01,2746           50067                          INDEX    NEWJOB                                
049955,000212: 01,2747           52157                          DXCH     MPAC       +2                         
049956,000213: 01,2750           52157                          DXCH     MPAC       +2                         
049957,000214: 01,2751           52161                          DXCH     MPAC       +4                         
049958,000215: 01,2752           50067                          INDEX    NEWJOB                                
049959,000216: 01,2753           52161                          DXCH     MPAC       +4                         
049960,000217: 01,2754           52161                          DXCH     MPAC       +4                         
049961,000218: 01,2755           52163                          DXCH     MPAC       +6                         
049962,000219: 01,2756           50067                          INDEX    NEWJOB                                
049963,000220: 01,2757           52163                          DXCH     MPAC       +6                         
049964,000221: 01,2760           52163                          DXCH     MPAC       +6                         
049965,000222: 
049966,000223: 01,2761           34714                          CAF      ZERO                                  
049967,000224: 01,2762           56121                          XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
049968,000225: 01,2763           00006                          EXTEND                                         
049969,000226: 01,2764           12767                          BZF      +3                                    
049970,000227: 01,2765           40166                          CS       PUSHLOC                               
049971,000228: 01,2766           54166                          TS       PUSHLOC                               
049972,000229: 
049973,000230: 01,2767           52167                          DXCH     PUSHLOC                               
049974,000231: 01,2770           50067                          INDEX    NEWJOB                                
049975,000232: 01,2771           52167                          DXCH     PUSHLOC                               
049976,000233: 01,2772           52167                          DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
049977,000234: 01,2773           34741                          CAF      LOW9                                  #  SET FIXLOC TO BASE OF VAC AREA.
049978,000235: 01,2774           70167                          MASK     PRIORITY                              
049979,000236: 01,2775           54120                          TS       FIXLOC                                
049980,000237: 
049981,000238: 01,2776           10166                          CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
049982,000239: 01,2777           34714                          CAF      ZERO                                  
049983,000240: 01,3000           13005                          TCF      ENDPRCHG   -1                         
049984,000241:                                                                                                 # # Page 1181
049985,000242: 01,3001           40166                          CS       PUSHLOC                               
049986,000243: 01,3002           54166                          TS       PUSHLOC                               
049987,000244: 01,3003           34712                          CAF      ONE                                   
049988,000245: 01,3004           56121                          XCH      OVFIND                                
049989,000246: 01,3005           54067                          TS       NEWJOB                                
049990,000247: 
049991,000248: 01,3006           00003        ENDPRCHG          RELINT                                         
049992,000249: 01,3007           52165                          DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
049993,000250: 01,3010           00006                          EXTEND                                         #  DISPATCH WITH A DTCB.
049994,000251: 01,3011           63013                          BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
049995,000252: 01,3012           52006                          DTCB                                           
049996,000253: 
049997,000254:                                                                                                 # # Page 1182
049998,000255: 01,3013           40000                          COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
049999,000256: 01,3014           64712                          AD       ONE                                   
050000,000257: 01,3015           54164                          TS       LOC                                   #  RESUME.
050001,000258: 01,3016           16017                          TCF      INTRSM                                
050002,000259: 
050003,000260:                                                                                                 #           COMPLETE JOBSLEEP PREPARATIONS.
050004,000261: 
050005,000262: 01,3017           00004        JOBSLP1           INHINT                                         
050006,000263: 01,3020           40167                          CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
050007,000264: 01,3021           54167                          TS       PRIORITY                              
050008,000265: 01,3022           36043                          CAF      LOW7                                  
050009,000266: 01,3023           70006                          MASK     BBANK                                 
050010,000267: 01,3024           00006                          EXTEND                                         
050011,000268: 01,3025           04007                          ROR      SUPERBNK                              #  SAVE OLD SUPERBANK VALUE.
050012,000269: 01,3026           54165                          TS       BANKSET                               
050013,000270: 01,3027           44714                          CS       ZERO                                  
050014,000271: 01,3030           54131        JOBSLP2           TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
050015,000272: 01,3031           13141                          TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
050016,000273: 
050017,000274: 01,3032           00004        NUCHANG2          INHINT                                         #  QUICK... DONT LET NEWJOB CHANGE TO +0 .
050018,000275: 01,3033           10067                          CCS      NEWJOB                                
050019,000276: 01,3034           13037                          TCF      +3                                    #  NEWJOB STILL PNZ
050020,000277: 01,3035           00003                          RELINT                                         #  NEW JOB HAS CHANGED TO +0. WAKE UP JOB
050021,000278: 01,3036           13233                          TCF      ADVAN      +2                         #  VIA NUDIRECT. (VERY RARE CASE.)
050022,000279: 
050023,000280: 01,3037           34711                          CAF      TWO                                   
050024,000281: 01,3040           00006                          EXTEND                                         
050025,000282: 01,3041           05011                          WOR      DSALMOUT                              #  TURN ON ACTIVITY LIGHT
050026,000283: 01,3042           52165                          DXCH     LOC                                   #  AND SAVE ADDRESS INFO FOR BENEFIT OF
050027,000284: 01,3043           12733                          TCF      CHANJOB    +          4               #   POSSIBLE SLEEPING JOB.
050028,000285: 
050029,000286:                                                                                                 # # Page 1183
050030,000287:                                                                                                 #           TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
050031,000288:                                                                                                 #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
050032,000289:                                                                                                 #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
050033,000290: 
050034,000291: 01,3044           54061        JOBWAKE2          TS       EXECTEM1                              
050035,000292: 01,3045           34714                          CAF      ZERO                                  #  BEGIN CORE SET SCAN.
050036,000293: 01,3046           54064                          TS       LOCCTR                                
050037,000294: 01,3047           32657                          CAF      NO.CORES                              
050038,000295: 01,3050           54062        JOBWAKE4          TS       EXECTEM2                              
050039,000296: 01,3051           50064                          INDEX    LOCCTR                                
050040,000297: 01,3052           10167                          CCS      PRIORITY                              
050041,000298: 01,3053           13056                          TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
050042,000299: 01,3054           00014        COREINC           DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
050043,000300: 01,3055           13065                          TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
050044,000301: 
050045,000302: 01,3056           33054        JOBWAKE3          CAF      COREINC                               
050046,000303: 01,3057           26064                          ADS      LOCCTR                                
050047,000304: 01,3060           10062                          CCS      EXECTEM2                              
050048,000305: 01,3061           13050                          TCF      JOBWAKE4                              
050049,000306: 01,3062           44712                          CS       ONE                                   #  EXIT IF SLEEPIN JOB NOT FOUND.
050050,000307: 01,3063           54064                          TS       LOCCTR                                
050051,000308: 01,3064           15115                          TCF      ENDFIND                               
050052,000309: 
050053,000310: 01,3065           40065        WAKETEST          CS       NEWLOC                                
050054,000311: 01,3066           50064                          INDEX    LOCCTR                                
050055,000312: 01,3067           60164                          AD       LOC                                   
050056,000313: 01,3070           00006                          EXTEND                                         
050057,000314: 01,3071           13073                          BZF      +2                                    #  IF MATCH.
050058,000315: 01,3072           13056                          TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
050059,000316: 
050060,000317: 01,3073           50064                          INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
050061,000318: 01,3074           40167                          CS       PRIORITY                              
050062,000319: 01,3075           54063                          TS       NEWPRIO                               
050063,000320: 01,3076           50064                          INDEX    LOCCTR                                
050064,000321: 01,3077           54167                          TS       PRIORITY                              
050065,000322: 
050066,000323: 01,3100           44364                          CS       FBANKMSK                              #  MASK UP THE 2CADR OF THE WAKE ADDRESS
050067,000324: 01,3101           70065                          MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
050068,000325: 01,3102           64700                          AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
050069,000326: 01,3103           56065                          XCH      NEWLOC                                
050070,000327: 01,3104           74364                          MASK     FBANKMSK                              
050071,000328: 01,3105           50064                          INDEX    LOCCTR                                
050072,000329: 01,3106           60165                          AD       BANKSET                               
050073,000330: 01,3107           54066                          TS       NEWLOC     +1                         
050074,000331: 
050075,000332: 01,3110           10064                          CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
050076,000333: 01,3111           12704                          TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
050077,000334: 01,3112           12674                          TCF      SPECTEST                              
050078,000335: 
050079,000336:                                                                                                 # # Page 1184
050080,000337:                                                                                                 #           PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
050081,000338: 
050082,000339: 01,3113           54164        PRIOCH2           TS       LOC                                   
050083,000340: 01,3114           34714                          CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
050084,000341: 01,3115           54130                          TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
050085,000342: 01,3116           34741                          CAF      LOW9                                  
050086,000343: 01,3117           70167                          MASK     PRIORITY                              
050087,000344: 01,3120           60063                          AD       NEWPRIO                               
050088,000345: 01,3121           54167                          TS       PRIORITY                              
050089,000346: 01,3122           40000                          COM                                            
050090,000347: 01,3123           13030                          TCF      JOBSLP2                               #  AND TO EJSCAN.
050091,000348: 
050092,000349:                                                                                                 # # Page 1185
050093,000350:                                                                                                 #           RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
050094,000351: 
050095,000352: 01,3124           00004        ENDJOB1           INHINT                                         
050096,000353: 01,3125           44714                          CS       ZERO                                  
050097,000354: 01,3126           54131                          TS       BUF        +1                         
050098,000355: 01,3127           56167                          XCH      PRIORITY                              
050099,000356: 01,3130           74741                          MASK     LOW9                                  
050100,000357: 01,3131           54001                          TS       L                                     
050101,000358: 
050102,000359: 01,3132           45121                          CS       FAKEPRET                              
050103,000360: 01,3133           60001                          AD       L                                     
050104,000361: 
050105,000362: 01,3134           00006                          EXTEND                                         
050106,000363: 01,3135           63141                          BZMF     EJSCAN                                #  NOVAC ENDOFJOB
050107,000364: 
050108,000365: 01,3136           10001                          CCS      L                                     
050109,000366: 01,3137           50000                          INDEX    A                                     
050110,000367: 01,3140           54000                          TS       0                                     
050111,000368: 
050112,000369: 01,3141           10203        EJSCAN            CCS      PRIORITY   +12D                       
050113,000370: 01,3142           03206                          TC       EJ1                                   
050114,000371: 01,3143           05642                          TC       CCSHOLE                               
050115,000372: 01,3144           13145                          TCF      +1                                    
050116,000373: 
050117,000374: 01,3145           10217                          CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
050118,000375: 01,3146           03206                          TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
050119,000376: 01,3147           05642                          TC       CCSHOLE                               
050120,000377: 01,3150           13151                          TCF      +1                                    
050121,000378: 
050122,000379: 01,3151           10233                          CCS      PRIORITY   +36D                       
050123,000380: 01,3152           03206                          TC       EJ1                                   
050124,000381: 01,3153           67610        -CCSPR            -CCS     PRIORITY                              
050125,000382: 01,3154           13155                          TCF      +1                                    
050126,000383: 
050127,000384: 01,3155           10247                          CCS      PRIORITY   +48D                       
050128,000385: 01,3156           03206                          TC       EJ1                                   
050129,000386: 01,3157           05642                          TC       CCSHOLE                               
050130,000387: 01,3160           13161                          TCF      +1                                    
050131,000388: 
050132,000389: 01,3161           10263                          CCS      PRIORITY   +60D                       
050133,000390: 01,3162           03206                          TC       EJ1                                   
050134,000391: 01,3163           05642                          TC       CCSHOLE                               
050135,000392: 01,3164           13165                          TCF      +1                                    
050136,000393: 
050137,000394: 01,3165           10277                          CCS      PRIORITY   +72D                       
050138,000395: 01,3166           03206                          TC       EJ1                                   
050139,000396: 01,3167           05642                          TC       CCSHOLE                               
050140,000397: 01,3170           13171                          TCF      +1                                    
050141,000398: 
050142,000399:                                                                                                 # # Page 1186
050143,000400:                                                                                                 #           EVALUATE THE RESULTS OF THE SCAN.
050144,000401: 
050145,000402: 01,3171           10131                          CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
050146,000403: 01,3172           05642                          TC       CCSHOLE                               
050147,000404: 01,3173           05642                          TC       CCSHOLE                               
050148,000405: 
050149,000406: 01,3174           13176                          TCF      +2                                    
050150,000407: 01,3175           13223                          TCF      DUMMYJOB                              
050151,000408: 01,3176           10130                          CCS      BUF                                   #  BUF IS ZERO IS THIS IS A PRIOCHNG AND
050152,000409: 01,3177           13201                          TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
050153,000410: 01,3200           13005                          TCF      ENDPRCHG   -1                         
050154,000411: 
050155,000412: 01,3201           50000                          INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
050156,000413: 01,3202           27777                          CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
050157,000414: 01,3203           63153                          AD       -CCSPR                                
050158,000415: 01,3204           54067                          TS       NEWJOB                                
050159,000416: 01,3205           12725                          TCF      CHANJOB    -2                         
050160,000417: 
050161,000418: 01,3206           54132        EJ1               TS       BUF        +2                         
050162,000419: 01,3207           60131                          AD       BUF        +1                         #  - OLD HIGH PRIORITY.
050163,000420: 01,3210           10000                          CCS      A                                     
050164,000421: 01,3211           40132                          CS       BUF        +2                         
050165,000422: 01,3212           13216                          TCF      EJ2                                   #  NEW HIGH PRIORITY.
050166,000423: 01,3213           13214                          NOOP                                           
050167,000424: 01,3214           50002                          INDEX    Q                                     
050168,000425: 01,3215           00002                          TC       2                                     #  PROCEED WITH SEARCH.
050169,000426: 
050170,000427: 01,3216           54131        EJ2               TS       BUF        +1                         
050171,000428: 01,3217           00006                          EXTEND                                         
050172,000429: 01,3220           22130                          QXCH     BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
050173,000430: 01,3221           50130                          INDEX    BUF                                   
050174,000431: 01,3222           00002                          TC       2                                     
050175,000432: 
050176,000433:                                                                                                 # # Page 1187
050177,000434:                                                                                                 #           IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
050178,000435:                                                                                                 #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
050179,000436: 
050180,000437: 01,3223     1361                                 EBANK=   SELFRET                               #  SELF-CHECK STORAGE IN EBANK.
050181,000438: 
050182,000439: 01,3223           44714        DUMMYJOB          CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
050183,000440: 01,3224           54067                          TS       NEWJOB                                
050184,000441: 01,3225           00003                          RELINT                                         
050185,000442: 01,3226           44711                          CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
050186,000443: 01,3227           00006                          EXTEND                                         
050187,000444: 01,3230           03011                          WAND     DSALMOUT                              
050188,000445: 01,3231           10067        ADVAN             CCS      NEWJOB                                #  IS THE NEWJOB ACTIVE ?
050189,000446: 01,3232           13032                          TCF      NUCHANG2                              #  YES... ONE REQUIRING A CHANGE JOB.
050190,000447: 01,3233           34711                          CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
050191,000448: 01,3234           13242                          TCF      NUDIRECT                              #  EXECUTION
050192,000449: 
050193,000450: 01,3235           31361                          CA       SELFRET                               
050194,000451: 01,3236           54001                          TS       L                                     #  PUT RETURN ADDRESS IN L.
050195,000452: 01,3237           33241                          CAF      SELFBANK                              
050196,000453: 01,3240           15123                          TCF      SUPDXCHZ   +          1               #   AND DISPATCH JOB.
050197,000454: 
050198,000455: 01,3241     1361                                 EBANK=   SELFRET                               
050199,000456: 01,3241           66102        SELFBANK          BBCON    SELFCHK                               
050200,000457: 
050201,000458: 01,3242           00006        NUDIRECT          EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
050202,000459: 01,3243           05011                          WOR      DSALMOUT                              
050203,000460: 01,3244           52165                          DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
050204,000461: 01,3245           15122                          TCF      SUPDXCHZ                              
050205,000462: 
050206,000463:    5122                                          BLOCK    2                                     #  IN FIXED-FIXED SO OTHERS MAY USE.
050207,000464: 
050208,000465:    5122                                          COUNT    02/EXEC                               
050209,000466: 
050210,000467:                                                                                                 #  SUPDXCHZ - ROUTINE TO TRANSFER TO SUPEBANK.
050211,000468:                                                                                                 #  CALLING SEQUENCE
050212,000469:                                                                                                 #                 TCF     SUPDXCHZ        # WITH 2CADR OF DESIRED LOCATION IN A + L.
050213,000470: 
050214,000471:    5122           56001        SUPDXCHZ          XCH      L                                     #  BASIC.
050215,000472:    5123           00006        +1                EXTEND                                         
050216,000473:    5124           01007                          WRITE    SUPERBNK                              
050217,000474:    5125           54006                          TS       BBANK                                 
050218,000475:    5126           00001                          TC       L                                     
050219,000476: 
050220,000477:    5127           77677        NEG100            OCT      77677                                 

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