Source Code
![]() |
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the
second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
056550,000002: ## Copyright: Public domain.
056551,000003: ## Filename: PHASE_TABLE_MAINTENANCE.agc
056552,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
056553,000005: ## otherwise known as Luminary Rev 99, the second release
056554,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
056555,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
056556,000008: ## placement of a single label. The corrections shown here have
056557,000009: ## been verified to have the same bank checksums as AGC developer
056558,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
056559,000011: ## to be accurate. This file is intended to be a faithful
056560,000012: ## recreation, except that the code format has been changed to
056561,000013: ## conform to the requirements of the yaYUL assembler rather than
056562,000014: ## the original YUL assembler.
056563,000015: ##
056564,000016: ## Assembler: yaYUL
056565,000017: ## Contact: Onno Hommes <ohommes@cmu.edu>.
056566,000018: ## Website: www.ibiblio.org/apollo.
056567,000019: ## Pages: 1294-1302
056568,000020: ## Mod history: 2009-05-26 OH Transcribed from page images.
056569,000021: ## 2009-06-05 RSB A few lines at the bottom of page image
056570,000022: ## 1294 were truncated. I've fixed the page
056571,000023: ## image and added those missing lines here.
056572,000024: ## 2011-05-07 JL Flagged SBANK= workaround for future
056573,000025: ## removal.
056574,000026: ## 2016-12-17 RSB Proofed text comments with octopus/ProoferComments
056575,000027: ## and corrected the errors found.
056576,000028: ## 2017-01-28 RSB Back-ported a comment-text fix from Luminary 69.
056577,000029: ## 2017-03-14 RSB Comment-text fixes noted in proofing Luminary 116.
056578,000030: ## 2017-03-16 RSB Comment-text fixes identified in 5-way
056579,000031: ## side-by-side diff of Luminary 69/99/116/131/210.
056580,000032: ## 2017-06-17 MAS Globally removed all SBANK= workarounds.
056581,000033: ## 2017-08-01 MAS Created from LMY99 Rev 1.
056582,000034:
056583,000035: ## This source code has been transcribed or otherwise adapted from
056584,000036: ## digitized images of a hardcopy from the MIT Museum. The digitization
056585,000037: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
056586,000038: ## the Museum. Many thanks to both. The images (with suitable reduction
056587,000039: ## in storage size and consequent reduction in image quality as well) are
056588,000040: ## available online at www.ibiblio.org/apollo. If for some reason you
056589,000041: ## find that the images are illegible, contact me at info@sandroid.org
056590,000042: ## about getting access to the (much) higher-quality images which Paul
056591,000043: ## actually created.
056592,000044: ##
056593,000045: ## The code has been modified to match LMY99 Revision 0, otherwise
056594,000046: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
056595,000047: ## the listing from which it was transcribed. It has been verified to
056596,000048: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
056597,000049: ## of Luminary Revision 99 (for which we do not have scans).
056598,000050: ##
056599,000051: ## Notations on Allan Klumpp's listing read, in part:
056600,000052: ##
056601,000053: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
056602,000054:
![]() |
Page 1294 |
056604,000056: # SUBROUTINE TO UPDATE THE PROGRAM NUMBER DISPLAY ON THE DSKY.
056605,000057:
056606,000058: 43,3724 COUNT* $$/PHASE
056607,000059: 5311 BLOCK 02
056608,000060: 4000 SETLOC FFTAG1
056609,000061: 4000 BANK
056610,000062:
056611,000063: 5311 50002 NEWMODEX INDEX Q # UPDATE MODREG. ENTRY FOR MODE IN FIXED.
056612,000064: 5312 30000 CAF 0
056613,000065: 5313 24002 INCR Q
056614,000066:
056615,000067: 5314 55011 NEWMODEA TS MODREG # ENTRY FOR MODE IN A.
056616,000068: 5315 35320 MMDSPLAY CAF +3 # DISPLAY MAJOR MODE.
056617,000069: 5316 22006 PREBJUMP LXCH BBANK # PUTS BBANK IN L
056618,000070: 5317 14640 TCF BANKJUMP # PUTS Q INTO A
056619,000071: 5320 20213 CADR SETUPDSP
056620,000072:
056621,000073: # RETURN TO CALLER +3 IF MODE = THAT AT CALLER +1. OTHERWISE RETURN TO CALLER +2.
056622,000074:
056623,000075: 5321 50002 CHECKMM INDEX Q
056624,000076: 5322 40000 CS 0
056625,000077: 5323 61011 AD MODREG
056626,000078: 5324 00006 EXTEND
056627,000079: 5325 16741 BZF Q+2
056628,000080: 5326 16737 TCF Q+1 # NO MATCH
056629,000081:
056630,000082: 5327 6742 TCQ = Q+2 +1
056631,000083:
056632,000084: 14,3774 BANK 14
056633,000085: 10,2000 SETLOC PHASETAB
056634,000086: 10,2000 BANK
056635,000087:
056636,000088: 10,2213 COUNT* $$/PHASE
056637,000089: 10,2213 00004 SETUPDSP INHINT
056638,000090: 10,2214 52071 DXCH RUPTREG1 # SAVE CALLER-S RETURN 2CADR
056639,000091: 10,2215 34355 CAF PRIO30 # EITHER A TASK OR JOB CAN COME TO
056640,000092: 10,2216 05072 TC NOVAC # NEWMODE X
056641,000093: 10,2217 1011 EBANK= MODREG
056642,000094: 10,2217 03534 60102 2CADR DSPMMJOB
056643,000095:
056644,000096: 10,2221 52071 DXCH RUPTREG1
056645,000097: 10,2222 00003 RELINT
056646,000098: 10,2223 52006 DXCH Z # RETURN
056647,000099:
056648,000100: 10,2224 40,3534 DSPMMJOB EQUALS DSPMMJB
056649,000101:
056650,000102: 5327 BLOCK 02
056651,000103: 4000 SETLOC FFTAG1
056652,000104: 4000 BANK
056653,000105:
![]() |
Page 1295 |
056655,000107: # PHASCHNG IS THE MAIN WAY OF MAKING PHASE CHANGES FOR RESTARTS. THERE ARE THREE FORMS OF PHASCHNG, KNOWN AS TYPE
056656,000108: # A, TYPE B, AND TYPE C. THEY ARE ALL CALLED AS FOLLOWS, WHERE OCT XXXXX CONTAINS THE PHASE INFORMATION,
056657,000109: # TC PHASCHNG
056658,000110: # OCT XXXXX
056659,000111: # TYPE A IS CONCERNED WITH FIXED PHASE CHANGES, THAT IS, PHASE INFORMATION THAT IS STORED PERMANENTLY. THESE
056660,000112: # OPTIONS ARE, WHERE G STANDS FOR A GROUP AND .X FOR THE PHASE,
056661,000113: # G.0 INACTIVE, WILL NOT PERMIT A GROUP G RESTART
056662,000114: # G.1 WILL CAUSE THE LAST DISPLAY TO BE REACTIVATED, USED MAINLY IN MANNED FLIGHTS
056663,000115: # G.EVEN A DOUBLE TABLE RESTART, CAN CAUSE ANY COMBINATION OF TWO JOBS, TASKS, AND/OR
056664,000116: # LONGCALL TO BE RESTARTED.
056665,000117: # G.ODD NOT .1 A SINGLE TABLE RESTART, CAN CAUSE EITHER A JOB, TASK, OR LONGCALL RESTART
056666,000118:
056667,000119: # THIS INFORMATION IS PUT INTO THE OCTAL WORD AFTER TC PHASCHNG AS FOLLOWS
056668,000120: # TL0 00P PPP PPP GGG ,
056669,000121: # WHERE EACH LETTER OR NUMBER STANDS FOR A BIT. THE G:S STAND FOR THE GROUP, OCTAL 1-7, THE P:S FOR THE PHASE,
056670,000122: # OCTAL 0 - 127. 0:S MUST BE 0. IF ONE WISHES TO HAVE THE TBASE OF GROUP G TO BE SET AT THIS TIME,
056671,000123: # T IS SET TO 1, OTHERWISE IT IS SET TO 0. SIMIARLY IF ONE WISHES TO SET LONGBASE, THEN L IS SET TO 1, OTHERWISE
056672,000124: # IT IS SET TO 0. SOME EXAMPLES,
056673,000125: # TC PHASCHNG THIS WILL CAUSE GROUP 3 TO BE SET TO 0,
056674,000126: # OCT 00003 MAKING GROUP 3 INACTIVE
056675,000127:
056676,000128: # TC PHASCHNG IF A RESTART OCCURS THIS WOULD CAUSE
056677,000129: # OCT 00012 GROUP 2 TO RESTART THE LAST DISPLAY
056678,000130:
056679,000131: # TC PHASCHNG THIS SETS THE TBASE OF GROUP 4 AND IN
056680,000132: # OCT 40064 CASE OF A RESTART WOULD START UP THE TWO
056681,000133: # THINGS LOCATED IN THE DOUBLE 4.6 RESTART
056682,000134: # LOCATION
056683,000135:
056684,000136: # TC PHASCHNG THIS SETS LONGBASE AND UPON A RESTART
056685,000137: # OCT 20135 CAUSES 5.13 TO BE RESTARTED (SINCE
056686,000138: # LONGBASE WAS SET THIS SINGLE ENTRY
056687,000139: # SHOULD BE A LONGCALL)
056688,000140:
056689,000141: # TC PHASCHNG SINCE BOTH TBASE4 AND LONGBASE ARE SET,
056690,000142: # OCT 60124 4.12 SHOULD CONTAIN BOTH A TASK AND A
056691,000143: # LONGCALL TO BE RESTARTED
056692,000144:
056693,000145: # TYPE C PHASCHNG CONTAINS THE VARIABLE TYPE OF PHASCHNG INFORMATION. INSTEAD OF THE INFORMATION BEING IN A
056694,000146: # PERMANENT FORM, ONE STORES THE DESIRED RESTART INFORMATION IN A VARIABKE LOCATION. THE BITS ARE AS FOLLOWS,
056695,000147: # TL0 1AD XXX CJW GGG
056696,000148: # WHERE EACH LETTER OR NUMBER STANDS FOR A BIT. THE G:S STAND FOR THE GROUP, OCTAL 1 - 7. IF THE RESTART IS TO
056697,000149: # BE BY WAITLIST, W IS SET TO 1, IF IT IS A JOB, J IS SET TO 1, IF IT IS A LONGCALL, C IS SET TO 1. ONLY ONE OF
056698,000150: # THESE THREE BITS MAY BE SET. X:S ARE IGNORED 1 MUST BE 1, AND 0 MUST BE 0. AGAIN T STANDS FOR THE TBASE,
![]() |
Page 1296 |
056700,000152: # AND L FOR LONGBASE. THE BITS A AND D ARE CONCERNED WITH THE VARIABLE INFORMATION. IF D IS SET TO 1, A PRIORITY
056701,000153: # OR DELTA TIME WILL BE READ FROM THE NEXT LOCATION AFTER THE OCTAL INFORMATION, IF THIS IS TO BE INDIRECT, THAT
056702,000154: # IS, THE NAME OF A LOCATION COMT+INING THE INFORMATION (DELTA TIME ONLY), THEN THIS IS GIVEN AS THE -GENADR OF
056703,000155: # THAT LOCATION WHICH CONTAINS THE DELTA TIME. IF THE OLD PRIORITY OR DELTA TIME IS TO BE USED, THAT WHICH IS
056704,000156: # ALREADY IN THE VARIABLE STORAGE, THEN D IS SET TO 0. NEXT THE A BIT IS USED. IF IT IS SET TO 0, THE ADDRESS
056705,000157: # THAT WOULD BE RESTARTED DURING A RESTART IS THE NEXT LOCATION AFTER THE PHASE INFORMATION, THAT IS, EITHER
056706,000158: # (TC PHASCHNG) +2 OR +3, DEPENDING ON WHETHER D HAD BEEN SET OR NOT. IF A IS SET TO 1, THEN THE ADDRESS THAT
056707,000159: # WOULD BE RESTARTED IS THE 2CADR THAT IS READ FROM THE NEXT TWO LOCATIONS. EXAMPLES,
056708,000160: # AD TC PHASCHNG THIS WOULD CAUSE LOCATION AD +3 TO BE
056709,000161: # AD+1 OCT 05023 RESTARTED BY GROUP THREE WITH A PRIORITY
056710,000162: # AD+2 OCT 23000 OF 23. NOTE UPON RETURNING IT WOULD
056711,000163: # AD+3 ALSO GO TO AD+3
056712,000164:
056713,000165: # AD TC PHASCHNG GROUP 1 WOULD CAUSE CAUSE CALLCALL TO
056714,000166: # AD+1 OCT 27441 BE STARTED AS A LONGCALL FROM THE TIME
056715,000167: # AD+2 -GENADR DELTIME STORED IN LONGBASE (LONGBASE WAS SET) BY
056716,000168: # AD+3 2CADR CALLCALL A DELTA TIME STORED IN DELTIME. THE
056717,000169: # AD+4 BBCON OF THE 2CADR SHOULD CONTAIN THE E
056718,000170: # AD+5 BANK OF DELTIME. PHASCHNG RETURNS TO
056719,000171: # LOCATION AD+5
056720,000172:
056721,000173: # NOTE THAT IF A VARIABLE PRIORITY IS GIVEN FOR A JOB, THE JOB WILL BE RESTARTED AS A NOVAC IF THE PRIORITY IS
056722,000174: # NEGATIVE, AS A FINDVAC IF THE PRIORITY IS POSITIVE.
056723,000175:
056724,000176: # TYPE B PHASCHNG IS A COMBINATION OF VARIABLE AND FIXED PHASE CHANGES. IT WILL START UP A JOB AS INDICATED
056725,000177: # BELOW AND ALSO START UP ONE FIXED RESTART, THAT IS EITHER AN G.1 OR A G.ODD OR THE FIRST ENTRY OF G.EVEN
056726,000178: # DOUBLE ENTRY. THE BIT INFORMATION IS AS FOLLOWS,
056727,000179: # TL1 DAP PPP PPP GGG
056728,000180: # WHERE EACH LETTER OR NUMBER STANDS FOR A BIT. THE G:S STAND FOR THE GROUP, OCTAL 1 - 7. THE P:S FOR THE FIXED
056729,000181: # PHASE INFORMATION, OCTAL 0 - 127. 1 MUST BE 1. AND AGAIN T STANDS FOR THE TBASE AND L FOR LONGBASE. D THIS
056730,000182: # TIME STANDS ONLY FOR PRIORITY SINCE THIS WILL BE CONSIDERED A JOB, AND IT MUST BE GIVEN DIRECTLY IF GIVEN.
056731,000183: # AGAIN A STANDS FOR THE ADDRESS OF THE LOCATION TO BE RESTARTED, 1 IF THE 2CADR IS GIVEN, OR 0 IF IT IS TO BE
056732,000184: # THE NEXT LOCATION. (THE RETURN LOCATION OF PHASCHNG) EXAMPLES,
056733,000185: # AD TC PHASCHNG TBASE IS SET AND A RESTART CAUSE GROUP 3
056734,000186: # AD+1 OCT 56043 TO START THE JOB AJOBAJOB WITH PRIORITY
056735,000187: # AD+2 OCT 31000 31 AND THE FIRST ENTRY OF 3.4SPOT (WE CAN
056736,000188: # AD+3 2CADR AJOBAJOB ASSUME IT IS A TASK SINCE WE SET TBASE3)
056737,000189: # AD+4 UPON RETURN FROM PHASCHNG CONTROL WOULD
056738,000190: # AD+5 GO TO AD+5
056739,000191:
056740,000192: # AD TC PHASCHNG UPON A RESTART THE LAST DISPLAY WOULD BE
056741,000193: # AD+1 OCT 10015 RESTARTED AND A JOB WITH THE PREVIOUSLY
056742,000194: # AD+2 STORED PRIORITY WOULD BE BEGUN AT AD+2
056743,000195: # BY MEANS OF GROUP 5
![]() |
Page 1297 |
056745,000197: # THE NOVAC-FINDVAC CHOICE FOR JOBS HOLDS HERE ALSO - NEGATIVE PRIORITY CAUSES A NOVAC CALL, POSITIVE A FINDVAC.
056746,000198:
056747,000199: # SUMMARY OF BITS
056748,000200: # TYPE A TL0 00P PPP PPP GGG
056749,000201: # TYPE B TL1 DAP PPP PPP GGG
056750,000202: # TYPE C TL0 1AD XXX CJW GGG
056751,000203:
![]() |
Page 1298 |
056753,000205: # 2PHSCHNG IS USED WHEN ONE WISHES TO START UP A GROUP OR CHANGE A GROUP WHILE UNDER THE CONTROL OF A DIFFERENT
056754,000206: # GROUP. FOR EXAMPLE, CHANGE THE PHASE OF GROUP 3 WHILE THE PORTION OF THE PROGRAM IS UNDER GROUP 5. ALL 2PHSCHNG
056755,000207: # CALLS ARE MADE IN THE FOLLOWING MANNER,
056756,000208: # TC 2PHSCHNG
056757,000209: # OCT XXXXX
056758,000210: # OCT YYYYY
056759,000211: # WHERE OCT XXXXX MUST BE OF TYPE A AND OCT YYYYY MAY BE OF EITHER TYPE A OR TYPE B OR TYPE C. THERE IS ONE
056760,000212: # DIFFERENCE --- NOTE- IF LONGBASE IS TO BE SET THIS INFORMATION IS GIVEN IN THE OCT YYYYY INFORMATION, IT WILL
056761,000213: # BE DISREGARDED IF GIVEN WITH THE OCT XXXXX INFORMATION. A COUPLE OF EXAMPLES MAY HELP,
056762,000214: # AD TC 2PHSCHNG SET TBASE3 AND IF A RESTART OCCURS START
056763,000215: # AD+1 OCT 40083 THE TWO ENTRIES IN 3.8 TABLE LOCATION
056764,000216: # AD+2 OCT 05025 THIS IS OF TYPE C, SET THE JOB TO BE
056765,000217: # AD+3 OCT 18000 TO BE LOCATION AD+4, WITH A PRIORITY 18,
056766,000218: # AD+4 FOR GROUP 5 PHASE INFORMATION
056767,000219:
056768,000220: 5327 COUNT* $$/PHASE
056769,000221: 5327 00004 2PHSCHNG INHINT # THE ENTRY FOR A DOUBLE PHASE CHANGE
056770,000222: 5330 50002 NDX Q
056771,000223: 5331 30000 CA 0
056772,000224: 5332 24002 INCR Q
056773,000225: 5333 54072 TS TEMPP2
056774,000226:
056775,000227: 5334 74757 MASK OCT7
056776,000228: 5335 60000 DOUBLE
056777,000229: 5336 54071 TS TEMPG2
056778,000230:
056779,000231: 5337 30072 CA TEMPP2
056780,000232: 5340 75030 MASK OCT17770 # NEED ONLY 1770, BUT WHY GET A NEW CONST.
056781,000233: 5341 00006 EXTEND
056782,000234: 5342 74740 MP BIT12
056783,000235: 5343 56072 XCH TEMPP2
056784,000236:
056785,000237: 5344 74735 MASK BIT15
056786,000238: 5345 54066 TS TEMPSW2 # INDICATES WHETHER TO SET TBASE OR NOT
056787,000239:
056788,000240: 5346 50002 INDEX Q
056789,000241: 5347 30000 CA 0
056790,000242: 5350 24002 INCR Q
056791,000243: 5351 54065 TS TEMPSW
056792,000244:
056793,000245: 5352 15363 TCF PHASJUMP
056794,000246:
056795,000247: 5353 00004 PHASCHNG INHINT # NORMAL PHASCHNG ENTRY POINT.
056796,000248: 5354 50002 INDEX Q
056797,000249: 5355 30000 CA 0
056798,000250: 5356 24002 INCR Q
056799,000251: 5357 00004 PHSCHNGA INHINT # FIRST OCTAL PARAMETER IN A.
![]() |
Page 1299 |
056801,000253: 5360 54065 TS TEMPSW
056802,000254: 5361 34753 CA ONE
056803,000255: 5362 54066 TS TEMPSW2
056804,000256: 5363 00006 PHASJUMP EXTEND
056805,000257: 5364 35367 DCA ADRPCHN2 # OFF TO SWITCHED BANK
056806,000258: 5365 52006 DTCB
056807,000259:
056808,000260: 5366 E3,1400 EBANK= LST1
056809,000261: 5366 02224 20103 ADRPCHN2 2CADR PHSCHNG2
056810,000262:
056811,000263: 5370 22073 ONEORTWO LXCH TEMPBBCN
056812,000264: 5371 22006 LXCH BBANK
056813,000265: 5372 22073 LXCH TEMPBBCN
056814,000266:
056815,000267: 5373 75024 MASK OCT14000 # SEE WHAT KIND OF PHASE CHANGE IT IS
056816,000268: 5374 10000 CCS A
056817,000269: 5375 17750 TCF CHECKB # IT IS OF TYPE :B:
056818,000270:
056819,000271: 5376 30062 CA TEMPP
056820,000272: 5377 74745 MASK BIT7
056821,000273: 5400 10000 CCS A # SHALL WE USE THE OLD PRIORITY
056822,000274: 5401 15423 TCF GETPRIO # NO GET A NEW PRIORITY (OR DELTA T)
056823,000275:
056824,000276: 5402 50061 OLDPRIO NDX TEMPG # USE THE OLD PRIORITY (OR DELTA T)
056825,000277: 5403 31052 CA PHSPRDT1 -2
056826,000278: 5404 54070 TS TEMPPR
056827,000279:
056828,000280: 5405 30062 CON1 CA TEMPP # SEE IF A 2CADR IS GIVEN
056829,000281: 5406 74744 MASK BIT8
056830,000282: 5407 10000 CCS A
056831,000283: 5410 15427 TCF GETNEWNM
056832,000284:
056833,000285: 5411 30002 CA Q
056834,000286: 5412 54063 TS TEMPNM
056835,000287: 5413 30006 CA BB
056836,000288: 5414 00006 EXTEND # PICK UP USERS SUPERBANK
056837,000289: 5415 04007 ROR SUPERBNK
056838,000290: 5416 54064 TS TEMPBB
056839,000291:
056840,000292: 5417 35422 TOCON2 CA CON2ADR # BACK TO SWITCHED BANK
056841,000293: 5420 22073 LXCH TEMPBBCN
056842,000294: 5421 52006 DTCB
056843,000295:
056844,000296: 5422 02312 CON2ADR GENADR CON2
056845,000297:
056846,000298: 5423 50002 GETPRIO NDX Q # DON:T CARE IF DIRECT OR INDIRECT
056847,000299: 5424 30000 CA 0 # LEAVE THAT DECISION TO RESTARTS
056848,000300: 5425 24002 INCR Q # OBTAIN RETURN ADDRESS
![]() |
Page 1300 |
056850,000302: 5426 15404 TCF CON1 -1
056851,000303:
056852,000304: 5427 00006 GETNEWNM EXTEND
056853,000305: 5430 50002 INDEX Q
056854,000306: 5431 30001 DCA 0
056855,000307: 5432 52064 DXCH TEMPNM
056856,000308: 5433 34752 CA TWO
056857,000309: 5434 26002 ADS Q # OBTAIN RETURN ADDRESS
056858,000310:
056859,000311: 5435 15417 TCF TOCON2
056860,000312:
056861,000313: 5436 5024 OCT14000 EQUALS PRIO14
056862,000314: 5436 0061 TEMPG EQUALS ITEMP1
056863,000315: 5436 0062 TEMPP EQUALS ITEMP2
056864,000316: 5436 0063 TEMPNM EQUALS ITEMP3
056865,000317: 5436 0064 TEMPBB EQUALS ITEMP4
056866,000318: 5436 0065 TEMPSW EQUALS ITEMP5
056867,000319: 5436 0066 TEMPSW2 EQUALS ITEMP6
056868,000320: 5436 0070 TEMPPR EQUALS RUPTREG1
056869,000321: 5436 0071 TEMPG2 EQUALS RUPTREG2
056870,000322: 5436 0072 TEMPP2 EQUALS RUPTREG3
056871,000323:
056872,000324: 5436 0073 TEMPBBCN EQUALS RUPTREG4
056873,000325: 5436 0000006 BB EQUALS BBANK
056874,000326:
056875,000327: 14,3774 BANK 14
056876,000328: 10,2000 SETLOC PHASETAB
056877,000329: 10,2000 BANK
056878,000330:
056879,000331: 10,2224 E3,1436 EBANK= PHSNAME1
056880,000332: 10,2224 COUNT* $$/PHASE
056881,000333: 10,2224 22073 PHSCHNG2 LXCH TEMPBBCN
056882,000334: 10,2225 30065 CA TEMPSW
056883,000335: 10,2226 74757 MASK OCT7
056884,000336: 10,2227 60000 DOUBLE
056885,000337: 10,2230 54061 TS TEMPG
056886,000338:
056887,000339: 10,2231 30065 CA TEMPSW
056888,000340: 10,2232 75030 MASK OCT17770
056889,000341: 10,2233 00006 EXTEND
056890,000342: 10,2234 74740 MP BIT12
056891,000343: 10,2235 54062 TS TEMPP
056892,000344:
056893,000345: 10,2236 30065 CA TEMPSW
056894,000346: 10,2237 74101 MASK OCT60000
056895,000347: 10,2240 56065 XCH TEMPSW
056896,000348: 10,2241 75024 MASK OCT14000
056897,000349: 10,2242 10000 CCS A
![]() |
Page 1301 |
056899,000351: 10,2243 15370 TCF ONEORTWO
056900,000352:
056901,000353: 10,2244 30062 CA TEMPP # START STORING THE PHASE INFORMATION
056902,000354: 10,2245 50061 NDX TEMPG
056903,000355: 10,2246 54751 TS PHASE1 -2
056904,000356:
056905,000357: 10,2247 10066 BELOW1 CCS TEMPSW2 # IS IT A PHASCHNG OR A 2PHSCHNG
056906,000358: 10,2250 12264 TCF BELOW2 # IT:S A PHASCHNG
056907,000359:
056908,000360: 10,2251 12252 TCF +1 # IT:S A 2PHSCHNG
056909,000361: 10,2252 40072 CS TEMPP2
056910,000362: 10,2253 22072 LXCH TEMPP2
056911,000363: 10,2254 50071 NDX TEMPG2
056912,000364: 10,2255 52751 DXCH -PHASE1 -2
056913,000365:
056914,000366: 10,2256 10066 CCS TEMPSW2
056915,000367: 10,2257 12260 NOOP # CAN:T GET HERE
056916,000368: 10,2260 12264 TCF BELOW2
056917,000369:
056918,000370: 10,2261 40025 CS TIME1
056919,000371: 10,2262 50071 NDX TEMPG2
056920,000372: 10,2263 55051 TS TBASE1 -2
056921,000373:
056922,000374: 10,2264 10065 BELOW2 CCS TEMPSW # SEE IF WE SHOULD SET TBASE OR LONGBASE
056923,000375: 10,2265 12300 TCF BELOW3 # SET LONGBASE ONLY
056924,000376: 10,2266 12303 TCF BELOW4 # SET NEITHER
056925,000377:
056926,000378: 10,2267 40025 CS TIME1 # SET TBASE TO BEGIN WITH
056927,000379: 10,2270 50061 NDX TEMPG
056928,000380: 10,2271 55051 TS TBASE1 -2
056929,000381:
056930,000382: 10,2272 30065 CA TEMPSW # SHALL WE NOW SET LONGBASE
056931,000383: 10,2273 62276 AD BIT14COM
056932,000384: 10,2274 10000 CCS A
056933,000385: 10,2275 12276 NOOP # ***** CANT GET HERE *****
056934,000386: 10,2276 17777 BIT14COM OCT 17777 # ***** CANT GET HERE *****
056935,000387: 10,2277 12303 TCF BELOW4 # NO WE NEED ONLY SET TBASE
056936,000388:
056937,000389: 10,2300 00006 BELOW3 EXTEND # SET LONGBASE
056938,000390: 10,2301 30025 DCA TIME2
056939,000391: 10,2302 53152 DXCH LONGBASE
056940,000392:
056941,000393: 10,2303 40062 BELOW4 CS TEMPP # AND STORE THE FINAL PART OF THE PHASE
056942,000394: 10,2304 50061 NDX TEMPG
056943,000395: 10,2305 54750 TS -PHASE1 -2
056944,000396:
056945,000397: 10,2306 30002 CA Q
056946,000398: 10,2307 22073 LXCH TEMPBBCN
056947,000399: 10,2310 00003 RELINT
056948,000400: 10,2311 52006 DTCB
![]() |
Page 1302 |
056950,000402: 10,2312 22073 CON2 LXCH TEMPBBCN
056951,000403:
056952,000404: 10,2313 30062 CA TEMPP
056953,000405: 10,2314 50061 NDX TEMPG
056954,000406: 10,2315 54751 TS PHASE1 -2
056955,000407:
056956,000408: 10,2316 30070 CA TEMPPR
056957,000409: 10,2317 50061 NDX TEMPG
056958,000410: 10,2320 55052 TS PHSPRDT1 -2
056959,000411:
056960,000412: 10,2321 00006 EXTEND
056961,000413: 10,2322 30064 DCA TEMPNM
056962,000414: 10,2323 50061 NDX TEMPG
056963,000415: 10,2324 53435 DXCH PHSNAME1 -2
056964,000416:
056965,000417: 10,2325 12247 TCF BELOW1
056966,000418:
056967,000419: 7750 BLOCK 03
056968,000420: 6000 SETLOC FFTAG6
056969,000421: 6000 BANK
056970,000422:
056971,000423: 7750 COUNT* $$/PHASE
056972,000424: 7750 74740 CHECKB MASK BIT12 # SINCE THIS IS OF TYPE B, THIS BIT SHOULD
056973,000425: 7751 10000 CCS A # BE HERE IF WE ARE TO GET A NEW PRIORITY
056974,000426: 7752 15423 TCF GETPRIO # IT IS, SO GET NEW PRIORITY
056975,000427:
056976,000428: 7753 15402 TCF OLDPRIO # IT ISN:T, USE THE OLD PRIORITY
056977,000429:
056978,000430:
End of include-file PHASE_TABLE_MAINTENANCE.agc. Parent file is MAIN.agc