C C AUTHOR: C R. STODOLA C THE INSTITUTE FOR CANCER RESEARCH C 7701 BURHOLME AVE. C PHILADELPHIA, PA. 19111 C C ******************************************************* C * * C * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * C * FROM THE NATIONAL INSTITUTES OF HEALTH: * C * NIH CA06927 * C * NIH CA22780 * C * * C * DIRECT INQUIRIES TO: * C * COMPUTER CENTER * C * THE INSTITUTE FOR CANCER RESEARCH * C * 7701 BURHOLME AVENUE * C * PHILADELPHIA, PENNSYLVANIA 19111 * C * * C * NO WARRANTY OR REPRESENTATION, EXPRESS OR * C * IMPLIED, IS MADE WITH RESPECT TO THE * C * CORRECTNESS, COMPLETENESS, OR USEFULNESS * C * OF THIS SOFTWARE, NOR THAT USE OF THIS * C * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * C * OWNED RIGHTS. * C * * C * NO LIABILITY IS ASSUMED WITH RESPECT TO * C * THE USE OF, OR FOR DAMAGES RESULTING FROM * C * THE USE OF THIS SOFTWARE * C * * C ******************************************************* C * * C * THIS SOFTWARE WAS DESIGNED FOR USE ON A * C * PDP-11/70 OPERATING UNDER IAS V2.0 USING * C * THE FORTRAN-IV PLUS COMPILER. * C * * C ******************************************************* BYTE IB(2),HEAD(32) REAL MXIDL,USE(96) INTEGER HOUR,DAY,YEAR,HOUR1,DAY1,YEAR1 COMMON/CPUM1/ICCNT,MXID COMMON/CPUM2/LIST(96) CALL SETR(MXID,MXIDL) DO 10 I=1,96 CALL SETR(LIST(I),USE(I)) 10 USE(I)=MXIDL-USE(I) X=SECNDS(0.0) D X=300.0 CALL IDATE(MONTH1,DAY1,YEAR1) IP=X/900. IP1=IP-2 IP=IP+1 IF(IP.GE.96)IP=0 IF(IP1.GE.0)GO TO 20 IP1=IP1+96 CALL DECMON(MONTH1,DAY1,YEAR1) 20 MONTH=MONTH1 DAY=DAY1 YEAR=YEAR1 IF(IP.GT.IP1)CALL DECMON(MONTH,DAY,YEAR) CALL STM(IP,HOUR,MINUT) CALL STM(IP1+1,HOUR1,MINUT1) PX=0.96875 DIF=0.0625 LP=IP CALL SOPEN(0,0,0,0) DO 30 I=1,94 PX=PX+DIF IF(MOD(LP,4).NE.0)GO TO 30 CALL STM(LP,IH,IM) IB(1)=IH/10+48 IB(2)=MOD(IH,10)+48 CALL VECT(PX,1.,PX,.8) CALL CHAR(PX-.055,.65,.07,IB,0.,0.,2) 30 LP=MOD(LP+1,96) ENCODE(32,40,HEAD)HOUR,MINUT,MONTH,DAY,YEAR,HOUR1,MINUT1, &MONTH1,DAY1,YEAR1 40 FORMAT(I2':'I2,I3'/'I2'/'I2' TO 'I2':'I2,I3'/'I2'/'I2) CALL CHAR(1.,8.,.21,'CPU UTILIZATION',0.,0.,15) CALL CHAR(1.,7.6,.21,HEAD,0.,0.,32) ENCODE(27,50,HEAD)MXIDL 50 FORMAT('MAXIMUM IDLE COUNT ='F7.0) CALL CHAR(1.5,7.1,.14,HEAD,0.,0.,27) YL=1. DO 55 N=10,100,10 YL=YL+0.6 CALL VECT(1.,YL,7.,YL) ENCODE(5,54,HEAD)N 54 FORMAT(I4'%') CALL CHAR(7.1,YL-0.035,0.07,HEAD,0.,0.,5) 55 CONTINUE 56 CALL THICK(3) CALL VECT(1.,1.,7.,1.) CALL VECT(1.,7.,7.,7.) CALL THICK(9) PX=1. DO 60 I=1,94 PX=PX+DIF XL=USE(IP+1)*6./MXIDL IF(XL.LE.0.)GO TO 60 CALL VECT(PX,1.,PX,XL+1.) 60 IP=MOD(IP+1,96) CALL PLOT(1,0) END SUBROUTINE SETR(I,R) INTEGER*4 J INTEGER*2 I,L(2) EQUIVALENCE (J,L) L(2)=0 L(1)=I R=J RETURN END SUBROUTINE DECMON(M,D,Y) INTEGER M,D,Y,DM(12) DATA DM/31,28,31,30,31,30,31,31,30,31,30,31/ D=D-1 IF(D.GT.0)RETURN M=M-1 IF(M.GT.0)GO TO 10 M=12 Y=Y-1 10 D=DM(M) IF(M.EQ.2.AND.MOD(Y,4).EQ.0)D=29 RETURN END SUBROUTINE STM(I,H,M) INTEGER I,H,M H=I/4 M=(I-H*4)*15 RETURN END