# Copyright: Public domain. # Filename: T4RUPT_PROGRAM.agc # Purpose: Part of the source code for Luminary 1A build 099. # It is part of the source code for the Lunar Module's (LM) # Apollo Guidance Computer (AGC), for Apollo 11. # Assembler: yaYUL # Contact: Hartmuth Gutsche <hgutsche@xplornet.com>. # Website: www.ibiblio.org/apollo. # Pages: 155-189 # Mod history: 2009-05-19 HG Transcribed from page images. # 2010-12-31 JL Fixed page number comment. # 2011-01-06 JL Fixed indentation of TNONTEST. Fixed pseudo-label indentation. # # This source code has been transcribed or otherwise adapted from # digitized images of a hardcopy from the MIT Museum. The digitization # was performed by Paul Fjeld, and arranged for by Deborah Douglas of # the Museum. Many thanks to both. The images (with suitable reduction # in storage size and consequent reduction in image quality as well) are # available online at www.ibiblio.org/apollo. If for some reason you # find that the images are illegible, contact me at info@sandroid.org # about getting access to the (much) higher-quality images which Paul # actually created. # # Notations on the hardcopy document read, in part: # # Assemble revision 001 of AGC program LMY99 by NASA 2021112-061 # 16:27 JULY 14, 1969 # Page 155 BANK12 SETLOC T4RUP BANK
EBANK= M11 COUNT* $$/T4RPT
T4RUPT TS BANKRUPT
EXTEND QXCH QRUPT
CCS DSRUPTSW # GOES 7(-1)0 AROUND AND AROUND TCF NORMT4 +1 TCF NORMT4
TCF QUIKDSP
NORMT4 CAF SEVEN TS RUPTREG1 TS DSRUPTSW
BLOCK 02 SETLOC FFTAG10 BANK
COUNT* $$/T4RPT 100MRUPT = OCT37766 # (DEC 16374) # RELTAB IS A PACKED TABLE. RELAYWORD CODE IN UPPER 4 BITS, RELAY CODE # IN LOWER 5 BITS.
DSPOUTSB TS NOUT CS ZERO TS DSRUPTEM # SET TO -0 FOR 1ST PASS THRU DSPTAB XCH DSPCNT AD NEG0 # TO PREVENT +0 TS DSPCNT
DSPSCAN INDEX DSPCNT CCS DSPTAB CCS DSPCNT # IF DSPTAB ENTRY +, SKIP TCF DSPSCAN -2# IF DSPCNT +, TRY AGAIN TCF DSPLAY # IF DSPTAB ENTRY -, DISPLAY
TABLNTH OCT12# DEC 10, LENGTH OF DSPTAB CCS DSRUPTEM # IF DSRUPTEM=+0, 2ND PASS THRU DSPTAB 120MRUPT DEC16372# (DSPCNT = 0). +0 INTO NOUT. TS NOUT TC Q TS DSRUPTEM # IF DSRUPTEM=-0, 1ST PASS THRU DSPTAB CAF TABLNTH # (DSPCNT=0).+0 INTO DSRUPTEM. PASS AGAIN TCF DSPSCAN -1
DSPLAY AD ONE INDEX DSPCNT TS DSPTAB # REPLACE POSITIVELY MASK LOW11 # REMOVE BITS 12 TO 15 TS DSRUPTEM CAF HI5 INDEX DSPCNT MASK RELTAB # PICK UP BITS 12 TO 15 OF RELTAB ENTRY AD DSRUPTEM EXTEND WRITE OUT0
TCF Q+1
DSPOUT CCS FLAGWRD5 # IS DSKY FLAG ON CAF ZERO # NO TCF NODSPOUT # NO CCS NOUT # YES TC DSPOUTSB TCF NODSPOUT # NO DISPLAY REQUESTS
HANG20 CS14,11,9 ADS DSRUPTSW
CAF20MRUPT
SETTIME4 TS TIME4
# Page 158 # THE STATUS OF THE PROCEED PUSHBUTTON IS MONITORED EVERY 120 MILLISECONDS VIA THE CHANNEL 32 BIT 14 INBIT. # THE STATE OF THIS INBIT IS COMPARED WITH ITS STATE DURING THE PREVIOUS T4RUPT AND IS PROCESSED AS FOLLOWS. # IF PREV ON AND NOW ON -- BYPASS. # IF PREV ON AND NOW OFF -- UPDATE IMODES33. # IF PREV OFF AND NOW ON -- UPDATE IMODES33 AND PROCESS VIA PINBALL. # IF PREV OFF AND NOW OFF -- BYPASS. # THE LOGIC EMPLOYED REQUIRES ONLY 9 MCT (APPROX. 108 MICROSECONDS) OF COMPUTER TIME WHEN NO CHANGES OCCUR.
PROCEEDE CA IMODES33 # MONITOR FOR PROCEED BUTTON EXTEND
RXOR CHAN32 MASK BIT14 EXTEND BZF T4JUMP # NO CHANGE
LXCH IMODES33 EXTEND
RXOR LCHAN TS IMODES33 # UPDATE IMODES33 MASK BIT14 CCS A TCF T4JUMP # WAS ON -- NOW OFF
CAF CHRPRIO # WAS OFF -- NOW ON TC NOVAC EBANK= DSPCOUNT 2CADR PROCKEY
# Page 159 # JUMP TO APPROPRIATE ONCE-PER SECOND (0.96 SEC ACTUALLY) ACTIVITY
QUIKOFF EXTEND WRITE OUT0 CAF BIT14 # RESET DSRUPTSW TO SEND DISPLAY NEXT PASS TCF QUIKRUPT
14,11,9OCT22400
# Page 161 # PROGRAM NAME: IMUMON
# FUNCTIONAL DESCRIPTION: THIS PROGRAM IS ENTERED EVERY 480 MS. IT DETECTS CHANGES OF THE IMU STATUS BITS IN # CHANNEL 30 AND CALLS THE APPROPRIATE SUBROUTINES. THE BITS PROCESSED AND THEIR RELEVANT SUROUTINES ARE:
# FUNCTION BIT SUBROUTINE CALLED # -------- --- ----------------- # TEMP IN LIMITS 15 TLIM # ISS TURN-ON REQUEST 14 ITURNON # IMU FAIL 13 IMUFAIL (SETISSW) # IMU CDU FAIL 12 ICDUFAIL (SETISSW) # IMU CAGE 11 IMUCAGE # IMU OPERATE 9 IMUOP
# THE LAST SAMPLED STATE OF THESE BITS IS LEFT IN IMODES30. ALSO, EACH SUBROUTINE CALLED FINDS THE NEW # VALUE OF THE BIT IN A, WITH Q SET TO THE PROPER RETURN LOCATION NXTIFAIL.
# CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS.
# ERASABELE INITIALIZATION: # FRESH START OR RESTART WITH NO GROUPS ACTIVE: C((MODES30) = OCT 37411). # RESTART WITH ACTIVE GROUPS: C(IMODES30) = (B(IMODES30)AND(OCT 00035)) PLUS OCT 37400. # THIS LEAVES IMU FAIL BITS INTACT.
# ALARMS: NONE.
# EXIT: TNONTEST.
# OUTPUT: UPDATED IMODES30 WITH CHANGES PROCESSED BY APPROPRIATE SUBROUTINE.
IMUMON CA IMODES30 # SEE IF THERE HAS BEEN A CHANGE IN THE EXTEND# RELEVANT BITS OF CHAN 30.
RXOR CHAN30 MASK30RDMSK EXTEND BZF TNONTEST # NO CHANGE IN STATUS
TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED. LXCH IMODES30 # UPDATE IMODES30. EXTEND
RXOR LCHAN TS IMODES30
CS ONE XCH RUPTREG1 EXTEND # Page 162 BZMF TLIM # CHANGE IN IMU TEMP. TCF NXTIFBIT # BEGIN BIT SCAN.
-1AD ONE # (RE-ENTERS HERE FROM NXTIFAIL.)
NXTIFBIT INCR RUPTREG1 # ADVANCE BIT POSITION NUMBER.
+1DOUBLE TS A # SKIP IF OVERFLOW. TCF NXTIFBIT # LOOK FOR BIT.
XCH RUPTREG2 # SAVE OVERFLOW-CORRECTED DATA. INDEX RUPTREG1 # SELECT NEW VALUE OF THIS BIT. CAF BIT14 MASK IMODES30 INDEX RUPTREG1 TC IFAILJMP
NXTIFAIL CCS RUPTREG2 # PROCESS ANY ADDITIONAL CHANGES. TCF NXTIFBIT -1
# Page 163 # PROGRAM NAME: TNONTEST.
# FUNCTIONAL DESCRIPTION: THIS PROGRAM HONORS REQUESTS FOR ISS INITIALIZATION. ISS TURN-ON (CHANNEL 30 BIT 14) # AND ISS OPERATE (CHANNEL 30 BIT 9) REQUESTS ARE TREATED AS A PAIR AND PROCESSING TAKES PLACE .480 SECONDS # AFTER EITHER ONE APPEARS. THIS INITIALIZATION TAKES ON ONE OF THE FOLLOWING THREE FORMS:
# 1) ISS TURN-ON: IN THIS SITUATION THE COMPUTER IS OPERATING WHEN THE ISS IS TURNED ON. NOMINALLY, # BOTH ISS TURN-ON AND ISS OPERATE APPEAR. THE PLATFORM IS CAGED FOR 90 SECONDS AND THE ICDU'S ZEROED # SO THAT AT THE END OF THE PROCESS THE GIMBAL LOCK MONITOR WILL FUNCTION PROPERLY.
# 2) ICDU INITIALIZATION: IN THIS CASE THE COMPUTER WAS PROBABLY TURNED ON WITH THE ISS IN OPERATE OR # A FRESH START WAS DONE WIT THE ISS IN OPERATE. IN THIS CASE ONLY ISS OPERATE IS ON. THE ICDU'S ARE # ZEROED SO THE GIMBAL LOCK MONITOR WILL FUNCTION. AN EXCEPTION IS IF THE ISS IS IN GIMBAL LOCK AFTER # A RESTART, THE ICDU'S WILL NOT BE ZEROED.
# 3) RESTART WITH RESTARTABLE PROGRAM USING THE IMU: IN THIS CASE, NO INITIALIZATION TAKES PLACE SINCE # IT IS ASSUMED THT THE USING PROGRAM DID THE INITIALIZATION AND THEREFORE T4RUPT SHOULD NOT INTERFERE.
# IMODES30 BIT 7 IS SET = 1 BY THE FIRST BIT (CHANNEL 30 BIT 14 OR 9) WHICH ARRIVES. FOLLOWING THIS, TNONTEST IS # ENTERED, FINDS BIT 7 = 1 BUT BIT 8 = 0, SO IT SETS BIT 8 = 1 AND EXITS. THE NEXT TIME IT FINDS BIT 8 = 1 AND # PROCEEDS, SETTING BITS 8 AND 7 = 0. AT PROCTNON, IF ISS TURN-ON REQUEST IS PRESENT, THE ISS IS CAGED (ZERO + # COARSE). IF ISS OPERATE IS NOT PRESENT PROGRAM ALARM 00213 IS ISSUED. AT THE END OF A 90 SECOND CAGE, BIT 2 # OF IMODES30 IS TESTED. IF IT IS = 1, ISS TURN-ON WAS NOT PRESENT FOR THE ENTIRE 90 SECONDS. IN THAT CASE, IF # THE ISS TURN-ON REQUEST IS PRESENT TEH 90 SECOD WAIT IS REPEATED. OTHERWISE NO ACTION OCURS UNLESS A PROGRAM # WAS WAITING FOR THE INITIALIZATION IN WHIC CASE TH PROGRAM IS GIVEN AN IMUSTALL ERROR RETURN. IF THE DELAY # WENT PROPERLY, THE ISS DELAY OUTBIT IS SENT AND THE ICDU'S ZEROED. A TASK IS INITIATED TO REMOVE THE PIPA FAIL # INHIBIT BIT IN 10.24 SECONDS. IF A MISSION PROGRAM WAS WAITING IT IS INFORMED VIA ENDIMU.
# AT PROCTNON, IF ONLY ISS OPERATE IS PRESENT (OPONLY), THE CDU'S ARE ZEROED UNLESS THE PLATFORM IS IN COARSE # ALIGN (= GIMBAL LOCK HERE) OR A MISSIN PROGRAM IS USING THE IMU (INUSEFLG = 1).
# CALLING SEQUENCE: T4RUPT EVERY 480 MILLISECONDS AFTER IMUMON.
# JOBS OR TASKS INITIATED: 1) ENDTNON, 90 SECONDS AFER CAGING STARTED. 2) ISSUP, 4 SECONDS AFTER CAGING DONE. # 3) PFAILOK, 10.24 SECONDS AFTER INITIALIZATION COMPLETED. 4) UNZ2, 320 MILLISECONDS AFTER ZEROING # STARTED.
# ALARMS: PROGRAM ALARM 00213 IF ISS TURN-ON REQUESTED WITHOUT ISS OPERATE.
# EXIT: ENDTNON EXITS TO C33TEST. TASKS HAVING TO DO WITH INITIALIZATION EXIT AS FOLLOWS: MISSION PROGRAM # WAITING AND INITIALIZATION COMPLETE, EXIT TO ENDIMU, MISSION PROGRAM WAITING AND INITIALIZATION FAILED, EXIT TO # IMUBAD, IMU NOT IN USE, EXIT TO TASKOVER.
# OUTPUT: ISS INITIALIZED.
TNONTEST CS IMODES30 # AFTER PROCESSING ALL CHANGES, SEE IF IT # Page 164 MASK BIT7 # IS TIME TO ACT ON A TURN-ON SEQUENCE. CCS A TCF C33TEST # NO -- EXAMINE CHANNEL 33.
CAF BIT8 # SEE IF FIRST SAMPLE OR SECOND. MASK IMODES30 CCS A TCF PROCTNON # REACT AFTER A SECOND SAMPLE.
CAF BIT8 # IF FIRST SAMPLE, SET BIT TO REACT NEXT ADS IMODES30 # TIME. TCF C33TEST
# PROCESS IMU TURN-ON REQUESTS AFTER WAITING 1 SAMPLE FOR ALL SIGNALS TO ARRIVE.
PROCTNON CS BITS7&8 MASK IMODES30 TS IMODES30 MASK BIT14 # SEE IF TURN-ON REQUEST. CCS A TCF OPONLY # OPERATE ON ONLY.
CS IMODES30 # IF TURN-ON REQUEST, WE SHOUD HAVE IMU MASK BIT9 # OPERATE. CCS A TCF +3
CS FLAGWRD2 # TEST DRIFTFLG: IF ON DO NOTHING BECAUSE MASK DRFTBIT # IMUCOMP SHOUD BE ALL SET UP (RESTART EXTEND# WITH IMUSE DOWN). IF OFF, SET DRIFTFLG BZF +4# AND 1/PIPADT TO GET FREEFALL IMUCOMP ADS FLAGWRD2 # GOING (FRESH START OR ISS TURN-ON). CA TIME1 XCH1/PIPADT # CANNOT GET HERE IF RESTART WITH IMUSE UP
TC SETISSW # ISS WARNING MIGHT HAVE BEEN INHIBITED.
CAF4SECS # DON'T ENABLE PROG ALARM ON PIP FAIL FOR # Page 166 TC WAITLIST # ANOTHER 4 SECS. EBANK= CDUIND 2CADR PFAILOK
TCF TASKOVER
OPONLY CAF BIT4 # IF OPERATE ON ONLY, AND WE ARE IN COARSE EXTEND# ALIGN, DON'T ZERO THE CDUS BECAUSE WE
RAND CHAN12 # MIGHT BE IN GIMBAL LOCK. CCS A TCF C33TEST
CAF IMUSEBIT # OTHERWISE, ZERO THE COUNTERS. MASK FLAGWRD0 # UNLESS SOMEONE IS USING TH IMU. CCS A TCF C33TEST
TC CAGESUB2 # SET TURNON FLAGS.
ISSZERO TC IBNKCALL # TURN OFF NO ATT LAMP. CADR NOATTOFF # IMU CAGE OFF ENTRY.
CAF BIT5 # ISS CDU ZERO EXTEND WOR CHAN12
TC ZEROICDU CAF BIT6 # WAIT 300 MS. FOR AGS TO RECEIVE SIGNAL. TC WAITLIST EBANK= M11 2CADR UNZ2
TCF C33TEST
# Page 167 # PROGRAM NAME: C33TEST # # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THREE FLIP-FLOP INBITS OF CHANNEL 33 AND CALLS THE APPROPRIATE # SUBROUTINE TO PROCESS A CHANGE. IT IS ANALOGOUS TO IMUMON, WHICH MONITORS CHANNEL 30, EXCEPT THAT IT READS # CHANNEL 33 WITH A WAND INSTRUCTION BECAUSE A `WRITE' PULSE IS REQUIRED TO RESET THE FLIP-FLOPS. THE BITS # PROCESSED AND THE SUBROUTINES CALLED ARE: # BIT FUNCTION SUBROUTINE # --- -------- ---------- # 13 PIPA FAIL PIPFAIL # 12 DOWNLINK TOO FAST DNTMFAST # 11 UPLINK TOO FAST UPTMFAST # # UPON ENTRY TO THE SUBROUTINE, THE NEW BIT STATE IS IN A. # # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER TNONTEST. # # JOBS OR TASKS INITIATED: NONE. # # SUBROUTINES CALLED: PIPFAIL, DNTMFAST AND UPTMFAST ON BIT CHANGES. # # ERASABLE INITIALIZATION: C(IMODES33) = OCT 16000 ON A FRESH START OR RESTART, THEREFORE, THESE ALARMS WILL # REAPPEAR IF THE CONDITIONS PERSIST. # # ALARMS: NONE. # # EXIT: GLOCKMON. # # OUTPUT: UPDATED BITS 13, 12, AND 11 OF IMODES33 WITH CHANGES PROCESSED.
C33TEST CA IMODES33 # SEE IF RELEVANT CHAN33 BITS HAVE MASK33RDMSK TS L # CHANGED. CAF33RDMSK EXTEND WAND CHAN33 # RESETS FLIP-FLOP INPUTS EXTEND
RXOR LCHAN EXTEND BZF GLOCKMON # ON NO CHANGE.
TS RUPTREG1 # SAVE BITS WHICH HAVE CHANGED. LXCH IMODES33 EXTEND
RXOR LCHAN TS IMODES33 # UPDATED IMODES33.
CAF ZERO XCH RUPTREG1 DOUBLE # Page 168 TCF NXTIBT +1# SCAN FOR BIT CHANGES.
-1AD ONE
NXTIBT INCR RUPTREG1
+1DOUBLE TS A # (CODING IDENTICAL TO CHAN 30). TCF NXTIBT
XCH RUPTREG2 INDEX RUPTREG1 # GET NEW VALUE OF BIT WHICH CHANGED. CAF BIT13 MASK IMODES33 INDEX RUPTREG1 TC C33JMP
NXTFL33 CCS RUPTREG2 # PROCESS POSSIBLE ADDITIONAL CHANGES. TCF NXTIBT -1
# Page 169 # PROGRAM NAME: GLOCKMON # # FUNCTIONAL DESCRIPTION: THIS PROGRAM MONITORS THE CDUZ COUNTER TO DETERMINE WHETHER THE ISS IS IN GIMBAL LOCK # AND TAKES ACTION IF IT IS. THREE REGIONS OF MIDDLE GIMBAL ANGLE (MGA) ARE USED: # # 1) ABS(MGA) LESS THAN OR EQUAL TO 70 DEGREES -- NORMAL MODE. # 2) ABS(MGA) GREATER THAN 70 DEGREES AND LESS THAN OR EQUAL TO 85 DEGREES -- GIMBAL LOCK LAMP TURNED ON. # 3) ABS(MGA) GREATER THAN 85 DEGREES -- ISS PUT IN COARSE ALIGN AND NO ATT LAMP TURNED ON. # # CALLING SEQUENCE: EVERY 480 MILLISECONDS AFTER C33TEST. # # JOBS OR TASKS INITIATED: NONE. # # SUBROUTINES CALLED: 1) SETCOARS WHEN ABS(MGA) GREATER THEN 85 DEGREES AND ISS NOT IN COARSE ALIGN. # 2) LAMPTEST BEFORE TURNING OFF GIMBAL LOCK LAMP. # # ERASABLE INITIALIZATION: # 1) FRESH START OR RESTART WITH NO GROUPS ACTIVE: C(CDUZ) = 0, IMODES30 BIT 6 = 0, IMODES33 BIT 1 = 0. # 2) RESTART WTIH GROUPS ACTIVE: SAME AS FRESH START EXCEPT C(CDUZ) NOT CHANGED SO GIMBAL MONITOR # PROCEEDS AS BEFORE. # # ALARMS: 1) MGA REGION (2) CAUSES GIMBAL LOCK LAMP TO BE LIT. # 2) MGA REGION (3) CAUSES THE ISS TO BE PUT IN COARSE ALIGN AND THE NO ATT LAMP TO BE LIT IF EITHER NOT # SO ALREADY.
GLOCKMON CCS CDUZ TCF GLOCKCHK # SEE IF MAGNITUDE OF MGA IS GREATER THAN TCF SETGLOCK # 70 DEGREES. TCF GLOCKCHK TCF SETGLOCK
GLOCKCHK AD -70DEGS EXTEND BZMF SETGLOCK -1# NO LOCK.
AD -15DEGS # SEE IF ABS(MGA) GREATER THAN 85 DEGREES EXTEND BZMF NOGIMRUN
CAF BIT4 # IF SO, SYSTEM SHOULD BE IN COARSE ALIGN EXTEND# TO PREVENT GIMBAL RUNAWAY.
RAND CHAN12 CCS A TCF NOGIMRUN
TC IBNKCALL CADR SETCOARS
CAF SIX # ENABLE ISS ERROR COUNTERS IN 60 MS. TC WAITLIST # Page 170 EBANK= CDUIND 2CADRCA+ECE
-1CAF ZERO
SETGLOCK AD DSPTAB +11D # SEE IF PRESENT STATE OF GIMBAL LOCK LAMP MASK BIT6 # AGREES WITH DESIRED STATE BY HALF ADDING EXTEND# THE TWO. BZF GLOCKOK # OK AS IS.
MASK DSPTAB +11D # IF OFF, DON'T TURN ON IF IMU BEING CAGED. CCS A TCF GLAMPTST # TURN OFF UNLESS LAMP TEST IN PROGRESS.
CAF BIT6 MASK IMODES30 CCS A TCF GLOCKOK
GLINVERT CS DSPTAB +11D # INVERT GIMBAL LOCK LAMP. MASK BIT6 AD BIT15 # TO INDICATE CHANGE IN DSPTAB +11D. XCH DSPTAB +11D MASK OCT37737 ADS DSPTAB +11D TCF GLOCKOK
GLAMPTST TC LAMPTEST # TURN OFF UNLESS LAMP TEST IN PROGRESS. TCF GLOCKOK TCF GLINVERT
-70DEGS DEC -.38888# -70 DEGREES SCALED IN HALF-REVOLUTIONS.
-15DEGS DEC -.08333
# Page 171 # PROGRAM NAME: TLIM. # # FUNCTIONAL DESCRIPTION: THIS PROGRAM MAINTAINS THE TEMP LAMP (BIT 4 OF CHANNEL 11) ON THE DSKY TO AGREE WITH # THE TEMP SIGNAL FROM THE ISS (BIT 15 OF CHANNEL 30). HOWEVER, THE LIGHT WILL NOT BE TURNED OFF IF A LAMP TEST # IS IN PROGRESS. # # CALLING SEQUENCE: CALLED BY IMUMON ON A CHANGE OF BIT 15 OF CHANNEL 30. # # JOBS OR TASKS INITIATED: NON. # # SUBROUTINES CALLED: LAMPTEST. # # ERASABLE INITIALIZATION: FRESH START AND RESTART TURN THE TEMP LAMP OFF. # # ALARMS: TEMP LAMP TURNED ON WHEN THE IMU TEMP GOES OUT OF LIMITS. # # EXIT: NXTIFAIL. # # OUTPUT: SERVICE OF TEMP LAMP. IN A, EXCEPT FOR TLIM.
TLIM MASK POSMAX # REMOVE BIT FROM WORD OF CHANGES AND SET TS RUPTREG2 # DSKY TEMP LAMP ACCORDINGLY.
# Page 172 # PROGRAM NAME: ITURNON. # # FUNCTIONAL DESCRIPTION: THIS PROGRAM IS CALLED BY IMUMON WHEN A CHANGE OF BIT 14 OF CHANNEL 30 (ISS TURN-ON # REQUEST) IS DETECTED. UPON ENTRY, ITURNON CHECKS IF A TURN-ON DELAY SEQUENCE HAS FAILED, AND IF SO, IT EXITS. # IF NOT, IT CHECKS WHETHER THE TURN-ON REQUEST CHANGE IS TO ON OR OFF. IF ON, IT SETS BIT7 OF IMODES30 TO 1 SO # THAT TNONTEST WILL INITIATE THE ISS INITIALIZATION SEQUENCE. IF OFF, THE TURN-ON DELAY SIGNAL, CHANNEL 12 BIT # 15, IS CHECKED AND IF IT IS ON, ITURNON EXITS. IF THE DEALY SIGNAL IS OFF, PROGRAM ALARM 00207 IS ISSUED, BIT 2 # OF IMODES30 IS SET TO 1 AND THE PROGRAM EXITS. # # THE SETTING OF BIT 2 OF IMODES30 (ISS DELAY SEQUENCE FAIL) INHIBITS THIS ROUTINE AND IMUOP FROM # PROCESSING ANY CHANGES. THIS BIT WILL BE RESET BY THE ENDTNON ROUTINE WHEN THE CURRENT 90 SECOND DELAY PERIOD # ENDS. # # CALLING SEQUENCE: FROM IMUMON WHEN ISS TURN-ON REQUEST CHANGES STATE. # # JOBS OR TASKS INITITIATED: NONE. # # SUBROUTINES CALLED: ALARM, IF THE ISS TURN-ON REQUEST IS NOT PRESENT FOR 90 SECONDS. # # ERASABLE INITIALIZATION: FRESH START AND RESTART SET BIT 15 OF CHANNEL 12 AND BITS 2 AND 7 OF IMODES30 TO 0, # AND BIT 14 OF IMODES30 TO 1. # # ALARMS: PROGRAM ALARM 00207 IS ISSUED IF THE ISS TURN-ON REQUEST SIGNAL IS NOT PRESENT FOR 90 SECONDS. # # EXIT: NXTIFAIL. # # OUTPUT: BIT 7 OF IMODES30 TO START ISS INITIALIZATION, OR BIT 2 OF IMODES30 AND PROGRAM ALARM 00207 TO INDICATE # A FAILED TURN-ON SEQUENCE.
ITURNON CAF BIT2 # IF DELAY REQUEST HAS GONE OFF MASK IMODES30 # PREMATURELY, DO NOT PROCESS ANY CHANGES CCS A # UNTIL THE CURRENT 90 SEC WAIT EXPIRES. TCF NXTIFAIL
CAF BIT14 # SEE IF JUST ON OR OFF. MASK IMODES30 EXTEND BZF ITURNON2 # IF JUST ON.
CAF BIT15 EXTEND# SEE IF DELAY PRESENT DISCRETE HAS BEEN
RAND CHAN12 # SENT. IF SO, ACTION COMPLETE EXTEND BZF +2 TCF NXTIFAIL
CAF BIT2 # IF NOT, SET BIT TO INDICATE REQUEST NOT ADS IMODES30 # PRESENT FOR FULL DURATION. TC ALARM OCT207 TCF NXTIFAIL
# Page 173
ITURNON2 CS IMODES30 # SET BIT7 TO INDICATE WAIT OF 1 SAMPLE MASK BIT7 ADS IMODES30 CAF RRINIT TS RADMODES TCF NXTIFAIL
RRINIT OCT00102
# Page 174 # PROGRAM NAME: IMUCAGE. # # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF THE IMUCAGE INBIT, CHANNEL 30 BITS 11. IF THE BIT # CHANGES TO 0 (CAGE BUTTON PRESSED), THE ISS IS CAGED (ICDU ZERO + COARSE ALIGN + NO ATT LAMP) UNTIL THE # ASTRONAUT SELECTS ANOTHER PROGRAM TO ALIGN THE ISS. ANY PULSE TRAINS TO THE ICDU'S AND GYRO'S ARE TERMINATED, # THE ASSOCIATE OUTCOUNTERS ARE ZEROED AND THE GYRO'S ARE DE-SELECTED. NO ACTION OCCURS WHEN THE BUTTON IS # RELEASED (INBIT CHANGES TO 1). # # CALLING SEQUENCE: BY IMUMON WHEN IMU CAGE BIT CHANGES. # # JOBS OR TASKS INITIATED: NONE. # # SUBROUTINES CALLED: CAGESUB. # # ERASABLE INITIALZATION: FRESH START AND RESTART SET BIT 11 OF IMODES30 TO 1. # # ALARMS: NONE. # # EXIT: NXTIFAIL. # # OUTPUT: ISS CAGED, COUNTERS ZEROED, PULSE TRAINS TERMINATED AND NO ATT LAMP LIT.
IMUCAGE CCS A # NO ACTION OF GOING OFF. TCF ISSZERO CS OCT77000 # TERMINATE ICDU, RCDU, GYRO PULSE TRAINS EXTEND WAND CHAN14
CS OCT740 # HAVING WAITED AT LEAST 27 MCT FROM EXTEND# GYRO PULSE TRAIN TERMINATION, WE CAN WAND CHAN14 # DE-SELECT THE GYROS. TCF NXTIFAIL
# Page 176 # PROGRAM NAME: IMUOP. # # FUNCTIONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES IN THE ISS OPERATE DISCRETE, BIT 9 OF CHANNEL 30. # IF THE INBIT CHANGES TO 0, INDICATING ISS ON, IMUOP GENERALLY SETS BIT 7 OF IMODES30 TO 1 TO REQUEST ISS # INITIALIZATION VIA TNONTEST. AN EXCEPTION IS DURING A FAILED ISS DELAY DURING WHICH BIT 2 OF IMODES30 IS SET # TO 1 AND NO FURTHER INITIALIZATION IS REQUIRED. WHEN THE INBIT CHANGES TO 1, INDICATING ISS OFF, IMUSEFLG IS # TESTED TO SEE IF ANY PROGRAM WAS USING THE ISS. IF SO, PROGRAM ALARM 00214 IS ISSUED. # # CALLING SEQUENCE: BY IMUMON WHEN BIT 9 OF CHANNEL 30 CHANGES. # # JOBS OR TAKS INITIATED: NONE. # # SUBROUTINES CALLED: ALARM, IF ISS IS TURNED OFF WHILE IN USE. # # ERASABLE INITIALIZATION: ON FRESH START AND RESTART, BIT 9 OF IMODES30 IS SET TO 1 EXCEPT WHEN THE GIMBAL LOCK # LAMP IS ON, IN WHICH CASE IT IS SET TO 0. THIS PREVENTS ICDU ZERO BY TNONTEST WITH THE ISS IN GIMBAL LOCK. # # ALARMS: PROGRAM ALARM 00214 IF THE ISS IS TURNED OFF WHILE IN USE. # # EXIT: NXTIFAIL. # # OUTPUT: ISS INITIALIZATION REQUEST (IMODES30 BIT 7) OR PROGRAM ALARM 00214.
CS BITS7&8# KNOCK DOWN RENDEZVOUS, IMUUSE FLAGS MASK FLAGWRD0 XCH FLAGWRD0 # IF GOING OFF, ALARM IF PROG USING IMU.
COM MASK IMUSEFLG CCS A TCF NXTIFAIL
TC ALARM OCT214 TCF NXTIFAIL
IMUOP2 CAF BIT2 # SEE IF FAILED ISS TURN-ON SEQ IN PROG. MASK IMODES30 CCS A TCF NXTIFAIL # IF SO, DON'T PROCESS UNTIL PRESENT 90 TCF ITURNON2 # SECONDS EXPIRES.
# Page 177 # PROGRAM NAME: PIPFAIL # # FUNCITONAL DESCRIPTION: THIS PROGRAM PROCESSES CHANGES OF BIT 13 OF CHANNEL 33, PIPA FAIL. IT SETS BIT 10 OF # IMODES30 TO AGREE. IT CALLS SETISSW IN CASE A PIPA FAIL NECESSITATES AN ISS WARNING. IF NOT, I.E., IMODES30 # BIT 1 = 1, AND A PIPA FAIL IS PRESENT AND THE ISS NOT BEING INITIALIZED, PROGRAM ALARM 0212 IS ISSUED. # # CALLING SEQUENCE: BY C33TEST ON CHANGES OF CHANNEL 33 BIT 13. # # JOBS OR TASKS INITIATED: NONE. # # SUBROUTINES CALLED: 1) SETISSW, AND 2) ALARM (SEE FUNCITONAL DESCRIPTION). # # ERASABLE INITIALZIZATION: SEE IMUMON FOR INITIALIZATION OF IMODES30. THE RELEVANT BITS ARE 5, 7, 8, 9, AND 10. # # ALARMS: PROGRAM ALARM 00212 IF PIPA FAIL IS PRESENT BUT NEITHER ISS WARNING IS TO BE ISSUED NOR THE ISS IS # BEING INITIALIZED. # # EXIT: NXTFL33. # # OUTPUT: PROGRAM ALARM 00212 AND ISS WARNING MAINTENANCE.
PIPFAIL CCS A # SET BIT10 IN IMODES30 SO ALL ISS WARNING CAF BIT10 # INFO IS IN ONE REGISTER. XCH IMODES30 MASK -BIT10 ADS IMODES30
TC SETISSW
CS IMODES30 # IF PIP FAIL DOESN'T LIGHT ISS WARNING, DO MASK BIT1 # A PROGRAM ALARM IF IMU OPERATING BUT NOT CCS A # CAGED OR BEING TURNED ON. TCF NXTFL33
CA IMODES30 MASK OCT1720 CCS A TCF NXTFL33 # ABOVE CONDITION NOT MET.
TC ALARM OCT212 TCF NXTFL33
# Page 178 # PROGRAM NAMES: DNTMFAST, UPTMFAST # # FUNCTIONAL DESCRIPTION: THESE PROGRAMS PROCESS CHANGES OF BITS 12 AND 11 OF CHANNEL 33. IF A BIT CHANGES TO A # 0, A PROGRAM ALARM IS ISSUED. THE LAARMS ARE: # # BIT ALARM CAUSE # --- ----- ----- # 12 01105 DOWNLINK TOO FAST # 11 01106 UPLINK TOO FAST # # CALLING SEQUENCE: BY C33TEST ON A BIT CHANGE. # # SUBROUTINES CALLED: ALARM, IF A BIT CHANGES TO A 0. # # ERASABLE INITIALIZATION: FRESH START OR RESTART, BITS 12 AND 11 OF IMODES33 ARE SET TO 1. # # ALARMS: SET FUNCTGIONAL DESCRIPTION. # # EXIT: NXTFL33. # # OUTPUT: PROGRAM ALARM ON A BIT CHANGE TO 0.
DNTMFAST CCS A # DO PROG ALARM IF TM TOO FAST. TCF NXTFL33
TC ALARM OCT1105 TCF NXTFL33
UPTMFAST CCS A # SAME AS DNLINK TOO FAST WITH DIFFERENT TCF NXTFL33 # ALARM CODE.
TC ALARM OCT1106 TCF NXTFL33 # Page 179 # PROGRAM NAME: SETISSW # # FUNCTIONAL DESCRIPTION: THIS PROGRAM TURNS THE ISS WARNING LAMP ON AND OFF (CHANNEL 11 BIT 1 = 1 FOR ON, # 0 FOR OFF) DEPENDING ON THE STATUS OF IMODES30 BITS 13 (IMU FAIL) AND 4 (INHIBIT IMU FAIL), 12 (ICDU FAIL) AND # 3 (INHIBIT ICDU FAIL), AND 10 (PIPA FAIL) AND 1 (INHIBIT PIPA FAIL). THE LAMP IS LEFT ON IF A LAMP TEST IS IN # PROGRESS. # # CALLING SEQUENCE: CALLED BY IMUMON ON CHANGES TO IMU FAIL AND ICDU FAIL. CALLED BY IFAILOK AND PFAILOK UPON # REMOVAL OF THE FAIL INHIBITS. CALLED BY PIPFAIL WHEN THE PIPA FAIL DISCRETE CHANGES. IT IS CALLED BY PIPUSE # SINCE THE PIPA FAIL PROGRAM ALARM MAY NECESSITATE AN ISS WARNING, AND LIKEWISE BY PIPFREE WHEN THE ALARM DEPARTS # AND IT IS CALLED BY IMUZERO3 AND ISSUP AFTER THE FAIL INHIBITS HAVE BEEN REMOVED. # # JOBS OR TASKS INITIAZTED: NONE. # # SUBROUTINES CALLED: NONE. # # ERASABLE INITIALIZATION: # # 1) IMODES30 -- SEE IMUMON. # 2) IMODES33 BIT 1 = 0 (LAMP TEST NOT IN PROGRESS). # # ALARMS: ISS WARNING. # # THE FOLLOWING PROGRAM ALARMS WILL SHOW WHICH FAILURE CAUSED THE ISS WARN # PROGRAM ALARM 00777 PIPA FAIL # PROGRAM ALARM 03777 ICDU FAIL # PROGRAM ALARM 04777 ICDU, PIPA FAILS # PROGRAM ALARM 07777 IMU FAIL # PROGRAM ALARM 10777 IMU, PIPA FAILS # PROGRAM ALARM 13777 IMU, ICDU FAILS # PROGRAM ALARM 14777 IMU, ICDU, PIPA FAILS # # EXIT: VIA Q. # # OUTPUT: ISS WARNING LAMP SET PROPERLY.
SETISSW CAF OCT15 # SET ISS WARNING USING THE FAIL BITS IN MASK IMODES30 # BITS 13, 12, AND 10 OF IMODES30 AND THE EXTEND# FAILURE INHIBIT BITS IN POSITIONS MP BIT10 # 4, 3, AND 1. CA IMODES30 EXTEND
ROR LCHAN # 0 INDICATES FAILURE
COM MASK OCT15000 CCS A TCF ISSWON # FAILURE.
ISSWOFF CAF BIT1 # DON'T TURN OFF ISS WARNING IF LAMP TEST MASK IMODES33 # IN PROGRESS. # Page 180 CCS A TC Q
CS BIT1 EXTEND WAND DSALMOUT TC Q
ISSWON EXTEND QXCH ITEMP6 TC VARALARM # TELL EVERYONE WHAT CAUSED THE ISS WARNING CAF BIT1 EXTEND WOR DSALMOUT TC ITEMP6
CAGESUB CS BITS6&15# SET OUTBITS AND INTERNAL FLAGS FOR EXTEND# SYSTEM TURN-ON OR CAGE. DISABLE THE WAND CHAN12 # ERROR COUNTER AND REMOVE THE IMU DELAY COMP. CAF BITS4&5# SEND ZERO AND COARSE. EXTEND WOR CHAN12
CAGESUB1 CS DSPTAB +11D # TURN ON NO ATT LAMP MASK OC40010 ADS DSPTAB +11D
CAGESUB2 CS IMODES30 # SET FLAGS TO INDICATE CAGING OR TURN-ON MASK OCT75 # AND INHIBIT ALL ISS WARNING INFO ADS IMODES30
CS IMODES33 # DISABLE DAP AUTO AND HOLD MODES MASK BIT6 ADS IMODES33
# SUBROUTINE TO SKIP IF LAMP TEST NOT IN PROGRESS.
LAMPTEST CS IMODES33 # BIT 1 OF IMODES33 = 1 IF LAMP TEST IN MASK BIT1 # PROGRESS. CCS A INCR Q TC Q
# Page 182 # PROGRAM NAME: RRAUTCHK # # FUNCITONAL DESCRIPTION: # RRAUTCHK IS THE RENDEZFOUS RADAR INBIT MONITOR. INITIALLY THE RR # POWER ON AUTO (CHAN 33 BIT 2) INBIT IS CHECKED. IF NO CHANGE, THE # PROGRAM EXITS TO RRCDUCHK. IF A CHANGE, RADMOES IS UPDATED # AND A CHECK MADE IF RR POWER HAS JUST COME ON. IF JUST OFF, A CHECK # IS MADE TO SEE IF A PROGRAM WAS USING THE RR (STATE BIT 7). IF NO, # THE PROGRAM EXITS TO RRCDUCHK. IF YES, PROGRAM ALARM 00514 # IS REQUESTED BEFORE EXITING TO RRCDUCHK. IF RR POWER HAS JUST COME # ON, A CHECK IS MADE TO SEE IF A PROGRAM WAS USING THE RR (STATE BIT 7) # SEQUENCE. IF NO, RADMODES IS UPDATED TO INDICATE RR CDU ZERO AND # RR TURN-ON SEQUENCE (BITS 13, 1). A 10 MILLISECOND WAITLIST CALL # IS THEN SET FOR RRTURNON BEFORE THE PROGRAM EXITS TO NORRGMON. # # CALLING SEQUENCE: # T4RUPT EVERY 480 MILLISECONDS # # ERASABLE INITIALIZATION REQUIRED: # RADMODES, STATE. # # SUBROUTINES CALLED: # WAITLIST. # # JOBS OR TASKS INITIATED: # RRTURNON # # ALARMS: PROGRAM ALARM 00514 -- RADAR GOES OUT OF AUTO MODE WHILE BEING # USED # # EXIT: RRCDUCHK, NORRGMON
RRAUTCHK CA RADMODES # SEE IF CHANGE IN RR AUTO MODE BIT. EXTEND
RXOR CHAN33 MASK AUTOMBIT EXTEND BZF RRCDUCHK
LXCH RADMODES # UPDATE RADMODES. EXTEND
RXOR LCHAN MASK OCT05776 # CLR CONT. DES., REMODE, REPOS, CDUZERO, TS RADMODES # AND TURNON BITS. MASK BIT2 # SEE IF JUST ON. CCS A TCF RRCDUCHK -3# OFF. GO DISABLE RR CDU ERROR COUNTERS. CA OCT10001 # SET RRCDUZRO AND TURNON BITS. ADS RADMODES
# Page 184 # PROGRAM NAME: RRCDUCHK # # FUNCTIONAL DESCRIPTION: # RRCDUCHK CHECKS FOR RR CDU FAIL (CHAN 30 BIT 7). INITIALLY THE # RR CDU FAIL BIT IS SAMPLED (CHAN 30 BIT 7). IF NO CHANGE, THE # PROGRAM EXITS TO RRGIMON. IF A CHANGE, THE RR AUTO MODE # (RADMODES BIT 2) BIT IS CHECKED. IF NOT IN RR AUTO MODE, THE # PROGRAM EXITS TO NORRGMO0N. IF IN AUTO MODE, RADMODES BIT 7 # (RR CDU OK) IS UPDATED AND IF P-20 IS OPERATING PROGRAM ALARM 00515 IS # REQUESTED. CONTROL IS TRANSFERRED TO SETTRKF TO UPDATE # THE TRACKER FAIL LAMP (DSPTAB+11D BIT 8). CONTROL RETURNS TO # RRGIMON. # # CALLING SEQUENCE: # EVERY 480 MILLISECONDS FROM RRAUTCHK (VIA T4RUPT) UNLESS A # TURN-ON SEQUENCE HAS JUST BE INITIATED. # # ERASABLE INITIALIZATION REQUIRED: # RADMODES # # SUBROUTINES CALLED: # SETTRKF # # JOBS OR TASKS INITIATED: # NONE # # ALARMS: # TRACKER FAIL # PROGRAM ALARM 00515 -- RRCDU FAIL DURING P-20 # # EXIT: # RRGIMON, NORRGMON
-3CS BIT2 EXTEND WAND CHAN12 # AT TURNON, DISABLE CDU ERROR COUNTERS.
RRCDUCHK CA RADMODES # LAST SAMPLED BIT IN RADMODES. EXTEND
RXOR CHAN30 MASK RCDUFBIT EXTEND BZF RRGIMON
CAF AUTOMBIT # IF RR NOT IN AUTO MODE, DON'T CHANGE BIT MASK RADMODES # 7 OF RADMODES. IF THIS WERE NOT DONE, CCS A # THE TRACKER FAIL MIGHT COME ON WHEN TCF NORRGMON # JUST READING LR DATA.
CAF RCDUFBIT # SET BIT 7 OF RADMODES FOR SETTRKF. # Page 185 LXCH RADMODES # UPDATE RADMODES. EXTEND
RXOR L TS RADMODES
CA RADMODES # DID RR CDU FAIL MASK RCDUFBIT CCS A TCF TRKFLCDU # NO CS FLAGWRD0 # RNDVFLG P20 OR P22 OPERATING MASK RNDVZBIT CCS A TCF TRKFLCDU # NO TC ALARM # YES OCT00515
TRKFLCDU TC SETTRKF # UPDATE TRAKER FAIL LAMP ON DSKY.
# Page 186 # PROGRAM NAME: RRGIMON # # FUNCTIONAL DESCRIPTION: # RRGIMON IS THE RR GIMBAL LIMIT MONITOR. INITIALLY THE FOLLOWING IS # CHECKED: REMOD, RR CDU'S BEING ZEROED, REPOSITION, AND RR # NOT IN AUTO MODE (RADMODES BITS 14, 13, 11, 2). IF ANY OF THESE # EXIST THE PROGRAM EXITS TO GPMATRIX. IF NONE ARE PRESENT RRLIMCHK # IS CALLED TO SEE IF THE PRESENT RR CDU ANGLES (OPTY, OPTX) ARE WITHIN # THE LIMITS OF THE CURRENT MODE. IF WITHIN LIMITS, THE PROGRAM EXITS # TO NORRGMON. IF NOT WITHIN LIMITS, THE REPOSITION FLAG (RADMODES # BIT 11) IS SET, THE RR AUTO TRACKER AND RR ERROR COUNTER # (CHAN 12 BITS 14, 2) ARE DISABLED, AND A 20 MILLISECOND WAITLIST # CALL IS SET FOR DORREPOS AFTER WHICH THE PROGRAM EXITS TO NORRGMON. # # CALLING SEQUENCE: # EVERY 480 MILLISECONDS FROM RRCDUCHK (VIA T4RUPT) UNLESS TURN-ON # HAS JUST BEEN INITIATED VIA RRAUTCHK OR IF THERE HAS BEEN A CHANGE IN # THE RR CDU FAIL BIT (CHAN 30 BIT 7) AND THE RR IS NOT IN THE AUTO MODE # (RADMODES BIT 2). # # ERASABLE INITIALZATION: RADMODES # # SUBROUTINES CALLED: # RRLIMCHK, WAITLIST # # JOBS OR TASKS INITIATED: # DORREPOS # # ALARMS: # NONE # # EXIT: # NORRGMON
RRGIMON CAE FLAGWRD5 # IS NO ANGLE MONITOR FLAG SET MASK NORRMBIT CCS A TCF NORRGMON # YES -- SKIP LIMIT CHECK CS FLAGWRD7 # IS SERVICER RUNNING? MASK AVEGFBIT CCS A TCF +5# NO. DO R25 CA FLAGWRD6 # YES. IS MUNFLAG SET? MASK MUNFLBIT CCS A TCF NORRGMON # YES. DON'T DO R25
+5CAF OCT32002 # INHIBIT BY REMODE, ZEROING, MONITOR. MASK RADMODES # OR RR NOT IN AUTO. CCS A TCF NORRGMON # Page 187 TC RRLIMCHK # SET IF ANGLES IN LIMITS. ADRES CDUT
TCF MONREPOS
TCF NORRGMON # (ADDITIONAL CODING MAY GO HERE).
MONREPOS CAF REPOSBIT # SET FLAG TO SHOW REPOSITION IN PROGRESS. ADS RADMODES
# Page 188 # PROGRAM NAME: GPMATRIX (DAPT4S) MCD. NO. 2 DATE: OCTOBER 27, 1966 # # AUTHOR: JOHNATHAN D. ADDLELSTON (ADAMS ASSOCIATES) # # MODIFIED: 7FEB. 1968 BY P. S. WEISSMAN TO DELETE COMPUTATION OF MR12 AND MR13, WHICH ARE NO LONGER REQUIRED. # # THIS PROGRAM CALCULATES ALL THE SINGLE-PRECISION MATRIX ELEMENTS WHICH ARE USED BY LEM DAP TO TRANSFORM VECTORS # FROM GIMBAL TO PILOT (BODY) AXES AND BACK AGAIN. THESE ELEMENTS ARE USED EXCLUSIVELY BY BASIC LANGUAGE ROUTINES # AND THEREFORE ARE NOT ARRAYED FOR USE BY INTERPRETIVE PROGRAMS. # # CALLING SEQUENCE: GPMATRIX IS TRANSFERRED TO FROM DAPT4S AND IS THUS EXECUTED 4 TIMES A SECOND BY T4RUPT. # DAPT4S IS LISTED IN T4JUMP TABLE TWICE EXPLICITLY AND ALSO OCCURS AFTER RRAUTCHK (WHICH IS ALSO LISTED TWICE). # # SUBROUTINES CALLED: SPSIN, SPCOS. # # NORMAL EXIT MODE: TCF RESUME # # ALARM AND ABORT MODES: NONE. # # INPUT: CDUX, CDUY, CDUZ. # # OUTPUT: M11, M21, M32, M22, M32. # # AOG = CDUX, AIG = CDUY, AMG = CDUZ: MNEMONIC IS : OIM = XYZ # # * * SING(MG) 0 1 * # M = * COS(MG)COS(OG) SIN(OG) 0 * # GP * -COS(MG)SIN(OG) COS(OG) 0 * # # * * 0 COS(OG)/COS(MG) -SIN(OG)/COS(MG) * # M = * 0 SIN(OG) COS(OG) * # PG * 1 -SIN(MG)COS(OG)/COS(MG) SIN(MG)SIN(OG)/COS(MG) *
EBANK= M11
DAPT4S EQUALS GPMATRIX
# T4RUPT DAP LOGIC:
GPMATRIX CAE CDUZ # SINGLE ENTRY POINT TC SPSIN # SIN(CDUZ) = SIN(MG) TS M11 # SCALED AT 1
CAE CDUZ TC SPCOS # COS(CDUZ) = COS(MG) TS COSMG # SCALED AT 1 (ONLY A FACTOR)
CAE CDUX TC SPSIN # SIN(CDUX) = SIN(OG) TS M22 # SCALED AT 1 (ALSO IS MR22)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.