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