Source Code
These source-code files were obtained by digitally photographing
an Artemis 72 (Apollo 15-17 Command Module) program listing from a private
collection and then
modifying pre-existing Comanche 55 (Apollo 11) source files to
incorporate changes. Photography was by Ron Burkey, and transcription
was performed by a team of volunteers. Note that the page images
presented online are of reduced quality, and that additional images
may be available. Report any conversion errors or legibility
problems in page images to info@sandroid.org.
Notations on the program listing read, in part:GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS BY NASA 2021114-011 11:40 FEB. 26, 1971Note that the date is the date of the printout, not the date of the program revision. |
043992,000002: ## Copyright: Public domain.
043993,000003: ## Filename: MYSUBS.agc
043994,000004: ## Purpose: Part of the source code for Artemis (i.e., Colossus 3),
043995,000005: ## build 072. This is for the Command Module's (CM)
043996,000006: ## Apollo Guidance Computer (AGC), for
043997,000007: ## Apollo 15-17.
043998,000008: ## Assembler: yaYUL
043999,000009: ## Contact: Sergio Navarro <sergionavarrog@gmail.com>
044000,000010: ## Website: www.ibiblio.org/apollo/index.html
044001,000011: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Artemis072/
044002,000012: ## Mod history: 2009-08-27 SN Adapted from corresponding Comanche 055 file.
044003,000013: ## 2009-09-04 JL Fix typos.
044004,000014: ## 2010-02-20 RSB Un-##'d this header.
044005,000015: ## 2017-02-05 RSB Proofed comment text by diff'ing vs Comanche 55
044006,000016: ## but no differences found.
044007,000017:
Page 997 |
044009,000019:
044010,000020: 21,2000 SETLOC MYSUBS
044011,000021: 21,2000 BANK
044012,000022:
044013,000023: 21,2060 E6,1510 EBANK= KMPAC
044014,000024: 21,2060 5060 SPCOS1 EQUALS SPCOS
044015,000025: 21,2060 5061 SPSIN1 EQUALS SPSIN
044016,000026: 21,2060 5060 SPCOS2 EQUALS SPCOS
044017,000027: 21,2060 5061 SPSIN2 EQUALS SPSIN
044018,000028:
044019,000029: 21,2060 COUNT* $$/DAPMS
044020,000030:
044021,000031: # ONE AND ONE HALF PRECISION MULTIPLICATION ROUTINE
044022,000032:
044023,000033: 21,2060 55512 SMALLMP TS KMPTEMP # A(X+Y)
044024,000034: 21,2061 00006 EXTEND
044025,000035: 21,2062 71511 MP KMPAC +1
044026,000036: 21,2063 55511 TS KMPAC +1 # AY
044027,000037: 21,2064 34772 CAF ZERO
044028,000038: 21,2065 57510 XCH KMPAC
044029,000039: 21,2066 00006 EXTEND
044030,000040: 21,2067 71512 MP KMPTEMP # AX
044031,000041: 21,2070 21511 DAS KMPAC # AX+AY
044032,000042: 21,2071 00002 TC Q
044033,000043:
044034,000044: # SUBROUTINE FOR DOUBLE PRECISION ADDITIONS OF ANGLES
044035,000045: # A AND L CONTAIN A DP(1S) ANGLE SCALED BY 180 DEGS TO BE ADDED TO KMPAC.
044036,000046: # RESULT IS PLACED IN KMPAC. TIMING = 6 MCT (22 MCT ON OVERFLOW)
044037,000047:
044038,000048: 21,2072 21511 DPADD DAS KMPAC
044039,000049: 21,2073 00006 EXTEND
044040,000050: 21,2074 12111 BZF TSK +1 # NO OVERFLOW
044041,000051: 21,2075 11510 CCS KMPAC
044042,000052: 21,2076 12112 TCF DPADD+ # + OVERFLOW
044043,000053: 21,2077 12101 TCF +2
044044,000054: 21,2100 12114 TCF DPADD- # - OVERFLOW
044045,000055: 21,2101 11511 CCS KMPAC +1
044046,000056: 21,2102 12117 TCF DPADD2+ # UPPER = 0, LOWER +
044047,000057: 21,2103 12105 TCF +2
044048,000058: 21,2104 40000 COM # UPPER = 0, LOWER -
044049,000059: 21,2105 64750 AD POSMAX # LOWER = 0, A=0
044050,000060: 21,2106 55511 TS KMPAC +1 # CAN NOT OVERFLOW
044051,000061: 21,2107 34750 CA POSMAX # UPPER WAS = 0
044052,000062: 21,2110 55510 TSK TS KMPAC
044053,000063: 21,2111 00002 +1 TC Q
044054,000064: 21,2112 64752 DPADD+ AD NEGMAX # KMPAC GREATER THAN 0
044055,000065: 21,2113 12110 TCF TSK
044056,000066:
044057,000067: 21,2114 40000 DPADD- COM
044058,000068: 21,2115 64750 AD POSMAX # KMPAC LESS THAN 0
Page 998 |
044060,000070: 21,2116 12110 TCF TSK
044061,000071:
044062,000072: 21,2117 64752 DPADD2+ AD NEGMAX # CAN NOT OVERFLOW
044063,000073: 21,2120 55511 TS KMPAC +1
044064,000074: 21,2121 34752 CA NEGMAX # UPPER WAS = 0
044065,000075: 21,2122 12110 TCF TSK
044066,000076:
Page 999 Empty page |
End of include-file MYSUBS.agc. Parent file is MAIN.agc