Added PIP and SYSTAT, updated CREF
[retro-software/dec/tops10/v4.5.git] / src / systat.mac
diff --git a/src/systat.mac b/src/systat.mac
new file mode 100644 (file)
index 0000000..59cb521
--- /dev/null
@@ -0,0 +1,661 @@
+\fTITLE SYSTAT - V410\r
+SUBTTL R CLEMENTS /CHW DEC 24 69\r
+VSYSTAT==410\r
+\r
+LOC 137\r
+EXP VSYSTAT\r
+RELOC\r
+       loc     140\r
+\r
+;AC ASSIGNMENTS\r
+\r
+M=0\r
+A=1\r
+B=2\r
+C=3\r
+D=4\r
+J=5\r
+JS=6\r
+R=7\r
+N=10\r
+N1=11\r
+F=12\r
+BP=13\r
+WD=15\r
+CH=16\r
+P=17\r
+\r
+;I/O CHANNEL\r
+\r
+TTY=0\r
+\r
+IFNDEF STANSW,<        STANSW==0>\r
+\r
+IFNDEF HACKSW,<        HACKSW==0>\r
+\r
+IFNDEF JIFSEC,<JIFSEC==^D60>\r
+\r
+L.BDO="B"-"A"          ;B WAS TYPED\r
+L.DSO="D"-"A"          ;D  "    "\r
+L.FSO="F"-"A"          ;F  "    "\r
+L.SSO="S"-"A"          ;S  "    "\r
+L.JSO="J"-"A"          ;J  "    "\r
+L.EJS="H"-"A"          ;H  "    "\r
+\f;FLAGS (LH OF F)\r
+\r
+FL.HGH==1      ;HIGH SEG PARAGRAPH NEEDED\r
+FL.DEV==2      ;DEVICE HEADER OUTPUT\r
+FL.GOD==4      ;I AM [1,N]\r
+FL.LGI==10     ;I AM LOGGED IN\r
+FL.DTJ==20     ;THIS JOB DETACHED\r
+FL.DOR==40     ;DORMANT SEG TABLE BEING PRINTED\r
+FL.BRK==SIGN   ;NO MORE CHS. TO I/P OR BREAK CH. SEEN\r
+\r
+;STUFF WHICH HAS TO AGREE WITH MONITOR, ASIDE FROM GETTAB DEFNS\r
+\r
+JNA==40000\r
+JLOG==4\r
+ASSCON==400000\r
+ASSPRG==200000\r
+SNA==400000\r
+JSWP==2000\r
+SHRSEG==200000\r
+\r
+DEVSER==3\r
+DEVMOD==4\r
+DEVCHR==1\r
+DEVNAM==0\r
+\r
+;PARAMETERS\r
+\r
+SIGN=400000\r
+DVDSK==200000\r
+DVTTY==10\r
+OUTMSK==377000\r
+\r
+MLON\r
+\r
+;CALLI'S\r
+\r
+CI.RES==0\r
+CI.DDT==3\r
+CI.COR==11\r
+CI.EXI==12\r
+CI.LGO==17\r
+CI.PEK==33\r
+CI.GET==41\r
+\r
+EXTERN JOBDDT,JOBREL,JOBSYM,JOBFF\r
+\f;START HERE\r
+\r
+SYSTAT:        CALLI   CI.RES\r
+       MOVE    P,PDP           ;SETUP STACK PNTR.\r
+       MOVEI   M,0\r
+       INIT    TTY,0\r
+         SIXBIT /TTY/\r
+         XWD   TYOB,0\r
+         HALT  .\r
+       MOVE    A,[SIXBIT /SYSTAT/]\r
+       MOVSI   B,(SIXBIT /TXT/)\r
+       SETZB   C,D             ;CLEAR DATE & PPN\r
+       ENTER   TTY,A\r
+       JFCL\r
+       OUTBUF  TTY,1\r
+       MOVE    A,XSTATS        ;MY STATUS\r
+       PUSHJ   P,GETA\r
+       MOVEM   A,STATES\r
+       JUMPE   A,DNTSTO\r
+       MOVEI   B,JIFSEC\r
+       TLNE    A,4000\r
+       MOVEI   B,62\r
+       MOVEM   B,TCKSEC\r
+DNTSTO:        MOVE    A,XSEGPT        ;READ TTY STATUS DATA\r
+       PUSHJ  P,GETA   \r
+       MOVEM  A,SEGPTR   \r
+       HLRE   B,A      \r
+       MOVNM  B,SEGN   \r
+       HRRZM  A,JOBN   \r
+       ADD    A,SEGN   \r
+       HRRZM  A,BOTH   \r
+       HRRZ   A,JOBFF    \r
+       MOVEM  A,ZERLOW   \r
+       MOVEM  A,FREE   \r
+       HRRZ   A,JOBREL     \r
+       SKIPE  JOBDDT       \r
+SYS0A: HRRZ   A,JOBSYM    \r
+       MOVEM  A,ZERHGH   \r
+       HRROI  A,       \r
+       PUSHJ   P,GETA\r
+       HRROI   B,2             ;MY PPN\r
+       CALLI   B,CI.GET\r
+         SETO  B,              ;NON DISK SYSTEM-FLAG AS UNGODLY\r
+       TLNE    A,JLOG          ;LOGGED IN?\r
+       TLO     M,FL.LGI        ;YES-REMEMBER IT\r
+       TLNN    B,-2            ;PROJECT 1?\r
+       TLNN    A,JLOG          ;YES-LOGGED IN?\r
+       SKIPA                   ;NO\r
+       TLO     M,FL.GOD        ;WE'RE GOD\r
+       SETZM   MTTY\r
+       SETZM   @ZERLOW\r
+       MOVE    A,ZERLOW\r
+       HRLS    A\r
+       ADDI    A,1\r
+       BLT     A,@ZERHGH\r
+       MOVE    A,FREE\r
+       HRRM    A,.DDB\r
+       MOVSI   J,10\r
+SYS0L: MOVS    A,J\r
+       CALLI   A,CI.GET\r
+         JRST  SYS0X\r
+       SOS     MTTY\r
+       MOVEM   A,@.DDB\r
+       AOJA    J,SYS0L\r
+\fSYS0X:        MOVN    A,MTTY          ;GET NUMBER OF JOBS\r
+       ADDB    A,FREE          ;ADVANCE POINTER\r
+       HRRM    A,.TTY          ;SETUP TABLE OF LINE NUMBERS\r
+       HRLZ    N,MTTY\r
+SYS0Y: MOVE    J,N\r
+       MOVE    B,@.DDB\r
+       LDB     J,[POINT 8,B,11]\r
+       TLZ     B,-1\r
+       JUMPE   B,SYS0Z\r
+       CALLI   B,CI.PEK\r
+       MOVEM   B,@.TTY\r
+SYS0Z: AOBJN   N,SYS0Y\r
+       SUBTTL  READ JOB AND SEGMENT STATUS\r
+       MOVE    A,JOBN\r
+       ADDB    A,FREE\r
+       MOVE    B,[XWD -NTAB,TABPTR]\r
+       MOVE    C,(B)\r
+       HRRM    A,(C)\r
+       MOVE    A,JOBN\r
+       IMULI   A,NJOBT\r
+       MOVE    C,SEGN\r
+       IMULI   C,NSEGT\r
+       ADD     A,C\r
+       ADD     A,FREE\r
+       HRRZ    C,JOBREL\r
+       CAIL    C,(A)\r
+       JRST    INIT1\r
+       HRRZS   A\r
+       CALLI   A,CI.COR\r
+         JRST  NOCOR\r
+INIT1: MOVE    C,(B)\r
+       HRRZ    J,BOTH\r
+       TLZN    C,SIGN\r
+       HRRZ    J,JOBN\r
+       MOVE    A,FREE\r
+       ADDI    A,(J)\r
+       HRRM    A,1(C)\r
+       HRRZM   A,FREE\r
+       MOVNS   J\r
+       HRLZS   J\r
+INIT2: MOVS    A,C\r
+       PUSHJ   P,GETAJ\r
+       MOVEM   A,@0(C)\r
+       AOBJN   J,INIT2\r
+       AOBJN   B,INIT1\r
+\f      MOVE    A,FREE\r
+       ADD     A,SEGN\r
+       HRRZM   A,FREE\r
+       MOVE    A,.SEGCT\r
+       HRLS    A\r
+       SETZM   (A)\r
+       ADDI    A,1\r
+       BLT     A,@FREE\r
+       MOVE    A,XCORMX        ;GET SIZE OF USER CORE\r
+       PUSHJ   P,GETA\r
+       MOVEM   A,CORMAX\r
+       MOVE    A,XVIRTL\r
+        PUSHJ   P,GETA\r
+        MOVEM   A,VIRTAL\r
+       MOVEI   F,[ASCIZ /\r
+Status of /]\r
+       PUSHJ   P,MSG\r
+       MOVEI   B,0\r
+CONST: MOVEI   C,11\r
+SYS2:  MOVEI   F,1\r
+       MOVE    A,C\r
+       PUSHJ   P,GETA\r
+       PUSHJ   P,MSG\r
+       AOBJN   C,.+1\r
+       TRNE    A,376\r
+       SOJA    C,SYS2\r
+       MOVEI   F,[ASCIZ / at /]\r
+       PUSHJ   P,MSG\r
+       MOVE    A,XTIME\r
+       PUSHJ   P,GETA\r
+       PUSHJ   P,TCKTIM\r
+       MOVEI   F,[ASCIZ / on /]\r
+       PUSHJ   P,MSG\r
+       MOVE    A,XDATE         ;GET TODAY'S DATE\r
+       PUSHJ   P,GETA\r
+       MOVEM   A,DATE\r
+       IDIVI   A,^D31\r
+       MOVEI   N,1(B)\r
+       PUSHJ   P,DECPR2\r
+       IDIVI   A,^D12\r
+       MOVE    B,MONTAB(B)\r
+       MOVEI   C,0\r
+       MOVEI   F,B\r
+       PUSHJ   P,MSG\r
+       MOVEI   N,^D64(A)\r
+       PUSHJ   P,DECPRT        ;PRINT MESSAGE FOLLOWED BY DECIMAL NO.\r
+       PUSHJ   P,CRLF2\r
+\f      MOVEI   F,[ASCIZ /Uptime /]\r
+       PUSHJ   P,MSG\r
+       MOVE    A,XUPTIM\r
+       PUSHJ   P,GETA          ;GET UPTIME\r
+       PUSH    P,A\r
+       PUSHJ   P,TCKTIM\r
+       MOVEI   F,[ASCIZ /, /]\r
+       PUSHJ   P,MSG\r
+       MOVEI   J,0\r
+       MOVE    A,@.TIM         ;GET NULL TIME\r
+       IMULI   A,^D100\r
+       POP     P,N             ;SAVE FOR COMPUTING IDLE & LOST TIME\r
+       IDIV    A,N             ;COMPUTE % NULL TIME\r
+       MOVE    N,A             ;SAVE IT\r
+       PUSHJ   P,DECPRT        ;PRINT MESSAGE FOLLOWED BY DECIMAL NO.\r
+       MOVEI   F,[ASCIZ /% Null time\r
+\r
+Job    Who     Where   What    Size    State   Runtime\r
+\r
+/]\r
+       PUSHJ   P,MSG\r
+SYS4A: MOVN    J,JOBN\r
+       HRLZS   J\r
+       SETZM   CORUSE          ;CLEAR TOTAL VIRT. CORE USED\r
+\fSYSL1:        MOVE    JS,@.STS\r
+       TLNN    JS,JNA\r
+       JRST    DUNJOB\r
+        MOVE    A,@.SGN\r
+       JUMPLE  A,SYSL1E\r
+       SUB     A,JOBN\r
+       AOS     @.SEGCT         ;INCREMENT HISEG USE COUNT\r
+       TLO     M,FL.HGH\r
+SYSL1E:        HRRZ    N,J\r
+       PUSHJ   P,DECPRT\r
+       PUSHJ   P,TAB\r
+       TLZ     FL.DTJ\r
+       TLO     FL.DTJ\r
+       SKIPN   A,@.TTY\r
+       SKIPA   A,[SIXBIT /DET/]\r
+       TLZ     M,FL.DTJ\r
+       MOVEM   A,JOBTTY\r
+       TLNN    M,FL.DTJ\r
+       TLNN    JS,JLOG\r
+       JRST    NOWHO\r
+SYSL1C:        MOVE    A,@.PPN         ;\r
+       HLRZ    N,A\r
+       PUSHJ   P,OCTPRT                ;PRINT PRJ-PRG #\r
+\fSYSL1D:       PUSHJ   P,COMMA\r
+       HRRZ    N,A\r
+       PUSHJ   P,OCTPRT\r
+SYS5:  PUSHJ   P,TAB\r
+       MOVE    A,JOBTTY\r
+       PUSHJ   P,SIXBP         ;PRINT SIXBIT MSG FOLLOWED BY TAB\r
+       PUSHJ   P,TAB\r
+       MOVE    A,@.PRG\r
+       PUSHJ   P,SIXBP         ;PRINT SIXBIT MSG FOLLOWED BY TAB\r
+       PUSHJ   P,TAB\r
+       MOVE    A,@.ADR\r
+       JUMPN   A,SYS6\r
+       TLNN    JS,JSWP\r
+       JRST    SYS6\r
+       MOVE    A,@.SWP\r
+       ANDI    A,777\r
+       JRST    SYS6A\r
+SYS6:  TLNE    A,1777\r
+       TLO     A,1777\r
+       ADD     A,[XWD 1,0]\r
+       ASH     A,-^D28\r
+SYS6A: MOVEI   N,(A)\r
+       ADDM    N,CORUSE\r
+       PUSHJ   P,DECPRT\r
+       MOVEI   F,[ASCIZ /K     /]\r
+       PUSHJ   P,MSG\r
+       MOVSI   A,(SIXBIT /^C/)\r
+       JUMPGE  JS,TSTATE\r
+       TLNE    JS,JSWP\r
+       TLNE    JS,170\r
+       JRST    SYS7\r
+       MOVSI   A,(SIXBIT /SW/)\r
+       JRST    TSTATE\r
+SYS7:  LDB     B,[POINT 4,JS,14]\r
+       MOVE    A,QTAB(B)\r
+TSTATE:        PUSHJ   P,SIXBP\r
+       PUSHJ   P,TAB           ;PRINT STATE AND "SW"/"SF" IF SWAPPED/& FRAGMENTED\r
+       MOVE    A,@.TIM\r
+       PUSHJ   P,TCKTIM\r
+RET2:  PUSHJ   P,CRLF\r
+DUNJOB:        AOBJN   J,SYSL1\r
+       TLNN    M,FL.HGH\r
+       JRST    DORMNT\r
+\fHIGH: MOVEI   F,[ASCIZ /\r
+High Segments\r
+\r
+Program        Owner   High K  Users\r
+\r
+/]\r
+       PUSHJ   P,MSG\r
+       MOVE    J,SEGPTR\r
+HIGH00:        MOVE    JS,@.STS\r
+       TLNN    JS,SNA\r
+       JRST    DUNHGH\r
+       SKIPN   A,@.PRG\r
+       JRST    [MOVE   A,[SIXBIT /(PRIV)/]\r
+               TLNE    JS,SHRSEG\r
+               MOVE    A,[SIXBIT /(OBS)/]\r
+               JRST    .+1]\r
+HIGH01:        PUSHJ   P,SIXBP\r
+HIGH1A:        PUSHJ   P,TAB\r
+       MOVE    A,@.PPN\r
+       JUMPN   A,HIGH03\r
+        hrrz    D,.PPN\r
+\f;SUBROUTINE TO FIND 1ST. JOB USING A SEGMENT\r
+;CALL  MOVE    J,SEGMENT NO.\r
+;      PUSHJ   P,SEGSCN\r
+;      NONE FOUND RETURN\r
+;      FOUND\r
+;AC'S B & C DESTROYED\r
+;AC J IS RESPECTED\r
+\r
+SEGSCN:        MOVN    B,JOBN\r
+       HRLZS   B\r
+       HRR     B,.SGN          ;PREPARE AOBJN PTR. FOR SCANNING JBTSGN\r
+HIGH04:        ADDI    D,1\r
+       HRRZ    C,(B)           ;GET SEGMENT NO.\r
+HIGH06:        CAIN    C,(J)           ;DOES IT MATCH WITH CURRENT ONE?\r
+       SKIPA\r
+       AOBJN   B,HIGH04        ;NO-DO AGAIN\r
+HIGH03:        SKIPGE  M,B\r
+       JUMPE   A,[     MOVEI   F,[ASCIZ /Job /]\r
+                       PUSHJ   P,MSG\r
+                       SUB     B,.SGN\r
+                       HRRZ    N,B\r
+                       PUSHJ   P,DECPRT\r
+                       JRST    HIGH08]\r
+       JUMPLE  A,HIGH07\r
+       HLRZ    N,A\r
+       PUSHJ   P,OCTPRT\r
+       PUSHJ   P,COMMA\r
+       HRRZ    N,A\r
+       PUSHJ   P,OCTPRT\r
+       JRST    HIGH08\r
+HIGH07: PUSHJ  P,SIXBP\r
+HIGH08:        PUSHJ   P,TAB\r
+       MOVE    A,@.ADR\r
+       JUMPN   A,HIGH10\r
+       TLNN    J,2000\r
+       JRST    HIGH10\r
+HIGH09:        MOVE    A,@.SWP\r
+       JRST    HIGH11\r
+HIGH10:        TLNE    A,1777\r
+       TLO     A,1777\r
+       ADD     A,[1000000]\r
+       ASH     A,-34\r
+HIGH11:        ANDI    A,377\r
+       MOVEI   N,0(A)\r
+       ADDM    N,CORUSE\r
+       PUSHJ   P,DECPRT\r
+       MOVEI   F,[ASCIZ /K     /]\r
+       PUSHJ   P,MSG\r
+       MOVEI   A,0(J)\r
+       SUB     A,JOBN\r
+       MOVE    N,@.SEGCT\r
+       PUSHJ   P,DECPRT\r
+       PUSHJ   P,CRLF\r
+DUNHGH:        AOBJN   J,HIGH00\r
+DORMNT:        MOVE    N,CORMAX\r
+       ASH     N,-12\r
+       SUB     N,CORUSE\r
+       JUMPL   N,HIGH12\r
+       PUSHJ   P,CRLF\r
+       PUSHJ   P,DECPRT\r
+       MOVEI   F,[ASCIZ /K Core left,/]\r
+       PUSHJ   P,MSG\r
+       JRST    HIGH13\r
+HIGH12:        MOVNS   M,N\r
+       MOVEI   F,[ASCIZ /\r
+Swapping /]\r
+       PUSHJ   P,MSG\r
+       PUSHJ   P,DECPRT\r
+       MOVEI   F,[ASCIZ /K,/]\r
+       PUSHJ   P,MSG\r
+HIGH13:        MOVEI   F,[ASCIZ / Virt. core left = /]\r
+       PUSHJ   P,MSG\r
+       MOVE    N,VIRTAL\r
+       PUSHJ   P,DECPRT\r
+       PUSHJ   P,CRLF2\r
+\fDEVQ: MOVE    D,XDVLST\r
+       CALLI   D,CI.GET\r
+         JRST  FINIS\r
+DEVLP: TLNN    D,-1\r
+       JRST    DEVEND\r
+       HLRZS   D\r
+       MOVEI   B,DEVMOD(D)\r
+       CALLI   B,CI.PEK\r
+       TRNE    B,ASSCON+ASSPRG\r
+       TLNE    B,DVTTY+DVDSK\r
+       JRST    NXTDEV\r
+       MOVEI   C,DEVCHR(D)\r
+       CALLI   C,CI.PEK\r
+       MOVEI   A,DEVNAM(D)\r
+       CALLI   A,CI.PEK\r
+       MOVEI   F,[ASCIZ /Busy devices:\r
+\r
+Device Job     Why\r
+\r
+/]\r
+       TLON    M,FL.DEV\r
+       PUSHJ   P,MSG\r
+       PUSHJ   P,SIXBP         ;PRINT SIXBIT MSG FOLLOWED BY TAB\r
+       PUSHJ   P,TAB\r
+       LDB     N,[POINT 6,C,5]\r
+       PUSHJ   P,DECPRT\r
+       PUSHJ   P,TAB\r
+       MOVEI   F,[ASCIZ /AS/]\r
+       TRNE    B,ASSCON\r
+       PUSHJ   P,MSG\r
+       TRNN    B,ASSPRG\r
+       JRST    DVCRLF\r
+       MOVEI   CH,"+"\r
+       TRNE    B,ASSCON\r
+       PUSHJ   P,TYO\r
+       MOVEI   F,[ASCIZ /INIT/]\r
+       PUSHJ   P,MSG\r
+DVCRLF:        PUSHJ   P,CRLF\r
+NXTDEV:        MOVEI   D,DEVSER(D)\r
+       CALLI   D,CI.PEK\r
+       JRST    DEVLP\r
+\r
+\fDEVEND:       MOVEI   F,[ASCIZ /No busy devices\r
+/]\r
+       TLNN    M,FL.DEV\r
+       PUSHJ   P,MSG\r
+       PUSHJ   P,CRLF2\r
+FINIS: JRST    KILL            ;YES-GO SEE IF WE SHOULD EXIT OR INTERPRET MORE CHS.\r
+\r
+\r
+\r
+NOCOR: MOVEI   F,[ASCIZ /?NEED MORE CORE FOR DATA\r
+\r
+/]\r
+       PUSHJ   P,MSG\r
+KILL:  TLNE    M,FL.LGI\r
+       CALLI   0,CI.EXI        ;MONRET\r
+       MOVEI   F,KJMSG\r
+       CALLI   F,CI.DDT\r
+       CALLI   CI.LGO\r
+\r
+KJMSG: ASCII   /.KJOB/\r
+       BYTE    (7) 15,12,".",4,0\r
+\fGETAJ:        HRLI    A,(J)\r
+GETA:  CALLI   A,CI.GET\r
+         TDZA  A,A\r
+       POPJ    P,0\r
+       MOVEI   CH,77\r
+       JRST    TYO\r
+\r
+NOWHO: TLNE    M,FL.GOD\r
+       JRST    SYSL1C          ;SKIP RETURN ONLY IF GOD\r
+       MOVE    A,[SIXBIT /**,**/]\r
+       PUSHJ   P,SIXBP\r
+       JRST    SYS5\r
+\r
+CRLF2: PUSHJ   P,CRLF\r
+CRLF:  MOVEI   F,[ASCIZ /\r
+/]\r
+MSG:   HRLI    F,440700\r
+MSG1:  ILDB    CH,F\r
+       JUMPE   CH,CPOPJ\r
+       PUSHJ   P,TYO\r
+       JRST    MSG1\r
+\r
+COLON: MOVEI   CH,":"\r
+       JRST    TYO\r
+COMMA: MOVEI   CH,","\r
+       JRST    TYO\r
+\r
+;SIXTAB:       PUSHJ   P,SIXBP\r
+TAB:   MOVEI   CH,11\r
+TYO:   SOSG    TYOB+2\r
+       OUTPUT  TTY,0\r
+       IDPB    CH,TYOB+1\r
+       CAIN    CH,12\r
+       OUTPUT  TTY,0\r
+       POPJ    P,0\r
+\fTCKTIM:       IDIV    A,TCKSEC        ;JUNK JIFFIES\r
+       IDIVI   A,^D60*^D60\r
+       MOVE    N,A\r
+       PUSHJ   P,DECPR2\r
+       PUSHJ   P,COLON\r
+       IDIVI   B,^D60\r
+       MOVE    N,B\r
+       PUSHJ   P,DECPR2\r
+       PUSHJ   P,COLON\r
+       MOVE    N,C\r
+       JRST    DECPR2\r
+SIXBP: MOVE    BP,[XWD 440600,A]\r
+SIXBP1:        ILDB    CH,BP\r
+       JUMPE   CH,CPOPJ\r
+       ADDI    CH,40\r
+       PUSHJ   P,TYO\r
+       TLNE    BP,770000\r
+       JRST    SIXBP1\r
+CPOPJ: POPJ    P,0\r
+DECPR2:        MOVEI   CH,60\r
+       CAIG    N,11\r
+       PUSHJ   P,TYO\r
+DECPRT:        MOVEI   R,12\r
+RDXPRT:        MOVEI   CH,"-"\r
+       SKIPGE  N\r
+       PUSHJ   P,TYO\r
+       MOVMS   N\r
+RADIX1:        IDIVI   N,(R)\r
+       HRLM    N1,0(P)\r
+       SKIPE   N\r
+       PUSHJ   P,RADIX1\r
+       HLRZ    CH,0(P)\r
+       ADDI    CH,60\r
+       JRST    TYO\r
+OCTPRT:        MOVEI   R,10\r
+       JRST    RDXPRT\r
+\f;CONSTANTS FOR GETTAB UUO\r
+\r
+XTIME: XWD     10,11\r
+XDATE: XWD     11,11\r
+XSEGPT:        XWD     15,11\r
+XUPTIM:        XWD     15,12\r
+XDVLST:        XWD     14,11\r
+XVIRTL:        XWD     4,13\r
+XCORMX:        XWD     10,12\r
+XSTATS:        XWD     17,11\r
+\r
+QTAB:  SIXBIT /RN/\r
+       SIXBIT /WS/\r
+       SIXBIT /TS/\r
+       SIXBIT /ST/\r
+       SIXBIT /AU/\r
+       SIXBIT /MQ/\r
+       SIXBIT /DA/\r
+       SIXBIT /DT/\r
+       SIXBIT /DC/\r
+       SIXBIT /MT/\r
+       SIXBIT /IO/\r
+       SIXBIT /TT/\r
+       SIXBIT /SL/\r
+       SIXBIT /NL/\r
+       SIXBIT /^C/\r
+       BLOCK   1\r
+\r
+MONTAB:        ASCII /-Jan-/\r
+       ASCII /-Feb-/\r
+       ASCII /-Mar-/\r
+       ASCII /-Apr-/\r
+       ASCII /-May-/\r
+       ASCII /-Jun-/\r
+       ASCII /-Jul-/\r
+       ASCII /-Aug-/\r
+       ASCII /-Sep-/\r
+       ASCII /-Oct-/\r
+       ASCII /-Nov-/\r
+       ASCII /-Dec-/\r
+\fTABPTR:       XWD     SIGN+0,.STS\r
+       XWD     SIGN+2,.PPN\r
+       XWD          4,.TIM\r
+       XWD         14,.SGN\r
+       XWD     SIGN+3,.PRG\r
+       XWD     SIGN+1,.ADR\r
+       XWD     SIGN+7,.SWP\r
+NTAB==.-TABPTR\r
+       XWD          0,.SEGCT\r
+\r
+NSEGT==6\r
+NJOBT==7\r
+\r
+.DDB:  XWD     J,0\r
+.TTY:  XWD     J,0     ;L\r
+.STS:  XWD     J,0\r
+.PPN:  XWD     J,0     ;L+H\r
+.TIM:  XWD     J,0     ;L\r
+.SGN:  XWD     J,0     ;L\r
+.PRG:  XWD     J,0     ;L+H\r
+.ADR:  XWD     J,0     ;L+H\r
+.SWP:  XWD     J,0     ;L+H\r
+.SEGCT:        XWD     A,0     ;H\r
+\r
+\r
+;TEMPORARIES\r
+\r
+PDP:   XWD     -20,.\r
+       BLOCK   21\r
+\r
+TYOB:  BLOCK   3\r
+\r
+JOBN:  0\r
+SEGN:  0\r
+BOTH:  0\r
+\r
+CORMAX:        0\r
+VIRTAL:        0\r
+SEGPTR:        0\r
+CORUSE:        0\r
+\r
+MTTY:  0\r
+FREE:  0\r
+ZERLOW:        0\r
+ZERHGH:        0\r
+\r
+JOBTTY:        0\r
+DATE:  0\r
+TCKSEC:        JIFSEC\r
+STATES:        0\r
+\r
+XLIST  ;AVOID PRINTING LITERALS\r
+\r
+LIT\r
+LIST\r
+\r
+SYSEND:        END     SYSTAT\r