Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - isam.c05
There are 2 other files named isam.c05 in the archive. Click here to see a list.
 REP 28/1	;05C1
	EDIT==162
 WIT
	EDIT==206
 DEL 32/1	;05C2

 INS 3/2	;05C3
	;AUTOPATCH HISTORY FILE FOR 12B
	;
	;.BEGINR
	;.COMPONENT ISAM
	;.VERSION 12B
	;.AUTOPATCH 4
	;
	;.EDIT  200	RESTORE .FBSIZE TO + INFINITY FOR COBOL-20
	;		HAM/JM,11-SEP-81,SPR:NONE
	;		A:SRC ISAM
	;
	;;.EDIT	201	DEVELOPMENT EDIT - SENT OUT WITH AUTOPATCH TAPE 5
	;
	;
	;.EDIT  202	FIX ERROR MESSAGE SO ALL IS PRINTED
	;		JEH,02-OCT-81,SPR:10-31662
	;		A:SRC ISAM
	;
	;.EDIT  203	PRINT KEY VALUE FOR DUP OR KEYS OUT OF ORDER MSG
	;		LEM,22-JAN-82,SPR:NONE
	;		A:SRC ISAM
	;
	;.ENDA
	;.AUTOPATCH 5
	;
	;.EDIT	201	ALLOW A CONTROL-Z TO EXIT UTILITY
	;		DMN/RJD,21-JUL-82,SPR:20-18049
	;		A:SRC ISAM
	;
	;.EDIT	204	PRINT RECORD CONTENT FOR KEYS OUT OF ORDER MSG AND
	;;		RECORD TOO SHORT MSG.
	;		RLF,30-APR-82,SPR 20-17583
	;		A:SRC ISAM
	;
	;.EDIT	205	DISPLAY ERROR MSG ACCORDING TO BIT SETTINGS OF FILE
	;;		STATUS.
	;		RLF,20-MAY-82,SPR 10-32566
	;		A:SRC ISAM
	;
	;.EDIT	206	DO NOT DISPLAY COMMA AFTER LAST ERROR MESSAGE GENERATED
	;		SMI, 16-SEP-82,SPR 10-33058
	;		A:SRC ISAM
	;
	;.ENDA
	;.ENDV
	;.ENDR

 REP 40/3	;05C4
MTIND==101	;INDUSTRU COMPATABLE MODE FUNCTION CODE FOR MTAPE UUO
 WIT
	MTIND==101	;INDUSTRU COMPATABLE MODE FUNCTION CODE FOR MTAPE UUO
 REP 1/16	;05C5

 WIT
 REP 67/18	;05C6

 WIT
 REP 83/19	;05C7

 WIT
 REP 45/20	;05C8

 WIT
 REP 15/21	;05C9

 WIT

 INS 4/23	;05C10
		SETZM	RECCNT		; [204] INITIALIZE RECORD COUNT.
 REP 65/23	;05C11

 WIT
 REP 39/25	;05C12

 WIT
 REP 87/26	;05C13

 WIT

 INS 7/28	;05C14

 REP 23/28	;05C15


 WIT
		AOS	RECCNT		; [204] UPDATE RECORD COUNT.
 REP 150/28	;05C16

 WIT
 REP 57/32	;05C17

 WIT
 INS 9/34	;05C18
		PUSHJ	PP,TYPREC	; [204] TYPE OUT ERROR RECORD.
 REP 14/35	;05C19
	CAMX1A:	ILDB	CH,TA
 WIT
		MOVE	TF,TA		;[203]GET KEY BYTE-PNTR
	CAMX1A:	ILDB	CH,TF		;[203]
 REP 43/35	;05C20
	CAMX3A:	ILDB	CH,TA			;[155] GET NEXT CHAR
 WIT
		MOVE	TF,TA			;[203]
	CAMX3A:	ILDB	CH,TF			;[155][203] GET NEXT CHAR
 REP 59/35	;05C21

 WIT
 REP 67/36	;05C22

 WIT
 REP 22/37	;05C23

 WIT
 REP 50/38	;05C24
	;IFN TOPS20,<	PUSHJ	PP,OF2AFS	>;[154]GET ASCII FILE SPEC
 WIT
	IFN TOPS20,<	PUSHJ	PP,OF2AFS	>;[154]GET ASCII FILE SPEC ;[200]
 REP 55/38	;05C25
	;IFN TOPS20,<
	;	MOVE	TA,OF2DAT	;GET DEVICE NAME OF IDA FILE
	;	CALLI	TA,$GETCH	;GET CHARACTERISTICS
	;	TLNN	TA,$DSK		;A DISK?
	;	JRST	ALLD13		;NO
	;	TRNN	SW,OPT.P	;SKIP IF A SEQ FILE
	;	PUSHJ	PP,OF1SIZ	;CHANGE .FBSIZ TO +INFINITY
	;>;END IFN TOPS20
 WIT
	IFN TOPS20,<
		MOVE	TA,OF2DAT	;GET DEVICE NAME OF IDA FILE ;[200]
		CALLI	TA,$GETCH	;GET CHARACTERISTICS	;[200]
		TLNN	TA,$DSK		;A DISK?		;[200]
		JRST	ALLD13		;NO			;[200]
		TRNN	SW,OPT.P	;SKIP IF A SEQ FILE	;[200]
		PUSHJ	PP,OF1SIZ	;CHANGE .FBSIZ TO +INFINITY ;[200]
	>;END IFN TOPS20					;[200]
 REP 87/38	;05C26

 WIT
 REP 58/39	;05C27
;NOW WRITE OUT ANY EMPTY INDEX BLOCKS REQUIRED

 WIT
	;NOW WRITE OUT ANY EMPTY INDEX BLOCKS REQUIRED
 REP 102/39	;05C28
	;IFN TOPS20,<	PUSHJ	PP,OF1AFS	>;[154] GET ASCIZ FILE SPEC
 WIT
	IFN TOPS20,<	PUSHJ	PP,OF1AFS	>;[154] GET ASCIZ FILE SPEC ;[200]
 REP 106/39	;05C29
	;IFN TOPS20,<
	;	MOVE	TA,OF1DAT	;GET DEVICE NAME OF IDX FILE
	;	CALLI	TA,$GETCH	;GET CHARACTERISTICS
	;	TLNE	TA,$DSK		;SKIP IF NOT A DSK
	;	PUSHJ	PP,OF1SIZ	;CHANGE .FBSIZ TO +INFINITY
	;>;END IFN TOPS20
 WIT
	IFN TOPS20,<
		MOVE	TA,OF1DAT	;GET DEVICE NAME OF IDX FILE	;[200]
		CALLI	TA,$GETCH	;GET CHARACTERISTICS		;[200]
		TLNE	TA,$DSK		;SKIP IF NOT A DSK		;[200]
		PUSHJ	PP,OF1SIZ	;CHANGE .FBSIZ TO +INFINITY	;[200]
	>;END IFN TOPS20						;[200]
 REP 116/39	;05C30
;DISPLAY SOME OF THE FINAL STATISTICS
 WIT
	;DISPLAY SOME OF THE FINAL STATISTICS
 REP 50/41	;05C31

 WIT
 REP 12/42	;05C32

 WIT
 REP 75/43	;05C33
	GETK4A:	TYPE	(%U inappropriate before X, U ignored
	)				;[160]
 WIT
	GETK4A:	TYPE	(%U inappropriate before X - U ignored
	)				;[202] [160]
 REP 80/43	;05C34

 WIT
 REP 38/44	;05C35

 WIT
 REP 47/45	;05C36

 WIT

 REP 75/46	;05C37

 WIT
 REP 22/48	;05C38

 WIT
 REP 69/49	;05C39

 WIT
 REP 150/50	;05C40

 WIT
 REP 16/53	;05C41

 WIT
 REP 148/54	;05C42
RTSERR:	PUSHJ	PP,CAMD
		TYPE	(ISMRTS record too short to contain key field
	)
 WIT
	RTSERR:	PUSHJ	PP,CAMD
		TYPE	(ISMRTS record too short to contain key field
	)
		PUSHJ	PP,TYPREC	;[204] TYPE OUT RECORD.
 INS 156/54	;05C43

 INS 179/54	;05C44
		PUSH	PP,TC		;[205] SAVE STATUS.
		MOVE	TA,TC		;[205] GET STATUS BITS
		PUSHJ	PP,FILSTS	;[205] AND CHECK FOR ERROR.
		POP	PP,TC		;[205] GET BACK STATUS.
 INS 209/54	;05C45
	;FILSTS TYPES OUT ERROR ON DISK OR TAPE WHEN FILE STATUS BITS ARE SET
	FILSTS:	MOVE	TB,TA			;[205] GET STATUS BITS
		ANDI	TB,IO.ERR!IO.EOT	;[205] CHECK ONLY THESE BITS.
		CAIN	TB,0			;[205] ANY ERROR?
		POPJ	PP,			;[205] NO.
		TYPE	( STATUS BITS SHOW CAUSE AS )	;[205] YES.
		MOVSI	TD,-.FILLN		;[205] SET POINTER.
		SKIPA				;[206] SKIP PRINTING COMMA FIRST TIME
	FILBIT:	TYPE	(,)			;[206] PRINT A COMMA
		HRRZ	TC,FILERR(TD)		;[205][206] GET ONE BIT
		TDZN	TB,TC			;[205] IS IT SET?
		  JRST	FILAOB			;[205] NO.
		HLRZ	TA,FILERR(TD)		;[205] YES,GET ADDRESS OF
		TYPEA	((TA))			;[205] ERROR AND TYPE.
	FILAOB:	SKIPE	TB			;[205] MORE BITS SET?
		AOBJN	TD,FILBIT		;[205] YES,LOOP.
		TYPE	(.)			;[206] TYPE A PERIOD AFTER LAST ERROR
		POPJ	PP,			;[205] ALL DONE.
	FILERR:	[ASCIZ\ DEVICE WRITE-LOCKED\],,IO.IMP	;[205][206] BIT-18 
		[ASCIZ\ HARDWARE DEVICE ERROR\],,IO.DER	;[205][206] BIT-19
		[ASCIZ\ HARD DATA PARITY ERROR\],,IO.DTE	;[205][206] BIT-20
		[ASCIZ\ QUOTA EXCEEDED OR BLOCK TOO LARGE\],,IO.BKT ;[205][206] BIT-21
		[ASCIZ\ PHYSICAL END OF TAPE ENCOUNTERED\],,IO.EOT  ;[205][206] BIT-25
	.FILLN==.-FILERR				;[205] ERROR MESSAGES.

 REP 28/55	;05C46

 WIT
 INS 24/56	;05C47

 REP 35/56	;05C48

 WIT
 INS 14/57	;05C49


	;TYPE OUT THE ERROR RECORD

	TYPREC:	TYPE	(error record number   );[204] THIS ROUTINE
					;[204] TYPES OUT THE ERROR RECORD.
		MOVE	TE,RECCNT	;[204] GET RECORD COUNT AND
		PUSHJ	PP,PUTDC1	;[204] CONVERT TO DECIMAL.
		TYPE	(
	record contains:   )
		MOVE	OP,RECPTR	;[204] SET RECORD POINTER
		MOVEI	OM,AS.MOD	;[204] SET UP OUTPUT MODE.
		MOVE	TE,@CNVPTI(IM)	;[204] AND READY FOR
		MOVEM	TE,CONVRT	;[204] CONVERSION.
		SKIPG	IM		;[204] 6-BIT?
		JRST	TYP67		;[204] YES.
		CAIE	IM,EB.MOD	;[204] EBCDIC?
		JRST	TYP77		;[204] IT'S ASCII.
		JRST	TYP67		;[204] IT'S EBCDIC

	TYP67:	ILDB	CH,OP		;[204] GET ONE CHARACTER
		LDB	CH,CONVRT	;[204] FROM RECORD
		TYPEC	CH		;[204] AND DISPLAY ON TTY
		SOJN	OC,TYP67	;[204] ALL DONE?
		POPJ	PP,		;[204] YES, GET OUT.
	TYP77:	ILDB	CH,OP		;[204] GET ONE CHARACTER.
		TYPEC	CH		;[204] OUTPUT TO TTY.
		SOJN	OC,TYP77	;[204] ALL DONE?
		POPJ	PP,		;[204] YES.


 INS 11/58	;05C50
		CAIN	CH,32		;[201] TEST FOR ^Z FROM TTY
		JRST	CZED		;[201] IT WAS, JUST EXIT
 REP 19/58	;05C51

 WIT

 INS 43/58	;05C52
	CZED:	EXIT	1,		;[201] EXIT
		JRST	START		;[201] IN CASE USER TYPES CONTINUE
 REP 46/58	;05C53

 WIT

 REP 19/59	;05C54

 WIT
 REP 44/60	;05C55

 WIT
 REP 15/61	;05C56

 WIT
 REP 39/63	;05C57

 WIT
 REP 68/66	;05C58

 WIT
 REP 59/68	;05C59

 WIT
 REP 47/69	;05C60

 WIT
 REP 174/70	;05C61

 WIT
 REP 25/71	;05C62

 WIT

 INS 53/75	;05C63
	RECCNT:	BLOCK	1	; [204] RECORD COUNT FOR INPUT FILE
 REP 118/75	;05C64
DATBPB:	BLOCK	1	;EBCDIC VARIABLE LENGTH BYTES PER BLOCK - OUTPUT
 WIT
	DATBPB:	BLOCK	1	;EBCDIC VARIABLE LENGTH BYTES PER BLOCK - OUTPUT
 SUM 93257