swh:1:snp:63e2d142f91fc04ec33789d9d7bb85f3bef72e05
Raw File
Tip revision: 66d8e606a8d996ded60bc81d5edf319142a5fad9 authored by Ron Burkey on 04 October 2021, 11:49:55 UTC
Merge branch 'master' of https://github.com/virtualagc/virtualagc
Tip revision: 66d8e60
ALARM_AND_ABORT.agc
### FILE="Main.annotation"
## Copyright:	Public domain.
## Filename:	ALARM_AND_ABORT.agc
## Purpose:	A module for revision 0 of BURST120 (Sunburst). It 
##		is part of the source code for the Lunar Module's
##		(LM) Apollo Guidance Computer (AGC) for Apollo 5.
## Assembler:	yaYUL
## Contact:	Ron Burkey <info@sandroid.org>.
## Website:	www.ibiblio.org/apollo/index.html
## Mod history:	2016-09-30 RSB	Created draft version.
##		2016-10-14 RSB	Transcribed.
##		2016-10-31 RSB	Typos.
##		2016-12-05 RSB	Comment-proofing pass with octopus/ProoferComments completed;
##				changes made.

## Page 313
# PROGRAM DESCRIPTION					  DATE- 9 FEB 1967
# PROGRAM WRITTEN BY M.HAMILTON                LOG SECTION-ALARM AND ABORT
# MOD BY- R.MELANSON TO ADD DOCUMENTATION      ASSEMBLY SUNBURST REV 107
#
# FUNCTIONAL DESCRIPTION-
#   TO ILLUMINATE THE PROGRAM ALARM LAMP AND DISPLAY OCTAL ALARM OR ABORT
#   CODES VIA VERB 15 NOUN 50. OCTAL CODES SUPPLIED BY CALLING ROUTINE.
#
# CALLING SEQUENCE-
#   L   TC    ALARM OR ABORT      (IN TASK OR JOB)
#   L+1 OCT   (OCTAL CODE IDENTIFYING CAUSE OF ALARM OR ABORT)
#
# NORMAL EXIT MODE-
#   TO L+2 OF CALLING SEQUENCE IF ALARM
#   (TC TRAP) TO RESTART IF ABORT
#
# ALARM OR ABORT EXIT MODE- NONE
#
# OUTPUT-
#   ALARM OR ABORT OCTAL CODE IN ONE OF FAILREG REGISTERS FOR DISPLAY.
#
# ERASABLE INITIALIZATION-
#   FAILREG THRU FAILREG +2 ZEROED BY FRESH START.
#
# DEBRIS-
#   Q,A,L,ALMCADR,ALMCADR +1,RUPTREG4

		BLOCK	2
		
CCSHOLE		INHINT
		CA	Q
		TS	ALMCADR
		
		TC	ABORT2
		OCT	1103
		
CURTAINS	INHINT			# SAVE 2CADR OF USER FOR CURTAINS DISPLAY
		CA	Q
		TS	ALMCADR
		
		TC	ALARM2
		OCT	00310
		
JETENTRY	INHINT
		CAF	CURTBB
		XCH	BBANK
		TCF	FORGETIT
		
		EBANK=	LST1
CURTBB		BBCON	FORGETIT
		BANK	07
## Page 314
LARMLARM	TC	GRABDSP
		TCF	ENDOFJOB
		TCF	DOALARM	+1
		
DOALARM		TC	GRABWAIT	# DISPLAY FAILREG.
		CAF	FAILDISP
		TC	NVSBWAIT
		
		TC	EJFREE		# FREE DISPLAY AND END JOB.
		
FAILDISP	OCT	01550		# MONITOR DISPLAYS 3 FAILREG REGS

JETABORT	TC	ALARM
		OCT	00312
		
		TCF	JETENTRY

# ALARM IS CALLED EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL

# CALLING SEQUENCE,

#		TC	ALARM
#		OCT	AAANN		ALARM NO. NN IN GENERAL AREA AAA.

#					(RETURNS HERE)


		BLOCK	02
ALARM		INHINT

		CA	Q
		TS	ALMCADR

ALARM2		INDEX	Q
		CA	0
BORTENT		TS	L		# STORE RETURN -1 IN L

		CA	BBANK
 		TS	ALMCADR +1

		CA	Q
		TS	RUPTREG4

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
## Page 315
		TCF	FAIL3
		LXCH	FAILREG +1
		TCF	ARMDSPON	# LIGHT ALREADY ON

FAIL3		CA	FAILREG +2
		MASK	POSMAX
		CCS	A
		TCF	MULTFAIL
		LXCH	FAILREG +2
		TCF	ARMDSPON	# LAST DISPLAY TURN ON UNTIL ERR RESET
		
PROGLARM	CS	DSPTAB	+11D
		MASK	OCT40400
		ADS	DSPTAB	+11D

ARMDSPON	CAF	PRIO37
		TC	NOVAC
		EBANK=	FAILREG
		2CADR	LARMLARM

MULTEXIT	XCH	RUPTREG4
		RELINT
		INDEX	A
		TC	1

MULTFAIL	CA	L
		AD	BIT15
		XCH	FAILREG	+2
		MASK	POSMAX
		TS	FAILREG +1

		TCF	MULTEXIT

		BLOCK	03
ABORT		INHINT
		CA	Q
		TS	ALMCADR

ABORT2		INDEX	Q
		CAF	0
		TC	BORTENT
OCT40400	OCT	40400
		CS	BIT12		# PUT RESTARTABILITY FLAG DOWN & GENERATE
		MASK	FLAGWRD1	# A RESTART TO YIELD A FAKESTRT.
		TS	FLAGWRD1
WHIMPER		TCF	WHIMPER

back to top