Source Code

These source-code files derive from a printout of Luminary 116 (the Apollo 12 Lunar Module guidance computer program), from the personal library of original AGC developer Don Eyles, digitally photographed at archive.org, financially sponsored by Ron Burkey, and transcribed to source code by a team of volunteers. This colorized, syntax-highlighted form was created by assembling that transcribed source code. Note that the full page images are available on the Virtual AGC project page at archive.org, while reduced-size images are presented at the VirtualAGC project website. Report or fix any transcription errors at the Virtual AGC project code repository.

Notations on the program listing read, in part:

	GAP:  ASSEMBLE REVISION 116 OF AGC PROGRAM LUMINARY BY NASA 2021112-071
	19:09 AUG. 11,1969
Note that the date is the date of the printout, not the date of the program revision.

046340,000002:                                                                                                  ## Copyright:   Public domain.
046341,000003:                                                                                                  ## Filename:    SINGLE_PRECISION_SUBROUTINES.agc
046342,000004:                                                                                                  ## Purpose:     A section of Luminary revision 116.
046343,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM) 
046344,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 12.
046345,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
046346,000008:                                                                                                  ##              that the code format has been changed to conform to the
046347,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
046348,000010:                                                                                                  ##              original YUL assembler.
046349,000011:                                                                                                  ## Reference:   p.  1094
046350,000012:                                                                                                  ## Assembler:   yaYUL
046351,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
046352,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
046353,000015:                                                                                                  ## Mod history: 2017-01-22 MAS  Created from Luminary 99.
046354,000016:                                                                                                  ##              2017-01-27 RRB  Updated for Luminary 116.
046355,000017:                                                                                                  ##              2017-03-14 RSB  Proofed comment text via 3-way diff vs
046356,000018:                                                                                                  ##                              Luminary 99 and 131 ... no problems found.
046357,000019: 

Page 1094

046359,000021:    5032                                           BLOCK    02                                    
046360,000022: 
046361,000023:                                                                                                  #  SINGLE PRECISION SINE AND COSINE
046362,000024: 
046363,000025:    5032                                           COUNT*   $$/INTER                              
046364,000026:    5032           64736        SPCOS              AD       HALF                                  #  ARGUMENTS SCALED AT PI
046365,000027:    5033           55075        SPSIN              TS       TEMK                                  
046366,000028:    5034           15036                           TCF      SPT                                   
046367,000029:    5035           41075                           CS       TEMK                                  
046368,000030:    5036           60000        SPT                DOUBLE                                         
046369,000031:    5037           55075                           TS       TEMK                                  
046370,000032:    5040           15051                           TCF      POLLEY                                
046371,000033:    5041           57075                           XCH      TEMK                                  
046372,000034:    5042           51075                           INDEX    TEMK                                  
046373,000035:    5043           64734                           AD       LIMITS                                
046374,000036:    5044           40000                           COM                                            
046375,000037:    5045           61075                           AD       TEMK                                  
046376,000038:    5046           55075                           TS       TEMK                                  
046377,000039:    5047           15051                           TCF      POLLEY                                
046378,000040:    5050           15067                           TCF      ARG90                                 
046379,000041:    5051           00006        POLLEY             EXTEND                                         
046380,000042:    5052           71075                           MP       TEMK                                  
046381,000043:    5053           55076                           TS       SQ                                    
046382,000044:    5054           00006                           EXTEND                                         
046383,000045:    5055           75005                           MP       C5/2                                  
046384,000046:    5056           67742                           AD       C3/2                                  
046385,000047:    5057           00006                           EXTEND                                         
046386,000048:    5060           71076                           MP       SQ                                    
046387,000049:    5061           67722                           AD       C1/2                                  
046388,000050:    5062           00006                           EXTEND                                         
046389,000051:    5063           71075                           MP       TEMK                                  
046390,000052:    5064           20001                           DDOUBL                                         
046391,000053:    5065           55075                           TS       TEMK                                  
046392,000054:    5066           00002                           TC       Q                                     
046393,000055:    5067           50000        ARG90              INDEX    A                                     
046394,000056:    5070           44734                           CS       LIMITS                                
046395,000057:    5071           00002                           TC       Q                                     #  RESULT SCALED AT 1
046396,000058: 
046397,000059: 

End of include-file SINGLE_PRECISION_SUBROUTINES.agc.  Parent file is MAIN.agc