Source Code
These source-code files were transcribed from a printout in Don Eyles's personal
collection, scanned by archive.org, and financially sponsored by Mike Higgins.
A team of volunteers performed the transcription and proof-reading. Note
that the scanned page images are available at
the Virtual AGC Project website, as well as higher-quality (but much larger)
images at
the Virtual AGC Project's section on archive.org. Report any problems by creating
"issues" at
the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: YUL SYSTEM FOR BLK2: REVISION 0 OF PROGRAM RETRED44 BY NASA 2021100 JUL 9, 1965Note that the date is the date of the printout, not the date of the program revision. |
003785,000002: ## Copyright: Public domain.
003786,000003: ## Filename: EXECUTIVE.agc
003787,000004: ## Purpose: Part of the source code for Retread 44 (revision 0). It was
003788,000005: ## the very first program for the Block II AGC, created as an
003789,000006: ## extensive rewrite of the Block I program Sunrise.
003790,000007: ## This file is intended to be a faithful transcription, except
003791,000008: ## that the code format has been changed to conform to the
003792,000009: ## requirements of the yaYUL assembler rather than the
003793,000010: ## original YUL assembler.
003794,000011: ## Reference: pp. 107-117
003795,000012: ## Assembler: yaYUL
003796,000013: ## Contact: Ron Burkey <info@sandroid.org>.
003797,000014: ## Website: www.ibiblio.org/apollo/index.html
003798,000015: ## Mod history: 2016-12-13 MAS Created from Aurora 12 version.
003799,000016: ## 2016-12-17 MAS Transcribed.
003800,000017: ## 2016-12-18 MAS Typos.
003801,000018: ## 2016-12-27 RSB Proofed comment text using octopus/ProoferComments,
003802,000019: ## and fixed errors found.
003803,000020:
Page 107 |
003805,000022:
003806,000023: 4131 SETLOC ENDIBNKF
003807,000024:
003808,000025: # TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
003809,000026:
003810,000027: 4131 54632 NOVAC TS NEWPRIO # SAVE PRIORITY OF NEW JOB.
003811,000028: 4132 00006 EXTEND
003812,000029: 4133 50002 INDEX Q # Q WILL BE UNDISTURBED THROUGHOUT.
003813,000030: 4134 30001 DCA 0 # 2CADR OF JOB ENTERED.
003814,000031: 4135 52634 DXCH NEWLOC
003815,000032: 4136 34214 CAF EXECBANK
003816,000033: 4137 56004 XCH FBANK
003817,000034: 4140 54626 TS EXECTEM1
003818,000035: 4141 12241 TCF NOVAC2 # ENTER EXECUTIVE BANK.
003819,000036:
003820,000037: # TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
003821,000038:
003822,000039: 4142 54632 FINDVAC TS NEWPRIO
003823,000040: 4143 00006 EXTEND
003824,000041: 4144 50002 INDEX Q
003825,000042: 4145 30001 DCA 0
003826,000043: 4146 52634 DXCH NEWLOC
003827,000044: 4147 34214 CAF EXECBANK
003828,000045: 4150 56004 XCH FBANK
003829,000046: 4151 12220 TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
003830,000047:
003831,000048: # TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
003832,000049:
003833,000050: 4152 34214 CHANG1 CAF EXECBANK
003834,000051: 4153 54001 TS L
003835,000052: 4154 30002 CA Q
003836,000053: 4155 22006 +3 LXCH BBANK
003837,000054: 4156 00004 INHINT
003838,000055: 4157 12316 TCF CHANJOB
003839,000056:
003840,000057: # TO SUSPEND AN INTERPRETIVE JOB:
003841,000058:
003842,000059: 4160 34214 CHANG2 CAF EXECBANK
003843,000060: 4161 54001 TS L
003844,000061: 4162 40150 CS LOC # NEGATIVE LOC SHOWS JOB INTERPRETIVE.
003845,000062: 4163 14155 TCF CHANG1 +3
003846,000063:
Page 108 |
003848,000065: # TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
003849,000066:
003850,000067: 4164 54150 JOBSLEEP TS LOC
003851,000068: 4165 34214 CAF EXECBANK
003852,000069: 4166 54004 TS FBANK
003853,000070: 4167 12375 TCF JOBSLP1
003854,000071:
003855,000072: # TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
003856,000073:
003857,000074: 4170 54633 JOBWAKE TS NEWLOC
003858,000075: 4171 47645 CS TWO # EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
003859,000076: 4172 26002 ADS Q
003860,000077: 4173 34214 CAF EXECBANK
003861,000078: 4174 56004 XCH FBANK
003862,000079: 4175 12406 TCF JOBWAKE2
003863,000080:
003864,000081: # TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
003865,000082:
003866,000083: 4176 00004 PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
003867,000084: 4177 54632 TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
003868,000085: 4200 34214 CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
003869,000086: 4201 56006 XCH BBANK # STYLE CHANGE-JOB.
003870,000087: 4202 54151 TS BANKSET
003871,000088: 4203 30002 CA Q
003872,000089: 4204 12454 TCF PRIOCH2
003873,000090:
003874,000091: # TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
003875,000092:
003876,000093: 4205 34214 ENDOFJOB CAF EXECBANK
003877,000094: 4206 54004 TS FBANK
003878,000095: 4207 12465 TCF ENDJOB1
003879,000096:
003880,000097: 4210 30626 ENDFIND CA EXECTEM1 # RETURN TO CALLER AFTER JOB ENTRY
003881,000098: 4211 54004 TS FBANK # COMPLETE.
003882,000099: 4212 50002 INDEX Q
003883,000100: 4213 00002 TC 2
003884,000101:
003885,000102: 4214 02220 EXECBANK CADR FINDVAC2
003886,000103:
Page 109 |
003888,000105: # LOCATE AN AVAILABLE VAC AREA.
003889,000106:
003890,000107: 01,2220 SETLOC ENDINTS1
003891,000108:
003892,000109: 01,2220 54626 FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
003893,000110: 01,2221 10264 CCS VAC1USE
003894,000111: 01,2222 12234 TCF VACFOUND
003895,000112: 01,2223 10340 CCS VAC2USE
003896,000113: 01,2224 12234 TCF VACFOUND
003897,000114: 01,2225 10414 CCS VAC3USE
003898,000115: 01,2226 12234 TCF VACFOUND
003899,000116: 01,2227 10470 CCS VAC4USE
003900,000117: 01,2230 12234 TCF VACFOUND
003901,000118: 01,2231 10544 CCS VAC5USE
003902,000119: 01,2232 12234 TCF VACFOUND
003903,000120: 01,2233 02233 TC -0 # ABORT IF NO VAC AREAS AVAILABLE.
003904,000121:
003905,000122: 01,2234 67645 VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
003906,000123: 01,2235 22007 ZL # IN ITS VAC USE REGISTER AND STORE THE
003907,000124: 01,2236 50000 INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
003908,000125: 01,2237 21777 LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
003909,000126: 01,2240 26632 ADS NEWPRIO
003910,000127:
003911,000128: 01,2241 37653 NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
003912,000129: 01,2242 54635 TS LOCCTR
003913,000130: 01,2243 32250 CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
003914,000131: 01,2244 54627 NOVAC3 TS EXECTEM2
003915,000132: 01,2245 50635 INDEX LOCCTR
003916,000133: 01,2246 10153 CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
003917,000134: 01,2247 12310 TCF NEXTCORE # THE CORRESPONDING CORE SET IS AVAILABLE.
003918,000135: 01,2250 00006 NO.CORES DEC 6 B-14
003919,000136: 01,2251 12310 TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
003920,000137: # BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
003921,000138:
Page 110 |
003923,000140: 01,2252 30632 CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
003924,000141: 01,2253 50635 INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
003925,000142: 01,2254 54153 TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
003926,000143: 01,2255 72503 MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR
003927,000144: 01,2256 50635 INDEX LOCCTR
003928,000145: 01,2257 54152 TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
003929,000146:
003930,000147: 01,2260 10635 CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
003931,000148: 01,2261 12275 TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY .
003932,000149: 01,2262 54105 TS OVFIND
003933,000150: 01,2263 30152 CA PUSHLOC
003934,000151: 01,2264 54104 TS FIXLOC
003935,000152:
003936,000153: 01,2265 10067 SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
003937,000154: 01,2266 12275 TCF SETLOC # MUST BE AWAKENED BUT UNCHANGED JOB.
003938,000155: 01,2271 SETLOC +2
003939,000156: 01,2271 54067 TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
003940,000157: 01,2272 52634 DXCH NEWLOC
003941,000158: 01,2273 52151 DXCH LOC
003942,000159: 01,2274 14210 TCF ENDFIND
003943,000160:
003944,000161: 01,2275 52634 SETLOC DXCH NEWLOC # SET UP THE LOCATION REGISTERS FOR THIS
003945,000162: 01,2276 50635 INDEX LOCCTR
003946,000163: 01,2277 52151 DXCH LOC
003947,000164: 01,2300 50067 INDEX NEWJOB # THIS INDEX INSTRUCTION INSURES THAT THE
003948,000165: 01,2301 40153 CS PRIORITY # HIGHEST ACTIVE PRIORITY WILL BE COMPARED
003949,000166: 01,2302 60632 AD NEWPRIO # WITH THE NEW PRIORITY TO SEE IF NEWJOB
003950,000167: 01,2303 00006 EXTEND # SHOULD BE SET TO SIGNAL A SWITCH.
003951,000168: 01,2304 64210 BZMF ENDFIND
003952,000169: 01,2305 30635 CA LOCCTR # LOCCTR IS LEFT SET AT THIS CORE SET IF
003953,000170: 01,2306 54067 TS NEWJOB # THE CALLER WANTS TO LOAD ANY MPAC
003954,000171: 01,2307 14210 TCF ENDFIND # REGISTERS, ETC.
003955,000172:
003956,000173: 01,2310 32416 NEXTCORE CAF COREINC
003957,000174: 01,2311 26635 ADS LOCCTR
003958,000175: 01,2312 10627 CCS EXECTEM2
003959,000176: 01,2313 12244 TCF NOVAC3
003960,000177: 01,2314 02314 TC -0 # ABORT IF NO MORE CORE SETS.
003961,000178:
Page 111 |
003963,000180: # THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
003964,000181:
003965,000182: 01,2315 52151 -1 DXCH LOC
003966,000183: 01,2316 50067 CHANJOB INDEX NEWJOB # LOC ARRIVES IN A AND BBANK IN L.
003967,000184: 01,2317 52151 DXCH LOC
003968,000185: 01,2320 52151 DXCH LOC
003969,000186:
003970,000187: 01,2321 52141 DXCH MPAC # SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
003971,000188: 01,2322 50067 INDEX NEWJOB
003972,000189: 01,2323 52141 DXCH MPAC
003973,000190: 01,2324 52141 DXCH MPAC
003974,000191: 01,2325 52143 DXCH MPAC +2
003975,000192: 01,2326 50067 INDEX NEWJOB
003976,000193: 01,2327 52143 DXCH MPAC +2
003977,000194: 01,2330 52143 DXCH MPAC +2
003978,000195: 01,2331 52145 DXCH MPAC +4
003979,000196: 01,2332 50067 INDEX NEWJOB
003980,000197: 01,2333 52145 DXCH MPAC +4
003981,000198: 01,2334 52145 DXCH MPAC +4
003982,000199: 01,2335 52147 DXCH MPAC +6
003983,000200: 01,2336 50067 INDEX NEWJOB
003984,000201: 01,2337 52147 DXCH MPAC +6
003985,000202: 01,2340 52147 DXCH MPAC +6
003986,000203:
003987,000204: 01,2341 37653 CAF ZERO
003988,000205: 01,2342 56105 XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
003989,000206: 01,2343 00006 EXTEND
003990,000207: 01,2344 12347 BZF +3
003991,000208: 01,2345 40152 CS PUSHLOC
003992,000209: 01,2346 54152 TS PUSHLOC
003993,000210:
003994,000211: 01,2347 52153 DXCH PUSHLOC
003995,000212: 01,2350 50067 INDEX NEWJOB
003996,000213: 01,2351 52153 DXCH PUSHLOC
003997,000214: 01,2352 52153 DXCH PUSHLOC # SWAPS PUSHLOC AND PRIORITY.
003998,000215: 01,2353 10152 CCS PUSHLOC # SET OVERFLOW INDICATOR ACCORDING TO
003999,000216: 01,2354 37653 CAF ZERO
004000,000217: 01,2355 12362 TCF ENDPRCHG -1
004001,000218: 01,2356 40152 CS PUSHLOC
004002,000219: 01,2357 54152 TS PUSHLOC
004003,000220: 01,2360 37646 CAF ONE
004004,000221: 01,2361 56105 XCH OVFIND
004005,000222: 01,2362 54067 TS NEWJOB
004006,000223:
004007,000224: 01,2363 00003 ENDPRCHG RELINT
004008,000225: 01,2364 52151 DXCH LOC # BASIC JOBS HAVE POSITIVE ADDRESSES, SO
004009,000226: 01,2365 00006 EXTEND # DISPATCH WITH A DTCB.
004010,000227: 01,2366 62370 BZMF +2 # IF INTERPRETIVE, SET UP EBANK, ETC.
004011,000228: 01,2367 52006 DTCB
004012,000229:
Page 112 |
004014,000231: 01,2370 40000 COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
004015,000232: 01,2371 54150 TS LOC # RESUME.
004016,000233: 01,2372 36232 CAF FBANKMSK
004017,000234: 01,2373 70001 MASK L
004018,000235: 01,2374 16011 TCF INTRSM
004019,000236:
004020,000237: # COMPLETE JOBSLEEP PREPARATIONS.
004021,000238:
004022,000239: 01,2375 00004 JOBSLP1 INHINT
004023,000240: 01,2376 40153 CS PRIORITY # NNZ PRIORITY SHOWS JOB ASLEEP.
004024,000241: 01,2377 54153 TS PRIORITY
004025,000242: 01,2400 36027 CAF LOW7
004026,000243: 01,2401 70006 MASK BBANK
004027,000244: 01,2402 54151 TS BANKSET
004028,000245: 01,2403 47653 CS ZERO
004029,000246: 01,2404 54115 JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
004030,000247: 01,2405 12475 TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
004031,000248:
Page 113 |
004033,000250: # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
004034,000251: # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
004035,000252: # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
004036,000253:
004037,000254: 01,2406 54626 JOBWAKE2 TS EXECTEM1
004038,000255: 01,2407 37653 CAF ZERO # BEGIN CORE SET SCAN.
004039,000256: 01,2410 54635 TS LOCCTR
004040,000257: 01,2411 32250 CAF NO.CORES
004041,000258: 01,2412 54627 JOBWAKE4 TS EXECTEM2
004042,000259: 01,2413 50635 INDEX LOCCTR
004043,000260: 01,2414 10153 CCS PRIORITY
004044,000261: 01,2415 12420 TCF JOBWAKE3 # ACTIVE JOB - CHECK NEXT CORE SET.
004045,000262: 01,2416 00014 COREINC DEC 12 B-14 # 12 REGISTERS PER CORE SET.
004046,000263: 01,2417 12427 TCF WAKETEST # SLEEPING JOB - SEE IF CADR MATCHES.
004047,000264:
004048,000265: 01,2420 32416 JOBWAKE3 CAF COREINC
004049,000266: 01,2421 26635 ADS LOCCTR
004050,000267: 01,2422 10627 CCS EXECTEM2
004051,000268: 01,2423 12412 TCF JOBWAKE4
004052,000269: 01,2424 47646 CS ONE # EXIT IF SLEEPING JOB NOT FOUND.
004053,000270: 01,2425 54635 TS LOCCTR
004054,000271: 01,2426 14210 TCF ENDFIND
004055,000272:
004056,000273: 01,2427 40633 WAKETEST CS NEWLOC
004057,000274: 01,2430 50635 INDEX LOCCTR
004058,000275: 01,2431 60150 AD LOC
004059,000276: 01,2432 00006 EXTEND
004060,000277: 01,2433 12435 BZF +2 # IF MATCH.
004061,000278: 01,2434 12420 TCF JOBWAKE3 # EXAMINE NEXT CORE SET IF NO MATCH.
004062,000279:
004063,000280: 01,2435 50635 INDEX LOCCTR # RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
004064,000281: 01,2436 40153 CS PRIORITY
004065,000282: 01,2437 50635 INDEX LOCCTR
004066,000283: 01,2440 54153 TS PRIORITY
004067,000284:
004068,000285: 01,2441 46232 CS FBANKMSK # MAKE UP THE 2CADR OF THE WAKE ADDRESS
004069,000286: 01,2442 70633 MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
004070,000287: 01,2443 67634 AD 2K # HALF OF BBANK SAVED IN BANKSET.
004071,000288: 01,2444 56633 XCH NEWLOC
004072,000289: 01,2445 76232 MASK FBANKMSK
004073,000290: 01,2446 50635 INDEX LOCCTR
004074,000291: 01,2447 60151 AD BANKSET
004075,000292: 01,2450 54634 TS NEWLOC +1
004076,000293:
004077,000294: 01,2451 10635 CCS LOCCTR # SPECIAL TREATMENT IF THIS JOB WAS
004078,000295: 01,2452 12275 TCF SETLOC # ALREADY IN THE RUN (0) POSITION.
004079,000296: 01,2453 12265 TCF SPECTEST
004080,000297:
Page 114 |
004082,000299: # PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
004083,000300:
004084,000301: 01,2454 54150 PRIOCH2 TS LOC
004085,000302: 01,2455 37653 CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
004086,000303: 01,2456 54114 TS BUF # JOB IS STILL HIGHEST PRIORITY.
004087,000304: 01,2457 32503 CAF LOW9
004088,000305: 01,2460 70153 MASK PRIORITY
004089,000306: 01,2461 60632 AD NEWPRIO
004090,000307: 01,2462 54153 TS PRIORITY
004091,000308: 01,2463 40000 COM
004092,000309: 01,2464 12404 TCF JOBSLP2 # AND TO EJSCAN.
004093,000310:
Page 115 |
004095,000312: # RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
004096,000313:
004097,000314: 01,2465 00004 ENDJOB1 INHINT
004098,000315: 01,2466 47653 CS ZERO
004099,000316: 01,2467 54115 TS BUF +1
004100,000317: 01,2470 56153 XCH PRIORITY
004101,000318: 01,2471 72503 MASK LOW9
004102,000319: 01,2472 10000 CCS A
004103,000320: 01,2473 50000 INDEX A
004104,000321: 01,2474 54000 TS 0
004105,000322:
004106,000323: 01,2475 10167 EJSCAN CCS PRIORITY +12D
004107,000324: 01,2476 02542 TC EJ1
004108,000325: 01,2500 SETLOC +1
004109,000326: 01,2500 12501 TCF +1
004110,000327:
004111,000328: 01,2501 10203 CCS PRIORITY +24D # EXAMINE EACH PRIORITY REGISTER TO FIND
004112,000329: 01,2502 02542 TC EJ1 # THE JOB OF HIGHEST ACTIVE PRIORITY.
004113,000330: 01,2503 00777 LOW9 OCT 00777
004114,000331: 01,2504 12505 TCF +1
004115,000332:
004116,000333: 01,2505 10217 CCS PRIORITY +36D
004117,000334: 01,2506 02542 TC EJ1
004118,000335: 01,2507 67624 -CCSPR -CCS PRIORITY
004119,000336: 01,2510 12511 TCF +1
004120,000337:
004121,000338: 01,2511 10233 CCS PRIORITY +48D
004122,000339: 01,2512 02542 TC EJ1
004123,000340: 01,2514 SETLOC +1
004124,000341: 01,2514 12515 TCF +1
004125,000342:
004126,000343: 01,2515 10247 CCS PRIORITY +60D
004127,000344: 01,2516 02542 TC EJ1
004128,000345: 01,2520 SETLOC +1
004129,000346: 01,2520 12521 TCF +1
004130,000347:
004131,000348: 01,2521 10263 CCS PRIORITY +72D
004132,000349: 01,2522 02542 TC EJ1
004133,000350: 01,2524 SETLOC +1
004134,000351: 01,2524 12525 TCF +1
004135,000352:
Page 116 |
004137,000354: # EVALUATE THE RESULTS OF THE SCAN.
004138,000355:
004139,000356: 01,2525 10115 CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
004140,000357: 01,2530 SETLOC +2
004141,000358: 01,2530 12532 TCF +2
004142,000359: 01,2531 14215 TCF DUMMYJOB
004143,000360: 01,2532 10114 CCS BUF # BUF IS ZERO IF THIS IS A PRIOCHNG AND
004144,000361: 01,2533 12535 TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
004145,000362: 01,2534 12363 TCF ENDPRCHG
004146,000363:
004147,000364: 01,2535 50000 INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
004148,000365: 01,2536 27777 CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
004149,000366: 01,2537 62507 AD -CCSPR
004150,000367: 01,2540 54067 TS NEWJOB
004151,000368: 01,2541 12315 TCF CHANJOB -1
004152,000369:
004153,000370: 01,2542 54116 EJ1 TS BUF +2
004154,000371: 01,2543 60115 AD BUF +1 # - OLD HIGH PRIORITY.
004155,000372: 01,2544 10000 CCS A
004156,000373: 01,2545 40116 CS BUF +2
004157,000374: 01,2546 12552 TCF EJ2 # NEW HIGH PRIORITY.
004158,000375: 01,2547 12550 NOOP
004159,000376: 01,2550 50002 INDEX Q
004160,000377: 01,2551 00002 TC 2 # PROCEED WITH SEARCH.
004161,000378:
004162,000379: 01,2552 54115 EJ2 TS BUF +1
004163,000380: 01,2553 00006 EXTEND
004164,000381: 01,2554 22114 QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
004165,000382: 01,2555 50114 INDEX BUF
004166,000383: 01,2556 00002 TC 2
004167,000384:
004168,000385: 01,2557 ENDEXECS EQUALS
004169,000386:
Page 117 |
004171,000388: # IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
004172,000389: # BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
004173,000390:
004174,000391: 4215 SETLOC EXECBANK +1
004175,000392:
004176,000393: 4215 47653 DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
004177,000394: 4216 54067 TS NEWJOB
004178,000395: 4217 00003 RELINT
004179,000396: 4220 47645 CS TWO # TURN OFF THE ACTIVITY LIGHT.
004180,000397: 4221 00006 EXTEND
004181,000398: 4222 03011 WAND DSALMOUT
004182,000399: 4223 14226 TCF CHECKNJ +2
004183,000400:
004184,000401: 4224 00006 CHECKNJ EXTEND # SPECIAL NEWJOB TEST FOR SELF-CHECK,
004185,000402: 4225 23043 QXCH SELFRET # WHICH RUNS UNDER EXECUTIVE CONTROL,
004186,000403: 4226 10067 +2 CCS NEWJOB # BUT DOES NOT HAVE A JOBS CORE REGISTERS.
004187,000404: 4227 14241 TCF NUCHANGE # NEW JOB REQUIRING A CHANGE JOB.
004188,000405: 4230 37645 CAF TWO # NEW JOB ALREADY IN POSITION FOR
004189,000406: 4231 14235 TCF NUDIRECT # EXECUTION.
004190,000407:
004191,000408: 4232 34250 CAF SELFBANK # RETURN TO SELF-CHECK.
004192,000409: 4233 54004 TS FBANK
004193,000410: 4234 01043 TC SELFRET
004194,000411:
004195,000412: 4235 00006 NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
004196,000413: 4236 05011 WOR DSALMOUT
004197,000414: 4237 52151 DXCH LOC # JOBS STARTED IN THIS FASHION MUST BE
004198,000415: 4240 52006 DTCB # BASIC.
004199,000416:
004200,000417: 4241 37645 NUCHANGE CAF TWO
004201,000418: 4242 00006 EXTEND
004202,000419: 4243 05011 WOR DSALMOUT
004203,000420: 4244 34214 CAF EXECBANK # SWAP CORE SETS.
004204,000421: 4245 54004 TS FBANK
004205,000422: 4246 00004 INHINT # CHANGE JOBS
004206,000423: 4247 12315 TCF CHANJOB -1
004207,000424:
004208,000425: 4250 21271 SELFBANK CADR ENDEDOP
004209,000426: 4251 ENDEXECF EQUALS
End of include-file EXECUTIVE.agc. Parent file is MAIN.agc