Source Code
058683,000001: # Copyright: Public domain.
058684,000002: # Filename: ALARM_AND_ABORT.agc
058685,000003: # Purpose: Part of the source code for Luminary 1A build 099.
058686,000004: # It is part of the source code for the Lunar Module's (LM)
058687,000005: # Apollo Guidance Computer (AGC), for Apollo 11.
058688,000006: # Assembler: yaYUL
058689,000007: # Contact: Ron Burkey <info@sandroid.org>.
058690,000008: # Website: www.ibiblio.org/apollo.
058691,000009: # Pages: 1381-1385
058692,000010: # Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
058693,000011: # from the Luminary131/ file of the same
058694,000012: # name, using Luminary099 page images.
058695,000013: # 2009-06-05 RSB Fixed a type.
058696,000014:
058697,000015: # This source code has been transcribed or otherwise adapted from
058698,000016: # digitized images of a hardcopy from the MIT Museum. The digitization
058699,000017: # was performed by Paul Fjeld, and arranged for by Deborah Douglas of
058700,000018: # the Museum. Many thanks to both. The images (with suitable reduction
058701,000019: # in storage size and consequent reduction in image quality as well) are
058702,000020: # available online at www.ibiblio.org/apollo. If for some reason you
058703,000021: # find that the images are illegible, contact me at info@sandroid.org
058704,000022: # about getting access to the (much) higher-quality images which Paul
058705,000023: # actually created.
058706,000024:
058707,000025: # Notations on the hardcopy document read, in part:
058708,000026:
058709,000027: # Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
058710,000028: # 16:27 JULY 14, 1969
058711,000029:
058712,000030: # Page 1381
058713,000031: # THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
058714,000032: # EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
058715,000033:
058716,000034: # CALLING SEQUENCE IS AS FOLLOWS:
058717,000035: # TC ALARM
058718,000036: # OCT AAANN # ALARM NO. NN IN GENERAL AREA AAA.
058719,000037: # # (RETURNS HERE)
058720,000038:
058721,000039: 5567 BLOCK 02
058722,000040: 4000 SETLOC FFTAG7
058723,000041: 4000 BANK
058724,000042:
058725,000043: 5567 0375 EBANK= FAILREG
058726,000044:
058727,000045: 5567 COUNT* $$/ALARM
058728,000046:
058729,000047: # ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
058730,000048:
058731,000049: 5567 00004 ALARM INHINT
058732,000050:
058733,000051: 5570 30002 CA Q
058734,000052: 5571 55363 ALARM2 TS ALMCADR
058735,000053: 5572 50002 INDEX Q
058736,000054: 5573 30000 CA 0
058737,000055: 5574 54001 BORTENT TS L
058738,000056:
058739,000057: 5575 30006 PRIOENT CA BBANK
058740,000058: 5576 00006 +1 EXTEND
058741,000059: 5577 04007 ROR SUPERBNK # ADD SUPER BITS.
058742,000060: 5600 55364 TS ALMCADR +1
058743,000061:
058744,000062: 5601 30002 LARMENT CA Q # STORE RETURN FOR ALARM
058745,000063: 5602 54061 TS ITEMP1
058746,000064:
058747,000065: 5603 10375 CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
058748,000066: 5604 15607 TCF CHKFAIL2 # YES TRY NEXT REG
058749,000067: 5605 22375 LXCH FAILREG
058750,000068: 5606 15621 TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
058751,000069:
058752,000070: 5607 10376 CHKFAIL2 CCS FAILREG +1
058753,000071: 5610 15613 TCF FAIL3
058754,000072: 5611 22376 LXCH FAILREG +1
058755,000073: 5612 15624 TCF MULTEXIT
058756,000074:
058757,000075: 5613 30377 FAIL3 CA FAILREG +2
058758,000076: 5614 74733 MASK POSMAX
058759,000077: 5615 10000 CCS A
058760,000078: 5616 15630 TCF MULTFAIL
058761,000079: 5617 22377 LXCH FAILREG +2
058762,000080: 5620 15624 TCF MULTEXIT
058763,000081:
058764,000082: # Page 1382
058765,000083:
058766,000084: 5621 41036 PROGLARM CS DSPTAB +11D
058767,000085: 5622 75642 MASK OCT40400
058768,000086: 5623 27036 ADS DSPTAB +11D
058769,000087:
058770,000088:
058771,000089: 5624 56061 MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
058772,000090: 5625 00003 RELINT
058773,000091: 5626 50000 INDEX A
058774,000092: 5627 00001 TC 1
058775,000093:
058776,000094: 5630 30001 MULTFAIL CA L
058777,000095: 5631 64735 AD BIT15
058778,000096: 5632 54377 TS FAILREG +2
058779,000097:
058780,000098: 5633 15624 TCF MULTEXIT
058781,000099:
058782,000100: # PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
058783,000101: # AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
058784,000102: # CAF OCTXX # ALARM CODE
058785,000103: # TC BANKCALL
058786,000104: # CADR PRIOLARM
058787,000105: # ... ...
058788,000106: # ... ...
058789,000107: # ... ... # ASTRONAUT RETURN
058790,000108: # TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART
058791,000109: # OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY
058792,000110:
058793,000111: 10,3562 BANK 10
058794,000112: 10,2000 SETLOC DISPLAYS
058795,000113: 10,2000 BANK
058796,000114:
058797,000115: 10,3562 COUNT* $$/DSPLA
058798,000116: 10,3562 00004 PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK
058799,000117: 10,3563 54001 TS L # SAVE ALARM CODE
058800,000118:
058801,000119: 10,3564 30133 CA BUF2 # 2 CADR OF PRIOLARM USER
058802,000120: 10,3565 55363 TS ALMCADR
058803,000121: 10,3566 30134 CA BUF2 +1
058804,000122: 10,3567 05576 TC PRIOENT +1 # * LEAVE L ALONE
058805,000123: 10,3570 77467 -2SEC DEC -200 B-14 # *** DONT MOVE
058806,000124: 10,3571 35006 CAF V05N09
058807,000125: 10,3572 12504 TCF PRIODSPR
058808,000126:
058809,000127: 5634 BLOCK 02
058810,000128: 4000 SETLOC FFTAG7
058811,000129: 4000 BANK
058812,000130:
058813,000131: 5634 COUNT* $$/ALARM
058814,000132: 5634 00004 BAILOUT INHINT
058815,000133: 5635 30002 CA Q
058816,000134: # Page 1383
058817,000135: 5636 55363 TS ALMCADR
058818,000136:
058819,000137: 5637 50002 INDEX Q
058820,000138: 5640 30000 CAF 0
058821,000139: 5641 05574 TC BORTENT
058822,000140: 5642 40400 OCT40400 OCT 40400
058823,000141:
058824,000142: 5643 00004 INHINT
058825,000143: 5644 34752 WHIMPER CA TWO
058826,000144: 5645 60005 AD Z
058827,000145: 5646 54017 TS BRUPT
058828,000146: 5647 50017 RESUME
058829,000147: 5650 04635 TC POSTJUMP # RESUME SENDS CONTROL HERE
058830,000148: 5651 12765 CADR ENEMA
058831,000149: 5652 00004 P00DOO INHINT
058832,000150: 5653 30002 CA Q
058833,000151: 5654 55363 ABORT2 TS ALMCADR
058834,000152: 5655 50002 INDEX Q
058835,000153: 5656 30000 CAF 0
058836,000154: 5657 05574 TC BORTENT
058837,000155: 5660 77770 OCT77770 OCT 77770 # DON'T MOVE
058838,000156:
058839,000157: 5661 34765 CAF OCT35 # 4.35SPOT FOR GOP00DOO
058840,000158: 5662 54001 TS L
058841,000159: 5663 40000 COM
058842,000160: 5664 52761 DXCH -PHASE4
058843,000161: 5665 00004 GOP00DOO INHINT
058844,000162: 5666 04616 TC BANKCALL # RESET STATEFLG, REINTFLG, AND NODOFLAG.
058845,000163: 5667 27755 CADR FLAGS
058846,000164: 5670 30103 CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION?
058847,000165: 5671 74746 MASK V37FLBIT
058848,000166: 5672 10000 CCS A
058849,000167: 5673 15701 TCF STRTIDLE
058850,000168: 5674 04616 TC BANKCALL # TERMINATE GRPS 1, 3, 5, AND 6
058851,000169: 5675 12652 CADR V37KLEAN
058852,000170: 5676 04616 TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6
058853,000171: 5677 12643 CADR MR.KLEAN # (I.E., GRP 4 LAST)
058854,000172: 5700 15644 TCF WHIMPER
058855,000173: 5701 35743 STRTIDLE CAF BBSERVDL
058856,000174: 5702 04727 TC SUPERSW
058857,000175: 5703 04616 TC BANKCALL # PUT SERVICER INTO ITS "GROUND" STATE
058858,000176: 5704 57321 CADR SERVIDLE # AND PROCED TO GOTOP00H.
058859,000177: 5705 00004 CCSHOLE INHINT
058860,000178: 5706 30002 CA Q
058861,000179: 5707 05654 TC ABORT2
058862,000180: 5710 01103 OCT21103 OCT 1103
058863,000181: 5711 00004 CURTAINS INHINT
058864,000182: 5712 30002 CA Q
058865,000183: 5713 05571 TC ALARM2
058866,000184: 5714 00217 OCT217 OCT 00217
058867,000185: # Page 1384
058868,000186: 5715 01363 TC ALMCADR # RETURN TO USER
058869,000187:
058870,000188: 5716 00004 BAILOUT1 INHINT
058871,000189: 5717 53364 DXCH ALMCADR
058872,000190: 5720 35742 CAF ADR40400
058873,000191: 5721 54061 BOTHABRT TS ITEMP1
058874,000192: 5722 50002 INDEX Q
058875,000193: 5723 30000 CAF 0
058876,000194: 5724 54001 TS L
058877,000195: 5725 15603 TCF CHKFAIL1
058878,000196: 5726 00004 P00DOO1 INHINT
058879,000197: 5727 53364 DXCH ALMCADR
058880,000198: 5730 35741 CAF ADR77770
058881,000199: 5731 15721 TCF BOTHABRT
058882,000200:
058883,000201: 5732 00004 ALARM1 INHINT
058884,000202: 5733 53364 DXCH ALMCADR
058885,000203: 5734 00004 ALMNCADR INHINT
058886,000204: 5735 50002 INDEX Q
058887,000205: 5736 30000 CA 0
058888,000206: 5737 54001 TS L
058889,000207: 5740 15601 TCF LARMENT
058890,000208:
058891,000209: 5741 15660 ADR77770 TCF OCT77770
058892,000210: 5742 15642 ADR40400 TCF OCT40400
058893,000211: 5743 5155 DOALARM EQUALS ENDOFJOB
058894,000212: 5743 E7,1515 EBANK= DVCNTR
058895,000213: 5743 56067 BBSERVDL BBCON SERVIDLE
058896,000214:
058897,000215: # CALLING SEQUENCE FOR VARALARM
058898,000216: # CAF (ALARM)
058899,000217: # TC VARALARM
058900,000218:
058901,000219: # VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
058902,000220:
058903,000221: 5744 00004 VARALARM INHINT
058904,000222:
058905,000223: 5745 54001 TS L # SAVE USER'S ALARM CODE
058906,000224:
058907,000225: 5746 30002 CA Q # SAVE USERS Q
058908,000226: 5747 55363 TS ALMCADR
058909,000227:
058910,000228: 5750 05575 TC PRIOENT
058911,000229: 5751 00014 OCT14 OCT 14 # DONT MOVE
058912,000230:
058913,000231: 5752 01363 TC ALMCADR # RETURN TO USER
058914,000232:
058915,000233: 5753 5644 ABORT EQUALS WHIMPER
058916,000234: 13,3755 BANK 13
058917,000235: 13,2000 SETLOC ABTFLGS
058918,000236: 13,2000 BANK
058919,000237: # Page 1385
058920,000238: 13,3755 COUNT* $$/ALARM
058921,000239:
058922,000240: 13,3755 44747 FLAGS CS STATEBIT
058923,000241: 13,3756 70077 MASK FLAGWRD3
058924,000242: 13,3757 54077 TS FLAGWRD3
058925,000243: 13,3760 44745 CS REINTBIT
058926,000244: 13,3761 70106 MASK FLGWRD10
058927,000245: 13,3762 54106 TS FLGWRD10
058928,000246: 13,3763 44753 CS NODOBIT
058929,000247: 13,3764 70076 MASK FLAGWRD2
058930,000248: 13,3765 54076 TS FLAGWRD2
058931,000249: 13,3766 00002 TC Q
058932,000250:
End of include-file ALARM_AND_ABORT.agc. Parent file is MAIN.agc