Source Code
![]() |
These source-code files were transcribed from scans made from Don Eyles's personal
copy of BURST120 (SUNBURST 120). They were scanned at archive.org's Boston
facility, and the scanning was sponsored by Mike Stewart. The code was transcribed
from these scans by a team of volunteers who are referenced in the program
comments. Comments from the original source code are in ALL-CAPS, whereas
comments added later in transcription are in Mixed-Case. In some cases, where
similar code blocks exist in previously-transcribed AGC programs (primarily
Luminary 99, from Apollo 11) those code blocks were used as a starting point and
then corrected to agree with the BURST120 scans. The full scans are available
at the Virtual AGC
project's collection at archive.org, while more-convenient reduced-size (but reduced-quality)
images are available at
the main Virtual AGC website. Report any errors noted by creating an
issue report at the Virtual AGC
project's GitHub repository. Notations on the program listing read, in part:YUL SYSTEM FOR AGC: REVISION 0 OF PROGRAM BURST120 BY NASA 2021106-031 DEC 7, 1967 THIS LISTING IS A COPY OF A VERSION OF THE PROGRAM INTENDED FOR USE IN THE ON-BOARD PRIMARY GUIDANCE COMPUTER IN THE UNMANNED FLIGHT OF APOLLO LUNAR MODULE 1 --- THE AS206 MISSION.Note that the date is the date of the printout, not the date of the program revision. |
044115,000002: ## Copyright: Public domain.
044116,000003: ## Filename: EXECUTIVE.agc
044117,000004: ## Purpose: A module for revision 0 of BURST120 (Sunburst). It
044118,000005: ## is part of the source code for the Lunar Module's
044119,000006: ## (LM) Apollo Guidance Computer (AGC) for Apollo 5.
044120,000007: ## Assembler: yaYUL
044121,000008: ## Contact: Ron Burkey <info@sandroid.org>.
044122,000009: ## Website: www.ibiblio.org/apollo/index.html
044123,000010: ## Pages: 1049-1061
044124,000011: ## Mod history: 2016-09-30 RSB Created draft version.
044125,000012: ## 2016-10-08 PDJ Updated against Sunburst120 scan.
044126,000013: ## 2016-10-31 RSB Some typos.
044127,000014: ## 2016-12-06 RSB Comments proofed using octopus/ProoferComments,
044128,000015: ## changes made.
044129,000016:
![]() |
Page 1049 |
044131,000018: 5505 BLOCK 02
044132,000019:
044133,000020: # TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
044134,000021:
044135,000022: 5505 54063 NOVAC TS NEWPRIO # SAVE PRIORITY OF NEW JOB.
044136,000023: 5506 00006 EXTEND
044137,000024: 5507 50002 INDEX Q # Q WILL BE UNDISTURBED THROUGHOUT.
044138,000025: 5510 30001 DCA 0 # 2CADR OF JOB ENTERED.
044139,000026: 5511 52066 DXCH NEWLOC
044140,000027: 5512 35575 CAF EXECBANK
044141,000028: 5513 56004 XCH FBANK
044142,000029: 5514 54061 TS EXECTEM1
044143,000030: 5515 13105 TCF NOVAC2 # ENTER EXECUTIVE BANK.
044144,000031:
044145,000032: # TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
044146,000033:
044147,000034: 5516 54063 FINDVAC TS NEWPRIO
044148,000035: 5517 00006 EXTEND
044149,000036: 5520 50002 INDEX Q
044150,000037: 5521 30001 DCA 0
044151,000038: 5522 52066 DXCH NEWLOC
044152,000039: 5523 35575 CAF EXECBANK
044153,000040: 5524 56004 XCH FBANK
044154,000041: 5525 13063 TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
044155,000042:
044156,000043: # TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
044157,000044:
044158,000045: 5526 56002 SPVAC XCH Q
044159,000046: 5527 65336 AD NEG2
044160,000047: 5530 56002 XCH Q
044161,000048: 5531 15522 TCF FINDVAC +4
044162,000049:
044163,000050: # TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
044164,000051:
044165,000052: 5532 35575 CHANG1 CAF EXECBANK
044166,000053: 5533 54001 TS L
044167,000054: 5534 30002 CA Q
044168,000055: 5535 22006 LXCH BBANK
044169,000056: 5536 00004 +4 INHINT
044170,000057: 5537 13163 TCF CHANJOB
044171,000058:
044172,000059: # TO SUSPEND AN INTERPRETIVE JOB:
044173,000060:
044174,000061: 5540 35575 CHANG2 CAF EXECBANK
044175,000062: # ITRACE (4) REFERS TO "CHANG2".
044176,000063: 5541 54006 TS BBANK
044177,000064: 5542 40154 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
044178,000065: 5543 22155 LXCH BANKSET # BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
044179,000066: 5544 15536 TCF CHANG1 +4
044180,000067:
![]() |
Page 1050 |
044182,000069:
044183,000070: # TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
044184,000071:
044185,000072: 5545 54154 JOBSLEEP TS LOC
044186,000073: 5546 35575 CAF EXECBANK
044187,000074: 5547 54004 TS FBANK
044188,000075: 5550 13244 TCF JOBSLP1
044189,000076:
044190,000077: # TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
044191,000078:
044192,000079: 5551 54065 JOBWAKE TS NEWLOC
044193,000080: 5552 47762 CS TWO # EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
044194,000081: 5553 26002 ADS Q
044195,000082: 5554 35575 CAF EXECBANK
044196,000083: 5555 56004 XCH FBANK
044197,000084: 5556 13255 TCF JOBWAKE2
044198,000085:
044199,000086: # TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
044200,000087:
044201,000088: 5557 00004 PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
044202,000089: 5560 54063 TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
044203,000090: 5561 35575 CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
044204,000091: 5562 56006 XCH BBANK # STYLE CHANGE-JOB.
044205,000092: 5563 54155 TS BANKSET
044206,000093: 5564 30002 CA Q
044207,000094: 5565 13324 TCF PRIOCH2
044208,000095:
044209,000096: # TO FREE THE DISPLAY BEFORE ENDOFJOB:
044210,000097:
044211,000098: 5566 04724 EJFREE TC FREEDSP
044212,000099:
044213,000100: # TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
044214,000101:
044215,000102: 5567 35575 ENDOFJOB CAF EXECBANK
044216,000103: 5570 54004 TS FBANK
044217,000104: 5571 13335 TCF ENDJOB1
044218,000105:
044219,000106: 5572 30061 ENDFIND CA EXECTEM1 # RETURN TO CALLER AFTER JOB ENTRY
044220,000107: 5573 54004 TS FBANK # COMPLETE.
044221,000108: 5574 17017 TCF Q+2
044222,000109: 5575 03063 EXECBANK CADR FINDVAC2
044223,000110:
![]() |
Page 1051 |
044225,000112:
044226,000113: # LOCATE AN AVAILABLE VAC AREA.
044227,000114:
044228,000115: 01,3063 BANK 01
044229,000116: 01,3063 54061 FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
044230,000117: 01,3064 10430 CCS VAC1USE
044231,000118: 01,3065 13100 TCF VACFOUND
044232,000119: 01,3066 10504 CCS VAC2USE
044233,000120: 01,3067 13100 TCF VACFOUND
044234,000121: 01,3070 10560 CCS VAC3USE
044235,000122: 01,3071 13100 TCF VACFOUND
044236,000123: 01,3072 10634 CCS VAC4USE
044237,000124: 01,3073 13100 TCF VACFOUND
044238,000125: 01,3074 10710 CCS VAC5USE
044239,000126: 01,3075 13100 TCF VACFOUND
044240,000127: 01,3076 06000 TC ABORT
044241,000128: 01,3077 01201 OCT 1201 # NO VAC AREAS.
044242,000129:
044243,000130: 01,3100 67762 VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
044244,000131: 01,3101 22007 ZL # IN ITS VAC USE REGISTER AND STORE THE
044245,000132: 01,3102 50000 INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
044246,000133: 01,3103 21777 LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
044247,000134: 01,3104 26063 ADS NEWPRIO
044248,000135:
044249,000136: 01,3105 37767 NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
044250,000137: 01,3106 54064 TS LOCCTR
044251,000138: 01,3107 33114 CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
044252,000139: 01,3110 54062 NOVAC3 TS EXECTEM2
044253,000140: 01,3111 50064 INDEX LOCCTR
044254,000141: 01,3112 10157 CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
044255,000142: 01,3113 13154 TCF NEXTCORE # THE CORrESPONDING CORE SET IS AVAILABLE.
044256,000143: 01,3114 00006 NO.CORES DEC 6 B-14
044257,000144: 01,3115 13154 TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
044258,000145: # BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
044259,000146:
![]() |
Page 1052 |
044261,000148:
044262,000149: 01,3116 30063 CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
044263,000150: 01,3117 50064 INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
044264,000151: 01,3120 54157 TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
044265,000152: 01,3121 75341 MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR
044266,000153: 01,3122 50064 INDEX LOCCTR
044267,000154: 01,3123 54156 TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
044268,000155:
044269,000156: 01,3124 10064 CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
044270,000157: 01,3125 13141 TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY.
044271,000158: 01,3126 54111 TS OVFIND
044272,000159: 01,3127 30156 CA PUSHLOC
044273,000160: 01,3130 54110 TS FIXLOC
044274,000161:
044275,000162: 01,3131 10067 SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
044276,000163: 01,3132 13141 TCF SETLOC # MUST BE AWAKENED BUT UNCHANGED JOB.
044277,000164: 01,3133 04736 TC CCSHOLE
044278,000165: 01,3134 04736 TC CCSHOLE
044279,000166: 01,3135 54067 TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
044280,000167: 01,3136 52066 DXCH NEWLOC
044281,000168: 01,3137 52155 DXCH LOC
044282,000169: 01,3140 15572 TCF ENDFIND
044283,000170:
044284,000171: 01,3141 52066 SETLOC DXCH NEWLOC # SET UP THE LOCATION REGISTERS FOR THIS
044285,000172: 01,3142 50064 INDEX LOCCTR
044286,000173: 01,3143 52155 DXCH LOC
044287,000174: 01,3144 50067 INDEX NEWJOB # THIS INDEX INSTRUCTION INSURES THAT THE
044288,000175: 01,3145 40157 CS PRIORITY # HIGHEST ACTIVE PRIORITY WILL BE COMPARED
044289,000176: 01,3146 60063 AD NEWPRIO # WITH THE NEW PRIORITY TO SEE IF NEWJOB
044290,000177: 01,3147 00006 EXTEND # SHOULD BE SET TO SIGNAL A SWITCH.
044291,000178: 01,3150 65572 BZMF ENDFIND
044292,000179: 01,3151 30064 CA LOCCTR # LOCCTR IS LEFT SET AT THIS CORE SET IF
044293,000180: 01,3152 54067 TS NEWJOB # THE CALLER WANTS TO LOAD ANY MPAC
044294,000181: 01,3153 15572 TCF ENDFIND # REGISTERS, ETC.
044295,000182:
044296,000183: 01,3154 33265 NEXTCORE CAF COREINC
044297,000184: 01,3155 26064 ADS LOCCTR
044298,000185: 01,3156 10062 CCS EXECTEM2
044299,000186: 01,3157 13110 TCF NOVAC3
044300,000187: 01,3160 06000 TC ABORT # NO CORE SETS.
044301,000188: 01,3161 01202 OCT 1202
044302,000189:
![]() |
Page 1053 |
044304,000191:
044305,000192: # THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
044306,000193:
044307,000194: 01,3162 52155 -1 DXCH LOC
044308,000195: 01,3163 50067 CHANJOB INDEX NEWJOB # LOC ARRIVES IN A AND BBANK IN L.
044309,000196: 01,3164 52155 DXCH LOC
044310,000197: 01,3165 52155 DXCH LOC
044311,000198:
044312,000199: 01,3166 52145 DXCH MPAC # SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
044313,000200: 01,3167 50067 INDEX NEWJOB
044314,000201: 01,3170 52145 DXCH MPAC
044315,000202: 01,3171 52145 DXCH MPAC
044316,000203: 01,3172 52147 DXCH MPAC +2
044317,000204: 01,3173 50067 INDEX NEWJOB
044318,000205: 01,3174 52147 DXCH MPAC +2
044319,000206: 01,3175 52147 DXCH MPAC +2
044320,000207: 01,3176 52151 DXCH MPAC +4
044321,000208: 01,3177 50067 INDEX NEWJOB
044322,000209: 01,3200 52151 DXCH MPAC +4
044323,000210: 01,3201 52151 DXCH MPAC +4
044324,000211: 01,3202 52153 DXCH MPAC +6
044325,000212: 01,3203 50067 INDEX NEWJOB
044326,000213: 01,3204 52153 DXCH MPAC +6
044327,000214: 01,3205 52153 DXCH MPAC +6
044328,000215:
044329,000216: 01,3206 37767 CAF ZERO
044330,000217: 01,3207 56111 XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
044331,000218: 01,3210 00006 EXTEND
044332,000219: 01,3211 13214 BZF +3
044333,000220: 01,3212 40156 CS PUSHLOC
044334,000221: 01,3213 54156 TS PUSHLOC
044335,000222:
044336,000223: 01,3214 52157 DXCH PUSHLOC
044337,000224: 01,3215 50067 INDEX NEWJOB
044338,000225: 01,3216 52157 DXCH PUSHLOC
044339,000226: 01,3217 52157 DXCH PUSHLOC # SWAPS PUSHLOC AND PRIORITY.
044340,000227: 01,3220 35341 CAF LOW9 # SET FIXLOC TO BASE OF VAC AREA.
044341,000228: 01,3221 70157 MASK PRIORITY
044342,000229: 01,3222 54110 TS FIXLOC
044343,000230:
044344,000231: 01,3223 10156 CCS PUSHLOC # SET OVERFLOW INDICATOR ACCORDING TO
044345,000232: 01,3224 37767 CAF ZERO
044346,000233: 01,3225 13232 TCF ENDPRCHG -1
044347,000234: 01,3226 40156 CS PUSHLOC
044348,000235: 01,3227 54156 TS PUSHLOC
044349,000236: 01,3230 37763 CAF ONE
044350,000237: 01,3231 56111 XCH OVFIND
044351,000238: 01,3232 54067 TS NEWJOB
044352,000239:
044353,000240: 01,3233 00003 ENDPRCHG RELINT
044354,000241: 01,3234 52155 DXCH LOC # BASIC JOBS HAVE POSITIVE ADDRESSES, SO
044355,000242:
![]() |
Page 1054 |
044357,000244:
044358,000245: 01,3235 00006 EXTEND # DISPATCH WITH A DTCB.
044359,000246: 01,3236 63240 BZMF +2 # IF INTERPRETIVE, SET UP EBANK, ETC.
044360,000247: 01,3237 52006 DTCB
044361,000248:
![]() |
Page 1055 |
044363,000250: 01,3240 40000 COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
044364,000251: 01,3241 67763 AD ONE
044365,000252: 01,3242 54154 TS LOC # RESUME.
044366,000253: 01,3243 16122 TCF INTRSM
044367,000254:
044368,000255: # COMPLETE JOBSLEEP PREPARATIONS.
044369,000256:
044370,000257: 01,3244 00004 JOBSLP1 INHINT
044371,000258: 01,3245 40157 CS PRIORITY # NNZ PRIORITY SHOWS JOB ASLEEP.
044372,000259: 01,3246 54157 TS PRIORITY
044373,000260: 01,3247 35342 CAF LOW7
044374,000261: 01,3250 70006 MASK BBANK
044375,000262: 01,3251 54155 TS BANKSET
044376,000263: 01,3252 47767 CS ZERO
044377,000264: 01,3253 54121 JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
044378,000265: 01,3254 13345 TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
044379,000266:
![]() |
Page 1056 |
044381,000268:
044382,000269: # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
044383,000270: # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
044384,000271: # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
044385,000272:
044386,000273: 01,3255 54061 JOBWAKE2 TS EXECTEM1
044387,000274: 01,3256 37767 CAF ZERO # BEGIN CORE SET SCAN.
044388,000275: 01,3257 54064 TS LOCCTR
044389,000276: 01,3260 33114 CAF NO.CORES
044390,000277: 01,3261 54062 JOBWAKE4 TS EXECTEM2
044391,000278: 01,3262 50064 INDEX LOCCTR
044392,000279: 01,3263 10157 CCS PRIORITY
044393,000280: 01,3264 13267 TCF JOBWAKE3 # ACTIVE JOB - CHECK NEXT CORE SET.
044394,000281: 01,3265 00014 COREINC DEC 12 B-14 # 12 REGISTERS PER CORE SET.
044395,000282: 01,3266 13276 TCF WAKETEST # SLEEPING JOB - SEE IF CADR MATCHES.
044396,000283:
044397,000284: 01,3267 33265 JOBWAKE3 CAF COREINC
044398,000285: 01,3270 26064 ADS LOCCTR
044399,000286: 01,3271 10062 CCS EXECTEM2
044400,000287: 01,3272 13261 TCF JOBWAKE4
044401,000288: 01,3273 47763 CS ONE # EXIT IF SLEEPINg JOB NOT FOUND.
044402,000289: 01,3274 54064 TS LOCCTR
044403,000290: 01,3275 15572 TCF ENDFIND
044404,000291:
044405,000292: 01,3276 40065 WAKETEST CS NEWLOC
044406,000293: 01,3277 50064 INDEX LOCCTR
044407,000294: 01,3300 60154 AD LOC
044408,000295: 01,3301 00006 EXTEND
044409,000296: 01,3302 13304 BZF +2 # IF MATCH.
044410,000297: 01,3303 13267 TCF JOBWAKE3 # EXAMINE NEXT CORE SET IF NO MATCH.
044411,000298:
044412,000299: 01,3304 50064 INDEX LOCCTR # RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
044413,000300: 01,3305 40157 CS PRIORITY
044414,000301: 01,3306 54063 TS NEWPRIO
044415,000302: 01,3307 50064 INDEX LOCCTR
044416,000303: 01,3310 54157 TS PRIORITY
044417,000304:
044418,000305: 01,3311 46341 CS FBANKMSK # MAKE UP THE 2CADR OF THE WAKE ADDRESS
044419,000306: 01,3312 70065 MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
044420,000307: 01,3313 67751 AD 2K # HALF OF BBANK SAVED IN BANKSET.
044421,000308: 01,3314 56065 XCH NEWLOC
044422,000309: 01,3315 76341 MASK FBANKMSK
044423,000310: 01,3316 50064 INDEX LOCCTR
044424,000311: 01,3317 60155 AD BANKSET
044425,000312: 01,3320 54066 TS NEWLOC +1
044426,000313:
044427,000314: 01,3321 10064 CCS LOCCTR # SPECIAL TREATMENT IF THIS JOB WAS
044428,000315: 01,3322 13141 TCF SETLOC # ALREADY IN THE RUN (0) POSITION.
044429,000316: 01,3323 13131 TCF SPECTEST
044430,000317:
![]() |
Page 1057 |
044432,000319:
044433,000320: # PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
044434,000321:
044435,000322: 01,3324 54154 PRIOCH2 TS LOC
044436,000323: 01,3325 37767 CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
044437,000324: 01,3326 54120 TS BUF # JOB IS STILL HIGHEST PRIORITY.
044438,000325: 01,3327 35341 CAF LOW9
044439,000326: 01,3330 70157 MASK PRIORITY
044440,000327: 01,3331 60063 AD NEWPRIO
044441,000328: 01,3332 54157 TS PRIORITY
044442,000329: 01,3333 40000 COM
044443,000330: 01,3334 13253 TCF JOBSLP2 # AND TO EJSCAN.
044444,000331:
![]() |
Page 1058 |
044446,000333:
044447,000334: # RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
044448,000335:
044449,000336: 01,3335 00004 ENDJOB1 INHINT
044450,000337: 01,3336 47767 CS ZERO
044451,000338: 01,3337 54121 TS BUF +1
044452,000339: 01,3340 56157 XCH PRIORITY
044453,000340: 01,3341 75341 MASK LOW9
044454,000341: 01,3342 10000 CCS A
044455,000342: 01,3343 50000 INDEX A
044456,000343: 01,3344 54000 TS 0
044457,000344:
044458,000345: 01,3345 10173 EJSCAN CCS PRIORITY +12D
044459,000346: 01,3346 03412 TC EJ1
044460,000347: 01,3347 04736 TC CCSHOLE
044461,000348: 01,3350 13351 TCF +1
044462,000349:
044463,000350: 01,3351 10207 CCS PRIORITY +24D # EXAMINE EACH PRIORITY REGISTER TO FIND
044464,000351: 01,3352 03412 TC EJ1 # THE JOB OF HIGHEST ACTIVE PRIORITY.
044465,000352: 01,3353 04736 TC CCSHOLE
044466,000353: 01,3354 13355 TCF +1
044467,000354:
044468,000355: 01,3355 10223 CCS PRIORITY +36D
044469,000356: 01,3356 03412 TC EJ1
044470,000357: 01,3357 67620 -CCSPR -CCS PRIORITY
044471,000358: 01,3360 13361 TCF +1
044472,000359:
044473,000360: 01,3361 10237 CCS PRIORITY +48D
044474,000361: 01,3362 03412 TC EJ1
044475,000362: 01,3363 04736 TC CCSHOLE
044476,000363: 01,3364 13365 TCF +1
044477,000364:
044478,000365: 01,3365 10253 CCS PRIORITY +60D
044479,000366: 01,3366 03412 TC EJ1
044480,000367: 01,3367 04736 TC CCSHOLE
044481,000368: 01,3370 13371 TCF +1
044482,000369:
044483,000370: 01,3371 10267 CCS PRIORITY +72D
044484,000371: 01,3372 03412 TC EJ1
044485,000372: 01,3373 04736 TC CCSHOLE
044486,000373: 01,3374 13375 TCF +1
044487,000374:
![]() |
Page 1059 |
044489,000376:
044490,000377: # EVALUATE THE RESULTS OF THE SCAN.
044491,000378:
044492,000379: 01,3375 10121 CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
044493,000380: 01,3376 04736 TC CCSHOLE
044494,000381: 01,3377 04736 TC CCSHOLE
044495,000382:
044496,000383: 01,3400 13402 TCF +2
044497,000384: 01,3401 15576 TCF DUMMYJOB
044498,000385: 01,3402 10120 CCS BUF # BUF IS ZERO IF THIS IS A PRIOCHNG AND
044499,000386: 01,3403 13405 TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
044500,000387: 01,3404 13233 TCF ENDPRCHG
044501,000388:
044502,000389: 01,3405 50000 INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
044503,000390: 01,3406 27777 CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
044504,000391: 01,3407 63357 AD -CCSPR
044505,000392: 01,3410 54067 TS NEWJOB
044506,000393: 01,3411 13162 TCF CHANJOB -1
044507,000394:
044508,000395: 01,3412 54122 EJ1 TS BUF +2
044509,000396: 01,3413 60121 AD BUF +1 # - OLD HIGH PRIORITY.
044510,000397: 01,3414 10000 CCS A
044511,000398: 01,3415 40122 CS BUF +2
044512,000399: 01,3416 13422 TCF EJ2 # NEW HIGH PRIORITY.
044513,000400: 01,3417 13420 NOOP
044514,000401: 01,3420 50002 INDEX Q
044515,000402: 01,3421 00002 TC 2 # PROCEED WITH SEARCH.
044516,000403:
044517,000404: 01,3422 54121 EJ2 TS BUF +1
044518,000405: 01,3423 00006 EXTEND
044519,000406: 01,3424 22120 QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
044520,000407: 01,3425 50120 INDEX BUF
044521,000408: 01,3426 00002 TC 2
044522,000409:
![]() |
Page 1060 |
044524,000411:
044525,000412: # IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
044526,000413: # BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
044527,000414:
044528,000415: 5576 BLOCK 02
044529,000416: 5576 1354 EBANK= SELFRET # SELF-CHECK STORAGE IN EBANK.
044530,000417:
044531,000418: 5576 47767 DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
044532,000419: 5577 54067 TS NEWJOB
044533,000420: 5600 00003 RELINT
044534,000421: 5601 47762 CS TWO # TURN OFF THE ACTIVITY LIGHT.
044535,000422: 5602 00006 EXTEND
044536,000423: 5603 03011 WAND DSALMOUT
044537,000424: 5604 15607 TCF CHECKNJ +2
044538,000425:
044539,000426: 5605 00006 CHECKNJ EXTEND # SPECIAL NEWJOB TEST FOR SELF-CHECK,
044540,000427: 5606 23354 QXCH SELFRET # WHICH RUNS UNDER EXECUTIVE CONTROL,
044541,000428: 5607 10067 +2 CCS NEWJOB # BUT DOES NOT HAVE A JOBS CORE REGISTERS.
044542,000429: 5610 15622 TCF NUCHANGE # NEW JOB REQUIRING A CHANGE JOB.
044543,000430: 5611 37762 CAF TWO # NEW JOB ALREADY IN POSITION FOR
044544,000431: 5612 15616 TCF NUDIRECT # EXECUTION.
044545,000432:
044546,000433: 5613 35631 ADVAN CAF SELFBANK # (SIMULATOR ADVAN IF NEWJOB = 77777).
044547,000434: 5614 54006 TS BBANK
044548,000435: 5615 01354 TC SELFRET
044549,000436:
044550,000437: 5616 00006 NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
044551,000438: 5617 05011 WOR DSALMOUT
044552,000439: 5620 52155 DXCH LOC # JOBS STARTED IN THIS FASHION MUST BE
044553,000440: 5621 52006 DTCB # BASIC.
044554,000441:
044555,000442: 5622 37762 NUCHANGE CAF TWO
044556,000443: 5623 00006 EXTEND
044557,000444: 5624 05011 WOR DSALMOUT
044558,000445: 5625 35575 CAF EXECBANK # SWAP CORE SETS.
044559,000446: 5626 54004 TS FBANK
044560,000447: 5627 00004 INHINT # CHANGE JOBS
044561,000448: 5630 13162 TCF CHANJOB -1
044562,000449:
044563,000450: 5631 1354 EBANK= SELFRET
044564,000451: 5631 76062 SELFBANK BBCON SELFCHK
044565,000452:
![]() |
Page 1061 |
044567,000454:
044568,000455: # PRIORITY CONSTANTS (NOTE IN FIXED-FIXED).
044569,000456:
044570,000457: 5632 7752 PRIO1 EQUALS BIT10
044571,000458: 5632 7751 PRIO2 EQUALS BIT11
044572,000459: 5632 03000 PRIO3 OCT 03000
044573,000460: 5633 7750 PRIO4 EQUALS BIT12
044574,000461: 5633 05000 PRIO5 OCT 05000
044575,000462: 5634 06000 PRIO6 OCT 06000
044576,000463: 5635 07000 PRIO7 OCT 07000
044577,000464: 5636 7747 PRIO10 EQUALS BIT13
044578,000465: 5636 11000 PRIO11 OCT 11000
044579,000466: 5637 5234 PRIO12 = BNKJUP+4
044580,000467: 5637 13000 PRIO13 OCT 13000
044581,000468: 5640 14000 PRIO14 OCT 14000
044582,000469: 5641 15000 PRIO15 OCT 15000
044583,000470: 5642 16000 PRIO16 OCT 16000
044584,000471: 5643 17000 PRIO17 OCT 17000
044585,000472: 5644 7746 PRIO20 EQUALS BIT14
044586,000473: 5644 21000 PRIO21 OCT 21000
044587,000474: 5645 22000 PRIO22 OCT 22000
044588,000475: 5646 23000 PRIO23 OCT 23000
044589,000476: 5647 4260 PRIO24 = NUFAZ+10
044590,000477: 5647 25000 PRIO25 OCT 25000
044591,000478: 5650 26000 PRIO26 OCT 26000
044592,000479: 5651 27000 PRIO27 OCT 27000
044593,000480: 5652 5210 PRIO30 = BNKCAL+2
044594,000481: 5652 31000 PRIO31 OCT 31000
044595,000482: 5653 32000 PRIO32 OCT 32000
044596,000483: 5654 33000 PRIO33 OCT 33000
044597,000484: 5655 34000 PRIO34 OCT 34000
044598,000485: 5656 35000 PRIO35 OCT 35000
044599,000486: 5657 36000 PRIO36 OCT 36000
044600,000487: 5660 37000 PRIO37 OCT 37000
044601,000488:
044602,000489: # EBANK CONSTANTS IN FIXED-FIXED
044603,000490:
044604,000491: 5661 5352 EBANK3 EQUALS OCT1400
044605,000492: 5661 7751 EBANK4 EQUALS BIT11
044606,000493: 5661 02400 EBANK5 OCTAL 02400
044607,000494: 5662 5632 EBANK6 EQUALS PRIO3
044608,000495: 5662 03400 EBANK7 OCTAL 03400
End of include-file EXECUTIVE.agc. Parent file is MAIN.agc