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