Source Code

These source-code files are part of a reconstructed copy of Sunrise 69, the final release of the Block I Command Module (CM) Apollo Guidance Computer (AGC) system test software.

They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 1003133-18, 1003133-19, 1003133-20, and 1003733-071. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software.

Since only binary dumps (rather than listings) of Sunrise are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

000179,000002:                                                                                                  ## Copyright:   Public domain.
000180,000003:                                                                                                  ## Filename:    ERASABLE_ASSIGNMENTS.agc
000181,000004:                                                                                                  ## Purpose:     A section of Sunrise 69.
000182,000005:                                                                                                  ##              It is part of the reconstructed source code for the final
000183,000006:                                                                                                  ##              release of the Block I Command Module system test software. No
000184,000007:                                                                                                  ##              original listings of this program are available; instead, this
000185,000008:                                                                                                  ##              file was created via disassembly of dumps of Sunrise core rope
000186,000009:                                                                                                  ##              memory modules and comparison with the later Block I program
000187,000010:                                                                                                  ##              Solarium 55.
000188,000011:                                                                                                  ## Assembler:   yaYUL --block1
000189,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
000190,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
000191,000014:                                                                                                  ## Mod history: 2023-06-19 MAS  Created from Sunrise 45.
000192,000015:                                                                                                  ##              2023-06-21 MAS  Added new erasable definitions needed for
000193,000016:                                                                                                  ##                              Sunrise 69's tests.
000194,000017: 
000195,000018: 
000196,000019:                                                                                                  #  COUNTER AND SPECIAL REGISTER TAGS
000197,000020:                                                                                                  #  ------- --- ------- -------- ----
000198,000021: 
000199,000022: ???????                        A                  EQUALS   0                                     
000200,000023: ???????                        Q                  EQUALS   1                                     
000201,000024: ???????                        Z                  EQUALS   2                                     
000202,000025: ???????                        LP                 EQUALS   3                                     
000203,000026: ???????                        IN0                EQUALS   4                                     
000204,000027: ???????                        IN1                EQUALS   5                                     
000205,000028: ???????                        IN2                EQUALS   6                                     
000206,000029: ???????                        IN3                EQUALS   7                                     
000207,000030: ???????                        OUT0               EQUALS   10                                    
000208,000031: ???????                        OUT1               EQUALS   11                                    
000209,000032: ???????                        OUT2               EQUALS   12                                    
000210,000033: ???????                        OUT4               EQUALS   14                                    
000211,000034: ???????                        BANKREG            EQUALS   15                                    
000212,000035: ???????                        RELINT             EQUALS   16                                    
000213,000036: ???????                        INHINT             EQUALS   17                                    
000214,000037: ???????                        CYR                EQUALS   20                                    
000215,000038: ???????                        SR                 EQUALS   21                                    
000216,000039: ???????                        CYL                EQUALS   22                                    
000217,000040: ???????                        SL                 EQUALS   23                                    
000218,000041: ???????                        ZRUPT              EQUALS   24                                    
000219,000042: ???????                        BRUPT              EQUALS   25                                    
000220,000043: ???????                        ARUPT              EQUALS   26                                    
000221,000044: ???????                        QRUPT              EQUALS   27                                    
000222,000045: 
000223,000046: ???????                        OVCTR              EQUALS   34                                    
000224,000047: ???????                        TIME2              EQUALS   35                                    
000225,000048: ???????                        TIME1              EQUALS   36                                    
000226,000049: ???????                        TIME3              EQUALS   37                                    
000227,000050: ???????                        TIME4              EQUALS   40                                    
000228,000051: ???????                        UPLINK             EQUALS   41                                    
000229,000052: ???????                        OUTCR1             EQUALS   42                                    
000230,000053: ???????                        OUTCR2             EQUALS   43                                    
000231,000054: ???????                        PIPAX              EQUALS   44                                    
000232,000055: ???????                        PIPAY              EQUALS   45                                    
000233,000056: ???????                        PIPAZ              EQUALS   46                                    
000234,000057: ???????                        CDUX               EQUALS   47                                    
000235,000058: ???????                        CDUY               EQUALS   50                                    
000236,000059: ???????                        CDUZ               EQUALS   51                                    
000237,000060: ???????                        OPTX               EQUALS   52                                    
000238,000061: ???????                        OPTY               EQUALS   53                                    
000239,000062: 
000240,000063:                                                                                                  #           INTERPRETIVE SPECIAL REGISTERS CONTAINED IN THE WORK AREA.
000241,000064: 
000242,000065: ???????                        VAC                EQUALS   32D                                   #  RELATIVE TO FIXLOC
000243,000066: ???????  0000040               VACX               EQUALS   VAC                                   
000244,000067: ???????  0000042               VACY               EQUALS   VAC        +          2               
000245,000068: ???????  0000044               VACZ               EQUALS   VAC        +          4               
000246,000069: ???????                        X1                 EQUALS   38D                                   #  INDEXES ARE RELATIVE TO FIXLOC
000247,000070: ???????                        X2                 EQUALS   39D                                   
000248,000071: ???????                        S1                 EQUALS   40D                                   #  AND SO ARE STEP REGISTERS
000249,000072: ???????                        S2                 EQUALS   41D                                   
000250,000073: ???????                        QPRET              EQUALS   42D                                   #  AS IS QPRET
000251,000074: 
000252,000075:    0060                                           SETLOC   60                                    
000253,000076: 
000254,000077:                                                                                                  #           THE FOLLOWING REGISTERS ARE USED BY THE INTERPRETER, AND MAY BE USED BY A BASIC JOB OR BASIC
000255,000078:                                                                                                  #  PORTIONS OF AN INTERPRETIVE JOB (SOME RESTRICTIONS APPEAR WITH RTB FOLLOWED BY TC DANZIG, BUT THE NINE REGISTERS
000256,000079:                                                                                                  #  VBUF AND BUF ARE AVAILABLE THEN). THE REGISTERS ARE NOT SAVED IN THEIR ENTIRETY DURING CHANGE JOB (MOST OF THEM
000257,000080:                                                                                                  #  ARE IGNORED), SO THAT THESE MUST BE USED ONLY AS TEMPORARIES BETWEEN ANY CCS NEWJOBS.
000258,000081: 
000259,000082:    0060                        BANKSET            ERASE                                          #  STORAGE FOR BANK BITS OF OBJECT PROGRAM
000260,000083:    0061                        ADDRWD             ERASE                                          #  THIS WILL CONTAIN A PROPER 12 BIT ADDR
000261,000084:    0062                        ORDER              ERASE                                          #  STORAGE FOR RIGHT-HAND OPERATORS
000262,000085:    0063     0062               UPDATRET           =        ORDER                                 #  RETURN FOR UPDATNN, UPDATVB
000263,000086:    0063     0062               CHAR               =        ORDER                                 #  TEMP FOR CHARIN
000264,000087:    0063     0062               ERCNT              =        ORDER                                 #  COUNTER FOR ERROR LIGHT RESET
000265,000088:    0063     0062               DECOUNT            =        ORDER                                 #  COUNTER FOR SCALING AND DISPLAY (DEC)
000266,000089:    0063                        TEM11              ERASE                                          
000267,000090:    0064     0063               SGNON              =        TEM11                                 #  TEMP FOR +,- ON
000268,000091:    0064     0063               NOUNTEM            =        TEM11                                 #  COUNTER FOR MIXNOUN FETCH
000269,000092:    0064     0063               DISTEM             =        TEM11                                 #  COUNTER FOR OCTAL DISPLAY VERBS
000270,000093:    0064     0063               DECTEM             =        TEM11                                 #  COUNTER FOR FETCH (DEC DISPLAY VERBS)
000271,000094:    0064     0063               DECTEM1            =        TEM11                                 #  TEMP FOR NUM
000272,000095:    0064                        MODE               ERASE                                          #  DENOTES VECTOR, DP, OR TP.
000273,000096:    0065     0064               ENTRET             =        MODE                                  #  EXIT FROM ENTER
000274,000097:    0065                        LOADIND            ERASE                                          #  LOAD INDICATOR
000275,000098:    0066     0065               NEWEQIND           EQUALS   LOADIND                               
000276,000099:    0066     0065               MONTEM             =        NEWEQIND                              #  TEMP RETURN FOR MONITOR
000277,000100:    0066                        FIXLOC             ERASE                                          #  ADDRESS OF CURRENT VAC AREA
000278,000101:    0067                        VACLOC             ERASE                                          #  ADDRESS OF CURRENT VAC (= FIXLOC+32D)
000279,000102:    0070                        VBUF               ERASE    +5                                    #  6 WORD TEMPORARY BLOCK FOR VXV, MXV, ETC
000280,000103:    0076     0070               TEMQS              EQUALS   VBUF                                  #  TEMP STORAGE FOR SWCALL ROUTINE
000281,000104:    0076     0071               BANKTEM            EQUALS   VBUF       +1                         #  LIKEWISE
000282,000105:    0076     0072               B                  EQUALS   VBUF       +2                         #  ARGUMENT STORAGE IN FUNCTIONS
000283,000106:    0076     0072               PROGREG            =        VBUF       +2                         #  FOR GO EXEC PROGRAM
000284,000107:    0076     0072               MIXTEMP            =        VBUF       +2                         #  FOR MIXNOUN DATA
000285,000108:    0076     0072               SIGNRET            =        VBUF       +2                         #  RETURN FOR +,- ON
000286,000109:                                                                                                  #  ALSO PROGREG+1, PROGREG+2.  MIXTEMP+1, MIXTEMP+2.
000287,000110:    0076     0074               ESCAPE2            EQUALS   VBUF       +4                         #  NEGATIVE ARGUMENT SWITCH IN ARCCOS
000288,000111:    0076     0074               TAG1               EQUALS   VBUF       +4                         #  USED FOR PICKING UP INDEX AND STEP REGS
000289,000112:    0076     0075               TEMQ3              EQUALS   VBUF       +5                         #  RETURN FROM DDV AND SQRTDIV
000290,000113:    0076     0075               POLISH             EQUALS   VBUF       +5                         #  TEMPORARY STORAGE FOR COMPLETE ADDRESSES
000291,000114:    0076     0075               WDCNT              =        VBUF       +5                         #  CHAR COUNTER FOR DSPWD
000292,000115:    0076     0075               INREL              =        VBUF       +5                         #  INPUT BUFFER SELECTOR ( X,Y,Z, REG )
000293,000116:    0076                        BUF                ERASE    +2                                    #  USED BY DMP1, SQRTDIV
000294,000117:    0101     0076               LOGTEM             EQUALS   BUF                                   #  LOG SUBROUTINE TEMP.
000295,000118:    0101     0100               SGNDMAX            EQUALS   BUF        +2                         #  USED IN TPAGREE
000296,000119:    0101     0100               TEM3               EQUALS   BUF        +2                         
000297,000120:    0101     0100               GCOMPSW            EQUALS   BUF        +2                         
000298,000121:    0101                        TEM2               ERASE                                          
000299,000122:    0102     0101               DSREL              =        TEM2                                  #  REL ADDRESS FOR DSPIN(TEM2 USED BY DAD1)
000300,000123:    0102                        TEM4               ERASE                                          
000301,000124:    0103     0102               TEMQ               EQUALS   TEM4                                  #  RETURN FROM TPAGREE
000302,000125:    0103     0102               DSMAG              =        TEM4                                  #  MAGNITUDE STORE FOR DSPIN
000303,000126:    0103     0102               IDADDTEM           =        TEM4                                  #  MIXNOUN INDIRECT ADDRESS STORAGE
000304,000127:    0103                        TEM5               ERASE                                          
000305,000128:    0104     0103               TEMQ2              EQUALS   TEM5                                  
000306,000129:    0104     0103               BASE               =        TEM5                                  
000307,000130:    0104     0103               COUNT              =        TEM5                                  #  FOR DSPIN  (TEM5 IS USED BY DAD)
000308,000131:    0104                        TEM8               ERASE                                          
000309,000132:    0105     0104               TEM6               EQUALS   TEM8                                  #  ERASABLE ASSIGNMENTS BY EQUALS
000310,000133:    0105                        TEM9               ERASE                                          
000311,000134:    0106     0105               WRDRET             =        TEM9                                  #  RETURN FOR 5BLANK
000312,000135:    0106     0105               WDRET              =        TEM9                                  #  RETURN FOR DSPWD
000313,000136:    0106     0105               DECRET             =        TEM9                                  #  RETURN FOR PUTCOM(DEC LOAD)
000314,000137:    0106     0105               21/22REG           =        TEM9                                  #  TEMP FOR CHARIN
000315,000138:    0106                        TEM10              ERASE                                          
000316,000139:    0107     0106               IND                EQUALS   TEM10                                 #  USED IN CROSS ROUTINE
000317,000140:    0107     0106               MIXBR              =        TEM10                                 #  INDICATOR FOR MIXED OR NORMAL NOUN
000318,000141:    0107     0106               DSPMMTEM           =        TEM10                                 #  DSPCOUNT SAVE FOR DSPMM
000319,000142:    0107                        DVSW               ERASE                                          #  (THIS CAN PROBABLY BE EQUATED)
000320,000143:    0110     0107               SGNOFF             =        DVSW                                  #  TEMP FOR +,- ON
000321,000144:    0110     0107               NVTEMP             =        DVSW                                  #  TEMP FOR NVSUB
000322,000145:    0110     0107               SFTEMP1            =        DVSW                                  #  STORAGE FOR SF CONST HI PART(=SFTEMP2-1)
000323,000146:    0110     0107               DECTEM2            =        DVSW                                  #  TEMP FOR NUM
000324,000147:    0110                        BRANCHQ            ERASE                                          #  (DITTO)
000325,000148:    0111     0110               CODE               =        BRANCHQ                               #  FOR DSPIN
000326,000149:    0111     0110               SFTEMP2            =        BRANCHQ                               #  STORAGE FOR SF CONST LO PART(=SFTEMP1+1)
000327,000150:    0111                        COMPON             ERASE                                          #  (DITTO)
000328,000151:    0112     0111               DSEXIT             =        COMPON                                #  RETURN FOR DSPIN
000329,000152:    0112     0111               EXITEM             =        COMPON                                #  RETURN FOR SCALE FACTOR ROUTINE SELECT
000330,000153:    0112     0111               BLANKRET           =        COMPON                                #  RETURN FOR 2BLANK
000331,000154:    0112                        ARETURN            ERASE                                          #  RETURN ADDRESS FOR ARCSIN/ARCCOS.
000332,000155:    0113     0112               LSTPTR             =        ARETURN                               #  LIST POINTER FOR GRABUSY
000333,000156:    0113     0112               RELRET             =        ARETURN                               #  RETURN FOR RELDSP
000334,000157:    0113     0112               FREERET            =        ARETURN                               #  RETURN FOR FREEDSP
000335,000158: 
000336,000159:    0113                        ESCAPE             ERASE                                          #  ARCSIN/ARCCOS SWITCH
000337,000160:    0114     0113               CADRTEM            =        ESCAPE                                #  TEMP STORAGE FOR GRAB ROUTINES
000338,000161: 
000339,000162:                                                                                                  #        THE FOLLOWING REGISTERS ARE USED EXCLUSIVELY BY THE EXECUTIVE.
000340,000163:    0114                        MPAC               ERASE    +2                                    #  MULTIPLE-PRECISION ACCUMULATOR
000341,000164:    0117                        LOC                ERASE                                          #  LOCATION COUNTER FOR OPERATOR WORDS
000342,000165:    0120                        ADRLOC             ERASE                                          #  LOCATION COUNTER FOR OPERAND ADDRESSES
000343,000166:    0121                        OVFIND             ERASE                                          #  0 FOR NO OVERFLOW, NON-ZERO OTHERWISE
000344,000167:    0122                        PUSHLOC            ERASE                                          #  NEXT AVAILABLE ENTRY IN PUSH-DOWN LIST
000345,000168:    0123                        PRIORITY           ERASE                                          #  PRIORITY OF CURRENT JOB
000346,000169: 
000347,000170:    0124                                           ERASE    +55D                                  #  EIGHT JOBS POSSIBLE
000348,000171: 
000349,000172:    0214                        VAC1USE            ERASE                                          #  SEE EXECUTIVE PROGRAMS FOR USE OF THESE
000350,000173:    0215                        VAC1               ERASE    +42D                                  #  REGISTERS
000351,000174:    0270                        VAC2USE            ERASE                                          
000352,000175:    0271                        VAC2               ERASE    +42D                                  
000353,000176:    0344                        VAC3USE            ERASE                                          
000354,000177:    0345                        VAC3               ERASE    +42D                                  
000355,000178:    0420                        VAC4USE            ERASE                                          
000356,000179:    0421                        VAC4               ERASE    +42D                                  
000357,000180:    0474                        VAC5USE            ERASE                                          
000358,000181:    0475                        VAC5               ERASE    +42D                                  
000359,000182: 
000360,000183:    0550                        NEWJOB             ERASE                                          #  SET NON-ZERO TO SIGNAL EXECUTIVE RUPT
000361,000184: 
000362,000185:                                                                                                  #        THE FOLLOWING REGISTERS ARE USED EXCLUSIVELY BY THE WAITLISTER.
000363,000186: 
000364,000187:    0551                        LST1               ERASE    +4                                    #  DELTA T'S.
000365,000188:    0556                        LST2               ERASE    +5                                    #  TASK CADRS.
000366,000189:    0564                        RUPTAGN            ERASE                                          #  WAITLIST ADDITIONAL TASK INDICATOR.
000367,000190: 
000368,000191:    0565     0564               KEYTEMP2           =        RUPTAGN                               #  TEMP FOR KEYRUPT, UPRUPT
000369,000192: 
000370,000193:                                                                                                  #        THE FOLLOWING GROUP OF REGISTERS MAY BE USED AS TEMPORARY STORAGE BY ANY INTERRUPT PROGRAM OR BY ANY
000371,000194:                                                                                                  #  PROGRAM WHICH INHIBITS INTERRUPT. CARE MUST BE TAKEN, HOWEVER, TO SEE THAT THEY ARE NOT USED DURING A CALL
000372,000195:                                                                                                  #  TO THE EXECUTIVE (FOR EXAMPLE), FOR THE EXECUTIVE MAY USE THEM AS TEMPORARIES TOO.
000373,000196: 
000374,000197:    0565                        EXECTEM1           ERASE                                          #  THESE REGISTERS, EXECTEM1-3, MAY BE USED
000375,000198:    0566     0565               RUPTSTOR           =        EXECTEM1                              
000376,000199:    0566     0565               PHASE              =        EXECTEM1                              
000377,000200:    0566     0565               IN1HITEM           =        EXECTEM1                              #  INTERRUPT TEMP FOR STANDBY PREP
000378,000201:    0566                        EXECTEM2           ERASE                                          #  AS SCRATCH STORAGE BY ANY PROGRAM WHICH
000379,000202:    0567     0566               PROG               EQUALS   EXECTEM2                              
000380,000203:    0567     0566               IN1LOTEM           =        EXECTEM2                              #  INTERRUPT TEMP FOR STANDBY PREP
000381,000204:    0567                        EXECTEM3           ERASE                                          #  INHIBITS INTERRUPTS
000382,000205:    0570     0567               ITEMP3             EQUALS   EXECTEM3                              
000383,000206:    0570     0567               SRRUPT             EQUALS   EXECTEM3                              #  SHORT STORAGE FOR SR DURING INTERRUPT.
000384,000207:    0570     0567               LOOKRET            =        EXECTEM3                              #  INTERRUPT TEMP FOR STANDBY PREP
000385,000208:    0570     0567               PHASEDIG           =        EXECTEM3                              
000386,000209:    0570                        EXECTEM4           ERASE                                          
000387,000210:    0571     0570               PHASELP            =        EXECTEM4                              
000388,000211:    0571                        EXECTEM5           ERASE                                          #  BANK RETURN FROM PHASE CONTROL.
000389,000212:    0572                        NEWPRIO            ERASE                                          #  PRIORITY OF NEW JOB
000390,000213:    0573     0572               NVAL               =        NEWPRIO                               
000391,000214:    0573     0572               DELT               =        NVAL                                  
000392,000215:    0573     0572               ITEMP1             =        NEWPRIO                               
000393,000216:    0573     0572               PHASEWD            =        NEWPRIO                               
000394,000217:    0573                        WTEXIT             ERASE                                          
000395,000218:    0574     0573               ITEMP2             =        WTEXIT                                
000396,000219:    0574     0573               KEYTEMP1           =        WTEXIT                                #  TEMP FOR KEYRUPT, UPRUPT
000397,000220:    0574     0573               DSRUPTEM           =        WTEXIT                                #  TEMP FOR DSPOUT
000398,000221:    0574                        LOCCTR             ERASE                                          #  USED TO LOCATE STORAGE FOR CORE REGISTRS
000399,000222:    0575     0574               PHASDATA           EQUALS   LOCCTR                                
000400,000223: 
000401,000224:    0575                        BANKRUPT           ERASE                                          
000402,000225:    0576                        OVRUPT             ERASE                                          
000403,000226:    0577                        LPRUPT             ERASE                                          
000404,000227: 
000405,000228:                                                                                                  #  LONG-TERM STORAGE USED DURING INTERUPT, NOT USED BY EXECUTIVE, WAITLIST, ETC.
000406,000229: 
000407,000230:    0600                        RUPTREG1           ERASE                                          
000408,000231:    0601     0600               KSAMPTEM           EQUALS   RUPTREG1                              
000409,000232:    0601                        RUPTREG2           ERASE                                          
000410,000233:    0602     0601               OSAMPTEM           EQUALS   RUPTREG2                              
000411,000234:    0602                        RUPTREG3           ERASE                                          
000412,000235:    0603                        RUPTREG4           ERASE                                          
000413,000236: 
000414,000237:                                                                                                  #  ERASABLE ASSIGNMENTS SPECIFIC TO PINBALL
000415,000238: 
000416,000239:    0612                                           SETLOC   612                                   
000417,000240:    0612                        VERBREG            ERASE                                          #  VERB CODE
000418,000241:    0613                        NOUNREG            ERASE                                          #  NOUN CODE
000419,000242:    0614                        XREG               ERASE                                          #  R1 INPUT BUFFER
000420,000243:    0615                        YREG               ERASE                                          #  R2 INPUT BUFFER
000421,000244:    0616                        ZREG               ERASE                                          #  R3 INPUT BUFFER
000422,000245:    0617                        XREGLP             ERASE                                          #  LO PART OF XREG (FOR DEC CONV ONLY)
000423,000246:    0620                        YREGLP             ERASE                                          #  LO PART OF YREG (FOR DEC CONV ONLY)
000424,000247:    0621                        ZREGLP             ERASE                                          #  LO PART OF ZREG (FOR DEC CONV ONLY)
000425,000248:    0622                        MODREG             ERASE                                          #  MODE CODE
000426,000249:    0623                        DSPLOCK            ERASE                                          #  KEYBOARD/SUBROUTINE CALL INTERLOCK
000427,000250:    0624                        REQRET             ERASE                                          #  RETURN REGISTER FOR LOAD
000428,000251:    0625                        DSPCOUNT           ERASE                                          #  DISPLAY POSITION INDICATOR
000429,000252:    0626                        DECBRNCH           ERASE                                          #  +DEC, - DEC, OCT INDICATOR
000430,000253:    0627                        DSPTEM1            ERASE    +2                                    #  BUFFER STORAGE AREA 1 (MOSTLY FOR TIME)
000431,000254:    0632                        DSPTEM2            ERASE    +2                                    #  BUFFER STORAGE AREA 2 (MOSTLY FOR DEG)
000432,000255:    0635                        NOUNADD            ERASE                                          #  MACHINE ADDRESS FOR NOUN
000433,000256:    0636                        MONSAVE            ERASE                                          #  N/V CODE FOR MONITOR. ALSO ACTIVITY
000434,000257:    0637                        MONSAVE1           ERASE                                          #  NOUNADD STORAGE FOR MONITOR WITH MATBS
000435,000258:    0640                        CADRSTOR           ERASE                                          #  ENDIDLE STORAGE
000436,000259:    0641                        GRABLOCK           ERASE                                          #  INTERNAL INTERLOCK FOR DISPLAY SYSTEM
000437,000260:    0642                        NVBNKTEM           ERASE                                          #  NVSUB STORAGE FOR CALLING BANK
000438,000261:    0643                        IN0WORD            ERASE                                          #  INPUT CODE STORAGE (KEYRUPT OR UPRUPT)
000439,000262:    0644                        NVQTEM             ERASE                                          #  NVSUB STORAGE FOR CALLING Q
000440,000263:    0645                        LOADSTAT           ERASE                                          #  STATUS INDICATOR FOR LOADTST
000441,000264:    0646                        CLPASS             ERASE                                          #  PASS INDICATOR FOR CLEAR
000442,000265:    0647                        DSPLIST            ERASE    +2                                    #  WAITING LIST FOR DSP SYST INTERNAL USE
000443,000266: 
000444,000267: 
000445,000268:                                                                                                  #        INTERPRETER SWITCH ASSIGNMENTS.
000446,000269: 
000447,000270:    0652                        STATE              ERASE    +2                                    #  45 SWITCHES USED BY INTERPRETIVE PROGS.
000448,000271: 
000449,000272:    0655     0653               FLAGWRD1           EQUALS   STATE      +1                         
000450,000273:    0655     0654               FLAGWRD2           EQUALS   STATE      +2                         
000451,000274: 
000452,000275:    0655                        JSWITCH            EQUALS   1                                     #  FREE-FALL INTEGRATION.
000453,000276:    0655                        NBSMBIT            EQUALS   5                                     #  IN-FLIGHT ALIGNMENT.
000454,000277: 
000455,000278:                                                                                                  #        STORAGE USED BY PHASE CONTROL.
000456,000279: 
000457,000280:    0655                        PHASETAB           ERASE    +3                                    #  PHASE VALUES FOR 4 PROGRAMS
000458,000281:    0661                        BACKPHAS           ERASE    +3                                    
000459,000282:    0665                        PHASEBAR           ERASE    +3                                    #  COMPLEMENTED COPY.
000460,000283:    0671                        PWTPROG            ERASE    +1                                    
000461,000284:    0673                        PWTCADR            ERASE    +1                                    
000462,000285: 
000463,000286:                                                                                                  #        THE FOLLOWING REGISTERS ARE USED BY THE DOWNRUPT PROGRAM.
000464,000287: 
000465,000288:    0675                        TELCOUNT           ERASE                                          #  ENDPULSE FREQUENCY MONITORING COUNTER.
000466,000289:    0676                        DISPBUF            ERASE                                          
000467,000290:    0677                        DNLSTADR           ERASE                                          
000468,000291:    0700                        IDPLACER           ERASE                                          
000469,000292:    0701                        TMINDEX            ERASE                                          
000470,000293:    0702                        TMKEYBUF           ERASE                                          
000471,000294: 
000472,000295: 
000473,000296:                                                                                                  #        THE FOLLOWING STORAGE IS USED BY T4RUPT.
000474,000297: 
000475,000298:    0703                        DSRUPTSW           ERASE                                          #  T4RUPT PHASE COUNT GOES 7(-1)0
000476,000299:    0704                        CDUIND             ERASE                                          #  IMU CDU STATUS INDICATOR AND INDEXER.
000477,000300:    0705                        THETAD             ERASE    +2                                    #  SET OF THREE DEISRED ANGLES IN 2S COMPL.
000478,000301:    0710     0705               PRELXGA            =        THETAD                                
000479,000302:    0710     0706               PRELYGA            =        THETAD     +1                         
000480,000303:    0710     0707               PRELZGA            =        THETAD     +2                         
000481,000304:    0710                        COMMAND            ERASE    +2                                    #  LAST COMMANDS TO CDUS.
000482,000305:    0713                        KG                 ERASE                                          #  CDU DRIVING GAIN.
000483,000306:    0714                        KH                 ERASE                                          #  CDU DRIVING GAIN.
000484,000307:    0715                        GYROD              ERASE    +5                                    #  GYRO PULSE TRAIN COMMANDS.
000485,000308:    0723                        OPTIND             ERASE                                          #  OPTICS CDU STATUS INDICATOR AND INDEXER.
000486,000309:    0724                        DESOPTX            ERASE    +1                                    #  DESIRED OPTICS CDU ANGLES.
000487,000310: 
000488,000311:    0726                        DSPCNT             ERASE                                          #  STEPS THROUGH K-RELAY SLOTS IN DSPTAB.
000489,000312:    0727                        NOUT               ERASE                                          #  HOLDS NUMBER OF RELAY WORDS TO CHANGE.
000490,000313:    0730                        DSPTAB             ERASE    +13D                                  #  HOLDS STATE OF ALL RELAYS AND CHANGE INF
000491,000314: 
000492,000315:    0746                        OLDERR             ERASE                                          #  LAST-SAMPLED SYSTEM ERROR BITS.
000493,000316:                                                                                                  #        THE BITS OF OLDERR HAVE THE FOLLOWING MEANINGS:
000494,000317: 
000495,000318:                                                                                                  #  BIT  1 = 1 IF THE PILOTS ATTITUDE BUTTON IS DEPRESSED.
000496,000319:                                                                                                  #  BIT  2 = 1 IF RESTART FAILED (AND DID A FRESH START).
000497,000320:                                                                                                  #  BIT  3 = 1 IF BIT 4 OF OUT1 WAS NOT INVERTED LAST NWJOB.
000498,000321:                                                                                                  #  BIT  4 = 1 TO INHIBIT IMU FAIL FOR 5 SECONDS AFTER COARSE ALIGN.
000499,000322:                                                                                                  #  BIT  5 = 1 IF CURTAINS CALLED (IMU MODING FAILURE, ETC.)
000500,000323:                                                                                                  #  BIT 10 = 1 IF CDU FAIL IS ON IN FINE ALIGN.
000501,000324:                                                                                                  #  BIT 11 = 1 IF PIPA FAIL IS ON.
000502,000325:                                                                                                  #  BIT 12 = 1 IF IMU FAIL IS ON IN ANY MODE BUT COARSE ALIGN.
000503,000326: 
000504,000327:                                                                                                  #        IN FLIGHT 501, BITS 2, 5, 11, AND 12 INHIBIT MAINTENANCE OF THE NIGHT WATCHMAN ALARM
000505,000328:                                                                                                  #  SO THAT IF THEY ARE PRESENT FOR 2 CONSECUTIVE NWJOBS, G & N FAIL WILL BE SENT TO THE MCP.
000506,000329: 
000507,000330:    0747                        WASKSET            ERASE                                          #  LAST SETTING OF IMU MODE SWITCHES.
000508,000331:    0750                        WASOPSET           ERASE                                          #  LAST SETTING OF OPTICS MODE SWITCHES.
000509,000332: 
000510,000333:    0751                        DESKSET            ERASE                                          #  DESIRED SETTING OF IMU MODE SWITCHES.
000511,000334:    0752                        DESOPSET           ERASE                                          #  DESIRED OPTICS MODES.
000512,000335: 
000513,000336:                                                                                                  #        THE FOLLOWING REGISTERS ARE USED BY THE MODE SWITCHING AND MARK PROGRAMS.
000514,000337: 
000515,000338:    0753                        IMUCADR            ERASE                                          #  USED BY IMUSTALL.
000516,000339:    0754     0753               MODECADR           EQUALS   IMUCADR                               #  FOR INDEXING PURPOSES.
000517,000340:    0754                        OPTCADR            ERASE                                          #  USED BY OPTSTALL.
000518,000341: 
000519,000342:    0755                        MARKSTAT           ERASE                                          #  MARK BUTTON STATUS REGISTER.
000520,000343: 
000521,000344:    0756                        FAILREG            ERASE                                          
000522,000345: 
000523,000346:                                                                                                  #        THE FOLLOWING STORAGE IS TIME-SHARED BY MISSION PROGRAMS UNDER THE SUPERVISION OF MASTER COMTROL. IT IS
000524,000347:                                                                                                  #  ORGANIZED INTO THREE PARTS REFERRED TO AS A MEMORY, B MEMORY, AND C MEMORY. A PARTICULAR MISSION PHASE IS
000525,000348:                                                                                                  #  ASSIGNED TO ONE OF THE SEGMENTS IN SUCH A WAY THAT NO OTHER MISSION PHASE USING THE SAME SEGMENT WILL EVER RUN
000526,000349:                                                                                                  #  CONCURRENTLY; E.G., RE-ENTRY WILL NEVER RUN CONCURRENT WITH TVC. THE NUMBER OF AREAS (3) IS DETERMINED BY THE
000527,000350:                                                                                                  #  MAXIMUM NUMBER OF DISTINCT MISSION PROGRAMS WHICH RUN SIMULTANEOUSLY.
000528,000351: 
000529,000352:                                                                                                  #        A MEMORY IS USED BY PRELAUNCH AND IN-FLIGHT ALIGNMENTS. B MEMORY IS USED BY MID-COURSE DURING FREE-FALL
000530,000353:                                                                                                  #  PORTIONS OF THE MISSION. THE C MEMORY PORTION IS USED THROUGHOUT MOST OF THE MISSION FOR THE MIDCOURSE ERROR
000531,000354:                                                                                                  #  TRANSITION MATRIX W. THE EXCEPTION IS SYSTEM TEST, ASSIGNED TO A MEMORY, WHICH NEVER RUNS CONCURRENTLY WITH
000532,000355:                                                                                                  #  MISSION PROGRAMS.
000533,000356: 
000534,000357:    0757                        AMEMORY            ERASE    +152D                                 
000535,000358:    1210                        BMEMORY            ERASE    +166D                                 
000536,000359:    1457                        CMEMORY            ERASE    +71D                                  
000537,000360: 
000538,000361: 
000539,000362:                                                                                                  #        A MEMORY ASSIGNMENTS FOR PRE-LAUNCH ALIGNMENT.
000540,000363:    1567     0757               GYROCSW            EQUALS   AMEMORY    +000D                      
000541,000364:    1567     0760               DRIFTY             EQUALS   AMEMORY    +001D                      
000542,000365:    1567     0761               DRIFTZ             EQUALS   AMEMORY    +002D                      
000543,000366:    1567     0762               DRIFTX             EQUALS   AMEMORY    +003D                      
000544,000367:    1567     0763               LATITUDE           EQUALS   AMEMORY    +004D                      
000545,000368:    1567     0765               AZIMUTH            EQUALS   AMEMORY    +006D                      
000546,000369:    1567     0767               PRELTEMP           EQUALS   AMEMORY    +008D                      
000547,000370: 
000548,000371: 
000549,000372:                                                                                                  #        THE FOLLOWING LOCATIONS ARE USED BY IN-FLIGHT ALIGNMENT:
000550,000373:    1567     0770               STARAD             EQUALS   AMEMORY    +009D                      
000551,000374:    1567     0770               XNB                EQUALS   AMEMORY    +009D                      
000552,000375:    1567     0776               YNB                EQUALS   AMEMORY    +015D                      
000553,000376:    1567     1004               ZNB                EQUALS   AMEMORY    +021D                      
000554,000377:    1567     1004               STAR               EQUALS   AMEMORY    +021D                      
000555,000378:    1567     1012               XSM                EQUALS   AMEMORY    +027D                      
000556,000379:    1567     1020               YSM                EQUALS   AMEMORY    +033D                      
000557,000380:    1567     1026               ZSM                EQUALS   AMEMORY    +039D                      
000558,000381:    1567     1034               XDC                EQUALS   AMEMORY    +045D                      
000559,000382:    1567     1034               XDSMPR             EQUALS   AMEMORY    +045D                      
000560,000383:    1567     1042               YDC                EQUALS   AMEMORY    +051D                      
000561,000384:    1567     1042               YDSMPR             EQUALS   AMEMORY    +051D                      
000562,000385:    1567     1050               ZDC                EQUALS   AMEMORY    +057D                      
000563,000386:    1567     1050               ZDSMPR             EQUALS   AMEMORY    +057D                      
000564,000387:    1567     1056               OGC                EQUALS   AMEMORY    +063D                      
000565,000388:    1567     1056               SAC                EQUALS   AMEMORY    +063D                      
000566,000389:    1567     1060               IGC                EQUALS   AMEMORY    +065D                      
000567,000390:    1567     1060               PAC                EQUALS   AMEMORY    +065D                      
000568,000391:    1567     1062               MGC                EQUALS   AMEMORY    +067D                      
000569,000392: 
000570,000393: 
000571,000394:                                                                                                  #        SYSTEM TEST A MEMORY USAGE:
000572,000395: 
000573,000396:    1567     0757               COUNTPL            EQUALS   AMEMORY    +000D                      
000574,000397:    1567     0765               PIPINDEX           EQUALS   AMEMORY    +006D                      
000575,000398:    1567     1064               GENPLACE           EQUALS   AMEMORY    +069D                      
000576,000399:    1567     1204               PIPANO             EQUALS   AMEMORY    +149D                      
000577,000400:    1567     1205               POSITON            EQUALS   AMEMORY    +150D                      
000578,000401:    1567     1206               RESULTCT           EQUALS   AMEMORY    +151D                      
000579,000402:    1567     1207               QPLACE             EQUALS   AMEMORY    +152D                      
000580,000403: 
000581,000404: 
000582,000405:                                                                                                  #        THE FOLLOWING B MEMORY LOCATIONS ARE USED BY MID-COURSE NAVIGATION:
000583,000406: 
000584,000407:    1567     1210               FDSPWAIT           EQUALS   BMEMORY    +000D                      
000585,000408:    1567     1211               STEPEXIT           EQUALS   BMEMORY    +001D                      
000586,000409:    1567     1212               DIFEQCNT           EQUALS   BMEMORY    +002D                      
000587,000410:    1567     1213               SCALEA             EQUALS   BMEMORY    +003D                      
000588,000411:    1567     1214               SCALEB             EQUALS   BMEMORY    +004D                      
000589,000412:    1567     1215               SCALEDT            EQUALS   BMEMORY    +005D                      
000590,000413:    1567     1216               SCALDELT           EQUALS   BMEMORY    +006D                      
000591,000414:    1567     1217               SCALER             EQUALS   BMEMORY    +007D                      
000592,000415:    1567     1220               PBODY              EQUALS   BMEMORY    +008D                      
000593,000416:    1567     1221               FBRANCH            EQUALS   BMEMORY    +009D                      
000594,000417:    1567     1222               HBRANCH            EQUALS   BMEMORY    +010D                      
000595,000418:    1567     1223               FLSTPHAS           EQUALS   BMEMORY    +011D                      
000596,000419:    1567     1224               GMODE              EQUALS   BMEMORY    +012D                      
000597,000420:    1567     1225               BETAM              EQUALS   BMEMORY    +013D                      
000598,000421:    1567     1227               VECTAB             EQUALS   BMEMORY    +015D                      
000599,000422:    1567     1273               RRECT              EQUALS   BMEMORY    +051D                      
000600,000423:    1567     1301               VRECT              EQUALS   BMEMORY    +057D                      
000601,000424:    1567     1307               ALPHAM             EQUALS   BMEMORY    +063D                      
000602,000425:    1567     1311               TC                 EQUALS   BMEMORY    +065D                      
000603,000426:    1567     1313               TAU                EQUALS   BMEMORY    +067D                      
000604,000427:    1567     1315               TETDISP            EQUALS   BMEMORY    +069D                      
000605,000428:    1567     1317               TET                EQUALS   BMEMORY    +071D                      
000606,000429:    1567     1321               ENDTET             EQUALS   BMEMORY    +073D                      
000607,000430:    1567     1323               DT/2               EQUALS   BMEMORY    +075D                      
000608,000431:    1567     1325               H                  EQUALS   BMEMORY    +077D                      
000609,000432:    1567     1327               TDELTAV            EQUALS   BMEMORY    +079D                      
000610,000433:    1567     1335               TNUV               EQUALS   BMEMORY    +085D                      
000611,000434:    1567     1343               YV                 EQUALS   BMEMORY    +091D                      
000612,000435:    1567     1351               ZV                 EQUALS   BMEMORY    +097D                      
000613,000436:    1567     1357               RCV                EQUALS   BMEMORY    +103D                      
000614,000437:    1567     1357               FOUNDR             EQUALS   BMEMORY    +103D                      
000615,000438:    1567     1365               VCV                EQUALS   BMEMORY    +109D                      
000616,000439:    1567     1365               FOUNDV             EQUALS   BMEMORY    +109D                      
000617,000440:    1567     1373               ALPHAV             EQUALS   BMEMORY    +115D                      
000618,000441:    1567     1401               BETAV              EQUALS   BMEMORY    +121D                      
000619,000442:    1567     1407               PHIV               EQUALS   BMEMORY    +127D                      
000620,000443:    1567     1415               PSIV               EQUALS   BMEMORY    +133D                      
000621,000444:    1567     1423               FV                 EQUALS   BMEMORY    +139D                      
000622,000445:    1567     1431               RDISP              EQUALS   BMEMORY    +145D                      
000623,000446:    1567     1437               VDISP              EQUALS   BMEMORY    +151D                      
000624,000447:    1567     1447               XKEPHI             EQUALS   BMEMORY    +159D                      
000625,000448:    1567     1451               XKEPLO             EQUALS   BMEMORY    +161D                      
000626,000449:    1567     1453               XSTOREX            EQUALS   BMEMORY    +163D                      
000627,000450:    1567     1455               ASQ                EQUALS   BMEMORY    +165D                      
000628,000451: 
000629,000452: 
000630,000453:                                                                                                  #        THE FOLLOWING IS THE MIDCOURSE 6X6 ERROR TRANSITION MATRIX:
000631,000454: 
000632,000455:    1567     1457               W                  EQUALS   CMEMORY    +000D                      
000633,000456: 
000634,000457: 
000635,000458:                                                                                                  #        THE FOLLOWING STORAGE IS USED BY SELF-CHECK
000636,000459: 
000637,000460:    1567                        SMODE              ERASE                                          
000638,000461:    1570                        SFAIL              ERASE                                          
000639,000462:    1571                        SCOUNT             ERASE    +1                                    
000640,000463:    1573                        SKEEP1             ERASE                                          
000641,000464:    1574                        SKEEP2             ERASE                                          
000642,000465:    1575                        SKEEP3             ERASE                                          
000643,000466:    1576                        SKEEP4             ERASE                                          
000644,000467:    1577                        SKEEP5             ERASE                                          
000645,000468:    1600                        SKEEP6             ERASE                                          
000646,000469:    1601                        OKREG              ERASE                                          
000647,000470: 
000648,000471:                                                                                                  #        SYSTEM TEST A MEMORY USAGE:
000649,000472: 
000650,000473:    1602     0760               LTSTNDX            EQUALS   AMEMORY    +001D                      
000651,000474:    1602     0761               CDUNDX             EQUALS   AMEMORY    +002D                      
000652,000475:    1602     0762               NBPOS              EQUALS   AMEMORY    +003D                      
000653,000476:    1602     0767               PIPINDX2           EQUALS   AMEMORY    +008D                      
000654,000477:    1602     1064               GENPL              EQUALS   AMEMORY    +069D                      
000655,000478:    1602     1173               MKSTAT1            EQUALS   AMEMORY    +140D                      
000656,000479:    1602     1174               VACADR             EQUALS   AMEMORY    +141D                      
000657,000480:    1602     1176               STOREPL            EQUALS   AMEMORY    +143D                      
000658,000481:    1602     1176               COAROFIN           EQUALS   AMEMORY    +143D                      
000659,000482:    1602     1177               TESTNDX            EQUALS   AMEMORY    +144D                      
000660,000483:    1602     1200               BUBBLE             EQUALS   AMEMORY    +145D                      
000661,000484:    1602     1201               TESTTIME           EQUALS   AMEMORY    +146D                      
000662,000485:    1602     1202               MAXPTS2            EQUALS   AMEMORY    +147D                      
000663,000486:    1602     1203               QPLAC              EQUALS   AMEMORY    +148D                      
000664,000487:    1602     1206               NDXCTR             EQUALS   AMEMORY    +151D                      
000665,000488: 
000666,000489:                                                                                                  #        SYSTEM TEST B MEMORY USAGE:
000667,000490: 
000668,000491:    1602     1210               DATAPL             EQUALS   BMEMORY    +000D                      
000669,000492:    1602     1210               TESTNO             EQUALS   BMEMORY    +000D                      
000670,000493:    1602     1211               SAVE               EQUALS   BMEMORY    +001D                      
000671,000494:    1602     1212               PLOW               EQUALS   BMEMORY    +002D                      
000672,000495:    1602     1213               PIPNDX             EQUALS   BMEMORY    +003D                      
000673,000496:    1602     1213               PTS                EQUALS   BMEMORY    +003D                      
000674,000497:    1602     1213               CUSSANG            EQUALS   BMEMORY    +003D                      
000675,000498:    1602     1214               NEGCDU1            EQUALS   BMEMORY    +004D                      
000676,000499:    1602     1215               NEGCDU2            EQUALS   BMEMORY    +005D                      
000677,000500:    1602     1215               RUN                EQUALS   BMEMORY    +005D                      
000678,000501:    1602     1216               LOCNO              EQUALS   BMEMORY    +006D                      
000679,000502:    1602     1217               CALCDIR            EQUALS   BMEMORY    +007D                      
000680,000503:    1602     1225               TEMDELV            EQUALS   BMEMORY    +013D                      
000681,000504:    1602     1227               YSM2               EQUALS   BMEMORY    +015D                      
000682,000505:    1602     1227               TAR1POS            EQUALS   BMEMORY    +015D                      
000683,000506:    1602     1235               TAR2POS            EQUALS   BMEMORY    +021D                      
000684,000507:    1602     1243               TAR3POS            EQUALS   BMEMORY    +027D                      
000685,000508:    1602     1251               TAR4POS            EQUALS   BMEMORY    +033D                      
000686,000509:    1602     1325               EROPTN             EQUALS   BMEMORY    +077D                      
000687,000510:    1602     1437               VMARK              EQUALS   BMEMORY    +151D                      
000688,000511:    1602     1445               TMARK              EQUALS   BMEMORY    +157D                      
000689,000512: 
000690,000513:                                                                                                  #  THE FOLLOWING STORAGE IS RESERVED EXCLUSIVELY FOR SELF-CHECK
000691,000514: 
000692,000515:    1602                        SELFERAS           ERASE    1761       -          1777            
000693,000516:    1602                        S2MODE             =        1762                                  
000694,000517:    1602                        QADRS              =        1763                                  
000695,000518:    1602                        S2FAIL             =        1764                                  
000696,000519:    1602                        ER2COUNT           =        1765                                  
000697,000520:    1602                        S2COUNT            =        1766                                  
000698,000521:    1602                        S2KEEP1            =        1771                                  
000699,000522:    1602                        S2KEEP2            =        1772                                  
000700,000523:    1602                        S2KEEP3            =        1773                                  
000701,000524:    1602                        S2KEEP4            =        1774                                  
000702,000525:    1602                        S2KEEP5            =        1775                                  
000703,000526:    1602                        S2KEEP6            =        1776                                  
000704,000527:    1602                        S2KEEP7            EQUALS   1777                                  

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