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