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.

046281,000002:                                                                                                  ## Copyright:   Public domain.
046282,000003:                                                                                                  ## Filename:    INTERPRETIVE_CONSTANTS.agc
046283,000004:                                                                                                  ## Purpose:     A section of Luminary revision 116.
046284,000005:                                                                                                  ##              It is part of the source code for the Lunar Module's (LM) 
046285,000006:                                                                                                  ##              Apollo Guidance Computer (AGC) for Apollo 12.
046286,000007:                                                                                                  ##              This file is intended to be a faithful transcription, except
046287,000008:                                                                                                  ##              that the code format has been changed to conform to the
046288,000009:                                                                                                  ##              requirements of the yaYUL assembler rather than the
046289,000010:                                                                                                  ##              original YUL assembler.
046290,000011:                                                                                                  ## Reference:   pp. 1092-1093
046291,000012:                                                                                                  ## Assembler:   yaYUL
046292,000013:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
046293,000014:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
046294,000015:                                                                                                  ## Mod history: 2017-01-22 MAS  Created from Luminary 99.
046295,000016:                                                                                                  ##              2017-01-30 RRB  Updated for Luminary 116.
046296,000017:                                                                                                  ##              2017-03-13 RSB  Proofed comment text via 3-way diff vs
046297,000018:                                                                                                  ##                              Luminary 99 and 131 ... no problems found.
046298,000019:                                                                                                  ##              2021-05-30 ABS  DFC-6 -> DEC-6, DFC-12 -> DEC-12
046299,000020: 

Page 1092

046301,000022: 23,2000                                           SETLOC   INTPRET1                              
046302,000023: 23,2000                                           BANK                                           
046303,000024: 
046304,000025: 23,2513                                           COUNT*   $$/ICONS                              
046305,000026: 23,2513           10000 00000  DP1/4TH            2DEC     .25                                   
046306,000027: 
046307,000028: 23,2515           00000 00000  UNITZ              2DEC     0          B-28                       
046308,000029: 
046309,000030: 23,2517           00000 00000  UNITY              2DEC     0          B-28                       
046310,000031: 
046311,000032: 23,2521           20000 00000  UNITX              2DEC     .5                                    
046312,000033: 
046313,000034: 23,2523           00000 00000  ZEROVECS           2DEC     0          B-28                       
046314,000035: 
046315,000036: 23,2525           00000 00000                     2DEC     0          B-28                       
046316,000037: 
046317,000038: 23,2527           00000 00000                     2DEC     0          B-28                       
046318,000039: 
046319,000040: 23,2531  23,2521               DPHALF             =        UNITX                                 
046320,000041: 23,2531           37777        DPPOSMAX           OCT      37777                                 
046321,000042: 23,2532           37777                           OCT      37777                                 
046322,000043: 

Page 1093

046324,000045:                                                                                                  #  INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY
046325,000046: 
046326,000047: 12,2000                                           SETLOC   INTPRET2                              
046327,000048: 12,2000                                           BANK                                           
046328,000049: 
046329,000050: 12,2000                                           COUNT*   $$/ICONS                              
046330,000051: 12,2000           00000 00000  ZUNIT              2DEC     0          B-28                       
046331,000052: 
046332,000053: 12,2002           00000 00000  YUNIT              2DEC     0          B-28                       
046333,000054: 
046334,000055: 12,2004           20000 00000  XUNIT              2DEC     .5                                    
046335,000056: 
046336,000057: 12,2006           00000 00000  ZEROVEC            2DEC     0          B-28                       
046337,000058: 
046338,000059: 12,2010           00000 00000                     2DEC     0          B-28                       
046339,000060: 
046340,000061: 12,2012           00000 00000                     2DEC     0          B-28                       
046341,000062: 
046342,000063: 12,2014           77777                           OCT      77777                                 #  -0,-6,-12 MUST REMAIN IN THIS ORDER
046343,000064: 12,2015           77771        DEC-6              DEC      -6         B-14                       
046344,000065: 12,2016           77763        DEC-12             DEC      -12        B-14                       
046345,000066: 12,2017           37777 37777  LODPMAX            2OCT     3777737777                            #  THESE TWO CONSTANTS MUST REMAIN
046346,000067: 
046347,000068: 12,2021           37777 37777  LODPMAX1           2OCT     3777737777                            #  ADJACENT AND THE SAME FOR INTEGRATION
046348,000069: 
046349,000070: 12,2023  12,2006               ZERODP             =        ZEROVEC                               
046350,000071: 12,2023  12,2004               HALFDP             =        XUNIT                                 
046351,000072: 
046352,000073: 

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