INTEGER*2 ASTADS(5),IOSB(2),IPARM(6),DSW REAL*4 QNAMES(5),TASK(8),RQNAME,Q REAL*8 QNAME,TNAME LOGICAL*1 MESS(80) COMMON RQNAME,LENGTH,TASK EQUIVALENCE (IPARM(3),Q) EXTERNAL ASTSUB DATA ASTADS/5*-1/,IPARM/6*0/ CALL GETADR(ISUBAD,ASTSUB) CALL GETADR(IPARM(1),MESS) CALL WTQIO("1400,5,5) !ATTACH TI: WRITE(5,1) 1 FORMAT('$How many queues to be ASTed [1:5]? ') READ(5,2,END=99)NQ 2 FORMAT(I1) IF(NQ.LT.1.OR.NQ.GT.5)GOTO99 DO 5 I=1,NQ WRITE(5,3)I 3 FORMAT('$Enter name of queue ',I1,': ') READ(5,4,END=99)QNAME 4 FORMAT(A8) QNAMES(I)=RAD50(QNAME) ASTADS(I)=ISUBAD 5 CONTINUE CALL GETTSK(TASK) TNAME=' ' CALL R50ASC(6,TASK,TNAME) CALL WTQIO("2000,5,5) CALL ASNLUN(3,'VS',0) ISTAT=IVSAST(3,NQ,QNAMES,ASTADS,) WRITE(5,7)TNAME,ISTAT 7 FORMAT(1X,A6,' -- IVSAST STATUS IS ',O6) 8 CALL STOP Q=RQNAME IPARM(2)=LENGTH GOTO88 84 IPARM(2)=80 88 CALL WTQIO("1000,3,10,,IOSB,IPARM,DSW) WRITE(5,11)TNAME,DSW,IOSB 11 FORMAT(1X,A6,' -- READ I/O STATUS: ',3O8) IF(IOSB(1).NE.1)GOTO8 LENGTH=IOSB(2) CALL R50ASC(6,RQNAME,QNAME) IF(LENGTH.GT.4)WRITE(5,9)TNAME,QNAME,(MESS(I),I=5,LENGTH) IF(LENGTH.LE.4)WRITE(5,10)TNAME,QNAME 9 FORMAT(1X,A6,' -- FROM QUEUE "',A6,'": "',A1,'"') 10 FORMAT(1X,A6,' -- FROM QUEUE "',A6,'": ""') IF(LENGTH.LT.11)GOTO84 Q=RAD50(MESS(5)) IPARM(2)=LENGTH-10 DO 12 I=11,LENGTH 12 MESS(I-10)=MESS(I) CALL WTQIO("400,3,10,,IOSB,IPARM,DSW) WRITE(5,13)TNAME,DSW,IOSB 13 FORMAT(1X,A6,' -- WRITE I/O STATUS: ',3O8) GOTO84 99 STOP ' -- END-OF-FILE ON TERMINAL' END SUBROUTINE ASTSUB(QNAME,LEN) COMMON RQNAME,LENGTH,TASK CALL USTP(TASK,) RQNAME=QNAME LENGTH=LEN RETURN END