148 lines
3.8 KiB
ArmAsm
148 lines
3.8 KiB
ArmAsm
# Copyright: Public domain.
|
|
# Filename: SYSTEM_TEST_STANDARD_LEAD_INS.agc
|
|
# Purpose: Part of the source code for Comanche, build 055.
|
|
# It is part of the source code for the Command Module's (CM)
|
|
# Apollo Guidance Computer (AGC), Apollo 11.
|
|
# Assembler: yaYUL
|
|
# Reference: pp. 420-422
|
|
# Contact: Onno Hommes <ohommes@cmu.edu>.
|
|
# Website: www.ibiblio.org/apollo.
|
|
# Mod history: 05/07/09 OH Transcription Batch 1 Assignment
|
|
#
|
|
# The contents of the "Comanche055" files, in general, are transcribed
|
|
# from scanned documents.
|
|
#
|
|
# Assemble revision 055 of AGC program Comanche by NASA
|
|
# 2021113-051. April 1, 1969.
|
|
#
|
|
# This AGC program shall also be referred to as Colossus 2A
|
|
#
|
|
# Prepared by
|
|
# Massachussets Institute of Technology
|
|
# 75 Cambridge Parkway
|
|
# Cambridge, Massachusetts
|
|
#
|
|
# under NASA contract NAS 9-4065.
|
|
#
|
|
# Refer directly to the online document mentioned above for further information.
|
|
# Please report any errors to info@sandroid.org.
|
|
|
|
|
|
# Page 420
|
|
EBANK= XSM
|
|
|
|
BANK 33
|
|
SETLOC E/PROG1
|
|
BANK
|
|
|
|
COUNT* $$/P07
|
|
|
|
# SPECIAL PROGRAMS TO EASE THE PANGS OF ERASABLE MEMORY PROGRAMS.
|
|
#
|
|
# E/BKCALL FOR DOING BANKCALLS FROM AND RETURNING TO ERASABLE.
|
|
#
|
|
# THIS ROUTINE IS CALLABLE FROM ERASABLE OR FIXED. LIKE BANKCALL, HOWEVER, SWITCHING BETWEEN S3 AND S4
|
|
# IS NOT POSSIBLE.
|
|
#
|
|
# THE CALLING SEQUENCE IS:
|
|
#
|
|
# TC BANKCALL
|
|
# CADR E/BKCALL
|
|
# CADR ROUTINE # WHERE TO WANT TO GO IN FIXED.
|
|
# RETURN HERE FROM DISPLAY TERMINATE, BAD STALL OR TC Q.
|
|
# RETURN HERE FROM DISPLAY PROCEED OR GOOD RETURN FROM STALL.
|
|
# RETURN HERE FROM DISPLAY ENTER OR RECYCLE.
|
|
#
|
|
# THIS ROUTINE REQUIRES TWO ERASABLES (EBUF2, +1) IN UNSWITCHED WHICH ARE UNSHARED BY INTERRUPTS AND
|
|
# OTHER EMEMORY PROGRAMS.
|
|
#
|
|
# A + L ARE PRESERVED THROUGH BANKCALL AND E/BKCALL.
|
|
|
|
E/BKCALL DXCH BUF2 # SAVE A,L AND GET DP RETURN.
|
|
DXCH EBUF2 # SAVE DP RETURN.
|
|
INCR EBUF2 # RETURN +1 BECAUSE DOUBLE CADR.
|
|
CA BBANK
|
|
MASK LOW10 # GET CURRENT EBANK. (SBANK SOMEDAY)
|
|
ADS EBUF2 +1 # FORM BBCON. (WAS FBANK)
|
|
NDX EBUF2
|
|
CA 0 -1 # GET CADR OF ROUTINE.
|
|
TC SWCALL # GO TO ROUTINE, SETTING Q TO SWRETURN
|
|
# AND RESTORING A + L.
|
|
TC +4 # TX Q, V34, OR BADD STALL RETURN.
|
|
TC +2 # PROCEED OR GOOD STALL RETURN.
|
|
INCR EBUF2 # ENTER OR RECYCLE RETURN.
|
|
INCR EBUF2
|
|
E/SWITCH DXCH EBUF2
|
|
DTCB
|
|
|
|
# Page 421
|
|
# E/CALL FOR CALLING A FIXED MEMORY INTERPRETIVE SUBROUTINE FROM ERASABLE AND RETURNING TO ERASABLE.
|
|
#
|
|
# THE CALLING SEQUENCE IS...
|
|
#
|
|
# RTB
|
|
# E/CALL
|
|
# CADR ROUTINE # THE INTERPRETIVE SUBROUTINE YOU WANT
|
|
# # RETURNS HERE IN INTERPRETIVE.
|
|
|
|
E/CALL LXCH LOC # ADRES -1 OF CADR.
|
|
INDEX L
|
|
CA L # CADR IN A.
|
|
INCR L
|
|
INCR L # RETURN ADRES IN L.
|
|
DXCH EBUF2 # STORE CADR AND RETURN.
|
|
TC INTPRET
|
|
CALL
|
|
EBUF2 # INDIRECTLY EXECUTE ROUTING. IT MUST
|
|
EXIT # LEAVE VIA RVQ OR EQUIVALENT.
|
|
LXCH EBUF2 +1 # PICK UP RETURN.
|
|
TCF INTPRET +2 # SET LOC AND RETURN TO CALLER.
|
|
|
|
# Page 422
|
|
# E/JOBWAK FOR WAKING UP ERASABLE MEMORY JOBS.
|
|
#
|
|
# THIS ROUTINE MUST BE CALLED IN INTERRUPT OR WITH INTERRUPTS INHIBITED.
|
|
#
|
|
# THE CALLING SEQUENCE IS
|
|
#
|
|
# INHINT
|
|
# ...
|
|
# CA WAKEADR # ADDRESS OF SLEEPING JOB
|
|
# TC IBNKCALL
|
|
# CADR E/JOBWAK
|
|
# ... # RETURNS HERE
|
|
# RELINT # IF YOU DID AND INHINT
|
|
|
|
BANK 33
|
|
SETLOC E/PROG
|
|
BANK
|
|
|
|
COUNT* $$/P07
|
|
|
|
E/JOBWAK TC JOBWAKE # ARRIVE IWTH ADRES IN A.
|
|
CS BIT11
|
|
NDX LOCCTR
|
|
ADS LOC # KNOCK FIXED MEMORY BIT OUT OF ADRES.
|
|
TC RUPTREG3 # RETURN
|
|
|
|
|
|
# THESE PROGRAMS ARE PROVIDED TO ALLOW OVERLAY OF BANKS 30 THRU 33 OF THE 205 VERSIONS OF SYSTEM TESTS AND
|
|
# PRELAUNCH ALIGN. THE INTENT IS TO ALLOW THE STG AND HYBRID LABS TO RUN ALL THE TESTS WITH COLOSSUS.
|
|
|
|
|
|
BANK 33
|
|
SETLOC TESTLEAD
|
|
BANK
|
|
|
|
COUNT 33/COMST
|
|
|
|
EBANK= QPLACE
|
|
|
|
COMPVER TC GCOMPVER # MUST BE 33,2000.
|
|
|
|
GTSCPSS1 TC GTSCPSS # MUST BE AT 33,2001
|
|
|
|
REDO TC NEWMODEX # DISPLAY MM 07.
|
|
MM 07 # FALL INTO IMUTEST
|
|
|