Source Code
These source-code files were transcribed from the Raytheon document "FINAL REPORT:
AUXILIARY MEMORY FOR APOLLO GUIDANCE COMPUTER CONTRACT NAS 9-5994". This code is
unique, in that it was written by Raytheon Corporation, rather than by the MIT
Instrumentation Laboratory, for the purpose of working with the prototype
Auxiliary Memory devices built by Raytheon, though never deployed in a mission.
The AGC software syntax differs slightly
from the more-usual AGC code, because Raytheon clearly had created their own assembler
instead of using the existing YUL or GAP assemblers. The report was obtained from Internet Archive mirrors of the NASA Technical Reports Server (NTRS). The report can be found here and the appendix containing the listing can be found here. Report any problems by creating "issues" at the Virtual AGC Project's GitHub Repository. Notations on the program listing read, in part: SUPER JOB BY SUPER TEAM JAN 8, 1968 |
000002,000002: # Copyright: Public domain.
000003,000003: # Filename: MAIN.agc
000004,000004: # Purpose: Part of the source code for SUPER JOB, a program developed
000005,000005: # at Raytheon to exercise the Auxiliary Memory for the AGC.
000006,000006: # It appears to have been developed from scratch, and shares
000007,000007: # no heritage with any programs from MIT. It was also built
000008,000008: # with a Raytheon assembler rather than YUL or GAP.
000009,000009: # Assembler: yaYUL
000010,000010: # Contact: Ron Burkey <info@sandroid.org>.
000011,000011: # Website: https://www.ibiblio.org/apollo/index.html
000012,000012: # Page Scans: http://www.ibiblio.org/apollo/Documents/R68-4125-Volume2.pdf
000013,000013: # Mod history: 2017-01-27 MAS Created.
000014,000014: #
000015,000015: # MAIN.agc is a little different from the other SuperJob files
000016,000016: # provided, in that it doesn't represent anything that appears
000017,000017: # directly in the original source. What we have done for
000018,000018: # organizational purposes is to split the huge monolithic source
000019,000019: # code into smaller, more manageable chunks--i.e., into individual
000020,000020: # source files. Those files are rejoined within this file as
000021,000021: # "includes". It just makes it a little easier to work with.
000022,000022: # SuperJob doesn't divide quite as nicely as MIT-developed
000023,000023: # programs, so I've simply split out "SPECIAL AND CENTRAL" and
000024,000024: # "CHANNELS" from "SUPER JOB". The split between "SUPER JOB"
000025,000025: # and "AM DEMONSTRATION" appears natural; in fact, the look
000026,000026: # like they were assembled separately.
000027,000027:
000028,000028: # The following note appears on the page preceding the listings
000029,000029: # in the appendix:
000030,000030: # """
000031,000031: # ACM DEMONSTRATION CHANGES
000032,000032:
000033,000033: # NOTE: In order to execute function i of the Utility
000034,000034: # Verb (the word-for-word check using Verb 00)
000035,000035: # the following changes must be made to the
000036,000036: # program:
000037,000037:
000038,000038: # BANK ADDRESS CHANGE TO
000039,000039: # 16 2446 12453
000040,000040: # 16 2453 30007
000041,000041: # 16 2454 54173
000042,000042: # 16 2455 07446
000043,000043: # """
000044,000044: # These notes are replicated next to the relevant addresses
000045,000045: # in SUPER_JOB.agc.
000046,000046:
000047,000047: # Source file name Starting Page
000048,000048: # ---------------- -------------
000049,000049:
000050,000050: $SPECIAL_AND_CENTRAL.agc # D-2
000206,000051: $CHANNELS.agc # D-4
000249,000052: $SUPER_JOB.agc # D-4
002669,000053: $AM_DEMONSTRATION.agc # D-46
013116,000054:
Usage Table for Fixed-Memory Banks
Bank 00: 0000/2000 words used.
Bank 01: 0000/2000 words used.
Bank 02: 1766/2000 words used.
Bank 03: 1774/2000 words used.
Bank 04: 1777/2000 words used.
Bank 05: 1777/2000 words used.
Bank 06: 1777/2000 words used.
Bank 07: 1777/2000 words used.
Bank 10: 1777/2000 words used.
Bank 11: 1777/2000 words used.
Bank 12: 1777/2000 words used.
Bank 13: 1777/2000 words used.
Bank 14: 1777/2000 words used.
Bank 15: 1777/2000 words used.
Bank 16: 0453/2000 words used.
Bank 17: 0000/2000 words used.
Bank 20: 0000/2000 words used.
Bank 21: 0000/2000 words used.
Bank 22: 0000/2000 words used.
Bank 23: 0000/2000 words used.
Bank 24: 0000/2000 words used.
Bank 25: 0000/2000 words used.
Bank 26: 0000/2000 words used.
Bank 27: 0000/2000 words used.
Bank 30: 0000/2000 words used.
Bank 31: 0000/2000 words used.
Bank 32: 0000/2000 words used.
Bank 33: 0000/2000 words used.
Bank 34: 0000/2000 words used.
Bank 35: 0000/2000 words used.
Bank 36: 0000/2000 words used.
Bank 37: 0000/2000 words used.
Bank 40: 0000/2000 words used.
Bank 41: 0000/2000 words used.
Bank 42: 0000/2000 words used.
Bank 43: 0000/2000 words used.
SymbolTable
000001,C: A 0000000 000045,F: BIT14 5656 000089,C: CH11 0000011
000002,F: AAA 4637 000046,F: BIT15 5657 000090,C: CH12 0000012
000003,F: ABORTCER 5700 000047,F: BIT3 7362 000091,C: CH13 0000013
000004,F: ABORTER1 6570 000048,F: BIT4 5654 000092,C: CH14 0000014
000005,F: ABORTER2 6601 000049,F: BIT8 5674 000093,C: CH15 0000015
000006,F: ABORTER3 6654 000050,F: BLANKNA 4605 000094,C: CH16 0000016
000007,F: ABORTL 5675 000051,F: BLANKNRL 4017 000095,C: CH20 0000020
000008,C: ACMFBK 0000165 000052,F: BLANKR1A 4613 000096,C: CH21 0000021
000009,F: ACMFBKA 5737 000053,F: BLANKR2A 4625 000097,C: CH23 0000023
000010,F: ACMONA 5172 000054,F: BLANKR3A 4653 000098,C: CH25 0000025
000011,F: ACMON1A 5221 000055,F: BLKR2R3A 4675 000099,F: CH25ERR 6643
000012,C: ACMSTAT 0000116 000056,F: BLOBA 16,2447 000100,C: CH25LOAD 0000124
000013,C: ADDERA 0000102 000057,C: BMAGX 0000042 000101,F: CH25TBLE 4345
000014,C: ADDHOLD 0000154 000058,C: BMAGY 0000043 000102,C: CH26 0000026
000015,F: ADDPROC 7530 000059,C: BMAGZ 0000044 000103,C: CH27 0000027
000016,F: ADDRESSA 4713 000060,F: BNKGD 16,2171 000104,C: CH3 0000003
000017,F: AGCFAULT 6136 000061,F: BNKNOOK 16,2154 000105,C: CH30 0000030
000018,F: ALL6SL 4340 000062,C: BNKNUMAA 0000163 000106,C: CH31 0000031
000019,F: ALL7SL 4337 000063,C: BNKNUMBA 0000164 000107,C: CH32 0000032
000020,C: ALTM 0000060 000064,C: BNKPR 0000150 000108,C: CH33 0000033
000021,F: AMCHKL 16,2031 000065,C: BNKSHFT 0000156 000109,C: CH34 0000034
000022,F: AMCHKLA 7173 000066,F: BNK3 5702 000110,C: CH35 0000035
000023,F: AMSTAT 5146 000067,F: BNK3A 5660 000111,C: CH4 0000004
000024,F: AMTOGOA 5517 000068,F: BNK34 5703 000112,C: CH7 0000007
000025,C: ARUPT 0000010 000069,F: BNK5 5706 000113,F: CLRACM 7107
================================ 000070,F: BOTEOT6A 5461 000114,F: CLRERROR 7271
000026,C: BANKNO 0000153 000071,F: BOTHGONE 6414 000115,C: CNTDWN1L 0000127
000027,C: BANKNUMA 0000133 000072,F: BOTHN1A 5220 000116,C: CNTDWN2L 0000126
000028,F: BANK536A 5522 000073,F: BOTHONA 5165 000117,F: COMOUT 5462
000029,C: BB 0000006 000074,C: BRUPT 0000017 000118,F: COMROUTN 7045
000030,F: BBA 5007 ================================ 000119,C: CONIN 0000027
000031,C: BBK 0000145 000075,F: CCA 4666 000120,F: CONINERR 6640
000032,F: BBKAA 5743 000076,C: CDUX 0000032 000121,F: CONOTCHK 6216
000033,F: BBKBA 5744 000077,C: CDUXCMD 0000050 000122,C: CONOUT 0000025
000034,F: BBKCA 5752 000078,C: CDUY 0000033 000123,F: CONOUTER 6624
000035,F: BBKDA 5753 000079,C: CDUYCMD 0000051 000124,F: CONTCLR 7116
000036,F: BBKEA 5754 000080,C: CDUZ 0000034 000125,F: CONTDATA 7567
000037,F: BBKFA 5755 000081,C: CDUZCMD 0000052 000126,F: CONTINU 7220
000038,F: BBKGA 5756 000082,F: CENTERL 4023 000127,F: CONTINUE 6376
000039,F: BBKHA 5757 000083,F: CHECK 6255 000128,F: CONTMODE 7501
000040,F: BBKIA 5760 000084,F: CHECKAG 6263 000129,F: CONTSUM 6551
000041,F: BBKJA 5761 000085,F: CHKCNTDN 6725 000130,F: CONTTRNS 7062
000042,C: BBRUPT 0000016 000086,C: CH1 0000001 000131,F: CONTWDCK 7202
000043,F: BEGINL 6153 000087,C: CH10 0000010 000132,F: CONTZCHK 7145
000044,F: BIT13 5655 000088,F: CH10RST 4163 000133,F: CONT1A 5252
000134,F: CONT2A 5270 000176,C: FBCOUNT 0000142 000219,F: HIGH10 5670
000135,F: CONT3A 5314 000177,F: FBFULL 5736 000220,C: HOLD 0000144
000136,C: CORERCNT 0000125 000178,F: FBKPR 16,2277 000221,C: HOLDBKDG 0000160
000137,F: CRTNAFT 7164 000179,F: FEXTA 6110 000222,C: HOLDIT 0000146
000138,C: CYL 0000022 000180,F: FINKBKA 16,2452 000223,C: HOLDNO 0000177
000139,C: CYR 0000020 000181,F: FIRSTBKA 5612 000224,C: HOLD1STB 0000140
000140,F: C1A 5471 000182,F: FIRST5 4012 ================================
000141,F: C2A 5472 000183,F: FIVE 16,2426 000225,F: IDLE 4460
000142,F: C3A 5473 000184,F: FLASHL 4026 000226,F: IDSERRA 6565
================================ 000185,F: FNDTRNSP 6311 000227,F: IDSTAERA 6617
000143,C: DATAHOLD 0000162 000186,F: FOUR1S 5661 000228,F: IDSTAERR 6612
000144,F: DATALD 7542 000187,F: FOUR2S 5662 000229,C: IDSTARTL 0000120
000145,F: DATATRAN 6337 000188,F: FOUR3S 5663 000230,C: IDSTOPL 0000121
000146,C: DCNTL 0000106 000189,F: FOUR4S 5664 000231,F: IDSTPERR 6604
000147,F: DDA 5406 000190,F: FOUR5S 5665 000232,F: INCRBKA 5616
000148,F: DEVIDES 6343 000191,F: FOUR6S 5666 000233,C: INCRDEDA 0000132
000149,C: DEXA 0000061 000192,F: FPARPRO 6115 000234,F: INCREB 7257
000150,F: DISPITL 16,2117 000193,F: FRSTDIG 4414 000235,F: INCREBA 7265
000151,F: DISPLAY 4506 000194,F: FULLESS2 5745 000236,F: INCRERRC 6425
000152,C: DISYES 0000135 000195,C: FXDOVFLO 0013777 000237,F: INCRFB 5707
000153,F: D10 4022 000196,F: FXDPR 5631 000238,F: INKFB 6545
000154,F: D520 4006 000197,C: FXDSUM 0013776 000239,C: INLINK 0000045
================================ ================================ 000240,C: ITA 0000101
000155,C: EB 0000003 000198,C: GETADD 0000151 ================================
000156,C: EBCOUNT 0000141 000199,C: GETDATA 0000161 000241,F: JMPTBL 4032
000157,F: EBFULL 5735 000200,F: GETNXBA 5607 000242,C: JUNKA 0000062
000158,F: EBKEQUIV 5725 000201,F: GETOUT 6102 000243,C: JUNK1L 0000122
000159,F: EBKPR 16,2335 000202,F: GETSUM 7007 ================================
000160,F: EBKPRA 16,2343 000203,F: GOA 5552 000244,F: KEEPGNG 16,2201
000161,F: ECHCKPRO 6121 000204,F: GOATTRNS 5677 000245,F: KYPROC1L 4107
000162,C: EDOP 0000023 000205,F: GOBAA 5566 000246,F: KYPROC2L 4115
000163,C: EIGHTH 0000175 000206,C: GOBAKA 0000104 000247,F: K1RUPT 4024
000164,C: EMSD 0000055 000207,F: GOBBA 5576 000248,F: K2RUPT 4030
000165,F: ENDFBA 5600 000208,F: GODISP 7451 ================================
000166,F: ENDOP 7504 000209,F: GOJAM 4000 000249,C: L 0000001
000167,F: ENTCHK 16,2063 000210,F: GOJAMPR 6017 000250,F: LASTBKA 5615
000168,F: ENTRCDEL 4013 000211,F: GOL 16,2427 000251,F: LASTBNK 5705
000169,F: ENTROK 16,2071 000212,F: GOTOERR 16,2422 000252,F: LAST4A 5521
000170,F: EPARPRO 6111 000213,F: GOTOSUC 16,2423 000253,F: LDBNKL 7515
000171,F: ERRCHKAA 7230 000214,F: GOTRPAC 16,2366 000254,C: LDEBLL 0000203
000172,C: ERRCOUNT 0000143 000215,F: GTNXTBK 16,2431 000255,C: LDFBLL 0000202
000173,F: ERRSTL 4321 000216,C: GYROCTR 0000047 000256,F: LDPN5 16,2265
000174,F: EXITLLL 16,2215 ================================ 000257,C: LEMONM 0000056
================================ 000217,F: HGHTST+1 4016 000258,F: LISTID 7751
000175,C: FB 0000004 000218,F: HIGHLOC 5704 000259,F: LOADSET 7507
000260,C: LOCA 0000134 000303,F: NOUN66 5765 000346,F: PACTRNS 7060
000261,F: LOCCNTDN 6465 000304,F: NOUN67 5717 000347,F: PARTCONA 5115
000262,C: LOCSTOA 0000100 000305,F: NOUN70 5716 000348,F: PART2A 5021
000263,F: LOOKAGAN 6307 000306,F: NOUN71 5715 000349,F: PFS 5673
000264,F: LOOKUPA 4724 000307,F: NOUN72 5714 000350,C: PIPAX 0000037
000265,F: LOW11 5671 000308,F: NOUN73 5713 000351,C: PIPAY 0000040
000266,F: LOW5 5667 000309,F: NOUN74 5712 000352,C: PIPAZ 0000041
000267,C: LRUPT 0000011 000310,F: NOUN75 5711 000353,F: PRERSTL 4171
000268,C: LSTCNT 0000171 000311,F: NOUN76 5710 000354,F: PROCDIGT 4366
================================ 000312,C: NUMA 0000105 000355,F: PROCL 4122
000269,F: MASKA 4712 000313,F: NUMAA 4342 000356,F: PROG 6246
000270,F: MASKAA 4341 000314,C: NWATCH 0000067 000357,C: PUNCH5 0000201
000271,F: MASKBA 4360 ================================ 000358,C: PUNCH6 0000210
000272,F: MASKCA 4361 000315,F: OCT10A 5516 ================================
000273,F: MASKR2CA 5145 000316,F: OCT51010 5762 000359,C: Q 0000002
000274,F: MASKR3CA 5144 000317,F: OCT77A 5617 000360,C: QRUPT 0000012
000275,F: MASK1A 5222 000318,F: OC10 5475 000361,C: QSTORE 0000070
000276,F: MDISPLA 4031 000319,F: OC14 5731 000362,C: QSTORL 0000137
000277,F: MERR 6000 000320,F: OC17 4021 ================================
000278,F: MIKEB 7512 000321,F: OC177 7615 000363,C: RDLD 0000176
000279,F: MINUS20 5763 000322,F: OKNDATA 6270 000364,F: RDORWRTL 6430
000280,F: MINUS6 5764 000323,C: OLDID 0000170 000365,F: READKC25 5741
000281,F: MODESEL 7463 000324,F: ONE 4003 000366,C: READKSTA 0000136
000282,F: MU530A 5512 000325,F: ONEBNK 16,2164 000367,F: READK14 5733
000283,F: MU531A 5513 000326,C: ONETO5 0000172 000368,F: READK15 5734
000284,F: MU532A 5514 000327,F: ONEUPERR 6573 000369,C: READX 0000152
000285,F: MU533A 5515 000328,F: OPERCDL 4025 000370,F: REQCHK 6125
================================ 000329,F: OPERROR 4435 000371,F: RESTRNSP 6634
000286,F: NARTCAPA 7336 000330,C: OPTX 0000036 000372,C: RESUMEA 0000077
000287,C: NEWID 0000167 000331,C: OPTXCMD 0000054 000373,F: RETURNL 4454
000288,F: NOBNKS 16,2145 000332,C: OPTY 0000035 000374,F: RLLD 16,2040
000289,F: NOFLASHL 4027 000333,C: OPTYCMD 0000053 000375,F: RLRD 16,2035
000290,F: NONVERBL 4204 000334,F: OUTCMSET 6075 000376,C: RNRAD 0000046
000291,C: NOOFBNKS 0000200 000335,F: OUTCOML 4320 000377,F: ROUTINA 5117
000292,F: NOTONA 5167 000336,F: OUTCONAA 5465 000378,C: R1 0000073
000293,F: NOTON1A 5217 000337,F: OUTCONBA 5466 000379,C: R1ADD 0000117
000294,C: NOUN 0000072 000338,F: OUTCONCA 5467 000380,F: R1STATLD 6562
000295,F: NOUN56 5742 000339,F: OUTCONDA 5477 000381,C: R2 0000074
000296,F: NOUN57 5740 000340,F: OUTCONEA 5500 000382,C: R3 0000075
000297,F: NOUN60 7616 000341,F: OUTCONFA 5501 ================================
000298,F: NOUN61 5724 000342,F: OUTCONGA 5502 000383,F: SETSW 16,2044
000299,F: NOUN62 5723 000343,C: OUTLINK 0000057 000384,C: SEVENTH 0000174
000300,F: NOUN63 5722 000344,F: OVFLOERR 6666 000385,F: SHEBNK 16,2352
000301,F: NOUN64 5721 000345,C: OVFLOL 0000131 000386,F: SHFBNK 16,2306
000302,F: NOUN65 5720 ================================ 000387,F: SHIFT3L 5643
000388,C: SIXTH 0000173 000432,F: TIME4A 5476 000475,F: V02 5321
000389,F: SMPXTPX 16,2125 000433,C: TIME5 0000030 000476,F: V03 5362
000390,F: SOMEA 6742 000434,F: TIME5A 5503 000477,F: V04 5411
000391,C: SR 0000021 000435,C: TIME6 0000031 000478,F: V05 5435
000392,F: STARTADD 6460 000436,C: TMASKA 0000076 000479,F: V0607 5504
000393,F: STARTBKA 5543 000437,F: TOSUCCL 7454 000480,F: V08 5510
000394,F: STARTBLE 4303 000438,C: TPBNKL 0000123 000481,F: V09 5523
000395,F: STARTCNT 6341 000439,F: TPTRAN 6142 000482,F: V10 7346
000396,F: STARTSUM 6720 000440,F: TRANSC 7455 000483,F: V11 5526
000397,C: STATUS 0000071 000441,F: TRANSERR 6576 000484,F: V12 5531
000398,F: STATUS1A 5463 000442,F: TRFRA 7315 000485,F: V13 5534
000399,F: STATUS2A 5474 000443,F: TRPACBNK 16,2270 000486,F: V14 7032
000400,F: STATUS4A 5520 000444,C: TRXXB 0000206 000487,F: V15 7040
000401,F: STATU17A 5614 000445,C: TRXYB 0000204 000488,F: V16 7301
000402,F: STDATTR 16,2047 000446,C: TRYXB 0000205 000489,F: V17 5537
000403,F: STOPA 5613 000447,C: TRYYB 0000207 000490,F: V18 4471
000404,F: STOPTBLE 4324 000448,F: TWO 4015 000491,F: V19 4475
000405,F: SUBA 5223 000449,F: TWOSH 16,2315 000492,F: V20 4501
000406,F: SUCCESAA 5255 000450,F: TWOSHE 16,2361 000493,F: V21 7617
000407,F: SUCCESBA 5273 000451,F: T3RPTPR 4444 000494,F: V22 7623
000408,F: SUCCESCA 5317 000452,F: T3RUPT 4014 000495,F: V8CHK 7020
000409,F: SUCCESDA 5347 000453,F: T4RPTPR 4462 ================================
000410,F: SUCCESS 5620 000454,F: T4RUPT 4020 000496,F: WAIT1L 5676
000411,F: SUMERR 6657 000455,F: T5RUPT 4010 000497,F: WAIT2L 5672
000412,F: SUMIT 6675 000456,F: T6RUPT 4004 000498,F: WDATAL 5701
000413,C: SUML 0000130 ================================ 000499,F: WHCHMBD 16,2021
000414,F: SUPIMPA 5216 000457,F: UPDATENA 4736 000500,F: WRITEBA 4677
000415,C: SWITCH 0000166 000458,F: UPDATE1A 4746 000501,F: WRITEIT 16,2256
================================ 000459,F: UPDATE2A 4774 000502,F: WRITE1A 5170
000416,C: TEMPA 0000103 000460,F: UPDATE3A 5052 000503,F: WRITTPL 16,2230
000417,C: TEMPAA 0000064 000461,F: UPDISPLA 7446 ================================
000418,C: TEMP1L 0000110 000462,F: UPERCNT 7234 000504,F: XXX 16,2424
000419,C: TEMP2L 0000111 000463,F: UPERRCNT 6410 ================================
000420,C: TEMP3L 0000112 ================================ 000505,F: YYY 16,2425
000421,C: TEMP4L 0000113 000464,F: VBB 4007 ================================
000422,F: TERR 5174 000465,F: VBBLNK 4160 000506,C: Z 0000005
000423,F: THIRTY 4011 000466,F: VBCDEL 4002 000507,F: ZERO 4005
000424,F: TIMAA 4362 000467,F: VB0F 4063 000508,F: ZEROA 7263
000425,F: TIMBA 4363 000468,C: VERBFFL 0000114 000509,C: ZEROS 0000007
000426,C: TIME1 0000025 000469,C: VERBREGL 0000115 000510,C: ZRUPT 0000015
000427,F: TIME1A 5464 000470,F: VERB8 5732 000511,F: ZZPROC 7404
000428,C: TIME2 0000024 000471,F: V0BF 4075 000512,C: ZZTAG 0000107
000429,F: TIME2A 5470 000472,F: V00BK 5215 000513,F: ZZZ 16,2430
000430,C: TIME3 0000026 000473,F: V00PROC 7363 ================================
000431,C: TIME4 0000027 000474,F: V01 5224 000514,F: 1STBKA 5746
000515,C: 1STBNKNO 0000157 000518,F: 3CONT 5111 ================================
000516,C: 1STDIGPR 0000147 000519,F: 3RDBKA 5750 000522,F: 50TOGO 4317
================================ ================================ ================================
000517,F: 2NDBKA 5747 000520,F: 4THBKA 5751 000523,F: 7MINERR 6646
================================ 000521,F: 4TOGO 4316 000524,F: 7SCHKA 7601
Assembly Status
Unresolved symbols: 0
Fatal errors: 0
Warnings: 9
Bugger Words