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.

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

Page 1094

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

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