      SUBROUTINE MAIN
      LOGICAL*1 BUF(512)
      INTEGER GETARG, OPEN
      INTEGER I, FILES
      DATA FILES /0/
      CALL QUERY(23Husage:  dspc [file] ...)
      I=1
23000 IF (.NOT.(GETARG(I, BUF, 512) .NE. -1))GOTO 23002
      IF (.NOT.(BUF(1) .EQ. 45 .AND. BUF(2) .EQ. 0))GOTO 23003
      INT = 1
      GOTO 23004
23003 CONTINUE
      IF (.NOT.(BUF(1) .EQ. 45))GOTO 23005
      CALL REMARK (26Hignoring invalid argument.)
      GOTO 23001
23005 CONTINUE
      INT = OPEN(BUF, 1)
      IF (.NOT.(INT .EQ. -3))GOTO 23007
      CALL CANT(BUF)
23007 CONTINUE
23006 CONTINUE
23004 CONTINUE
      CALL SHOWC (INT)
      FILES = 1
      IF (.NOT.(INT .NE. 1))GOTO 23009
      CALL CLOSE(INT)
23009 CONTINUE
23001 I=I+1
      GOTO 23000
23002 CONTINUE
      IF (.NOT.(FILES .EQ. 0))GOTO 23011
      CALL SHOWC (1)
23011 CONTINUE
      RETURN
      END
      SUBROUTINE SHOWC (INT)
      LOGICAL*1 C, GETCH
      INTEGER INT
23013 IF (.NOT.(GETCH(C, INT) .NE. -1))GOTO 23014
      IF (.NOT.(C .NE. 10 .AND. C .LT. 32))GOTO 23015
      CALL PUTCH(94,2)
      C = C + 64
23015 CONTINUE
      CALL PUTCH(C,2)
      GOTO 23013
23014 CONTINUE
      RETURN
      END
