Added SRCCOM.MAC
[retro-software/dec/tops10/v4.5.git] / src / systat.mac
1 \fTITLE SYSTAT - V410\r
2 SUBTTL R CLEMENTS /CHW DEC 24 69\r
3 VSYSTAT==410\r
4 \r
5 LOC 137\r
6 EXP VSYSTAT\r
7 RELOC\r
8         loc     140\r
9 \r
10 ;AC ASSIGNMENTS\r
11 \r
12 M=0\r
13 A=1\r
14 B=2\r
15 C=3\r
16 D=4\r
17 J=5\r
18 JS=6\r
19 R=7\r
20 N=10\r
21 N1=11\r
22 F=12\r
23 BP=13\r
24 WD=15\r
25 CH=16\r
26 P=17\r
27 \r
28 ;I/O CHANNEL\r
29 \r
30 TTY=0\r
31 \r
32 IFNDEF STANSW,< STANSW==0>\r
33 \r
34 IFNDEF HACKSW,< HACKSW==0>\r
35 \r
36 IFNDEF JIFSEC,<JIFSEC==^D60>\r
37 \r
38 L.BDO="B"-"A"           ;B WAS TYPED\r
39 L.DSO="D"-"A"           ;D  "    "\r
40 L.FSO="F"-"A"           ;F  "    "\r
41 L.SSO="S"-"A"           ;S  "    "\r
42 L.JSO="J"-"A"           ;J  "    "\r
43 L.EJS="H"-"A"           ;H  "    "\r
44 \f;FLAGS (LH OF F)\r
45 \r
46 FL.HGH==1       ;HIGH SEG PARAGRAPH NEEDED\r
47 FL.DEV==2       ;DEVICE HEADER OUTPUT\r
48 FL.GOD==4       ;I AM [1,N]\r
49 FL.LGI==10      ;I AM LOGGED IN\r
50 FL.DTJ==20      ;THIS JOB DETACHED\r
51 FL.DOR==40      ;DORMANT SEG TABLE BEING PRINTED\r
52 FL.BRK==SIGN    ;NO MORE CHS. TO I/P OR BREAK CH. SEEN\r
53 \r
54 ;STUFF WHICH HAS TO AGREE WITH MONITOR, ASIDE FROM GETTAB DEFNS\r
55 \r
56 JNA==40000\r
57 JLOG==4\r
58 ASSCON==400000\r
59 ASSPRG==200000\r
60 SNA==400000\r
61 JSWP==2000\r
62 SHRSEG==200000\r
63 \r
64 DEVSER==3\r
65 DEVMOD==4\r
66 DEVCHR==1\r
67 DEVNAM==0\r
68 \r
69 ;PARAMETERS\r
70 \r
71 SIGN=400000\r
72 DVDSK==200000\r
73 DVTTY==10\r
74 OUTMSK==377000\r
75 \r
76 MLON\r
77 \r
78 ;CALLI'S\r
79 \r
80 CI.RES==0\r
81 CI.DDT==3\r
82 CI.COR==11\r
83 CI.EXI==12\r
84 CI.LGO==17\r
85 CI.PEK==33\r
86 CI.GET==41\r
87 \r
88 EXTERN  JOBDDT,JOBREL,JOBSYM,JOBFF\r
89 \f;START HERE\r
90 \r
91 SYSTAT: CALLI   CI.RES\r
92         MOVE    P,PDP           ;SETUP STACK PNTR.\r
93         MOVEI   M,0\r
94         INIT    TTY,0\r
95           SIXBIT /TTY/\r
96           XWD   TYOB,0\r
97           HALT  .\r
98         MOVE    A,[SIXBIT /SYSTAT/]\r
99         MOVSI   B,(SIXBIT /TXT/)\r
100         SETZB   C,D             ;CLEAR DATE & PPN\r
101         ENTER   TTY,A\r
102         JFCL\r
103         OUTBUF  TTY,1\r
104         MOVE    A,XSTATS        ;MY STATUS\r
105         PUSHJ   P,GETA\r
106         MOVEM   A,STATES\r
107         JUMPE   A,DNTSTO\r
108         MOVEI   B,JIFSEC\r
109         TLNE    A,4000\r
110         MOVEI   B,62\r
111         MOVEM   B,TCKSEC\r
112 DNTSTO: MOVE    A,XSEGPT        ;READ TTY STATUS DATA\r
113         PUSHJ  P,GETA   \r
114         MOVEM  A,SEGPTR   \r
115         HLRE   B,A      \r
116         MOVNM  B,SEGN   \r
117         HRRZM  A,JOBN   \r
118         ADD    A,SEGN   \r
119         HRRZM  A,BOTH   \r
120         HRRZ   A,JOBFF    \r
121         MOVEM  A,ZERLOW   \r
122         MOVEM  A,FREE   \r
123         HRRZ   A,JOBREL     \r
124         SKIPE  JOBDDT       \r
125 SYS0A:  HRRZ   A,JOBSYM    \r
126         MOVEM  A,ZERHGH   \r
127         HRROI  A,       \r
128         PUSHJ   P,GETA\r
129         HRROI   B,2             ;MY PPN\r
130         CALLI   B,CI.GET\r
131           SETO  B,              ;NON DISK SYSTEM-FLAG AS UNGODLY\r
132         TLNE    A,JLOG          ;LOGGED IN?\r
133         TLO     M,FL.LGI        ;YES-REMEMBER IT\r
134         TLNN    B,-2            ;PROJECT 1?\r
135         TLNN    A,JLOG          ;YES-LOGGED IN?\r
136         SKIPA                   ;NO\r
137         TLO     M,FL.GOD        ;WE'RE GOD\r
138         SETZM   MTTY\r
139         SETZM   @ZERLOW\r
140         MOVE    A,ZERLOW\r
141         HRLS    A\r
142         ADDI    A,1\r
143         BLT     A,@ZERHGH\r
144         MOVE    A,FREE\r
145         HRRM    A,.DDB\r
146         MOVSI   J,10\r
147 SYS0L:  MOVS    A,J\r
148         CALLI   A,CI.GET\r
149           JRST  SYS0X\r
150         SOS     MTTY\r
151         MOVEM   A,@.DDB\r
152         AOJA    J,SYS0L\r
153 \fSYS0X: MOVN    A,MTTY          ;GET NUMBER OF JOBS\r
154         ADDB    A,FREE          ;ADVANCE POINTER\r
155         HRRM    A,.TTY          ;SETUP TABLE OF LINE NUMBERS\r
156         HRLZ    N,MTTY\r
157 SYS0Y:  MOVE    J,N\r
158         MOVE    B,@.DDB\r
159         LDB     J,[POINT 8,B,11]\r
160         TLZ     B,-1\r
161         JUMPE   B,SYS0Z\r
162         CALLI   B,CI.PEK\r
163         MOVEM   B,@.TTY\r
164 SYS0Z:  AOBJN   N,SYS0Y\r
165         SUBTTL  READ JOB AND SEGMENT STATUS\r
166         MOVE    A,JOBN\r
167         ADDB    A,FREE\r
168         MOVE    B,[XWD -NTAB,TABPTR]\r
169         MOVE    C,(B)\r
170         HRRM    A,(C)\r
171         MOVE    A,JOBN\r
172         IMULI   A,NJOBT\r
173         MOVE    C,SEGN\r
174         IMULI   C,NSEGT\r
175         ADD     A,C\r
176         ADD     A,FREE\r
177         HRRZ    C,JOBREL\r
178         CAIL    C,(A)\r
179         JRST    INIT1\r
180         HRRZS   A\r
181         CALLI   A,CI.COR\r
182           JRST  NOCOR\r
183 INIT1:  MOVE    C,(B)\r
184         HRRZ    J,BOTH\r
185         TLZN    C,SIGN\r
186         HRRZ    J,JOBN\r
187         MOVE    A,FREE\r
188         ADDI    A,(J)\r
189         HRRM    A,1(C)\r
190         HRRZM   A,FREE\r
191         MOVNS   J\r
192         HRLZS   J\r
193 INIT2:  MOVS    A,C\r
194         PUSHJ   P,GETAJ\r
195         MOVEM   A,@0(C)\r
196         AOBJN   J,INIT2\r
197         AOBJN   B,INIT1\r
198 \f       MOVE    A,FREE\r
199         ADD     A,SEGN\r
200         HRRZM   A,FREE\r
201         MOVE    A,.SEGCT\r
202         HRLS    A\r
203         SETZM   (A)\r
204         ADDI    A,1\r
205         BLT     A,@FREE\r
206         MOVE    A,XCORMX        ;GET SIZE OF USER CORE\r
207         PUSHJ   P,GETA\r
208         MOVEM   A,CORMAX\r
209         MOVE    A,XVIRTL\r
210         PUSHJ   P,GETA\r
211         MOVEM   A,VIRTAL\r
212         MOVEI   F,[ASCIZ /\r
213 Status of /]\r
214         PUSHJ   P,MSG\r
215         MOVEI   B,0\r
216 CONST:  MOVEI   C,11\r
217 SYS2:   MOVEI   F,1\r
218         MOVE    A,C\r
219         PUSHJ   P,GETA\r
220         PUSHJ   P,MSG\r
221         AOBJN   C,.+1\r
222         TRNE    A,376\r
223         SOJA    C,SYS2\r
224         MOVEI   F,[ASCIZ / at /]\r
225         PUSHJ   P,MSG\r
226         MOVE    A,XTIME\r
227         PUSHJ   P,GETA\r
228         PUSHJ   P,TCKTIM\r
229         MOVEI   F,[ASCIZ / on /]\r
230         PUSHJ   P,MSG\r
231         MOVE    A,XDATE         ;GET TODAY'S DATE\r
232         PUSHJ   P,GETA\r
233         MOVEM   A,DATE\r
234         IDIVI   A,^D31\r
235         MOVEI   N,1(B)\r
236         PUSHJ   P,DECPR2\r
237         IDIVI   A,^D12\r
238         MOVE    B,MONTAB(B)\r
239         MOVEI   C,0\r
240         MOVEI   F,B\r
241         PUSHJ   P,MSG\r
242         MOVEI   N,^D64(A)\r
243         PUSHJ   P,DECPRT        ;PRINT MESSAGE FOLLOWED BY DECIMAL NO.\r
244         PUSHJ   P,CRLF2\r
245 \f       MOVEI   F,[ASCIZ /Uptime /]\r
246         PUSHJ   P,MSG\r
247         MOVE    A,XUPTIM\r
248         PUSHJ   P,GETA          ;GET UPTIME\r
249         PUSH    P,A\r
250         PUSHJ   P,TCKTIM\r
251         MOVEI   F,[ASCIZ /, /]\r
252         PUSHJ   P,MSG\r
253         MOVEI   J,0\r
254         MOVE    A,@.TIM         ;GET NULL TIME\r
255         IMULI   A,^D100\r
256         POP     P,N             ;SAVE FOR COMPUTING IDLE & LOST TIME\r
257         IDIV    A,N             ;COMPUTE % NULL TIME\r
258         MOVE    N,A             ;SAVE IT\r
259         PUSHJ   P,DECPRT        ;PRINT MESSAGE FOLLOWED BY DECIMAL NO.\r
260         MOVEI   F,[ASCIZ /% Null time\r
261 \r
262 Job     Who     Where   What    Size    State   Runtime\r
263 \r
264 /]\r
265         PUSHJ   P,MSG\r
266 SYS4A:  MOVN    J,JOBN\r
267         HRLZS   J\r
268         SETZM   CORUSE          ;CLEAR TOTAL VIRT. CORE USED\r
269 \fSYSL1: MOVE    JS,@.STS\r
270         TLNN    JS,JNA\r
271         JRST    DUNJOB\r
272         MOVE    A,@.SGN\r
273         JUMPLE  A,SYSL1E\r
274         SUB     A,JOBN\r
275         AOS     @.SEGCT         ;INCREMENT HISEG USE COUNT\r
276         TLO     M,FL.HGH\r
277 SYSL1E: HRRZ    N,J\r
278         PUSHJ   P,DECPRT\r
279         PUSHJ   P,TAB\r
280         TLZ     FL.DTJ\r
281         TLO     FL.DTJ\r
282         SKIPN   A,@.TTY\r
283         SKIPA   A,[SIXBIT /DET/]\r
284         TLZ     M,FL.DTJ\r
285         MOVEM   A,JOBTTY\r
286         TLNN    M,FL.DTJ\r
287         TLNN    JS,JLOG\r
288         JRST    NOWHO\r
289 SYSL1C: MOVE    A,@.PPN         ;\r
290         HLRZ    N,A\r
291         PUSHJ   P,OCTPRT                ;PRINT PRJ-PRG #\r
292 \fSYSL1D:        PUSHJ   P,COMMA\r
293         HRRZ    N,A\r
294         PUSHJ   P,OCTPRT\r
295 SYS5:   PUSHJ   P,TAB\r
296         MOVE    A,JOBTTY\r
297         PUSHJ   P,SIXBP         ;PRINT SIXBIT MSG FOLLOWED BY TAB\r
298         PUSHJ   P,TAB\r
299         MOVE    A,@.PRG\r
300         PUSHJ   P,SIXBP         ;PRINT SIXBIT MSG FOLLOWED BY TAB\r
301         PUSHJ   P,TAB\r
302         MOVE    A,@.ADR\r
303         JUMPN   A,SYS6\r
304         TLNN    JS,JSWP\r
305         JRST    SYS6\r
306         MOVE    A,@.SWP\r
307         ANDI    A,777\r
308         JRST    SYS6A\r
309 SYS6:   TLNE    A,1777\r
310         TLO     A,1777\r
311         ADD     A,[XWD 1,0]\r
312         ASH     A,-^D28\r
313 SYS6A:  MOVEI   N,(A)\r
314         ADDM    N,CORUSE\r
315         PUSHJ   P,DECPRT\r
316         MOVEI   F,[ASCIZ /K     /]\r
317         PUSHJ   P,MSG\r
318         MOVSI   A,(SIXBIT /^C/)\r
319         JUMPGE  JS,TSTATE\r
320         TLNE    JS,JSWP\r
321         TLNE    JS,170\r
322         JRST    SYS7\r
323         MOVSI   A,(SIXBIT /SW/)\r
324         JRST    TSTATE\r
325 SYS7:   LDB     B,[POINT 4,JS,14]\r
326         MOVE    A,QTAB(B)\r
327 TSTATE: PUSHJ   P,SIXBP\r
328         PUSHJ   P,TAB           ;PRINT STATE AND "SW"/"SF" IF SWAPPED/& FRAGMENTED\r
329         MOVE    A,@.TIM\r
330         PUSHJ   P,TCKTIM\r
331 RET2:   PUSHJ   P,CRLF\r
332 DUNJOB: AOBJN   J,SYSL1\r
333         TLNN    M,FL.HGH\r
334         JRST    DORMNT\r
335 \fHIGH:  MOVEI   F,[ASCIZ /\r
336 High Segments\r
337 \r
338 Program Owner   High K  Users\r
339 \r
340 /]\r
341         PUSHJ   P,MSG\r
342         MOVE    J,SEGPTR\r
343 HIGH00: MOVE    JS,@.STS\r
344         TLNN    JS,SNA\r
345         JRST    DUNHGH\r
346         SKIPN   A,@.PRG\r
347         JRST    [MOVE   A,[SIXBIT /(PRIV)/]\r
348                 TLNE    JS,SHRSEG\r
349                 MOVE    A,[SIXBIT /(OBS)/]\r
350                 JRST    .+1]\r
351 HIGH01: PUSHJ   P,SIXBP\r
352 HIGH1A: PUSHJ   P,TAB\r
353         MOVE    A,@.PPN\r
354         JUMPN   A,HIGH03\r
355         hrrz    D,.PPN\r
356 \f;SUBROUTINE TO FIND 1ST. JOB USING A SEGMENT\r
357 ;CALL   MOVE    J,SEGMENT NO.\r
358 ;       PUSHJ   P,SEGSCN\r
359 ;       NONE FOUND RETURN\r
360 ;       FOUND\r
361 ;AC'S B & C DESTROYED\r
362 ;AC J IS RESPECTED\r
363 \r
364 SEGSCN: MOVN    B,JOBN\r
365         HRLZS   B\r
366         HRR     B,.SGN          ;PREPARE AOBJN PTR. FOR SCANNING JBTSGN\r
367 HIGH04: ADDI    D,1\r
368         HRRZ    C,(B)           ;GET SEGMENT NO.\r
369 HIGH06: CAIN    C,(J)           ;DOES IT MATCH WITH CURRENT ONE?\r
370         SKIPA\r
371         AOBJN   B,HIGH04        ;NO-DO AGAIN\r
372 HIGH03: SKIPGE  M,B\r
373         JUMPE   A,[     MOVEI   F,[ASCIZ /Job /]\r
374                         PUSHJ   P,MSG\r
375                         SUB     B,.SGN\r
376                         HRRZ    N,B\r
377                         PUSHJ   P,DECPRT\r
378                         JRST    HIGH08]\r
379         JUMPLE  A,HIGH07\r
380         HLRZ    N,A\r
381         PUSHJ   P,OCTPRT\r
382         PUSHJ   P,COMMA\r
383         HRRZ    N,A\r
384         PUSHJ   P,OCTPRT\r
385         JRST    HIGH08\r
386 HIGH07: PUSHJ   P,SIXBP\r
387 HIGH08: PUSHJ   P,TAB\r
388         MOVE    A,@.ADR\r
389         JUMPN   A,HIGH10\r
390         TLNN    J,2000\r
391         JRST    HIGH10\r
392 HIGH09: MOVE    A,@.SWP\r
393         JRST    HIGH11\r
394 HIGH10: TLNE    A,1777\r
395         TLO     A,1777\r
396         ADD     A,[1000000]\r
397         ASH     A,-34\r
398 HIGH11: ANDI    A,377\r
399         MOVEI   N,0(A)\r
400         ADDM    N,CORUSE\r
401         PUSHJ   P,DECPRT\r
402         MOVEI   F,[ASCIZ /K     /]\r
403         PUSHJ   P,MSG\r
404         MOVEI   A,0(J)\r
405         SUB     A,JOBN\r
406         MOVE    N,@.SEGCT\r
407         PUSHJ   P,DECPRT\r
408         PUSHJ   P,CRLF\r
409 DUNHGH: AOBJN   J,HIGH00\r
410 DORMNT: MOVE    N,CORMAX\r
411         ASH     N,-12\r
412         SUB     N,CORUSE\r
413         JUMPL   N,HIGH12\r
414         PUSHJ   P,CRLF\r
415         PUSHJ   P,DECPRT\r
416         MOVEI   F,[ASCIZ /K Core left,/]\r
417         PUSHJ   P,MSG\r
418         JRST    HIGH13\r
419 HIGH12: MOVNS   M,N\r
420         MOVEI   F,[ASCIZ /\r
421 Swapping /]\r
422         PUSHJ   P,MSG\r
423         PUSHJ   P,DECPRT\r
424         MOVEI   F,[ASCIZ /K,/]\r
425         PUSHJ   P,MSG\r
426 HIGH13: MOVEI   F,[ASCIZ / Virt. core left = /]\r
427         PUSHJ   P,MSG\r
428         MOVE    N,VIRTAL\r
429         PUSHJ   P,DECPRT\r
430         PUSHJ   P,CRLF2\r
431 \fDEVQ:  MOVE    D,XDVLST\r
432         CALLI   D,CI.GET\r
433           JRST  FINIS\r
434 DEVLP:  TLNN    D,-1\r
435         JRST    DEVEND\r
436         HLRZS   D\r
437         MOVEI   B,DEVMOD(D)\r
438         CALLI   B,CI.PEK\r
439         TRNE    B,ASSCON+ASSPRG\r
440         TLNE    B,DVTTY+DVDSK\r
441         JRST    NXTDEV\r
442         MOVEI   C,DEVCHR(D)\r
443         CALLI   C,CI.PEK\r
444         MOVEI   A,DEVNAM(D)\r
445         CALLI   A,CI.PEK\r
446         MOVEI   F,[ASCIZ /Busy devices:\r
447 \r
448 Device  Job     Why\r
449 \r
450 /]\r
451         TLON    M,FL.DEV\r
452         PUSHJ   P,MSG\r
453         PUSHJ   P,SIXBP         ;PRINT SIXBIT MSG FOLLOWED BY TAB\r
454         PUSHJ   P,TAB\r
455         LDB     N,[POINT 6,C,5]\r
456         PUSHJ   P,DECPRT\r
457         PUSHJ   P,TAB\r
458         MOVEI   F,[ASCIZ /AS/]\r
459         TRNE    B,ASSCON\r
460         PUSHJ   P,MSG\r
461         TRNN    B,ASSPRG\r
462         JRST    DVCRLF\r
463         MOVEI   CH,"+"\r
464         TRNE    B,ASSCON\r
465         PUSHJ   P,TYO\r
466         MOVEI   F,[ASCIZ /INIT/]\r
467         PUSHJ   P,MSG\r
468 DVCRLF: PUSHJ   P,CRLF\r
469 NXTDEV: MOVEI   D,DEVSER(D)\r
470         CALLI   D,CI.PEK\r
471         JRST    DEVLP\r
472 \r
473 \fDEVEND:        MOVEI   F,[ASCIZ /No busy devices\r
474 /]\r
475         TLNN    M,FL.DEV\r
476         PUSHJ   P,MSG\r
477         PUSHJ   P,CRLF2\r
478 FINIS:  JRST    KILL            ;YES-GO SEE IF WE SHOULD EXIT OR INTERPRET MORE CHS.\r
479 \r
480 \r
481 \r
482 NOCOR:  MOVEI   F,[ASCIZ /?NEED MORE CORE FOR DATA\r
483 \r
484 /]\r
485         PUSHJ   P,MSG\r
486 KILL:   TLNE    M,FL.LGI\r
487         CALLI   0,CI.EXI        ;MONRET\r
488         MOVEI   F,KJMSG\r
489         CALLI   F,CI.DDT\r
490         CALLI   CI.LGO\r
491 \r
492 KJMSG:  ASCII   /.KJOB/\r
493         BYTE    (7) 15,12,".",4,0\r
494 \fGETAJ: HRLI    A,(J)\r
495 GETA:   CALLI   A,CI.GET\r
496           TDZA  A,A\r
497         POPJ    P,0\r
498         MOVEI   CH,77\r
499         JRST    TYO\r
500 \r
501 NOWHO:  TLNE    M,FL.GOD\r
502         JRST    SYSL1C          ;SKIP RETURN ONLY IF GOD\r
503         MOVE    A,[SIXBIT /**,**/]\r
504         PUSHJ   P,SIXBP\r
505         JRST    SYS5\r
506 \r
507 CRLF2:  PUSHJ   P,CRLF\r
508 CRLF:   MOVEI   F,[ASCIZ /\r
509 /]\r
510 MSG:    HRLI    F,440700\r
511 MSG1:   ILDB    CH,F\r
512         JUMPE   CH,CPOPJ\r
513         PUSHJ   P,TYO\r
514         JRST    MSG1\r
515 \r
516 COLON:  MOVEI   CH,":"\r
517         JRST    TYO\r
518 COMMA:  MOVEI   CH,","\r
519         JRST    TYO\r
520 \r
521 ;SIXTAB:        PUSHJ   P,SIXBP\r
522 TAB:    MOVEI   CH,11\r
523 TYO:    SOSG    TYOB+2\r
524         OUTPUT  TTY,0\r
525         IDPB    CH,TYOB+1\r
526         CAIN    CH,12\r
527         OUTPUT  TTY,0\r
528         POPJ    P,0\r
529 \fTCKTIM:        IDIV    A,TCKSEC        ;JUNK JIFFIES\r
530         IDIVI   A,^D60*^D60\r
531         MOVE    N,A\r
532         PUSHJ   P,DECPR2\r
533         PUSHJ   P,COLON\r
534         IDIVI   B,^D60\r
535         MOVE    N,B\r
536         PUSHJ   P,DECPR2\r
537         PUSHJ   P,COLON\r
538         MOVE    N,C\r
539         JRST    DECPR2\r
540 SIXBP:  MOVE    BP,[XWD 440600,A]\r
541 SIXBP1: ILDB    CH,BP\r
542         JUMPE   CH,CPOPJ\r
543         ADDI    CH,40\r
544         PUSHJ   P,TYO\r
545         TLNE    BP,770000\r
546         JRST    SIXBP1\r
547 CPOPJ:  POPJ    P,0\r
548 DECPR2: MOVEI   CH,60\r
549         CAIG    N,11\r
550         PUSHJ   P,TYO\r
551 DECPRT: MOVEI   R,12\r
552 RDXPRT: MOVEI   CH,"-"\r
553         SKIPGE  N\r
554         PUSHJ   P,TYO\r
555         MOVMS   N\r
556 RADIX1: IDIVI   N,(R)\r
557         HRLM    N1,0(P)\r
558         SKIPE   N\r
559         PUSHJ   P,RADIX1\r
560         HLRZ    CH,0(P)\r
561         ADDI    CH,60\r
562         JRST    TYO\r
563 OCTPRT: MOVEI   R,10\r
564         JRST    RDXPRT\r
565 \f;CONSTANTS FOR GETTAB UUO\r
566 \r
567 XTIME:  XWD     10,11\r
568 XDATE:  XWD     11,11\r
569 XSEGPT: XWD     15,11\r
570 XUPTIM: XWD     15,12\r
571 XDVLST: XWD     14,11\r
572 XVIRTL: XWD     4,13\r
573 XCORMX: XWD     10,12\r
574 XSTATS: XWD     17,11\r
575 \r
576 QTAB:   SIXBIT /RN/\r
577         SIXBIT /WS/\r
578         SIXBIT /TS/\r
579         SIXBIT /ST/\r
580         SIXBIT /AU/\r
581         SIXBIT /MQ/\r
582         SIXBIT /DA/\r
583         SIXBIT /DT/\r
584         SIXBIT /DC/\r
585         SIXBIT /MT/\r
586         SIXBIT /IO/\r
587         SIXBIT /TT/\r
588         SIXBIT /SL/\r
589         SIXBIT /NL/\r
590         SIXBIT /^C/\r
591         BLOCK   1\r
592 \r
593 MONTAB: ASCII /-Jan-/\r
594         ASCII /-Feb-/\r
595         ASCII /-Mar-/\r
596         ASCII /-Apr-/\r
597         ASCII /-May-/\r
598         ASCII /-Jun-/\r
599         ASCII /-Jul-/\r
600         ASCII /-Aug-/\r
601         ASCII /-Sep-/\r
602         ASCII /-Oct-/\r
603         ASCII /-Nov-/\r
604         ASCII /-Dec-/\r
605 \fTABPTR:        XWD     SIGN+0,.STS\r
606         XWD     SIGN+2,.PPN\r
607         XWD          4,.TIM\r
608         XWD         14,.SGN\r
609         XWD     SIGN+3,.PRG\r
610         XWD     SIGN+1,.ADR\r
611         XWD     SIGN+7,.SWP\r
612 NTAB==.-TABPTR\r
613         XWD          0,.SEGCT\r
614 \r
615 NSEGT==6\r
616 NJOBT==7\r
617 \r
618 .DDB:   XWD     J,0\r
619 .TTY:   XWD     J,0     ;L\r
620 .STS:   XWD     J,0\r
621 .PPN:   XWD     J,0     ;L+H\r
622 .TIM:   XWD     J,0     ;L\r
623 .SGN:   XWD     J,0     ;L\r
624 .PRG:   XWD     J,0     ;L+H\r
625 .ADR:   XWD     J,0     ;L+H\r
626 .SWP:   XWD     J,0     ;L+H\r
627 .SEGCT: XWD     A,0     ;H\r
628 \r
629 \r
630 ;TEMPORARIES\r
631 \r
632 PDP:    XWD     -20,.\r
633         BLOCK   21\r
634 \r
635 TYOB:   BLOCK   3\r
636 \r
637 JOBN:   0\r
638 SEGN:   0\r
639 BOTH:   0\r
640 \r
641 CORMAX: 0\r
642 VIRTAL: 0\r
643 SEGPTR: 0\r
644 CORUSE: 0\r
645 \r
646 MTTY:   0\r
647 FREE:   0\r
648 ZERLOW: 0\r
649 ZERHGH: 0\r
650 \r
651 JOBTTY: 0\r
652 DATE:   0\r
653 TCKSEC: JIFSEC\r
654 STATES: 0\r
655 \r
656 XLIST   ;AVOID PRINTING LITERALS\r
657 \r
658 LIT\r
659 LIST\r
660 \r
661 SYSEND: END     SYSTAT\r