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