PROGRAM SUBTST C LOGICAL*1 LUNDAT(12) DOUBLE PRECISION PB(16) C EXTERNAL SUB C DATA PB /'PB0:','PB1:','PB2:','PB3:','PB4:','PB5:','PB6:','PB7:', $'PB10:','PB11:','PB12:','PB13:','PB14:','PB15:','PB16:','PB17:'/ C C 1 WRITE(5,2) 2 FORMAT(/'$ENTER PB-UNIT NUMBER TO TEST [0,1....,15]: ') READ(5,3,END=1000) NPB 3 FORMAT(I5) IF(NPB.LT.0.OR.NPB.GT.15) GO TO 1 NP=4 IF(NPB.GE.8) NP=5 CALL ASSIGN(4,PB(NPB+1),NP) CALL GETLUN(4,LUNDAT) IF(LUNDAT(4).EQ.0) STOP 'ASSIGN ERROR' C CALL PBATT(4,IOST1,IDS) WRITE(5,10) IOST1,IDS 10 FORMAT(/' ATTACH I/O STATUS: ',O6,' DSW: ',O6) CALL PBATT(4,IOST1,IDS) WRITE(5,10) IOST1,IDS CALL PBAST(4,1,SUB,IDS) WRITE(5,11) IDS 11 FORMAT(/' AST IDS: ',O6) CALL PBAST(4,1,,IDS) WRITE(5,11) IDS CALL PBKIL(4,IOST1,IDS) WRITE(5,12) IOST1,IDS 12 FORMAT(/' KIL I/O STATUS: ',O6,' DSW: ',O6) CALL WAITFR(1) CALL PBAST(4,2,SUB,IDS) WRITE(5,11) IDS WRITE(5,13) 13 FORMAT(/' WAITING FOR PUSHBUTTON.......'/) CALL WAITFR(2) CALL PBDET(4,IOST1,IDS) WRITE(5,14) IOST1,IDS 14 FORMAT(/' DETACH I/O STATUS: ',O6,' DSW: ',O6) CALL PBDET(4,IOST1,IDS) WRITE(5,14) IOST1,IDS CALL PBAST(4,3,,IDS) WRITE(5,11) IDS WRITE(5,13) CALL WAITFR(3) 1000 STOP END C C SUBROUTINE SUB(IOST) C C WRITE(5,10) IOST 10 FORMAT(//' ***** THIS WURREKS!!!!!!!!!! I/O STATUS: ',O6/) RETURN END