--- /dev/null
+\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