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 Peter McDermott.
A team of volunteers performed the transcription and proof-reading. 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 collection in the Internet Archive. 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 AGC: NEW PROGRAM SHEPATIN BY EYLES DEC 13, 1966 THIS PROGRAM WAS ASSEMBLED AS A VERSION OF REVISION 37 OF PROGRAM SUNBURST BY LEM GROUPNote that the date is the date of the printout, not the date of the program revision. |
043955,000002: ## Copyright: Public domain.
043956,000003: ## Filename: EXECUTIVE.agc
043957,000004: ## Purpose: A section of Sunburst revision 37, or Shepatin revision 0.
043958,000005: ## It is part of an early development version of the software
043959,000006: ## for Apollo Guidance Computer (AGC) on the unmanned Lunar
043960,000007: ## Module (LM) flight Apollo 5. Sunburst 37 was the program
043961,000008: ## upon which Don Eyles's offline development program Shepatin
043962,000009: ## was based; the listing herein transcribed was actually for
043963,000010: ## the equivalent revision 0 of Shepatin.
043964,000011: ## This file is intended to be a faithful transcription, except
043965,000012: ## that the code format has been changed to conform to the
043966,000013: ## requirements of the yaYUL assembler rather than the
043967,000014: ## original YUL assembler.
043968,000015: ## Reference: pp. 988-1000
043969,000016: ## Assembler: yaYUL
043970,000017: ## Contact: Ron Burkey <info@sandroid.org>.
043971,000018: ## Website: www.ibiblio.org/apollo/index.html
043972,000019: ## Mod history: 2017-05-24 MAS Created from Sunburst 120.
043973,000020: ## 2017-06-13 HG Transcribed
043974,000021: ## 2017-06-23 RSB Proofed comment text with
043975,000022: ## octopus/ProoferComments.
043976,000023:
![]() |
Page 988 |
043978,000025: 5523 BLOCK 02
043979,000026:
043980,000027: # TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
043981,000028:
043982,000029:
043983,000030: 5523 54063 NOVAC TS NEWPRIO # SAVE PRIORITY OF NEW JOB.
043984,000031: 5524 00006 EXTEND
043985,000032: 5525 50002 INDEX Q # Q WILL BE UNDISTURBED THROUGHOUT.
043986,000033: 5526 30001 DCA 0 # 2CADR OF JOB ENTERED.
043987,000034: 5527 52066 DXCH NEWLOC
043988,000035: 5530 35613 CAF EXECBANK
043989,000036: 5531 56004 XCH FBANK
043990,000037: 5532 54061 TS EXECTEM1
043991,000038: 5533 13036 TCF NOVAC2 # ENTER EXECUTIVE BANK.
043992,000039:
043993,000040: # TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
043994,000041:
043995,000042: 5534 54063 FINDVAC TS NEWPRIO
043996,000043: 5535 00006 EXTEND
043997,000044: 5536 50002 INDEX Q
043998,000045: 5537 30001 DCA 0
043999,000046: 5540 52066 DXCH NEWLOC
044000,000047: 5541 35613 CAF EXECBANK
044001,000048: 5542 56004 XCH FBANK
044002,000049: 5543 13014 TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
044003,000050:
044004,000051: # TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
044005,000052:
044006,000053:
044007,000054: 5544 56002 SPVAC XCH Q
044008,000055: 5545 65355 AD NEG2
044009,000056: 5546 56002 XCH Q
044010,000057: 5547 15540 TCF FINDVAC +4
044011,000058:
044012,000059: # TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
044013,000060:
044014,000061: 5550 35613 CHANG1 CAF EXECBANK
044015,000062: 5551 54001 TS L
044016,000063:
044017,000064: 5552 30002 CA Q
044018,000065: 5553 22006 LXCH BBANK
044019,000066: 5554 00004 +4 INHINT
044020,000067: 5555 13114 TCF CHANJOB
044021,000068:
044022,000069: # TO SUSPEND AN INTERPRETIVE JOB:
044023,000070:
044024,000071: 5556 35613 CHANG2 CAF EXECBANK
044025,000072: # ITRACE (4) REFERS TO "CHANG2".
044026,000073: 5557 54006 TS BBANK
044027,000074: 5560 40154 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
044028,000075: 5561 22155 LXCH BANKSET # BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
044029,000076:
044030,000077: 5562 15554 TCF CHANG1 +4
044031,000078:
![]() |
Page 989 |
044033,000080:
044034,000081: # TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
044035,000082:
044036,000083: 5563 54154 JOBSLEEP TS LOC
044037,000084: 5564 35613 CAF EXECBANK
044038,000085: 5565 54004 TS FBANK
044039,000086: 5566 13175 TCF JOBSLP1
044040,000087:
044041,000088: # TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
044042,000089:
044043,000090:
044044,000091: 5567 54065 JOBWAKE TS NEWLOC
044045,000092: 5570 47754 CS TWO # EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
044046,000093: 5571 26002 ADS Q
044047,000094: 5572 35613 CAF EXECBANK
044048,000095: 5573 56004 XCH FBANK
044049,000096: 5574 13206 TCF JOBWAKE2
044050,000097:
044051,000098: # TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
044052,000099:
044053,000100: 5575 00004 PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
044054,000101: 5576 54063 TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
044055,000102: 5577 35613 CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
044056,000103: 5600 56006 XCH BBANK # STYLE CHANGE-JOB.
044057,000104: 5601 54155 TS BANKSET
044058,000105: 5602 30002 CA Q
044059,000106: 5603 13255 TCF PRIOCH2
044060,000107:
044061,000108: # TO FREE THE DISPLAY BEFORE ENDOFJOB:
044062,000109:
044063,000110: 5604 04713 EJFREE TC FREEDSP
044064,000111:
044065,000112: # TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
044066,000113:
044067,000114: 5605 35613 ENDOFJOB CAF EXECBANK
044068,000115: 5606 54004 TS FBANK
044069,000116: 5607 13266 TCF ENDJOB1
044070,000117:
044071,000118: 5610 30061 ENDFIND CA EXECTEM1 # RETURN TO CALLER AFTER JOB ENTRY
044072,000119: 5611 54004 TS FBANK # COMPLETE.
044073,000120: 5612 17010 TCF Q+2
044074,000121: 5613 03014 EXECBANK CADR FINDVAC2
044075,000122:
![]() |
Page 990 |
044077,000124:
044078,000125: # LOCATE AN AVAILABLE VAC AREA.
044079,000126:
044080,000127: 01,3014 BANK 01
044081,000128: 01,3014 54061 FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
044082,000129: 01,3015 10431 CCS VAC1USE
044083,000130: 01,3016 13031 TCF VACFOUND
044084,000131: 01,3017 10505 CCS VAC2USE
044085,000132: 01,3020 13031 TCF VACFOUND
044086,000133: 01,3021 10561 CCS VAC3USE
044087,000134: 01,3022 13031 TCF VACFOUND
044088,000135: 01,3023 10635 CCS VAC4USE
044089,000136: 01,3024 13031 TCF VACFOUND
044090,000137: 01,3025 10711 CCS VAC5USE
044091,000138: 01,3026 13031 TCF VACFOUND
044092,000139:
044093,000140: 01,3027 06000 TC ABORT
044094,000141: 01,3030 01201 OCT 1201 # NO VAC AREAS.
044095,000142:
044096,000143: 01,3031 67754 VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
044097,000144: 01,3032 22007 ZL # IN ITS VAC USE REGISTER AND STORE THE
044098,000145: 01,3033 50000 INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
044099,000146: 01,3034 21777 LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
044100,000147: 01,3035 26063 ADS NEWPRIO
044101,000148:
044102,000149: 01,3036 37761 NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
044103,000150:
044104,000151: 01,3037 54064 TS LOCCTR
044105,000152: 01,3040 33045 CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
044106,000153: 01,3041 54062 NOVAC3 TS EXECTEM2
044107,000154: 01,3042 50064 INDEX LOCCTR
044108,000155: 01,3043 10157 CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
044109,000156: 01,3044 13105 TCF NEXTCORE # THE CORRESPONDING CORE SET IS AVAILABLE.
044110,000157: 01,3045 00006 NO.CORES DEC 6 B-14
044111,000158: 01,3046 13105 TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
044112,000159: # BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
044113,000160:
![]() |
Page 991 |
044115,000162:
044116,000163: 01,3047 30063 CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
044117,000164: 01,3050 50064 INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
044118,000165: 01,3051 54157 TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
044119,000166: 01,3052 75360 MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR
044120,000167: 01,3053 50064 INDEX LOCCTR
044121,000168: 01,3054 54156 TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
044122,000169:
044123,000170: 01,3055 10064 CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
044124,000171: 01,3056 13072 TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY.
044125,000172: 01,3057 54111 TS OVFIND
044126,000173: 01,3060 30156 CA PUSHLOC
044127,000174: 01,3061 54110 TS FIXLOC
044128,000175:
044129,000176: 01,3062 10067 SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
044130,000177: 01,3063 13072 TCF SETLOC # MUST BE AWAKENED BUT UNCHANGED JOB.
044131,000178: 01,3064 04725 TC CCSHOLE
044132,000179: 01,3065 04725 TC CCSHOLE
044133,000180: 01,3066 54067 TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
044134,000181: 01,3067 52066 DXCH NEWLOC
044135,000182:
044136,000183: 01,3070 52155 DXCH LOC
044137,000184: 01,3071 15610 TCF ENDFIND
044138,000185:
044139,000186: 01,3072 52066 SETLOC DXCH NEWLOC # SET UP THE LOCATION REGISTERS FOR THIS
044140,000187: 01,3073 50064 INDEX LOCCTR
044141,000188: 01,3074 52155 DXCH LOC
044142,000189: 01,3075 50067 INDEX NEWJOB # THIS INDEX INSTRUCTION INSURES THAT THE
044143,000190: 01,3076 40157 CS PRIORITY # HIGHEST ACTIVE PRIORITY WILL BE COMPARED
044144,000191: 01,3077 60063 AD NEWPRIO # WITH THE NEW PRIORITY TO SEE IF NEWJOB
044145,000192: 01,3100 00006 EXTEND # SHOULD BE SET TO SIGNAL A SWITCH.
044146,000193:
044147,000194: 01,3101 65610 BZMF ENDFIND
044148,000195: 01,3102 30064 CA LOCCTR # LOCCTR IS LEFT SET AT THIS CORE SET IF
044149,000196: 01,3103 54067 TS NEWJOB # THE CALLER WANTS TO LOAD ANY MPAC
044150,000197: 01,3104 15610 TCF ENDFIND # REGISTERS, ETC.
044151,000198:
044152,000199: 01,3105 33216 NEXTCORE CAF COREINC
044153,000200: 01,3106 26064 ADS LOCCTR
044154,000201: 01,3107 10062 CCS EXECTEM2
044155,000202: 01,3110 13041 TCF NOVAC3
044156,000203: 01,3111 06000 TC ABORT # NO CORE SETS.
044157,000204: 01,3112 01202 OCT 1202
044158,000205:
![]() |
Page 992 |
044160,000207:
044161,000208: # THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
044162,000209:
044163,000210: 01,3113 52155 -1 DXCH LOC
044164,000211: 01,3114 50067 CHANJOB INDEX NEWJOB # LOC ARRIVES IN A AND BBANK IN L.
044165,000212: 01,3115 52155 DXCH LOC
044166,000213: 01,3116 52155 DXCH LOC
044167,000214:
044168,000215: 01,3117 52145 DXCH MPAC # SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
044169,000216: 01,3120 50067 INDEX NEWJOB
044170,000217: 01,3121 52145 DXCH MPAC
044171,000218: 01,3122 52145 DXCH MPAC
044172,000219: 01,3123 52147 DXCH MPAC +2
044173,000220: 01,3124 50067 INDEX NEWJOB
044174,000221:
044175,000222: 01,3125 52147 DXCH MPAC +2
044176,000223: 01,3126 52147 DXCH MPAC +2
044177,000224: 01,3127 52151 DXCH MPAC +4
044178,000225: 01,3130 50067 INDEX NEWJOB
044179,000226: 01,3131 52151 DXCH MPAC +4
044180,000227: 01,3132 52151 DXCH MPAC +4
044181,000228: 01,3133 52153 DXCH MPAC +6
044182,000229: 01,3134 50067 INDEX NEWJOB
044183,000230: 01,3135 52153 DXCH MPAC +6
044184,000231: 01,3136 52153 DXCH MPAC +6
044185,000232:
044186,000233: 01,3137 37761 CAF ZERO
044187,000234:
044188,000235: 01,3140 56111 XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
044189,000236: 01,3141 00006 EXTEND
044190,000237: 01,3142 13145 BZF +3
044191,000238: 01,3143 40156 CS PUSHLOC
044192,000239: 01,3144 54156 TS PUSHLOC
044193,000240:
044194,000241: 01,3145 52157 DXCH PUSHLOC
044195,000242: 01,3146 50067 INDEX NEWJOB
044196,000243: 01,3147 52157 DXCH PUSHLOC
044197,000244: 01,3150 52157 DXCH PUSHLOC # SWAPS PUSHLOC AND PRIORITY.
044198,000245:
044199,000246: 01,3151 35360 CAF LOW9 # SET FIXLOC TO BASE OF VAC AREA.
044200,000247: 01,3152 70157 MASK PRIORITY
044201,000248: 01,3153 54110 TS FIXLOC
044202,000249:
044203,000250: 01,3154 10156 CCS PUSHLOC # SET OVERFLOW INDICATOR ACCORDING TO
044204,000251: 01,3155 37761 CAF ZERO
044205,000252: 01,3156 13163 TCF ENDPRCHG -1
044206,000253: 01,3157 40156 CS PUSHLOC
044207,000254: 01,3160 54156 TS PUSHLOC
044208,000255: 01,3161 37755 CAF ONE
044209,000256: 01,3162 56111 XCH OVFIND
044210,000257: 01,3163 54067 TS NEWJOB
044211,000258:
044212,000259: 01,3164 00003 ENDPRCHG RELINT
044213,000260: 01,3165 52155 DXCH LOC # BASIC JOBS HAVE POSITIVE ADDRESSES, SO
044214,000261:
![]() |
Page 993 |
044216,000263:
044217,000264: 01,3166 00006 EXTEND # DISPATCH WITH A DTCB.
044218,000265: 01,3167 63171 BZMF +2 # IF INTERPRETIVE, SET UP EBANK, ETC.
044219,000266: 01,3170 52006 DTCB
044220,000267:
![]() |
Page 994 |
044222,000269: 01,3171 40000 COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
044223,000270:
044224,000271: 01,3172 67755 AD ONE
044225,000272: 01,3173 54154 TS LOC # RESUME.
044226,000273: 01,3174 16112 TCF INTRSM
044227,000274:
044228,000275: # COMPLETE JOBSLEEP PREPARATIONS.
044229,000276:
044230,000277: 01,3175 00004 JOBSLP1 INHINT
044231,000278: 01,3176 40157 CS PRIORITY # NNZ PRIORITY SHOWS JOB ASLEEP.
044232,000279: 01,3177 54157 TS PRIORITY
044233,000280: 01,3200 36130 CAF LOW7
044234,000281: 01,3201 70006 MASK BBANK
044235,000282: 01,3202 54155 TS BANKSET
044236,000283:
044237,000284: 01,3203 47761 CS ZERO
044238,000285: 01,3204 54121 JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
044239,000286: 01,3205 13276 TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
044240,000287:
![]() |
Page 995 |
044242,000289:
044243,000290: # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
044244,000291: # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
044245,000292: # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
044246,000293:
044247,000294: 01,3206 54061 JOBWAKE2 TS EXECTEM1
044248,000295: 01,3207 37761 CAF ZERO # BEGIN CORE SET SCAN.
044249,000296:
044250,000297: 01,3210 54064 TS LOCCTR
044251,000298: 01,3211 33045 CAF NO.CORES
044252,000299: 01,3212 54062 JOBWAKE4 TS EXECTEM2
044253,000300: 01,3213 50064 INDEX LOCCTR
044254,000301: 01,3214 10157 CCS PRIORITY
044255,000302: 01,3215 13220 TCF JOBWAKE3 # ACTIVE JOB - CHECK NEXT CORE SET.
044256,000303: 01,3216 00014 COREINC DEC 12 B-14 # 12 REGISTERS PER CORE SET.
044257,000304: 01,3217 13227 TCF WAKETEST # SLEEPING JOB - SEE IF CADR MATCHES.
044258,000305:
044259,000306: 01,3220 33216 JOBWAKE3 CAF COREINC
044260,000307: 01,3221 26064 ADS LOCCTR
044261,000308: 01,3222 10062 CCS EXECTEM2
044262,000309:
044263,000310: 01,3223 13212 TCF JOBWAKE4
044264,000311: 01,3224 47755 CS ONE # EXIT IF SLEEPING JOB NOT FOUND.
044265,000312: 01,3225 54064 TS LOCCTR
044266,000313: 01,3226 15610 TCF ENDFIND
044267,000314:
044268,000315: 01,3227 40065 WAKETEST CS NEWLOC
044269,000316: 01,3230 50064 INDEX LOCCTR
044270,000317: 01,3231 60154 AD LOC
044271,000318: 01,3232 00006 EXTEND
044272,000319: 01,3233 13235 BZF +2 # IF MATCH.
044273,000320:
044274,000321: 01,3234 13220 TCF JOBWAKE3 # EXAMINE NEXT CORE SET IF NO MATCH.
044275,000322:
044276,000323: 01,3235 50064 INDEX LOCCTR # RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
044277,000324: 01,3236 40157 CS PRIORITY
044278,000325: 01,3237 54063 TS NEWPRIO
044279,000326: 01,3240 50064 INDEX LOCCTR
044280,000327: 01,3241 54157 TS PRIORITY
044281,000328:
044282,000329: 01,3242 46331 CS FBANKMSK # MAKE UP THE 2CADR OF THE WAKE ADDRESS
044283,000330: 01,3243 70065 MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
044284,000331: 01,3244 67743 AD 2K # HALF OF BBANK SAVED IN BANKSET.
044285,000332: 01,3245 56065 XCH NEWLOC
044286,000333:
044287,000334: 01,3246 76331 MASK FBANKMSK
044288,000335: 01,3247 50064 INDEX LOCCTR
044289,000336: 01,3250 60155 AD BANKSET
044290,000337: 01,3251 54066 TS NEWLOC +1
044291,000338:
044292,000339: 01,3252 10064 CCS LOCCTR # SPECIAL TREATMENT IF THIS JOB WAS
044293,000340: 01,3253 13072 TCF SETLOC # ALREADY IN THE RUN (0) POSITION.
044294,000341: 01,3254 13062 TCF SPECTEST
044295,000342:
![]() |
Page 996 |
044297,000344:
044298,000345: # PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
044299,000346:
044300,000347: 01,3255 54154 PRIOCH2 TS LOC
044301,000348: 01,3256 37761 CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
044302,000349: 01,3257 54120 TS BUF # JOB IS STILL HIGHEST PRIORITY.
044303,000350: 01,3260 35360 CAF LOW9
044304,000351: 01,3261 70157 MASK PRIORITY
044305,000352: 01,3262 60063 AD NEWPRIO
044306,000353: 01,3263 54157 TS PRIORITY
044307,000354: 01,3264 40000 COM
044308,000355: 01,3265 13204 TCF JOBSLP2 # AND TO EJSCAN.
044309,000356:
![]() |
Page 997 |
044311,000358:
044312,000359: # RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
044313,000360:
044314,000361: 01,3266 00004 ENDJOB1 INHINT
044315,000362: 01,3267 47761 CS ZERO
044316,000363: 01,3270 54121 TS BUF +1
044317,000364: 01,3271 56157 XCH PRIORITY
044318,000365: 01,3272 75360 MASK LOW9
044319,000366: 01,3273 10000 CCS A
044320,000367:
044321,000368: 01,3274 50000 INDEX A
044322,000369: 01,3275 54000 TS 0
044323,000370:
044324,000371: 01,3276 10173 EJSCAN CCS PRIORITY +12D
044325,000372: 01,3277 03343 TC EJ1
044326,000373: 01,3300 04725 TC CCSHOLE
044327,000374: 01,3301 13302 TCF +1
044328,000375:
044329,000376: 01,3302 10207 CCS PRIORITY +24D # EXAMINE EACH PRIORITY REGISTER TO FIND
044330,000377: 01,3303 03343 TC EJ1 # THE JOB OF HIGHEST ACTIVE PRIORITY.
044331,000378:
044332,000379: 01,3304 04725 TC CCSHOLE
044333,000380: 01,3305 13306 TCF +1
044334,000381:
044335,000382: 01,3306 10223 CCS PRIORITY +36D
044336,000383: 01,3307 03343 TC EJ1
044337,000384: 01,3310 67620 -CCSPR -CCS PRIORITY
044338,000385: 01,3311 13312 TCF +1
044339,000386:
044340,000387: 01,3312 10237 CCS PRIORITY +48D
044341,000388: 01,3313 03343 TC EJ1
044342,000389: 01,3314 04725 TC CCSHOLE
044343,000390: 01,3315 13316 TCF +1
044344,000391:
044345,000392: 01,3316 10253 CCS PRIORITY +60D
044346,000393: 01,3317 03343 TC EJ1
044347,000394: 01,3320 04725 TC CCSHOLE
044348,000395: 01,3321 13322 TCF +1
044349,000396:
044350,000397: 01,3322 10267 CCS PRIORITY +72D
044351,000398: 01,3323 03343 TC EJ1
044352,000399: 01,3324 04725 TC CCSHOLE
044353,000400: 01,3325 13326 TCF +1
044354,000401:
![]() |
Page 998 |
044356,000403:
044357,000404: # EVALUATE THE RESULTS OF THE SCAN.
044358,000405:
044359,000406: 01,3326 10121 CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
044360,000407: 01,3327 04725 TC CCSHOLE
044361,000408: 01,3330 04725 TC CCSHOLE
044362,000409:
044363,000410: 01,3331 13333 TCF +2
044364,000411: 01,3332 15614 TCF DUMMYJOB
044365,000412: 01,3333 10120 CCS BUF # BUF IS ZERO IF THIS IS A PRIOCHNG AND
044366,000413: 01,3334 13336 TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
044367,000414: 01,3335 13164 TCF ENDPRCHG
044368,000415:
044369,000416: 01,3336 50000 INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
044370,000417: 01,3337 27777 CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
044371,000418:
044372,000419: 01,3340 63310 AD -CCSPR
044373,000420: 01,3341 54067 TS NEWJOB
044374,000421: 01,3342 13113 TCF CHANJOB -1
044375,000422:
044376,000423: 01,3343 54122 EJ1 TS BUF +2
044377,000424: 01,3344 60121 AD BUF +1 # - OLD HIGH PRIORITY.
044378,000425: 01,3345 10000 CCS A
044379,000426: 01,3346 40122 CS BUF +2
044380,000427: 01,3347 13353 TCF EJ2 # NEW HIGH PRIORITY.
044381,000428: 01,3350 13351 NOOP
044382,000429:
044383,000430: 01,3351 50002 INDEX Q
044384,000431: 01,3352 00002 TC 2 # PROCEED WITH SEARCH.
044385,000432:
044386,000433: 01,3353 54121 EJ2 TS BUF +1
044387,000434: 01,3354 00006 EXTEND
044388,000435: 01,3355 22120 QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
044389,000436: 01,3356 50120 INDEX BUF
044390,000437: 01,3357 00002 TC 2
044391,000438:
![]() |
Page 999 |
044393,000440:
044394,000441: # IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
044395,000442: # BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
044396,000443:
044397,000444: 5614 BLOCK 02
044398,000445: 5614 1356 EBANK= SELFRET # SELF-CHECK STORAGE IN EBANK.
044399,000446:
044400,000447: 5614 47761 DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
044401,000448: 5615 54067 TS NEWJOB
044402,000449: 5616 00003 RELINT
044403,000450: 5617 47754 CS TWO # TURN OFF THE ACTIVITY LIGHT.
044404,000451: 5620 00006 EXTEND
044405,000452: 5621 03011 WAND DSALMOUT
044406,000453: 5622 15625 TCF CHECKNJ +2
044407,000454:
044408,000455: 5623 00006 CHECKNJ EXTEND # SPECIAL NEWJOB TEST FOR SELF-CHECK,
044409,000456: 5624 23356 QXCH SELFRET # WHICH RUNS UNDER EXECUTIVE CONTROL,
044410,000457: 5625 10067 +2 CCS NEWJOB # BUT DOES NOT HAVE A JOBS CORE REGISTERS.
044411,000458: 5626 15640 TCF NUCHANGE # NEW JOB REQUIRING A CHANGE JOB.
044412,000459: 5627 37754 CAF TWO # NEW JOB ALREADY IN POSITION FOR
044413,000460:
044414,000461: 5630 15634 TCF NUDIRECT # EXECUTION.
044415,000462:
044416,000463: 5631 35647 ADVAN CAF SELFBANK # (SIMULATOR ADVAN IF NEWJOB = 77777).
044417,000464: 5632 54006 TS BBANK
044418,000465: 5633 01356 TC SELFRET
044419,000466:
044420,000467: 5634 00006 NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
044421,000468: 5635 05011 WOR DSALMOUT
044422,000469: 5636 52155 DXCH LOC # JOBS STARTED IN THIS FASHION MUST BE
044423,000470: 5637 52006 DTCB # BASIC.
044424,000471:
044425,000472: 5640 37754 NUCHANGE CAF TWO
044426,000473: 5641 00006 EXTEND
044427,000474: 5642 05011 WOR DSALMOUT
044428,000475: 5643 35613 CAF EXECBANK # SWAP CORE SETS.
044429,000476: 5644 54004 TS FBANK
044430,000477: 5645 00004 INHINT # CHANGE JOBS
044431,000478: 5646 13113 TCF CHANJOB -1
044432,000479:
044433,000480: 5647 1356 EBANK= SELFRET
044434,000481: 5647 76062 SELFBANK BBCON SELFCHK
044435,000482:
![]() |
Page 1000 |
044437,000484:
044438,000485: # PRIORITY CONSTANTS (NOTE IN FIXED-FIXED).
044439,000486:
044440,000487: 5650 7744 PRIO1 EQUALS BIT10
044441,000488: 5650 7743 PRIO2 EQUALS BIT11
044442,000489: 5650 03000 PRIO3 OCT 03000
044443,000490: 5651 7742 PRIO4 EQUALS BIT12
044444,000491: 5651 05000 PRIO5 OCT 05000
044445,000492: 5652 06000 PRIO6 OCT 06000
044446,000493: 5653 07000 PRIO7 OCT 07000
044447,000494: 5654 7741 PRIO10 EQUALS BIT13
044448,000495: 5654 11000 PRIO11 OCT 11000
044449,000496: 5655 5252 PRIO12 = BNKJUP+4
044450,000497:
044451,000498: 5655 13000 PRIO13 OCT 13000
044452,000499: 5656 14000 PRIO14 OCT 14000
044453,000500: 5657 15000 PRIO15 OCT 15000
044454,000501: 5660 16000 PRIO16 OCT 16000
044455,000502: 5661 17000 PRIO17 OCT 17000
044456,000503: 5662 7740 PRIO20 EQUALS BIT14
044457,000504: 5662 21000 PRIO21 OCT 21000
044458,000505: 5663 22000 PRIO22 OCT 22000
044459,000506: 5664 23000 PRIO23 OCT 23000
044460,000507: 5665 4260 PRIO24 = NUFAZ+10
044461,000508: 5665 25000 PRIO25 OCT 25000
044462,000509: 5666 26000 PRIO26 OCT 26000
044463,000510:
044464,000511: 5667 27000 PRIO27 OCT 27000
044465,000512: 5670 5226 PRIO30 = BNKCAL+2
044466,000513: 5670 31000 PRIO31 OCT 31000
044467,000514: 5671 32000 PRIO32 OCT 32000
044468,000515: 5672 33000 PRIO33 OCT 33000
044469,000516: 5673 34000 PRIO34 OCT 34000
044470,000517: 5674 35000 PRIO35 OCT 35000
044471,000518: 5675 36000 PRIO36 OCT 36000
044472,000519: 5676 37000 PRIO37 OCT 37000
044473,000520:
044474,000521: # EBANK CONSTANTS IN FIXED-FIXED
044475,000522:
044476,000523: 5677 5370 EBANK3 EQUALS OCT1400
044477,000524: 5677 7743 EBANK4 EQUALS BIT11
044478,000525: 5677 02400 EBANK5 OCTAL 02400
044479,000526: 5700 5650 EBANK6 EQUALS PRIO3
044480,000527: 5700 03400 EBANK7 OCTAL 03400
End of include-file EXECUTIVE.agc. Parent file is MAIN.agc