Proof UPDATE_PROGRAM (closes #273) (#325)

* Proof P76

* 1) comma instead of period
2) -- to -
3) remove space after comma

* Proof UPDATE_PROGRAM

* backquote to single quote
This commit is contained in:
cai 2018-04-02 18:21:55 +08:00 committed by James Harris
parent c8fa53b43d
commit 379b8fc56b

View File

@ -57,43 +57,45 @@
# ALARM/ABORT: TC FALTON FOLLOWED BY TC ENDEXT # ALARM/ABORT: TC FALTON FOLLOWED BY TC ENDEXT
# #
# RESTARTS: P27 IS RESTART PROTECTED IN TWO WAYS ... # RESTARTS: P27 IS RESTART PROTECTED IN TWO WAYS ...
# 1. PRIOR TO VERIFLAG INVERSION (WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE # 1. PRIOR TO VERIFLAG INVERSION(WHICH IS CAUSED BY THE GROUND/ASTRONAUT'S VERIFICATION OF UPDATE
# DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)--- # DATA BY SENDING A V33E WHEN V21N02 IS FLASHING)---
# NO PROTECTION EXCEPT PRE-P27 MODE IS RESTORED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINE # NO PROTECTION EXCEPT PRE-P27 MODE IS RESTORED, COAST + ALIGN DOWNLIST IS SELECTED AND UPLINE
# ACTIVITY LIGHT IS TURNED OFF. (JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS). # ACTIVITY LIGHT IS TURNED OFF.(JUST AS IF A V34E WAS SENT DURING P27 DATA LOADS).
# V70,V71,V72, OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER. # V70,V71,V72 OR V73 WILL HAVE TO BE COMPLETELY RESENT BY USER.
# 2. AFTER VERIFLAG INVERSION (WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)--- # 2. AFTER VERIFLAG INVERSION(WHEN UPDATE OF THE SPECIFIED ERASABLES IS BEING PERFORMED)---
# PROTECTED AGAINST RESTARTS. # PROTECTED AGAINST RESTARTS.
# #
# DEBRIS: UPBUFF (20D) TEMP STORAGE FOR ADDRESSES AND CONTENTS. # DEBRIS: UPBUFF (20D) TEMP STORAGE FOR ADDRESSES AND CONTENTS.
# UPVERB (1) VERB NUMBER MINUS 70D (E.G., FOR V72, UPVERB = 72D - 70D = 2) # UPVERB (1) VERB NUMBER MINUS 70D (E.G. FOR V72, UPVERB = 72D - 70D = 2)
# UPOLDMOD(1) FOR MAJOR MODE INTERRUPTED BY P27. # UPOLDMOD(1) FOR MAJOR MODE INTERRUPTED BY P27.
# COMPNUMB(1) TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED. # COMPNUMB(1) TOTAL NUMBER OF COMPONENTS TO BE TRANSMITTED.
# UPCOUNT (1) ACTUAL NUMBER OF COMPONENTS RECEIVED. # UPCOUNT (1) ACTUAL NUMBER OF COMPONENTS RECEIVED.
# UPTEMP (1) SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE. # UPTEMP (1) SCRATCH, BUT USUALLY CONTAINS COMPONENT NUMBER TO BE CHANGED DURING VERIFY CYCLE
# #
# INPUT: # INPUT:
# #
# ENTRY DESCRIPTION # ENTRY: DESCRIPTION
#
# V70EXXXXXEXXXXXE (LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX, # V70EXXXXXEXXXXXE (LIFTOFF TIME INCREMENT) DOUBLE PRECISION OCTAL TIME INCREMENT, XXXXX XXXXX,
# IS ADDED TO TEPHEM, SUBTRACTED FROM AGC CLOCK(TIME2,TIME1), SUBTRACTED FROM CSM STATE # IS ADDED TO TEPHEM, SUBTRACTED FROM AGC CLOCK(TIME2,TIME1), SUBTRACTED FROM CSM STATE
# VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM). # VECTOR TIME(TETCSM) AND SUBTRACTED FROM LEM STATE VECTOR TIME(TETLEM).
# THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28). # THE DP OCTAL TIME INCREMENT IS SCALED AT 2(28).
# Page 1498 # Page 1498
# V71EIIEAAAAE (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS, XXXXX, # V71EIIEAAAAE (CONTIGUOUS BLOCK UPDATE) II-2 OCTAL COMPONENTS,XXXXX,
# XXXXXE ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA. # XXXXXE ARE LOADED INTO ERASABLE STARTING AT ECADR, AAAA.
# XXXXXE IT IS .GE. 3 .AND. .LE. 20D., # XXXXXE IT IS .GE. 3 .AND. .LE. 20D.,
# AND (AAAA + II -3) DOES NOT PRODUCE AN ADDRESS IN THE # AND (AAAA + II -3) DOES NOT PRODUCE AN ADDRESS IN THE
# 9 NEXT BANK # NEXT BANK.
# . SCALING IS SAME AS INTERNAL REGISTERS. # . SCALING IS SAME AS INTERNAL REGISTERS.
# V72EIIE (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS, XXXXX, ARE #
# V72EIIE (SCATTER UPDATE) (II-1)/2 OCTAL COMPONENTS,XXXXX, ARE
# AAAAEXXXXXE LOADED INTO ERASABLE LOCATIONS, AAAA. # AAAAEXXXXXE LOADED INTO ERASABLE LOCATIONS, AAAA.
# AAAAEXXXXXE II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD. # AAAAEXXXXXE II IS .GE. 3 .AND. .LE. 19D, AND MUST BE ODD.
# . SCALING IS SAME AS INTERNAL REGISTERS. # . SCALING IS SAME AS INTERNAL REGISTERS.
# #
# V73EXXXXXEXXXXXE (OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME # V73EXXXXXEXXXXXE (OCTAL CLOCK INCREMENT) DOUBLE PRECISION OCTAL TIME
# INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN # INCREMENT XXXXX XXXXX, IS ADDED TO THE AGC CLOCK, IN
# CENTISECONDS SCALED AT (2)28). # CENTISECONDS SCALED AT (2)28.
# THIS LOAD IS THE OCTAL EQUIVALENT OF V55. # THIS LOAD IS THE OCTAL EQUIVALENT OF V55.
# #
# OUTPUT: IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES # OUTPUT: IN ADDITION TO THE ABOVE REGISTER LOADS, ALL UPDATES
@ -105,13 +107,13 @@
# #
# THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE --- # THE FOLLOWING COMMENTS DELINEATE EACH SPECIAL UPDATE ---
# #
# 1. CSM/LM STATE VECTOR UPDATE (ALL DATA ENTRIES IN OCTAL) # 1. CSM/LM STATE VECTOR UPDATE(ALL DATA ENTRIES IN OCTAL)
# ENTRIES: DATA DEFINITION: SCALE FACTORS: # ENTRIES: DATA DEFINITION: SCALE FACTORS:
# V71E CONTIGUOUS BLOCK UPDATE VERB # V71E CONTIGUOUS BLOCK UPDATE VERB
# 21E NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE # 21E NUMBER OF COMPONENTS FOR STATE VECTOR UPDATE
# AAAAE ECADR OF `UPSVFLAG' # AAAAE ECADR OF 'UPSVFLAG'
# XXXXXE STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM -- EARTH SPHERE OF INFLUENCE SCALING # XXXXXE STATE VECTOR IDENTIFIER: 00001 FOR CSM, 77776 FOR LEM - EARTH SPHERE OF INFLUENCE SCALING
# 00002 FOR CSM, 77775 FOR LEM -- LUNAR SPHERE OF INFLUENCE SCALING # 00002 FOR CSM, 77775 FOR LEM - LUNAR SPHERE OF INFLUENCE SCALING
# XXXXXEXXXXXE X POSITION # XXXXXEXXXXXE X POSITION
# XXXXXEXXXXXE Y POSITION # XXXXXEXXXXXE Y POSITION
# XXXXXEXXXXXE Z POSITION # XXXXXEXXXXXE Z POSITION
@ -121,12 +123,12 @@
# XXXXXEXXXXXE TIME FROM AGC CLOCK ZERO # XXXXXEXXXXXE TIME FROM AGC CLOCK ZERO
# V33E VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED. # V33E VERB 33 TO SIGNAL THAT THE STATE VECTOR IS READY TO BE STORED.
# #
# 2. REFSMMAT (ALL DATA ENTRIES IN OCTAL) # 2. REFSMMAT(ALL DATA ENTRIES IN OCTAL)
# ENTRIES DATA DEFINITIONS SCALE FACTORS: # ENTRIES: DATA DEFINITIONS: SCALE FACTORS:
# Page 1499 # Page 1499
# V71E CONTIGUOUS BLOCK UPDATE VERB # V71E CONTIGUOUS BLOCK UPDATE VERB
# 24E NUMBER OF COMPONENTS FOR REFSMMAT UPDATE # 24E NUMBER OF COMPONENTS FOR REFSMMAT UPDATE
# AAAAE ECADR OF `REFSMMAT' # AAAAE ECADR OF 'REFSMMAT'
# XXXXXEXXXXXE ROW 1 COLUMN 1 2(-1) # XXXXXEXXXXXE ROW 1 COLUMN 1 2(-1)
# XXXXXEXXXXXE ROW 1 COLUMN 2 2(-1) # XXXXXEXXXXXE ROW 1 COLUMN 2 2(-1)
# XXXXXEXXXXXE ROW 1 COLUMN 3 2(-1) # XXXXXEXXXXXE ROW 1 COLUMN 3 2(-1)
@ -136,7 +138,7 @@
# XXXXXEXXXXXE ROW 3 COLUMN 1 2(-1) # XXXXXEXXXXXE ROW 3 COLUMN 1 2(-1)
# XXXXXEXXXXXE ROW 3 COLUMN 2 2(-1) # XXXXXEXXXXXE ROW 3 COLUMN 2 2(-1)
# XXXXXEXXXXXE ROW 3 COLUMN 3 2(-1) # XXXXXEXXXXXE ROW 3 COLUMN 3 2(-1)
# V33E VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED # V33E VERB 33 TO SIGNAL THAT REFSMMAT IS READY TO BE STORED.
BANK 07 BANK 07
SETLOC EXTVERBS SETLOC EXTVERBS
@ -156,18 +158,18 @@ V72UPDAT CAF UP72 # COMES HERE ON V72E
V73UPDAT CAF UP73 # COMES HERE ON V73E V73UPDAT CAF UP73 # COMES HERE ON V73E
+1 TS UPVERBSV # SAVE UPVERB UNTIL IT'S OK TO ENTER P27 +1 TS UPVERBSV # SAVE UPVERB UNTIL IT'S OK TO ENTER P27
TC TESTXACT # GRAB DISPLAY IF AVAILABLE, OTHERWISE TC TESTXACT # GRAB DISPLAY IF AVAILABLE, OTHERWISE
# TURN *OPERATOR ERROR* ON AND TERMINATE JOB # TURN*OPERATOR ERROR* ON AND TERMINATE JOB
CA MODREG # CHECK IF UPDATE ALLOWED CA MODREG # CHECK IF UPDATE ALLOWED
EXTEND # FIRST CHECK FOR MODREG = +0, -0 EXTEND # FIRST CHECK FOR MODREG = +0, -0
BZF +2 # (+0 = P00, -0 = FRESHSTART) BZF +2 # (+0 = P00, -0 = FRESH START)
TC CKMDMORE # NOW CHECK FOR PROGRAM WHICH CAN BE TC CKMDMORE # NOW CHECK FOR PROGRAM WHICH CAN BE
# INTERRUPTED BY P27. # INTERRUPTED BY P27.
CAE MODREG # UPDATE ALLOWED CAE MODREG # UPDATE ALLOWED.
TS UPOLDMOD # SAVE CURRENT MAJOR MODE TS UPOLDMOD # SAVE CURRENT MAJOR MODE
# Page 1500 # Page 1500
CAE UPVERBSV # SET UPVERB TO INDICDATE TO P27 CAE UPVERBSV # SET UPVERB TO INDICDATE TO P27
@ -177,18 +179,18 @@ V73UPDAT CAF UP73 # COMES HERE ON V73E
TS UPCOUNT # INITIALIZE UPCOUNT TO 1 TS UPCOUNT # INITIALIZE UPCOUNT TO 1
TC POSTJUMP # LEAVE EXTENDED VERB BANK AND TC POSTJUMP # LEAVE EXTENDED VERB BANK AND
CADR UPPART2 # GO TO UPDATE PROGRAM (P27) BANK. CADR UPPART2 # GO TO UPDATE PROGRAM(P27) BANK.
CKMDMORE CS FLAGWRD5 CKMDMORE CS FLAGWRD5
MASK BIT8 # CHECK IF COMPUTER IS LGC MASK BIT8 # CHECK IF COMPUTER IS LGC
CCS A # IS COMPUER LGC OR AGC CCS A # IS COMPUER LGC OR AGC
UPERLEM TCF UPERROR # ERROR: IT'S THE LEM + MODE IS NOT P00. UPERLEM TCF UPERROR # ERROR- IT'S THE LEM + MODE IS NOT P00.
CS TWO CS TWO
MASK MODREG MASK MODREG
CCS A CCS A
UPERCMC TCF UPERROR # ERROR: IT'S THE CMC AND MODE IS NOT UPERCMC TCF UPERROR # ERROR- IT'S THE CMC AND MODE IS NOT
# P00 OR P02. # P00 OR P02.
TC Q # ALLOW UPDATE TO PROCEED. TC Q # ALLOW UPDATE TO PROCEED
UPERROR TC POSTJUMP # TURN ON 'OPERATOR ERROR' LIGHT UPERROR TC POSTJUMP # TURN ON 'OPERATOR ERROR' LIGHT
CADR UPERROUT +2 # GO TO COMMON UPDATE PROGRAM EXIT CADR UPERROUT +2 # GO TO COMMON UPDATE PROGRAM EXIT
@ -205,7 +207,7 @@ UP73 EQUALS THREE
COUNT* $$/P27 COUNT* $$/P27
UPPART2 EQUALS # UPDATE PROGRAM -- PART 2 UPPART2 EQUALS # UPDATE PROGRAM - PART 2
TC PHASCHNG # SET RESTART GROUP 6 TO RESTORE OLD MODE TC PHASCHNG # SET RESTART GROUP 6 TO RESTORE OLD MODE
OCT 07026 # AND DOWNLIST AND EXIT IF RESTART OCCURS. OCT 07026 # AND DOWNLIST AND EXIT IF RESTART OCCURS.
@ -222,23 +224,23 @@ UPPART2 EQUALS # UPDATE PROGRAM -- PART 2
INDEX UPVERB # BRANCH DEPENDING ON WHETHER THE UPDATE INDEX UPVERB # BRANCH DEPENDING ON WHETHER THE UPDATE
TCF +1 # VERB REQUIRES A FIXED OR VARIABLE NUMBER TCF +1 # VERB REQUIRES A FIXED OR VARIABLE NUMBER
TCF +3 # V70 FIXED (OF COMPONENTS) TCF +3 # V70 FIXED. (OF COMPONENTS.
TCF OHWELL1 # V71 VARIABLE -- GO GET NO. OF COMPONENTS TCF OHWELL1 # V71 VARIABLE - GO GET NO. OF COMPONENTS
TCF OHWELL1 # V72 VARIABLE -- GO GET NO. OF COMPONENTS TCF OHWELL1 # V72 VARIABLE - GO GET NO. OF COMPONENTS
CA TWO # V73 (AND V70) FIXED CA TWO # V73 (AND V70) FIXED
TS COMPNUMB # SET NUMBER OF COMPONENTS TO 2. TS COMPNUMB # SET NUMBER OF COMPONENTS TO 2.
TCF OHWELL2 # GO GET THE TWO UPDATE COMPONENTS TCF OHWELL2 # GO GET THE TWO UPDATE COMPONENTS
OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER * OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
TS MPAC +2 # * OF COMPONENTS PARAMETER(II) * TS MPAC +2 # * OF COMPONENTS PARAMETER(II). *
+2 CAF UPLOADNV # (CKV432 RETURNS HERE IF V32 ENCOUNTERED) +2 CAF UPLOADNV # (CKV432 RETURNS HERE IF V32 ENCOUNTERED)
TC BANKCALL # DISPLAY A FLASHING V21N01 TC BANKCALL # DISPLAY A FLASHING V21N01
CADR GOXDSPF # TO REQUEST II. CADR GOXDSPF # TO REQUEST II.
TCF UPOUT4 # V32 TERMINATE UPDATE (P27) RETURN TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN
TCF OHWELL1 +2 TCF OHWELL1 +2
TC CK4V32 # DATA OR V32 RETURN TC CK4V32 # DATA OR V32 RETURN
CS BIT2 CS BIT2
AD UPBUFF # IS II (NUMBER OF COMPONENTS PARAMETER) AD UPBUFF # IS II(NUMBER OF COMPONENTS PARAMETER)
EXTEND # .GE. 3 AND .LE. 20D. EXTEND # .GE. 3 AND .LE. 20D.
BZMF OHWELL1 +2 BZMF OHWELL1 +2
CS UPBUFF CS UPBUFF
@ -251,29 +253,29 @@ OHWELL1 CAF ADUPBUFF # * REQUEST USER TO SEND NUMBER *
# UPBUFF LOADING SEQUENCE # UPBUFF LOADING SEQUENCE
INCR UPCOUNT # INCREMENT COUNT OF COMPONENTS RECEIVED. INCR UPCOUNT # INCREMENT COUNT OF COMPONENTS RECEIVED.
OHWELL2 CAF ADUPBFM1 # CALCULATE LOCATION (ECADR) IN UPBUFF OHWELL2 CAF ADUPBFM1 # CALCULATE LOCATION(ECADR) IN UPBUFF
AD UPCOUNT # WHERE NEXT COMPONENT SHOULD BE STORED AD UPCOUNT # WHERE NEXT COMPONENT SHOULD BE STORED.
+2 TS MPAC +2 # PLACE ECADR INTO R3. +2 TS MPAC +2 # PLACE ECADR INTO R3.
+3 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED) +3 CAF UPLOADNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
TC BANKCALL # DISPLAY A FLASHING V21N01 TC BANKCALL # DISPLAY A FLASHING V21N01
CADR GOXDSPF # TO REQUEST DATA. CADR GOXDSPF # TO REQUEST DATA.
TCF UPOUT4 # V34 TERMINATE UPDATE (P27) RETURN. TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN.
TCF OHWELL2 +3 # V33 PROCEED RETURN TCF OHWELL2 +3 # V33 PROCEED RETURN
TC CK4V32 # DATA OR V32 RETURN TC CK4V32 # DATA OR V32 RETURN
CS UPCOUNT # HAVE WE FINISHED RECEIVING ALL CS UPCOUNT # HAVE WE FINISHED RECEIVING ALL
AD COMPNUMB # THE DATA WE EXPECTED. AD COMPNUMB # THE DATA WE EXPECTED.
EXTEND EXTEND
BZMF UPVERIFY # YES -- GO TO VERIFICATION SEQUENCE BZMF UPVERIFY # YES- GO TO VERIFICATION SEQUENCE
TCF OHWELL2 -1 # NO -- REQUEST ADDITIONAL DATA. TCF OHWELL2 -1 # NO- REQUEST ADDITIONAL DATA.
# Page 1502 # Page 1502
# VERIFY SEQUENCE # VERIFY SEQUENCE
UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
TS MPAC +2 # IS TO BE STORED INTO R3. TS MPAC +2 # IS TO BE STORED INTO R3.
CAF UPVRFYNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED) CAF UPVRFYNV # (CK4V32 RETURNS HERE IF V32 ENCOUNTERED)
TC BANKCALL # DISPLAY A FLASHING V21N02 TO REQUEXT TC BANKCALL # DISPLAY A FLASHING V21N02 TO REQUEST
CADR GOXDSPF # DATA CORRECTION OR VERIFICATION. CADR GOXDSPF # DATA CORRECTION OR VERIFICATION.
TCF UPOUT4 # V34 TERMINATE UPDATE (P27) RETURN TCF UPOUT4 # V34 TERMINATE UPDATE(P27) RETURN
TCF UPSTORE # V33 DATA SENT IS GOOD. GO STORE IT. TCF UPSTORE # V33 DATA SENT IS GOOD. GO STORE IT.
TC CK4V32 # COMPONENT NO. INDEX OR V32 RETURN TC CK4V32 # COMPONENT NO. INDEX OR V32 RETURN
CA UPTEMP # DOES THE COMPONENT NO. INDEX JUST SENT CA UPTEMP # DOES THE COMPONENT NO. INDEX JUST SENT
@ -284,20 +286,20 @@ UPVERIFY CAF ADUPTEMP # PLACE ECADR WHERE COMPONENT NO. INDEX
AD BIT1 AD BIT1
EXTEND EXTEND
BZMF UPVERIFY # NO BZMF UPVERIFY # NO
CAF ADUPBFM1 # YES -- BASED ON THE COMPONENT NO. INDEX CAF ADUPBFM1 # YES- BASED ON THE COMPONENT NO. INDEX
AD UPTEMP # CALCULATE THE ECADR OF LOCATION IN AD UPTEMP # CALCULATE THE ECADR OF LOCATION IN
TCF OHWELL2 +2 # UPBUFF WHICH USER WANTS TO CHANGE. TCF OHWELL2 +2 # UPBUFF WHICH USER WANTS TO CHANGE.
UPOUT4 EQUALS UPOUT +1 # COMES HERE ON V34 TC TERMINATE UPDATE. UPOUT4 EQUALS UPOUT +1 # COMES HERE ON V34 TC TERMINATE UPDATE
# CHECK FOR VERB 32 SEQUENCE # CHECK FOR VERB 32 SEQUENCE
CK4V32 CS MPAC # ON DATA RETURN FROM `GOXDSPF' CK4V32 CS MPAC # ON DATA RETURN FROM 'GOXDSPF'
MASK BIT6 # ON DATA RETURN FROM "GOXDSP" & THE CON- MASK BIT6 # ON DATA RETURN FROM "GOXDSP"& THE CON-
CCS A # TENTS OF MPAC = VERB. SO TEST FOR V32. CCS A # TENTS OF MPAC = VERB. SO TEST FOR V32.
TC Q # IT'S NOT A V32, IT'S DATA. PROCEED. TC Q # IT'S NOT A V32, IT'S DATA. PROCEED.
INDEX Q INDEX Q
TC 0 -6 # V32 ENCOUNTERED -- GO BACK AND GET DATA TC 0 -6 # V32 ENCOUNTERED - GO BACK AND GET DATA
ADUPTEMP ADRES UPTEMP # ADDRESS OF TEMP STORAGE FOR CORRECTIONS ADUPTEMP ADRES UPTEMP # ADDRESS OF TEMP STORAGE FOR CORRECTIONS
ADUPBUFF ADRES UPBUFF # ADDRESS OF UPDATE DATA STORAGE BUFFER ADUPBUFF ADRES UPBUFF # ADDRESS OF UPDATE DATA STORAGE BUFFER
@ -308,13 +310,13 @@ UPDTPHAS EQUALS FIVE
# PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE # PRE-STORE AND FAN TO APPROPRIATE BRANCH SEQUENCE
UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA. UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
INHINT INHINT
CAE FLAGWRD7 # INVERT VERIFLAG (BIT 3 OF FLAGWRD7) TO CAE FLAGWRD7 # INVERT VERIFLAG(BIT3 OF FLAGWRD7) TO
XCH L # INDICATE TO THE GROUND (VIA DOWNLINK) XCH L # INDICATE TO THE GROUND(VIA DOWNLINK)
CAF BIT3 # THAT THE V33 (WHICH THE GROUND SENT TO CAF BIT3 # THAT THE V33(WHICH THE GROUND SENT TO
# Page 1503 # Page 1503
EXTEND # VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY EXTEND # VERIFY THE UPDATE) HAS BEEN SUCCESSFULLY
RXOR LCHAN # RECEIVED BY THE UPDATE PROGRAM RXOR LCHAN # RECEIVED BY THE UPDATE PROGRAM
@ -324,34 +326,34 @@ UPSTORE EQUALS # GROUND HAS VERIFIED UPDATE. STORE DATA.
OCT 04026 # DATA STORE IF A RESTART OCCURS. OCT 04026 # DATA STORE IF A RESTART OCCURS.
INHINT # (BECAUSE PHASCHNG DID A RELINT) INHINT # (BECAUSE PHASCHNG DID A RELINT)
CS TWO # GO TO UPFNDVAC IF INSTALL IS REQUIRED. CS TWO # GO TO UPFNDVAC IF INSTALL IS REQUIRED,
AD UPVERB # THAT IS, IF IT'S A V70 - V72. AD UPVERB # THAT IS, IF IT'S A V70 - V72.
EXTEND # GO TO UPEND73 IF IT'S A V73. EXTEND # GO TO UPEND73 IF IT'S A V73.
BZMF UPFNDVAC BZMF UPFNDVAC
# VERB 73 BRANCH # VERB 73 BRANCH
UPEND73 EXTEND # V73 -- PERFORM DP OCTAL AGC CLOCK INCREMENT UPEND73 EXTEND # V73-PERFORM DP OCTAL AGC CLOCK INCREMENT
DCA UPBUFF DCA UPBUFF
DXCH UPBUFF +8D DXCH UPBUFF +8D
TC TIMEDIDL TC TIMEDIDL
TC FALTON # ERROR -- TURN ON *OPERATOR ERROR* LIGHT TC FALTON # ERROR- TURN ON *OPERATOR ERROR* LIGHT
TC UPOUT +1 # GO TO COMMON UPDATE PROGRAM EXIT TC UPOUT +1 # GO TO COMMON UPDATE PROGRAM EXIT
UPFNDVAC CAF CHRPRIO # (USE EXTENDED VERB PRIORITY) UPFNDVAC CAF CHRPRIO # (USE EXTENDED VERB PRIORITY)
TC FINDVAC # GET VAC AREA FOR `CALL INTSTALL' TC FINDVAC # GET VAC AREA FOR 'CALL INTSTALL'
EBANK= TEPHEM EBANK= TEPHEM
2CADR UPJOB # (NOTE: THIS WILL ALSO SET EBANK FOR 2CADR UPJOB # (NOTE: THIS WILL ALSO SET EBANK FOR
TC ENDOFJOB # `TEPHEM' UPDATE BY V70) TC ENDOFJOB # 'TEPHEM' UPDATE BY V70)
UPJOB TC INTPRET # THIS COULD BE A STATE VECTOR UPDATE -- SO UPJOB TC INTPRET # THIS COULD BE A STATE VECTOR UPDATE--SO
CALL # WAIT (PUT JOB TO SLEEP) IF ORBIT INT(OI) CALL # WAIT(PUT JOB TO SLEEP) IF ORBIT INT(OI)
INTSTALL # IS IN PROGRESS -- OR -- GRAB OI AND RETURN INTSTALL # IS IN PROGRESS--OR--GRAB OI AND RETURN
# TO UPWAKE IF OI IS NOT IN PROGRESS. # TO UPWAKE IF OI IS NOT IN PROGRESS.
UPWAKE EXIT UPWAKE EXIT
TC PHASCHNG # RESTART PROTECT (GROUP 6) TC PHASCHNG # RESTART PROTECT(GROUP 6)
OCT 04026 OCT 04026
TC UPFLAG # SET INTEGRATION RESTART BIT TC UPFLAG # SET INTEGRATION RESTART BIT
@ -366,7 +368,7 @@ UPPART3 EQUALS
TCF UPEND72 # V72 TCF UPEND72 # V72
# Page 1504 # Page 1504
# ROUTINE TO INCREMENT CLOCK (TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF. # ROUTINE TO INCREMENT CLOCK(TIME2,TIME1) WITH CONTENTS OF DP WORD AT UPBUFF.
TIMEDIDL EXTEND TIMEDIDL EXTEND
QXCH UPTEMP # SAVE Q FOR RETURN QXCH UPTEMP # SAVE Q FOR RETURN
CAF ZERO # ZERO AND SAVE TIME2,TIME1 CAF ZERO # ZERO AND SAVE TIME2,TIME1
@ -390,21 +392,21 @@ TIMEDIDR INHINT
DCA UPBUFF +18D DCA UPBUFF +18D
DAS MPAC # FORM SUM IN MPAC DAS MPAC # FORM SUM IN MPAC
EXTEND EXTEND
BZF DELTAOK # TEST FOR OVERFLOW BZF DELTATOK # TEST FOR OVERFLOW
CAF ZERO CAF ZERO
DXCH UPBUFF +18D # OVERFLOW, RESTORE OLD VALUE OF CLOCK DXCH UPBUFF +18D # OVERFLOW, RESTORE OLD VALUE OF CLOCK
DAS TIME2 # AND TURN ON OPERATOR ERROR DAS TIME2 # AND TURN ON OPERATOR ERROR
TC PHASCHNG # RESTART PROTECT (GROUP 6) TC PHASCHNG # RESTART PROTECT(GROUP 6)
OCT 04026 OCT 04026
TC UPTEMP # GO TO ERROR EXIT TC UPTEMP # GO TO ERROR EXIT
DELTAOK TC TPAGREE # FORCE SIGN AGREEMENT DELTATOK TC TPAGREE # FORCE SIGN AGREEMENT
DXCH MPAC DXCH MPAC
DAS TIME2 # INCREMENT TIME2,TIME1 DAS TIME2 # INCREMENT TIME2,TIME1
TC PHASCHNG # RESTART PROTECT (GROUP 6) TC PHASCHNG # RESTART PROTECT(GROUP 6)
OCT 04026 OCT 04026
INHINT INHINT
@ -418,6 +420,7 @@ UPEND71 CAE UPBUFF +1 # SET EBANK
# Page 1505 # Page 1505
MASK LOW8 # CALCULATE MASK LOW8 # CALCULATE
TS UPTEMP # S-REG VALUE OF RECEIVING AREA TS UPTEMP # S-REG VALUE OF RECEIVING AREA
AD NEG3 # IN THE PROCESS OF AD NEG3 # IN THE PROCESS OF
AD COMPNUMB # PERFORMING AD COMPNUMB # PERFORMING
EXTEND # THIS UPDATE EXTEND # THIS UPDATE
@ -426,7 +429,7 @@ UPEND71 CAE UPBUFF +1 # SET EBANK
CCS A # INTO THE NEXT EBANK.... CCS A # INTO THE NEXT EBANK....
TCF UPERROUT # YES TCF UPERROUT # YES
CA NEG3 # NO -- CALCULATE NUMBER OF CA NEG3 # NO- CALCULATE NUMBER OF
AD COMPNUMB # WORDS TO BE STORED MINUS ONE AD COMPNUMB # WORDS TO BE STORED MINUS ONE
STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
INDEX A # TAKE NEXT UPDATE WORD FROM INDEX A # TAKE NEXT UPDATE WORD FROM
@ -436,28 +439,28 @@ STORLP71 TS MPAC # SAVE NO. OF WORDS REMAINING MINUS ONE
AD UPTEMP # RECEIVING ADDRESS AD UPTEMP # RECEIVING ADDRESS
INDEX A INDEX A
EBANK= 1400 EBANK= 1400
LXCH 1400 # UPDATE THE REGISTER BY CONTENTS OF L LXCH 1400 # UPDATE THE REGISTER BY CONTENTS OF L
EBANK= TEPHEM EBANK= TEPHEM
CCS MPAC # ARE THERE ANY WORDS LEFT TO BE STORED CCS MPAC # ARE THERE ANY WORDS LEFT TO BE STORED
TCF STORLP71 # YES TCF STORLP71 # YES
TCF UPOUT # NO -- THEN EXIT UPDATE PROGRAM TCF UPOUT # NO- THEN EXIT UPDATE PROGRAM
ADUPBFM1 ADRES UPBUFF -1 # SAME AS ADUPBUFF BUT LESS 1 (DON'T MOVE) ADUPBFM1 ADRES UPBUFF -1 # SAME AS ADUPBUFF BUT LESS 1 (DON'T MOVE)
TCF UPOUT # NO -- EXIT UPDATE (HERE WHEN COMPNUMB = 3) TCF UPOUT # NO- EXIT UPDATE(HERE WHEN COMPNUMB = 3)
# VERB 72 BRANCH # VERB 72 BRANCH
UPEND72 CAF BIT1 # HAVE AN ODD NO. OF COMPONENTS UPEND72 CAF BIT1 # HAVE AN ODD NO. OF COMPONENTS
MASK COMPNUMB # BEEN SENT FOR A V72 UPDATE ... MASK COMPNUMB # BEEN SENT FOR A V72 UPDATE...
CCS A CCS A
TCF +2 # YES TCF +2 # YES
TCF UPERROUT # ERROR -- SHOULD BE ODD NO. OF COMPONENTS TCF UPERROUT # ERROR- SHOULD BE ODD NO. OF COMPONENTS
CS BIT2 CS BIT2
AD COMPNUMB AD COMPNUMB
LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
INDEX A INDEX A
CAE UPBUFF +1 # PICK UP NEXT UPDATE WORD CAE UPBUFF +1 # PICK UP NEXT UPDATE WORD
LXCH A LXCH A
CCS MPAC # SET POINTER TO ECADR (MUST BE CCS) CCS MPAC # SET POINTER TO ECADR(MUST BE CCS)
TS MPAC TS MPAC
INDEX A INDEX A
CAE UPBUFF +1 # PICK UP NEXT ECADR OF REG TO BE UPDATED CAE UPBUFF +1 # PICK UP NEXT ECADR OF REG TO BE UPDATED
@ -475,19 +478,20 @@ LDLOOP72 TS MPAC # NOW PERFORM THE UPDATE
# NORMAL FINISH OF P27 # NORMAL FINISH OF P27
UPOUT EQUALS UPOUT EQUALS
TC INTWAKEU # RELEASE GRAB OF ORBITAL INTEGRATION TC INTWAKEU # RELEASE GRAB OF ORBITAL INTEGRATION
+1 CAE UPOLDMOD # RESTORE PRIOR P27 MODE +1 CAE UPOLDMOD # RESTORE PRIOR P27 MODE
TC NEWMODEX +3 TC NEWMODEX +3
CAF ZERO CAF ZERO
TS DNLSTCOD TS DNLSTCOD
TC UPACTOFF # TURN OFF `UPLINK ACTIVITY' LIGHT TC UPACTOFF # TURN OFF 'UPLINK ACTIVITY' LIGHT
EXTEND # KILL GROUP 6 EXTEND # KILL GROUP 6
DCA NEG0 DCA NEG0
DXCH -PHASE6 DXCH -PHASE6
TC ENDEXT # EXTENDED VERB EXIT TC ENDEXT # EXTENDED VERB EXIT
# VERB TO BRANCH # VERB 70 BRANCH
UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
DCS UPBUFF # TIME IN UPBUFF DCS UPBUFF # TIME IN UPBUFF
@ -504,7 +508,7 @@ UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
DCS UPBUFF DCS UPBUFF
DXCH UPBUFF +12D DXCH UPBUFF +12D
TC PHASCHNG # RESTART PROTECT (GROUP 6) TC PHASCHNG # RESTART PROTECT(GROUP 6)
OCT 04026 OCT 04026
CAF ZERO CAF ZERO
@ -513,18 +517,18 @@ UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
DAS TETCSM DAS TETCSM
CAF ZERO CAF ZERO
# Page 1507 # Page 1507
ZL ZL
DXCH UPBUFF +12D # DECREMENT LEM STATE VECTOR TIME DXCH UPBUFF +12D # DECREMENT LEM STATE VECTOR TIME
DAS TETLEM DAS TETLEM
CAF ZERO CAF ZERO
ZL ZL
DXCH UPBUFF DXCH UPBUFF
DAS TEPHEM +1 # INCREMENT TP TEPHEM DAS TEPHEM +1 # INCREMENT TP TEPHEM
ADS TEPHEM ADS TEPHEM
TC PHASCHNG # RESTART PROTECT (GROUP 6) TC PHASCHNG # RESTART PROTECT(GROUP 6)
OCT 04026 OCT 04026
EBANK= UPBUFF EBANK= UPBUFF
@ -536,19 +540,16 @@ UPEND70 EXTEND # V70 DOES THE FOLLOWING WITH DP DELTA
UPERROUT TC FALTON # TURN ON *OPERATOR ERROR* LIGHT UPERROUT TC FALTON # TURN ON *OPERATOR ERROR* LIGHT
TCF UPOUT # GO TO COMMON UPDATE PROGRAM EXIT TCF UPOUT # GO TO COMMON UPDATE PROGRAM EXIT
+2 TC FALTON # TURN ON `OPERATOR ERROR' LIGHT +2 TC FALTON # TURN ON 'OPERATOR ERROR' LIGHT
TC UPACTOFF # TURN OFF `UPLINK ACTIVITY' LIGHT TC UPACTOFF # TURN OFF'UPLINK ACTIVITY'LIGHT
TC ENDEXT # EXTENDED VERB EXIT TC ENDEXT # EXTENDED VERB EXIT
# (THE PURPOSE OF UPERROUT +2 EXIT IS # (THE PURPOSE OF UPERROUT +2 EXIT IS
# TO PROVIDE AN ERROR EXIT WHICH DOES NOT # TO PROVIDE AN ERROR EXIT WHICH DOES NOT
# RESET ANY RESTART GROUPS) # RESET ANY RESTART GROUPS)
# `UPACTOFF' IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM (P27). # :UPACTOFF: IS A ROUTINE TO TURN OFF UPLINK ACTIVITY LIGHT ON ALL EXITS FROM UPDATE PROGRAM(P27).
UPACTOFF CS BIT3 UPACTOFF CS BIT3
EXTEND # TURN OFF UPLINK ACTIVITY LIGHT EXTEND # TURN OFF UPLINK ACTIVITY LIGHT
WAND DSALMOUT # (BIT 3 OF CHANNEL 11) WAND DSALMOUT # (BIT 3 OF CHANNEL 11)
TC Q TC Q