Fixed some typos and added COPY and DTBOOT.
[retro-software/dec/tops10/v4.5.git] / src / clock1.mac
index 7c7bcdf..997a4a6 100644 (file)
@@ -66,7 +66,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
@@ -96,7 +96,6 @@ APRER4:       EXCH JDAT,JOBDAT        ;YES, SAVE JDAT, GET CURRENT JOB DATA AREA ADR.
        EXCH JDAT,JOBDAT        ;RESTORE JDAT,JOBDAT\r
        CONO APR,440+APRCHN     ;DISBALE 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
@@ -141,7 +140,6 @@ 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
 ;      3. CONTROL ABOUT TO RETURN TO USER MODE\r
@@ -184,8 +182,8 @@ 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
-\r
+       HRLI PDP,MJOBP1         ;USED TO CALL SCHEDULER AND COMMAND DECODE\r
+                               ; OTHERWISE GET PD OUF\r
        JRST RSCHED             ;GO RESCHEDULE\r
 \r
 ;HERE AT UUO LEVEL WHEN CURRENT JOB RETURNS TO USER MODE\r
@@ -223,7 +221,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
@@ -330,7 +327,8 @@ EXTERNAL JOB,JOBDAT,JOBPRT,USRPRT,USRHCU,JOBJDA
                                ; SINCE IT DOES IO INTO AND OUT OF\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
@@ -350,7 +348,6 @@ IFN FTHALT,<
        MOVEI T,USRPRT          ;NO, DEST,#PROTECTED AREA IN MONITOR\r
        HRLI T,JOBPRT(JA)       ;SOURCE#FIRST PROTECT 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
@@ -509,6 +506,7 @@ 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
@@ -600,6 +598,7 @@ 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
        JRST    STOP2           ;NO\r
@@ -610,7 +609,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
@@ -693,7 +692,6 @@ 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
        BLT TAC,JOBD17(JDAT)    ;MOVE ALL ACS\r
@@ -709,13 +707,14 @@ USTRT1:   MOVEM TAC,JOBOPC(JDAT)  ;STORE OLD PC FOR USER TO LOOK AT
 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 INITAL 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
@@ -836,7 +835,6 @@ 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
        JRST .+2\r
@@ -870,6 +868,7 @@ EXTERNAL WSQ,WSAVAL,TSQ,TSAVAL,JOB,PJOBN
 \r
 PJBS2: POINT JWSIZ,JBTSTS(TAC),JWPOS   ;BYTE POINTER TO JOB STATUS\r
                                ; WORD QUEUE CODE\r
+\r
 STTIOD: MOVEI TAC1,TSQ         ;SET TTY IO WAIT SATISFIED QUEUE CODE\r
        AOS TSAVAL\r
        JRST SETIO1\r
@@ -877,6 +876,7 @@ SETIOD:     MOVEI TAC1,WSQ          ;REQUE TO WAIT SATISFIED Q
        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
 SETIO1:        LDB TAC,PJOBN\r
        DPB TAC1,PJBS2          ;IN JOB STATUS WORD\r
 \r
@@ -927,7 +927,8 @@ 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
+\f\r
+;WSYNC IS CALLED TO WAIT UNTIL SETIOD IS CALLED BY INTERRUPT SERVICE ROUTINE\r
 ;IE  UNTIL CURRENT BUFFER ACTIVITY IS COMPLETE\r
 ;CALLED ONLY FROM UUO LEVEL\r
 ;CALL: MOVE DEVDAT,ADR. OF DEVICE DATA BLOCK\r
@@ -944,7 +945,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
@@ -962,4 +962,5 @@ WSYNC1:     CONO PI, PION
        ANDCAB IOS, DEVIOS(DEVDAT)      ;CLEAR DEVIVCE IO-WAIT BIT\r
        POPJ PDP,\r
 \r
+\r
 CLKEND:        END\r