Proof RESTARTS_ROUTINE (#251) (#327)

Proof RESTARTS_ROUTINE (closes #251)
This commit is contained in:
cai 2018-04-23 22:32:55 +08:00 committed by James Harris
parent b66290c2e6
commit a6693fd688

View File

@ -53,11 +53,11 @@ RESTARTS CA MPAC +5 # GET GROUP NUMBER -1
CA TEMPPHS CA TEMPPHS
MASK OCT1400 MASK OCT1400
CCS A # IS IT A VARIABLE OR TABLE RESTART CCS A # IS IT A VARIABLE OR TABLE RESTART
TCF ITSAVAR # IT'S A VARIABLE RESTART TCF ITSAVAR # IT:S A VARIABLE RESTART
GETPART2 CCS TEMPPHS # IS IT AN X.1 RESTART GETPART2 CCS TEMPPHS # IS IT AN X.1 RESTART
CCS A CCS A
TCF ITSATBL # NO, IT'S A TABLE RESTART TCF ITSATBL # NO, ITS A TABLE RESTART
CA PRIO14 # IT IS AN X.1 RESTART, THEREFORE START CA PRIO14 # IT IS AN X.1 RESTART, THEREFORE START
TC FINDVAC # THE DISPLAY RESTART JOB TC FINDVAC # THE DISPLAY RESTART JOB
@ -68,9 +68,9 @@ GETPART2 CCS TEMPPHS # IS IT AN X.1 RESTART
ITSAVAR MASK OCT1400 # IS IT TYPE B ? ITSAVAR MASK OCT1400 # IS IT TYPE B ?
CCS A CCS A
TCF ITSLIKEB # YES, IT IS TYPE B TCF ITSLIKEB # YES,IT IS TYPE B
EXTEND # STORES THE JOB (OR TASK) 2CADR FOR EXIT EXTEND # STORE THE JOB (OR TASK) 2CADR FOR EXIT
NDX TEMP2G NDX TEMP2G
DCA PHSNAME1 DCA PHSNAME1
DXCH GOLOC DXCH GOLOC
@ -79,13 +79,13 @@ ITSAVAR MASK OCT1400 # IS IT TYPE B ?
MASK OCT7 MASK OCT7
AD MINUS2 AD MINUS2
CCS A CCS A
TCF ITSLNGCL # IT'S A LONGCALL TCF ITSLNGCL # ITS A LONGCALL
# Page 1415 # Page 1415
RTRNCADR TC SWRETURN # CAN'T GET HERE. RTRNCADR TC SWRETURN # CANT GET HERE
TCF ITSAWAIT TCF ITSAWAIT
TCF ITSAJOB # IT'S A JOB TCF ITSAJOB # ITS A JOB
ITSAWAIT CA WTLTCADR # SET UP WAITLIST CALL ITSAWAIT CA WTLTCADR # SET UP WAITLIST CALL
TS GOLOC -1 TS GOLOC -1
@ -109,7 +109,7 @@ TIMETEST CCS A # IS IT AN IMMEDIATE RESTART
COUNT 02/RSROU COUNT 02/RSROU
ITSINDIR LXCH GOLOC +1 # GET THE CORRECT E BANK IN CASE THIS IS ITSINDIR LXCH GOLOC +1 # GET THE CORRECT E BANK IN CASE THIS IS
LXCH BB # SWITCHED ERASABLE LXCH BB # SWITCHED ERRASIBLE
NDX A # GET THE TIME INDIRECTLY NDX A # GET THE TIME INDIRECTLY
CA 1 CA 1
@ -156,19 +156,19 @@ ITSLIKEB CA RTRNCADR # TYPE B, SO STORE RETURN IN
TS TEMPPHS TS TEMPPHS
EXTEND EXTEND
NDX TEMP2G # OBTAIN THE JOB'S 2CADR NDX TEMP2G # OBTAIN THE JOB:S 2CADR
DCA PHSNAME1 DCA PHSNAME1
DXCH GOLOC DXCH GOLOC
ITSAJOB NDX TEMP2G # NOW ADD THE PRIORITY AND LET'S GO ITSAJOB NDX TEMP2G # NOW ADD THE PRIORITY AND LET:S GO
CA PHSPRDT1 CA PHSPRDT1
CHKNOVAC TS GOLOC -1 # SAVE PRIO UNTIL WE SEE IF IT'S CHKNOVAC TS GOLOC -1 # SAVE PRIO UNTIL WE SEE IF ITS
EXTEND # A FINDVAC OR A NOVAC EXTEND # A FINDVAC OR A NOVAC
BZMF ITSNOVAC BZMF ITSNOVAC
CAF FVACCADR # POSITIVE, SET UP FINDVAC CALL. CAF FVACCADR # POSITIVE, SET UP FINDVAC CALL.
XCH GOLOC -1 # PICK UP PRIO XCH GOLOC -1 # PICK UP PRIO,
TC GOLOC -1 AND GO TC GOLOC -1 # AND GO
ITSNOVAC CAF NOVACADR # NEGATIVE, ITSNOVAC CAF NOVACADR # NEGATIVE,
XCH GOLOC -1 # SET UP NOVAC CALL, XCH GOLOC -1 # SET UP NOVAC CALL,
@ -177,7 +177,7 @@ ITSNOVAC CAF NOVACADR # NEGATIVE,
ITSATBL TS CYR # FIND OUT IF THE PHASE IS ODD OR EVEN ITSATBL TS CYR # FIND OUT IF THE PHASE IS ODD OR EVEN
CCS CYR CCS CYR
TCF +1 # IT'S EVEN TCF +1 # IT:S EVEN
TCF ITSEVEN TCF ITSEVEN
CA RTRNCADR # IN CASE THIS IS THE SECOND PART OF A CA RTRNCADR # IN CASE THIS IS THE SECOND PART OF A
@ -201,7 +201,7 @@ CONTBL2 EXTEND # FIND OUT WHAT'S IN THE TABLE
TCF ITSAJOB2 TCF ITSAJOB2
INCR A # MUST BE EITHER A WAITLIST OR LONGCALL INCR A # MUST BE EITHER A WAITLIST OR LONGCALL
TS GOLOC # LET'S STORE THE CORRECT CADR TS GOLOC # LET-S STORE THE CORRECT CADR
CA WTLTCADR # SET UP OUR EXIT TO WAITLIST CA WTLTCADR # SET UP OUR EXIT TO WAITLIST
TS GOLOC -1 TS GOLOC -1
@ -210,7 +210,7 @@ CONTBL2 EXTEND # FIND OUT WHAT'S IN THE TABLE
MASK BIT10 # THIS SHOULD BE ONE IF WE HAVE -BB MASK BIT10 # THIS SHOULD BE ONE IF WE HAVE -BB
CCS A # FOR THAT MATTER SO SHOULD BE BITS 9,8,7, CCS A # FOR THAT MATTER SO SHOULD BE BITS 9,8,7,
# 6,5, AND LAST BUT NOT LEAST (PERHAPS NOT # 6,5, AND LAST BUT NOT LEAST (PERHAPS NOT
# IN IMPORTANCE ANYWAY. BUT 4 # IN IMPORTANCE ANYWAY. BIT 4
TCF ITSWTLST # IT IS A WAITLIST CALL TCF ITSWTLST # IT IS A WAITLIST CALL
NDX POINTER # OBTAIN THE ORIGINAL DELTA T NDX POINTER # OBTAIN THE ORIGINAL DELTA T
@ -237,7 +237,8 @@ ITSLGCL1 LXCH GOLOC +1 # OBTAIN THE CORRECT E BANK
LXCH GOLOC +1 # RESTORE OUR E AND F BANK LXCH GOLOC +1 # RESTORE OUR E AND F BANK
LXCH BB # RESTORE THE TASKS E AND F BANKS LXCH BB # RESTORE THE TASKS E AND F BANKS
LXCH GOLOC +1 # AND PRESERVE OUR L LXCH GOLOC +1 # AND PRESERVE OUR L
TCF ITSLGCL2 # NOT GET'S PROCESS THIS LONGCALL
TCF ITSLGCL2 # NOW LET:S PROCESS THIS LONGCALL
# ***** YOU MAY RETURN TO SWITCHED FIXED ***** # ***** YOU MAY RETURN TO SWITCHED FIXED *****
@ -246,6 +247,7 @@ ITSLGCL1 LXCH GOLOC +1 # OBTAIN THE CORRECT E BANK
BANK BANK
COUNT 01/RSROU COUNT 01/RSROU
ITSLGCL2 DXCH LONGTIME ITSLGCL2 DXCH LONGTIME
EXTEND # CALCULATE TIME LEFT EXTEND # CALCULATE TIME LEFT
@ -261,7 +263,7 @@ ITSLGCL2 DXCH LONGTIME
TCF IMEDIATE -3 TCF IMEDIATE -3
CCS LONGTIME +1 CCS LONGTIME +1
TCF LONGCLCL TCF LONGCLCL
NOOP # CAN'T GET HERE ************ NOOP # CAN:T GET HERE *********
TCF IMEDIATE -3 TCF IMEDIATE -3
TCF IMEDIATE TCF IMEDIATE
@ -290,30 +292,30 @@ ITSWTLST CS GOLOC +1 # CORRECT THE BBCON INFORMATION
ITSAJOB2 XCH GOLOC # STORE THE CADR ITSAJOB2 XCH GOLOC # STORE THE CADR
NDX POINTER # ADD THE PRIORITY AND LET'S GO NDX POINTER # ADD THE PRIORITY AND LET:S GO
CA PRDTTAB CA PRDTTAB
TCF CHKNOVAC TCF CHKNOVAC
ITSEVEN CA TEMPSWCH # SET FOR EITHER THE SECOND PART OF THE ITSEVEN CA TEMPSWCH # SET UP FOR EITHER THE SECOND PART OF THE
TS GOLOC +2 # TABLE, OR A RETURN FOR THE NEXT GROUP TS GOLOC +2 # TABLE, OR A RETURN FOR THE NEXT GROUP
NDX TEMP2G # SET UP POINTER FOR OUR LOCATION WITHIN NDX TEMP2G # SET UP POINTER FOR OUR LOCATION WITHIN
CA SIZETAB # THE TABLE CA SIZETAB # THE TABLE
AD TEMPPHS # THIS MAY LOOK BAD BUT LET'S SEE YOU DO AD TEMPPHS # THIS MAY LOOK BAD BUT LET:S SEE YOU DO
AD TEMPPHS # BETTER IN TIME OR NUMBER OF LOCATIONS AD TEMPPHS # BETTER IN TIME OR NUMBER OF LOCATIONS
AD TEMPPHS AD TEMPPHS
TS POINTER TS POINTER
TCF CONTBL2 # NO PROCESS WHAT IS IN THE TABLE TCF CONTBL2 # NOW PROCESS WHAT IS IN THE TABLE
PHSPART2 CA THREE # SET THE POINTER FOR THE SECOND HALF OF PHSPART2 CA THREE # SET THE POINTER FOR THE SECOND HALF OF
ADS POINTER # THE TABLE ADS POINTER # THE TABLE
CA RTRNCADR # THIS WILL BE OUR LAST TIME THROUGH THE CA RTRNCADR # THIS WILL BE OUR LAST TIME THROUGH THE
TS GOLOC +2 # EVEN TABLE, SO AFTER IT GET THE NEXT TS GOLOC +2 # EVEN TABLE , SO AFTER IT GET THE NEXT
# GROUP # GROUP
TCF CONTBL2 # SO LET'S GET THE SECOND ENTRY IN THE TBL TCF CONTBL2 # SO LET:S GET THE SECOND ENTRY IN THE TBL
TEMPPHS EQUALS MPAC TEMPPHS EQUALS MPAC
TEMP2G EQUALS MPAC +1 TEMP2G EQUALS MPAC +1