	PROGRAM TASKER
C
C	FOR FURTHER INFORMATION CONTACT:
C
C	ROBERT WATSON
C	CISCO, INC.
C	4135 S. 100 E. AVE.
C	TULSA OK 74145
C
	INTEGER*4	PC
	INTEGER*2	BLK(256),	SEGTAB(3,50),	Q
	BYTE		MODE,		FNAM(25),	SNAM(25)
	BYTE		GOTFIL,		ANS
	COMMON	/TSKCOM/  BLK, IREC, ISUB, PC, SEGTAB, IZRWRD, SNAM
	DATA	GOTFIL	/.FALSE./
	DATA	SET	/.FALSE./
	CALL ERRSET (29, .TRUE., .FALSE., .TRUE., .FALSE.)
50	CLOSE (UNIT=1)
100	WRITE  (5, 200)
200	FORMAT (/,' ENTER D FOR A DESCRIPTION OF TASK SEGMENTS',/,
	1	  ' ENTER M TO DISPLAY MACRO SOURCE CODE',/,
	2	  ' ENTER R TO REPORT CONTENTS IN ANY OTHER FORMAT',/,
	3	  ' ENTER S TO SEARCH FOR SPECIFIED CONTENTS',/,
	4	  ' ENTER U TO UPDATE SPECIFIED LOCATIONS',/,
	5	  ' ENTER H FOR A DESCRIPTION OF THE TASK HEADER',/,
	6	  '         CONTROL-Z TO EXIT ',$)
	READ   (5, 300, ERR=100, END=9999) MODE
300	FORMAT (A1)
	IF (MODE.NE.'D' .AND. MODE.NE.'M' .AND. MODE.NE.'R' .AND.
	1   MODE.NE.'S' .AND. MODE.NE.'U' .AND. MODE.NE.'H') GO TO 100
	IF (GOTFIL) GO TO 1300
800	WRITE  (5, 900)
900	FORMAT (/,' ENTER TASK IMAGE FILENAME ',$)
	READ   (5, 1000, ERR=800, END=9999) FNAM
1000	FORMAT (25A1)
	GO TO 1600
1300	WRITE  (5, 1400)
1400	FORMAT (/,' ENTER TASK IMAGE FILENAME OR RETURN FOR OLD ',$)
	READ   (5, 1500, ERR=1300, END=9999) Q, FNAM
1500	FORMAT (Q,25A1)
	IF (Q .LE. 0) GO TO 1600
	GOTFIL = .FALSE.
1600	IF (GOTFIL) GO TO 1900
	DO 1700 I = 1, 25
	SNAM(I) = FNAM(I)
	IF (SNAM(I) .EQ. ' ') SNAM(I) = 0
1700	CONTINUE
	DO 1800 I = 1, 50
	DO 1750 J = 1, 3
	SEGTAB(J,I) = 0
1750	CONTINUE
1800	CONTINUE
1900	IF (MODE .NE. 'U') GO TO 2000
	OPEN (UNIT=1, NAME=SNAM, TYPE='OLD', ACCESS='DIRECT',
	1     FORM='UNFORMATTED', RECORDSIZE=128, ERR=2100)
	GO TO 2300
2000	OPEN (UNIT=1, NAME=SNAM, TYPE='OLD', ACCESS='DIRECT',
	1     READONLY, FORM='UNFORMATTED', RECORDSIZE=128, ERR=2100)
	GO TO 2300
2100	CALL ERRTST (29, J)
	IF (J .NE. 1) GO TO 9999
	WRITE  (5, 2200) 7
2200	FORMAT (/,' NO SUCH FILE',A1)
	GOTFIL = .FALSE.
	GO TO 800
2300	IF (.NOT. GOTFIL) CALL SEGSUM
	GOTFIL = .TRUE.
	IF (MODE .EQ. 'D') CALL SEGDES
	IF (MODE .EQ. 'M') CALL MACRPT
	IF (MODE .EQ. 'R') CALL REPORT
	IF (MODE .EQ. 'S') CALL SRCH
	IF (MODE .EQ. 'U') CALL UPDATE
	IF (MODE .EQ. 'H') CALL HDR
	GO TO 50
9999	CLOSE (UNIT=1)
	STOP
	END
