Source Code

These source-code files are part of a reconstructed copy of Luminary 163, the first (unflown) release of the Apollo 14 Lunar Module (LM) Apollo Guidance Computer (AGC) software.

The reconstruction began with reconstructed source code for Luminary 173. Changes between revision 163 and 173 were backed out, as described by Luminary memos 157 and 158. The reconstruction was verified by matching memory-bank checksums to those listed in drawing 2021152N. Note that page numbers in the reconstructed code match those for the baseline log section mentioned in each file's changelog; the page numbers for a real Luminary 163 listing would be different.

Comments from the original source code are prefixed with a single '#' symbol, whereas comments added later are prefixed by "##" or "###". Report any errors noted by creating an issue report at the Virtual AGC project's GitHub repository.

053111,000002:                                                                                                  ## Copyright:   Public domain.
053112,000003:                                                                                                  ## Filename:    POWERED_FLIGHT_SUBROUTINES.agc
053113,000004:                                                                                                  ## Purpose:     A section of Luminary revision 163.
053114,000005:                                                                                                  ##              It is part of the reconstructed source code for the first
053115,000006:                                                                                                  ##              (unflown) release of the flight software for the Lunar
053116,000007:                                                                                                  ##              Module's (LM) Apollo Guidance Computer (AGC) for Apollo 14.
053117,000008:                                                                                                  ##              The code has been recreated from a reconstructed copy of
053118,000009:                                                                                                  ##              Luminary 173, as well as Luminary memos 157 amd 158.
053119,000010:                                                                                                  ##              It has been adapted such that the resulting bugger words
053120,000011:                                                                                                  ##              exactly match those specified for Luminary 163 in NASA
053121,000012:                                                                                                  ##              drawing 2021152N, which gives relatively high confidence
053122,000013:                                                                                                  ##              that the reconstruction is correct.
053123,000014:                                                                                                  ## Reference:   pp. 1248-1256
053124,000015:                                                                                                  ## Assembler:   yaYUL
053125,000016:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
053126,000017:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
053127,000018:                                                                                                  ## Mod history: 2019-08-21 MAS  Created from Luminary 173.
053128,000019:                                                                                                  ##              2021-05-30 ABS  SINSLOC -> SINESLOC
053129,000020: 

Page 1248

053131,000022: 14,3775                                           BANK     14                                    #  SAME FBANK AS THE FINDCDUD SUB-PROGRAM
053132,000023: 23,2000                                           SETLOC   POWFLITE                              
053133,000024: 23,2000                                           BANK                                           
053134,000025: 
053135,000026: 23,3535     0142                                  EBANK=   DEXDEX                                
053136,000027: 23,3535                                           COUNT*   $$/POWFL                              
053137,000028: 
053138,000029:                                                                                                  #      CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*TR*GS ALL COMPUTE THE SINES AND
053139,000030:                                                                                                  #  COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
053140,000031:                                                                                                  #  PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU.   AN
053141,000032:                                                                                                  #  ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT.   THESE
053142,000033:                                                                                                  #  ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
053143,000034:                                                                                                  #  EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2.   THEY DIFFER ONLY IN
053144,000035:                                                                                                  #  WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
053145,000036: 
053146,000037:                                                                                                  #      CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
053147,000038:                                                                                                  #  SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
053148,000039:                                                                                                  #  THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
053149,000040:                                                                                                  #  CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
053150,000041: 
053151,000042:                                                                                                  #      CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
053152,000043: 
053153,000044:                                                                                                  #      CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP.   THIS
053154,000045:                                                                                                  #  ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
053155,000046:                                                                                                  #  ANGLES IN AN ORDER OTHER THAN X Y Z.   A CALL TO THIS ROUTINE IS
053156,000047:                                                                                                  #  NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
053157,000048:                                                                                                  #  MODES (SMNB OR NBSM).   SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
053158,000049:                                                                                                  #  COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
053159,000050:                                                                                                  #  IN THIS ORDER.   CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
053160,000051:                                                                                                  #  MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED.   NOTE THAT SINCE
053161,000052:                                                                                                  #  IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
053162,000053:                                                                                                  #  CALLED USING BANKCALL.   SORRY.
053163,000054: 
053164,000055:                                                                                                  #      CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
053165,000056:                                                                                                  #  INTERPRETIVE.
053166,000057: 
053167,000058: 23,3535           77776        CDUTRIG            EXIT                                           
053168,000059: 23,3536           03545                           TC       CDUTRIGS                              
053169,000060: 23,3537           06042                           TC       INTPRET                               
053170,000061: 23,3540           77616                           RVQ                                            
053171,000062: 
053172,000063: 23,3541           77776        CD*TR*G            EXIT                                           
053173,000064: 23,3542           03553                           TC       CD*TR*GS                              
053174,000065: 23,3543           06042                           TC       INTPRET                               
053175,000066: 23,3544           77616                           RVQ                                            
053176,000067: 
053177,000068: 23,3545           30032        CDUTRIGS           CA       CDUX                                  
053178,000069: 23,3546           54771                           TS       CDUSPOT    +4                         
053179,000070: 23,3547           30033                           CA       CDUY                                  
053180,000071: 23,3550           54765                           TS       CDUSPOT                               

Page 1249

053182,000073: 23,3551           30034                           CA       CDUZ                                  
053183,000074: 23,3552           54767                           TS       CDUSPOT    +2                         
053184,000075: 
053185,000076: 23,3553           00006        CD*TR*GS           EXTEND                                         
053186,000077: 23,3554           22142                           QXCH     TEM2                                  
053187,000078: 23,3555           34751                           CAF      FOUR                                  
053188,000079: 23,3556           76245        TR*GL**P           MASK     SIX                                   #  MAKE IT EVEN AND SMALLER
053189,000080: 23,3557           54143                           TS       TEM3                                  
053190,000081: 23,3560           50143                           INDEX    TEM3                                  
053191,000082: 23,3561           30765                           CA       CDUSPOT                               
053192,000083: 23,3562           52155                           DXCH     MPAC                                  #  STORING 2'S COMP ANGLE, LOADING MPAC
053193,000084: 23,3563           52127                           DXCH     VBUF       +4                         #  STORING MPAC FOR LATER RESTORATION
053194,000085: 23,3564           04713                           TC       USPRCADR                              
053195,000086: 23,3565           21577                           CADR     CDULOGIC                              
053196,000087: 23,3566           00006                           EXTEND                                         
053197,000088: 23,3567           30155                           DCA      MPAC                                  
053198,000089: 23,3570           50143                           INDEX    TEM3                                  
053199,000090: 23,3571           52766                           DXCH     CDUSPOT                               #  STORING 1'S COMPLEMENT ANGLE
053200,000091: 23,3572           04713                           TC       USPRCADR                              
053201,000092: 23,3573           01517                           CADR     COSINE                                
053202,000093: 23,3574           52155                           DXCH     MPAC                                  
053203,000094: 23,3575           50143                           INDEX    TEM3                                  
053204,000095: 23,3576           52744                           DXCH     COSCDU                                #  STORING COSINE
053205,000096: 23,3577           00006                           EXTEND                                         
053206,000097: 23,3600           50143                           INDEX    TEM3                                  
053207,000098: 23,3601           30766                           DCA      CDUSPOT                               #  LOADING 1'S COMPLEMENT ANGLE
053208,000099: 23,3602           04713                           TC       USPRCADR                              
053209,000100: 23,3603           01531                           CADR     SINE       +1                         #  SINE +1 EXPECTS ARGUMENT IN A AND L
053210,000101: 23,3604           52127                           DXCH     VBUF       +4                         #  BRINGING UP PRIOR MPAC TO BE RESTORED
053211,000102: 23,3605           52155                           DXCH     MPAC                                  
053212,000103: 23,3606           50143                           INDEX    TEM3                                  
053213,000104: 23,3607           52736                           DXCH     SINCDU                                
053214,000105: 23,3610           10143                           CCS      TEM3                                  
053215,000106: 23,3611           13556                           TCF      TR*GL**P                              
053216,000107: 23,3612           00142                           TC       TEM2                                  

Page 1250

053218,000109:                                                                                                  #  ****************************************************************************************************************
053219,000110: 
053220,000111:                                                                                                  #      QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
053221,000112:                                                                                                  #  QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
053222,000113:                                                                                                  #  AND CDUSPOT +4.   UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
053223,000114:                                                                                                  #  CDUSPOT.   QUICTRIG'S EXECUTION TIME IS 4.1 MS;   THIS IS 10 TIMES AS FAST AS CD*TR*GS.   QUICTRIG MAY BE
053224,000115:                                                                                                  #  CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
053225,000116: 
053226,000117: 23,3613           00004        QTPROLOG           INHINT                                         
053227,000118: 23,3614           30032                           CA       CDUX                                  
053228,000119: 23,3615           54771                           TS       CDUSPOTX                              
053229,000120: 23,3616           30033                           CA       CDUY                                  
053230,000121: 23,3617           54765                           TS       CDUSPOTY                              
053231,000122: 23,3620           30034                           CA       CDUZ                                  
053232,000123: 23,3621           54767                           TS       CDUSPOTZ                              
053233,000124: 
053234,000125: 23,3622           00004        QUICTRIG           INHINT                                         #  INHINT SINCE DAP USES THE SAME TEMPS
053235,000126: 23,3623           00006                           EXTEND                                         
053236,000127: 23,3624           22061                           QXCH     ITEMP1                                
053237,000128: 23,3625           34751                           CAF      FOUR                                  
053238,000129: 23,3626           76245                 +4        MASK     SIX                                   
053239,000130: 23,3627           54062                           TS       ITEMP2                                
053240,000131: 23,3630           50062                           INDEX    ITEMP2                                
053241,000132: 23,3631           30765                           CA       CDUSPOT                               
053242,000133: 23,3632           05033                           TC       SPSIN                                 
053243,000134: 23,3633           00006                           EXTEND                                         
053244,000135: 23,3634           74736                           MP       BIT14                                 #  SCALE DOWN TO MATCH INTERPRETER OUTPUTS
053245,000136: 23,3635           50062                           INDEX    ITEMP2                                
053246,000137: 23,3636           52736                           DXCH     SINCDU                                
053247,000138: 23,3637           50062                           INDEX    ITEMP2                                
053248,000139: 23,3640           30765                           CA       CDUSPOT                               
053249,000140: 23,3641           05032                           TC       SPCOS                                 
053250,000141: 23,3642           00006                           EXTEND                                         
053251,000142: 23,3643           74736                           MP       BIT14                                 
053252,000143: 23,3644           50062                           INDEX    ITEMP2                                
053253,000144: 23,3645           52744                           DXCH     COSCDU                                
053254,000145: 23,3646           10062                           CCS      ITEMP2                                
053255,000146: 23,3647           13626                           TCF      QUICTRIG   +4                         
053256,000147: 23,3650           30061                           CA       ITEMP1                                
053257,000148: 23,3651           00003                           RELINT                                         
053258,000149: 23,3652           00000                           TC       A                                     
053259,000150: 

Page 1251

053261,000152:                                                                                                  #  ****************************************************************************************************************
053262,000153:                                                                                                  #      THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
053263,000154:                                                                                                  #  INTERPRETIVE.   LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
053264,000155: 
053265,000156:                                                                                                  #      THESE INTERFACE ROUTINES ARE PERMANENT.   ALL RESTORE USER'S EBANK
053266,000157:                                                                                                  #  SETTING.   ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
053267,000158:                                                                                                  #  RETURNING VIA QPRET.   ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
053268,000159:                                                                                                  #  MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
053269,000160: 
053270,000161:                                                                                                  #      TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
053271,000162:                                                                                                  #  AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
053272,000163:                                                                                                  #  LOCATIONS NEED NOT BE ZEROED).   TRG*NBSM DOES THE NB TO SM TRANSFOR-
053273,000164:                                                                                                  #  MATION;  TRG*SMNB, VICE VERSA.
053274,000165: 
053275,000166:                                                                                                  #      CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
053276,000167:                                                                                                  #  THE CDU COUNTERS.   OTHERWISE IT IS LIKE TRG*NBSM.
053277,000168: 
053278,000169:                                                                                                  #      CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
053279,000170: 
053280,000171: 23,3653           77776        CDU*SMNB           EXIT                                           
053281,000172: 23,3654           03545                           TC       CDUTRIGS                              
053282,000173: 23,3655           13660                           TCF      C*MM*N1                               
053283,000174: 
053284,000175: 23,3656           77776        TRG*SMNB           EXIT                                           
053285,000176: 23,3657           03553                           TC       CD*TR*GS                              
053286,000177: 23,3660           07535        C*MM*N1            TC       MPACVBUF                              #  AX*SR*T EXPECTS VECTOR IN VBUF
053287,000178: 23,3661           46250                           CS       THREE                                 #  SIGNAL FOR SM TO NB TRANSFORMATION
053288,000179: 23,3662           03702        C*MM*N2            TC       AX*SR*T                               
053289,000180: 23,3663           06042                           TC       INTPRET                               
053290,000181: 23,3664           43575                           VLOAD    RVQ                                   
053291,000182: 23,3665           00123                                    VBUF                                  
053292,000183: 
053293,000184: 23,3666           77776        CDU*NBSM           EXIT                                           
053294,000185: 23,3667           03545                           TC       CDUTRIGS                              
053295,000186: 23,3670           13673                           TCF      C*MM*N3                               
053296,000187: 
053297,000188: 23,3671           77776        TRG*NBSM           EXIT                                           
053298,000189: 23,3672           03553                           TC       CD*TR*GS                              
053299,000190: 23,3673           07535        C*MM*N3            TC       MPACVBUF                              #  FOR AX*SR*T
053300,000191: 23,3674           36250                           CA       THREE                                 #  SIGNAL FOR NB TO SM TRANSFORMATION
053301,000192: 23,3675           13662                           TCF      C*MM*N2                               
053302,000193: 
053303,000194:                                                                                                  #      *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
053304,000195:                                                                                                  #  AND COSCDU) RATHER THAN THE ANGLES THEMSELVES.   OTHERWISE THEY ARE
053305,000196:                                                                                                  #  LIKE TRG*NBSM AND TRG*SMNB.
053306,000197: 
053307,000198:                                                                                                  #      NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
053308,000199:                                                                                                  #  OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM

Page 1252

053310,000201:                                                                                                  #  AND TRG*SMNB NEED BE CALLED FOR EACH SERIES.   FOR SUBSEQUENT TRANSFOR-
053311,000202:                                                                                                  #  MATIONS USE *NBSM* AND *SMNB*.
053312,000203: 
053313,000204: 23,3676           77776        *SMNB*             EXIT                                           
053314,000205: 23,3677           13660                           TCF      C*MM*N1                               
053315,000206: 
053316,000207: 23,3700           77776        *NBSM*             EXIT                                           
053317,000208: 23,3701           13673                           TCF      C*MM*N3                               
053318,000209: 
053319,000210:                                                                                                  #        AX*SR*T COMBINES THE OLD SMNB AND NBSM.   FOR THE NB TO SM
053320,000211:                                                                                                  #  TRANSFORMATION, ENTER WITH +3 IN A.   FOR SM TO NB, ENTER WITH -3.
053321,000212:                                                                                                  #  THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
053322,000213:                                                                                                  #  AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
053323,000214:                                                                                                  #  AT SINCDU AND COSCDU, IN THE ORDER Y Z X.   A CALL TO CD*TR*GS, WITH
053324,000215:                                                                                                  #  THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
053325,000216:                                                                                                  #  THIS.   HERE IS A SAMPLE CALLING SEQUENCE:-
053326,000217: 
053327,000218:                                                                                                  #                             TC     CDUTRIGS
053328,000219:                                                                                                  #                             CS     THREE       ("CA  THREE" FOR NBSM)
053329,000220:                                                                                                  #                             TC     AX*SR*T
053330,000221: 
053331,000222:                                                                                                  #  THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
053332,000223:                                                                                                  #  THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
053333,000224: 
053334,000225:                                                                                                  #      AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
053335,000226:                                                                                                  #  UNITY.   A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
053336,000227:                                                                                                  #  HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
053337,000228:                                                                                                  #  FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
053338,000229: 
053339,000230: 23,3702           54142        AX*SR*T            TS       DEXDEX                                #  WHERE IT BECOMES THE INDEX OF INDEXES
053340,000231: 23,3703           00006                           EXTEND                                         
053341,000232: 23,3704           22145                           QXCH     RTNSAVER                              
053342,000233: 
053343,000234: 23,3705           10142        R*TL**P            CCS      DEXDEX                                #          +3 --> 0     -3 --> 2
053344,000235: 23,3706           40142                           CS       DEXDEX                                #  THUS:   +2 --> 1     -2 --> 1
053345,000236: 23,3707           66250                           AD       THREE                                 #          +1 --> 2     -1 --> 0
053346,000237: 23,3710           00006                           EXTEND                                         
053347,000238: 23,3711           50000                           INDEX    A                                     
053348,000239: 23,3712           33771                           DCA      INDEXI                                
053349,000240: 23,3713           52144                           DXCH     DEXI                                  
053350,000241: 
053351,000242: 23,3714           34753                           CA       ONE                                   
053352,000243: 23,3715           54130                           TS       BUF                                   
053353,000244: 23,3716           00006                           EXTEND                                         
053354,000245: 23,3717           50143                           INDEX    DEX1                                  
053355,000246: 23,3720           40123                           DCS      VBUF                                  
053356,000247: 23,3721           13723                           TCF      LOOP1                                 #    REALLY BE A SUBTRACT, AND VICE VERSA
053357,000248: 
053358,000249: 23,3722           52131        LOOP2              DXCH     BUF                                   #  LOADING VECTOR COMPONENT, STORING INDEX

Page 1253

053360,000251: 23,3723           52155        LOOP1              DXCH     MPAC                                  
053361,000252: 23,3724           33767                           CA       SINESLOC                              
053362,000253: 23,3725           60143                           AD       DEX1                                  
053363,000254: 23,3726           54116                           TS       ADDRWD                                
053364,000255: 
053365,000256: 23,3727           07112                           TC       DMPSUB                                #  MULTIPLY BY SIN(CDUANGLE)
053366,000257: 23,3730           10142                           CCS      DEXDEX                                
053367,000258: 23,3731           52155                           DXCH     MPAC                                  #  NBSM CASE
053368,000259: 23,3732           13735                           TCF      +3                                    
053369,000260: 23,3733           00006                           EXTEND                                         #  SMNB CASE
053370,000261: 23,3734           40155                           DCS      MPAC                                  
053371,000262: 23,3735           52160                           DXCH     TERM1TMP                              
053372,000263: 
053373,000264: 23,3736           36245                           CA       SIX                                   #  SINCDU AND COSCDU (EACH 6 WORDS) MUST
053374,000265: 23,3737           26116                           ADS      ADDRWD                                #    BE CONSECUTIVE AND IN THAT ORDER
053375,000266: 
053376,000267: 23,3740           00006                           EXTEND                                         
053377,000268: 23,3741           50130                           INDEX    BUF                                   
053378,000269: 23,3742           50143                           INDEX    DEX1                                  
053379,000270: 23,3743           30123                           DCA      VBUF                                  
053380,000271: 23,3744           52155                           DXCH     MPAC                                  
053381,000272: 23,3745           07112                           TC       DMPSUB                                #  MULTIPLY BY COS(CDUANGLE)
053382,000273: 23,3746           52155                           DXCH     MPAC                                  
053383,000274: 23,3747           20160                           DAS      TERM1TMP                              
053384,000275: 23,3750           52160                           DXCH     TERM1TMP                              
053385,000276: 23,3751           20001                           DDOUBL                                         
053386,000277: 23,3752           50130                           INDEX    BUF                                   
053387,000278: 23,3753           50143                           INDEX    DEX1                                  
053388,000279: 23,3754           52123                           DXCH     VBUF                                  
053389,000280: 23,3755           52131                           DXCH     BUF                                   #  LOADING INDEX, STORING VECTOR COMPONENT
053390,000281: 
053391,000282: 23,3756           10000                           CCS      A                                     #  'CAUSE THAT'S WHERE THE INDEX NOW IS
053392,000283: 23,3757           13722                           TCF      LOOP2                                 
053393,000284: 
053394,000285: 23,3760           00006                           EXTEND                                         
053395,000286: 23,3761           26142                           DIM      DEXDEX                                #  DECREMENT MAGNITUDE PRESERVING SIGN
053396,000287: 
053397,000288: 23,3762           10142        TSTPOINT           CCS      DEXDEX                                #  ONLY THE BRANCHING FUNCTION IS USED
053398,000289: 23,3763           13705                           TCF      R*TL**P                               
053399,000290: 23,3764           00145                           TC       RTNSAVER                              
053400,000291: 23,3765           13705                           TCF      R*TL**P                               
053401,000292: 23,3766           00145                           TC       RTNSAVER                              
053402,000293: 
053403,000294: 23,3767           00735        SINESLOC           ADRES    SINCDU                                #  FOR USE IN SETTING ADDRWD
053404,000295: 
053405,000296: 23,3770           00004        INDEXI             DEC      4          B-14                       #  **********    DON'T    **********
053406,000297: 23,3771           00002                           DEC      2          B-14                       #  **********    TOUCH    **********
053407,000298: 23,3772           00000                           DEC      0          B-14                       #  **********    THESE    **********

Page 1254

053409,000300: 23,3773           00004                           DEC      4          B-14                       #  **********  CONSTANTS  **********
053410,000301: 
053411,000302:                                                                                                  #  ****************************************************************************************************************
053412,000303: 
053413,000304: 10,2030                                           BANK     10                                    
053414,000305: 10,2000                                           SETLOC   FLESHLOC                              
053415,000306: 10,2000                                           BANK                                           
053416,000307: 10,2030                                           COUNT*   $$/POWFL                              
053417,000308: 
053418,000309:                                                                                                  #      ROUTINE FLESHPOT COMPUTES THE BODY-STABLE MEMBER TRANSFORMATION MATRIX (COMMONLY CALLED XNB) AND STORES
053419,000310:                                                                                                  #  IT IN THE LOCATIONS SPECIFIED BY THE ECADR ENTERING IN A.
053420,000311: 
053421,000312: 10,2030           77776        CALCSMSC           EXIT                                           
053422,000313: 10,2031           04616                           TC       BANKCALL                              
053423,000314: 10,2032           20036                           CADR     FLESHPOT   -1                         
053424,000315: 10,2033           06042                           TC       INTPRET                               
053425,000316: 10,2034           77616                           RVQ                                            
053426,000317: 
053427,000318: 10,2035           02664        XNBECADR           ECADR    XNB                                   
053428,000319: 
053429,000320: 10,2036           32035                 -1        CAF      XNBECADR                              
053430,000321: 
053431,000322: 10,2037           54142        FLESHPOT           TS       TEM2                                  
053432,000323: 10,2040           56003                           XCH      EBANK                                 
053433,000324: 10,2041           56142                           XCH      TEM2                                  
053434,000325: 10,2042           74357                           MASK     LOW8                                  
053435,000326: 10,2043           65007                           AD       OCT1400                               
053436,000327: 10,2044           54141                           TS       TEM1                                  
053437,000328: 
053438,000329: 10,2045           00006                           EXTEND                                         
053439,000330: 10,2046           30744                           DCA      COSCDUY                               
053440,000331: 10,2047           52155                           DXCH     MPAC                                  
053441,000332: 10,2050           07106                           TC       DMP                                   
053442,000333: 10,2051           00745                           ADRES    COSCDUZ                               
053443,000334: 10,2052           52155                           DXCH     MPAC                                  
053444,000335: 10,2053           20001                           DDOUBL                                         
053445,000336: 10,2054           50141                           INDEX    TEM1                                  
053446,000337: 10,2055           52001                           DXCH     0                                     #  = COSY COSZ
053447,000338: 
053448,000339: 10,2056           00006                           EXTEND                                         
053449,000340: 10,2057           30740                           DCA      SINCDUZ                               
053450,000341: 10,2060           50141                           INDEX    TEM1                                  
053451,000342: 10,2061           52003                           DXCH     2                                     #  = SINZ
053452,000343: 
053453,000344: 10,2062           00006                           EXTEND                                         
053454,000345: 10,2063           40736                           DCS      SINCDUY                               
053455,000346: 10,2064           52155                           DXCH     MPAC                                  
053456,000347: 10,2065           07112                           TC       DMPSUB                                #  ADDRWD SET TO COSCDUZ

Page 1255

053458,000349: 10,2066           52155                           DXCH     MPAC                                  
053459,000350: 10,2067           20001                           DDOUBL                                         
053460,000351: 10,2070           50141                           INDEX    TEM1                                  
053461,000352: 10,2071           52005                           DXCH     4                                     #  = - SINY COSZ
053462,000353: 
053463,000354: 10,2072           00006                           EXTEND                                         
053464,000355: 10,2073           40742                           DCS      SINCDUX                               
053465,000356: 10,2074           52155                           DXCH     MPAC                                  
053466,000357: 10,2075           07112                           TC       DMPSUB                                #  ADDRWD SET TO COSCDUZ STILL
053467,000358: 10,2076           52155                           DXCH     MPAC                                  
053468,000359: 10,2077           20001                           DDOUBL                                         
053469,000360: 10,2100           52160                           DXCH     MPAC       +3                         
053470,000361: 
053471,000362: 10,2101           00006                           EXTEND                                         
053472,000363: 10,2102           40742                           DCS      SINCDUX                               
053473,000364: 10,2103           52155                           DXCH     MPAC                                  
053474,000365: 10,2104           07106                           TC       DMP                                   
053475,000366: 10,2105           00737                           ADRES    SINCDUZ                               
053476,000367: 10,2106           00006                           EXTEND                                         
053477,000368: 10,2107           40155                           DCS      MPAC                                  
053478,000369: 10,2110           52162                           DXCH     MPAC       +5                         
053479,000370: 10,2111           07106                           TC       DMP                                   
053480,000371: 10,2112           00735                           ADRES    SINCDUY                               
053481,000372: 10,2113           52155                           DXCH     MPAC                                  
053482,000373: 10,2114           20001                           DDOUBL                                         
053483,000374: 10,2115           20001                           DDOUBL                                         
053484,000375: 10,2116           52162                           DXCH     MPAC       +5                         
053485,000376: 
053486,000377: 10,2117           52155                           DXCH     MPAC                                  
053487,000378: 10,2120           07106                           TC       DMP                                   
053488,000379: 10,2121           00743                           ADRES    COSCDUY                               
053489,000380: 10,2122           52155                           DXCH     MPAC                                  
053490,000381: 10,2123           20001                           DDOUBL                                         
053491,000382: 10,2124           20001                           DDOUBL                                         
053492,000383: 10,2125           52131                           DXCH     BUF                                   
053493,000384: 
053494,000385: 10,2126           00006                           EXTEND                                         
053495,000386: 10,2127           30744                           DCA      COSCDUY                               
053496,000387: 10,2130           52155                           DXCH     MPAC                                  
053497,000388: 10,2131           07106                           TC       DMP                                   
053498,000389: 10,2132           00747                           ADRES    COSCDUX                               
053499,000390: 10,2133           52155                           DXCH     MPAC                                  
053500,000391: 10,2134           20001                           DDOUBL                                         
053501,000392: 10,2135           20162                           DAS      MPAC       +5                         
053502,000393: 
053503,000394: 10,2136           00006                           EXTEND                                         
053504,000395: 10,2137           30736                           DCA      SINCDUY                               
053505,000396: 10,2140           52155                           DXCH     MPAC                                  
053506,000397: 10,2141           07112                           TC       DMPSUB                                #  ADDRWD SET TO COSCDUX
053507,000398: 10,2142           52155                           DXCH     MPAC                                  
053508,000399: 

Page 1256

053510,000401: 10,2143           20001                           DDOUBL                                         
053511,000402: 10,2144           20131                           DAS      BUF                                   
053512,000403: 
053513,000404: 10,2145           52131                           DXCH     BUF                                   
053514,000405: 10,2146           52155                           DXCH     MPAC                                  
053515,000406: 
053516,000407: 10,2147           00006                           EXTEND                                         
053517,000408: 10,2150           30155                           DCA      MPAC                                  
053518,000409: 10,2151           50141                           INDEX    TEM1                                  
053519,000410: 10,2152           52015                           DXCH     14                                    #  = SINY COSX + SINX SINZ COSY
053520,000411: 
053521,000412: 10,2153           00006                           EXTEND                                         
053522,000413: 10,2154           30160                           DCA      MPAC       +3                         
053523,000414: 10,2155           50141                           INDEX    TEM1                                  
053524,000415: 10,2156           52017                           DXCH     16                                    #  = - SINX COSZ
053525,000416: 
053526,000417: 10,2157           00006                           EXTEND                                         
053527,000418: 10,2160           30162                           DCA      MPAC       +5                         
053528,000419: 10,2161           50141                           INDEX    TEM1                                  
053529,000420: 10,2162           52021                           DXCH     20                                    #  = COSX COSY - SINX SINY SINZ
053530,000421: 
053531,000422: 10,2163           30141                           CA       TEM1                                  
053532,000423: 10,2164           54116                           TS       ADDRWD                                
053533,000424: 10,2165           00006                           EXTEND                                         
053534,000425: 10,2166           30006                           DCA      Z                                     
053535,000426: 10,2167           64751                           AD       FOUR                                  
053536,000427: 10,2170           52165                           DXCH     LOC                                   
053537,000428: 10,2171           34744                           CAF      BIT8                                  
053538,000429: 10,2172           54023                           TS       EDOP                                  
053539,000430: 10,2173           17463                           TCF      VXV                                   
053540,000431: 10,2174           52155                           DXCH     MPAC                                  
053541,000432: 10,2175           20001                           DDOUBL                                         
053542,000433: 10,2176           50141                           INDEX    TEM1                                  
053543,000434: 10,2177           52007                           DXCH     6                                     
053544,000435: 
053545,000436: 10,2200           52160                           DXCH     MPAC       +3                         
053546,000437: 10,2201           20001                           DDOUBL                                         
053547,000438: 10,2202           50141                           INDEX    TEM1                                  
053548,000439: 10,2203           52011                           DXCH     10                                    
053549,000440: 
053550,000441: 10,2204           52162                           DXCH     MPAC       +5                         
053551,000442: 10,2205           20001                           DDOUBL                                         
053552,000443: 10,2206           50141                           INDEX    TEM1                                  
053553,000444: 10,2207           52013                           DXCH     12                                    
053554,000445: 
053555,000446: 10,2210           30142                           CA       TEM2                                  
053556,000447: 10,2211           54003                           TS       EBANK                                 
053557,000448: 10,2212           14631                           TCF      SWRETURN                              
053558,000449: 

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