Source Code
![]() |
This is a reconstruction of the AGC program Luminary 99 Rev 0. It was the
second release of the Lunar Module flight software targeted for use in Apollo 11, after Luminary 97.
A bug (which had been around since at least Apollo 10, Luminary 69) was
discovered in Rev 0 shortly before the Apollo 11 flight, resulting in a last minute
revision into Rev 1,
which is what actually flew rather than
the Rev 0 presented here. A hardcopy of Rev 0 is known to
exist — it belonged to AGC developer Allan Klumpp for many years — but
unfortunately the Virtual AGC Project has not had access to that hardcopy. Thus
the code you see here had been reconstructed (we believe accurately) rather than
transcribed. The first step of the reconstruction of the Rev 0 source code was
the transcription of the Rev 1 source code from a hardcopy in the MIT Museum collection.
The process of reverting the active portion of the source code (i.e., other than
program comments) from Rev 1 to Rev 0 was very minor, consisting
only of moving the position of the STARTSB1 label in
FRESH START AND RESTART. Allan had previously given
us the checksums of the memory banks of Rev 0, and we have verified the program presented here has checksums
identical to all banks of Allan's listing of Rev 0. The notations on Allan's Rev 0 program listing read,
in part:GAP: ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-051 A single program comment is known to differ between Rev 0 and Rev 1, but these are harder to reconstruct and verify than changes to the active portion of the code. Thus it is possible that there are additional differences between the program comments in Rev 0 and Rev 1 that are unknown to us, and therefore are not reflected in the code presented here. |
065549,000002: ## Copyright: Public domain.
065550,000003: ## Filename: AOSTASK_AND_AOSJOB.agc
065551,000004: ## Purpose: Part of the reconstructed source code for LMY99 Rev 0,
065552,000005: ## otherwise known as Luminary Rev 99, the second release
065553,000006: ## of the Apollo Guidance Computer (AGC) software for Apollo 11.
065554,000007: ## It differs from LMY99 Rev 1 (the flown version) only in the
065555,000008: ## placement of a single label. The corrections shown here have
065556,000009: ## been verified to have the same bank checksums as AGC developer
065557,000010: ## Allan Klumpp's copy of Luminary Rev 99, and so are believed
065558,000011: ## to be accurate. This file is intended to be a faithful
065559,000012: ## recreation, except that the code format has been changed to
065560,000013: ## conform to the requirements of the yaYUL assembler rather than
065561,000014: ## the original YUL assembler.
065562,000015: ##
065563,000016: ## Assembler: yaYUL
065564,000017: ## Contact: Ron Burkey <info@sandroid.org>.
065565,000018: ## Website: www.ibiblio.org/apollo.
065566,000019: ## Pages: 1485-1506
065567,000020: ## Mod history: 2009-05-27 RSB Adapted from the corresponding
065568,000021: ## Luminary131 file, using page
065569,000022: ## images from Luminary 1A.
065570,000023: ## 2009-06-05 RSB Corrected a memory-bank error type.
065571,000024: ## 2009-06-07 RSB Corrected a typo.
065572,000025: ## 2011-01-06 JL Fixed pseudo-label indentation.
065573,000026: ## 2016-12-18 RSB Proofed text comments with octopus/ProoferComments
065574,000027: ## and corrected the errors found.
065575,000028: ## 2017-03-14 RSB Comment-text fixes identified in 5-way
065576,000029: ## side-by-side diff of Luminary 69/99/116/131/210.
065577,000030: ## 2017-08-01 MAS Created from LMY99 Rev 1.
065578,000031:
065579,000032: ## This source code has been transcribed or otherwise adapted from
065580,000033: ## digitized images of a hardcopy from the MIT Museum. The digitization
065581,000034: ## was performed by Paul Fjeld, and arranged for by Deborah Douglas of
065582,000035: ## the Museum. Many thanks to both. The images (with suitable reduction
065583,000036: ## in storage size and consequent reduction in image quality as well) are
065584,000037: ## available online at www.ibiblio.org/apollo. If for some reason you
065585,000038: ## find that the images are illegible, contact me at info@sandroid.org
065586,000039: ## about getting access to the (much) higher-quality images which Paul
065587,000040: ## actually created.
065588,000041: ##
065589,000042: ## The code has been modified to match LMY99 Revision 0, otherwise
065590,000043: ## known as Luminary Revision 99, the Apollo 11 software release preceeding
065591,000044: ## the listing from which it was transcribed. It has been verified to
065592,000045: ## contain the same bank checksums as AGC developer Allan Klumpp's listing
065593,000046: ## of Luminary Revision 99 (for which we do not have scans).
065594,000047: ##
065595,000048: ## Notations on Allan Klumpp's listing read, in part:
065596,000049: ##
065597,000050: ## ASSEMBLE REVISION 099 OF AGC PROGRAM LUMINARY BY NASA 2021112-51
065598,000051:
![]() |
Page 1485 |
065600,000053: # PROGRAM NAME: 1/ACCS
065601,000054: # PROGRAM WRITTEN BY: BOB COVELLI AND MIKE HOUSTON
065602,000055: # LAST MODIFICATION: FEB. 14, 1969 BY G. KALAN
065603,000056:
065604,000057: # PROGRAM DESCRIPTION:
065605,000058: # 1/ACCS PROVIDES THE INTERFACE BETWEEN THE GUIDANCE PROGRAMS AND THE DIGITAL AUTOPILOT. WHENEVER THERE IS A
065606,000059: # CHANGE IN THE MASS OF THE VEHICLE, IN THE DEADBAND SELECTED, IN THE VEHICLE CONFIGURATION (ASCENT-DESCENT-
065607,000060: # DOCKED), AND DURING A FRESH START OR A RESTART, 1/ACCS IS CALLED TO COMMUNICATE THE DATA CHANGES TO THE DAP.
065608,000061:
065609,000062: # THE INPUTS TO 1/ACCS ARE MASS, ACCELERATION (ABDELV), DEADBAND (DB), OFFSET ACCELERATIONS (AOSQ AND AOSR),
065610,000063: # STAGE VERIFY BIT (CHAN30, BIT2), DOCKED BIT (DAPBOOLS, BIT13), DRIFT BIT (DAPBOOLS, BIT8), USEQRJTS (DAPBOOLS,
065611,000064: # BIT14), AND SURFACE FLAG (FLAGWRD8, BIT8), AND CH5MASK.
065612,000065:
065613,000066: # 1/ACCS COMPUTES THE JET ACCELERATIONS (1JACC, 1JACCQ, 1JACCR) AS FUNCTIONS OF MASS. 1JACCU AND 1JACCV ARE
065614,000067: # FORMED BY RESOLVING 1JACCQ NAD 1JACCR. IN THE DESCENT CASE, THE DESCENT ENGINE MOMENT ARM (L, PVT-CG) IS ALSO
065615,000068: # COMPUTED AS A FUNCTION OF MASS. THE RATE OF CHANGE OF ACCELERATION DUE TO ROTATION OF THE GIMBAL (ACCDOTQ,
065616,000069: # ACCDOTR) IS ALSO COMPUTED IN THE DESCENT CASE.
065617,000070:
065618,000071: # AFTER THE ABOVE COMPUTATIONS, THE PROGRAM 1/ACCONT COMPUTES THE RECIPROCAL NET ACCELERATIONS ABOUT THE P, U,
065619,000072: # AND V AXES (2 JETS FOR P AXIS, BOTH 1 AND 2 JETS FOR U AND V AXES), AND THE RECIPROCAL COAST ACCELERATIONS ABOUT
065620,000073: # THE P, U, AND V AXES. THE ACCELERATION FUNCTIONS (ACCFCTZ1 AND ACCFCTZ5) ARE ALSO COMPUTED FOR THESE AXES. THE
065621,000074: # FIRE AND COAST DEADBANDS AND AXISDIST ARE COMPUTED FOR EACH AXIS. FLAT AND ZONE3LIM, THE WIDTH AND HEIGHT OF THE
065622,000075: # MINIMUM IMPULSE ZONE, ARE COMPUTED. 1/ACCONT ALSO SETS ACCSWU AND ACCSWV, WHICH INDICATE WHEN 1 JET ACCELERATION
065623,000076: # IS NOT SUFFICIENT TO PRODUCE MINIMUM ACCELERATION. AT THE COMPLETION OF 1/ACCS, THE ACCSOKAY BIT IS SET.
065624,000077:
065625,000078: # SUBBOUTINES CALLED:
065626,000079: # TIMEGMBL
065627,000080: # MAKECADR
065628,000081: # ROT45DEG
065629,000082:
065630,000083: # CALLING SEQUENCE:
065631,000084: # TC BANKCALL (1/ACCS MUST BE CALL BY BANKCALL
065632,000085: # CADR 1/ACCS
065633,000086:
065634,000087: # NORMAL EXIT: VIA BANKJUMP ALARM AND ABORT EXIT MODES: NONE.
065635,000088:
065636,000089: # INPUT/OUTPUT: SEE PROGRAM DESCRIPTION
065637,000090:
065638,000091: # DEBRIS:
065639,000092: # ALL OF THE EXECUTIVE TEMPORARY REGISTERS, EXCEPT FIXLOC AND OVFIND, AND THE CORE SET AREA FROM MPAC TO BANKSET.
065640,000093:
065641,000094: # RESTRICTIONS:
065642,000095: # 1/ACCS MUST BE CALLED BY BANKCALL
065643,000096: # EBANK IS SET TO 6, BUT NOT RESTORED.
![]() |
Page 1486 |
065645,000098:
065646,000099: 20,2447 BANK 20
065647,000100: 20,2000 SETLOC DAPS3
065648,000101: 20,2000 BANK
065649,000102:
065650,000103: 20,2447 COUNT* $$/DAPAO
065651,000104:
065652,000105: 20,2447 E6,1537 EBANK= AOSQ
065653,000106:
065654,000107: # ENTRY IS THROUGH 1/ACCJOB OR 1/ACCSET WHEN 1/ACCS IS TO BE DONE AS A SEPARATE NOVAC JOB.
065655,000108: # IT IS POSSIBLE FOR MORE THAN ONE OF THESE JOBS TO BE SET UP CONCURRENTLY. HOWEVER, SINCE THERE IS NO CHECK OF
065656,000109: # NEWJOB, A SECOND MANIFESTATION CANNOT BE STARTED UNTIL THE FIRST IS COMPLETED.
065657,000110:
065658,000111: 20,2447 34755 1/ACCSET CAF ZERO # ENTRY FROM FRESH START/RESTART CODING.
065659,000112: 20,2450 55537 TS AOSQ # NULL THE OFFSET ESTIMATES FOR 1/ACCS.
065660,000113: 20,2451 55541 TS AOSR
065661,000114: 20,2452 55424 TS ALPHAQ # NULL THE OFFSET ESTIMATES FOR DOWNLIST
065662,000115: 20,2453 55425 TS ALPHAR
065663,000116:
065664,000117: 20,2454 04616 1/ACCJOB TC BANKCALL # 1/ACCS ASSUMES ENTRY VIA BANKCALL.
065665,000118: 20,2455 40461 CADR 1/ACCS +2 # SKIP EBANK SETTING.
065666,000119:
065667,000120: 20,2456 05155 TC ENDOFJOB
065668,000121:
065669,000122: 20,2457 35015 1/ACCS CA EBANK6 # ***** EBANK SET BUT NOT RESTORED *****
065670,000123: 20,2460 54003 TS EBANK
065671,000124:
065672,000125: 20,2461 04645 TC MAKECADR # SAVE RETURN SO THAT BUF2 MAY BE USED
065673,000126: 20,2462 54117 TS ACCRETRN
065674,000127:
065675,000128: # DETERMINE MASS OF THE LEM.
065676,000129:
065677,000130: 20,2463 30111 CA DAPBOOLS # IS CSM DOCKED
065678,000131: 20,2464 74737 MASK CSMDOCKD
065679,000132: 20,2465 54157 TS DOCKTEMP # STORE RECORD OF STATE IN TEMP (MPAC +3).
065680,000133: 20,2466 10000 CCS A
065681,000134: 20,2467 41332 CS CSMMASS # DOCKED: LEMMASS = MASS - CSMMASS
065682,000135: 20,2470 61244 AD MASS # LEM ALONE: LEMMASS = MASS
065683,000136: 20,2471 55331 TS LEMMASS
065684,000137:
065685,000138: # ON THE BASIS OF APSFLAG:
065686,000139: # SET THE P-AXIS RATE COMMAND LIMIT FOR 2-JET/4-JET CONTROL
065687,000140: # SET MPAC, WHICH INDICATES THE PROPER SET OF COEFFICIENTS FOR THE LEM-ALONE F(MASS) CALCULATIONS
065688,000141: # ENSURE THAT THE LEM MASS VALUE IS WITHIN THE ACCEPTABLE RANGE
065689,000142:
065690,000143: 20,2472 00004 INHINT
065691,000144: 20,2473 30106 CAE FLGWRD10 # DETERMINE WHETHER STAGED.
065692,000145: 20,2474 74737 MASK APSFLBIT
065693,000146: 20,2475 00006 EXTEND
065694,000147: 20,2476 12522 BZF DPSFLITE
![]() |
Page 1487 |
065696,000149: 20,2477 44733 CS POSMAX # ASCENT (OR ON LUNAR SURFACE)
065697,000150: 20,2500 55475 TS -2JETLIM # ALWAYS 2 JETS FOR P-AXIS RATE COMMAND
065698,000151: 20,2501 35751 CAF OCT14 # INITIALIZE INDEX AT 12.
065699,000152: 20,2502 54154 TS MPAC
065700,000153: 20,2503 41331 CS LEMMASS # CHECK IF MASS TOO HIGH. CATCH STAGING.
065701,000154: 20,2504 61400 AD HIASCENT
065702,000155: 20,2505 00006 EXTEND
065703,000156: 20,2506 62513 BZMF MASSFIX
065704,000157: 20,2507 41331 CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
065705,000158: 20,2510 62001 AD LOASCENT # DECREMENTING BY MASSMON.
065706,000159: 20,2511 00006 EXTEND
065707,000160: 20,2512 62540 BZMF F(MASS)
065708,000161:
065709,000162: 20,2513 27331 MASSFIX ADS LEMMASS # STORE THE VIOLATED LIMIT AS LEMMASS.
065710,000163: 20,2514 22007 ZL # ALSO CORRECT TOTAL MASS, ZEROING THE
065711,000164: 20,2515 10157 CCS DOCKTEMP # LOW-ORDER WORD.
065712,000165: 20,2516 31332 CAE CSMMASS # DOCKED: MASS = LEMMASS + CSMMASS
065713,000166: 20,2517 61331 AD LEMMASS # LEM ALONE: MASS = LEMMASS
065714,000167: 20,2520 53245 DXCH MASS
065715,000168: 20,2521 12540 TCF F(MASS)
065716,000169:
065717,000170: 20,2522 44742 DPSFLITE CS BIT10 # FOUR JETS FOR P-AXIS RATE COMMAND ERRORS
065718,000171: 20,2523 55475 TS -2JETLIM # EXCEEDING 1.4 DEG/SEC (SCALED AT 45)
065719,000172: 20,2524 36242 CAF SIX # INITIALIZE INDEX AT 6.
065720,000173: 20,2525 54154 TS MPAC
065721,000174: 20,2526 41331 CS LEMMASS # CHECK IF MASS TOO HIGH. SHOULD NEVER
065722,000175: 20,2527 62002 AD HIDESCNT # OCCUR EXCEPT PERHAPS BEFORE THE PAD
065723,000176: 20,2530 00006 EXTEND # LOAD IS DONE.
065724,000177: 20,2531 62513 BZMF MASSFIX
065725,000178: 20,2532 41331 CS LEMMASS # CHECK IF MASS TOO LOW. THIS LIMITS THE
065726,000179: 20,2533 62003 AD LODESCNT # DECREMENTING BY MASSMON.
065727,000180: 20,2534 61400 AD HIASCENT
065728,000181: 20,2535 00006 EXTEND
065729,000182: 20,2536 62540 BZMF F(MASS)
065730,000183: 20,2537 12513 TCF MASSFIX
065731,000184:
065732,000185: # COMPUTATION OF FUNCTIONS OF MASS
065733,000186:
065734,000187: 20,2540 00003 F(MASS) RELINT
065735,000188: 20,2541 10157 CCS DOCKTEMP
065736,000189: 20,2542 13105 TCF DOCKED # DOCKED: USE SEPERATE COMPUTATION.
065737,000190: 20,2543 34752 CA TWO
065738,000191: 20,2544 54155 STCTR TS MPAC +1 # J=2,1,0 FOR 1JACCR,1JACCQ,1JACC
065739,000192:
065740,000193: 20,2545 44752 CS TWO
065741,000194: 20,2546 26154 ADS MPAC # JX=10,8,6 OR 4,2,0 TO INDEX COEFS.
065742,000195:
065743,000196: 20,2547 31331 STCTR1 CAE LEMMASS
065744,000197: 20,2550 50154 INDEX MPAC
065745,000198: 20,2551 63060 AD INERCONC
065746,000199: 20,2552 54156 TS MPAC +2 # MASS + C
![]() |
Page 1488 |
065748,000201: 20,2553 00006 EXTEND
065749,000202: 20,2554 50154 INDEX MPAC
065750,000203: 20,2555 33042 DCA INERCONA
065751,000204: 20,2556 00006 EXTEND
065752,000205: 20,2557 10156 DV MPAC +2
065753,000206: 20,2560 50154 INDEX MPAC
065754,000207: 20,2561 63057 AD INERCONB
065755,000208: 20,2562 50155 INDEX MPAC +1 # 1JACC(J)=A(JX)/(MASS+C(JX) + B(JX)
065756,000209: 20,2563 55530 TS 1JACC # 1JACC(-1)=L,PVT-CG SCALED AT 8 FEET
065757,000210:
065758,000211: 20,2564 10155 CCS MPAC +1
065759,000212: 20,2565 12544 TCF STCTR
065760,000213: 20,2566 12570 TCF COMMEQS
065761,000214: 20,2567 12667 TCF LRESC
065762,000215:
065763,000216: # COEFFQ AND COEFFR ARE COMPUTED IN THIS SECTION. THEY ARE USED TO RESOLVE Q-R COMPONENTS INTO NON-ORTHOGONAL
065764,000217: # U AND V COMPONENTS (SEE ROT-TOUV SECTION).
065765,000218:
065766,000219: 20,2570 41532 COMMEQS CS 1JACCR
065767,000220: 20,2571 61531 AD 1JACCQ
065768,000221: 20,2572 00006 EXTEND
065769,000222: 20,2573 62617 BZMF BIGIQ
065770,000223: 20,2574 00006 EXTEND # EPSILON IS A MEASURE OF COUPLING AND IS
065771,000224: 20,2575 11531 DV 1JACCQ # DEFINED=1-IQ/IR FOR IR GREATER THAN IQ.
065772,000225: 20,2576 54155 TS EPSILON # THE COMPUTED EXPRESSION IS EQUIVALENT
065773,000226: 20,2577 63104 AD -EPSMAX
065774,000227: 20,2600 00006 EXTEND
065775,000228: 20,2601 62604 BZMF GOODEPS1
065776,000229: 20,2602 43104 CS -EPSMAX
065777,000230: 20,2603 54155 TS EPSILON # EPSILON IS LIMITED TO A MAX. OF .42265
065778,000231: 20,2604 30155 GOODEPS1 CA EPSILON
065779,000232: 20,2605 00006 EXTEND
065780,000233: 20,2606 73100 MP 0.35356
065781,000234: 20,2607 63102 AD .7071
065782,000235: 20,2610 55630 TS COEFFR # IN THIS CASE WHERE IR IS GREATER THAN
065783,000236: 20,2611 44733 CS POSMAX # IQ, COEFFQ=-.707(1+.5EPSILON)(1-EPSILON)
065784,000237: 20,2612 60155 AD EPSILON # AND COEFFR=.707(1+.5EPSILON)
065785,000238: 20,2613 00006 EXTEND
065786,000239: 20,2614 71630 MP COEFFR
065787,000240: 20,2615 55627 TS COEFFQ
065788,000241: 20,2616 12642 TCF JACCUV
065789,000242: 20,2617 00006 BIGIQ EXTEND # EPSILON IS DEFINED AS 1-IR/IQ FOR IQ
065790,000243: 20,2620 11532 DV 1JACCR # GREATER THAN IR. -EPSILON IS COMPUTED
065791,000244: 20,2621 54155 TS -EPSILON # RATHER THAN EPSILON FOR CONVENIENCE
065792,000245: 20,2622 40155 CS -EPSILON
065793,000246: 20,2623 63104 AD -EPSMAX
065794,000247: 20,2624 00006 EXTEND
065795,000248: 20,2625 62630 BZMF GOODEPS2
065796,000249: 20,2626 33104 CA -EPSMAX
065797,000250: 20,2627 54155 TS -EPSILON # EPSILON IS LIMITED TO A MAX. OF .42265
![]() |
Page 1489 |
065799,000252: 20,2630 30155 GOODEPS2 CA -EPSILON
065800,000253: 20,2631 00006 EXTEND
065801,000254: 20,2632 73100 MP 0.35356
065802,000255: 20,2633 63103 AD -.7071
065803,000256: 20,2634 55627 TS COEFFQ # IN THIS CASE WHERE IQ IS GREATER THAN
065804,000257: 20,2635 40155 CS -EPSILON # IR, COEFFQ=-.707(1+.5EPSILON) AND
065805,000258: 20,2636 64735 AD NEGMAX # COEFFR=.707(1+.5EPSILON)(1-EPSILON)
065806,000259: 20,2637 00006 EXTEND
065807,000260: 20,2640 71627 MP COEFFQ
065808,000261: 20,2641 55630 TS COEFFR
065809,000262: 20,2642 41627 JACCUV CS COEFFQ
065810,000263: 20,2643 00006 EXTEND
065811,000264: 20,2644 71531 MP 1JACCQ # 1JACCQ IS SCALED AT PI/4
065812,000265: 20,2645 55533 TS 1JACCU # 1JACCU USED AS TEMPORARY STORAGE
065813,000266: 20,2646 31630 CA COEFFR
065814,000267: 20,2647 00006 EXTEND
065815,000268: 20,2650 71532 MP 1JACCR
065816,000269: 20,2651 61533 AD 1JACCU
065817,000270: 20,2652 00006 EXTEND
065818,000271: 20,2653 74736 MP BIT14 # SCALING CHANGED FROM PI/4 TO PI/2
065819,000272: 20,2654 55533 TS 1JACCU
065820,000273: 20,2655 55534 TS 1JACCV # SCALED AT PI/2 RADIANS/SEC(2)
065821,000274: 20,2656 10154 CCS MPAC # COMPUTE L,PVT-CG IF IN DESCENT
065822,000275: 20,2657 34755 CAF ZERO # ZERO SWITCHES AND GO TO 1/ACCONT IN
065823,000276: 20,2660 55502 TS ALLOWGTS # ASCENT
065824,000277: 20,2661 13230 TCF 1/ACCONT -1
065825,000278:
065826,000279: 20,2662 44752 CS TWO
065827,000280: 20,2663 54154 TS MPAC
065828,000281: 20,2664 44753 CS ONE
065829,000282: 20,2665 54155 TS MPAC +1
065830,000283: 20,2666 12547 TCF STCTR1
065831,000284:
065832,000285: # THIS SECTION COMPUTES THE RATE OF CHANGE OF ACCELERATION DUE TO THE ROTATION OF THE GIMBALS. THE EQUATION IMPLE
065833,000286: # MENTED IN BOTH THE Y-X PLANE AND THE Z-X PLANE IS -- D(ALPHA)/DT = TL/I*D(DELTA)/DT, WHERE
065834,000287: # T = ENGINE THRUST FORCE
065835,000288: # L = PIVOT TO CG DISTANCE OF ENGINE
065836,000289: # I = MOMENT OF INERTIA
065837,000290:
065838,000291: 20,2667 31246 LRESC CAE ABDELV # SCALED AT 2(13) CM/SEC(2)
065839,000292: 20,2670 00006 EXTEND
065840,000293: 20,2671 71244 MP MASS # SCALED AT B+16 KGS
065841,000294: 20,2672 02776 TC DVOVSUB # GET QUOTIENT WITH OVERFLOW PROTECTION
065842,000295: 20,2673 03101 ADRES GFACTM
065843,000296:
065844,000297: # MASS IS DIVIDED BY ACCELERATION OF GRAVITY IN ORDER TO MATCH THE UNITS OF IXX,IYY,IZZ, WHICH ARE SLUG-FT(2).
065845,000298: # THE RATIO OF ACCELERATION FROM PIPAS TO ACCELERATION OF GRAVITY IS THE SAME IN METRIC OR ENGINEERING UNITS, SO
065846,000299: # THAT IS UNCONVERTED. 2.20462 CONVERTS KG. TO LB. NOW T IS IN A SCALED AT 2(14).
065847,000300:
065848,000301: 20,2674 00006 EXTEND
065849,000302: 20,2675 71527 MP L,PVT-CG # SCALED AT 8 FEET.
![]() |
Page 1490 |
065851,000304: 20,2676 00004 INHINT
065852,000305: 20,2677 54154 TS MPAC
065853,000306: 20,2700 00006 EXTEND
065854,000307: 20,2701 71532 MP 1JACCR
065855,000308: 20,2702 02776 TC DVOVSUB # GET QUOTIENT WITH OVERFLOW PROTECTION
065856,000309: 20,2703 02000 ADRES TORKJET1
065857,000310:
065858,000311: 20,2704 55511 TS ACCDOTR # SCALED AT PI/2(7)
065859,000312: 20,2705 30154 CA MPAC
065860,000313: 20,2706 00006 EXTEND
065861,000314: 20,2707 71531 MP 1JACCQ
065862,000315: 20,2710 02776 TC DVOVSUB # GET QUOTIENT WITH OVERFLOW PROTECTION
065863,000316: 20,2711 02000 ADRES TORKJET1
065864,000317:
065865,000318: 20,2712 55507 SPSCONT TS ACCDOTQ # SCALED AT PI/2(7)
065866,000319: 20,2713 00006 EXTEND
065867,000320: 20,2714 73077 MP DGBF # .3ACCDOTQ SCALED AT PI/2(8)
065868,000321: 20,2715 55504 TS KQ
065869,000322: 20,2716 31511 CAE ACCDOTR # .3ACCDOTR AT PI/2(8)
065870,000323: 20,2717 00006 EXTEND
065871,000324: 20,2720 73077 MP DGBF
065872,000325: 20,2721 55506 TS KRDAP
065873,000326: 20,2722 00006 EXTEND # NOW COMPUTE QACCDOT, RACCDOT, THE SIGNED
065874,000327: 20,2723 00012 READ CHAN12 # JERK TERMS. STORE CHANNEL 12. WITH GIM
065875,000328: 20,2724 54155 TS MPAC +1 # BAL DRIVE BITS 9 THROUGH 12. SET LOOP
065876,000329: 20,2725 34752 CAF BIT2 # INDEX TO COMPUTE RACCDOT, THEN QACCDOT.
065877,000330: 20,2726 12730 TCF LOOP3
065878,000331: 20,2727 34755 CAF ZERO # ACCDOTQ AND ACCDOTR ARE NOT NEGATIVE,
065879,000332: 20,2730 54154 LOOP3 TS MPAC # BECAUSE THEY ARE MAGNITUDES
065880,000333: 20,2731 30155 CA MPAC +1
065881,000334: 20,2732 50154 INDEX MPAC # MASK CHANNEL IMAGE FOR ANY GIMBAL MOTION
065882,000335: 20,2733 73073 MASK GIMBLBTS
065883,000336: 20,2734 00006 EXTEND
065884,000337: 20,2735 12751 BZF ZACCDOT # IF NONE, Q(R)ACCDOT IS ZERO.
065885,000338: 20,2736 30155 CA MPAC +1
065886,000339: 20,2737 50154 INDEX MPAC # GIMBAL IS MOVING. IS ROTATION POSITIVE.
065887,000340: 20,2740 73074 MASK GIMBLBTS +1
065888,000341: 20,2741 00006 EXTEND
065889,000342: 20,2742 12746 BZF FRSTZERO # IF NOT POSITIVE, BRANCH
065890,000343: 20,2743 50154 INDEX MPAC # POSITIVE ROTATION, NEGATIVE Q(R)ACCDOT.
065891,000344: 20,2744 41507 CS ACCDOTQ
065892,000345: 20,2745 12752 TCF STACCDOT
065893,000346: 20,2746 50154 FRSTZERO INDEX MPAC # NEGATIVE ROTATION, POSITIVE Q(R)ACCDOT.
065894,000347: 20,2747 31507 CA ACCDOTQ
065895,000348: 20,2750 12752 TCF STACCDOT
065896,000349: 20,2751 34755 ZACCDOT CAF ZERO
065897,000350: 20,2752 50154 STACCDOT INDEX MPAC
065898,000351: 20,2753 55510 TS QACCDOT # STORE Q(R)ACCDOT.
065899,000352: 20,2754 10154 CCS MPAC
065900,000353: 20,2755 12727 TCF LOOP3 -1 # NOW DO QACCDOT.
![]() |
Page 1491 |
065902,000355: 20,2756 40111 CS DAPBOOLS # IS GIMBAL USABLE?
065903,000356: 20,2757 74736 MASK USEQRJTS
065904,000357: 20,2760 00006 EXTEND
065905,000358: 20,2761 13706 BZF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
065906,000359: 20,2762 41274 CS T5ADR # YES. IS THE DAP RUNNING?
065907,000360: 20,2763 63765 AD PAXISADR
065908,000361: 20,2764 00006 EXTEND
065909,000362: 20,2765 12767 BZF +2
065910,000363: 20,2766 13706 TCF DOWNGTS # NO. BE SURE THE GIMBAL SWITCHES ARE DOWN
065911,000364: 20,2767 11633 CCS INGTS # YES. IS GTS IN CONTROL?
065912,000365: 20,2770 12773 TCF DOCKTEST # YES. PROCEED WITH 1/ACCS.
065913,000366: 20,2771 04674 TC IBNKCALL # NO. NULL OFFSET AND FIND ALLOWGTS
065914,000367: 20,2772 43330 CADR TIMEGMBL
065915,000368:
065916,000369: 20,2773 10157 DOCKTEST CCS DOCKTEMP # BYPASS 1/ACCONT WHEN DOCKED.
065917,000370: 20,2774 13671 TCF 1/ACCRET
065918,000371: 20,2775 13231 TCF 1/ACCONT
065919,000372:
![]() |
Page 1492 |
065921,000374: # SUBROUTINE: DVOVSUB
065922,000375: # AUTHOR: C. WORK, MOD 0 12 JUNE 68
065923,000376: # PURPOSE: THIS SUBROUTINE PROVIDES A SINGLE-PRECISION MACHINE LANGUAGE DIVISION OPERATION WHICH RETURNS
065924,000377: # (1) THE QUOTIENT, IF THE DIVISION WAS NORMAL.
065925,000378: # (2) NEGMAX, IF THE QUOTIENT WAS IMPROPER AND NEGATIVE.
065926,000379: # (3) POSMAX, IF THE QUOTIENT WAS IMPROPER AND POSITIVE OR IF THERE WAS A ZERO DIVISOR.
065927,000380: # THE CALLING PROGRAM IS PRESUMED TO BE A JOB IN THE F BANK WHICH CONTAINS DVOVSUB. E BANK MUST BE 6.
065928,000381: # THE DIVISOR FOR THIS ROUTINE MAY BE IN EITHER FIXED OR ERASABLE STORAGE. SIGN AGREEMENT IS
065929,000382: # ASSUMED BETWEEN THE TWO HALVES OF THE DIVIDEND. (THIS IS CERTAIN IF THE A AND L REGISTERS ARE THE RE-
065930,000383: # SULT OF A MULTIPLICATION OPERATION.)
065931,000384: # CALL SEQUENCE:
065932,000385: # L TC DVOVSUB
065933,000386: # L +1 ADRES (DIVISOR)
065934,000387: # L +2 RETURN HERE, WITH RESULT IN A,L
065935,000388: # INPUT: DIVIDEND IN A,L (SIGN AGREEMENT ASSUMED), DIVISOR IN LOCATION DESIGNATED BY "ADRES".
065936,000389: # DIVISOR MAY BE IN THE DVOVSUB FBANK,FIXED-FIXED FBANK,EBANK 6, OR UNSWITCHED ERASABLE.
065937,000390: # OUTPUT: QUOTIENT AND REMAINDER, OR POSMAX (NEGMAX), WHICHEVER IS APPROPRIATE.
065938,000391: # DEBRIS: SCRATCHX,SCRATCHY,SCRATCHZ,A,L (NOTE: SCRATCHX,Y,Z ARE EQUATED TO MPAC +4,+5, AND +6.)
065939,000392: # ABORTS OR ALARMS: NONE
065940,000393: # EXITS: TO THE CALL POINT +2.
065941,000394: # SUBROUTINES CALLED: NONE.
065942,000395:
065943,000396: 20,2776 54161 DVOVSUB TS SCRATCHY # SAVE UPPER HALF OF DIVIDEND
065944,000397: 20,2777 54160 TS SCRATCHX
065945,000398: 20,3000 50002 INDEX Q # OBTAIN ADDRESS OF DIVISOR.
065946,000399: 20,3001 30000 CA 0
065947,000400: 20,3002 24002 INCR Q # STEP Q FOR PROPER RETURN SEQUENCE.
065948,000401: 20,3003 50000 INDEX A
065949,000402: 20,3004 30000 CA 0 # PICK UP THE DIVISOR.
065950,000403: 20,3005 00006 EXTEND # RETURN POSMAX FOR A ZERO DIVISOR.
065951,000404: 20,3006 13035 BZF MAXPLUS
065952,000405:
065953,000406: 20,3007 54162 TS SCRATCHZ # STORE DIVISOR.
065954,000407:
065955,000408: 20,3010 10000 CCS A # GET ABS(DIVISOR) IN THE A REGISTER.
065956,000409: 20,3011 64753 AD BIT1
065957,000410: 20,3012 13014 TCF ZEROPLUS
065958,000411: 20,3013 64753 AD BIT1
065959,000412:
065960,000413: 20,3014 56161 ZEROPLUS XCH SCRATCHY # STORE ABS(DIVISOR). PICK UP TOP HALF OF
065961,000414: 20,3015 00006 EXTEND # DIVIDEND.
065962,000415: 20,3016 63020 BZMF GOODNEG # GET -ABS(DIVIDEND)
![]() |
Page 1493 |
065964,000417: 20,3017 40000 CS A
065965,000418:
065966,000419: 20,3020 60161 GOODNEG AD SCRATCHY # ABS(DIVISOR) - ABS(DIVIDEND)
065967,000420: 20,3021 00006 EXTEND
065968,000421: 20,3022 63027 BZMF MAKEMAX # BRANCH IF DIVISION IS NOT PROPER.
065969,000422:
065970,000423: 20,3023 30160 CA SCRATCHX # RE-ESTABLISH THE DIVIDEND.
065971,000424: 20,3024 00006 EXTEND
065972,000425: 20,3025 10162 DV SCRATCHZ # QUOTIENT IN THE A, REMAINDER IN L.
065973,000426: 20,3026 00002 TC Q # RETURN TO CALLER.
065974,000427:
065975,000428: 20,3027 10160 MAKEMAX CCS SCRATCHX # DETERMINE THE SIGN OF THE QUOTIENT.
065976,000429: 20,3030 10162 CCS SCRATCHZ # SCRATCHX AND SCRATCHZ ARE NON-ZERO.
065977,000430: 20,3031 13035 TCF MAXPLUS
065978,000431: 20,3032 10162 CCS SCRATCHZ
065979,000432: 20,3033 34735 CAF NEGMAX # +,- OR -,+
065980,000433: 20,3034 00002 TC Q
065981,000434: 20,3035 34733 MAXPLUS CAF POSMAX # -,- OR +,+
065982,000435: 20,3036 00002 TC Q
065983,000436:
065984,000437: # COEFFICIENTS FOR THE JET ACCELERATION CURVE FITS
065985,000438: # THE CURVE FITS ARE OF THE FORM -
065986,000439:
065987,000440: # 1JACC = A/(MASS + C) + B
065988,000441:
065989,000442: # A IS SCALED AT PI/4 RAD/SEC**2 B+16KG, B IS SCALED AT PI/4 RAD/SEC**2, AND C IS SCALED AT B +16 KG.
065990,000443:
065991,000444: # THE CURVE FIT FOR L,PVT-CG IS OF THE SAME FORM, EXCEPT THAT A IS SCALED AT 8 FT B+16 KG, B IS SCALED AT 8 FT,
065992,000445: # AND C IS SCALED AT B+16 KG.
065993,000446:
065994,000447: 20,3037 01240 22513 2DEC +.0410511917 # L A DESCENT
065995,000448:
065996,000449: 20,3041 00141 07416 INERCONA 2DEC +.0059347674 # 1JACCP A DESCENT
065997,000450:
065998,000451: 20,3043 00030 21261 2DEC +.0014979264 # 1JACCQ A DESCENT
065999,000452:
066000,000453: 20,3045 00021 03766 2DEC +.0010451889 # 1JACCR A DESCENT
066001,000454:
066002,000455: 20,3047 00153 07111 2DEC +.0065443852 # 1JACCP A ASCENT
066003,000456:
066004,000457: 20,3051 00072 24103 2DEC +.0035784354 # 1JACCQ A ASCENT
066005,000458:
066006,000459: 20,3053 00135 11511 2DEC +.0056946631 # 1JACCR A ASCENT
066007,000460:
066008,000461: 20,3055 04754 DEC +.155044 # L B DESCENT
066009,000462: 20,3056 77142 DEC -.025233 # L C DESCENT
![]() |
Page 1494 |
066011,000464: 20,3057 00061 INERCONB DEC +.002989 # 1JACCP B DESCENT
066012,000465: 20,3060 00217 INERCONC DEC +.008721 # 1JACCP C DESCENT
066013,000466: 20,3061 00464 DEC +.018791 # 1JACCQ B DESCENT
066014,000467: 20,3062 75642 DEC -.068163 # 1JACCQ C DESCENT
066015,000468: 20,3063 00536 DEC +.021345 # 1JACCR B DESCENT
066016,000469: 20,3064 75705 DEC -.066027 # 1JACCR C DESCENT
066017,000470:
066018,000471: 20,3065 00001 DEC +.000032 # 1JACCP B ASCENT
066019,000472: 20,3066 77616 DEC -.006923 # 1JACCP C ASCENT
066020,000473: 20,3067 05154 DEC +.162862 # 1JACCQ B ASCENT
066021,000474: 20,3070 00052 DEC +.002588 # 1JACCQ C ASCENT
066022,000475: 20,3071 00231 DEC +.009312 # 1JACCR B ASCENT
066023,000476: 20,3072 77174 DEC -.023608 # 1JACCR C ASCENT
066024,000477:
066025,000478: 20,3073 01400 GIMBLBTS OCTAL 01400
066026,000479: 20,3074 01000 OCTAL 01000
066027,000480: 20,3075 06000 OCTAL 06000
066028,000481: 20,3076 04000 OCTAL 04000
066029,000482: 20,3077 23146 DGBF DEC 0.6 # .3 SCALED AT 1/2
066030,000483: 20,3100 13241 0.35356 DEC 0.35356 # .70711 SCALED AT 2
066031,000484: 20,3101 00337 GFACTM OCT 337 # 979.24/2.20462 AT B+15
066032,000485: 20,3102 26501 .7071 DEC .70711
066033,000486: 20,3103 51276 -.7071 DEC -.70711
066034,000487: 20,3104 62362 -EPSMAX DEC -.42265
066035,000488:
066036,000489: # CSM-DOCKED INERTIA COMPUTATIONS
066037,000490:
066038,000491: 20,3105 34753 DOCKED CA ONE # COEFTR = 1 FOR INERTIA COEFFICIENTS
066039,000492: 20,3106 54160 SPSLOOP1 TS COEFCTR # = 7 FOR CG COEFFICIENTS
066040,000493: 20,3107 34753 CA ONE # MASSCTR = 1 FOR CSM
066041,000494: 20,3110 54161 TS MASSCTR # = 0 FOR LEM
066042,000495:
066043,000496: 20,3111 50160 INDEX COEFCTR
066044,000497: 20,3112 33212 CA COEFF -1 # COEFF -1 = C
066045,000498: 20,3113 00006 EXTEND
066046,000499: 20,3114 71331 MP LEMMASS
066047,000500: 20,3115 00006 EXTEND
066048,000501: 20,3116 71332 MP CSMMASS # LET X = CSMMASS AND Y = LEMMASS
066049,000502:
066050,000503: 20,3117 50160 INDEX COEFCTR
066051,000504: 20,3120 63213 AD COEFF # COEFF = F
066052,000505: 20,3121 54154 TS MPAC # MPAC = C X Y + F
066053,000506: 20,3122 13126 TCF +4
066054,000507:
066055,000508: 20,3123 54161 SPSLOOP2 TS MASSCTR # LOOP TWICE THROUGH HERE TO OBTAIN
066056,000509: 20,3124 00006 EXTEND # MPAC = MPAC + (A X +D)X + (B Y +E)Y
066057,000510: 20,3125 26160 DIM COEFCTR # LOOP #1 LOOP #2
066058,000511: 20,3126 50160 INDEX COEFCTR
066059,000512: 20,3127 33215 CA COEFF +2 # COEFF +2 = A OR B
066060,000513: 20,3130 00006 EXTEND
![]() |
Page 1495 |
066062,000515: 20,3131 50161 INDEX MASSCTR
066063,000516: 20,3132 71331 MP LEMMASS
066064,000517: 20,3133 50160 INDEX COEFCTR
066065,000518: 20,3134 63217 AD COEFF +4 # COEFF +4 = E OR D
066066,000519: 20,3135 00006 EXTEND
066067,000520: 20,3136 50161 INDEX MASSCTR
066068,000521: 20,3137 71331 MP LEMMASS
066069,000522: 20,3140 26154 ADS MPAC
066070,000523:
066071,000524: 20,3141 10161 CCS MASSCTR
066072,000525: 20,3142 13123 TCF SPSLOOP2
066073,000526: 20,3143 10160 CCS COEFCTR # IF COEFCTR IS POS, EXIT FROM LOOP WITH
066074,000527: 20,3144 13153 TCF +7 # CG X DELDOT = MPAC X 4 PI RAD-CM/SEC
066075,000528: 20,3145 00000 20354 TORQCONS 2DEC 0.51443 B-14 # CORRESPONDS TO 500 LB-FT
066076,000529:
066077,000530: 20,3147 30154 CA MPAC
066078,000531: 20,3150 54155 TS MPAC +1 # INERTIA = (MPAC +1) X 2(38) KG-CM(2)
066079,000532: 20,3151 34757 CA SEVEN
066080,000533: 20,3152 13106 TCF SPSLOOP1
066081,000534:
066082,000535: 20,3153 33212 CA 1JACCCON # 1JACC=1JACCCON/MASS
066083,000536: 20,3154 22007 ZL
066084,000537: 20,3155 02776 TC DVOVSUB
066085,000538: 20,3156 01244 ADRES MASS
066086,000539: 20,3157 55530 TS 1JACC # SCALED AT PI/4
066087,000540:
066088,000541: 20,3160 34733 CA POSMAX # SET INVERSE JET ACCELERATIONS TO POSMAX,
066089,000542: 20,3161 55551 TS 1/ANETP # WHICH CORRESPONDS TO ACCEL. OF 1.4 D/SS.
066090,000543: 20,3162 55571 TS 1/ANET2 +1
066091,000544: 20,3163 55572 TS 1/ANET2 +2
066092,000545: 20,3164 55611 TS 1/ANET2 +17D
066093,000546: 20,3165 55612 TS 1/ANET2 +18D
066094,000547: 20,3166 00006 EXTEND
066095,000548: 20,3167 33146 DCA TORQCONS
066096,000549: 20,3170 00006 EXTEND
066097,000550: 20,3171 10155 DV MPAC +1
066098,000551: 20,3172 00004 INHINT
066099,000552: 20,3173 55531 TS 1JACCQ # SCALED AT PI/4
066100,000553: 20,3174 55532 TS 1JACCR
066101,000554:
066102,000555: 20,3175 33103 CA -.7071
066103,000556: 20,3176 55627 TS COEFFQ # COEFFQ AND COEFFR ARE CHOSEN TO MAKE U-
066104,000557: 20,3177 33102 CA .7071 # AND V-AXES ORTHOGONAL FOR DOCKED CASE
066105,000558: 20,3200 55630 TS COEFFR
066106,000559: 20,3201 31244 CA MASS # SCALED AT 2(16) KG
066107,000560: 20,3202 00006 EXTEND
066108,000561: 20,3203 70154 MP MPAC # SCALED AT 4 PI RAD-CM/SEC
066109,000562: 20,3204 00006 EXTEND
066110,000563: 20,3205 71246 MP ABDELV # SCALED AT 2(13) CM/SEC(2)
066111,000564: 20,3206 02776 TC DVOVSUB # GET QUOTIENT WITH OVERFLOW PROTECTION
![]() |
Page 1496 |
066113,000566: 20,3207 00155 ADRES MPAC +1
066114,000567:
066115,000568: 20,3210 55511 TS ACCDOTR
066116,000569: 20,3211 12712 TCF SPSCONT # CONTINUE K, KSQ CALCULATIONS
066117,000570:
066118,000571: 20,3212 00167 1JACCCON OCT 00167 # SCALED AT PI/4X2(16) RAD/SEC(2)-KG
066119,000572:
066120,000573: # 2 2
066121,000574: # COEFFICIENTS FOR CURVE FIT OF THE FORM Z = A X +B Y +C X Y +D X +E Y +F
066122,000575:
066123,000576: 20,3213 06176 COEFF DEC .19518 # C COEFFICIENT OF INERTIA
066124,000577: 20,3214 77650 DEC -.00529 # F ''
066125,000578: 20,3215 72260 DEC -.17670 # B ''
066126,000579: 20,3216 76637 DEC -.03709 # A ''
066127,000580: 20,3217 02167 DEC .06974 # E ''
066128,000581: 20,3220 00645 DEC .02569 # D ''
066129,000582:
066130,000583: 20,3221 06335 DEC .20096 # C COEFFICIENT OF CG
066131,000584: 20,3222 04256 DEC .13564 # F ''
066132,000585: 20,3223 30163 DEC .75704 # B ''
066133,000586: 20,3224 64072 DEC -.37142 # A ''
066134,000587: 20,3225 53632 DEC -.63117 # E ''
066135,000588: 20,3226 15133 DEC .41179 # D ''
066136,000589:
066137,000590: # ASSIGNMENT OF TEMPORARIES FOR 1/ACCS (EXCLUDING 1/ACCONT)
066138,000591: # MPAC, MPAC +1, MPAC +2 USED EXPLICITLY
066139,000592: 20,3227 0160 COEFCTR EQUALS MPAC +4
066140,000593: 20,3227 0161 MASSCTR EQUALS MPAC +5
066141,000594: 20,3227 0160 SCRATCHX EQUALS MPAC +4 # SCRATCH AREA FOR DVOVSUB ROUTINE.
066142,000595: 20,3227 0161 SCRATCHY EQUALS SCRATCHX +1
066143,000596: 20,3227 0162 SCRATCHZ EQUALS SCRATCHX +2
066144,000597:
066145,000598: 20,3227 0157 DOCKTEMP EQUALS MPAC +3 # RECORD OF CSMDOCKED BIT OF DAPBOOLS
066146,000599: 20,3227 0155 EPSILON EQUALS MPAC +1
066147,000600: 20,3227 0155 -EPSILON EQUALS EPSILON
066148,000601: 20,3227 71777 -.1875 DEC -.18750
066149,000602:
![]() |
Page 1497 |
066151,000604: 20,3230 BANK 20
066152,000605: 20,2000 SETLOC DAPS3
066153,000606: 20,2000 BANK
066154,000607:
066155,000608: 20,3230 E6,1537 EBANK= AOSQ
066156,000609:
066157,000610: 20,3230 COUNT* $$/DAPAO
066158,000611:
066159,000612: 20,3230 55633 -1 TS INGTS # ZERO INGTS IN ASCENT
066160,000613: 20,3231 31346 1/ACCONT CA DB # INITIALIZE DBVAL1,2,3
066161,000614: 20,3232 00006 EXTEND
066162,000615: 20,3233 74737 MP BIT13
066163,000616: 20,3234 54001 TS L # 0.25 DB
066164,000617: 20,3235 60000 AD A
066165,000618: 20,3236 54115 TS DBVAL3 # 0.50 DB
066166,000619: 20,3237 41346 CS DBVAL1
066167,000620: 20,3240 60001 AD L
066168,000621: 20,3241 54114 TS DBVAL2 # -.75 DB
066169,000622:
066170,000623: 20,3242 00004 GETAOSUV INHINT
066171,000624: 20,3243 31541 CAE AOSR # COMPUTE AOSU AND AOSV BY ROTATING
066172,000625: 20,3244 54001 TS L # AOSQ AND AOSR.
066173,000626: 20,3245 31537 CAE AOSQ
066174,000627: 20,3246 04674 TC IBNKCALL
066175,000628: 20,3247 37146 CADR ROT-TOUV
066176,000629: 20,3250 53544 DXCH AOSU
066177,000630:
066178,000631: 20,3251 00003 RELINT
066179,000632: 20,3252 30111 CA DAPBOOLS
066180,000633: 20,3253 74744 MASK DRIFTBIT # ZERO DURING ULLAGE AND POWERED FLIGHT.
066181,000634: 20,3254 10000 CCS A # IF DRIFTING FLIGHT,
066182,000635: 20,3255 34753 CA ONE # SET DRIFTER TO 1
066183,000636: 20,3256 54116 TS DRIFTER # SAVE TO TEST FOR DRIFTING FLIGHT LATER
066184,000637: 20,3257 61502 AD ALLOWGTS # NON-ZERO IF DRIFT OR GTS NEAR
066185,000638: 20,3260 10000 CCS A
066186,000639: 20,3261 33763 CA FLATVAL # DRIFTING FLIGHT, STORE .8 IN FLAT
066187,000640: 20,3262 54151 TS FLATEMP # IN POWERED FLIGHT, STORE ZERO IN FLAT
066188,000641: 20,3263 00006 EXTEND
066189,000642: 20,3264 13270 BZF DOPAXIS # IF POWERED AND NO GTS, START P AXIS,
066190,000643: 20,3265 10116 CCS DRIFTER # OTHERWISE SET ZONE3LIM
066191,000644: 20,3266 33762 CA ZONE3MAX # 17.5 MS, SCALED AT 4 SECONDS.
066192,000645: 20,3267 54152 TS Z3TEM
066193,000646:
066194,000647: 20,3270 31530 DOPAXIS CA 1JACC # 1JACC AT PI/4 = 2JACC AT PI/2 =
066195,000648: # ANET AT PI/2 = ANET/ACOAST AT 2(6).
066196,000649: 20,3271 64743 AD BIT9 # 1 + ANET/ACOAST AT 2(6)
066197,000650: 20,3272 54157 TS FUNTEM
066198,000651:
066199,000652: 20,3273 31530 CA 1JACC
![]() |
Page 1498 |
066201,000654: 20,3274 03700 TC INVERT
066202,000655: 20,3275 00004 INHINT # P AXIS DATA MUST BE CONSISTENT
066203,000656: 20,3276 55551 TS 1/ANETP # SCALED AT 2(7)/PI.
066204,000657: 20,3277 55552 TS 1/ANETP +1
066205,000658:
066206,000659: 20,3300 44743 CS BIT9 # -1 AT 2(6)
066207,000660: 20,3301 00006 EXTEND
066208,000661: 20,3302 71551 MP 1/ANETP # -1/ANET AT 2(13)/PI
066209,000662: 20,3303 00006 EXTEND
066210,000663: 20,3304 10157 DV FUNTEM # -1/(ANET + ANET**2/ACOAST) AT 2(7)/PI
066211,000664: 20,3305 55557 TS PACCFUN
066212,000665: 20,3306 55560 TS PACCFUN +1
066213,000666:
066214,000667: 20,3307 34733 CA 1/.03 # NO AOS FOR P AXIS, ACOAST = AMIN
066215,000668: 20,3310 55553 TS 1/ACOSTP
066216,000669: 20,3311 55554 TS 1/ACOSTP +1
066217,000670: 20,3312 00003 RELINT
066218,000671:
066219,000672: 20,3313 22007 ZL
066220,000673: 20,3314 10116 CCS DRIFTER
066221,000674: 20,3315 53544 DXCH AOSU # ZERO AOSU,V IF IN DRIFT, JUST TO BE SURE
066222,000675:
066223,000676: 20,3316 34755 UAXIS CA ZERO # DO U AXIS COMPUTATIONS
066224,000677: 20,3317 54154 TS UV # ZERO FOR U AXIS, ONE FOR V AXIS.
066225,000678:
066226,000679: 20,3320 54163 BOTHAXES TS SIGNAOS # CODING COMMON TO U,V AXES
066227,000680: 20,3321 50154 INDEX UV
066228,000681: 20,3322 11543 CCS AOSU # PICK UP ABS(AOSU OR AOSV)
066229,000682: 20,3323 64753 AD ONE # RESTORE TO PROPER VALUE
066230,000683: 20,3324 13327 TCF +3 # AND LEAVE SIGNAOS AT ZERO
066231,000684: 20,3325 64753 AD ONE # NEGATIVE, RESTORE TO PROPER VALUE
066232,000685: 20,3326 24163 INCR SIGNAOS # AND SET SIGNAOS TO ONE TO SHOW AOS NEG
066233,000686: 20,3327 54162 TS ABSAOS # SAVE ABS(AOS)
066234,000687: 20,3330 40163 CS SIGNAOS
066235,000688: 20,3331 54164 TS -SIGNAOS # USED AS AN INDEX
066236,000689:
066237,000690: 20,3332 31346 CA DBVAL1 # SET DB1, DB2 TO DBVAL1 (= DB)
066238,000691: 20,3333 54143 TS DBB1
066239,000692: 20,3334 54144 TS DBB2
066240,000693:
066241,000694: 20,3335 30162 CA ABSAOS # TEST MAGNITUDE OF ABS(AOS)
066242,000695: 20,3336 63764 AD -.03R/S2
066243,000696: 20,3337 00006 EXTEND
066244,000697: 20,3340 63432 BZMF NOTMUCH # ABS(AOS) LESS THAN AMIN
066245,000698: 20,3341 10151 BIGAOS CCS FLATEMP # AGS(AOS) GREATER THAN AMIN
066246,000699: 20,3342 13372 TCF SKIPDB1 # I DRIFT OR GTS, DO NOT COMPUTE DB
066247,000700:
066248,000701: 20,3343 31346 CA DBVAL1
066249,000702: 20,3344 50164 INDEX -SIGNAOS
![]() |
Page 1499 |
066251,000704: 20,3345 26144 ADS DBB2 # DB2(1) = 2 DB
066252,000705: 20,3346 50163 INDEX SIGNAOS
066253,000706: 20,3347 54145 TS DBB4 # DB4(3) = 1 DB
066254,000707: 20,3350 33227 CA -.1875 # -.1875 PI/2 RAD/SEC(2) SCALED AT PI/2
066255,000708: 20,3351 60162 AD ABSAOS # ABSAOS IS SCALED AT PI/2
066256,000709: 20,3352 00006 EXTEND
066257,000710: 20,3353 63356 BZMF +3
066258,000711: 20,3354 40115 CS DBVAL3 # -.5 DB
066259,000712: 20,3355 13365 TCF DBONE
066260,000713: 20,3356 40162 CS ABSAOS
066261,000714: 20,3357 60000 DOUBLE
066262,000715: 20,3360 60000 DOUBLE
066263,000716: 20,3361 64736 AD BIT14
066264,000717: 20,3362 60000 DOUBLE # 1-8 ABSAOS. (8 IS 16/PI SCALED AT 2/PI)
066265,000718: 20,3363 00006 EXTEND
066266,000719: 20,3364 71346 MP DB
066267,000720: 20,3365 50163 DBONE INDEX SIGNAOS # DB1(2)=(1-8 ABSAOS) DB. IF ABSAOS IS
066268,000721: 20,3366 54143 TS DBB1 # GREATER THAN .1875 THEN DB1(2) = -.5 DB
066269,000722: 20,3367 30114 CA DBVAL2
066270,000723: 20,3370 50164 INDEX -SIGNAOS
066271,000724: 20,3371 54146 TS DBB3 # DB3(4) = -.75 DB
066272,000725:
066273,000726: 20,3372 30162 SKIPDB1 CA ABSAOS # ABS(AOS) GREATER THAN AMIN, SO IT IS
066274,000727: 20,3373 00006 EXTEND
066275,000728: 20,3374 74740 MP BIT12
066276,000729: 20,3375 60162 AD ABSAOS # (9/8) ABSAOS.
066277,000730: 20,3376 03700 TC INVERT # ALL RIGHT TO DIVIDE
066278,000731: 20,3377 50164 INDEX -SIGNAOS
066279,000732: 20,3400 54130 TS 1/ACOSTT +1 # 1/ACOASTPOS(NEG) = 1/ABS(AOS)
066280,000733: 20,3401 34733 CA 1/.03
066281,000734: 20,3402 50163 INDEX SIGNAOS
066282,000735: 20,3403 54127 TS 1/ACOSTT # 1/ACOASTNEG(POS) = 1/AMIN
066283,000736:
066284,000737: 20,3404 30162 CA ABSAOS
066285,000738: 20,3405 61533 AD 1JACCU
066286,000739: 20,3406 61533 AD 1JACCU # 2 JACC + ABS(AOS)
066287,000740: 20,3407 64743 AD BIT9 # MAXIMUM VALUE IN COMPUTATIONS
066288,000741: 20,3410 54000 TS A # TEST FOR OVERFLOW
066289,000742: 20,3411 13456 TCF SKIPDB2 # NO OVERFLOW, DO NORMAL COMPUTATION
066290,000743:
066291,000744: 20,3412 30162 CA ABSAOS # RESCALE TO PI TO PREVENT OVERFLOW
066292,000745: 20,3413 00006 EXTEND
066293,000746: 20,3414 74736 MP BIT14
066294,000747: 20,3415 61533 AD 1JACCU # 1 JACC AT PI/2 = 2JACC AT PI
066295,000748: 20,3416 54157 TS ANET # ANETPOS(NEG) MAX SCALED AT PI =
066296,000749: # ANETPOS(NEG) MAX/ACOASTNEG(POS) AT 2(7)
066297,000750: 20,3417 64744 AD BIT8 # 1 + ANETPOS/ACOASTNEG AT 2(7)
066298,000751: 20,3420 56157 XCH ANET # SAVE IN ANET, WHILE PICKING UP ANET
066299,000752: 20,3421 03700 TC INVERT
066300,000753: 20,3422 00006 EXTEND
![]() |
Page 1500 |
066302,000755: 20,3423 74736 MP BIT14 # SCALE 1/ANET AT 2(7)/PI
066303,000756: 20,3424 54160 TS 1/ANET
066304,000757:
066305,000758: 20,3425 33431 CA ACCHERE # SET UP RETURN FROM COMPUTATION ROUTINE
066306,000759: 20,3426 54161 TS ARET
066307,000760: 20,3427 44744 CS BIT8 # -1 AT 2(7)
066308,000761: 20,3430 13733 TCF DOACCFUN # FINISH ACCFUN COMPUTATION
066309,000762:
066310,000763: 20,3431 13463 ACCHERE TCF ACCTHERE
066311,000764:
066312,000765: 20,3432 54001 NOTMUCH TS L # ABS(AOS) LESS THAN AMIN, SAVE IN L
066313,000766: 20,3433 34733 CA 1/.03 # ACOASTPOS,NEG = AMIN
066314,000767: 20,3434 54127 TS 1/ACOSTT
066315,000768: 20,3435 54130 TS 1/ACOSTT +1
066316,000769:
066317,000770: 20,3436 10151 CCS FLATEMP
066318,000771: 20,3437 13456 TCF SKIPDB2 # DO NOT COMPUTE DB IF DRIFT OR GTS
066319,000772:
066320,000773: 20,3440 34744 CA .0125RS # AMIN/2
066321,000774: 20,3441 60001 AD L # L HAS ABS(AOS) - AMIN
066322,000775: 20,3442 00006 EXTEND # RESULT IS ABS(AOS)- AMIN/2
066323,000776: 20,3443 63453 BZMF NOAOS # ABS(AOS) LESS THAN AMIN/2
066324,000777:
066325,000778: 20,3444 30115 SOMEAOS CA DBVAL3 # AMIN/2 LT ABS(AOS) LT AMIN
066326,000779: 20,3445 50164 INDEX -SIGNAOS
066327,000780: 20,3446 54146 TS DBB3 # DB3(4) = DB/2
066328,000781: 20,3447 60000 AD A
066329,000782: 20,3450 50163 INDEX SIGNAOS
066330,000783: 20,3451 54145 TS DBB4 # DB4(3) = DB
066331,000784: 20,3452 13456 TCF SKIPDB2
066332,000785:
066333,000786: 20,3453 31346 NOAOS CA DBVAL1
066334,000787: 20,3454 54146 TS DBB3 # DB3,4 = DB
066335,000788: 20,3455 54145 TS DBB4
066336,000789:
066337,000790: 20,3456 30162 SKIPDB2 CA ABSAOS # ANETPOS(NEG) MAX = 2 JACC + ABS(AOS)
066338,000791: 20,3457 61533 AD 1JACCU
066339,000792: 20,3460 61533 AD 1JACCU
066340,000793: 20,3461 54157 TS ANET # CONNOT OVERFLOW HERE
066341,000794: 20,3462 03724 CL1/NET+ TC DO1/NET+ # COMPUTE 1/ANET, ACCFUN
066342,000795:
066343,000796: 20,3463 50164 ACCTHERE INDEX -SIGNAOS
066344,000797: 20,3464 54134 TS Z5TEM +2 # STORE ACCFUN IN TEMPORARY BUFFER
066345,000798: 20,3465 30160 CA 1/ANET
066346,000799: 20,3466 50164 INDEX -SIGNAOS
066347,000800: 20,3467 54126 TS 1/ATEM2 +2 # STORE 1/ANET IN TEMPORARY BUFFER
066348,000801:
066349,000802: 20,3470 30162 CA ABSAOS # SEE IF OVERFLOW IN MIN CASE
066350,000803: 20,3471 61533 AD 1JACCU
![]() |
Page 1501 |
066352,000805: 20,3472 64743 AD BIT9 # MAXIMUM POSSIBLE VALUE
066353,000806: 20,3473 54000 TS A # OVERFLOW POSSIBLE BUT REMOTE
066354,000807: 20,3474 13476 TCF +2
066355,000808: 20,3475 34733 CA POSMAX # IF OVERFLOW, TRUNCATE TO PI/2
066356,000809: 20,3476 63764 AD -.03R/S2 # RESTORE TO CORRECT VALUE
066357,000810: 20,3477 54157 TS ANET
066358,000811: 20,3500 03724 TC DO1/NET+ # COMPUTE 1/ANET, ACCFUN
066359,000812:
066360,000813: 20,3501 50164 INDEX -SIGNAOS # STORE MIN VALUES JUST AS MAX VALUES
066361,000814: 20,3502 54132 TS Z5TEM
066362,000815: 20,3503 30160 CA 1/ANET
066363,000816: 20,3504 50164 INDEX -SIGNAOS
066364,000817: 20,3505 54124 TS 1/ATEM2
066365,000818:
066366,000819: 20,3506 40162 CS ABSAOS # NOW DO NEG(POS) CASES
066367,000820: 20,3507 61533 AD 1JACCU
066368,000821: 20,3510 61533 AD 1JACCU # ANETNEG(POS) MAX
066369,000822: 20,3511 03712 TC 1/ANET- # COMPUTE 1/ANET, ACCFUN, AND ACCSW
066370,000823: 20,3512 50163 INDEX SIGNAOS # STORE NEG(POS) VALUES JUST AS POS(NEG)
066371,000824: 20,3513 54133 TS Z1TEM +2
066372,000825: 20,3514 54001 TS L # SAVE IN L FOR POSSIBLE FUTURE USE
066373,000826: 20,3515 30160 CA 1/ANET
066374,000827: 20,3516 50163 INDEX SIGNAOS
066375,000828: 20,3517 54125 TS 1/ATEM1 +2
066376,000829: 20,3520 40162 CS ABSAOS
066377,000830: 20,3521 61533 AD 1JACCU # 1/ANETNEG(POS) MIN
066378,000831: 20,3522 54157 TS ANET
066379,000832: 20,3523 63764 AD -.03R/S2 # TEST FOR AMIN
066380,000833: 20,3524 00006 EXTEND # IF ANET LESS THAN AMIN, STORE MAX JET
066381,000834: 20,3525 63743 BZMF FIXMIN # VALUES FOR MIN JETS AND SET ACCSW
066382,000835:
066383,000836: 20,3526 03720 TC 1/NETMIN # OTHERWISE DO MIN JET COMPUTATIONS
066384,000837: 20,3527 50163 STMIN- INDEX SIGNAOS # STORE VALUES
066385,000838: 20,3530 54131 TS Z1TEM
066386,000839: 20,3531 30160 CA 1/ANET
066387,000840: 20,3532 50163 INDEX SIGNAOS
066388,000841: 20,3533 54123 TS 1/ATEM1
066389,000842:
066390,000843: 20,3534 50154 INDEX UV
066391,000844: 20,3535 33770 CA +UMASK
066392,000845: 20,3536 71262 MASK CH5MASK # TEST FOR +U (+V) JET FAILURES
066393,000846: 20,3537 00006 EXTEND
066394,000847: 20,3540 13545 BZF FAIL-
066395,000848: 20,3541 30124 CA 1/ATEM2 # REPLACE FUNCTION VALUES DEPENDING ON THE
066396,000849: 20,3542 54126 TS 1/ATEM2 +2 # FAILED JET PAIR WITH CORRESPONDING ONE-
066397,000850: 20,3543 30132 CA Z5TEM # JET (OR AMIN) FUNCTION VALUES
066398,000851: 20,3544 54134 TS Z5TEM +2
066399,000852: 20,3545 50154 FAIL- INDEX UV
![]() |
Page 1502 |
066401,000854: 20,3546 33766 CA -UMASK
066402,000855: 20,3547 71262 MASK CH5MASK # TEST FOR -U (-V) JET FAILURES
066403,000856: 20,3550 00006 EXTEND
066404,000857: 20,3551 13556 BZF DBFUN
066405,000858: 20,3552 30123 CA 1/ATEM1 # REPLACE FUNCTION VALUES DEPENDING ON THE
066406,000859: 20,3553 54125 TS 1/ATEM1 +2 # FAILED JET PAIR WITH CORRESPONDING ONE-
066407,000860: 20,3554 30131 CA Z1TEM # JET (OR AMIN) FUNCTION VALUES
066408,000861: 20,3555 54133 TS Z1TEM +2
066409,000862:
066410,000863: 20,3556 40146 DBFUN CS DBB3 # COMPUTE AXISDIST
066411,000864: 20,3557 60143 AD DBB1
066412,000865: 20,3560 60151 AD FLATEMP
066413,000866: 20,3561 54147 TS AXDSTEM
066414,000867: 20,3562 40145 CS DBB4
066415,000868: 20,3563 60144 AD DBB2
066416,000869: 20,3564 60151 AD FLATEMP
066417,000870: 20,3565 54150 TS AXDSTEM +1
066418,000871:
066419,000872: 20,3566 00004 INHINT
066420,000873: 20,3567 10154 CCS UV # TEST FOR U OR V AXIS
066421,000874: 20,3570 13612 TCF STORV # V AXIS STORE V VALUES
066422,000875:
066423,000876: 20,3571 30122 CA ACCSW # U AXIS STORE U VALUES
066424,000877: 20,3572 55547 TS ACCSWU
066425,000878:
066426,000879: 20,3573 34320 CA NINE # TRANSFER 10 WORDS VIA GENTRAN
066427,000880: 20,3574 05545 TC GENTRAN +1
066428,000881: 20,3575 00123 ADRES 1/ATEM1 # TEMPORARY BUFFER
066429,000882: 20,3576 01567 ADRES 1/ANET1 # THE REAL PLACE
066430,000883:
066431,000884: 20,3577 00003 RELINT
066432,000885: 20,3600 52144 DXCH DBB1 # SAVE U DBS FOR LATER STORING
066433,000886: 20,3601 52136 DXCH UDB1
066434,000887: 20,3602 52146 DXCH DBB4
066435,000888: 20,3603 52140 DXCH UDB4
066436,000889:
066437,000890: 20,3604 52150 DXCH AXDSTEM
066438,000891: 20,3605 52142 DXCH UAXDIST
066439,000892:
066440,000893: 20,3606 34753 CA ONE # NOW DO V AXIS
066441,000894: 20,3607 54154 TS UV
066442,000895: 20,3610 34755 CA ZERO
066443,000896: 20,3611 13320 TCF BOTHAXES # AND DO IT AGAIN
066444,000897:
066445,000898: 20,3612 30122 STORV CA ACCSW # STORE V AXIS VALUES
066446,000899: 20,3613 55550 TS ACCSWV
066447,000900: 20,3614 34320 CA NINE
066448,000901: 20,3615 05545 TC GENTRAN +1
![]() |
Page 1503 |
066450,000903: 20,3616 00123 ADRES 1/ATEM1 # TEMPORARY BUFFER
066451,000904: 20,3617 01607 ADRES 1/ANET1 +16D # THE REAL PLACE
066452,000905:
066453,000906: # NOW STORE DEADBANDS FOR ALL AXES
066454,000907: 20,3620 52152 DXCH FLATEMP # FLAT AND ZONE3LIM
066455,000908: 20,3621 53556 DXCH FLAT
066456,000909:
066457,000910: 20,3622 31346 CA DBVAL1 # COMPUTE P AXIS DEADBANDS
066458,000911: 20,3623 55561 TS PDB1
066459,000912: 20,3624 55562 TS PDB2
066460,000913: 20,3625 61555 AD FLAT
066461,000914: 20,3626 55564 TS PDB3
066462,000915: 20,3627 55563 TS PDB4
066463,000916: 20,3630 34755 CA ZERO
066464,000917: 20,3631 55565 TS PAXDIST
066465,000918: 20,3632 55566 TS PAXDIST +1
066466,000919:
066467,000920: 20,3633 11555 CCS FLAT
066468,000921: 20,3634 13652 TCF DRFDB # DRIFT OR GTS - COMPUTE DBS
066469,000922:
066470,000923: 20,3635 52136 DXCH UDB1 # STORE U DEADBANDS
066471,000924: 20,3636 53602 DXCH FIREDB # CANNOT USE GENTRAN BECAUSE OF RELINT
066472,000925: 20,3637 52140 DXCH UDB4
066473,000926: 20,3640 53604 DXCH COASTDB
066474,000927: 20,3641 52142 DXCH UAXDIST
066475,000928: 20,3642 53606 DXCH AXISDIST
066476,000929: 20,3643 52144 DXCH DBB1 # STORE V AXIS DEADBANDS
066477,000930: 20,3644 53622 DXCH FIREDB +16D # COULD USE GENTRAN IF DESIRED
066478,000931: 20,3645 52146 DXCH DBB4
066479,000932: 20,3646 53624 DXCH COASTDB +16D
066480,000933: 20,3647 52150 DXCH AXDSTEM
066481,000934: 20,3650 53626 DXCH AXISDIST +16D
066482,000935:
066483,000936: 20,3651 13672 TCF 1/ACCRET +1 # ALL DONE
066484,000937: 20,3652 31346 DRFDB CA DBVAL1 # DRIFT DEADBANDS
066485,000938: 20,3653 55601 TS FIREDB
066486,000939: 20,3654 55602 TS FIREDB +1
066487,000940: 20,3655 55621 TS FIREDB +16D
066488,000941: 20,3656 55622 TS FIREDB +17D
066489,000942: 20,3657 61555 AD FLAT
066490,000943: 20,3660 55603 TS COASTDB
066491,000944: 20,3661 55604 TS COASTDB +1
066492,000945: 20,3662 55623 TS COASTDB +16D
066493,000946: 20,3663 55624 TS COASTDB +17D
066494,000947: 20,3664 34755 CA ZERO
066495,000948: 20,3665 55605 TS AXISDIST
066496,000949: 20,3666 55606 TS AXISDIST +1
066497,000950: 20,3667 55625 TS AXISDIST +16D
066498,000951: 20,3670 55626 TS AXISDIST +17D
066499,000952:
![]() |
Page 1504 |
066501,000954: 20,3671 00004 1/ACCRET INHINT
066502,000955: 20,3672 40111 CS DAPBOOLS # SET BIT TO INDICATE DATA GOOD.
066503,000956: 20,3673 74751 MASK ACCSOKAY
066504,000957: 20,3674 26111 ADS DAPBOOLS
066505,000958: 20,3675 00003 RELINT
066506,000959: 20,3676 30117 CA ACCRETRN
066507,000960: 20,3677 04640 TC BANKJUMP # RETURN TO CALLER
066508,000961:
066509,000962: 20,3700 54165 INVERT TS HOLD # ROUTINE TO INVERT -INPUT AT PI/2
066510,000963: 20,3701 34743 CA BIT9 # 1 AT 2(6)
066511,000964: 20,3702 22007 ZL # ZERO L FOR ACCURACY AND TO PREVENT OVFLO
066512,000965: 20,3703 00006 EXTEND
066513,000966: 20,3704 10165 DV HOLD
066514,000967: 20,3705 00002 TC Q # RESULT AT 2(7)/PI
066515,000968:
066516,000969: 20,3706 34755 DOWNGTS CAF ZERO # ZERO SWITCHES WHEN USEQRJTS BIT IS UP
066517,000970: 20,3707 55502 TS ALLOWGTS # OR DAP IS OFF.
066518,000971: 20,3710 55633 TS INGTS
066519,000972: 20,3711 12773 TCF DOCKTEST
066520,000973:
066521,000974: 20,3712 22007 1/ANET- ZL
066522,000975: 20,3713 22122 LXCH ACCSW # ZERO ACCSW
066523,000976: 20,3714 54157 TS ANET # SAVE ANET
066524,000977: 20,3715 63764 AD -.03R/S2 # TEST FOR MIN VALUE
066525,000978: 20,3716 00006 EXTEND
066526,000979: 20,3717 63740 BZMF NETNEG # ANET LESS THAN AMIN, SO FAKE IT
066527,000980: 20,3720 30157 1/NETMIN CA ANET
066528,000981: 20,3721 00006 EXTEND
066529,000982: 20,3722 50164 INDEX -SIGNAOS
066530,000983: 20,3723 70130 MP 1/ACOSTT +1 # ANETNEG(POS)/ACOASTPOS(NEG) AT 2(6)
066531,000984:
066532,000985: # THE FOLLOWING CODING IS VALID FOR BOTH POS OR NEG
066533,000986: # VALUES OF AOS
066534,000987:
066535,000988: 20,3724 64743 DO1/NET+ AD BIT9 # 1 + ANET/ACOAST AT 2(6)
066536,000989: 20,3725 56157 XCH ANET # SAVE AND PICK UP ANET
066537,000990: 20,3726 00006 EXTEND
066538,000991: 20,3727 22161 QXCH ARET # SAVE RETURN
066539,000992: 20,3730 03700 TC INVERT
066540,000993: 20,3731 54160 TS 1/ANET # 1/ANET AT 2(7)/PI
066541,000994: 20,3732 44743 CS BIT9 # -1 AT 2(6)
066542,000995: 20,3733 00006 DOACCFUN EXTEND
066543,000996: 20,3734 70160 MP 1/ANET # -1/ANET AT 2(13)/PI
066544,000997: 20,3735 00006 EXTEND
066545,000998: 20,3736 10157 DV ANET # ACCFUN AT 2(7)/PI
066546,000999: 20,3737 00161 TC ARET # RETURN
066547,001000:
066548,001001: 20,3740 43764 NETNEG CS -.03R/S2 # ANET LESS THAN AMIN - SET EQUAL TO AMIN
066549,001002: 20,3741 54157 TS ANET
![]() |
Page 1505 |
066551,001004: 20,3742 13721 TCF 1/NETMIN +1 # CONTINUE AS IF NOTHING HAPPENED
066552,001005:
066553,001006: 20,3743 10163 FIXMIN CCS SIGNAOS
066554,001007: 20,3744 34752 CA TWO # IF AOS NEG, ACCSW = +1
066555,001008: 20,3745 67747 AD NEGONE # IF AOS POS, ACCSW = -1
066556,001009: 20,3746 54122 TS ACCSW
066557,001010: 20,3747 60154 AD UV # IF ACCSW = +1, TEST FOR +U (+V) JET FAIL
066558,001011: 20,3750 50000 INDEX A # IF ACCSW = -1, TEST FOR -U (-V) JET FAIL
066559,001012: 20,3751 33767 CA -UMASK +1
066560,001013: 20,3752 71262 MASK CH5MASK
066561,001014: 20,3753 00006 EXTEND
066562,001015: 20,3754 13760 BZF +4
066563,001016: 20,3755 43764 CS -.03R/S2 # JET FAILURE - CANNOT USE 2-JET VALUES
066564,001017: 20,3756 54157 TS ANET # ANET = AMIN
066565,001018: 20,3757 13526 TCF STMIN- -1 # CALCULATE FUNCTIONS USING AMIN
066566,001019: 20,3760 30001 CA L # L HAS ACCFUN
066567,001020: 20,3761 13527 TCF STMIN- # STORE MAX VALUES FOR MIN JETS
066568,001021:
066569,001022: # ERASABLE ASSIGNMENTS FOR 1/ACCONT
066570,001023:
066571,001024: 20,3762 E6,1551 1/ANETP EQUALS BLOCKTOP +2
066572,001025: 20,3762 E6,1553 1/ACOSTP EQUALS BLOCKTOP +4
066573,001026: 20,3762 E6,1557 PACCFUN EQUALS BLOCKTOP +8D
066574,001027: 20,3762 E6,1561 PDB1 EQUALS BLOCKTOP +10D
066575,001028: 20,3762 E6,1562 PDB2 EQUALS BLOCKTOP +11D
066576,001029: 20,3762 E6,1563 PDB4 EQUALS BLOCKTOP +12D
066577,001030: 20,3762 E6,1564 PDB3 EQUALS BLOCKTOP +13D
066578,001031: 20,3762 E6,1565 PAXDIST EQUALS BLOCKTOP +14D
066579,001032:
066580,001033: 20,3762 0122 ACCSW EQUALS VBUF # EXECUTIVE TEMPORARIES
066581,001034: # CANNOT DO CCS NEWJOB DURING 1/ACCS
066582,001035: 20,3762 0123 1/ATEM1 EQUALS ACCSW +1 # TEMP BUFFER FOR U AND V AXES
066583,001036: 20,3762 0124 1/ATEM2 EQUALS 1/ATEM1 +1
066584,001037: 20,3762 0127 1/ACOSTT EQUALS 1/ATEM1 +4
066585,001038: 20,3762 0131 Z1TEM EQUALS 1/ATEM1 +6
066586,001039: 20,3762 0132 Z5TEM EQUALS 1/ATEM1 +7
066587,001040:
066588,001041: 20,3762 0135 UDB1 EQUALS 1/ATEM1 +10D # UAXIS DEADBAND BUFFER
066589,001042: 20,3762 0136 UDB2 EQUALS 1/ATEM1 +11D
066590,001043: 20,3762 0137 UDB4 EQUALS 1/ATEM1 +12D
066591,001044: 20,3762 0140 UDB3 EQUALS 1/ATEM1 +13D
066592,001045: 20,3762 0141 UAXDIST EQUALS 1/ATEM1 +14D
066593,001046:
066594,001047: 20,3762 0143 DBB1 EQUALS 1/ATEM1 +16D # TEMP DEADBAND BUFFER, ALSO V AXIS
066595,001048: 20,3762 0144 DBB2 EQUALS 1/ATEM1 +17D
066596,001049: 20,3762 0145 DBB4 EQUALS 1/ATEM1 +18D
066597,001050: 20,3762 0146 DBB3 EQUALS 1/ATEM1 +19D
066598,001051: 20,3762 0147 AXDSTEM EQUALS 1/ATEM1 +20D
066599,001052:
![]() |
Page 1506 |
066601,001054: 20,3762 0151 FLATEMP EQUALS 1/ATEM1 +22D
066602,001055: 20,3762 0152 Z3TEM EQUALS 1/ATEM1 +23D # MUST FOLLOW FLATEMP
066603,001056:
066604,001057: 20,3762 1346 DBVAL1 EQUALS DB
066605,001058: 20,3762 0114 DBVAL2 EQUALS INTB15+
066606,001059: 20,3762 0115 DBVAL3 EQUALS INTB15+ +1
066607,001060:
066608,001061: 20,3762 0116 DRIFTER EQUALS INTB15+ +2
066609,001062:
066610,001063: 20,3762 0154 UV EQUALS MPAC
066611,001064: 20,3762 0157 ANET EQUALS MPAC +3
066612,001065: 20,3762 0157 FUNTEM EQUALS MPAC +3
066613,001066: 20,3762 0160 1/ANET EQUALS MPAC +4
066614,001067: 20,3762 0161 ARET EQUALS MPAC +5
066615,001068: 20,3762 0162 ABSAOS EQUALS MPAC +6
066616,001069: 20,3762 0163 SIGNAOS EQUALS MPAC +7
066617,001070: 20,3762 0164 -SIGNAOS EQUALS MPAC +8D
066618,001071: 20,3762 0165 HOLD EQUALS MPAC +9D
066619,001072: 20,3762 0117 ACCRETRN EQUALS FIXLOC -1
066620,001073:
066621,001074: 20,3762 00110 ZONE3MAX DEC .004375 # 17.5 MS (35 MS FOR 1 JET) AT 4 SECONDS
066622,001075: 20,3763 00443 FLATVAL DEC .01778 # .8 AT PI/4 RAD
066623,001076: 20,3764 77377 -.03R/S2 OCT 77377 # -PI/2(7) AT PI/2
066624,001077:
066625,001078: 20,3765 4744 .0125RS EQUALS BIT8 # PI/2(+8) AT PI/2
066626,001079: 20,3765 4733 1/.03 EQUALS POSMAX # 2(7)/PI AT 2(7)/PI
066627,001080:
066628,001081: 20,3765 02213 PAXISADR GENADR PAXIS
066629,001082:
066630,001083: # THE FOLLOWING 4 CONSTANTS ARE JET
066631,001084: # FAILURE MASKS AND ARE INDEXED
066632,001085: 20,3766 00110 -UMASK OCT 00110 # -U
066633,001086: 20,3767 00022 OCT 00022 # -V
066634,001087: 20,3770 00204 +UMASK OCT 00204 # +U
066635,001088: 20,3771 00041 OCT 00041 # +V
066636,001089:
End of include-file AOSTASK_AND_AOSJOB.agc. Parent file is MAIN.agc