Source Code

008677,000002: ## Copyright: Public domain. 008678,000003: ## Filename: IRIG_PULSE-TORQUING_ROUTINES.agc 008679,000004: ## Purpose: Part of the source code for Solarium build 55. This 008680,000005: ## is for the Command Module's (CM) Apollo Guidance 008681,000006: ## Computer (AGC), for Apollo 6. 008682,000007: ## Assembler: yaYUL --block1 008683,000008: ## Contact: Jim Lawton <jim DOT lawton AT gmail DOT com> 008684,000009: ## Website: www.ibiblio.org/apollo/index.html 008685,000010: ## Page Scans: www.ibiblio.org/apollo/ScansForConversion/Solarium055/ 008686,000011: ## Mod history: 2009-10-07 JL Created. 008687,000012: ## 2016-12-28 RSB Proofed comment text using octopus/ProoferComments, 008688,000013: ## and fixed errors found. 008689,000014:

Page 224

008691,000016: 
008692,000017:                                                                                                  #        THE FOLLOWING PULSE-TORQUING OPTIONS ARE AVAILABLE:
008693,000018: 
008694,000019:                                                                                                  #        GYROSPNT                SINGLE PRECISION INPUTS WITH NO TWITCH (IE ZERO OUTPUT ON ZERO COMMAND).
008695,000020:                                                                                                  #        GYROSPTW                SINGLE PRECISION INPUT WITH TWITCH ON ZERO (2+ THEN 2-).
008696,000021:                                                                                                  #        GYRODPNT                DOUBLE PRECISION INPUTS (SIGN AGREEMENT UNNECESSARY) WITH NO TWITCH.
008697,000022: 
008698,000023:                                                                                                  #  ALL OF THE ABOVE SHOULD BE FOLLOWED EVENTUALLY BY A CALL TO IMUSTALL.
008699,000024: 
008700,000025: 
008701,000026: 
008702,000027: 14,7347                                           BANK     14                                    
008703,000028: 14,7347           50115        GYROSPNT           TS       MPAC                                  #  ADDRESS OF THREE REGISTER COMMAND SET
008704,000029: 14,7350           10764                           CCS      LGYRO                                 #  ARRIVES IN A. SEE IF GYRO ROUTINES BUSY.
008705,000030: 14,7351           07524                           TC       GYROBUSY                              #  (AND RETURN WHEN AVAILABLE.)
008706,000031: 
008707,000032: 14,7352           35503        SPNT               CAF      TWO                                   #  SET UP LOOP TO AUGMENT (+ OR -) EACH
008708,000033: 14,7353           50116                           TS       MPAC       +1                         #  COMMAND BY TWO IF NON-ZERO.
008709,000034: 14,7354           60000                           DOUBLE                                         
008710,000035: 14,7355           60115                           AD       MPAC                                  
008711,000036: 14,7356           50077                           TS       BUF                                   
008712,000037: 14,7357           20000                           INDEX    A                                     
008713,000038: 14,7360           10000                           CCS      0                                     
008714,000039: 14,7361           35503                           CAF      TWO                                   
008715,000040: 14,7362           07364                           TC       +2                                    #  (NO INCREMENT IF +-0).
008716,000041: 14,7363           45503                           CS       TWO                                   
008717,000042: 14,7364           20077                           INDEX    BUF                                   
008718,000043: 14,7365           60000                           AD       0                                     
008719,000044: 14,7366           20077                           INDEX    BUF                                   
008720,000045: 14,7367           30000                           XCH      0                                     #  (JUST TO BE SAFE).
008721,000046: 
008722,000047: 14,7370           10116                           CCS      MPAC       +1                         
008723,000048: 14,7371           07353                           TC       SPNT       +1                         
008724,000049: 
008725,000050: 14,7372           20017        SPGYREX            INHINT                                         
008726,000051: 14,7373           34516                           CAF      ONE                                   
008727,000052: 14,7374           02173                           TC       WAITLIST                              
008728,000053: 14,7375           21504                           CADR     DOGYROSP                              
008729,000054: 
008730,000055: 14,7376           44473        GYROEX2            CS       THREE                                 #  INITIALIZE CDUIND TO START GYRO TASKS
008731,000056: 14,7377           50677                           TS       CDUIND                                #  AT Y GYRO (ORDER IS YZX).
008732,000057: 14,7400           45502                           CS       FOUR                                  
008733,000058: 14,7401           60115                           AD       MPAC                                  #  SET LGYROD PNZ TO INDICATE GYRO ACTIVITY
008734,000059: 14,7402           50764                           TS       LGYRO                                 #  AND USE LGYRO TO STORE THE ADDRESS OFF
008735,000060: 14,7403           06020                           TC       MODEEXIT                              #  THE COMMANDS.
008736,000061: 

Page 225

008738,000063: 
008739,000064:                                                                                                  #        SINGLE PRECISION WITH TWITCH.
008740,000065: 
008741,000066: 14,7404           50115        GYROSPTW           TS       MPAC                                  
008742,000067: 14,7405           10764                           CCS      LGYRO                                 #  SAME PROLOGUE AS GYROSPNT
008743,000068: 14,7406           07524                           TC       GYROBUSY                              
008744,000069: 
008745,000070: 14,7407           35503        SPTW               CAF      TWO                                   #  SET UP LOOP TO AUGMENT BY 2 (+ OR-),
008746,000071: 14,7410           50116                           TS       MPAC       +1                         #  WITH A PLUS TWO AUGMENT ON +-0.
008747,000072: 14,7411           60000                           DOUBLE                                         
008748,000073: 14,7412           60115                           AD       MPAC                                  
008749,000074: 14,7413           50077                           TS       BUF                                   
008750,000075: 14,7414           20000                           INDEX    A                                     
008751,000076: 14,7415           10000                           CCS      0                                     
008752,000077: 14,7416           07421                           TC       +3                                    
008753,000078: 14,7417           07421                           TC       +2                                    
008754,000079: 14,7420           07423                           TC       +3                                    
008755,000080: 
008756,000081: 14,7421           35503                           CAF      TWO                                   
008757,000082: 14,7422           07424                           TC       +2                                    
008758,000083: 
008759,000084: 14,7423           45503                 +3        CS       TWO                                   
008760,000085: 14,7424           20077                           INDEX    BUF                                   
008761,000086: 14,7425           60000                           AD       0                                     
008762,000087: 14,7426           20077                           INDEX    BUF                                   
008763,000088: 14,7427           30000                           XCH      0                                     
008764,000089: 
008765,000090: 14,7430           10116                           CCS      MPAC       +1                         
008766,000091: 14,7431           07410                           TC       SPTW       +1                         
008767,000092: 
008768,000093: 14,7432           07372                           TC       SPGYREX                               #  SET UP PULSE-TORQUING TASKS. 
008769,000094: 

Page 226

008771,000096: 
008772,000097:                                                                                                  #        DOUBLE PRECISION INPUTS WITH NO TWITCH ON ZERO.
008773,000098: 
008774,000099: 14,7433           50113        GYRODPNT           TS       ARETURN                               #  SAVE ADDRESS OF INPUT COMMANDS.
008775,000100: 14,7434           05706                           TC       MAKECADR                              #  SAVE RETURN ADDRESS SINCE WE MUST
008776,000101: 14,7435           30062                           XCH      ADDRWD                                #  DO A BANKCALL TO TPAGREE.
008777,000102: 14,7436           50064                           TS       TEM11                                 
008778,000103: 14,7437           35501                           CAF      ZERO                                  
008779,000104: 14,7440           50117                           TS       MPAC       +2                         
008780,000105: 14,7441           35503        DPNT               CAF      TWO                                   
008781,000106: 
008782,000107: 14,7442           50077                           TS       BUF                                   #  THIS LOOP FORCES SIGN AGREEMENT IN THE
008783,000108: 14,7443           60000                           DOUBLE                                         #  DP INPUT COMMANDS, AUGMENTING ON
008784,000109: 14,7444           60113                           AD       ARETURN                               #  NON-ZERO.
008785,000110: 14,7445           50100                           TS       BUF        +1                         
008786,000111: 14,7446           20000                           INDEX    A                                     
008787,000112: 14,7447           30000                           XCH      0                                     
008788,000113: 14,7450           50115                           TS       MPAC                                  
008789,000114: 14,7451           20100                           INDEX    BUF        +1                         
008790,000115: 14,7452           30001                           XCH      1                                     
008791,000116: 14,7453           50116                           TS       MPAC       +1                         
008792,000117: 14,7454           05654                           TC       BANKCALL                              
008793,000118: 14,7455           07154                           CADR     TPAGREE                               
008794,000119: 
008795,000120: 14,7456           10000                           CCS      A                                     #  AUGMENT BYTWO IF NON-ZERO. TPAGREE
008796,000121: 14,7457           35503                           CAF      TWO                                   #  RETURNS +1,-0,-1.
008797,000122: 14,7460           65503                           AD       TWO                                   
008798,000123: 14,7461           64340                           AD       NEG2                                  
008799,000124: 
008800,000125: 14,7462           60116                           AD       MPAC       +1                         #  DIVIDE BY POSMAX - IE PLACE IN THE MAJOR
008801,000126: 14,7463           60115                           AD       MPAC                                  #  PART OF EACH COMMAND THE NUMBER OF
008802,000127: 14,7464           20100                           INDEX    BUF        +1                         #  POSMAX PULSE TRAINS TO BE PUT OUT, 
008803,000128: 14,7465           50001                           TS       1                                     #  LEAVING THE REMAINDER IN THE MINOR PART.
008804,000129: 14,7466           07476                           TC       +8D                                   
008805,000130: 
008806,000131: 14,7467           50001                           TS       Q                                     #  ON OVERFLOW, ADD +-1 TO THE MINOR PART 
008807,000132: 14,7470           20100                           INDEX    BUF        +1                         #  AS WELL AS THE MAJOR PART.
008808,000133: 14,7471           60001                           AD       1                                     
008809,000134: 14,7472           20100                           INDEX    BUF        +1                         #  NO OVERFLOW HERE.
008810,000135: 14,7473           50001                           TS       1                                     
008811,000136: 14,7474           30001                           XCH      Q                                     
008812,000137: 14,7475           07477                           TC       +2                                    
008813,000138: 
008814,000139: 14,7476           35501                 +8D       CAF      ZERO                                  
008815,000140: 14,7477           60115                           AD       MPAC                                  
008816,000141: 14,7500           20100                           INDEX    BUF        +1                         
008817,000142: 14,7501           30000                           XCH      0                                     

Page 227

008819,000144: 14,7502           10077                           CCS      BUF                                   
008820,000145: 14,7503           07442                           TC       DPNT       +1                         
008821,000146: 
008822,000147: 14,7504           30113                           XCH      ARETURN                               #  PREPARE FOR POSSIBLE GYROBUSY CALL.
008823,000148: 14,7505           50115                           TS       MPAC                                  
008824,000149: 14,7506           10764                           CCS      LGYRO                                 
008825,000150: 14,7507           07543                           TC       GYROBSY2                              
008826,000151: 
008827,000152: 14,7510           32261                           CAF      BANKMASK                              
008828,000153: 14,7511           70064                           MASK     TEM11                                 
008829,000154: 14,7512           50072                           TS       BANKTEM                               
008830,000155: 14,7513           34606                           CAF      LOW10                                 
008831,000156: 14,7514           70064                           MASK     TEM11                                 
008832,000157: 14,7515           64373                           AD       6K                                    
008833,000158: 14,7516           50071                           TS       TEMQS                                 
008834,000159: 14,7517           20017                           INHINT                                         
008835,000160: 14,7520           34516                           CAF      ONE                                   
008836,000161: 14,7521           02173                           TC       WAITLIST                              
008837,000162: 14,7522           21571                           CADR     DOGYRO                                
008838,000163: 
008839,000164: 14,7523           07376                           TC       GYROEX2                               
008840,000165: 

Page 228

008842,000167: 
008843,000168:                                                                                                  #        GYRO STALLING ROUTINES - CALLED VERY RARELY BY AT MOST ONE ROUTINE AT A TIME.
008844,000169: 
008845,000170: 14,7524           30001        GYROBUSY           XCH      Q                                     #  RETURN ADDRESS TO MPAC.
008846,000171: 14,7525           50117                           TS       MPAC       +2                         
008847,000172: 
008848,000173: 14,7526           05706                           TC       MAKECADR                              #  CALLERS RETURN CADR TO MPAC +1.
008849,000174: 14,7527           30062                           XCH      ADDRWD                                
008850,000175: 14,7530           50116                           TS       MPAC       +1                         
008851,000176: 14,7531           37547        REGSLEEP           CAF      CADRNEWG                              
008852,000177: 14,7532           02127                           TC       JOBSLEEP                              #  AT STANDARD LOCATION.
008853,000178: 
008854,000179: 14,7533           10764        NEWGYRO            CCS      LGYRO                                 #  SEE IF ROUTINES STILL AVAILABLE (SHOULD
008855,000180: 14,7534           07531                           TC       REGSLEEP                              #  BE). IF NOT, WAIT SOME MORE.
008856,000181: 
008857,000182: 14,7535           30116                           XCH      MPAC       +1                         #  RESTORE RETURN CADR TO STANDARD SWCALL
008858,000183: 14,7536           50072                           TS       BANKTEM                               #  (BANKCALL) FORM.
008859,000184: 14,7537           74606                           MASK     LOW10                                 
008860,000185: 14,7540           64373                           AD       6K                                    
008861,000186: 14,7541           50071                           TS       TEMQS                                 
008862,000187: 14,7542           00117                           TC       MPAC       +2                         
008863,000188: 
008864,000189: 14,7543           30001        GYROBSY2           XCH      Q                                     #  DP WAIT.
008865,000190: 14,7544           50117                           TS       MPAC       +2                         
008866,000191: 14,7545           30064                           XCH      TEM11                                 
008867,000192: 14,7546           07530                           TC       REGSLEEP   -1                         
008868,000193: 
008869,000194: 14,7547           31533        CADRNEWG           CADR     NEWGYRO                               
008870,000195: 

Page 229

008872,000197: 
008873,000198:                                                                                                  #        TASKS FOR SENDING OUT SINGLE PRECISION COMMANDS. 
008874,000199: 
008875,000200: 10,7504                                           BANK     10                                    
008876,000201: 10,7504           07704        DOGYROSP           TC       SETUPSUB                              #  COMMON INITIALIZATION SUBROUTINE.
008877,000202: 10,7505           20641                           INDEX    RUPTREG3                              
008878,000203: 10,7506           10000                           CCS      0                                     #  PUT OUT NEXT COMMAND.
008879,000204: 10,7507           07523                           TC       POSGOUTS                              
008880,000205: 10,7510           07512                           TC       GYROADVS                              #  NO COMMAND IF +-0.
008881,000206: 10,7511           07537                           TC       NEGGOUTS                              
008882,000207: 
008883,000208: 10,7512           40677        GYROADVS           CS       CDUIND                                #  ADVANCE TO NEXT GYRO IN ORDER YZX.
008884,000209: 10,7513           20000                           INDEX    A                                     
008885,000210: 10,7514           07513                           TC       -1                                    
008886,000211: 10,7515           07721                           TC       ENDGYRO                               
008887,000212: 10,7516           34475                           CAF      SIX                                   
008888,000213: 10,7517           64340                           AD       NEG2                                  
008889,000214: 10,7520           40000                           COM                                            
008890,000215: 10,7521           50677                           TS       CDUIND                                
008891,000216: 10,7522           07504                           TC       DOGYROSP                              
008892,000217: 
008893,000218: 10,7523           64516        POSGOUTS           AD       ONE                                   
008894,000219: 10,7524           50034                           TS       OVCTR                                 
008895,000220: 10,7525           06631                           TC       OUT2SUB                               #  PUT OUT COMMAND, SAVING COMMAND FOR
008896,000221: 10,7526           07672                           TC       GETDT                                 #  DT COMPUTATION.
008897,000222: 10,7527           30032                           XCH      LPRUPT                                
008898,000223: 10,7530           02173                           TC       WAITLIST                              
008899,000224: 10,7531           21533                           CADR     TWEAKSP                               #  PUT OUT 2- WHEN COMMAND IS OUT.
008900,000225: 10,7532           02256                           TC       TASKOVER                              #  ALL FOR NOW.
008901,000226: 
008902,000227: 10,7533           07704        TWEAKSP            TC       SETUPSUB                              #  INITIALIZE.
008903,000228: 10,7534           45503                           CS       TWO                                   #  PUT OUT 2- AND ADVANCE TO NEXT GYRO.
008904,000229: 10,7535           06631                           TC       OUT2SUB                               
008905,000230: 10,7536           07512                           TC       GYROADVS                              
008906,000231: 
008907,000232: 10,7537           64516        NEGGOUTS           AD       ONE                                   #  GET ABS OF COMMAND AND SAVE IN OVCTR.
008908,000233: 10,7540           50034                           TS       OVCTR                                 
008909,000234: 
008910,000235: 10,7541           35503                           CAF      TWO                                   #  PUT OUT 2+ BEFORE NEGATIVE PULSE TRAIN.
008911,000236: 10,7542           06631                           TC       OUT2SUB                               
008912,000237: 10,7543           07672                           TC       GETDT                                 #  COMPUTE WAITLIST DELTA T.
008913,000238: 
008914,000239: 10,7544           35362                           CAF      SEVEN                                 #  PUT IN A DELAY TO ALLOW 2+ PULSES
008915,000240: 10,7545           10000                           CCS      A                                     #  ENOUGH TIME TO GET OUT (3 PULSE TIMES).
008916,000241: 10,7546           07545                           TC       -1                                    
008917,000242: 
008918,000243: 10,7547           40034                           CS       OVCTR                                 #  PUT OUT NEGATIVE COMMAND.
008919,000244: 10,7550           06631                           TC       OUT2SUB                               
008920,000245: 
008921,000246: 10,7551           30032                           XCH      LPRUPT                                #  CALL WAITLIST FOR TASK DUE WHEN PULSE
008922,000247: 10,7552           02173                           TC       WAITLIST                              #  TRAIN COMPLETE.

Page 230

008924,000249: 10,7553           21512                           CADR     GYROADVS                              
008925,000250: 10,7554           02256                           TC       TASKOVER                              
008926,000251: 

Page 231

008928,000253: 
008929,000254:                                                                                                  #        WAITLIST TASKS TO SEND OUT DP PULSE TRAINS TO THE GYROS.
008930,000255: 
008931,000256: 10,7555           07704        TWEAKGY            TC       SETUPSUB                              #  FINISHED WITH POSITIVE TRAINS TO A GYRO.
008932,000257: 10,7556           45503                           CS       TWO                                   #   SEND OUT 2- TO LEAVE GYRO IN - STATE.
008933,000258: 10,7557           06631                           TC       OUT2SUB                               
008934,000259: 
008935,000260: 10,7560           40677        GYROADV            CS       CDUIND                                #  ADVANCE TO THE NEXT GYRO IN ORDER YZX.
008936,000261: 10,7561           74720                           MASK     LOW7                                  #  BIT14 IS 1 IF 2+ PULSES HAD BEEN SENT
008937,000262: 10,7562           20000                           INDEX    A                                     #   BEFORE A NEGATIVE COMMAND.
008938,000263: 10,7563           07562                           TC       -1                                    
008939,000264: 10,7564           07715                           TC       ENDGYRO1                              
008940,000265: 10,7565           34475                           CAF      SIX                                   
008941,000266: 10,7566           64340                           AD       NEG2                                  #  (CAME HERE FROM TC WITH C(A)=4.)
008942,000267: 10,7567           40000                           COM                                            
008943,000268: 10,7570           50677                           TS       CDUIND                                
008944,000269: 
008945,000270: 10,7571           07704        DOGYRO             TC       SETUPSUB                              #  SERVICE GYRO WHOSE *NUMBER* IS IN CDUIND
008946,000271: 10,7572           20641                           INDEX    RUPTREG3                              
008947,000272: 10,7573           10000                           CCS      0                                     #  MAJOR PART IS POSMAX COUNT.
008948,000273: 10,7574           07605                           TC       DOPOSMAX                              #  PUT OUT POSMAX.
008949,000274: 10,7575           07577                           TC       DOMINOR                               
008950,000275: 10,7576           07615                           TC       DONEGMAX                              
008951,000276: 
008952,000277: 10,7577           20641        DOMINOR            INDEX    RUPTREG3                              #  SEND OUT REMAINDER OF COMMAND.
008953,000278: 10,7600           10001                           CCS      1                                     
008954,000279: 10,7601           07640                           TC       POSGOUT                               
008955,000280: 10,7602           07556                           TC       TWEAKGY    +1                         #  FINISHED WITH LONG . PULSE TRAIN.
008956,000281: 10,7603           07650                           TC       NEGGOUT                               
008957,000282: 10,7604           07560                           TC       GYROADV                               #  DONE WITH LONG - TRAIN OR ZERO INPUT.
008958,000283: 
008959,000284: 10,7605           20641        DOPOSMAX           INDEX    RUPTREG3                              #  PUT AWAY DECREMENTED POSMAX COUNT.
008960,000285: 10,7606           50000                           TS       0                                     
008961,000286: 10,7607           34476                           CAF      POSMAX                                
008962,000287: 10,7610           06631        DOMAX              TC       OUT2SUB                               
008963,000288: 10,7611           37740                           CAF      FULLDT                                
008964,000289: 
008965,000290: 10,7612           02173        GYROWAIT           TC       WAITLIST                              
008966,000291: 10,7613           21571                           CADR     DOGYRO                                
008967,000292: 10,7614           02256                           TC       TASKOVER                              
008968,000293: 

Page 232

008970,000295: 
008971,000296: 10,7615           40000        DONEGMAX           COM                                            
008972,000297: 10,7616           20641                           INDEX    RUPTREG3                              
008973,000298: 10,7617           50000                           TS       0                                     #  DECREMENTED POSMAX (NEGMAX) COUNT.
008974,000299: 10,7620           40677                           CS       CDUIND                                #  SEE IF 2+ PULSES HAVE BEEN PUT OUT YET,
008975,000300: 10,7621           74520                           MASK     NEG1/2                                #   LEAVING WORD THAT THEY WILL BE OUT
008976,000301: 10,7622           64501                           AD       BIT14                                 #   BY TASKOVER TIME.
008977,000302: 10,7623           40000                           COM                                            
008978,000303: 10,7624           30677                           XCH      CDUIND                                
008979,000304: 10,7625           74501                           MASK     BIT14                                 
008980,000305: 10,7626           10000                           CCS      A                                     
008981,000306: 10,7627           07631                           TC       +2                                    
008982,000307: 10,7630           07636                           TC       NEGMAX2                               #  ALREADY OUT.
008983,000308: 
008984,000309: 10,7631           35503                           CAF      TWO                                   #  NOT OUT YET - DO SO.
008985,000310: 10,7632           06631                           TC       OUT2SUB                               
008986,000311: 10,7633           35503                           CAF      TWO                                   #  WAIT FOR THEM TO GET OUT BEFORE DELIVER-
008987,000312: 10,7634           10000                           CCS      A                                     #   ING THE REAL COMMAND.
008988,000313: 10,7635           07634                           TC       -1                                    
008989,000314: 
008990,000315: 10,7636           44476        NEGMAX2            CS       POSMAX                                
008991,000316: 10,7637           07610                           TC       DOMAX                                 
008992,000317: 
008993,000318: 10,7640           64516        POSGOUT            AD       ONE                                   #  FRACTIONAL POSITIVE COMMAND.
008994,000319: 10,7641           50034                           TS       OVCTR                                 
008995,000320: 10,7642           06631                           TC       OUT2SUB                               #  DELIVER COMMAND.
008996,000321: 10,7643           07672                           TC       GETDT                                 #  GET TIME TO END OF PULSE TRAIN.
008997,000322: 10,7644           30032                           XCH      LPRUPT                                #  (ANSWER LEFT IN LPRUPT).
008998,000323: 10,7645           02173                           TC       WAITLIST                              
008999,000324: 10,7646           21555                           CADR     TWEAKGY                               #  SUPPLY 2- PULSES AT END.
009000,000325: 10,7647           02256                           TC       TASKOVER                              
009001,000326: 
009002,000327: 10,7650           64516        NEGGOUT            AD       ONE                                   #  FRACTIONAL NEGATIVE COMMAND.
009003,000328: 10,7651           50034                           TS       OVCTR                                 
009004,000329: 10,7652           40677                           CS       CDUIND                                #  SEE IF 2+ PULSES ALREADY OUT.
009005,000330: 10,7653           74501                           MASK     BIT14                                 
009006,000331: 10,7654           10000                           CCS      A                                     
009007,000332: 10,7655           07663                           TC       NEGGOUT2                              
009008,000333: 
009009,000334: 10,7656           35503                           CAF      TWO                                   
009010,000335: 10,7657           06631                           TC       OUT2SUB                               
009011,000336: 
009012,000337: 10,7660           35362                           CAF      SEVEN                                 #  ALLOW AT LEAST 3 PULSE TIMES FOR THE 2+
009013,000338: 10,7661           10000                           CCS      A                                     #  PULSES TO GET OUT.
009014,000339: 10,7662           07661                           TC       -1                                    
009015,000340: 
009016,000341: 10,7663           07672        NEGGOUT2           TC       GETDT                                 
009017,000342: 10,7664           40034                           CS       OVCTR                                 #  DELIVER COMMAND.
009018,000343: 10,7665           06631                           TC       OUT2SUB                               
009019,000344: 10,7666           30032                           XCH      LPRUPT                                #  GET WAITLIST DT LEFT BY  GETDT  .
009020,000345: 10,7667           02173                           TC       WAITLIST                              

Page 233

009022,000347: 10,7670           21560                           CADR     GYROADV                               
009023,000348: 10,7671           02256                           TC       TASKOVER                              
009024,000349: 

Page 234

009026,000351: 
009027,000352:                                                                                                  #        SUBROUTINES USED BY TASKS.
009028,000353: 
009029,000354: 10,7672           30003        GETDT              XCH      LP                                    #  COMPUTE NUMBER OF 10 MS TICKS IT WILL
009030,000355: 10,7673           50032                           TS       LPRUPT                                #   TAKE THE PULSE TRAIN WHOSE MAGNITUDE IS
009031,000356: 10,7674           34505                           CAF      BIT10                                 #   IN OVCTR TO BE DELIVERED AT A RATE OF
009032,000357: 10,7675           25777                           EXTEND                                         #   3200 PPS.
009033,000358: 10,7676           40034                           MP       OVCTR                                 
009034,000359: 10,7677           65503                           AD       TWO                                   #  INTERRUPT AND ROUND-OFF UNCERTAINTIES.
009035,000360: 10,7700           30032                           XCH      LPRUPT                                #  LEAVE ANSWER IN LPRUPT.
009036,000361: 10,7701           25777                           EXTEND                                         
009037,000362: 10,7702           44516                           MP       ONE                                   
009038,000363: 10,7703           00001                           TC       Q                                     
009039,000364: 
009040,000365: 
009041,000366: 
009042,000367: 10,7704           35501        SETUPSUB           CAF      ZERO                                  #  SETS UP MISCELLANEOUS REGISTERS.
009043,000368: 10,7705           50640                           TS       RUPTREG2                              #  USED BY OUT2SUB.
009044,000369: 10,7706           40677                           CS       CDUIND                                
009045,000370: 10,7707           74720                           MASK     LOW7                                  #  KILL 2+ BIT.
009046,000371: 10,7710           50637                           TS       RUPTREG1                              
009047,000372: 10,7711           60000                           DOUBLE                                         
009048,000373: 10,7712           60764                           AD       LGYRO                                 
009049,000374: 10,7713           50641                           TS       RUPTREG3                              #  USED FOR INDEXING GYROD SET.
009050,000375: 10,7714           00001                           TC       Q                                     
009051,000376: 
009052,000377: 10,7715           34516        ENDGYRO1           CAF      ONE                                   #  SPLIT INTO TWO TASKS SO IT WONT LAST TOO
009053,000378: 10,7716           02173                           TC       WAITLIST                              #  LONG IN ANY ONE INTERRUPT.
009054,000379: 10,7717           21721                           CADR     ENDGYRO                               
009055,000380: 10,7720           02256                           TC       TASKOVER                              
009056,000381: 
009057,000382: 10,7721           35501        ENDGYRO            CAF      ZERO                                  #  SHOW THAT THE GYROS ARE NOW AVAILABLE.
009058,000383: 10,7722           50764                           TS       LGYRO                                 
009059,000384: 
009060,000385: 10,7723           30007                           XCH      IN3                                   #  RESTORE CDUIND
009061,000386: 10,7724           30007                           XCH      IN3                                   #  BY CHECKING IMU MODE
009062,000387: 10,7725           77737                           MASK     OCT122                                #  IMUCOARS, IMUATTC, IMUREENT MASK
009063,000388: 10,7726           10000                           CCS      A                                     
009064,000389: 10,7727           45501                           CS       ZERO                                  #  TO +0 IF MODES ACTIVE
009065,000390: 10,7730           40000                           COM                                            #  TO -0 IF INACTIVE
009066,000391: 10,7731           50677                           TS       CDUIND                                
009067,000392: 
009068,000393: 10,7732           37736                           CAF      LNEWGYRO                              #  WAKE UP ANY JOB WHICH MIGHT BE WAITING
009069,000394: 10,7733           02060                           TC       JOBWAKE                               #  FOR THE GYROS (AT MOST ONE).
009070,000395: 
009071,000396: 10,7734           05720                           TC       POSTJUMP                              #  RETURN TO ENDIMU SEQUENCE IN MAIN MODE
009072,000397: 10,7735           30171                           CADR     IMUFINED                              #  BANK (CHECKS IMU AND CDU FAIL SIGNALS).
009073,000398: 
009074,000399: 10,7736           31533        LNEWGYRO           CADR     NEWGYRO                               #  STANDARD SLEEPING LOCATION FOR GYROBUSY.
009075,000400: 10,7737           00122        OCT122             OCT      122                                   
009076,000401: 10,7740           01001        FULLDT             DEC      5.13       E2                         

End of include-file IRIG_PULSE-TORQUING_ROUTINES.agc.  Parent file is MAIN.agc