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.

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

Page 1094

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

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