Proof EXECUTIVE (closes #205) (#354)

* Proof EXECUTIVE #354 

* Use full stop.
pull/355/head
cai 2018-10-09 16:16:45 +08:00 committed by James Harris
parent c1638c369c
commit 2bcb943ee9
1 changed files with 35 additions and 36 deletions

View File

@ -47,7 +47,7 @@ NOVAC INHINT
TS EXECTEM1
TCF NOVAC2 # ENTER EXECUTIVE BANK.
# TO ENTER A JOB REQUEST REQUIRING A VAC AREA -- E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
# TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
FINDVAC INHINT
TS NEWPRIO
@ -77,7 +77,7 @@ CHANG1 LXCH Q
# TO SUSPEND AN INTERPRETIVE JOB:
CHANG2 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
# ITRACE (4) REFERS TO "CHANG2"
# ITRACE (4) REFERS TO "CHANG2".
# Page 1209
TS L
+2 CAF EXECBANK
@ -104,9 +104,9 @@ JOBWAKE INHINT
# TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
XCH BBANK # STYLE CHANGE-JOB.
TS BANKSET
CA Q
@ -126,7 +126,7 @@ EXECBANK CADR FINDVAC2
FAKEPRET ADRES MPAC -36D # LOC(MPAC +6) - LOC(QPRET)
# Page 1211
# LOCATE AN AVAILABLE VAC AREA
# LOCATE AN AVAILABLE VAC AREA.
BANK 01
COUNT 01/EXEC
@ -148,10 +148,10 @@ FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
ZL # IN ITS VAC USE REGISTER AND STORE THE
INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
ADS NEWPRIO
NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
TS LOCCTR
CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
NOVAC3 TS EXECTEM2
@ -166,9 +166,9 @@ NO.CORES DEC 6
CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR.
MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR
INDEX LOCCTR
TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS.
TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY.
@ -177,7 +177,7 @@ CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
TS FIXLOC
SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
TCF SETLOC # MUST BE AWAKENED OUT UNCHANGED JOB.
TCF SETLOC # MUST BE AWAKENED BUT UNCHANGED JOB.
TC CCSHOLE
TC CCSHOLE
TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
@ -270,7 +270,7 @@ ENDPRCHG RELINT
# Page 1215
COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
AD ONE
TS LOC # RESUME
TS LOC # RESUME.
TCF INTRSM
# COMPLETE JOBSLEEP PREPARATIONS.
@ -284,20 +284,20 @@ JOBSLP1 INHINT
ROR SUPERBNK # SAVE OLD SUPERBANK VALUE.
TS BANKSET
CS ZERO
JOBSLP2 TS BUF +1 # HOLDS -- HIGHEST PRIORITY.
JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
NUCHANG2 INHINT # QUICK... DON'T LET NEWJOB CHANGE TO +0.
NUCHANG2 INHINT # QUICK... DONT LET NEWJOB CHANGE TO +0 .
CCS NEWJOB
TCF +3 # NEWJOB STILL PNZ
RELINT # NEW JOB HAS CHANGED TO +0. WAKE UP JOB
TCF ADVAN +2 # VIA NUDIRECT. (VERY RARE CASE.)
TCF +3 # NEWJOB STILL PNZ
RELINT # NEWJOB HAS CHANGED TO +0. WAKE UP JOB
TCF ADVAN +2 # VIA NUDIRECT. (VERY RARE CASE.)
CAF TWO
EXTEND
WOR DSALMOUT # TURN ON ACTIVITY LIGHT
DXCH LOC # AND SAVE ADDRESS INFO FOR BENEFIT OF
TCF CHANJOB +4 # POSSIBLE SLEEPING JOB.
TCF CHANJOB + 4 # POSSIBLE SLEEPING JOB.
# Page 1216
# TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
@ -305,15 +305,15 @@ NUCHANG2 INHINT # QUICK... DON'T LET NEWJOB CHANGE TO +0.
# LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
JOBWAKE2 TS EXECTEM1
CAF ZERO # BEGIN CORE SET SCAN
CAF ZERO # BEGIN CORE SET SCAN.
TS LOCCTR
CAF NO.CORES
JOBWAKE4 TS EXECTEM2
INDEX LOCCTR
CCS PRIORITY
TCF JOBWAKE3 # ACTIVE JOB -- CHECK NEXT CORE SET.
TCF JOBWAKE3 # ACTIVE JOB - CHECK NEXT CORE SET.
COREINC DEC 12 # 12 REGISTERS PER CORE SET.
TCF WAKETEST # SLEEPING JOB -- SEE IF CADR MATCHES.
TCF WAKETEST # SLEEPING JOB - SEE IF CADR MATCHES.
JOBWAKE3 CAF COREINC
ADS LOCCTR
@ -336,7 +336,7 @@ WAKETEST CS NEWLOC
INDEX LOCCTR
TS PRIORITY
CS FBANKMSK # MASK UP THE 2CADR OF THE WAKE ADDRESS
CS FBANKMSK # MAKE UP THE 2CADR OF THE WAKE ADDRESS
MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
AD 2K # HALF OF BBANK SAVED IN BANKSET.
XCH NEWLOC
@ -350,7 +350,7 @@ WAKETEST CS NEWLOC
TCF SPECTEST
# Page 1217
# PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
# PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
PRIOCH2 TS LOC
CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
@ -415,25 +415,24 @@ EJSCAN CCS PRIORITY +12D
# Page 1219
# EVALUATE THE RESULTS OF THE SCAN.
CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
TC CCSHOLE
TC CCSHOLE
TCF +2
TCF DUMMYJOB
CCS BUF # BUF IS ZERO IS THIS IS A PRIOCHNG AND
CCS BUF # BUF IS ZERO IF THIS IS A PRIOCHNG AND
TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
TCF ENDPRCHG -1
INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
# Was CAF --- RSB 2004
CA 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
AD -CCSPR
TS NEWJOB
TCF CHANJOB -2
EJ1 TS BUF +2
AD BUF +1 # - OLD HIGH PRIORITY.
EJ1 TS BUF +2
AD BUF +1 # - OLD HIGH PRIORITY.
CCS A
CS BUF +2
TCF EJ2 # NEW HIGH PRIORITY.
@ -441,7 +440,7 @@ EJ1 TS BUF +2
INDEX Q
TC 2 # PROCEED WITH SEARCH.
EJ2 TS BUF +1
EJ2 TS BUF +1
EXTEND
QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
INDEX BUF
@ -459,15 +458,15 @@ DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
CS TWO # TURN OFF THE ACTIVITY LIGHT.
EXTEND
WAND DSALMOUT
ADVAN CCS NEWJOB # IS THE NEWJOB ACTIVE?
ADVAN CCS NEWJOB # IS A NEWJOB ACTIVE ?
TCF NUCHANG2 # YES... ONE REQUIRING A CHANGE JOB.
CAF TWO # NEW JOB ALREADY IN POSITION FOR
TCF NUDIRECT # EXECUTION
TCF NUDIRECT # EXECUTION.
CA SELFRET
TS L # PUT RETURN ADDRESS IN L.
CAF SELFBANK
TCF SUPDXCHZ +1 # AND DISPATCH JOB.
TCF SUPDXCHZ + 1 # AND DISPATCH JOB.
EBANK= SELFRET
SELFBANK BBCON SELFCHK
@ -481,12 +480,12 @@ NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
COUNT 02/EXEC
# SUPDXCHZ -- ROUTINE TO TRANSFER TO SUPERBANK.
# CALLING SEQUENCE:
# TCF SUPDXCHZ # WITH 2CADR OF DESIRED LOCATION IN A + l.
# SUPDXCHZ - ROUTINE TO TRANSFER TO SUPERBANK.
# CALLING SEQUENCE
# TCF SUPDXCHZ # WITH 2CADR OF DESIRED LOCATION IN A + L.
SUPDXCHZ XCH L # BASIC.
+1 EXTEND
+1 EXTEND
WRITE SUPERBNK
TS BBANK
TC L