;*************************** AMUS Program Label ****************************** ; Filename: PRIO.M68 Date: 07/01/89 ; Category: UTIL Hash Code: 642-165-367-422 Version: 1.0(100) ; Initials: PSS/AM Name: DENNIS W. NEDER ; Company: PROFESSIONAL SOFTWARE SYSTEMS Telephone #: 8189575930 ; Related Files: LIB.UNV (DON'T FORGET THIS FILE!) ; Min. Op. Sys.: 1.3 Expertise Level: BEG ; Special: You must LNKLIT this program after assembly ; Description: This program will set all other job's priority level, (except ; the job running PRIO). Useful on heavily-loaded systems. ; ;***************************************************************************** ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * PRIO.M68 * ; * Program to globally set job's priorities * ; * Copyright (c) 1988 by Dennis W. Neder * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * SEARCH SYS SEARCH SYSSYM SEARCH LIB ; ; Version: ; VMAJOR=1 VMINOR=0 VEDIT=100. ; ; Local equates: ; JOB=A0 TBL=A4 IMP=A5 ; ; Impure storage: ; .OFINI .OFDEF PRIO,4 .OFSIZ IMPSIZ ; ; Define macros here: ; DEFINE DEPACK ADDR IF NB,ADDR,LEA A1,ADDR SUB #4,SP MOV SP,A2 UNPACK CLRB @A2 TTYL @SP ADD #4,SP ENDM HDR: PHDR -1,0,PH$REE!PH$REU!PH$OPR ; ; Begin program here: ; BEGIN: NAME HDR CRLF CRT #11. TYPECR Copyright (c) 1988 by Dennis W. Neder CRT #12. GETIMP IMPSIZ,IMP ; Get our temporary storage JOBIDX JOB ; Who are we? BYP LIN ; Any priority given? BNE 20$ 10$: CRLF TYPESP <Enter desired priority:> KBD EXIT$ 20$: NUM ; Insure numeric @A2 BEQ 30$ ; Yes - continue TTYL NUMPRI CRLF BR 10$ ; Try again 30$: GTDEC ; Get the value CMP D1,#1 ; Let's begin to check the range... BLO 40$ CMP D1,#254. BHI 40$ BR SETPRI 40$: TTYL BADPRI CRLF BR 10$ SETPRI: MOV D1,PRIO(IMP) ; Save our priority CRLF TYPECR <Setting priorities on:> CRLF MOV JOBTBL,TBL ; Index job table 10$: MOV (TBL)+,D0 ; Get next job BEQ 10$ ; Branch if de-allocated BMI EXIT$ ; Branch if end of job table MOV D0,A1 ; A1 points to current job CMP A1,JOB ; Is this me? BEQ 10$ ; Yes - don't change my priority MOV A1,A3 ; Save for later TAB ; Output a tab character DEPACK JOBNAM(A1) ; print job name DEPACK MOV A3,A1 ; Restore A1 CRT #11. TYPESP < Previous priority:> CRT #12. MOV JOBRNQ+20(A1),D1 ; Get previous priority DCVT 0,OT$TRM CRLF MOV A3,A1 MOV PRIO(IMP),JOBRNQ+20(A1) ; Load new job priority BR 10$ ; continue EXIT$: EXIT NUMPRI: ASCIZ /?Priority must be numeric/ BADPRI: ASCIZ /?Priority must be in the range 1 - 256/ END