Source Code
052344,000001: # Copyright: Public domain.
052345,000002: # Filename: EXECUTIVE.agc
052346,000003: # Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
052347,000004: # It is part of the source code for the Command Module's (CM)
052348,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
052349,000006: # Assembler: yaYUL
052350,000007: # Contact: Ron Burkey <info@sandroid.org>.
052351,000008: # Website: www.ibiblio.org/apollo.
052352,000009: # Pages: 1208-1220
052353,000010: # Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
052354,000011: # same name, using Comanche055 page images.
052355,000012: # 2010-08-29 JL Fixed indentation.
052356,000013: # 2011-05-08 JL Removed workaround.
052357,000014:
052358,000015: # This source code has been transcribed or otherwise adapted from digitized
052359,000016: # images of a hardcopy from the MIT Museum. The digitization was performed
052360,000017: # by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
052361,000018: # thanks to both. The images (with suitable reduction in storage size and
052362,000019: # consequent reduction in image quality as well) are available online at
052363,000020: # www.ibiblio.org/apollo. If for some reason you find that the images are
052364,000021: # illegible, contact me at info@sandroid.org about getting access to the
052365,000022: # (much) higher-quality images which Paul actually created.
052366,000023:
052367,000024: # Notations on the hardcopy document read, in part:
052368,000025:
052369,000026: # Assemble revision 055 of AGC program Comanche by NASA
052370,000027: # 2021113-051. 10:28 APR. 1, 1969
052371,000028:
052372,000029: # This AGC program shall also be referred to as
052373,000030: # Colossus 2A
052374,000031:
052375,000032: # Page 1208
052376,000033: 5134 BLOCK 02
052377,000034:
052378,000035: # TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
052379,000036:
052380,000037: 5134 COUNT 02/EXEC
052381,000038:
052382,000039: 5134 00004 NOVAC INHINT
052383,000040: 5135 65226 AD FAKEPRET # LOC(MPAC +6) - LOC(QPRET)
052384,000041: 5136 54063 TS NEWPRIO # PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
052385,000042:
052386,000043: 5137 00006 EXTEND
052387,000044: 5140 50002 INDEX Q # Q WILL BE UNDISTURBED THROUGHOUT.
052388,000045: 5141 30001 DCA 0 # 2CADR OF JOB ENTERED.
052389,000046: 5142 52066 DXCH NEWLOC
052390,000047: 5143 35225 CAF EXECBANK
052391,000048: 5144 56004 XCH FBANK
052392,000049: 5145 54061 TS EXECTEM1
052393,000050: 5146 12650 TCF NOVAC2 # ENTER EXECUTIVE BANK.
052394,000051:
052395,000052: # TO ENTER A JOB REQUEST REQUIREING A VAC AREA -- E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
052396,000053:
052397,000054: 5147 00004 FINDVAC INHINT
052398,000055: 5150 54063 TS NEWPRIO
052399,000056: 5151 00006 EXTEND
052400,000057: 5152 50002 INDEX Q
052401,000058: 5153 30001 DCA 0
052402,000059: 5154 52066 SPVACIN DXCH NEWLOC
052403,000060: 5155 35225 CAF EXECBANK
052404,000061: 5156 56004 XCH FBANK
052405,000062: 5157 12626 TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
052406,000063:
052407,000064: # TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
052408,000065: # USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
052409,000066:
052410,000067: 5160 56002 SPVAC XCH Q
052411,000068: 5161 67715 AD NEG2
052412,000069: 5162 56002 XCH Q
052413,000070: 5163 15154 TCF SPVACIN
052414,000071:
052415,000072: # TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
052416,000073:
052417,000074: 5164 22002 CHANG1 LXCH Q
052418,000075: 5165 35225 CAF EXECBANK
052419,000076: 5166 56006 XCH BBANK
052420,000077: 5167 12727 TCF CHANJOB
052421,000078:
052422,000079: # TO SUSPEND AN INTERPRETIVE JOB:
052423,000080:
052424,000081: 5170 40164 CHANG2 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
052425,000082: # ITRACE (4) REFERS TO "CHANG2"
052426,000083: # Page 1209
052427,000084: 5171 54001 TS L
052428,000085: 5172 35225 +2 CAF EXECBANK
052429,000086: 5173 54006 TS BBANK
052430,000087: 5174 12726 TCF CHANJOB -1
052431,000088:
052432,000089: # Page 1210
052433,000090: # TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
052434,000091:
052435,000092: 5175 54164 JOBSLEEP TS LOC
052436,000093: 5176 35225 CAF EXECBANK
052437,000094: 5177 54004 TS FBANK
052438,000095: 5200 13017 TCF JOBSLP1
052439,000096:
052440,000097: # TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
052441,000098:
052442,000099: 5201 00004 JOBWAKE INHINT
052443,000100: 5202 54065 TS NEWLOC
052444,000101: 5203 45016 CS TWO # EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
052445,000102: 5204 26002 ADS Q
052446,000103: 5205 35225 CAF EXECBANK
052447,000104: 5206 56004 XCH FBANK
052448,000105: 5207 13044 TCF JOBWAKE2
052449,000106:
052450,000107: # TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
052451,000108:
052452,000109: 5210 00004 PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
052453,000110: 5211 54063 TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
052454,000111: 5212 35225 CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
052455,000112: 5213 56006 XCH BBANK # STYLE CHANGE-JOB.
052456,000113: 5214 54165 TS BANKSET
052457,000114: 5215 30002 CA Q
052458,000115: 5216 13113 TCF PRIOCH2
052459,000116:
052460,000117: # TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
052461,000118:
052462,000119: 5217 35225 ENDOFJOB CAF EXECBANK
052463,000120: 5220 54004 TS FBANK
052464,000121: 5221 13124 TCF ENDJOB1
052465,000122:
052466,000123: 5222 30061 ENDFIND CA EXECTEM1 # RETURN TO CALLER AFTER JOB ENTRY
052467,000124: 5223 54004 TS FBANK # COMPLETE.
052468,000125: 5224 16710 TCF Q+2
052469,000126: 5225 02626 EXECBANK CADR FINDVAC2
052470,000127:
052471,000128: 5226 00110 FAKEPRET ADRES MPAC -36D # LOC(MPAC +6) - LOC(QPRET)
052472,000129:
052473,000130: # Page 1211
052474,000131: # LOCATE AN AVAILABLE VAC AREA
052475,000132:
052476,000133: 01,2626 BANK 01
052477,000134: 01,2626 COUNT 01/EXEC
052478,000135:
052479,000136: 01,2626 54061 FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
052480,000137: 01,2627 10400 CCS VAC1USE
052481,000138: 01,2630 12643 TCF VACFOUND
052482,000139: 01,2631 10454 CCS VAC2USE
052483,000140: 01,2632 12643 TCF VACFOUND
052484,000141: 01,2633 10530 CCS VAC3USE
052485,000142: 01,2634 12643 TCF VACFOUND
052486,000143: 01,2635 10604 CCS VAC4USE
052487,000144: 01,2636 12643 TCF VACFOUND
052488,000145: 01,2637 10660 CCS VAC5USE
052489,000146: 01,2640 12643 TCF VACFOUND
052490,000147: 01,2641 07755 TC BAILOUT
052491,000148: 01,2642 01201 OCT 1201 # NO VAC AREAS.
052492,000149:
052493,000150: 01,2643 65016 VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
052494,000151: 01,2644 22007 ZL # IN ITS VAC USE REGISTER AND STORE THE
052495,000152: 01,2645 50000 INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
052496,000153: 01,2646 21777 LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
052497,000154: 01,2647 26063 ADS NEWPRIO
052498,000155:
052499,000156: 01,2650 35021 NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
052500,000157: 01,2651 54064 TS LOCCTR
052501,000158: 01,2652 32657 CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
052502,000159: 01,2653 54062 NOVAC3 TS EXECTEM2
052503,000160: 01,2654 50064 INDEX LOCCTR
052504,000161: 01,2655 10167 CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
052505,000162: 01,2656 12717 TCF NEXTCORE # THE CORESPONDING CORE SET IS AVAILABLE.
052506,000163: 01,2657 00006 NO.CORES DEC 6 B-14
052507,000164: 01,2660 12717 TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
052508,000165: # BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
052509,000166:
052510,000167: # Page 1212
052511,000168: 01,2661 30063 CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
052512,000169: 01,2662 50064 INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
052513,000170: 01,2663 54167 TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
052514,000171: 01,2664 75046 MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR.
052515,000172: 01,2665 50064 INDEX LOCCTR
052516,000173: 01,2666 54166 TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS.
052517,000174:
052518,000175: 01,2667 10064 CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
052519,000176: 01,2670 12704 TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY.
052520,000177: 01,2671 54121 TS OVFIND
052521,000178: 01,2672 30166 CA PUSHLOC
052522,000179: 01,2673 54120 TS FIXLOC
052523,000180:
052524,000181: 01,2674 10067 SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
052525,000182: 01,2675 12704 TCF SETLOC # MUST BE AWAKENED OUT UNCHANGED JOB.
052526,000183: 01,2676 05747 TC CCSHOLE
052527,000184: 01,2677 05747 TC CCSHOLE
052528,000185: 01,2700 54067 TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
052529,000186: 01,2701 52066 DXCH NEWLOC
052530,000187: 01,2702 52165 DXCH LOC
052531,000188: 01,2703 15222 TCF ENDFIND
052532,000189:
052533,000190: 01,2704 52066 SETLOC DXCH NEWLOC # SET UP THE LOCATION REGISTERS FOR THIS
052534,000191: 01,2705 50064 INDEX LOCCTR
052535,000192: 01,2706 52165 DXCH LOC
052536,000193: 01,2707 50067 INDEX NEWJOB # THIS INDEX INSTRUCTION INSURES THAT THE
052537,000194: 01,2710 40167 CS PRIORITY # HIGHEST ACTIVE PRIORITY WILL BE COMPARED
052538,000195: 01,2711 60063 AD NEWPRIO # WITH THE NEW PRIORITY TO SEE IF NEWJOB
052539,000196: 01,2712 00006 EXTEND # SHOULD BE SET TO SIGNAL A SWITCH.
052540,000197: 01,2713 65222 BZMF ENDFIND
052541,000198: 01,2714 30064 CA LOCCTR # LOCCTR IS LEFT SET AT THIS CORE SET IF
052542,000199: 01,2715 54067 TS NEWJOB # THE CALLER WANTS TO LOAD ANY MPAC
052543,000200: 01,2716 15222 TCF ENDFIND # REGISTERS, ETC.
052544,000201:
052545,000202: 01,2717 33054 NEXTCORE CAF COREINC
052546,000203: 01,2720 26064 ADS LOCCTR
052547,000204: 01,2721 10062 CCS EXECTEM2
052548,000205: 01,2722 12653 TCF NOVAC3
052549,000206: 01,2723 07755 TC BAILOUT # NO CORE SETS.
052550,000207: 01,2724 01202 OCT 1202
052551,000208: # Page 1213
052552,000209: # THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
052553,000210:
052554,000211: 01,2725 22164 -2 LXCH LOC
052555,000212: 01,2726 30165 -1 CAE BANKSET # BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
052556,000213: 01,2727 00004 CHANJOB INHINT
052557,000214: 01,2730 00006 EXTEND
052558,000215: 01,2731 04007 ROR SUPERBNK # PICK UP CURRENT SBANK FOR BBCON
052559,000216: 01,2732 56001 XCH L # LOC IN A AND BBCON IN L.
052560,000217: 01,2733 50067 +4 INDEX NEWJOB # SWAP LOC AND BANKSET.
052561,000218: 01,2734 52165 DXCH LOC
052562,000219: 01,2735 52165 DXCH LOC
052563,000220:
052564,000221: 01,2736 30165 CAE BANKSET
052565,000222: 01,2737 00006 EXTEND
052566,000223: 01,2740 01007 WRITE SUPERBNK # SET SBANK FOR NEW JOB.
052567,000224: 01,2741 52155 DXCH MPAC # SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
052568,000225: 01,2742 50067 INDEX NEWJOB
052569,000226: 01,2743 52155 DXCH MPAC
052570,000227: 01,2744 52155 DXCH MPAC
052571,000228: 01,2745 52157 DXCH MPAC +2
052572,000229: 01,2746 50067 INDEX NEWJOB
052573,000230: 01,2747 52157 DXCH MPAC +2
052574,000231: 01,2750 52157 DXCH MPAC +2
052575,000232: 01,2751 52161 DXCH MPAC +4
052576,000233: 01,2752 50067 INDEX NEWJOB
052577,000234: 01,2753 52161 DXCH MPAC +4
052578,000235: 01,2754 52161 DXCH MPAC +4
052579,000236: 01,2755 52163 DXCH MPAC +6
052580,000237: 01,2756 50067 INDEX NEWJOB
052581,000238: 01,2757 52163 DXCH MPAC +6
052582,000239: 01,2760 52163 DXCH MPAC +6
052583,000240:
052584,000241: 01,2761 35021 CAF ZERO
052585,000242: 01,2762 56121 XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
052586,000243: 01,2763 00006 EXTEND
052587,000244: 01,2764 12767 BZF +3
052588,000245: 01,2765 40166 CS PUSHLOC
052589,000246: 01,2766 54166 TS PUSHLOC
052590,000247:
052591,000248: 01,2767 52167 DXCH PUSHLOC
052592,000249: 01,2770 50067 INDEX NEWJOB
052593,000250: 01,2771 52167 DXCH PUSHLOC
052594,000251: 01,2772 52167 DXCH PUSHLOC # SWAPS PUSHLOC AND PRIORITY.
052595,000252: 01,2773 35046 CAF LOW9 # SET FIXLOC TO BASE OF VAC AREA.
052596,000253: 01,2774 70167 MASK PRIORITY
052597,000254: 01,2775 54120 TS FIXLOC
052598,000255:
052599,000256: 01,2776 10166 CCS PUSHLOC # SET OVERFLOW INDICATOR ACCORDING TO
052600,000257: 01,2777 35021 CAF ZERO
052601,000258: 01,3000 13005 TCF ENDPRCHG -1
052602,000259:
052603,000260: # Page 1214
052604,000261: 01,3001 40166 CS PUSHLOC
052605,000262: 01,3002 54166 TS PUSHLOC
052606,000263: 01,3003 35017 CAF ONE
052607,000264: 01,3004 56121 XCH OVFIND
052608,000265: 01,3005 54067 TS NEWJOB
052609,000266:
052610,000267: 01,3006 00003 ENDPRCHG RELINT
052611,000268: 01,3007 52165 DXCH LOC # BASIC JOBS HAVE POSITIVE ADDRESSES, SO
052612,000269: 01,3010 00006 EXTEND # DISPATCH WITH A DTCB.
052613,000270: 01,3011 63013 BZMF +2 # IF INTERPRETIVE, SET UP EBANK, ETC.
052614,000271: 01,3012 52006 DTCB
052615,000272: # Page 1215
052616,000273: 01,3013 40000 COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
052617,000274: 01,3014 65017 AD ONE
052618,000275: 01,3015 54164 TS LOC # RESUME
052619,000276: 01,3016 16017 TCF INTRSM
052620,000277:
052621,000278: # COMPLETE JOBSLEEP PREPARATIONS.
052622,000279:
052623,000280: 01,3017 00004 JOBSLP1 INHINT
052624,000281: 01,3020 40167 CS PRIORITY # NNZ PRIORITY SHOWS JOB ASLEEP.
052625,000282: 01,3021 54167 TS PRIORITY
052626,000283: 01,3022 36043 CAF LOW7
052627,000284: 01,3023 70006 MASK BBANK
052628,000285: 01,3024 00006 EXTEND
052629,000286: 01,3025 04007 ROR SUPERBNK # SAVE OLD SUPERBANK VALUE.
052630,000287: 01,3026 54165 TS BANKSET
052631,000288: 01,3027 45021 CS ZERO
052632,000289: 01,3030 54131 JOBSLP2 TS BUF +1 # HOLDS -- HIGHEST PRIORITY.
052633,000290: 01,3031 13141 TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
052634,000291:
052635,000292: 01,3032 00004 NUCHANG2 INHINT # QUICK... DON'T LET NEWJOB CHANGE TO +0.
052636,000293: 01,3033 10067 CCS NEWJOB
052637,000294: 01,3034 13037 TCF +3 # NEWJOB STILL PNZ
052638,000295: 01,3035 00003 RELINT # NEW JOB HAS CHANGED TO +0. WAKE UP JOB
052639,000296: 01,3036 13233 TCF ADVAN +2 # VIA NUDIRECT. (VERY RARE CASE.)
052640,000297:
052641,000298: 01,3037 35016 CAF TWO
052642,000299: 01,3040 00006 EXTEND
052643,000300: 01,3041 05011 WOR DSALMOUT # TURN ON ACTIVITY LIGHT
052644,000301: 01,3042 52165 DXCH LOC # AND SAVE ADDRESS INFO FOR BENEFIT OF
052645,000302: 01,3043 12733 TCF CHANJOB +4 # POSSIBLE SLEEPING JOB.
052646,000303:
052647,000304: # Page 1216
052648,000305: # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
052649,000306: # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
052650,000307: # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
052651,000308:
052652,000309: 01,3044 54061 JOBWAKE2 TS EXECTEM1
052653,000310: 01,3045 35021 CAF ZERO # BEGIN CORE SET SCAN
052654,000311: 01,3046 54064 TS LOCCTR
052655,000312: 01,3047 32657 CAF NO.CORES
052656,000313: 01,3050 54062 JOBWAKE4 TS EXECTEM2
052657,000314: 01,3051 50064 INDEX LOCCTR
052658,000315: 01,3052 10167 CCS PRIORITY
052659,000316: 01,3053 13056 TCF JOBWAKE3 # ACTIVE JOB -- CHECK NEXT CORE SET.
052660,000317: 01,3054 00014 COREINC DEC 12 B-14 # 12 REGISTERS PER CORE SET.
052661,000318: 01,3055 13065 TCF WAKETEST # SLEEPING JOB -- SEE IF CADR MATCHES.
052662,000319:
052663,000320: 01,3056 33054 JOBWAKE3 CAF COREINC
052664,000321: 01,3057 26064 ADS LOCCTR
052665,000322: 01,3060 10062 CCS EXECTEM2
052666,000323: 01,3061 13050 TCF JOBWAKE4
052667,000324: 01,3062 45017 CS ONE # EXIT IF SLEEPIG JOB NOT FOUND.
052668,000325: 01,3063 54064 TS LOCCTR
052669,000326: 01,3064 15222 TCF ENDFIND
052670,000327:
052671,000328: 01,3065 40065 WAKETEST CS NEWLOC
052672,000329: 01,3066 50064 INDEX LOCCTR
052673,000330: 01,3067 60164 AD LOC
052674,000331: 01,3070 00006 EXTEND
052675,000332: 01,3071 13073 BZF +2 # IF MATCH.
052676,000333: 01,3072 13056 TCF JOBWAKE3 # EXAMINE NEXT CORE SET IF NO MATCH.
052677,000334:
052678,000335: 01,3073 50064 INDEX LOCCTR # RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
052679,000336: 01,3074 40167 CS PRIORITY
052680,000337: 01,3075 54063 TS NEWPRIO
052681,000338: 01,3076 50064 INDEX LOCCTR
052682,000339: 01,3077 54167 TS PRIORITY
052683,000340:
052684,000341: 01,3100 44364 CS FBANKMSK # MASK UP THE 2CADR OF THE WAKE ADDRESS
052685,000342: 01,3101 70065 MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
052686,000343: 01,3102 65005 AD 2K # HALF OF BBANK SAVED IN BANKSET.
052687,000344: 01,3103 56065 XCH NEWLOC
052688,000345: 01,3104 74364 MASK FBANKMSK
052689,000346: 01,3105 50064 INDEX LOCCTR
052690,000347: 01,3106 60165 AD BANKSET
052691,000348: 01,3107 54066 TS NEWLOC +1
052692,000349:
052693,000350: 01,3110 10064 CCS LOCCTR # SPECIAL TREATMENT IF THIS JOB WAS
052694,000351: 01,3111 12704 TCF SETLOC # ALREADY IN THE RUN (0) POSITION.
052695,000352: 01,3112 12674 TCF SPECTEST
052696,000353:
052697,000354: # Page 1217
052698,000355: # PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
052699,000356:
052700,000357: 01,3113 54164 PRIOCH2 TS LOC
052701,000358: 01,3114 35021 CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
052702,000359: 01,3115 54130 TS BUF # JOB IS STILL HIGHEST PRIORITY.
052703,000360: 01,3116 35046 CAF LOW9
052704,000361: 01,3117 70167 MASK PRIORITY
052705,000362: 01,3120 60063 AD NEWPRIO
052706,000363: 01,3121 54167 TS PRIORITY
052707,000364: 01,3122 40000 COM
052708,000365: 01,3123 13030 TCF JOBSLP2 # AND TO EJSCAN.
052709,000366:
052710,000367: # Page 1218
052711,000368: # RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
052712,000369:
052713,000370: 01,3124 00004 ENDJOB1 INHINT
052714,000371: 01,3125 45021 CS ZERO
052715,000372: 01,3126 54131 TS BUF +1
052716,000373: 01,3127 56167 XCH PRIORITY
052717,000374: 01,3130 75046 MASK LOW9
052718,000375: 01,3131 54001 TS L
052719,000376:
052720,000377: 01,3132 45226 CS FAKEPRET
052721,000378: 01,3133 60001 AD L
052722,000379:
052723,000380: 01,3134 00006 EXTEND
052724,000381: 01,3135 63141 BZMF EJSCAN # NOVAC ENDOFJOB
052725,000382:
052726,000383: 01,3136 10001 CCS L
052727,000384: 01,3137 50000 INDEX A
052728,000385: 01,3140 54000 TS 0
052729,000386:
052730,000387: 01,3141 10203 EJSCAN CCS PRIORITY +12D
052731,000388: 01,3142 03206 TC EJ1
052732,000389: 01,3143 05747 TC CCSHOLE
052733,000390: 01,3144 13145 TCF +1
052734,000391:
052735,000392: 01,3145 10217 CCS PRIORITY +24D # EXAMINE EACH PRIORITY REGISTER TO FIND
052736,000393: 01,3146 03206 TC EJ1 # THE JOB OF HIGHEST ACTIVE PRIORITY.
052737,000394: 01,3147 05747 TC CCSHOLE
052738,000395: 01,3150 13151 TCF +1
052739,000396:
052740,000397: 01,3151 10233 CCS PRIORITY +36D
052741,000398: 01,3152 03206 TC EJ1
052742,000399: 01,3153 67610 -CCSPR -CCS PRIORITY
052743,000400: 01,3154 13155 TCF +1
052744,000401:
052745,000402: 01,3155 10247 CCS PRIORITY +48D
052746,000403: 01,3156 03206 TC EJ1
052747,000404: 01,3157 05747 TC CCSHOLE
052748,000405: 01,3160 13161 TCF +1
052749,000406:
052750,000407: 01,3161 10263 CCS PRIORITY +60D
052751,000408: 01,3162 03206 TC EJ1
052752,000409: 01,3163 05747 TC CCSHOLE
052753,000410: 01,3164 13165 TCF +1
052754,000411:
052755,000412: 01,3165 10277 CCS PRIORITY +72D
052756,000413: 01,3166 03206 TC EJ1
052757,000414: 01,3167 05747 TC CCSHOLE
052758,000415: 01,3170 13171 TCF +1
052759,000416:
052760,000417: # Page 1219
052761,000418: # EVALUATE THE RESULTS OF THE SCAN.
052762,000419:
052763,000420: 01,3171 10131 CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
052764,000421: 01,3172 05747 TC CCSHOLE
052765,000422: 01,3173 05747 TC CCSHOLE
052766,000423:
052767,000424: 01,3174 13176 TCF +2
052768,000425: 01,3175 13223 TCF DUMMYJOB
052769,000426: 01,3176 10130 CCS BUF # BUF IS ZERO IS THIS IS A PRIOCHNG AND
052770,000427: 01,3177 13201 TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
052771,000428: 01,3200 13005 TCF ENDPRCHG -1
052772,000429:
052773,000430: 01,3201 50000 INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
052774,000431: 01,3202 27777 CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
052775,000432: 01,3203 63153 AD -CCSPR
052776,000433: 01,3204 54067 TS NEWJOB
052777,000434: 01,3205 12725 TCF CHANJOB -2
052778,000435:
052779,000436: 01,3206 54132 EJ1 TS BUF +2
052780,000437: 01,3207 60131 AD BUF +1 # - OLD HIGH PRIORITY.
052781,000438: 01,3210 10000 CCS A
052782,000439: 01,3211 40132 CS BUF +2
052783,000440: 01,3212 13216 TCF EJ2 # NEW HIGH PRIORITY.
052784,000441: 01,3213 13214 NOOP
052785,000442: 01,3214 50002 INDEX Q
052786,000443: 01,3215 00002 TC 2 # PROCEED WITH SEARCH.
052787,000444:
052788,000445: 01,3216 54131 EJ2 TS BUF +1
052789,000446: 01,3217 00006 EXTEND
052790,000447: 01,3220 22130 QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
052791,000448: 01,3221 50130 INDEX BUF
052792,000449: 01,3222 00002 TC 2
052793,000450:
052794,000451: # Page 1220
052795,000452: # IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTIEN IS NOT A JOB IN ITSELF,
052796,000453: # BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
052797,000454:
052798,000455: 01,3223 1361 EBANK= SELFRET # SELF-CHECK STORAGE IN EBANK.
052799,000456:
052800,000457: 01,3223 45021 DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
052801,000458: 01,3224 54067 TS NEWJOB
052802,000459: 01,3225 00003 RELINT
052803,000460: 01,3226 45016 CS TWO # TURN OFF THE ACTIVITY LIGHT.
052804,000461: 01,3227 00006 EXTEND
052805,000462: 01,3230 03011 WAND DSALMOUT
052806,000463: 01,3231 10067 ADVAN CCS NEWJOB # IS THE NEWJOB ACTIVE?
052807,000464: 01,3232 13032 TCF NUCHANG2 # YES... ONE REQUIRING A CHANGE JOB.
052808,000465: 01,3233 35016 CAF TWO # NEW JOB ALREADY IN POSITION FOR
052809,000466: 01,3234 13242 TCF NUDIRECT # EXECUTION
052810,000467:
052811,000468: 01,3235 31361 CA SELFRET
052812,000469: 01,3236 54001 TS L # PUT RETURN ADDRESS IN L.
052813,000470: 01,3237 33241 CAF SELFBANK
052814,000471: 01,3240 15230 TCF SUPDXCHZ +1 # AND DISPATCH JOB.
052815,000472:
052816,000473: 01,3241 1361 EBANK= SELFRET
052817,000474: 01,3241 66102 SELFBANK BBCON SELFCHK
052818,000475:
052819,000476: 01,3242 00006 NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
052820,000477: 01,3243 05011 WOR DSALMOUT
052821,000478: 01,3244 52165 DXCH LOC # JOBS STARTED IN THIS FASHION MUST BE
052822,000479: 01,3245 15227 TCF SUPDXCHZ
052823,000480:
052824,000481: 5227 BLOCK 2 # IN FIXED-FIXED SO OTHERS MAY USE.
052825,000482:
052826,000483: 5227 COUNT 02/EXEC
052827,000484:
052828,000485: # SUPDXCHZ -- ROUTINE TO TRANSFER TO SUPERBANK.
052829,000486: # CALLING SEQUENCE:
052830,000487: # TCF SUPDXCHZ # WITH 2CADR OF DESIRED LOCATION IN A + l.
052831,000488:
052832,000489: 5227 56001 SUPDXCHZ XCH L # BASIC.
052833,000490: 5230 00006 +1 EXTEND
052834,000491: 5231 01007 WRITE SUPERBNK
052835,000492: 5232 54006 TS BBANK
052836,000493: 5233 00001 TC L
052837,000494:
052838,000495: 5234 77677 NEG100 OCT 77677
052839,000496:
052840,000497:
052841,000498:
End of include-file EXECUTIVE.agc. Parent file is MAIN.agc