Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-06 - 43,50437/getdat.for
There are no other files named getdat.for in the archive.
	SUBROUTINE GETDAT(A,EOF)
	INCLUDE 'SYSREP.PRM'
	INTEGER WORD
C
C	--SET EOF
C
	EOF = 0
C
C	--GET RECORD TYPE
C
70	READ(21,END=10) WORD
	TYPE = LSH(WORD,-18)
	LEN = LSH(WORD,18)
	LEN = LSH(LEN,-18)
	IF ((TYPE .EQ. 100) .OR. (TYPE .EQ. 200) .OR. (TYPE .EQ. 300)
	1.OR. (TYPE .EQ. 700)) GOTO 20
	IF (TYPE .EQ. 401) GOTO 30
	IF (TYPE .EQ. 402) GOTO 40
	IF (TYPE .EQ. 403) GOTO 120
	IF (TYPE .EQ. 601) GOTO 110
	IF (TYPE .EQ. 501) GOTO 50
300	FORMAT(' TYPE ERROR. TYPE=',I5)
	WRITE(5,300) TYPE
	CALL PLTOUT
	CALL CALLI("12,0)
C
C	--HANDLE INTRODUCTORY RECORDS
C
20	REC000(1,A) = WORD
	DO 60 I = 2,18
	READ(21,END=10) REC000(I,A)
60	CONTINUE
	GOTO 70
C
C	--HANDLE GENERAL SYSTEM DATA
C
30	REC401(1,A) = WORD
	DO 80 I = 2,20
	READ(21,END=10) REC401(I,A)
80	CONTINUE
	GOTO 70
C
C	--HANDLE SCANNER DATA
C
40	REC402(1,A) = WORD
	DO 90 I = 2,20
	READ(21,END=10) REC402(I,A)
90	CONTINUE
	GOTO 70
C
C	--HANDLE DISK RECORDS
C
110	CALL HND601(A,WORD)
	GOTO 70
C
C	--HANDLE KL10 AND SCHEDULER RECORD
C
120	REC403(1,A) = WORD
	DO 130 I = 2,10
	READ(21,END=10) REC403(I,A)
130	CONTINUE
	GOTO 70
C
C	--HANDLE CPU DATA (LAST RECORD)
C
50	REC501(1,A) = WORD
	DO 100 I =2,18
	READ(21,END=10) REC501(I,A)
100	CONTINUE
	RETURN
C
C	--TAKE CARE OF EOF
C
10	EOF = 1
	RETURN
	END