Source Code

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