Source Code
050574,000001: # Copyright: Public domain.
050575,000002: # Filename: FIXED_FIXED_CONSTANT_POOL.agc
050576,000003: # Purpose: Part of the source code for Colossus, build 249.
050577,000004: # It is part of the source code for the Command Module's (CM)
050578,000005: # Apollo Guidance Computer (AGC), possibly for Apollo 8 and 9.
050579,000006: # Assembler: yaYUL
050580,000007: # Reference: pp. 1182-1186 of 1701.pdf.
050581,000008: # Contact: Ron Burkey <info@sandroid.org>.
050582,000009: # Mod history: 04/27/03 RSB. Adapted from the Luminary131 file with the
050583,000010: # same name. The changes were highly trivial
050584,000011: # in nature:
050585,000012: # 1. A small number of constants were removed.
050586,000013: # 2. The names of the COUNT* counters were
050587,000014: # changed.
050588,000015: # 3. Comments (such as pagination and header
050589,000016: # materials) were changed.
050590,000017: # No constants changed value, to my knowledge.
050591,000018:
050592,000019: # The contents of the "Colossus249" files, in general, are transcribed
050593,000020: # from a scanned document obtained from MIT's website,
050594,000021: # http://hrst.mit.edu/hrs/apollo/public/archive/1701.pdf. Notations on this
050595,000022: # document read, in part:
050596,000023:
050597,000024: # Assemble revision 249 of AGC program Colossus by NASA
050598,000025: # 2021111-041. October 28, 1968.
050599,000026:
050600,000027: # This AGC program shall also be referred to as
050601,000028: # Colossus 1A
050602,000029:
050603,000030: # Prepared by
050604,000031: # Massachusetts Institute of Technology
050605,000032: # 75 Cambridge Parkway
050606,000033: # Cambridge, Massachusetts
050607,000034: # under NASA contract NAS 9-4065.
050608,000035:
050609,000036: # Refer directly to the online document mentioned above for further information.
050610,000037: # Please report any errors (relative to 1701.pdf) to info@sandroid.org.
050611,000038:
050612,000039: # Page 1182
050613,000040: 4671 BLOCK 02
050614,000041: 4671 COUNT* 02/FCONS
050615,000042:
050616,000043: # THE FOLLOWING TABLE OF 18 VALUES IS INDEXED. DO NOT INSERT OR REMOVE ANY QUANTITIES
050617,000044:
050618,000045: 4671 37777 DPOSMAX OCT 37777 # MUST PRECED POSMAX
050619,000046: 4672 37777 POSMAX OCT 37777
050620,000047:
050621,000048: 4673 4673 LIMITS = NEG1/2
050622,000049:
050623,000050: 4673 57777 NEG1/2 OCT -20000 # USED BY SIN ROUTINE (MUST BE TWO
050624,000051: # LOCATIONS IN FRONT OF BIT14)
050625,000052:
050626,000053: # BIT TABLE
050627,000054:
050628,000055: 4674 40000 BIT15 OCT 40000
050629,000056: 4675 20000 BIT14 OCT 20000
050630,000057: 4676 10000 BIT13 OCT 10000
050631,000058: 4677 04000 BIT12 OCT 04000
050632,000059: 4700 02000 BIT11 OCT 02000
050633,000060: 4701 01000 BIT10 OCT 01000
050634,000061: 4702 00400 BIT9 OCT 00400
050635,000062: 4703 00200 BIT8 OCT 00200
050636,000063: 4704 00100 BIT7 OCT 00100
050637,000064: 4705 00040 BIT6 OCT 00040
050638,000065: 4706 00020 BIT5 OCT 00020
050639,000066: 4707 00010 BIT4 OCT 00010
050640,000067: 4710 00004 BIT3 OCT 00004
050641,000068: 4711 00002 BIT2 OCT 00002
050642,000069: 4712 00001 BIT1 OCT 00001
050643,000070:
050644,000071: # DO NOT DESTROY THIS COMBINATION, SINCE IT IS USED IN DOUBLE PRECISION INSTRUCTIONS.
050645,000072: 4713 77777 NEG0 OCT -0 # MUST PRECEDE ZERO
050646,000073: 4714 00000 ZERO OCT 0 # MUST FOLLOW NEG0
050647,000074: # BIT1 OCT 00001
050648,000075: # NO.WDS OCT 2 # INTERPRETER
050649,000076: # OCTAL3 OCT 3 # INTERPRETER
050650,000077: # R3D1 OCT 4 # PINBALL
050651,000078: 4715 00005 FIVE OCT 5
050652,000079: # REVCNT OCT 6 # INTERPRETER
050653,000080: 4716 00007 SEVEN OCT 7
050654,000081: # BIT4 OCT 00010
050655,000082: # R2D1 OCT 11 # PINBALL
050656,000083: 4717 4334 OCT11 = R2D1 # P20S
050657,000084: # BINCON DEC 10 # PINBALL (OCTAL 12)
050658,000085: 4717 00013 ELEVEN DEC 11 B-14
050659,000086: # OCT14 OCT 14 # ALARM AND ABORT (FILLER)
050660,000087: 4720 00015 OCT15 OCT 15
050661,000088: # R1D1 OCT 16 # PINBALL
050662,000089: # Page 1183
050663,000090: 4721 00017 LOW4 OCT 17
050664,000091: # BIT5 OCT 00020
050665,000092: # ND1 OCT 21 # PINBALL
050666,000093: # VD1 OCT 23 # PINBALL
050667,000094: # OCT24 OCT 24 # SERVICE ROUTINES
050668,000095: # MD1 OCT 25 # PINBALL
050669,000096: 4722 00030 BITS4&5 OCT 30
050670,000097: # OCT31 OCT 31 # SERVICE ROUTINES
050671,000098: 4723 00032 CALLCODE OCT 00032
050672,000099: # LOW5 OCT 37 # PINBALL
050673,000100: # 33DEC DEC 33 # PINBALL (OCTAL 41)
050674,000101: # 34DEC DEC 34 # PINBALL (OCTAL 42)
050675,000102: 4724 00045 TBUILDFX DEC 37 B-14 # BUILDUP FOR CONVENIENCE IN DAPTESTING
050676,000103: 4725 00046 TDECAYFX DEC 38 B-14 # CONVENIENCE FOR DAPTESTING
050677,000104: # BIT6 OCT 00040
050678,000105: 4726 00050 OCT50 OCT 50
050679,000106: 4727 00055 DEC45 DEC 45 B-14
050680,000107: 4730 00060 SUPER011 OCT 60 # BITS FOR SUPERBNK SETTING 011.
050681,000108: 4731 00062 .5SEC DEC 50 B-14
050682,000109: # BIT7 OCT 00100
050683,000110:
050684,000111: 4732 4704 SUPER100 = BIT7 # BITS FOR SUPERBNK SETTING 100
050685,000112: # (LAST 4K OF ROPE)
050686,000113: 4732 00120 SUPER101 OCT 120 # BITS FOR SUPERBNK SETTING 101
050687,000114: # OCT121 OCT 121 # SERVICE ROUTINES
050688,000115: # (FIRST 8K OF ACM)
050689,000116: 4733 00140 SUPER110 OCT 140 # BITS FOR SUPERBNK SETTING 110.
050690,000117: # (LAST BK OF ACM)
050691,000118: 4734 00144 1SEC DEC 100 B-14
050692,000119: # LOW7 OCT 177 # INTERPRETER
050693,000120: # BIT8 OCT 00200
050694,000121: # OT215 OCT 215 # ALARM AND ABORT
050695,000122: # 8,5 OCT 00220 # P20-P25 SUNDANCE
050696,000123: 4735 00310 2SECS DEC 200 B-14
050697,000124: # LOW8 OCT 377 # PINBALL
050698,000125: # BIT9 OCT 00400
050699,000126: 4736 00401 GN/CCODE OCT 00401 # SET S/C CONTROL SWITCH TO G/N
050700,000127: 4737 00454 3SECS DEC 300 B-14
050701,000128: 4740 00620 4SECS DEC 400 B-14
050702,000129: 4741 00777 LOW9 OCT 777
050703,000130: # BIT10 OCT 01000
050704,000131: # 5.5DEGS DEC .03056 # P20-P25 SUNDANCE (OCTAL 00765)
050705,000132: # OCT1103 OCT 1103 # ALARM AND ABORT
050706,000133: 4742 01124 C5/2 DEC .0363551 # (OCTAL 01124)
050707,000134: 4743 01211 V05N09 VN 0509 # (SAME AS OCTAL 1211)
050708,000135: 4744 01400 OCT1400 OCT 01400
050709,000136: 4745 01426 V06N22 VN 0622
050710,000137: # MID5 OCT 1740 # PINBALL
050711,000138: 4746 01776 BITS2-10 OCT 1776
050712,000139: 4747 01777 LOW10 OCT 1777
050713,000140: # Page 1184
050714,000141: # BIT11 OCT 02000
050715,000142: # 2K+3 OCT 2003 # PINBALL
050716,000143: 4750 02177 LOW7+2K OCT 2177 # OP CODE MASK + BANK 1 FBANK SETTING
050717,000144: 4751 02400 EBANK5 OCT 02400
050718,000145: 4752 03000 PRIO3 OCT 03000
050719,000146: 4753 03400 EBANK7 OCT 03400
050720,000147: # LOW11 OCT 3777 # PINBALL
050721,000148: # BIT12 OCT 04000
050722,000149: # RELTAB OCT 04025 # T4RUPT
050723,000150: 4754 05000 PRIO5 OCT 05000
050724,000151: 4755 06000 PRIO6 OCT 06000
050725,000152: 4756 07000 PRIO7 OCT 07000
050726,000153:
050727,000154: # BIT13 OCT 10000
050728,000155: # OCT 10003 # T4RUPT RELTAB +1D
050729,000156: # 13,7,2 OCT 10102 # P20-P25 SUNDANCE
050730,000157: 4757 11000 PRIO11 OCT 11000
050731,000158: # PRIO12 OCT 12000 # BANKCALL
050732,000159: 4760 13000 PRIO13 OCT 13000
050733,000160: 4761 14000 PRIO14 OCT 14000
050734,000161: # OCT 14031 # T4RUPT RELTAB +2D
050735,000162: 4762 15000 PRIO15 OCT 15000
050736,000163: 4763 16000 PRIO16 OCT 16000
050737,000164: # 85DEGS DEC .45556 # P20-P25 SUNDANCE (OCTAL 16450)
050738,000165: 4764 17000 PRIO17 OCT 17000
050739,000166: 4765 17770 OCT17770 OCT 17770
050740,000167: # BIT14 OCT 20000
050741,000168: # OCT 20033 # T4RUPT RELTAB +3D
050742,000169: 4766 21000 PRIO21 OCT 21000
050743,000170:
050744,000171: 7657 BLOCK 03
050745,000172: 7657 COUNT* 03/FCONS
050746,000173:
050747,000174: 7657 22000 PRIO22 OCT 22000 # SERVICE ROUTINES
050748,000175: 7660 23000 PRIO23 OCT 23000
050749,000176: 7661 24000 PRIO24 OCT 24000
050750,000177: # 5/8+1 OCT 24001 # SINGLE PRECISION SUBROUTINES
050751,000178: # OCT 24017 # T4RUPT RELTAB +4D
050752,000179: 7662 25000 PRIO25 OCT 25000
050753,000180: 7663 26000 PRIO26 OCT 26000
050754,000181: 7664 27000 PRIO27 OCT 27000
050755,000182: # CHRPRIO OCT 30000 # PINBALL
050756,000183: # OCT 30036 # T4RUPT RELTAB +5D
050757,000184: 7665 31000 PRIO31 OCT 31000
050758,000185: 7666 31103 C1/2 DEC .7853134 # (OCTAL 31103)
050759,000186: 7667 32000 PRIO32 OCT 32000
050760,000187: 7670 33000 PRIO33 OCT 33000
050761,000188: 7671 34000 PRIO34 OCT 34000
050762,000189: # OCT 34034 # T4RUPT RELTAB +6D
050763,000190: 7672 35000 PRIO35 OCT 35000
050764,000191: 7673 36000 PRIO36 OCT 36000
050765,000192: # Page 1185
050766,000193: 7674 37000 PRIO37 OCT 37000
050767,000194: 7675 37401 63/64+1 OCT 37401
050768,000195: # MID7 OCT 37600 # PINBALL
050769,000196: 7676 37766 OCT37766 OCT 37766
050770,000197: 7677 37774 OCT37774 OCT 37774
050771,000198: 7700 37776 OCT37776 OCT 37776
050772,000199: # DPOSMAX OCT 37777
050773,000200: # BIT15 OCT 40000
050774,000201: # OCT40001 OCT 40001 # INTERPRETER (CS 1 INSTRUCTION)
050775,000202: 7701 40014 DLOADCOD OCT 40014
050776,000203: 7702 40015 DLOAD* OCT 40015
050777,000204: # OCT 40023 # T4RUPT RELTAB +7D
050778,000205: 7703 40040 BIT15+6 OCT 40040
050779,000206: 7704 40200 OCT40200 OCT 40200
050780,000207: # OCT 44035 # T4RUPT RELTAB +8D
050781,000208: # OCT 50037 # T4RUPT RELTAB +9D
050782,000209: # OCT 54000 # T4RUPT RELTAB +10D
050783,000210: 7705 57777 -BIT14 OCT 57777
050784,000211: # RELTAB11 OCT 60000 # T4RUPT
050785,000212: 7706 65552 C3/2 DEC -.3216147 # (OCTAL 65552)
050786,000213: 7707 70000 13,14,15 OCT 70000
050787,000214: 7710 73777 -1/8 OCT 73777
050788,000215: 7711 74000 HIGH4 OCT 74000
050789,000216: 7712 74056 -ENDERAS DEC -2001 B-14 # (OCTAL 74056)
050790,000217: # HI5 OCT 76000 # PINBALL
050791,000218: 7713 77700 HIGH9 OCT 77700
050792,000219: # -ENDVAC DEC -45 # INTERPRETER (OCTAL 77722)
050793,000220: # -OCT10 OCT -10 # (OCTAL 77767)
050794,000221: # NEG4 DEC -4 # (OCTAL 77773)
050795,000222: 7714 77774 NEG3 DEC -3 B-14
050796,000223: 7715 77775 NEG2 OCT 77775
050797,000224: 7716 77776 NEGONE DEC -1 B-14
050798,000225:
050799,000226: # Page 1186
050800,000227:
050801,000228: # DEFINED BY EQUALS
050802,000229:
050803,000230: # IT WOULD BE TO THE USERS ADVANTAGE TO OCCASIONALLY CHECK ANY OF THESE SYMBOLS IN ORDER TO PREVENT ANY
050804,000231: # ACCIDENTAL DEFINITION CHANGES.
050805,000232:
050806,000233: 7717 7716 MINUS1 = NEG1
050807,000234: 7717 7716 NEG1 = NEGONE
050808,000235: 7717 4712 ONE = BIT1
050809,000236: 7717 4711 TWO = BIT2
050810,000237: 7717 6214 THREE = OCTAL3
050811,000238: 7717 6214 LOW2 = THREE
050812,000239: 7717 4710 FOUR = BIT3
050813,000240: 7717 6211 SIX = REVCNT
050814,000241: 7717 4716 LOW3 = SEVEN
050815,000242: 7717 4707 EIGHT = BIT4
050816,000243: 7717 4334 NINE = R2D1
050817,000244: 7717 4377 TEN = BINCON
050818,000245: 7717 4717 NOUTCON = ELEVEN
050819,000246: 7717 4374 OCT23 = VD1
050820,000247: 7717 4376 OCT25 = MD1
050821,000248: 7717 4701 PRIO1 = BIT10
050822,000249: 7717 4744 EBANK3 = OCT1400
050823,000250: 7717 4700 PRIO2 = BIT11
050824,000251: 7717 4732 OCT120 = SUPER101
050825,000252: 7717 4733 OCT140 = SUPER110
050826,000253: 7717 4700 2K = BIT11
050827,000254: 7717 4700 EBANK4 = BIT11
050828,000255: 7717 4677 PRIO4 = BIT12
050829,000256: 7717 4752 EBANK6 = PRIO3
050830,000257: 7717 4676 QUARTER = BIT13
050831,000258: 7717 4676 PRIO10 = BIT13
050832,000259: 7717 7632 OCT10001 = CCSL
050833,000260: 7717 4675 POS1/2 = HALF
050834,000261: 7717 4675 PRIO20 = BIT14
050835,000262: 7717 4675 HALF = BIT14
050836,000263: 7717 4371 PRIO30 = CHRPRIO
050837,000264: 7717 4371 BIT13-14 = PRIO30 # INTERPRETER USES IN PROCESSING STORECODE
050838,000265: 7717 6440 OCT30002 = TLOAD +1
050839,000266: 7717 7671 B12T14 = PRIO34
050840,000267: 7717 4674 NEGMAX = BIT15
050841,000268: 7717 4674 VLOADCOD = BIT15
050842,000269: 7717 6056 VLOAD* = OCT40001
050843,000270: 7717 4105 OCT60000 = RELTAB11
050844,000271: 7717 4364 BANKMASK = HI5
050845,000272:
End of include-file FIXED_FIXED_CONSTANT_POOL.agc. Parent file is MAIN.agc