https://github.com/virtualagc/virtualagc
Tip revision: 769d33c450e620a191121fece5c5c2a3007f40d4 authored by Mike Stewart on 29 October 2022, 02:39:48 UTC
LM131: Added entry for program alarm 1466 in ASSEMBLY AND OPERATION INFORMATION
LM131: Added entry for program alarm 1466 in ASSEMBLY AND OPERATION INFORMATION
Tip revision: 769d33c
MYSUBS.agc
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: MYSUBS.agc
## Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
## It is part of the source code for the Command Module's (CM)
## Apollo Guidance Computer (AGC), for Apollo 11.
## Assembler: yaYUL
## Contact: Ron Burkey <info@sandroid.org>.
## Website: www.ibiblio.org/apollo.
## Pages: 999-1001
## Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
## same name, using Comanche055 page images.
## 2009-05-20 RSB Corrections: EBANK= changed from MPAC to KMPAC.
## 2016-12-21 RSB Proofed comment text using octopus/ProoferComments
## but no errors found.
##
## 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 055 of AGC program Comanche by NASA
## 2021113-051. 10:28 APR. 1, 1969
##
## This AGC program shall also be referred to as
## Colossus 2A
## Page 999
BANK 20
SETLOC MYSUBS
BANK
EBANK= KMPAC
SPCOS1 EQUALS SPCOS
SPSIN1 EQUALS SPSIN
SPCOS2 EQUALS SPCOS
SPSIN2 EQUALS SPSIN
COUNT 21/DAPMS
# ONE AND ONE HALF PRECISION MULTIPLICATION ROUTINE
SMALLMP TS KMPTEMP # A(X+Y)
EXTEND
MP KMPAC +1
TS KMPAC +1 # AY
CAF ZERO
XCH KMPAC
EXTEND
MP KMPTEMP # AX
DAS KMPAC # AX+AY
TC Q
# SUBROUTINE FOR DOUBLE PRECISION ADDITIONS OF ANGLES
# A AND L CONTAIN A DP(1S) ANGLE SCALED BY 180 DEGS TO BE ADDED TO KMPAC.
# RESULT IS PLACED IN KMPAC. TIMING = 6 MCT (22 MCT ON OVERFLOW)
DPADD DAS KMPAC
EXTEND
BZF TSK +1 # NO OVERFLOW
CCS KMPAC
TCF DPADD+ # + OVERFLOW
TCF +2
TCF DPADD- # - OVERFLOW
CCS KMPAC +1
TCF DPADD2+ # UPPER = 0, LOWER +
TCF +2
COM # UPPER = 0, LOWER -
AD POSMAX # LOWER = 0, A = 0
TS KMPAC +1 # CAN NOT OVERFLOW
CA POSMAX # UPPER WAS = 0
TSK TS KMPAC
TC Q
DPADD+ AD NEGMAX # KMPAC GREATER THAN 0
TCF TSK
## Page 1000
DPADD- COM
AD POSMAX # KMPAC LESS THAN 0
TCF TSK
DPADD2+ AD NEGMAX # CAN NOT OVERFLOW
TS KMPAC +1
CA NEGMAX # UPPER WAS = 0
TCF TSK
## Page 1001
## This page is empty.