Google
 

Trailing-Edge - PDP-10 Archives - BB-L014E-BM - autopatch/cblio.c04
There are no other files named cblio.c04 in the archive.
 INS 27/1	;04C1
	;EDIT HISTORY
	;***** V12B *****
	;WHO	DATE	COMMENT
	;WTK	20-JAN-82 [1013] SEQ ASC REL FILE - NULL RECORD CAUSES REST OF BLOCK 
	;			 TO BE SKIPPED
	;JSM	22-OCT-81 [1011] FIX CLOSE WITH DELETE FOR NON-SMU OUTPUT
	;JEH/JM	13-OCT-81 [1010] LOOKUP ERROR MSG IS INCORRECT
	;WTK/JM 6-OCT-81 [1006] CAN'T REWRITE A NON-NULL EBCDIC RECORD
	;JEH/JM	6-OCT-81 [1005] SMU CLOSE W/DELETE FAILS UNDER TOPS-10 7.01
	;DMN/JM 3-SEP-81 [1003] FIE INCORRECTLY CLOSED WITH DELETE
	;HAM/JM 9-SEP-81 [1001] RESET ISAM INDEX AND DATA POINTERS AFTER DEL/REWRITE
	;
 INS 35/93	;04C2
	PRGERR:	SETZM	PRGFLG		;[1003] IN CASE FILE WAS CLOSED WITH DELETE
 REP 3/103	;04C3
	LUPERR:	TDZA				;LOOKUP ERROR
 WIT
	LUPERR:	MOVE	AC0,ULBLK.+1		;[1010] LOOKUP ERROR
		MOVEM	AC0,UEBLK.+1		;[1010] MOVE ERROR ARGUMENT
		TDZA				;[1010] TO ENTER BLOCK
 REP 45/106	;04C4
		JRST	OXITER		;FILE WAS NOT OPEN.
 WIT
	;[D1003]	JRST	OXITER		;FILE WAS NOT OPEN.
		JRST	PRGERR		;[M1003] FILE WAS NOT OPEN.
 REP 11/115	;04C5
		JRST	CLSWL1		;[576] SKIP BUFFER SAVES,DELETE FOLLOWS
	IFE TOPS20,<
 WIT
	IFN TOPS20, <			;[1005] TOPS10 MUST FREE RETAINED RECORDS
		JRST	CLSWL1		;[576] SKIP BUFFER SAVES,DELETE FOLLOWS
	>;				;[1005]
	IFE TOPS20,<
		JRST	CLSPRG		;[1005] JUMP TO FREE RETAINED RECORDS
 INS 47/115	;04C6
	CLSPRG:	SKIPN	F.WSMU(I16)	;[1005] SKIP IF RETAINED RECORDS
	;[D1011] JRST	CLSWLX		;[1005]
		JRST	CLSWL1		;[1011]
		PUSHJ	PP,CLWSMU	;[1005] FREE ALL RETAINED RECORDS

 REP 152/144	;04C7
	RNR30A:	MOVE	AC1,AC5		; GET COPY DESTINATION PTR
		ADDI	AC1,1		; ADVANCE PTR PAST RDW
		ILDB	AC1,AC1		; GET A BYTE
 WIT
	;[D1006] RNR30A:	MOVE	AC1,AC5		; GET COPY DESTINATION PTR
	;[D1006] ADDI	AC1,1		; ADVANCE PTR PAST RDW
	;[D1006] ILDB	AC1,AC1		; GET A BYTE
	RNR30A:				;[1006]
		PUSH	PP,AC5		;[1006] SAVE DEST POINTER
		PUSH	PP,AC3		;[1006]  AND BYTES/REC
	RNR30D:				;[1006]
		ILDB	AC1,AC5		;[1006] GET A BYTE
		SKIPN	AC1		;[1006] CONTINUE WHEN NON-NULL FOUND
		SOJG	AC3,RNR30D	;[1006]  OR WHEN NO BYTES LEFT
		POP	PP,AC3		;[1006] RESTORE BYTES/REC
		POP	PP,AC5		;[1006]  AND DEST POINTER
 REP 29/146	;04C8
		JUMPE	AC4,RANDOM	;[300] JUMP IF SEQ
 WIT
	;[1013]	JUMPE	AC4,RANDOM	;[300] JUMP IF SEQ
		JUMPN	AC4,RANREN	;[1013] IF SEQUENTIAL
		MOVE	AC5,D.WPR(I16)	;[1013]   ADD WORDS/RECORD TO BYTE PTR
		ADDB	AC5,R.BPNR(I12)	;[1013]   SO IT POINTS TO NEXT RECORD
		JRST	RANDOM		;[1013]   AND TRY AGAIN
	RANREN:				;[1013]
 REP 34/166	;04C9
	IWRIX:	SKIPE	OLDBK		;ANY BLOCKS TO DEALLOCATE
 WIT
	;[D1001]IWRIX:	SKIPE	OLDBK		;ANY BLOCKS TO DEALLOCATE
	IWRIX:				;[M1001]
	IFN ANS74,<
		PUSHJ	PP,@GETSET(I12)	;[1001] RESET INDEX AND DATA POINTERS
	>
		SKIPE	OLDBK		;[M1001] ANY BLOCKS TO DEALLOCATE
 SUM 50987