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