PROGRAM CHECK C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ c c Dr. Klaus P. Schneider May 1988 c c This Program tests the TSXLIB Routines: IESMCN = establish job monit. c ICNMCN = cancel a job monit. c GETREG = get cpu register c c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ c EXTERNAL CPLRTN ! Completion routine DIMENSION IRET0(3),IRET1(3) COMMON /ICK/ ICHECK,IRET0,IERR0,IRET1,IERR1 1000 CONTINUE ! loop ICHECK = 1 ! controll flag JOBNUM = 0 c............... establish a job monitoring connection ................. CALL IESMCN ( JOBNUM,CPLRTN,IERR ) ! enable job monitoring IF(IERR.EQ.1) TYPE *,' Invalid job number ' IF(IERR.EQ.2) TYPE *,' no free job monitoring control blocks ' IF(IERR.EQ.2) GOTO 1000 ! try again GOTO (100,200) ICHECK 200 IF(IERR0.EQ.1) TYPE *,' Invalid processor register number ' IF(IERR1.EQ.1) TYPE *,' Invalid processor register number ' ICHECK = 1 GOTO ( 1 , 2 , 3 , 4 , 5 ) IRET1(2) 1 TYPE 5551,IRET0(2) 5551 Format(5x,' Job # ',I3,' has been initialized.') GOTO 100 2 TYPE 5552,IRET0(2) 5552 Format(5x,' Job # ',I3,' logged on using the LOGON program.') GOTO 100 3 TYPE 5553,IRET0(2) 5553 Format(5x,' Job # ',I3,' began running a program.') GOTO 100 4 TYPE 5554,IRET0(2) 5554 Format(5x,' Job # ',I3,' returned control to KMON.') GOTO 100 5 TYPE 5555,IRET0(2) 5555 Format(5x,' Job # ',I3,' has logged of.') GOTO 100 c.... for test purpos only , disable the job monitoring connection ..... CALL ICNMCN ( JOBNUM,IERR) ! disable job monitoring 100 GOTO 1000 ! loop STOP END C SUBROUTINE CPLRTN C +++++++++++++++++ DIMENSION IRET0(3),IRET1(3) COMMON /ICK/ ICHECK,IRET0,IERR0,IRET1,IERR1 CALL GETREG ( 0,IRET0,IERR0 ) CALL GETREG ( 1,IRET1,IERR1 ) ICHECK=2 RETURN END