Proof read EXECUTIVE.agc

This commit is contained in:
Murtaza 2020-10-12 09:39:50 +08:00
parent 4220509659
commit d9af7cbf2e

View file

@ -47,7 +47,7 @@ NOVAC INHINT
TS EXECTEM1 TS EXECTEM1
TCF NOVAC2 # ENTER EXECUTIVE BANK. TCF NOVAC2 # ENTER EXECUTIVE BANK.
# TO ENTER A JOB REQUEST REQUIREING 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 FINDVAC INHINT
TS NEWPRIO TS NEWPRIO
@ -60,6 +60,7 @@ SPVACIN DXCH NEWLOC
TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK. TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
# TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L: # TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
# USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO. # USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
SPVAC XCH Q SPVAC XCH Q
@ -77,7 +78,7 @@ CHANG1 LXCH Q
# TO SUSPEND AN INTERPRETIVE JOB: # TO SUSPEND AN INTERPRETIVE JOB:
CHANG2 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE. CHANG2 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
# ITRACE (4) REFERS TO "CHANG2" # ITRACE (4) REFERS TO "CHANG2".
TS L TS L
# Page 1104 # Page 1104
+2 CAF EXECBANK +2 CAF EXECBANK
@ -104,9 +105,9 @@ JOBWAKE INHINT
# TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION: # 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 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. XCH BBANK # STYLE CHANGE-JOB.
TS BANKSET TS BANKSET
CA Q CA Q
@ -126,7 +127,7 @@ EXECBANK CADR FINDVAC2
FAKEPRET ADRES MPAC -36D # LOC(MPAC +6) - LOC(QPRET) FAKEPRET ADRES MPAC -36D # LOC(MPAC +6) - LOC(QPRET)
# Page 1106 # Page 1106
# LOCATE AN AVAILABLE VAC AREA # LOCATE AN AVAILABLE VAC AREA.
BANK 01 BANK 01
COUNT* $$/EXEC COUNT* $$/EXEC
@ -149,16 +150,16 @@ FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
ZL # IN ITS VAC USE REGISTER AND STORE THE ZL # IN ITS VAC USE REGISTER AND STORE THE
INDEX A # ADDRESS OF THE FIRST WORD OF IT IN 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 ADS NEWPRIO
NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET. NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
TS LOCCTR TS LOCCTR
CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH. CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
NOVAC3 TS EXECTEM2 NOVAC3 TS EXECTEM2
INDEX LOCCTR INDEX LOCCTR
CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
TCF NEXTCORE # THE CORESPONDING CORE SET IS AVAILABLE. TCF NEXTCORE # THE CORRESPONDING CORE SET IS AVAILABLE.
NO.CORES DEC 7 NO.CORES DEC 7
TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
# BUT A DORMANT JOB'S PRIORITY IS NEGATIVE # BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
@ -167,18 +168,18 @@ NO.CORES DEC 7
CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING 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 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 CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY. TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY .
TS OVFIND TS OVFIND
CA PUSHLOC CA PUSHLOC
TS FIXLOC TS FIXLOC
SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE). 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
TC CCSHOLE TC CCSHOLE
TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET. TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
@ -215,7 +216,7 @@ CHANJOB INHINT
EXTEND EXTEND
ROR SUPERBNK # PICK UP CURRENT SBANK FOR BBCON ROR SUPERBNK # PICK UP CURRENT SBANK FOR BBCON
XCH L # LOC IN A AND BBCON IN L. XCH L # LOC IN A AND BBCON IN L.
+4 INDEX NEWJOB # SWAP LOC AND BANKSET. +4 INDEX NEWJOB # SWAP LOC AND BANKSET.
DXCH LOC DXCH LOC
DXCH LOC DXCH LOC
@ -226,18 +227,18 @@ CHANJOB INHINT
INDEX NEWJOB INDEX NEWJOB
DXCH MPAC DXCH MPAC
DXCH MPAC DXCH MPAC
DXCH MPAC +2 DXCH MPAC +2
INDEX NEWJOB INDEX NEWJOB
DXCH MPAC +2 DXCH MPAC +2
DXCH MPAC +2 DXCH MPAC +2
DXCH MPAC +4 DXCH MPAC +4
INDEX NEWJOB INDEX NEWJOB
DXCH MPAC +4 DXCH MPAC +4
DXCH MPAC +4 DXCH MPAC +4
DXCH MPAC +6 DXCH MPAC +6
INDEX NEWJOB INDEX NEWJOB
DXCH MPAC +6 DXCH MPAC +6
DXCH MPAC +6 DXCH MPAC +6
CAF ZERO CAF ZERO
XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ. XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
@ -273,7 +274,7 @@ ENDPRCHG RELINT
# Page 1110 # Page 1110
COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
AD ONE AD ONE
TS LOC # RESUME TS LOC # RESUME.
TCF INTRSM TCF INTRSM
# COMPLETE JOBSLEEP PREPARATIONS. # COMPLETE JOBSLEEP PREPARATIONS.
@ -287,42 +288,42 @@ JOBSLP1 INHINT
ROR SUPERBNK # SAVE OLD SUPERBANK VALUE. ROR SUPERBNK # SAVE OLD SUPERBANK VALUE.
TS BANKSET TS BANKSET
CS ZERO CS ZERO
JOBSLP2 TS BUF +1 # HOLDS -- HIGHEST PRIORITY. JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB. 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 CCS NEWJOB
TCF +3 # NEWJOB STILL PNZ TCF +3 # NEWJOB STILL PNZ
RELINT # NEW JOB HAS CHANGED TO +0. WAKE UP JOB RELINT # NEW JOB HAS CHANGED TO +0. WAKE UP JOB
TCF ADVAN +2 # VIA NUDIRECT. (VERY RARE CASE.) TCF ADVAN +2 # VIA NUDIRECT. (VERY RARE CASE.)
CAF TWO CAF TWO
EXTEND EXTEND
WOR DSALMOUT # TURN ON ACTIVITY LIGHT WOR DSALMOUT # TURN ON ACTIVITY LIGHT
DXCH LOC # AND SAVE ADDRESS INFO FOR BENEFIT OF DXCH LOC # AND SAVE ADDRESS INFO FOR BENEFIT OF
TCF CHANJOB +4 # POSSIBLE SLEEPINT JOB. TCF CHANJOB +4 # POSSIBLE SLEEPING JOB.
# Page 1111 # Page 1111
# TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE # TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
# LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND, # LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
# LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE. # LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
JOBWAKE2 TS EXECTEM1 JOBWAKE2 TS EXECTEM1
CAF ZERO # BEGIN CORE SET SCAN CAF ZERO # BEGIN CORE SET SCAN.
TS LOCCTR TS LOCCTR
CAF NO.CORES CAF NO.CORES
JOBWAKE4 TS EXECTEM2 JOBWAKE4 TS EXECTEM2
INDEX LOCCTR INDEX LOCCTR
CCS PRIORITY 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. 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 JOBWAKE3 CAF COREINC
ADS LOCCTR ADS LOCCTR
CCS EXECTEM2 CCS EXECTEM2
TCF JOBWAKE4 TCF JOBWAKE4
CS ONE # EXIT IF SLEEPIN JOB NOT FOUND. CS ONE # EXIT IF SLEEPING JOB NOT FOUND.
TS LOCCTR TS LOCCTR
TCF ENDFIND TCF ENDFIND
@ -353,7 +354,7 @@ WAKETEST CS NEWLOC
TCF SPECTEST TCF SPECTEST
# Page 1112 # Page 1112
# 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 PRIOCH2 TS LOC
CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
@ -370,7 +371,7 @@ PRIOCH2 TS LOC
ENDJOB1 INHINT ENDJOB1 INHINT
CS ZERO CS ZERO
TS BUF +1 TS BUF +1
XCH PRIORITY XCH PRIORITY
MASK LOW9 MASK LOW9
TS L TS L
@ -424,7 +425,7 @@ EJSCAN CCS PRIORITY +12D
# Page 1115 # Page 1115
# EVALUATE THE RESULTS OF THE SCAN. # 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
TC CCSHOLE TC CCSHOLE
@ -435,21 +436,21 @@ EJSCAN CCS PRIORITY +12D
TCF ENDPRCHG -1 TCF ENDPRCHG -1
INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET. CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
AD -CCSPR AD -CCSPR
TS NEWJOB TS NEWJOB
TCF CHANJOB -2 TCF CHANJOB -2
EJ1 TS BUF +2 EJ1 TS BUF +2
AD BUF +1 # - OLD HIGH PRIORITY. AD BUF +1 # - OLD HIGH PRIORITY.
CCS A CCS A
CS BUF +2 CS BUF +2
TCF EJ2 # NEW HIGH PRIORITY. TCF EJ2 # NEW HIGH PRIORITY.
NOOP NOOP
INDEX Q INDEX Q
TC 2 # PROCEED WITH SEARCH. TC 2 # PROCEED WITH SEARCH.
EJ2 TS BUF +1 EJ2 TS BUF +1
EXTEND EXTEND
QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR. QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
INDEX BUF INDEX BUF
@ -467,15 +468,15 @@ DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
CS TWO # TURN OFF THE ACTIVITY LIGHT. CS TWO # TURN OFF THE ACTIVITY LIGHT.
EXTEND EXTEND
WAND DSALMOUT WAND DSALMOUT
ADVAN CCS NEWJOB # IS THE NEWJOB ACTIVE? ADVAN CCS NEWJOB # IS A NEWJOB ACTIVE ?
TCF NUCHANG2 # YES... ONE REQUIRING A CHANGE JOB. TCF NUCHANG2 # YES... ONE REQUIRING A CHANGE JOB.
CAF TWO # NEW JOB ALREADY IN POSITION FOR CAF TWO # NEW JOB ALREADY IN POSITION FOR
TCF NUDIRECT # EXECUTION TCF NUDIRECT # EXECUTION.
CA SELFRET CA SELFRET
TS L # PUT RETURN ADDRESS IN L. TS L # PUT RETURN ADDRESS IN L.
CAF SELFBANK CAF SELFBANK
TCF SUPDXCHZ +1 # AND DISPATCH JOB. TCF SUPDXCHZ + 1 # AND DISPATCH JOB.
EBANK= SELFRET EBANK= SELFRET
SELFBANK BBCON SELFCHK SELFBANK BBCON SELFCHK
@ -489,7 +490,7 @@ NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
COUNT* $$/EXEC COUNT* $$/EXEC
# SUPDXCHZ -- ROUTINE TO TRANSFER TO SUPEBANK. # SUPDXCHZ - ROUTINE TO TRANSFER TO SUPERBANK.
# CALLING SEQUENCE: # CALLING SEQUENCE:
# TCF SUPDXCHZ # WITH 2CADR OF DESIRED LOCATION IN A + L. # TCF SUPDXCHZ # WITH 2CADR OF DESIRED LOCATION IN A + L.
@ -500,4 +501,3 @@ SUPDXCHZ XCH L # BASIC.
TC L TC L
NEG100 OCT 77677 NEG100 OCT 77677