Source Code
057046,000001: # Copyright: Public domain.
057047,000002: # Filename: ALARM_AND_ABORT.agc
057048,000003: # Purpose: A section of Luminary 1C, revision 131.
057049,000004: # It is part of the source code for the Lunar Module's (LM)
057050,000005: # Apollo Guidance Computer (AGC) for Apollo 13 and Apollo 14.
057051,000006: # This file is intended to be a faithful transcription, except
057052,000007: # that the code format has been changed to conform to the
057053,000008: # requirements of the yaYUL assembler rather than the
057054,000009: # original YUL assembler.
057055,000010: # Reference: pp. 1378-1382 of 1729.pdf.
057056,000011: # Contact: Ron Burkey <info@sandroid.org>.
057057,000012: # Website: www.ibiblio.org/apollo/index.html
057058,000013: # Mod history: 06/07/03 RSB. Began transcribing.
057059,000014: # 05/14/05 RSB Corrected website reference above.
057060,000015:
057061,000016: # Page 1378
057062,000017: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
057063,000018: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
057064,000019:
057065,000020: # THE CALLING SEQUENCE IS AS FOLLOWS:
057066,000021: # TC ALARM
057067,000022: # OCT AAANN # ALARM NO. NN IN GENERAL AREA AAA.
057068,000023: # # (RETURNS HERE)
057069,000024:
057070,000025: 5567 BLOCK 02
057071,000026: 4000 SETLOC FFTAG7
057072,000027: 4000 BANK
057073,000028:
057074,000029: 5567 0375 EBANK= FAILREG
057075,000030:
057076,000031: 5567 COUNT* $$/ALARM
057077,000032:
057078,000033: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
057079,000034:
057080,000035: 5567 00004 ALARM INHINT
057081,000036:
057082,000037: 5570 30002 CA Q
057083,000038: 5571 55363 ALARM2 TS ALMCADR
057084,000039: 5572 50002 INDEX Q
057085,000040: 5573 30000 CA 0
057086,000041: 5574 54001 BORTENT TS L
057087,000042:
057088,000043: 5575 30006 PRIOENT CA BBANK
057089,000044: 5576 00006 +1 EXTEND
057090,000045: 5577 04007 ROR SUPERBNK # ADD SUPER BITS.
057091,000046: 5600 55364 TS ALMCADR +1
057092,000047:
057093,000048: 5601 30002 LARMENT CA Q # STORE RETURN FOR ALARM
057094,000049: 5602 54061 TS ITEMP1
057095,000050:
057096,000051: 5603 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
057097,000052: 5604 15610 TCF CHKFAIL2 # YES TRY NEXT REG
057098,000053: 5605 30001 CA L
057099,000054: 5606 54375 TS FAILREG
057100,000055: 5607 15614 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
057101,000056:
057102,000057: 5610 10376 CHKFAIL2 CCS FAILREG +1
057103,000058: 5611 15614 TCF PROGLARM
057104,000059: 5612 30001 CA L
057105,000060: 5613 54376 TS FAILREG +1
057106,000061:
057107,000062: 5614 22377 PROGLARM LXCH FAILREG +2 # STORE AS "MCST RECENT" ALARM CODE
057108,000063:
057109,000064: 5615 41035 CS DSPTAB +11D # TURN ON PROGRAM ALARM IF OFF
057110,000065: 5616 75632 MASK OCT40400
057111,000066: 5617 27035 ADS DSPTAB +11D
057112,000067:
057113,000068: # Page 1379
057114,000069: 5620 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
057115,000070: 5621 00003 RELINT
057116,000071: 5622 50000 INDEX A
057117,000072: 5623 00001 TC 1
057118,000073:
057119,000074: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
057120,000075: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
057121,000076: # CAF OCTXX # ALARM CODE
057122,000077: # TC BANKCALL
057123,000078: # CADR PRIOLARM
057124,000079: # ... ...
057125,000080: # ... ...
057126,000081: # ... ... # ASTRONAUT RETURN
057127,000082: # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART
057128,000083: # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY
057129,000084:
057130,000085: 10,3563 BANK 10
057131,000086: 10,2000 SETLOC DISPLAYS
057132,000087: 10,2000 BANK
057133,000088:
057134,000089: 10,3563 COUNT* $$/DSPLA
057135,000090: 10,3563 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINE'S BANK
057136,000091: 10,3564 54001 TS L # SAVE ALARM CODE
057137,000092:
057138,000093: 10,3565 30133 CA BUF2 # 2 CADR OF PRIOLARM USER
057139,000094: 10,3566 55363 TS ALMCADR
057140,000095: 10,3567 30134 CA BUF2 +1
057141,000096: 10,3570 05576 TC PRIOENT +1 # * LEAVE L ALONE
057142,000097: 10,3571 77467 -2SEC DEC -200 B-14 # *** DON'T MOVE
057143,000098: 10,3572 35006 CAF V05N09
057144,000099: 10,3573 12505 TCF PRIODSPR
057145,000100:
057146,000101: 5624 BLOCK 02
057147,000102: 4000 SETLOC FFTAG7
057148,000103: 4000 BANK
057149,000104:
057150,000105: 5624 COUNT* $$/ALARM
057151,000106: 5624 00004 BAILOUT INHINT
057152,000107: 5625 30002 CA Q
057153,000108: 5626 55363 TS ALMCADR
057154,000109:
057155,000110: 5627 50002 INDEX Q
057156,000111: 5630 30000 CA 0 # Was CAF --- RSB 2004
057157,000112: 5631 05574 TC BORTENT
057158,000113: 5632 40400 OCT40400 OCT 40400
057159,000114:
057160,000115: 5633 00004 INHINT
057161,000116: 5634 34752 WHIMPER CA TWO
057162,000117: 5635 60005 AD Z
057163,000118: # Page 1380
057164,000119: 5636 54017 TS BRUPT
057165,000120: 5637 50017 RESUME
057166,000121: 5640 04635 TC POSTJUMP # RESUME SENDS CONTROL HERE
057167,000122: 5641 12763 CADR ENEMA
057168,000123: 5642 00004 P00DOO INHINT
057169,000124: 5643 30002 CA Q
057170,000125: 5644 55363 ABORT2 TS ALMCADR
057171,000126: 5645 50002 INDEX Q
057172,000127: 5646 30000 CA 0 # Was CAF --- RSB 2004
057173,000128: 5647 05574 TC BORTENT
057174,000129: 5650 77770 OCT77770 OCT 77770 # DON'T MOVE
057175,000130:
057176,000131: 5651 34765 CAF OCT35 # 4.35SPOT FOR GOP00DOO
057177,000132: 5652 54001 TS L
057178,000133: 5653 40000 COM
057179,000134: 5654 52760 DXCH -PHASE4
057180,000135: 5655 00004 GOP00DOO INHINT
057181,000136: 5656 04616 TC BANKCALL # RESET STATEFLG, REINTFLG, AND NODOFLAG.
057182,000137: 5657 27746 CADR FLAGS
057183,000138: 5660 30103 CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION?
057184,000139: 5661 74746 MASK V37FLBIT
057185,000140: 5662 10000 CCS A
057186,000141: 5663 15671 TCF STRTIDLE
057187,000142: 5664 04616 TC BANKCALL # TERMINATE GRPS 1, 3, 5, AND 6
057188,000143: 5665 12650 CADR V37KLEAN
057189,000144: 5666 04616 TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6
057190,000145: 5667 12641 CADR MR.KLEAN # (I.E., GRP 4 LAST)
057191,000146: 5670 15634 TCF WHIMPER
057192,000147: 5671 35733 STRTIDLE CAF BBSERVDL
057193,000148: 5672 04727 TC SUPERSW
057194,000149: 5673 04616 TC BANKCALL # PUT SERVICER INTO ITS "GROUND" STATE
057195,000150: 5674 57322 CADR SERVIDLE # AND PROCED TO GOTOP00H.
057196,000151: 5675 00004 CCSHOLE INHINT
057197,000152: 5676 30002 CA Q
057198,000153: 5677 05644 TC ABORT2
057199,000154: 5700 21103 OCT21103 OCT 21103
057200,000155: 5701 00004 CURTAINS INHINT
057201,000156: 5702 30002 CA Q
057202,000157: 5703 05571 TC ALARM2
057203,000158: 5704 00217 OCT217 OCT 00217
057204,000159: 5705 01363 TC ALMCADR # RETURN TO USER
057205,000160:
057206,000161: 5706 00004 BAILOUT1 INHINT
057207,000162: 5707 53364 DXCH ALMCADR
057208,000163: 5710 35732 CAF ADR40400
057209,000164: 5711 54061 BOTHABRT TS ITEMP1
057210,000165: 5712 50002 INDEX Q
057211,000166: 5713 30000 CA 0 # Was CAF --- RSB 2004
057212,000167: 5714 54001 TS L
057213,000168: 5715 15603 TCF CHKFAIL1
057214,000169:
057215,000170: # Page 1381
057216,000171: 5716 00004 P00DOO1 INHINT
057217,000172: 5717 53364 DXCH ALMCADR
057218,000173: 5720 35731 CAF ADR77770
057219,000174: 5721 15711 TCF BOTHABRT
057220,000175:
057221,000176: 5722 00004 ALARM1 INHINT
057222,000177: 5723 53364 DXCH ALMCADR
057223,000178: 5724 00004 ALMNCADR INHINT
057224,000179: 5725 50002 INDEX Q
057225,000180: 5726 30000 CA 0
057226,000181: 5727 54001 TS L
057227,000182: 5730 15601 TCF LARMENT
057228,000183:
057229,000184: 5731 15650 ADR77770 TCF OCT77770
057230,000185: 5732 15632 ADR40400 TCF OCT40400
057231,000186: 5733 5155 DOALARM EQUALS ENDOFJOB
057232,000187: 5733 E7,1515 EBANK= DVCNTR
057233,000188: 5733 56067 BBSERVDL BBCON SERVIDLE
057234,000189:
057235,000190: # CALLING SEQUENCE FOR VARALARM
057236,000191: # CAF (ALARM)
057237,000192: # TC VARALARM
057238,000193:
057239,000194: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
057240,000195:
057241,000196: 5734 00004 VARALARM INHINT
057242,000197:
057243,000198: 5735 54001 TS L # SAVE USER'S ALARM CODE
057244,000199:
057245,000200: 5736 30002 CA Q # SAVE USER'S Q
057246,000201: 5737 55363 TS ALMCADR
057247,000202:
057248,000203: 5740 05575 TC PRIOENT
057249,000204: 5741 00014 OCT14 OCT 14 # DON'T MOVE
057250,000205:
057251,000206: 5742 01363 TC ALMCADR # RETURN TO USER
057252,000207:
057253,000208: 5743 5634 ABORT EQUALS WHIMPER
057254,000209: 13,3746 BANK 13
057255,000210: 13,2000 SETLOC ABTFLGS
057256,000211: 13,2000 BANK
057257,000212: 13,3746 COUNT* $$/ALARM
057258,000213:
057259,000214: 13,3746 44747 FLAGS CS STATEBIT
057260,000215: 13,3747 70077 MASK FLAGWRD3
057261,000216: 13,3750 54077 TS FLAGWRD3
057262,000217: 13,3751 44745 CS REINTBIT
057263,000218: 13,3752 70106 MASK FLGWRD10
057264,000219: 13,3753 54106 TS FLGWRD10
057265,000220: 13,3754 44753 CS NODOBIT
057266,000221: 13,3755 70076 MASK FLAGWRD2
057267,000222:
057268,000223: # Page 1382
057269,000224: 13,3756 54076 TS FLAGWRD2
057270,000225: 13,3757 00002 TC Q
057271,000226:
057272,000227:
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc