Source Code

064513,000001: # Copyright: Public domain. 064514,000002: # Filename: ALARM_AND_ABORT.agc 064515,000003: # Purpose: Part of the source code for Comanche, build 055. It 064516,000004: # is part of the source code for the Command Module's 064517,000005: # (CM) Apollo Guidance Computer (AGC), Apollo 11. 064518,000006: # Assembler: yaYUL 064519,000007: # Reference: pp. 1493-1496 064520,000008: # Contact: Ron Burkey <info@sandroid.org> 064521,000009: # Website: http://www.ibiblio.org/apollo. 064522,000010: # Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same 064523,000011: # name, and page images. Corrected various 064524,000012: # typos in the transcription of program 064525,000013: # comments, and these should be back-ported 064526,000014: # to Colossus249. 064527,000015: 064528,000016: # The contents of the "Comanche055" files, in general, are transcribed 064529,000017: # from scanned documents. 064530,000018: 064531,000019: # Assemble revision 055 of AGC program Comanche by NASA 064532,000020: # 2021113-051. April 1, 1969. 064533,000021: 064534,000022: # This AGC program shall also be referred to as Colossus 2A 064535,000023: 064536,000024: # Prepared by 064537,000025: # Massachussets Institute of Technology 064538,000026: # 75 Cambridge Parkway 064539,000027: # Cambridge, Massachusetts 064540,000028: 064541,000029: # under NASA contract NAS 9-4065. 064542,000030: 064543,000031: # Refer directly to the online document mentioned above for further 064544,000032: # information. Please report any errors to info@sandroid.org. 064545,000033: 064546,000034: # Page 1483 064547,000035: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED 064548,000036: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL. 064549,000037: 064550,000038: # THE CALLING SEQUENCE IS AS FOLLOWS: 064551,000039: # TC ALARM 064552,000040: # OCT NNNNN 064553,000041: # # (RETURNS HERE) 064554,000042: 064555,000043: 5650 BLOCK 02 064556,000044: 4000 SETLOC FFTAG7 064557,000045: 4000 BANK 064558,000046: 064559,000047: 5650 0375 EBANK= FAILREG 064560,000048: 064561,000049: 5650 COUNT 02/ALARM 064562,000050: 064563,000051: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY. 064564,000052: 064565,000053: 5650 00004 ALARM INHINT 064566,000054: 064567,000055: 5651 30002 CA Q 064568,000056: 5652 55363 ALARM2 TS ALMCADR 064569,000057: 5653 50002 INDEX Q 064570,000058: 5654 30000 CA 0 064571,000059: 5655 54001 BORTENT TS L 064572,000060: 064573,000061: 5656 30006 PRIOENT CA BBANK 064574,000062: 5657 00006 +1 EXTEND 064575,000063: 5660 04007 ROR SUPERBNK # ADD SUPER BITS. 064576,000064: 5661 55364 TS ALMCADR +1 064577,000065: 064578,000066: 5662 30002 LARMENT CA Q # STORE RETURN FOR ALARM 064579,000067: 5663 54061 TS ITEMP1 064580,000068: 064581,000069: 5664 30164 CA LOC 064582,000070: 5665 54057 TS LOCALARM 064583,000071: 5666 30165 CA BANKSET 064584,000072: 5667 54060 TS BANKALRM 064585,000073: 064586,000074: 5670 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG 064587,000075: 5671 15674 TCF CHKFAIL2 # YES TRY NEXT REG 064588,000076: 5672 22375 LXCH FAILREG 064589,000077: 5673 15706 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM 064590,000078: 064591,000079: 5674 10376 CHKFAIL2 CCS FAILREG +1 064592,000080: 5675 15700 TCF FAIL3 064593,000081: 5676 22376 LXCH FAILREG +1 064594,000082: 5677 15711 TCF MULTEXIT 064595,000083: 064596,000084: 5700 30377 FAIL3 CA FAILREG +2 064597,000085: # Page 1494 064598,000086: 5701 74777 MASK POSMAX 064599,000087: 5702 10000 CCS A 064600,000088: 5703 15715 TCF MULTFAIL 064601,000089: 5704 22377 LXCH FAILREG +2 064602,000090: 5705 15711 TCF MULTEXIT 064603,000091: 064604,000092: 5706 41036 PROGLARM CS DSPTAB +11D 064605,000093: 5707 77765 MASK OCT40400 064606,000094: 5710 27036 ADS DSPTAB +11D 064607,000095: 064608,000096: 5711 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A 064609,000097: 5712 00003 RELINT 064610,000098: 5713 50000 INDEX A 064611,000099: 5714 00001 TC 1 064612,000100: 064613,000101: 5715 30001 MULTFAIL CA L 064614,000102: 5716 65001 AD BIT15 064615,000103: 5717 54377 TS FAILREG +2 064616,000104: 064617,000105: 5720 15711 TCF MULTEXIT 064618,000106: 064619,000107: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND 064620,000108: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS, 064621,000109: # CAF OCTXX # ALARM CODE 064622,000110: # TC BANKCALL 064623,000111: # CADR PRIOLARM 064624,000112: # ... ... 064625,000113: # ... ... 064626,000114: # ... ... # ASTRONAUT RETURN 064627,000115: # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART 064628,000116: # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY 064629,000117: 064630,000118: 10,3766 BANK 10 064631,000119: 10,2000 SETLOC DISPLAYS 064632,000120: 10,2000 BANK 064633,000121: 064634,000122: 10,3766 COUNT 10/DSPLA 064635,000123: 10,3766 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINE'S BANK 064636,000124: 10,3767 54001 TS L # SAVE ALARM CODE 064637,000125: 064638,000126: 10,3770 30133 CA BUF2 # 2 CADR OF PRIOLARM USER 064639,000127: 10,3771 55363 TS ALMCADR 064640,000128: 10,3772 30134 CA BUF2 +1 064641,000129: 10,3773 05657 TC PRIOENT +1 # * LEAVE L ALONE 064642,000130: 10,3774 77467 -2SEC DEC -200 B-14 # *** DON'T MOVE 064643,000131: 10,3775 35050 CAF V05N09 064644,000132: 10,3776 12726 TCF PRIODSPR 064645,000133: 064646,000134: # Page 1495 064647,000135: 064648,000136: 5721 BLOCK 02 064649,000137: 6000 SETLOC FFTAG13 064650,000138: 6000 BANK 064651,000139: 064652,000140: 7755 COUNT 02/ALARM 064653,000141: 064654,000142: 7755 00004 BAILOUT INHINT 064655,000143: 7756 30002 CA Q 064656,000144: 7757 55363 TS ALMCADR 064657,000145: 064658,000146: 7760 04662 TC BANKCALL 064659,000147: 7761 40000 CADR VAC5STOR 064660,000148: 064661,000149: 7762 51363 INDEX ALMCADR 064662,000150: 7763 30000 CAF 0 064663,000151: 7764 05655 TC BORTENT 064664,000152: 7765 40400 OCT40400 OCT 40400 064665,000153: 064666,000154: 7766 00004 INHINT 064667,000155: 7767 35016 WHIMPER CA TWO 064668,000156: 7770 60005 AD Z 064669,000157: 7771 54017 TS BRUPT 064670,000158: 7772 50017 RESUME 064671,000159: 7773 04701 TC POSTJUMP # RESUME SENDS CONTROL HERE 064672,000160: 7774 12651 CADR ENEMA 064673,000161: 064674,000162: 4000 SETLOC FFTAG7 064675,000163: 4000 BANK 064676,000164: 064677,000165: 5721 00004 P00DOO INHINT 064678,000166: 5722 30002 CA Q 064679,000167: 5723 55363 TS ALMCADR 064680,000168: 064681,000169: 5724 04662 TC BANKCALL 064682,000170: 5725 40000 CADR VAC5STOR # STORE ERASABLES FOR DEBUGGING PURPOSES. 064683,000171: 064684,000172: 5726 51363 INDEX ALMCADR 064685,000173: 5727 30000 CAF 0 064686,000174: 5730 05655 ABORT2 TC BORTENT 064687,000175: 5731 77770 OCT77770 OCT 77770 # DON'T MOVE 064688,000176: 5732 35012 CA V37FLBIT # IS AVERAGE G ON 064689,000177: 5733 70103 MASK FLAGWRD7 064690,000178: 5734 10000 CCS A 064691,000179: 5735 07766 TC WHIMPER -1 # YES. DON'T DO POODOO. DO BAILOUT. 064692,000180: 064693,000181: 5736 05560 TC DOWNFLAG 064694,000182: 5737 00067 ADRES STATEFLG 064695,000183: 064696,000184: 5740 05560 TC DOWNFLAG 064697,000185: 064698,000186: # Page 1496 064699,000187: 5741 00236 ADRES REINTFLG 064700,000188: 064701,000189: 5742 05560 TC DOWNFLAG 064702,000190: 5743 00054 ADRES NODOFLAG 064703,000191: 064704,000192: 5744 04662 TC BANKCALL 064705,000193: 5745 12501 CADR MR.KLEAN 064706,000194: 5746 07767 TC WHIMPER 064707,000195: 064708,000196: 5747 00004 CCSHOLE INHINT 064709,000197: 5750 30002 CA Q 064710,000198: 5751 55363 TS ALMCADR 064711,000199: 5752 04662 TC BANKCALL 064712,000200: 5753 40000 CADR VAC5STOR 064713,000201: 5754 35756 CA OCT1103 064714,000202: 5755 05730 TC ABORT2 064715,000203: 5756 01103 OCT1103 OCT 1103 064716,000204: 5757 00004 CURTAINS INHINT 064717,000205: 5760 30002 CA Q 064718,000206: 5761 05652 TC ALARM2 064719,000207: 5762 00217 OCT217 OCT 00217 064720,000208: 5763 01363 TC ALMCADR # RETURN TO USER 064721,000209: 064722,000210: 5764 5217 DOALARM EQUALS ENDOFJOB 064723,000211: 064724,000212: # CALLING SEQUENCE FOR VARALARM 064725,000213: # CAF (ALARM) 064726,000214: # TC VARALARM 064727,000215: # Page 1486 064728,000216: 064729,000217: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY 064730,000218: 064731,000219: 5764 00004 VARALARM INHINT 064732,000220: 064733,000221: 5765 54001 TS L # SAVE USER'S ALARM CODE 064734,000222: 064735,000223: 5766 30002 CA Q # SAVE USER'S Q 064736,000224: 5767 55363 TS ALMCADR 064737,000225: 064738,000226: 5770 05656 TC PRIOENT 064739,000227: 5771 00014 OCT14 OCT 14 # DON'T MOVE 064740,000228: 064741,000229: 5772 01363 TC ALMCADR # RETURN TO USER 064742,000230: 064743,000231: 5773 7755 ABORT EQUALS BAILOUT # *** TEMPORARY UNTIL ABORT CALLS OUT End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc