Source Code
![]() |
These source code files have been transcribed or otherwise adapted from
digitized images of a hardcopy from the private collection of
Don Eyles. The digitization was performed by archive.org, and
transcription was performed by a team of volunteers.
Note that the page images
presented online are of reduced quality, and that the original
high-quality images are available at archive.org.
Report any conversion errors or legibility problems in page images to info@sandroid.org.
Notations on the program listing read, in part:473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP NOV 10, 1966Note that the date is the date of the printout, not the date of the program revision. |
004735,000002: ## Copyright: Public domain.
004736,000003: ## Filename: EXECUTIVE.agc
004737,000004: ## Purpose: Part of the source code for Aurora (revision 12).
004738,000005: ## Assembler: yaYUL
004739,000006: ## Contact: Ron Burkey <info@sandroid.org>.
004740,000007: ## Website: https://www.ibiblio.org/apollo.
004741,000008: ## Pages: 126-138
004742,000009: ## Mod history: 2016-09-20 JL Created.
004743,000010: ## 2016-12-08 RSB Proofed comments with octopus/ProoferComments
004744,000011: ## and fixed the errors found.
004745,000012:
004746,000013: ## This source code has been transcribed or otherwise adapted from
004747,000014: ## digitized images of a hardcopy from the private collection of
004748,000015: ## Don Eyles. The digitization was performed by archive.org.
004749,000016:
004750,000017: ## Notations on the hardcopy document read, in part:
004751,000018:
004752,000019: ## 473423A YUL SYSTEM FOR BLK2: REVISION 12 of PROGRAM AURORA BY DAP GROUP
004753,000020: ## NOV 10, 1966
004754,000021:
004755,000022: ## [Note that this is the date the hardcopy was made, not the
004756,000023: ## date of the program revision or the assembly.]
004757,000024:
004758,000025: ## The scan images (with suitable reduction in storage size and consequent
004759,000026: ## reduction in image quality) are available online at
004760,000027: ## https://www.ibiblio.org/apollo.
004761,000028: ## The original high-quality digital images are available at archive.org:
004762,000029: ## https://archive.org/details/aurora00dapg
004763,000030:
![]() |
Page 126 |
004765,000032:
004766,000033: 4363 SETLOC ENDSUBSF
004767,000034:
004768,000035: # TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
004769,000036:
004770,000037: 4363 54070 NOVAC TS NEWPRIO # SAVE PRIORITY OF NEW JOB.
004771,000038: 4364 00006 EXTEND
004772,000039: 4365 50002 INDEX Q # Q WILL BE UNDISTURBED THROUGHOUT.
004773,000040: 4366 30001 DCA 0 # 2CADR OF JOB ENTERED.
004774,000041: 4367 52073 DXCH NEWLOC
004775,000042: 4370 34447 CAF EXECBANK
004776,000043: 4371 56004 XCH FBANK
004777,000044: 4372 54065 TS EXECTEM1
004778,000045: 4373 12242 TCF NOVAC2 # ENTER EXECUTIVE BANK.
004779,000046:
004780,000047: # TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
004781,000048:
004782,000049: 4374 54070 FINDVAC TS NEWPRIO
004783,000050: 4375 00006 EXTEND
004784,000051: 4376 50002 INDEX Q
004785,000052: 4377 30001 DCA 0
004786,000053: 4400 52073 DXCH NEWLOC
004787,000054: 4401 34447 CAF EXECBANK
004788,000055: 4402 56004 XCH FBANK
004789,000056: 4403 12220 TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
004790,000057:
004791,000058: # TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
004792,000059:
004793,000060: 4404 34447 CHANG1 CAF EXECBANK
004794,000061: 4405 54001 TS L
004795,000062: 4406 30002 CA Q
004796,000063: 4407 22006 +3 LXCH BBANK
004797,000064: 4410 00004 INHINT
004798,000065: 4411 12320 TCF CHANJOB
004799,000066:
004800,000067: # TO SUSPEND AN INTERPRETIVE JOB:
004801,000068:
004802,000069: 4412 34447 CHANG2 CAF EXECBANK
004803,000070: 4413 54001 TS L
004804,000071: 4414 40150 CS LOC # NEGATIVE LOC SHOWS JOB INTERPRETIVE.
004805,000072: 4415 14407 TCF CHANG1 +3
004806,000073:
![]() |
Page 127 |
004808,000075:
004809,000076: # TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
004810,000077:
004811,000078: 4416 54150 JOBSLEEP TS LOC
004812,000079: 4417 34447 CAF EXECBANK
004813,000080: 4420 54004 TS FBANK
004814,000081: 4421 12403 TCF JOBSLP1
004815,000082:
004816,000083: # TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
004817,000084:
004818,000085: 4422 54072 JOBWAKE TS NEWLOC
004819,000086: 4423 47656 CS TWO # EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
004820,000087: 4424 26002 ADS Q
004821,000088: 4425 34447 CAF EXECBANK
004822,000089: 4426 56004 XCH FBANK
004823,000090: 4427 12414 TCF JOBWAKE2
004824,000091:
004825,000092: # TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
004826,000093:
004827,000094: 4430 00004 PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
004828,000095: 4431 54070 TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
004829,000096: 4432 34447 CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
004830,000097: 4433 56006 XCH BBANK # STYLE CHANGE-JOB.
004831,000098: 4434 54151 TS BANKSET
004832,000099: 4435 30002 CA Q
004833,000100: 4436 12463 TCF PRIOCH2
004834,000101:
004835,000102: # TO FREE THE DISPLAY BEFORE ENDOFJOB:
004836,000103:
004837,000104: 4437 05401 EJFREE TC FREEDSP
004838,000105:
004839,000106: # TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
004840,000107:
004841,000108: 4440 34447 ENDOFJOB CAF EXECBANK
004842,000109: 4441 54004 TS FBANK
004843,000110: 4442 12474 TCF ENDJOB1
004844,000111:
004845,000112: 4443 30065 ENDFIND CA EXECTEM1 # RETURN TO CALLER AFTER JOB ENTRY
004846,000113: 4444 54004 TS FBANK # COMPLETE.
004847,000114: 4445 50002 INDEX Q
004848,000115: 4446 00002 TC 2
004849,000116:
004850,000117: 4447 02220 EXECBANK CADR FINDVAC2
004851,000118:
![]() |
Page 128 |
004853,000120:
004854,000121: # LOCATE AN AVAILABLE VAC AREA.
004855,000122:
004856,000123: 01,2220 SETLOC ENDINTS1
004857,000124:
004858,000125: 01,2220 54065 FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
004859,000126: 01,2221 10431 CCS VAC1USE
004860,000127: 01,2222 12235 TCF VACFOUND
004861,000128: 01,2223 10505 CCS VAC2USE
004862,000129: 01,2224 12235 TCF VACFOUND
004863,000130: 01,2225 10561 CCS VAC3USE
004864,000131: 01,2226 12235 TCF VACFOUND
004865,000132: 01,2227 10635 CCS VAC4USE
004866,000133: 01,2230 12235 TCF VACFOUND
004867,000134: 01,2231 10711 CCS VAC5USE
004868,000135: 01,2232 12235 TCF VACFOUND
004869,000136: 01,2233 05446 TC ABORT
004870,000137: 01,2234 01201 OCT 1201 # NO VAC AREAS.
004871,000138:
004872,000139: 01,2235 67656 VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
004873,000140: 01,2236 22007 ZL # IN ITS VAC USE REGISTER AND STORE THE
004874,000141: 01,2237 50000 INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
004875,000142: 01,2240 21777 LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
004876,000143: 01,2241 26070 ADS NEWPRIO
004877,000144:
004878,000145: 01,2242 37665 NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
004879,000146: 01,2243 54071 TS LOCCTR
004880,000147: 01,2244 32251 CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
004881,000148: 01,2245 54066 NOVAC3 TS EXECTEM2
004882,000149: 01,2246 50071 INDEX LOCCTR
004883,000150: 01,2247 10153 CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
004884,000151: 01,2250 12311 TCF NEXTCORE # THE CORRESPONDING CORE SET IS AVAILABLE.
004885,000152: 01,2251 00006 NO.CORES DEC 6 B-14
004886,000153: 01,2252 12311 TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
004887,000154: # BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
004888,000155:
![]() |
Page 129 |
004890,000157:
004891,000158: 01,2253 30070 CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
004892,000159: 01,2254 50071 INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
004893,000160: 01,2255 54153 TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
004894,000161: 01,2256 77672 MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR
004895,000162: 01,2257 50071 INDEX LOCCTR
004896,000163: 01,2260 54152 TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
004897,000164:
004898,000165: 01,2261 10071 CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
004899,000166: 01,2262 12276 TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY.
004900,000167: 01,2263 54105 TS OVFIND
004901,000168: 01,2264 30152 CA PUSHLOC
004902,000169: 01,2265 54104 TS FIXLOC
004903,000170:
004904,000171: 01,2266 10067 SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
004905,000172: 01,2267 12276 TCF SETLOC # MUST BE AWAKENED BUT UNCHANGED JOB.
004906,000173: 01,2270 05464 TC CCSHOLE
004907,000174: 01,2271 05464 TC CCSHOLE
004908,000175: 01,2272 54067 TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
004909,000176: 01,2273 52073 DXCH NEWLOC
004910,000177: 01,2274 52151 DXCH LOC
004911,000178: 01,2275 14443 TCF ENDFIND
004912,000179:
004913,000180: 01,2276 52073 SETLOC DXCH NEWLOC # SET UP THE LOCATION REGISTERS FOR THIS
004914,000181: 01,2277 50071 INDEX LOCCTR
004915,000182: 01,2300 52151 DXCH LOC
004916,000183: 01,2301 50067 INDEX NEWJOB # THIS INDEX INSTRUCTION INSURES THAT THE
004917,000184: 01,2302 40153 CS PRIORITY # HIGHEST ACTIVE PRIORITY WILL BE COMPARED
004918,000185: 01,2303 60070 AD NEWPRIO # WITH THE NEW PRIORITY TO SEE IF NEWJOB
004919,000186: 01,2304 00006 EXTEND # SHOULD BE SET TO SIGNAL A SWITCH.
004920,000187: 01,2305 64443 BZMF ENDFIND
004921,000188: 01,2306 30071 CA LOCCTR # LOCCTR IS LEFT SET AT THIS CORE SET IF
004922,000189: 01,2307 54067 TS NEWJOB # THE CALLER WANTS TO LOAD ANY MPAC
004923,000190: 01,2310 14443 TCF ENDFIND # REGISTERS, ETC.
004924,000191:
004925,000192: 01,2311 32424 NEXTCORE CAF COREINC
004926,000193: 01,2312 26071 ADS LOCCTR
004927,000194: 01,2313 10066 CCS EXECTEM2
004928,000195: 01,2314 12245 TCF NOVAC3
004929,000196: 01,2315 05446 TC ABORT # NO CORE SETS.
004930,000197: 01,2316 01202 OCT 1202
004931,000198:
![]() |
Page 130 |
004933,000200:
004934,000201: # THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
004935,000202:
004936,000203: 01,2317 52151 -1 DXCH LOC
004937,000204: 01,2320 50067 CHANJOB INDEX NEWJOB # LOC ARRIVES IN A AND BBANK IN L.
004938,000205: 01,2321 52151 DXCH LOC
004939,000206: 01,2322 52151 DXCH LOC
004940,000207:
004941,000208: 01,2323 52141 DXCH MPAC # SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
004942,000209: 01,2324 50067 INDEX NEWJOB
004943,000210: 01,2325 52141 DXCH MPAC
004944,000211: 01,2326 52141 DXCH MPAC
004945,000212: 01,2327 52143 DXCH MPAC +2
004946,000213: 01,2330 50067 INDEX NEWJOB
004947,000214: 01,2331 52143 DXCH MPAC +2
004948,000215: 01,2332 52143 DXCH MPAC +2
004949,000216: 01,2333 52145 DXCH MPAC +4
004950,000217: 01,2334 50067 INDEX NEWJOB
004951,000218: 01,2335 52145 DXCH MPAC +4
004952,000219: 01,2336 52145 DXCH MPAC +4
004953,000220: 01,2337 52147 DXCH MPAC +6
004954,000221: 01,2340 50067 INDEX NEWJOB
004955,000222: 01,2341 52147 DXCH MPAC +6
004956,000223: 01,2342 52147 DXCH MPAC +6
004957,000224:
004958,000225: 01,2343 37665 CAF ZERO
004959,000226: 01,2344 56105 XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
004960,000227: 01,2345 00006 EXTEND
004961,000228: 01,2346 12351 BZF +3
004962,000229: 01,2347 40152 CS PUSHLOC
004963,000230: 01,2350 54152 TS PUSHLOC
004964,000231:
004965,000232: 01,2351 52153 DXCH PUSHLOC
004966,000233: 01,2352 50067 INDEX NEWJOB
004967,000234: 01,2353 52153 DXCH PUSHLOC
004968,000235: 01,2354 52153 DXCH PUSHLOC # SWAPS PUSHLOC AND PRIORITY.
004969,000236: 01,2355 37672 CAF LOW9 # SET FIXLOC TO BASE OF VAC AREA.
004970,000237: 01,2356 70153 MASK PRIORITY
004971,000238: 01,2357 54104 TS FIXLOC
004972,000239:
004973,000240: 01,2360 10152 CCS PUSHLOC # SET OVERFLOW INDICATOR ACCORDING TO
004974,000241: 01,2361 37665 CAF ZERO
004975,000242: 01,2362 12367 TCF ENDPRCHG -1
004976,000243: 01,2363 40152 CS PUSHLOC
004977,000244: 01,2364 54152 TS PUSHLOC
004978,000245: 01,2365 37657 CAF ONE
004979,000246: 01,2366 56105 XCH OVFIND
004980,000247: 01,2367 54067 TS NEWJOB
004981,000248:
004982,000249: 01,2370 00003 ENDPRCHG RELINT
004983,000250: 01,2371 52151 DXCH LOC # BASIC JOBS HAVE POSITIVE ADDRESSES, SO
004984,000251:
![]() |
Page 131 |
004986,000253:
004987,000254: 01,2372 00006 EXTEND # DISPATCH WITH A DTCB.
004988,000255: 01,2373 62375 BZMF +2 # IF INTERPRETIVE, SET UP EBANK, ETC.
004989,000256: 01,2374 52006 DTCB
004990,000257:
![]() |
Page 132 |
004992,000259:
004993,000260: 01,2375 40000 COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
004994,000261: 01,2376 67657 AD ONE
004995,000262: 01,2377 54150 TS LOC # RESUME.
004996,000263: 01,2400 36232 CAF FBANKMSK
004997,000264: 01,2401 70001 MASK L
004998,000265: 01,2402 16011 TCF INTRSM
004999,000266:
005000,000267: # COMPLETE JOBSLEEP PREPARATIONS.
005001,000268:
005002,000269: 01,2403 00004 JOBSLP1 INHINT
005003,000270: 01,2404 40153 CS PRIORITY # NNZ PRIORITY SHOWS JOB ASLEEP.
005004,000271: 01,2405 54153 TS PRIORITY
005005,000272: 01,2406 36027 CAF LOW7
005006,000273: 01,2407 70006 MASK BBANK
005007,000274: 01,2410 54151 TS BANKSET
005008,000275: 01,2411 47665 CS ZERO
005009,000276: 01,2412 54115 JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
005010,000277: 01,2413 12504 TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
005011,000278:
![]() |
Page 133 |
005013,000280:
005014,000281: # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
005015,000282: # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
005016,000283: # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
005017,000284:
005018,000285: 01,2414 54065 JOBWAKE2 TS EXECTEM1
005019,000286: 01,2415 37665 CAF ZERO # BEGIN CORE SET SCAN.
005020,000287: 01,2416 54071 TS LOCCTR
005021,000288: 01,2417 32251 CAF NO.CORES
005022,000289: 01,2420 54066 JOBWAKE4 TS EXECTEM2
005023,000290: 01,2421 50071 INDEX LOCCTR
005024,000291: 01,2422 10153 CCS PRIORITY
005025,000292: 01,2423 12426 TCF JOBWAKE3 # ACTIVE JOB - CHECK NEXT CORE SET.
005026,000293: 01,2424 00014 COREINC DEC 12 B-14 # 12 REGISTERS PER CORE SET.
005027,000294: 01,2425 12435 TCF WAKETEST # SLEEPING JOB - SEE IF CADR MATCHES.
005028,000295:
005029,000296: 01,2426 32424 JOBWAKE3 CAF COREINC
005030,000297: 01,2427 26071 ADS LOCCTR
005031,000298: 01,2430 10066 CCS EXECTEM2
005032,000299: 01,2431 12420 TCF JOBWAKE4
005033,000300: 01,2432 47657 CS ONE # EXIT IF SLEEPING JOB NOT FOUND.
005034,000301: 01,2433 54071 TS LOCCTR
005035,000302: 01,2434 14443 TCF ENDFIND
005036,000303:
005037,000304: 01,2435 40072 WAKETEST CS NEWLOC
005038,000305: 01,2436 50071 INDEX LOCCTR
005039,000306: 01,2437 60150 AD LOC
005040,000307: 01,2440 00006 EXTEND
005041,000308: 01,2441 12443 BZF +2 # IF MATCH.
005042,000309: 01,2442 12426 TCF JOBWAKE3 # EXAMINE NEXT CORE SET IF NO MATCH.
005043,000310:
005044,000311: 01,2443 50071 INDEX LOCCTR # RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
005045,000312: 01,2444 40153 CS PRIORITY
005046,000313: 01,2445 54070 TS NEWPRIO
005047,000314: 01,2446 50071 INDEX LOCCTR
005048,000315: 01,2447 54153 TS PRIORITY
005049,000316:
005050,000317: 01,2450 46232 CS FBANKMSK # MAKE UP THE 2CADR OF THE WAKE ADDRESS
005051,000318: 01,2451 70072 MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
005052,000319: 01,2452 67645 AD 2K # HALF OF BBANK SAVED IN BANKSET.
005053,000320: 01,2453 56072 XCH NEWLOC
005054,000321: 01,2454 76232 MASK FBANKMSK
005055,000322: 01,2455 50071 INDEX LOCCTR
005056,000323: 01,2456 60151 AD BANKSET
005057,000324: 01,2457 54073 TS NEWLOC +1
005058,000325:
005059,000326: 01,2460 10071 CCS LOCCTR # SPECIAL TREATMENT IF THIS JOB WAS
005060,000327: 01,2461 12276 TCF SETLOC # ALREADY IN THE RUN (0) POSITION.
005061,000328: 01,2462 12266 TCF SPECTEST
005062,000329:
![]() |
Page 134 |
005064,000331:
005065,000332: # PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
005066,000333:
005067,000334: 01,2463 54150 PRIOCH2 TS LOC
005068,000335: 01,2464 37665 CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
005069,000336: 01,2465 54114 TS BUF # JOB IS STILL HIGHEST PRIORITY.
005070,000337: 01,2466 37672 CAF LOW9
005071,000338: 01,2467 70153 MASK PRIORITY
005072,000339: 01,2470 60070 AD NEWPRIO
005073,000340: 01,2471 54153 TS PRIORITY
005074,000341: 01,2472 40000 COM
005075,000342: 01,2473 12412 TCF JOBSLP2 # AND TO EJSCAN.
005076,000343:
![]() |
Page 135 |
005078,000345:
005079,000346: # RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
005080,000347:
005081,000348: 01,2474 00004 ENDJOB1 INHINT
005082,000349: 01,2475 47665 CS ZERO
005083,000350: 01,2476 54115 TS BUF +1
005084,000351: 01,2477 56153 XCH PRIORITY
005085,000352: 01,2500 77672 MASK LOW9
005086,000353: 01,2501 10000 CCS A
005087,000354: 01,2502 50000 INDEX A
005088,000355: 01,2503 54000 TS 0
005089,000356:
005090,000357: 01,2504 10167 EJSCAN CCS PRIORITY +12D
005091,000358: 01,2505 02551 TC EJ1
005092,000359: 01,2506 05464 TC CCSHOLE
005093,000360: 01,2507 12510 TCF +1
005094,000361:
005095,000362: 01,2510 10203 CCS PRIORITY +24D # EXAMINE EACH PRIORITY REGISTER TO FIND
005096,000363: 01,2511 02551 TC EJ1 # THE JOB OF HIGHEST ACTIVE PRIORITY.
005097,000364: 01,2512 05464 TC CCSHOLE
005098,000365: 01,2513 12514 TCF +1
005099,000366:
005100,000367: 01,2514 10217 CCS PRIORITY +36D
005101,000368: 01,2515 02551 TC EJ1
005102,000369: 01,2516 67624 -CCSPR -CCS PRIORITY
005103,000370: 01,2517 12520 TCF +1
005104,000371:
005105,000372: 01,2520 10233 CCS PRIORITY +48D
005106,000373: 01,2521 02551 TC EJ1
005107,000374: 01,2522 05464 TC CCSHOLE
005108,000375: 01,2523 12524 TCF +1
005109,000376:
005110,000377: 01,2524 10247 CCS PRIORITY +60D
005111,000378: 01,2525 02551 TC EJ1
005112,000379: 01,2526 05464 TC CCSHOLE
005113,000380: 01,2527 12530 TCF +1
005114,000381:
005115,000382: 01,2530 10263 CCS PRIORITY +72D
005116,000383: 01,2531 02551 TC EJ1
005117,000384: 01,2532 05464 TC CCSHOLE
005118,000385: 01,2533 12534 TCF +1
005119,000386:
![]() |
Page 136 |
005121,000388:
005122,000389: # EVALUATE THE RESULTS OF THE SCAN.
005123,000390:
005124,000391: 01,2534 10115 CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
005125,000392: 01,2535 05464 TC CCSHOLE
005126,000393: 01,2536 05464 TC CCSHOLE
005127,000394:
005128,000395: 01,2537 12541 TCF +2
005129,000396: 01,2540 14450 TCF DUMMYJOB
005130,000397: 01,2541 10114 CCS BUF # BUF IS ZERO IF THIS IS A PRIOCHNG AND
005131,000398: 01,2542 12544 TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
005132,000399: 01,2543 12370 TCF ENDPRCHG
005133,000400:
005134,000401: 01,2544 50000 INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
005135,000402: 01,2545 27777 CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
005136,000403: 01,2546 62516 AD -CCSPR
005137,000404: 01,2547 54067 TS NEWJOB
005138,000405: 01,2550 12317 TCF CHANJOB -1
005139,000406:
005140,000407: 01,2551 54116 EJ1 TS BUF +2
005141,000408: 01,2552 60115 AD BUF +1 # - OLD HIGH PRIORITY.
005142,000409: 01,2553 10000 CCS A
005143,000410: 01,2554 40116 CS BUF +2
005144,000411: 01,2555 12561 TCF EJ2 # NEW HIGH PRIORITY.
005145,000412: 01,2556 12557 NOOP
005146,000413: 01,2557 50002 INDEX Q
005147,000414: 01,2560 00002 TC 2 # PROCEED WITH SEARCH.
005148,000415:
005149,000416: 01,2561 54115 EJ2 TS BUF +1
005150,000417: 01,2562 00006 EXTEND
005151,000418: 01,2563 22114 QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
005152,000419: 01,2564 50114 INDEX BUF
005153,000420: 01,2565 00002 TC 2
005154,000421:
005155,000422: 01,2566 ENDEXECS EQUALS
005156,000423:
![]() |
Page 137 |
005158,000425:
005159,000426: # IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
005160,000427: # BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
005161,000428:
005162,000429: 4450 SETLOC EXECBANK +1
005163,000430:
005164,000431: 4450 1360 EBANK= SELFRET # SELF-CHECK STORAGE IN EBANK.
005165,000432:
005166,000433: 4450 47665 DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
005167,000434: 4451 54067 TS NEWJOB
005168,000435: 4452 00003 RELINT
005169,000436: 4453 47656 CS TWO # TURN OFF THE ACTIVITY LIGHT.
005170,000437: 4454 00006 EXTEND
005171,000438: 4455 03011 WAND DSALMOUT
005172,000439: 4456 14461 TCF CHECKNJ +2
005173,000440:
005174,000441: 4457 00006 CHECKNJ EXTEND # SPECIAL NEWJOB TEST FOR SELF-CHECK,
005175,000442: 4460 23360 QXCH SELFRET # WHICH RUNS UNDER EXECUTIVE CONTROL,
005176,000443: 4461 10067 +2 CCS NEWJOB # BUT DOES NOT HAVE A JOBS CORE REGISTERS.
005177,000444: 4462 14474 TCF NUCHANGE # NEW JOB REQUIRING A CHANGE JOB.
005178,000445: 4463 37656 CAF TWO # NEW JOB ALREADY IN POSITION FOR
005179,000446: 4464 14470 TCF NUDIRECT # EXECUTION.
005180,000447:
005181,000448: 4465 34503 ADVAN CAF SELFBANK # (SIMULATOR ADVAN IF NEWJOB = 77777).
005182,000449: 4466 54006 TS BBANK
005183,000450: 4467 01360 TC SELFRET
005184,000451:
005185,000452: 4470 00006 NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
005186,000453: 4471 05011 WOR DSALMOUT
005187,000454: 4472 52151 DXCH LOC # JOBS STARTED IN THIS FASHION MUST BE
005188,000455: 4473 52006 DTCB # BASIC.
005189,000456:
005190,000457: 4474 37656 NUCHANGE CAF TWO
005191,000458: 4475 00006 EXTEND
005192,000459: 4476 05011 WOR DSALMOUT
005193,000460: 4477 34447 CAF EXECBANK # SWAP CORE SETS.
005194,000461: 4500 54004 TS FBANK
005195,000462: 4501 00004 INHINT # CHANGE JOBS
005196,000463: 4502 12317 TCF CHANJOB -1
005197,000464:
005198,000465: 4503 40002 SELFBANK BBCON SELFCHK
005199,000466:
![]() |
Page 138 |
005201,000468:
005202,000469: # PRIORITY CONSTANTS (NOTE IN FIXED-FIXED).
005203,000470:
005204,000471: 4504 7646 PRIO1 EQUALS BIT10
005205,000472: 4504 7645 PRIO2 EQUALS BIT11
005206,000473: 4504 03000 PRIO3 OCT 03000
005207,000474: 4505 7644 PRIO4 EQUALS BIT12
005208,000475: 4505 05000 PRIO5 OCT 05000
005209,000476: 4506 06000 PRIO6 OCT 06000
005210,000477: 4507 07000 PRIO7 OCT 07000
005211,000478: 4510 7643 PRIO10 EQUALS BIT13
005212,000479: 4510 11000 PRIO11 OCT 11000
005213,000480: 4511 12000 PRIO12 OCT 12000
005214,000481: 4512 13000 PRIO13 OCT 13000
005215,000482: 4513 14000 PRIO14 OCT 14000
005216,000483: 4514 15000 PRIO15 OCT 15000
005217,000484: 4515 16000 PRIO16 OCT 16000
005218,000485: 4516 17000 PRIO17 OCT 17000
005219,000486: 4517 7642 PRIO20 EQUALS BIT14
005220,000487: 4517 21000 PRIO21 OCT 21000
005221,000488: 4520 22000 PRIO22 OCT 22000
005222,000489: 4521 23000 PRIO23 OCT 23000
005223,000490: 4522 24000 PRIO24 OCT 24000
005224,000491: 4523 25000 PRIO25 OCT 25000
005225,000492: 4524 26000 PRIO26 OCT 26000
005226,000493: 4525 27000 PRIO27 OCT 27000
005227,000494: 4526 30000 PRIO30 OCT 30000
005228,000495: 4527 31000 PRIO31 OCT 31000
005229,000496: 4530 32000 PRIO32 OCT 32000
005230,000497: 4531 33000 PRIO33 OCT 33000
005231,000498: 4532 34000 PRIO34 OCT 34000
005232,000499: 4533 35000 PRIO35 OCT 35000
005233,000500: 4534 36000 PRIO36 OCT 36000
005234,000501: 4535 37000 PRIO37 OCT 37000
005235,000502: 4536 ENDEXECF EQUALS
End of include-file EXECUTIVE.agc. Parent file is MAIN.agc