Added recovered BINCOM.MAC source.
[retro-software/dec/tops10/v4.5.git] / src / clock1.mac
index 7c7bcdf..92a704e 100644 (file)
@@ -1,5 +1,5 @@
-TITLE  CLOCK1 - CLOCK, CONTEXT SWITCHING, AND JOB STARTING AND STOP ROUTINES - V412\r
-SUBTTL APRINT TH/TH/CHW   TS  20 MAY 69\r
+TITLE  CLOCK1 - CLOCK, CONTEXT SWITCHING, AND JOB STARTUP AND STOP ROUTINES - V412\r
+SUBTTL APRINT TH/TH/CHW  TS  20 MAY 69\r
 XP VCLOCK1,412\r
                ; PUT VERSION NUMBER IN GLOB LISTING AND LOADER STORAGE MAP\r
 \r
@@ -18,7 +18,7 @@ EXTERNAL JOBDAT,JOBTPC,JOBCNI,JOBAPR,APRERR,SCHEDF
 EXTERNAL APRILM,COMMAN,CONMES,DEVCHK,DEVSRC,ERROR,INLMES\r
 EXTERNAL RELEA9,CRSHWD,CRASHX\r
 \r
-INTERNAL       FTTTYSER        ;THIS ROUTINE MAY BE ASSEMBLED TO WORD  EITHER\r
+INTERNAL       FTTTYSER        ;THIS ROUTINE MAY BE ASSEMBLED TO WORK WITH  EITHER\r
                                ; THE OLD SCNSER OR THE NEW TTYSER.\r
 \r
 \r
@@ -31,11 +31,10 @@ INTERNAL UUO1
 IFE FTCHECK+FTMONP,<\r
        INTERN CLOCK,DAMESS\r
        EXTERN CIPWTM\r
-APRCON: 231000         ;MONITOR ENABLED CPU FLAGS\r
-APRIN1: 0              ;USER ENABLED CPU FLAGS\r
-CLKS17: 0              ;PLACE TO SAVE AC17 ON CLOCK INTERRUPT\r
-DAMESS: ASCIZ /-JAN-/\r
-\r
+APRCON:        231000          ;MONITOR ENABLED CPU FLAGS\r
+APRIN1:        0               ;USER ENABLED CPU FLAGS\r
+CLKS17:        0               ;PLACE TO SAVE AC17 ON CLOCK INTERRUPT\r
+DAMESS:        ASCIZ /-JAN-/\r
 CLOCK: POINT 36,CIPWTM,35      ;BYTE POINTER TO CLOCK REQ QUEUE\r
 >\r
 \f      INTERN APRINT\r
@@ -43,11 +42,11 @@ CLOCK:      POINT 36,CIPWTM,35      ;BYTE POINTER TO CLOCK REQ QUEUE
 APRINT:        JRST APRPAR             ;ALWAYS CHECK APR AND PI DEVICES\r
        JRST .                  ;CHECK OTHER DEVICES\r
 \r
-APRPCL: CONO PI,240000         ;TURN OFF MEM PAR, ERR, AND\r
+APRPCL:        CONO PI,240000          ;TURN OFF MEM PAR. ERR, AND\r
                                ; ENABLE FOR MEM PAR AND TRY AGAIN\r
                                ; (DO NOT TURN OFF POWR FAIL AS THAT PERMANENTLY\r
                                ; DISABLES POWR FAIL INTERRUPT)\r
-APRPAR: CONSZ PI,600000                ;MEM PARITY ERROR OR POWER FAILURE?\r
+APRPAR:        CONSZ PI,600000         ;MEM PARITY ERROR OR POWER FAILURE?\r
        HALT APRPCL             ;YES, HALT MACHINE, CLEAR FLAGS AND TRY AGAIN\r
                                ; ON CONTINUE\r
        CONSO APR,@APRCON       ;INTERRUPT FOR APR?\r
@@ -55,8 +54,8 @@ APRPAR: CONSZ PI,600000               ;MEM PARITY ERROR OR POWER FAILURE?
                                ; RH MODIFIED EACH TIME USER RUNS IN CASE HE IS\r
                                ; ENABLED FOR PC CHANGE OR AR OVF\r
        JRST APRINT+1           ;NO,CHECK OTHER DEVICES ON THIS PI CHANNEL\r
-       SKIPE CRSHWD            ;IS LOC, 30 CLOBBERED?\r
-       JRST CRASHX             ;YES ~ GO SAVE AC'S & STATE OF ALL DEVS,\r
+       SKIPE CRSHWD            ;IS LOC. 30 CLOBBERED?\r
+       JRST CRASHX             ;YES - GO SAVE AC'S & STATE OF ALL DEVS.\r
        CONSO APR,001000        ;YES, IS IT CLOCK?\r
        JRST APRER              ;NO, GO CHECK ERROR FLAGS\r
        AOS TIME                ;YES, INCREMENT TIME OF DAY\r
@@ -66,7 +65,7 @@ APRPAR: CONSZ PI,600000               ;MEM PARITY ERROR OR POWER FAILURE?
        CONO PI,REQCLK          ;REQUEST INTERRUPT ON CLK CHANNEL\r
        CONSZ APR,@APRIN1       ;IS USER ENABLE FOR ANY FLAGS(INCLUDING CLOCK)\r
                                ; RH ALSO MODIFIED EACH TIME A USER RUNS\r
-       JRST APRER              ;YES, GO PROCESS TRAP\r
+       JRST APRER1             ;YES, GO PROCESS TRAP\r
        CONO APR,1000+APRCHN    ;NO, CLEAR ONLY THE CLOCK FLAG\r
        JEN @APRCHL             ;DISMISS INTERRUPT\r
 \r
@@ -76,7 +75,7 @@ APRER1:       CONO APR,1000+APRCHN    ;NOW CLEAR CLOCK FLAG
        EXCH TAC,APRCHL         ;SAVE TAC, GET PC\r
        TLNE TAC,USRMOD         ;IS PC FROM USER MODE?\r
        JRST APRER4             ;YES, GO TRAP TO HIM\r
-       JRST APRER2             ;NO. GO CHECK IN CASE ALSO A SERIOUS ERROR\r
+       JRST APRER2             ;NO, GO CHECK IN CASE ALSO A SERIOUS ERROR\r
 \f;OTHER APR INTERRUPTS BESIDES CLOCK\r
 \r
 APRER: EXCH TAC,APRCHL         ;SAVE TAC, GET PC\r
@@ -94,27 +93,26 @@ APRER4:     EXCH JDAT,JOBDAT        ;YES, SAVE JDAT, GET CURRENT JOB DATA AREA ADR.
        HRRM TAC,APRCON         ;PD OVF,ILM,NXM, AND CLOCK\r
        HRR TAC,JOBAPR(JDAT)    ;GET USER LOC TO TRAP TO\r
        EXCH JDAT,JOBDAT        ;RESTORE JDAT,JOBDAT\r
-       CONO APR,440+APRCHN     ;DISBALE FOV, AROVF IN CASE ON\r
+       CONO APR,440+APRCHN     ;DISABLE FOV, AROVF IN CASE ON\r
                                ;SO USER MUST REENABLE WITH SETAPR UUO\r
-\r
 APRER3:        TLZ     TAC,440000      ;CLEAR FOV (PC CHANGE ON PDP-6) AND AR OVF FLAGS\r
                                ; SO INTERRUPT MAY BE DISMISSED\r
        EXCH    TAC,APRCHL      ;RESTORE TAC & APRCHL\r
        CONO APR,430110+APRCHN  ;CLEAR ALL ERROR FLAGS WHICH CAN CAUSE INTERRUPTS\r
                                ; EXCEPT CLOCK FLAG(ELSE LOSE TIME OF DAY)\r
        JEN @APRCHL             ;DISMISS INTERRUPT\r
-\fAPRER2: CONSO APR,NXM!ILM!POV! ;DOES EXEC CARE?\r
-       JRST    APRER3          ;NO. IGNORE EXEC OVERFLOW (MUST BE FOV OR AROVF\r
+\fAPRER2:       CONSO   APR,NXM!ILM!POV ;DOES EXEC CARE?\r
+       JRST    APRER3          ;NO. IGNORE EXEC OVERFLOW (MUST BE FOV OR AROVF)\r
        MOVEM   TAC,APRPC       ;STORE ERROR PC FOR CLK CHANNEL\r
        CONI APR,APRERR         ;STORE ERROR FLAGS\r
                                ; (ALSO USED AS ERROR FLAG)\r
        SETOM CLKFLG            ;SET FLAG FOR CLK INTERRUPT\r
        SETOM SCHEDF            ;FLAG THAT RESCHEDULING IS NEEDED\r
-                               ; (EVEN THROUGH PC MAY BE IN EXEC MODE)\r
+                               ; (EVEN THOUGH PC MAY BE IN EXEC MODE)\r
        CONO PI,REQCLK          ;REQUEST INTERRUPT IN CLK CHANNEL\r
        CONSZ   APR,ILM         ;WAS ERROR ILLEGAL MEMORY(FROM USER)?\r
        HRRI    TAC,0           ;YES,CLEAR RH OF PC,SO A SECOND ILM INTERRUPT\r
-                               ; WILL NOT OCCUR IF THIS IS A WILD(AND A PDP-10)\r
+                               ; WILL NOT OCCUR IF THIS IS A WILD PC(AND A PDP-10)\r
 IFN FTHALT,<\r
        CONSZ   PI,003400       ;ARE ANY PI'S IN PROGRESS OF LOWER PRIORITY THAN APR?\r
                                ; (PDP-10 BITS ONLY)\r
@@ -127,10 +125,10 @@ IFN FTHALT,<
 ;THIS ROUTINE RUNS ON THE LOWEST PRIORITY PI CHANNEL AND AT UUO LEVEL\r
 ;TO CAUSE AN INTERRUPT ON CLK CHANNEL:\r
 ;      SETOM CLKFLG    ;FLAG THAT INTERRUPT HAS BEEN REQUESTED\r
-;      CONO PI,CLKREQ  ;REQUEST PI INTERRUPT ON LOWEST PI CHANNEL\r
+;      CONO PI,CLKREQ  ;REQUEST PI INTERUPT ON LOWEST PI CHANNEL\r
 ;THE FOLLOWING OTHER FLAGS MUST ALSO BE SET\r
 ;APRERR-APR DETECTED ERROR IN CURRENT JOB\r
-;SCHEDF-RESCHEDULING MUST TAKE PLACE(EVEN THROUGH PC IN EXEC MODE)\r
+;SCHEDF-RESCHEDULING MUST TAKE PLACE(EVEN THOUGH PC IN EXEC MODE)\r
 ;TIMEF-APR CLOCK HAS TICKED ON HIGH PRIORITY CHANNEL\r
 ;SEE APRSER AND RUNCSS TO SEE HOW THIS ROUTINE IS CALLED\r
 \r
@@ -141,11 +139,10 @@ IFN FTHALT,<
 ;THEN CALLS SCHEDULER\r
 ;IF THE CURRENT JOB IS IN EXEC MODE THE ABOVE 4 TASKS ARE\r
 ;DELAYED UNTIL THE CURRENT JOB ENTERS A STOPPABLE STATE: I.E., UNTIL\r
-\r
 ;      1. JOB STARTS TO WAIT FOR A BUSY SHARABLE DEVICE\r
-;      2. JOB STARTS TO WAIT FOR A IO TO COMPLETE\r
+;      2. JOB STARTS TO WAIT FOR IO TO COMPLETE\r
 ;      3. CONTROL ABOUT TO RETURN TO USER MODE\r
-;THEN CLK SERVICE IS ENTERED AT THE UU0 LEVEL\r
+;THEN CLK SERVICE IS ENTERED AT THE UUO LEVEL\r
 \r
 STOR=DAT\r
 T=TAC\r
@@ -160,7 +157,7 @@ JA=JDAT
 ;      CONO PI,PIOFF\r
 ;      IDPB AC,CLOCK   ;STORE CLOCK REQUEST IN QUEUE\r
 ;      CONO PI,PION    ;TURN PI BACK ON\r
-;C(AC)=XWD ADDRESS,NO. OF CLOCK TICKS*DATA*10000\r
+;C(AC)=XWD ADDRESS,NO. OF CLOCK TICKS+DATA*10000\r
 ;WHERE DATA IS 6 BITS OF INFO NEEDED WHEN TIME RUNS OUT\r
 ;CLK SERVICE WILL PUSHJ PDP,ADR\r
 ;WHEN TIME RUNS OUT WITH DATA RIGHT JUSTIFIED IN AC TAC\r
@@ -184,10 +181,12 @@ WSCHED:   POP PDP,USRPC           ;SAVE PC IN PROTECTED PART OF SYSTEM DATA
        MOVEI AC3,JOBDAC(JDAT)  ;SAVE ACS 0-16 IN DUMP ACS\r
        BLT AC3,JOBD16(JDAT)    ;IN CURRENT JOB DATA AREA\r
        MOVEI PDP,NULPDL        ;NULL JOB PD LIST\r
-       HRLI PDP,MJOBP1         ; OTHERWISE GET PD OUF\r
+       HRLI PDP,MJOBP1         ;USED TO CALL SCHEDULER AND COMMAND DECODER\r
+                               ; OTHERWISE GET PD OUF\r
 \r
        JRST RSCHED             ;GO RESCHEDULE\r
 \r
+\r
 ;HERE AT UUO LEVEL WHEN CURRENT JOB RETURNS TO USER MODE\r
 ;FROM A UUO CALL AND EITHER:\r
 ;      1. CURRENT JOB TYPED CONTROL C WHILE IN EXEC MODE\r
@@ -223,7 +222,6 @@ CLKINT:     SKIPN CLKFLG            ;CLK INTERRUPT REQUEST?
        JEN @CLKCHL\r
 \r
 SAVPC: MOVEM 17,USRPC          ;SAVE PC IN PROTECTED PART OF SYSTEM DATA\r
-\r
                                ; STORAGE FOR CURRENT JOB\r
 CLKERR:        SKIPN 17,JOBDAT         ;CURRENT JOB DATA AREA, IS THERE ONE?\r
        MOVEI 17,NULDAT         ;NO, MUST BE NULL JOB OR CORE 0\r
@@ -232,12 +230,12 @@ CLKERR:   SKIPN 17,JOBDAT         ;CURRENT JOB DATA AREA, IS THERE ONE?
        MOVEI 16,JOBDAC(17)     ;SOURCE=0,DESTINATION=DUMP AC 0\r
        BLT 16,JOBD15(17)       ;SAVE ACS 0-15 JUST BELOW AC 16\r
        MOVE TAC,CLKS17         ;NOW SAVE 17 IN JOB DATA AREA\r
-       MOVEM TAC,JOBD17(17)    ;ALONE WITH OTHER ACS\r
+       MOVEM TAC,JOBD17(17)    ;ALONG WITH OTHER ACS\r
        MOVEI PDP,NULPDL        ;SET UP PUSH DOWN LIST IN NULL JOB DATA\r
                                ; AREA IN LOWER CORE\r
        HRLI PDP,MJOBP1         ;-LENGTH+1(LEAVE ROOM FOR UUO PC)\r
        SKIPE TAC,APRERR        ;IT THIS AN ERROR INTERRUPT?\r
-       PUSHJ PDP,APRILM        ;YES, GO PROCESS ERROR, APRILM WILL CLEAR APRERR\r
+       PUSHJ PDP,APRILM        ;YES, GO PROCESS ERROR,APRILM WILL CLEAR APRERR\r
                                ; FLAG IMMEDIATELY\r
 \fEXTERNAL COMCNT,NXTJOB,HNGTIM,POTLST,LSTWRD\r
 EXTERNAL TIMEF,APRERR,CLKFLG,SCHEDF,JOB,PMONTB\r
@@ -256,8 +254,8 @@ IFN FTTIME,<
        JRST    INCTIM          ;NO-PROCEED NORMALLY\r
        AOS     LSTWRD          ;YES-INCREMENT LOST TIME COUNT\r
        SETZM   POTLST          ;AND CLEAR LOST TICK INDICATION\r
-INCTIM:        AOS RTIME(ITEM)         ;INCR, CURRENT JOB INCREMENTAL RUN TIME\r
-       AOS TTIME(ITEM)         ;INCR, CURRENT JOB TOTAL RUN TIME\r
+INCTIM:        AOS RTIME(ITEM)         ;INCR. CURRENT JOB INCREMENTAL RUN TIME\r
+       AOS TTIME(ITEM)         ;INCR. CURRENT JOB TOTAL RUN TIME\r
 >\r
 IFN FTKCT,<\r
        EXTERN USRREL,JBTKCT\r
@@ -265,7 +263,6 @@ IFN FTKCT,<
        ADDI TAC,1                      ;MAKE IT NO. OF 1K BLOCKS\r
        ADDM TAC,JBTKCT(ITEM)           ;ADD IN ACCUMULATED CORE RUNNING TIME PRODUCT\r
                                ; (KILO-CORE TICKS)\r
-\r
 IFN FT2REL,<\r
        EXTERN CHGHGH\r
        PUSHJ PDP,CHGHGH        ;CHARGE USER FOR HIGH SEGMENT IF HE HAS ONE\r
@@ -276,7 +273,7 @@ IFN FT2REL,<
        MOVE TAC1,TIME\r
        CAMGE TAC1,MIDNIT       ;GONE PAST MIDNITE?\r
        JRST CIP2               ;NO\r
-CIP3:  SETZB IOS,TIME          ;YES, RESET TIME OF DAY\r
+CIP3:  SETZB IOS,TIME          ;YES. RESET TIME OF DAY\r
        AOS TAC,THSDAT          ;UPDATE DAY\r
        IDIVI TAC,^D31\r
        DIVI IOS,^D12           ;NO.\r
@@ -295,7 +292,7 @@ CIP4:       CAIN STOR,CIPWTM1       ;END YET?
        MOVE TAC, @CLOCK\r
        SOS CLOCK\r
        MOVEM TAC, (STOR)\r
-       CONI PI,PION\r
+       CONO PI,PION\r
        LDB TAC, [POINT 6, TAC1, 23]    ;GET 6 BIT DATA ITEM\r
        MOVSS TAC1              ;SETUP DISPATCH ADDRESS\r
        PUSH PDP, STOR          ;SAVE ONLY VALUABLE AC\r
@@ -303,34 +300,35 @@ CIP4:     CAIN STOR,CIPWTM1       ;END YET?
        POP PDP, STOR\r
        SOJA STOR, CIP4         ;GO BACK FOR MORE REQUESTS\r
 \r
-CIP5:  SOSG HNGTIM             ;DECREMENT HUNG ID DEVICE\r
-       PUSHJ PDP,DEVCHK        ;GO CHECK FOR HUNG ID DEVICES\r
+CIP5:  SOSG HNGTIM             ;DECREMENT HUNG IO DEVICE\r
+       PUSHJ PDP,DEVCHK        ;GO CHECK FOR HUNG IO DEVICES\r
        SKIPE COMCNT            ;ANY COMMANDS TO PROCESS?\r
        PUSHJ PDP,COMMAND       ;YES, CALL COMMAND DECODER\r
 CIP6:  PUSHJ PDP,NXTJOB        ;CALL SCHEDULER\r
        SETZM CLKFLG            ;CLEAR CLK INTERRUPT FLAG\r
                                ; SET ON ALL FORCED CLK INTERRUPTS\r
-       SETZM TIMEF             ;CLEAR TIME0 (1 JIFFY) INTERRUPT FLAG,\r
+       SETZM TIMEF             ;CLEAR TIMED (1 JIFFY) INTERRUPT FLAG.\r
        SETZM SCHEDF            ;CLEAR FORCED SCHEDULING FLAG\r
        CAMN ITEM,JOB           ;IS NEXT JOB SAME AS LAST ONE?\r
        JRST CIP8               ;YES, JUST RESTORE ACS AND DISMISS\r
-\f;DIFFERENT JOB. SAVE SOFTWARE STATE(HARDWARE ALREADY SAVED)\r
+\f;DIFFERENT JOB, SAVE SOFTWARE STATE(HARDWARE ALREADY SAVED)\r
 \r
 EXTERNAL JOB,JOBDAT,JOBPRT,USRPRT,USRHCU,JOBJDA\r
 \r
        SKIPN JA,JOBDAT         ;NULL JOB OR CORE 0 ON OLD JOB?\r
-       JRST CIP7               ;YES, DO NOT SAVE SOFTWARE STATE\r
-       MOVEI T,JOBPRT(JA)      ;DEST,#FIRST LOC PROTECTED FROM USER\r
-       HRLI T,USRPRT           ;SOUR,#SYSTEM DATA STORAGE FOR CURRETN JOB\r
+       JRST CIP7               ;YES, DO NO SAVE SOFTWARE STATE\r
+       MOVEI T,JOBPRT(JA)      ;DEST.=FIRST LOC PROTECTED FROM USER\r
+       HRLI T,USRPRT           ;SOUR.=SYSTEM DATA STORAGE FOR CURRETN JOB\r
        SKIPL T1,USRHCU         ;MOVE NO. OF OLD USER IO CHAN. IN USE\r
        CAILE T1,17             ;MUST BE 17 OR LESS(IO MIGHT\r
                                ; CLOBBER IF ADDRESS CHECKING MISSES)\r
        MOVEI T1,0              ;MOVE ONLY CHN 0 IF NEG, OR GR 17\r
                                ; SAVGET SETS LH NEGATIVE DURING IO AS A FLAG\r
                                ; SINCE IT DOES IO INTO AND OUT OF\r
-                               ; CHANNEL LOCATIONS (JOBJDA+1..,JOBJDA+17),\r
+                               ; CHANNEL LOCATIONS (JOBJDA+1...JOBJDA+17).\r
        ADD JA,T1               ;RELOCATE TO USER AREA\r
-       BLT T,JOBJDA(JA)        ; STOP WITH USER CHANNEL 0-1+C(USRHCU)\r
+       BLT T,JOBJDA(JA)        ;MOVE TO USER JOB DATA AREA\r
+                               ; STOP WITH USER CHANNEL 0-1+C(USRHCU)\r
 \f;RESTORE SOFTWARE STATE OF NEW JOB,THEN HARDWARE STATE\r
 \r
 INTERNAL NULJOB,NULADR\r
@@ -347,14 +345,13 @@ IFN FTHALT,<
        SKIPN JA                ;DOES JOB HAVE CORE ASSIGNED?\r
        HALT .                  ;NO -ELSE CLOBBER MONITOR\r
 >\r
-       MOVEI T,USRPRT          ;NO, DEST,#PROTECTED AREA IN MONITOR\r
-       HRLI T,JOBPRT(JA)       ;SOURCE#FIRST PROTECT LOC. IN JB  DATA AREA\r
+       MOVEI T,USRPRT          ;NO, DEST.=PROTECTED AREA IN MONITOR\r
+       HRLI T,JOBPRT(JA)       ;SOURCE=FIRST PROTECTED LOC. IN JB  DATA AREA\r
        SKIPL T1,JOBHCU(JA)     ;MOVE NO. OF USER IO CHAN. IN USE\r
-       \r
        CAILE T1,17             ;MUST BE 17 OR LESS(IO MIGHT CLOBBER\r
                                ; IF ADRRESS CHECKING MISSES\r
        MOVEI T1,0              ;MOVEJUST CHAN 0 IF NEG. OR GREATER THAN 17\r
-                               ; SAVEGET SETS NUG,DURING IO\r
+                               ; SAVEGET SETS NEG.DURING IO\r
        BLT T,USRJDA(T1)        ;AND MOVE INTO MONITOR\r
 \r
 ;RESTORE HARDWARE STATE OF CURRENT JOB\r
@@ -367,18 +364,18 @@ CIP8:     SKIPN JA,JBTDAT(ITEM)   ;JOB DATA AREA(IS THERE ONE?)
                                ; (ON CLK PI OR HIGHER)\r
        JRST CLKERR             ;YES, GO PROCESS ERROR\r
        SKIPN JOB               ;IS THIS JOB THE NULL JOB?\r
-       SKIPN NULERR            ;YES, HAS AN ERROR OCCURED WHILE NULL JOB\r
+       SKIPN NULERR            ;YES, HAS AN ERROR OCCURRED WHILE NULL JOB\r
                                ; WAS RUNNING? IF YES, RESTORE ACS\r
                                ; ILL UUO LOSED ACS\r
        JEN @USRPC              ;DISMISS CHANNEL(IF INTERRUPT IN PROGRESS)\r
 \r
 ;THE NULL JOB\r
-;RUNS IN USER MODE WITH PC=1 AND COUNTS AND AC 0\r
+;RUNS IN USER MODE WITH PC=1 AND COUNTS IN AC 0\r
 \r
 EXTERNAL APRNUL,TIME,THSDAT,MIDNIT,NULERR\r
 \r
 NULJB:\r
-IFN FTCHECK,<EXTERNAL MONPRTR,MONSUM,CHECK\r
+IFN FTCHECK,<EXTERNAL MONPTR,MONSUM,CHECK\r
        MOVE TAC,MONPTR\r
        PUSHJ PDP,CHECK\r
        CAME TAC1,MONSUM\r
@@ -394,7 +391,7 @@ IFN FTCHECK,<EXTERNAL MONPRTR,MONSUM,CHECK
                                ; WHILE CLK IN PROGRESS\r
                                ; CATCH THEM NEXT CLK INTERRUPT\r
        MOVE 1,[AOJA 0,1]       ;INSTR. TO AC1\r
-       JRST 11,1               ;DISMISS IF INTERUPT IN PROGRESS.\r
+       JRST 11,1               ;DISMISS IF INTERUPT IN PROGRESS\r
 \f;ROUTINE TO SET HARDWARE AND SOFTWARE RELOCATION INFORMATION FOR CURRENT USER\r
 ;CALLED FROM:\r
 ;      CLOCK ROUTINE WHEN NEW USER IS DIRRERENT FROM OLD USER\r
@@ -404,7 +401,7 @@ IFN FTCHECK,<EXTERNAL MONPRTR,MONSUM,CHECK
 ;      CALL RESET UUO\r
 ;      CALL SETUWP UUO\r
 \r
-;CALL: STORE RELOCATION AND PROTECTION FOR LOW SEQ IN JOBADR(JOB NUMBER)\r
+;CALL: STORE RELOCATION AND PROTECTION FOR LOW SEG IN JOBADR(JOB NUMBER)\r
 ;      STORE LENGTH-1 AND ABS ORIGIN FOR HIGH SEG IN JBTADR(HIGH SEG NO)\r
 ;      (MOVE ITEM,JOB NUMBER - IF CALLING SETRL1)\r
 ;      PUSHJ PDP,SETREL OR SETRL1\r
@@ -414,11 +411,10 @@ IFN FTCHECK,<EXTERNAL MONPRTR,MONSUM,CHECK
        EXTERN JOB,JBTADR,JOBADR,USRREL,JBTDAT,JOBDAT,JOBREL,KT10A\r
 \r
 SETREL:        MOVE ITEM,JOB           ;CURRENT JOB NUMBER\r
-\r
 SETRL1:        MOVE PROG,JBTADR(ITEM)  ;XWD PROTECTION,RELOCATION FOR LOW SEG\r
        MOVEM PROG,JOBADR       ;SAVE TO MAKE UUO HANDLER FASTER\r
        HLRZM PROG,USRREL       ;SAVE PROTECTION FOR ADDRESS CHECKING\r
-                               ; (HIGHEST LEGAL REL ADDRES FOR CURRENT USER IN LOW SET)\r
+                               ; (HIGHEST LEGAL REL ADDRES FOR CURRENT USER IN LOW SEG)\r
 IFN JDAT-PROG,<\r
        MOVE JA,JBTDAT(ITEM)    ;LOC OF JOB DATA AREA\r
        MOVEM JA,JOBDAT         ;SAVE IT TOO FOR UUO HANDLER\r
@@ -450,26 +446,27 @@ IFE FT2REL,<
        SKIPN PROG,JOBADR       ;RESTORE PROG TO XWD PROT,RELOC FOR JUST LOW SEG\r
                                ; (IS THERE ONE)?\r
        TDZA TAC,TAC            ;NO, MUST BE NULL JOB OR CORE0 OR KJOB\r
-                               ; SET FOR NO SPECIAL INTERRUTPS TO USER\r
+                               ; SET FOR NO SPECIAL INTERRUPTS TO USER\r
        MOVE TAC,JOBENB(JA)     ;USER APR CONSO FLAGS (THE ONES HE WANTS TO HANDLE\r
                                ; FALL INTO SETAPR ROUTINE\r
 \r
+\r
 ;ROUTINE TO ENABLE/DISABLE APR FOR TRAPPING TO USER AND EXEC\r
-;CALL: MOVE TAC, APR, CONSO FLAGS FOR USER TRAPPING\r
-;      PUSHJ PDP,SETAPR\r
-;      RETUNRN WITH APR RESET AND INTERRUPT LOCATION CONS'S SET\r
+;CALL: MOVEI TAC, APR CONSO FLAGS FOR USER TRAPPING\r
+;      PUSHJ POP,SETAPR\r
+;      RETURN WITH APR RESET AND INTERRUPT LOCATION CONSO'S SET\r
 \r
        INTERN SETAPR\r
        EXTERN APRFOV\r
 \r
-SETAPR: ANDI TAC,231010+APRFOV         ;MASK OUT ALL BUT PD OVF, ILL MEM, NXM,\r
+SETAPR:        ANDI TAC,231010+APRFOV          ;MASK OUT ALL BUT PD OVF, ILL MEM, NXM,\r
                                ; CLOCK, FOV(ONLY PDP-10), AND AROVF CONSO FLAGS\r
                                ; FOV=PC CHANGE ON PDP-6 WHICH IS NEVER ALLOWED\r
                                ; UNDER TIME SHARING BECAUSE IT TRAPS MONITOR TOO\r
        HRLS TAC                ;PRESERVE USER BITS IN LH\r
        TRO TAC,231000          ;MAKE SURE MONITOR ALWAYS LOOKING FOR\r
-                               ; PD OVF, IL;M, NXM, CLOCK FLAGS\r
-       MOVE TAC1,TAC           ;DUPLICATE BITS IN TAC1 FOR CONO TO APR\r
+                               ; PD OVF, ILM, NXM, CLOCK FLAGS\r
+       MOVE TAC1,TAC           ;DUPLICATE BITS IN TAC1 FOR CONO TO APR.\r
        XORI TAC1,110           ;COMPLEMENT FOV(PDP-10 ONLY) AND AROV FLAGS\r
        ADDI TAC1, 330          ;SET DISABLE OR ENABLE FOR EACH\r
        ANDI TAC1,660           ;MASK OUT ALL BUT DISABLE/ENABLE\r
@@ -483,7 +480,7 @@ SETAPR: ANDI TAC,231010+APRFOV              ;MASK OUT ALL BUT PD OVF, ILL MEM, NXM,
                                ; FOV(PDP-10 ONLY) AND AR OVF SEPARATELY\r
        CONO PI,PION            ;ENABLE PI'S AGAIN\r
        POPJ PDP,\r
-\fSUBTTL        RUNCSS - RUN CONTROL(STATRING AND STOPPING OF JOBS)\r
+\fSUBTTL        RUNCSS - RUN CONTROL(STARTING AND STOPPING OF JOBS)\r
 \r
 ;RUN CONTROL IS A COLLECTION OF ROUTINES WHICH\r
 ;SET AND CLEAR BITS IN THE JOB STATUS WORDS OF\r
@@ -493,13 +490,13 @@ SETAPR: ANDI TAC,231010+APRFOV            ;MASK OUT ALL BUT PD OVF, ILL MEM, NXM,
 ;COMMON ERROR STOPPING ROUTINES\r
 ;CALLED AT ANY LEVEL(UUO,CLK, OR INTERRUPT)\r
 ;CALL: MOVE ITEM,JOB CAUSING ERROR OR BEING STOPPED\r
-;      MOVE DEVDAT,ADDRESS OF THAT JOB TTYP DEVICE DATA BLOCK\r
-;      MOVE DAT,BYTE POINTER TO LAST CHAR, ALEADY MOVED\r
-;                      :TO TTY OUTPUT BUFFER\r
+;      MOVE DEVDAT,ADRRESS OF THAT JOB TTY DEVICE DATA BLOCK\r
+;      MOVE DAT,BYTE POINTER TO LAST CHAR. ALREADY MOVED\r
+;                      ;TO TTY OUTPUT BUFFER\r
 ;      PUSHJ PDP,KSTOP,PHOLD,HOLD,OR ESTOP\r
 ;      NEVER RETURN IF CALLED AT UUO LEVEL\r
 \r
-;ROUTINE TO STOP JONB AFTER KJOB COMMAND\r
+;ROUTINE TO STOP JOB AFTER KJOB COMMAND\r
 ;CALLED AT UUO LEVEL IF JOB HAD CORE,CLK LEVEL IF NOT\r
 \r
 INTERNAL KSTOP\r
@@ -509,20 +506,21 @@ KSTOP:    MOVSI TAC,JNA+JLOG+JACCT        ;CLEAR JOB NUMBER ASSIGNED AND LOGGED IN BITS
        ANDCAM TAC,JBTSTS(ITEM)\r
 IFN FTLOGIN,<\r
 EXTERN PRJPRG\r
+\r
        SETZM PRJPRG(ITEM)      ;CLEAR PROJECT-PROGRAMMER NUMBER WHEN JOB LOGS OUT\r
 >\r
                        ; IF THIS IS THE LARGEST JOB IN USE,FIND NEXT\r
                        ; HIGHEST AND SET HIGHJB\r
        CAMGE   ITEM,HIGHJB     ;IS THIS THE BIGGEST JOB NUMBER ASSIGNED?\r
-       JRST    ESTOP           ;NO, LEAVE HOLD\r
-       MOVSI   TAC1,JNA        ;YES,JOB NUMBER ASSGINED BIT\r
+       JRST    ESTOP           ;NO, LEAVE HOLE\r
+       MOVSI   TAC1,JNA        ;YES,JOB NUMBER ASSIGNED BIT\r
        HRRZ    TAC,ITEM        ;SCAN DOWNWARD\r
        TDNN    TAC1,JBTSTS(TAC)        ;IS JNA BIT SET FOR THIS JOB?\r
-       SOJG    TAC,-1          ;NO,KEEP LOOKING,FINISHED(TRUE IF THIS THE ONLY JOB\r
+       SOJG    TAC,.-1         ;NO,KEEP LOOKING,FINISHED(TRUE IF THIS THE ONLY JOB\r
        MOVEM   TAC,HIGHJB      ;YES,STORE NEW HIGHEST JOB NUMBER ASSIGNED\r
        JRST    ESTOP           ;GO SET ERROR BIT\r
 \f;ROUTINE TO STOP JOB, SET ERROR BIT AND PRINT MESSAGE\r
-;THEM ADD ^TC<CRLF><CRLF><PERIOD>\r
+;THEN ADD ^C<CRLF><CRLF><PERIOD>\r
 ;CALL: MOVEI TAC,ADR. OF MESSAGE\r
 ;      PUSHJ PDP,PHOLD\r
 \r
@@ -530,7 +528,7 @@ EXTERN PRJPRG
 \r
 PHOLD: PUSHJ PDP,CONMES        ;MOVE MESSAGE TO TTY OUTPUT BUFFER\r
                                ; FALL INTO HOLD\r
-;ROUTINE TO STOP JOB, SET ERROR BIT.\r
+;ROUTINE TO STOP JOB, SET ERROR BIT,\r
 ;AND ADD "^C<CRLF><CRLF><PERIOD>\r
 \r
 INTERNAL HOLD,HOLD1\r
@@ -543,20 +541,21 @@ HOLD:     PUSHJ PDP,INLMES
 ./\r
 \r
 HOLD1: PUSHJ PDP,TTYSTC        ;MAKE SURE TTY STAYS IN MONITOR MODE\r
-                               ; AND START TTYP TYPING OUTMESSAGE\r
+                               ; AND START TTY TYPING OUT MESSAGE\r
                                ; FALL INTO ESTOP\r
 \f\r
 ;ROUTINE TO STOP USER AND FLAG AS ERROR STOP\r
 \r
+\r
 INTERNAL ESTOP,ESTOP1\r
 EXTERNAL JBTSTS,STUSER,STREQ,STAVAL\r
 EXTERNAL SCHEDF,JOB,CPOPJ\r
 \r
 ESTOP: JUMPE ITEM,CPOPJ        ;IS THIS ERROR IN JOB 0?\r
        MOVSI TAC,JACCT         ;NO, CLEAR ACCOUNTING BIT(IN CASE LOGGING\r
-       ANDCAM TAC,JBTSTS(ITEM) ;IN OR OUT0 SO USER CAN USE CONTROL C\r
+       ANDCAM TAC,JBTSTS(ITEM) ;IN OR OUT) SO USER CAN USE CONTROL C\r
                                ; TO RECOVER\r
-ESTOP1: MOVSI TAC,JERR         ;SSET ERROR BIT IN JOB STATUS WORD\r
+ESTOP1:        MOVSI TAC,JERR          ;SET ERROR BIT IN JOB STATUS WORD\r
        IORM TAC,JBTSTS(ITEM)   ;SO JOB CAN NOT CONTINUE(CONT COM.)\r
        CAME ITEM,STUSER        ;SYSTEM TAPE USER?\r
        JRST STOP1              ;NO\r
@@ -564,33 +563,33 @@ ESTOP1: MOVSI TAC,JERR            ;SSET ERROR BIT IN JOB STATUS WORD
        PUSHJ PDP,DEVSRC        ;SYSTEM ERROR IF NOT FOUND\r
        JSP DAT,ERROR\r
        PUSHJ PDP,RELEA9        ;YES, RELEASE SYSTEM TAPE WITHOUT WAITING\r
-\f;ROUTINE TO STOP NY JOB FROM BEING SCHEDULED\r
+\f;ROUTINE TO STOP ANY JOB FROM BEING SCHEDULED\r
 ;CALL:\r
 ;      MOVE ITEM, JOB NUMBER\r
 ;      PUSHJ PDP, STOP1\r
 ;      EXIT    ;RETURN HERE IMMEDIATELY, IF CALLED FROM HIGHER\r
 ;PRIORITY PI CHANNEL THAN CLK(LOWEST), OTHERWISE WHEN JOB IS RUNABLE\r
 ;CALLED FROM COMMAND DECODER WHEN <CONTROL>C TYPED IN BY USER\r
-;OR ON ANY ERROR MESSAGE(SFE PREVIOUS PAGE)\r
+;OR ON ANY ERROR MESSAGE(SEE PREVIOUS PAGE)\r
 \r
 INTERNAL STOP1\r
 EXTERNAL JBTSTS,PJBSTS,REQTAB,JOB,STUSER,MAXQ,AVALTB\r
 \r
-STOP1: MOVSI TAC,RUN   \r
-       CONO PI,PIOFF           ;DONE AT INTERRUPT LEVEL HIGHER THEN DT LEVEL\r
-       CAME ITEM,STUSER        ;IS THIS JOB CURRENTLY USING THE SYTEM TAPE?\r
+STOP1: MOVSI TAC, RUN\r
+       CONO PI, PIOFF          ;DONE AT INTERUPT LEVEL HIGHER THAN DT LEVEL\r
+       CAME ITEM,STUSER        ;IS THIS JOB CURRENTLY USING THE SYSTEM TAPE?\r
        TDNN TAC,JBTSTS(ITEM)   ;NO, IS RUN BIT OFF IN JOB STATUS WORD\r
        JRST STOP1A             ;YES\r
        ANDCAM TAC,JBTSTS(ITEM) ;NO, SO CLEAR IT\r
-       CONO PI,PION\r
+       CONO PI, PION\r
        LDB TAC,PJBSTS          ;GET JOB WAIT QUEUE CODE(IF ANY)\r
        CAIG TAC,MAXQ           ;DOES STATE HAVE Q ?\r
        SOSL REQTAB(TAC)        ;YES. REDUCE IT.\r
        JRST STOP1A             ;NO\r
        SOSGE AVALTB(TAC)       ;YES REDUCE  COUNT\r
        SETZM AVALTB(TAC)       ;CLEAR AVAL FLAG IF NO ONE WAITING\r
-STOP1A:        CONO PI,PION            ;MAKE SURE PI ON\r
-       CAME ITEM, JOB          ;NO. IS THIS JONB CURRENT USER\r
+STOP1A:        CONO PI, PION           ;MAKE SURE PI ON\r
+       CAME ITEM, JOB          ;NO, IS THIS JOB CURRENT USER\r
 \r
 INTERNAL FTSWAP\r
 \r
@@ -600,8 +599,9 @@ IFE FTSWAP,<
 IFN FTSWAP,<\r
        JRST REQUE              ;SET REQUE JOB FLAG\r
 >\r
+\r
        SKIPL TAC,JBTSTS(ITEM)  ;RUN FLAG OFF?\r
-       TLNN    TAC,JERR        ;YES, ERROR FLAG ON?\r
+       TLNN    TAC,JERR        ;YES. ERROR FLAG ON?\r
        JRST    STOP2           ;NO\r
        SETOM   SCHEDF          ;YES, FORCE RESCHEDULING EVEN IF JOB IN EXEC MODE\r
        JRST STOP2              ;YES, MAKE CLK RESCHEDULE ANOTHER JOB\r
@@ -610,7 +610,7 @@ IFN FTSWAP,<
 ;OR IS IN CORE AND HAS ACTIVE DEVICES.\r
 ;CALLED FROM COMMAND DECODER\r
 ;CALL: MOVE ITEM,JOB NO.\r
-       PUSHJ PDP,DLYCOM\r
+;      PUSHJ PDP,DLYCOM\r
 \r
 INTERNAL DLYCOM\r
 \r
@@ -627,7 +627,8 @@ IFN FTSWAP,<
 >\r
                POPJ PDP,\r
 \r
-;ROUTINE TO PUT JONB IN NO CORE QUEUE\r
+;ROUTINE TO PUT JOB IN NO CORE QUEUE\r
+\r
 \r
 INTERNAL FTSWAP\r
 IFN FTSWAP,<INTERNAL NOCORQ\r
@@ -653,11 +654,12 @@ MONJOB:   PUSHJ PDP,MSTART        ;START WITH PC IN MONITOR
        JRST SETRUN             ;SET TTY TO START JOB WHEN COMMAND RESPONSE\r
                                ; IS FINISHED AND KEEP TTY IN MONITOR MODE\r
 \r
+\r
 ;ROUTINE TO SETUP ACS FOR MONITOR JOB STARTING AT UUO LEVEL\r
 ;SETS UP ITEM, WITH JOB NO.; PROG WITH RELOCATION, AND PDP\r
 ;WITH PUSH DOWN LIST ADR. IN JOB DATA AREA\r
 ;USED BY KJOB,CORE 0,SAVE,GET,RUN,R,REASSIGN AND FINISH COMMANDS\r
-;CALL: MOVEI TAC1,MONITOR JOB START ADDRESS\r
+;CALL: MOVEI TAC1,MONITOR JOB STOP ADDRESS\r
 ;      JSP TAC,MONSTR\r
 ;      RETURN WITH ACS PDP,PROG,JDAT, AND ITEM SETUP\r
 \r
@@ -667,13 +669,13 @@ EXTERNAL JOB,JBTADR,MJOBPD,JOBPDL,TTYFNU,JBTDAT
 MONSTR:        MOVE ITEM,JOB           ;CURRENT JOB NUMBER\r
        MOVE JDAT,JBTDAT(ITEM)  ;ADR. OF JOB DATA AREA\r
 IFN JDAT-PROG,<\r
-       MOVE PROG,JBTADDR(ITEM) ;JOB RELOCATION\r
+       MOVE PROG,JBTADR(ITEM)  ;JOB RELOCATION\r
 >\r
        MOVSI PDP,MJOBPD        ;MINUS LENGTH OF SYSTEM PD LIST\r
        HRRI PDP,JOBPDL(JDAT)   ;FIRST LOC.-1 OF PD LIST\r
-       PUSH PDP,TAC1           ;SAVE STOP ADDRESS\r
+       PUSH PDP,TAC1           ;SAVE STOP ADRRESS\r
        JRST (TAC)              ;RETURN AND DO MONITOR JOB\r
-                               ; WITH TT DDB,OUTPUT BYTE POINTER, AND JOB NO.\r
+                               ; WITH TTY DDB,OUTPUT BYTE POINTER, AND JOB NO.\r
 \f;ROUTINE TO SET JOB STATE TO BE SCHEDULED TO RUN\r
 ;WITH SPECIFIED STARTING ADDRESS INCLUDING PC FLAGS\r
 ;CALLED ONLY WHEN JOB IN CORE AND AFTER JOB HAS BEEN\r
@@ -693,34 +695,34 @@ EXTERNAL JOBPC,JOBDAC,JOBD17,TTYSET,JOBOPC,JOBPD1
 USTART:        MOVE TAC,JOBPC(JDAT)    ;GET OLD PC\r
        TLNE TAC,USRMOD         ;IS IT IN USER MODE TOO?\r
        JRST USTRT1             ;YES, DUMP ACS AND PC FLAGS ARE ALREADY HIS\r
-\r
-       MOVEI TAC,JOBDAC(JDAT)  ;NO. MOVE USERS(UUO) ACS TO DUMP ACS\r
-       HRL TAC,JDAT            ;SOURCE=REL, 0,DEST,=JOBDAC IN JOB DATA AREA\r
+       MOVEI TAC,JOBDAC(JDAT)  ;NO, MOVE USERS(UUO) ACS TO DUMP ACS\r
+       HRL TAC,JDAT            ;SOURCE=REL. 0,DEST.=JOBDAC IN JOB DATA AREA\r
        BLT TAC,JOBD17(JDAT)    ;MOVE ALL ACS\r
        MOVE TAC,JOBPD1(JDAT)   ;UUO PC HAS LAST PC\r
        HRRI TAC,-1(TAC)        ;SUBTRACT 1 FROM RIGHT HALF AND\r
-                               ; PRESERVE LH PC FLAGS\r
+                               ; PRESERVE LH PC FLAGS.\r
                                ; (RH=0 ON HALT 0 OR FIRST START)\r
 USTRT1:        MOVEM TAC,JOBOPC(JDAT)  ;STORE OLD PC FOR USER TO LOOK AT\r
        HLL TAC1,TAC            ;PRESERVE USER APR FLAGS\r
        TLO TAC1,USRMOD         ;MAKE SURE NEW PC IN USER MODE\r
        TLZ TAC1,37             ;MAKE SURE NO INDIRECT BITS OR INDEX FIELD\r
-       \r
+\r
 MSTART:        MOVEM TAC1,JOBPC(JDAT)  ;STORE NEW PC\r
        MOVSI TAC,JERR+WTMASK\r
        ANDCAM TAC,JBTSTS(ITEM) ;CLEAR ERROR AND WAIT STATUS BITS\r
-                               ;SET TTY STATE TO INITAL COND.\r
+       JRST TTYSET             ;SET TTY STATE TO INITIAL COND.\r
                                ; TTYUSR OR TTYURC SHOULD BE CALLED\r
                                ; TO INDICATE WHETHER TTY TO USER OR EXEC MODE\r
                                ; AND THAT JOB IS TO RUN(RUN BIT =1) WHEN\r
                                ; MONITOR COMMAND RESPONSE FINISHES.\r
                                ; SEE SETRUN BELOW\r
 \f\r
+\r
 ;ROUTINE TO SET JOB STATUS RUN BIT(RUN)\r
 ;CALLED BY SCANNER SERVICE WHEN TTY MONITOR COMMAND\r
-;RESPONSE FINISHES,  THIS ACTION IS ENABLED BY CALLING\r
-;TTYUSR. OR TTYURC IN SCNSER\r
-;CALL:         MOVE ITEM,JOB NUMBER\r
+;RESPONSE FINISHES.  THIS ACTION IS ENABLED BY CALLING\r
+;TTYUSR, OR TTYURC IN SCNSER\r
+;CALL: MOVE ITEM,JOB NUMBER\r
 ;      PUSHJ PDP,SETRUN\r
 \r
 INTERNAL SETRUN\r
@@ -734,7 +736,7 @@ SETRUN:     LDB TAC,PJBSTS          ;GET JOB STATUS WAIT QUEUE CODE
        JRST SETR1              ;OTHERS WAITING?\r
        AOSG AVALTB(TAC)        ;MAKE AVAILABLE\r
        SETOM AVALTB(TAC)       ;FLAG AS JUST AVAILABLE, BECAUSE\r
-                               ; NO JONB WAS USING DEVICE. SCHEDULER\r
+                               ; NO JOB WAS USING DEVICE. SCHEDULER\r
                                ; WILL SCAN THIS QUEUE\r
 SETR1: MOVSI TAC,RUN           ;SET RUN BIT IN JOB STATUS WORD\r
        IORM TAC,JBTSTS(ITEM)   \r
@@ -751,8 +753,7 @@ IFN FTSWAP,<
 \r
 REQUE: MOVSI TAC,JRQ           ;MARK JOB TO BE REQUEUED WITH JRQ BIT\r
        TDNN TAC,JBTSTS(ITEM)   ;INCREMENT COUNT ONLY ONCE FOR EACH JOB\r
-       AOS QJOB                ;INCREMENT COUNT OF NO. OF JOBS WAITING TO BE REUEUED\r
-\r
+       AOS QJOB                ;INCREMENT COUNT OF NO. OF JOBS WAITING TO BE REQUEUED\r
        IORM TAC,JBTSTS(ITEM)   ;SET REQUE BIT FOR SCHEDULER\r
        POPJ PDP,\r
 \r
@@ -776,7 +777,6 @@ SETSLP:     MOVSI TAC,CLKR          ;FLAG THAT A CLOCK REQUEST HAS BEEN PUT IN
 ;JOB NO. IN AC TAC\r
 \r
 INTERNAL WAKE\r
-\r
 EXTERNAL PJBSTS,RNQ,SLPQ\r
 \r
 WAKE:  MOVEI TAC1,RNQ          ;RUN QUEUE CODE\r
@@ -785,9 +785,9 @@ WAKE:       MOVEI TAC1,RNQ          ;RUN QUEUE CODE
        ANDCAM TAC,JBTSTS(ITEM) ;SO IT CAN PUT ANOTHER ONE IN\r
        LDB TAC,PJBSTS          ;GET QUEUE CODE\r
        CAIE TAC,SLPQ           ;IS JOB STILL SLEEPING?\r
-       POPJ PDP,               ;NO, RETURN TO CLOCK ROUTINE\r
+       POPJ PDP,               ;NO. RETURN TO CLOCK ROUTINE\r
        DPB TAC1,PJBSTS         ;YES, STORE RUN QUEUE CODE\r
-                               ; (CONTROL C, START CAN GET JOB OUT SLEEP)\r
+                               ; (CONTROL C, START CAN GET JOB OUT OF SLEEP)\r
        JRST SETR2\r
 >\r
 \f;ROUTINE TO GET DATA CONTROL AND ANOTHER SHARABLE DEVICE\r
@@ -810,7 +810,7 @@ GETWT:      PUSHJ PDP,DVWAT1        ;NOT AVAIL., GO WAIT FOR IT
        SOSL REQTAB(AC1)        ;REDUCE REQ. COUNT FOR OTHER\r
                                ; SHARABLE DEVICE.\r
        SETOM AVALTB(AC1)       ;SET AVAILABLE IF OTHER JOBS WAITING\r
-       JFCL DCREQ              ;ARGUMENT FOR DCQAIT\r
+       JFCL DCREQ              ;ARGUMENT FOR DCWAIT\r
        PUSHJ PDP,DCWAIT        ;WAIT FOR DATA CONTROL FREE\r
        MOVE AC1,@(PDP)         ;INCREMENT REQ. COUNT\r
        AOSN @AC1               ;NOW IS SHARABLE DEVICE FREE?\r
@@ -818,7 +818,8 @@ GETWT:      PUSHJ PDP,DVWAT1        ;NOT AVAIL., GO WAIT FOR IT
        SOSL DCREQ              ;NO, REDUCE DATA CONTROL REQUEST\r
        SETOM DCAVAL            ;SET AVAIL., SOME OTHER JOB WAITING FOR IT\r
        JRST GETWT              ;TRY AGAIN\r
-\f;ROUTINE TO WAIT FOR A SHARABLE DEVICE\r
+\f\r
+;ROUTINE TO WAIT FOR A SHARABLE DEVICE\r
 ;CALLED AT UUO LEVEL ONLY BY DEVICE SERVICE ROUTINES\r
 ;CALL: AOSLE XXREQ             ;ADD 1 TO SHARABLE DEVICE REQUEST COUNT\r
 ;                              ;IS DEVICE AVAILABLE?\r
@@ -836,9 +837,8 @@ INTERNAL MTWAIT,STWAIT,DTWAIT,DCWAIT,DAWAIT,MQWAIT,AUWAIT
 EXTERNAL JOB,REQTAB\r
 \r
 MTWAIT:DTWAIT:DCWAIT:STWAIT:DAWAIT:MQWAIT:AUWAIT:\r
-\r
 DVWAIT:        MOVE AC1,(PDP)          ;GET ADR. OF CALLER\r
-       MOVE AC1,-2(AC1)        ;GEET AOSLE XXREQ INSTRUCTION\r
+       MOVE AC1,-2(AC1)        ;GET AOSLE XXREQ INSTRUCTION\r
        JRST .+2\r
 DVWAT1:        MOVE AC1,@-1(PDP)       ;GET ADR. OF CALLER OF THIS ROUTINE\r
        SUBI AC1,REQTAB         ;COMPUTE WAIT-STATE QUEUE CODE\r
@@ -852,16 +852,16 @@ PJBS1:    POINT JWSIZ,JBTSTS(AC3),JWPOS   ;BYTE POINTER TO JOB STATUS
                                ; WORD WAIT QUEUE CODE\r
 \f;ROUTINE TO SET JOB TO RUN AFTER IT HAS BEEN STOPPED\r
 ;BECAUSE IT HAD TO WAIT FOR IO TO COMPLETE FOR SOME DEVICE\r
-;EACH SERVICE ROUTINE WILL AT INTERRUPT LEVEL\r
-;CHECK EACH TIME IT FINISHED A TASK(RUNFFERFUL)\r
+;EACH SERVICE ROUTINE AT INTERRUPT LEVEL\r
+;CHECK EACH TIME IT FINISHED A TASK(BUFFERFUL)\r
 ;TO SEE IF THE JOB USING THE DEVICE HAS\r
 ;PREVIOUSLY CAUGHT UP WITH DEVICE AND HAS BEEN STOPPED\r
-;CALL: MOVE DEVDAT,ADR, OF DEVICE DATA BLOCK\r
+;CALL: MOVE DEVDAT,ADR. OF DEVICE DATA BLOCK\r
 ;      MOVE IOS,DEVIOS(DEVDAT) ;GET DEVICE IO STATUS WORD FROM DDB\r
-;      TLZE IOS,IOW    ;IS JOB AN IO WAIT FOR THIS DEVICE?\r
+;      TLZE IOS,IOW    ;IS JOB IN AN IO WAIT FOR THIS DEVICE?\r
 ;      PUSHJ PDP,SETIOD        ;YES, GO FLAG JOB TO START UP AGAIN\r
 ;      RETURN\r
-;SETS THE JOB QUEUE WAIT CODE TO WSQ IN JOB STATUS WORD,\r
+;SETS THE JOB QUEUE WAIT CODE TO WSQ IN JOB STATUS WORD.\r
 ;THE SCHEDULER THEN SEES THAT THIS JOB HAS ITS\r
 ;IO WAIT SATISFIED AND IS WAITING TO BE RUN AGAIN\r
 \r
@@ -870,14 +870,16 @@ EXTERNAL WSQ,WSAVAL,TSQ,TSAVAL,JOB,PJOBN
 \r
 PJBS2: POINT JWSIZ,JBTSTS(TAC),JWPOS   ;BYTE POINTER TO JOB STATUS\r
                                ; WORD QUEUE CODE\r
-STTIOD: MOVEI TAC1,TSQ         ;SET TTY IO WAIT SATISFIED QUEUE CODE\r
+\r
+STTIOD:        MOVEI TAC1,TSQ          ;SET TTY IO WAIT SATISFIED QUEUE CODE\r
        AOS TSAVAL\r
-       JRST SETIO1\r
+       JRST SETID1\r
 SETIOD:        MOVEI TAC1,WSQ          ;REQUE TO WAIT SATISFIED Q\r
-       AOS WSAVAL              ;INCR, NO, OF JOBS WITH IO WAIT\r
-                               ; SATISFIED, NON-ZERO WSAVAL WILL\r
-                               ; CAUSE SCHED, TO SCAN FOR IO\r
-SETIO1:        LDB TAC,PJOBN\r
+       AOS WSAVAL              ;INCR. NO. OF JOBS WITH IO WAIT\r
+                               ; SATISFIED. NON-ZERO WSAVAL WILL\r
+                               ; CAUSE SCHED. TO SCAN FOR IO\r
+                               ; SATISFIED JOB.\r
+SETID1:        LDB TAC,PJOBN\r
        DPB TAC1,PJBS2          ;IN JOB STATUS WORD\r
 \r
 INTERNAL FTSWAP\r
@@ -889,8 +891,8 @@ IFN FTSWAP,<
        IORM TAC1,JBTSTS(TAC)   ;SET REQUEUEING BIT FOR SCHEDULER\r
 >\r
 NULTST:        SKIPE JOB               ;IS NULL JOB RUNNING?\r
-       POPJ PDP,               ;NO LET OTHER JOB RUN TILL SCHEDULER IS TRAPPED TO\r
-\f;ROUTINE TO CAUSE CLK TO ROUTINE TO RESCHEDULE\r
+       POPJ PDP,               ;NO LET OTHER JOB RUN TILL SCHEDULER IS TRAPPPED TO\r
+\f;ROUTINE TO CAUSE CLK ROUTINE TO RESCHEDULE\r
 ;CALLED AT ANY LEVEL\r
 ;CALL: PUSHJ PDP,STOP2\r
 ;      RETURN IMMEDIATELY EXCEPT IF AT UUO LEVEL\r
@@ -901,24 +903,24 @@ EXTERNAL PICLK,CLKFLG
 \r
 STOP2: CONO PI,PIOFF   ;PREVENT CLOCK INTERRUPT DURING STOP2 CODE\r
        SETOM CLKFLG    ;SET FLAG TO INDICATE CLK INTERRUPT\r
-                       ; EVEN THOUGH  CLK INTERRUTP IS NOT A ATIME INTERRUPT\r
-       CONO PI,PICLK   ;TURN PI BACK ON AND REQUESST INTERRUPT TO\r
+                       ; EVEN THOUGH CLK INTERRUPT IS NOT A TIME INTERRUPT\r
+       CONO PI,PICLK   ;TURN PI BACK ON AND REQUEST INTERRUPT TO\r
                        ; CLK PI CHANNEL(LOWEST PRIORITY CHANNEL)\r
        POPJ PDP,       ;INTERRUPT IMMEDIATELY IF AT UUO LEVEL\r
-\f;ROUTINE TO WAIT TILL DEVICE CATCHES UP WITH USER AND BECOMES INCTIVE\r
+\f;ROUTINE TO WAIT TILL DEVICE CATCHES UP WITH USER AND BECOMES INACTIVE\r
 ,CALLING SEQUENCE\r
 ,      PUSHJ PDP, WAIT1\r
-,      EXIT        ALWAYS RETURN HERE\r
+,      EXIT        ALWAYS RETURNS HERE\r
 \r
-,IF DEVICE IS INACTIVBE (IOACT=0), RETURNS TO EXIT, OTHERWISE, SETS\r
-,IOW:=1 AND ENTERS WAIT UNLESS IOCT BECOMES ZERO BEFORE THE\r
-,JUMP IS MADE, IN WHICH CASE IT SETS IOW:=0 AND RETURNS TO EXIT,\r
-,ON LEAVING THE WIAT STATE, RETURNS TO EXIT.\r
+,IF THE DEVICE IS INACTIVE (IOACT=0), RETURNS TO EXIT. OTHERWISE. SETS\r
+,IOW:=1 AND ENTERS WAIT UNLESS IOACT BECOMES ZERO BEFORE THE\r
+,JUMP IS MADE, IN WHICH CASE IT SETS IOW:=0 AND RETURNS TO EXIT.\r
+,ON LEAVING THE WAIT STATE, RETURNS TO EXIT.\r
 ,THIS ROUTINE PREVENTS THE STATE IOACT=0 AND IOW=1 FROM OCCURING\r
 ,CALLING SEQUENCE\r
 ,     PUSHJ PDP, WSYNC\r
 ,     EXIT            ALWAYS RETURNS HERE\r
-,SETS IOW:=1 AND ENTERS WAIT ROUTINE. RETURNS TO EXIT WHEN IOACT=0\r
+,SETS IOW:=1 AND ENTERS WAIT ROUTINE. RETURNS TO EXIT WHEN IOACT=0.\r
 \r
 INTERNAL WAIT1\r
 \r
@@ -927,14 +929,16 @@ WAIT1:    MOVE IOS,DEVIOS(DEVDAT)
        POPJ PDP,               ;RETURN\r
        PUSHJ PDP,WSYNC         ;WAIT\r
        JRST WAIT1\r
-\f;WSYNC IS CALLED TO WAIT UNTIL SETIOD IS CALLED BY INTERRUPT SERVICE ROUTINE\r
-;IE  UNTIL CURRENT BUFFER ACTIVITY IS COMPLETE\r
+\f\r
+;WSYNC IS CALLED TO WAIT UNTIL SETIOD IS CALLED BY INTERRUPT SERVICE ROUTINE\r
+;IE  UNTIL CURRENT BUFFER ACTIVITY IS COMPLETED\r
 ;CALLED ONLY FROM UUO LEVEL\r
 ;CALL: MOVE DEVDAT,ADR. OF DEVICE DATA BLOCK\r
 ;      PUSHJ PDP,WSYNC\r
 ;      RETURN IMMEDIATELY IF DEVICE IS INACTIVE\r
 ;      RETURN WHEN DEVICE FINISHES NEXT BUFFER IF IT IS ACTIVE\r
 \r
+\r
 INTERNAL WSYNC\r
 EXTERNAL IOWQ,TIOWQ,PION,PIOFF\r
 \r
@@ -944,7 +948,6 @@ WSYNC:      MOVSI IOS,IOW           ;SETUP DEVICE IO WAIT BIT
        TLNE AC3,DVTTY          ;IS THIS DEVICE A TTY?\r
        MOVEI AC1,TIOWQ         ;YES, SET TTY WAIT STATE CODE\r
        MOVE AC3,JOB            ;CURRENT JOB NO.\r
-\r
        MOVEI AC2,IOACT         ;DEVICE ACTIVE BIT\r
        CONO PI, PIOFF          ;TURN PI OFF\r
        TDNN AC2,DEVIOS(DEVDAT) ;IS THE DEVICE ACTIVE?\r
@@ -959,7 +962,8 @@ WSYNC:      MOVSI IOS,IOW           ;SETUP DEVICE IO WAIT BIT
                                ; WITH ACS 0-14 OCTAL RESTORED\r
                                ; RETURN WHEN IO-WAIT FINISHED\r
 WSYNC1:        CONO PI, PION\r
-       ANDCAB IOS, DEVIOS(DEVDAT)      ;CLEAR DEVIVCE IO-WAIT BIT\r
+       ANDCAB IOS, DEVIOS(DEVDAT)      ;CLEAR DEVICE IO-WAIT BIT\r
        POPJ PDP,\r
 \r
+\r
 CLKEND:        END\r