Source Code

These source-code files are part of a reconstructed copy of Sunrise 45, the penultimate 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, and 1003133-20. 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.

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

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