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