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