252 lines
5.0 KiB
Plaintext
252 lines
5.0 KiB
Plaintext
# Copyright: Public domain.
|
|
# Filename: ALARM_AND_ABORT.agc
|
|
# Purpose: Part of the source code for Luminary 1A build 099.
|
|
# It is part of the source code for the Lunar Module's (LM)
|
|
# Apollo Guidance Computer (AGC), for Apollo 11.
|
|
# Assembler: yaYUL
|
|
# Contact: Ron Burkey <info@sandroid.org>.
|
|
# Website: www.ibiblio.org/apollo.
|
|
# Pages: 1381-1385
|
|
# Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
|
|
# from the Luminary131/ file of the same
|
|
# name, using Luminary099 page images.
|
|
# 2009-06-05 RSB Fixed a type.
|
|
# 2011-01-06 JL Fixed pseudo-label indentation.
|
|
#
|
|
# This source code has been transcribed or otherwise adapted from
|
|
# digitized images of a hardcopy from the MIT Museum. The digitization
|
|
# was performed by Paul Fjeld, and arranged for by Deborah Douglas of
|
|
# the Museum. Many thanks to both. The images (with suitable reduction
|
|
# in storage size and consequent reduction in image quality as well) are
|
|
# available online at www.ibiblio.org/apollo. If for some reason you
|
|
# find that the images are illegible, contact me at info@sandroid.org
|
|
# about getting access to the (much) higher-quality images which Paul
|
|
# actually created.
|
|
#
|
|
# Notations on the hardcopy document read, in part:
|
|
#
|
|
# Assemble revision 001 of AGC program LMY99 by NASA 2021112-61
|
|
# 16:27 JULY 14, 1969
|
|
|
|
# Page 1381
|
|
# THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
|
|
# EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
|
|
#
|
|
# CALLING SEQUENCE IS AS FOLLOWS:
|
|
# TC ALARM
|
|
# OCT AAANN # ALARM NO. NN IN GENERAL AREA AAA.
|
|
# # (RETURNS HERE)
|
|
|
|
BLOCK 02
|
|
SETLOC FFTAG7
|
|
BANK
|
|
|
|
EBANK= FAILREG
|
|
|
|
COUNT* $$/ALARM
|
|
|
|
# ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
|
|
|
|
ALARM INHINT
|
|
|
|
CA Q
|
|
ALARM2 TS ALMCADR
|
|
INDEX Q
|
|
CA 0
|
|
BORTENT TS L
|
|
|
|
PRIOENT CA BBANK
|
|
+1 EXTEND
|
|
ROR SUPERBNK # ADD SUPER BITS.
|
|
TS ALMCADR +1
|
|
|
|
LARMENT CA Q # STORE RETURN FOR ALARM
|
|
TS ITEMP1
|
|
|
|
CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
|
|
TCF CHKFAIL2 # YES TRY NEXT REG
|
|
LXCH FAILREG
|
|
TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
|
|
|
|
CHKFAIL2 CCS FAILREG +1
|
|
TCF FAIL3
|
|
LXCH FAILREG +1
|
|
TCF MULTEXIT
|
|
|
|
FAIL3 CA FAILREG +2
|
|
MASK POSMAX
|
|
CCS A
|
|
TCF MULTFAIL
|
|
LXCH FAILREG +2
|
|
TCF MULTEXIT
|
|
|
|
# Page 1382
|
|
|
|
PROGLARM CS DSPTAB +11D
|
|
MASK OCT40400
|
|
ADS DSPTAB +11D
|
|
|
|
|
|
MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
|
|
RELINT
|
|
INDEX A
|
|
TC 1
|
|
|
|
MULTFAIL CA L
|
|
AD BIT15
|
|
TS FAILREG +2
|
|
|
|
TCF MULTEXIT
|
|
|
|
# PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
|
|
# AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
|
|
# CAF OCTXX # ALARM CODE
|
|
# TC BANKCALL
|
|
# CADR PRIOLARM
|
|
# ... ...
|
|
# ... ...
|
|
# ... ... # ASTRONAUT RETURN
|
|
# TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART
|
|
# OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY
|
|
|
|
BANK 10
|
|
SETLOC DISPLAYS
|
|
BANK
|
|
|
|
COUNT* $$/DSPLA
|
|
PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK
|
|
TS L # SAVE ALARM CODE
|
|
|
|
CA BUF2 # 2 CADR OF PRIOLARM USER
|
|
TS ALMCADR
|
|
CA BUF2 +1
|
|
TC PRIOENT +1 # * LEAVE L ALONE
|
|
-2SEC DEC -200 # *** DONT MOVE
|
|
CAF V05N09
|
|
TCF PRIODSPR
|
|
|
|
BLOCK 02
|
|
SETLOC FFTAG7
|
|
BANK
|
|
|
|
COUNT* $$/ALARM
|
|
BAILOUT INHINT
|
|
CA Q
|
|
# Page 1383
|
|
TS ALMCADR
|
|
|
|
INDEX Q
|
|
CAF 0
|
|
TC BORTENT
|
|
OCT40400 OCT 40400
|
|
|
|
INHINT
|
|
WHIMPER CA TWO
|
|
AD Z
|
|
TS BRUPT
|
|
RESUME
|
|
TC POSTJUMP # RESUME SENDS CONTROL HERE
|
|
CADR ENEMA
|
|
P00DOO INHINT
|
|
CA Q
|
|
ABORT2 TS ALMCADR
|
|
INDEX Q
|
|
CAF 0
|
|
TC BORTENT
|
|
OCT77770 OCT 77770 # DON'T MOVE
|
|
|
|
CAF OCT35 # 4.35SPOT FOR GOP00DOO
|
|
TS L
|
|
COM
|
|
DXCH -PHASE4
|
|
GOP00DOO INHINT
|
|
TC BANKCALL # RESET STATEFLG, REINTFLG, AND NODOFLAG.
|
|
CADR FLAGS
|
|
CA FLAGWRD7 # IS SERVICER CURRENTLY IN OPERATION?
|
|
MASK V37FLBIT
|
|
CCS A
|
|
TCF STRTIDLE
|
|
TC BANKCALL # TERMINATE GRPS 1, 3, 5, AND 6
|
|
CADR V37KLEAN
|
|
TC BANKCALL # TERMINATE GRPS 2, 4, 1, 3, 5, AND 6
|
|
CADR MR.KLEAN # (I.E., GRP 4 LAST)
|
|
TCF WHIMPER
|
|
STRTIDLE CAF BBSERVDL
|
|
TC SUPERSW
|
|
TC BANKCALL # PUT SERVICER INTO ITS "GROUND" STATE
|
|
CADR SERVIDLE # AND PROCED TO GOTOP00H.
|
|
CCSHOLE INHINT
|
|
CA Q
|
|
TC ABORT2
|
|
OCT21103 OCT 1103
|
|
CURTAINS INHINT
|
|
CA Q
|
|
TC ALARM2
|
|
OCT217 OCT 00217
|
|
# Page 1384
|
|
TC ALMCADR # RETURN TO USER
|
|
|
|
BAILOUT1 INHINT
|
|
DXCH ALMCADR
|
|
CAF ADR40400
|
|
BOTHABRT TS ITEMP1
|
|
INDEX Q
|
|
CAF 0
|
|
TS L
|
|
TCF CHKFAIL1
|
|
P00DOO1 INHINT
|
|
DXCH ALMCADR
|
|
CAF ADR77770
|
|
TCF BOTHABRT
|
|
|
|
ALARM1 INHINT
|
|
DXCH ALMCADR
|
|
ALMNCADR INHINT
|
|
INDEX Q
|
|
CA 0
|
|
TS L
|
|
TCF LARMENT
|
|
|
|
ADR77770 TCF OCT77770
|
|
ADR40400 TCF OCT40400
|
|
DOALARM EQUALS ENDOFJOB
|
|
EBANK= DVCNTR
|
|
BBSERVDL BBCON SERVIDLE
|
|
|
|
# CALLING SEQUENCE FOR VARALARM
|
|
# CAF (ALARM)
|
|
# TC VARALARM
|
|
#
|
|
# VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
|
|
|
|
VARALARM INHINT
|
|
|
|
TS L # SAVE USER'S ALARM CODE
|
|
|
|
CA Q # SAVE USERS Q
|
|
TS ALMCADR
|
|
|
|
TC PRIOENT
|
|
OCT14 OCT 14 # DONT MOVE
|
|
|
|
TC ALMCADR # RETURN TO USER
|
|
|
|
ABORT EQUALS WHIMPER
|
|
BANK 13
|
|
SETLOC ABTFLGS
|
|
BANK
|
|
# Page 1385
|
|
COUNT* $$/ALARM
|
|
|
|
FLAGS CS STATEBIT
|
|
MASK FLAGWRD3
|
|
TS FLAGWRD3
|
|
CS REINTBIT
|
|
MASK FLGWRD10
|
|
TS FLGWRD10
|
|
CS NODOBIT
|
|
MASK FLAGWRD2
|
|
TS FLAGWRD2
|
|
TC Q
|
|
|