Google
 

Trailing-Edge - PDP-10 Archives - bb-kl11i-bm_tops20_v7_0_atpch_1-22 - autopatch/cblio.c21
There are no other files named cblio.c21 in the archive.
 REP 1/1	;21C1
	; UPD ID= 1620 on 5/22/84 at 9:19 AM by HOFFMAN                         
 WIT
	; UPD ID= 1620 on 5/22/84 at 9:19 AM by HOFFMAN
 INS 31/2	;21C2
	DEFINE SAVACS,<
		MOVEM	0,RACS
		MOVE	0,[1,,RACS+1]
		BLT	0,RACS+17
	>

	DEFINE RSTACS,<
		MOVE	0,[RACS+1,,1]
		BLT	0,17
		MOVE	0,RACS
	>
 REP 13/3	;21C3
	USESEC==5	; USE PROCEDURE TABLE SECTION SIZE	
	EXTUSE==^D15	; OFFSET TO EXTEND ERROR USE PRODECURE
			
 WIT
	USESEC==5	; USE PROCEDURE TABLE SECTION SIZE
	EXTUSE==^D15	; OFFSET TO EXTEND ERROR USE PRODECURE

 REP 36/3	;21C4
		; OFFSETS INTO LABEL INFORMATION BLOCK 
 WIT
		; OFFSETS INTO LABEL INFORMATION BLOCK
 REP 57/3	;21C5
	BYTCTW==12		;[1104] BYTE COUNT WORD IN FILE'S FDB	
 WIT
	BYTCTW==12		;[1104] BYTE COUNT WORD IN FILE'S FDB
 REP 65/5	;21C6
	IFN TOPS20,<			
 WIT
	IFN TOPS20,<
 REP 87/5	;21C7
		HRROM	AC1,EXJFN.##	;STORE PTR TO TEXT 
 WIT
		HRROM	AC1,EXJFN.##	;STORE PTR TO TEXT
 REP 3/6	;21C8
		;AC14/	ADR OF SP1	;ADR OF ADR OF "MAIN" PROGRAM 
 WIT
		;AC14/	ADR OF SP1	;ADR OF ADR OF "MAIN" PROGRAM
 REP 31/6	;21C9
	RSTL13:	JUMPE	AC4,RSTL12	;[453] JUMP IF SUBPRG HAS NO FILE-TABLES 
 WIT
	RSTL13:	JUMPE	AC4,RSTL12	;[453] JUMP IF SUBPRG HAS NO FILE-TABLES
 REP 51/10	;21C10
		COMPT.	AC1,		;GET JFN ************* 
 WIT
		COMPT.	AC1,		;GET JFN *************
 REP 3/11	;21C11
	;		
 WIT
	;
 REP 35/11	;21C12
		BLT	AC2,MTOSIZ-1(AC3) ;ZERO TEMP AREA,TO MAKE SURE NO INFO FROM 
 WIT
		BLT	AC2,MTOSIZ-1(AC3) ;ZERO TEMP AREA,TO MAKE SURE NO INFO FROM
 REP 66/11	;21C13
		; ERROR ON GET-LABEL-INFO MTOPR, CHECK FOR ILLEGAL OPERATION, 
 WIT
		; ERROR ON GET-LABEL-INFO MTOPR, CHECK FOR ILLEGAL OPERATION,
 REP 74/11	;21C14
					; YES,THEN THIS INDICATES THAT NO MOUNTR 
 WIT
					; YES,THEN THIS INDICATES THAT NO MOUNTR
 REP 94/11	;21C15
					; YES 
 WIT
					; YES
 REP 112/11	;21C16
		POPJ	PP,		; YES,GIVE NON-LABELING RETURN IF BYPASS 
 WIT
		POPJ	PP,		; YES,GIVE NON-LABELING RETURN IF BYPASS
 REP 117/11	;21C17
		MOVEI	AC1,.TFLPR	; INDICATE GET LABEL INFORMATION 
		MOVEM	AC1,TMP.BK	; 
		TAPOP.	AC2,		; GET LABEL INFORMATION 
 WIT
		MOVEI	AC1,.TFLPR	; INDICATE GET LABEL INFORMATION
		MOVEM	AC1,TMP.BK	;
		TAPOP.	AC2,		; GET LABEL INFORMATION
 REP 4/12	;21C18
	;		IF STD-ASCII NOT SUPPORTED, INDASC FLAG SET TO 
 WIT
	;		IF STD-ASCII NOT SUPPORTED, INDASC FLAG SET TO
 REP 2/13	;21C19
	MTOXXY:	
 WIT
	MTOXXY:
 REP 9/13	;21C20
		JRST	MTALB0		; YES, ALL OK 
 WIT
		JRST	MTALB0		; YES, ALL OK
 REP 28/13	;21C21
		; CHECK FOR BLK-FTR = 0 CASE, HERE IF STD-ASCII 
 WIT
		; CHECK FOR BLK-FTR = 0 CASE, HERE IF STD-ASCII
 REP 34/13	;21C22
					; NO NEED TO CHECK (CAN'T SET HARDWARE MODE 
 WIT
					; NO NEED TO CHECK (CAN'T SET HARDWARE MODE
 REP 30/17	;21C23
		POP	PP,AC13		; RESTORE AC13	
 WIT
		POP	PP,AC13		; RESTORE AC13
 REP 14/21	;21C24
		JRST	RSTER0		;MUST BE A DSK 
 WIT
		JRST	RSTER0		;MUST BE A DSK
 REP 28/23	;21C25
		BLT	AC1,.GJJFN(AC3)	;[1176] 
 WIT
		BLT	AC1,.GJJFN(AC3)	;[1176]
 REP 39/23	;21C26
		ADDI	AC3,400	
 WIT
		ADDI	AC3,400
 REP 24/24	;21C27
		OPEN	1,AC2		;[342]INIT 
 WIT
		OPEN	1,AC2		;[342]INIT
 REP 25/25	;21C28
	MACRO routine loaded in place of COBOL subroutine?/] 
 WIT
	MACRO routine loaded in place of COBOL subroutine?/]
 REP 69/27	;21C29
		POPJ	PP,		; 
 WIT
		POPJ	PP,		;
 REP 44/31	;21C30
	; DIFFICULT TO TRIM WITHOUT INTRODUCING SEVERE PROBLEMS WITHOUT TOTALLY 
	; RE-DOING THE ALGORITHM. SEE THE HEADER OF THE ROUTINE SUSPC1: FOR A 
 WIT
	; DIFFICULT TO TRIM WITHOUT INTRODUCING SEVERE PROBLEMS WITHOUT TOTALLY
	; RE-DOING THE ALGORITHM. SEE THE HEADER OF THE ROUTINE SUSPC1: FOR A
 REP 49/32	;21C31
		SOJG	AC4,.-1		;[673]  REPLACE EDIT 651 
 WIT
		SOJG	AC4,.-1		;[673]  REPLACE EDIT 651
 REP 3/37	;21C32
	OPNOP:	
 WIT
	OPNOP:
 REP 108/40	;21C33
		PUSHJ	PP,GETJFN	; GET THE JFN 
 WIT
		PUSHJ	PP,GETJFN	; GET THE JFN
 REP 13/41	;21C34
		  JRST	OPC31X		; NO SYS LABELS,LEAVE IT AS IT IS, 
 WIT
		  JRST	OPC31X		; NO SYS LABELS,LEAVE IT AS IT IS,
 REP 44/42	;21C35
		TRZ	AC0,INDASC	; NO, CLEAR ANY INDASC SETTING DONE AT RESET 
 WIT
		TRZ	AC0,INDASC	; NO, CLEAR ANY INDASC SETTING DONE AT RESET
 REP 21/43	;21C36
		PUSH	PP,AC6		;[561] 
		PUSH	PP,AC10		;[561] 
 WIT
		PUSH	PP,AC6		;[561]
		PUSH	PP,AC10		;[561]
 REP 34/43	;21C37
		POP	PP,AC6		;[561] 
		POP	PP,AC5		;[561] 
		LDB	AC2,DTCN.	; GET CHANNEL NO.
		PUSHJ	PP,GETJFN	; GET THE JFN 
 WIT
		POP	PP,AC6		;[561]
		POP	PP,AC5		;[561]
		LDB	AC2,DTCN.	; GET CHANNEL NO.
		PUSHJ	PP,GETJFN	; GET THE JFN
 REP 66/43	;21C38
		MOVEM	AC0,D.RCL(I16)	; SET NUMBER RECORDS IN LOG BLOCK	
 WIT
		MOVEM	AC0,D.RCL(I16)	; SET NUMBER RECORDS IN LOG BLOCK
 REP 101/43	;21C39
			
 WIT

 REP 4/44	;21C40
		; THE BYTE COUNT FOR THE BUFFER READ IN, TO REFLECT 
 WIT
		; THE BYTE COUNT FOR THE BUFFER READ IN, TO REFLECT
 REP 55/44	;21C41
		
 WIT

 REP 88/44	;21C42
			
 WIT

 REP 145/44	;21C43
		JRST	OPNEX0		; YES, ALL OK, GO DO FILOP. 
	>;END IFE TOPS20	
 WIT
		JRST	OPNEX0		; YES, ALL OK, GO DO FILOP.
	>;END IFE TOPS20
 REP 151/44	;21C44
		JRST	OPNEX0		; YES, ALL OK, GO DO FILOP. 
 WIT
		JRST	OPNEX0		; YES, ALL OK, GO DO FILOP.
 REP 170/44	;21C45
	IFN TOPS20,<	
 WIT
	IFN TOPS20,<
 REP 175/44	;21C46
		
	>; END IFN TOPS20

		; HERE IF DATA MODE CAN'T BE SET 
 WIT

	>; END IFN TOPS20

		; HERE IF DATA MODE CAN'T BE SET
 REP 192/44	;21C47
			
 WIT

 REP 235/44	;21C48
	OPNEX1:	
 WIT
	OPNEX1:
 REP 30/45	;21C49
		PUSHJ	PP,EXTSCN	; SCAN THE CURRENT BLOCK TO CALC THE NUMBER OF 
 WIT
		PUSHJ	PP,EXTSCN	; SCAN THE CURRENT BLOCK TO CALC THE NUMBER OF
 REP 14/46	;21C50
		SUB	AC1,AC2		; CALC NUMBER OF WORDS OF DATA IN BUFFER	
 WIT
		SUB	AC1,AC2		; CALC NUMBER OF WORDS OF DATA IN BUFFER
 REP 53/46	;21C51
		; SCAN DOWN SIXBIT RECORD COUNTING RECORDS 
 WIT
		; SCAN DOWN SIXBIT RECORD COUNTING RECORDS
 REP 95/46	;21C52
		
 WIT

 REP 106/46	;21C53
		
 WIT

 REP 66/50	;21C54
		JRST	OPNI7B		;OK, CONT 
 WIT
		JRST	OPNI7B		;OK, CONT
 REP 169/50	;21C55
		OUTSTR	[ASCIZ / differs from RESET value /] 
 WIT
		OUTSTR	[ASCIZ / differs from RESET value /]
 REP 6/51	;21C56
		ADDI	AC2,1(AC10)	;AC2 POINT AT NEXT FREE AREA 
 WIT
		ADDI	AC2,1(AC10)	;AC2 POINT AT NEXT FREE AREA
 REP 19/52	;21C57
		ADDI	AC1,2(AC2)	; AND ADD IN EXTRA 2 WORDS ALLOWED FOR 
					; IN OPNI05 FRO INDEX HDR WDS
		MOVEM	AC1,RWDLRT(I12)	; And a save area for RETAIN too
		ADDI	AC1,2(AC2)	; 
 WIT
		ADDI	AC1,2(AC2)	; AND ADD IN EXTRA 2 WORDS ALLOWED FOR
					; IN OPNI05 FRO INDEX HDR WDS
		MOVEM	AC1,RWDLRT(I12)	; And a save area for RETAIN too
		ADDI	AC1,2(AC2)	;
 REP 8/57	;21C58
		MOVE	AC10,RECBYT(I12); [375] YES-USE ISAM PARAM 
 WIT
		MOVE	AC10,RECBYT(I12); [375] YES-USE ISAM PARAM
 REP 57/57	;21C59
		JRST	OPWP6A		; ELSE GO ON 
 WIT
		JRST	OPWP6A		; ELSE GO ON
 REP 21/59	;21C60
		MOVEM	AC10,D.CRC(I16)	; ELSE,INITIALIZE IT 
 WIT
		MOVEM	AC10,D.CRC(I16)	; ELSE,INITIALIZE IT
 REP 18/61	;21C61
		AOJA	AC5,OPNL2A		;[475] PART LAST BLOCK 
 WIT
		AOJA	AC5,OPNL2A		;[475] PART LAST BLOCK
 REP 57/62	;21C62
		MOVEM	AC0,FOP.LB	; 
 WIT
		MOVEM	AC0,FOP.LB	;
 REP 79/62	;21C63
		MOVEI	AC0,.FOMAU	;[576] NOW SET FOR 
 WIT
		MOVEI	AC0,.FOMAU	;[576] NOW SET FOR
 REP 23/63	;21C64
		
 WIT

 REP 184/63	;21C65
		IDPB	C,AC10		;OTHERWISE STORE 
 WIT
		IDPB	C,AC10		;OTHERWISE STORE
 REP 241/63	;21C66
		
 WIT

 REP 258/63	;21C67
		
 WIT

 REP 265/63	;21C68
		
 WIT

 REP 315/63	;21C69
		PUSHJ	PP,GETJFN		; GET THE JFN 
 WIT
		PUSHJ	PP,GETJFN		; GET THE JFN
 REP 362/63	;21C70
		HRRM	AC0,GJ.BLK+.GJF2	;[1066] Set up number of extra 
 WIT
		HRRM	AC0,GJ.BLK+.GJF2	;[1066] Set up number of extra
 REP 7/65	;21C71
			 MOVEI	AC2,3	
 WIT
			 MOVEI	AC2,3
 REP 36/65	;21C72
		JRST	OCPERI		; OTHERS. 
 WIT
		JRST	OCPERI		; OTHERS.
 REP 59/68	;21C73
		
 WIT

 REP 137/68	;21C74
		  JRST	OMTA97		; ERROR 
 WIT
		  JRST	OMTA97		; ERROR
 REP 29/74	;21C75
		; NOW SET DENSITY AND HARDWARE DATA MODE 
 WIT
		; NOW SET DENSITY AND HARDWARE DATA MODE
 REP 36/74	;21C76
		PUSHJ	PP,SETDEN	; SET TAPE DENSITY 
 WIT
		PUSHJ	PP,SETDEN	; SET TAPE DENSITY
 REP 61/76	;21C77
		
 WIT

 REP 24/77	;21C78
		; HERE IF CAN'T GET MTA STATUS INFO 
 WIT
		; HERE IF CAN'T GET MTA STATUS INFO
 REP 64/78	;21C79
		POPJ	PP,		;IGNORE 
 WIT
		POPJ	PP,		;IGNORE
 REP 25/80	;21C80
		MOVEM	AC1,TMP.BK+.TPFUN ; 
 WIT
		MOVEM	AC1,TMP.BK+.TPFUN ;
 REP 33/80	;21C81
		
 WIT

 REP 49/80	;21C82
		TRZ	AC0,INDASC	; CLEAR ANY INDASC SETTING DONE AT RESET 
 WIT
		TRZ	AC0,INDASC	; CLEAR ANY INDASC SETTING DONE AT RESET
 REP 79/80	;21C83
		POPJ	PP,		;IGNORE 
 WIT
		POPJ	PP,		;IGNORE
 REP 114/80	;21C84
		SETZM	-1(AC1)		; CLEAR FIRSTWORD		
 WIT
		SETZM	-1(AC1)		; CLEAR FIRSTWORD
 REP 136/80	;21C85
		
 WIT

 REP 144/80	;21C86
			 JRST	OMTA96 ] ; AND GIVE ERROR SETTING LABEL INFORMATION 
 WIT
			 JRST	OMTA96 ] ; AND GIVE ERROR SETTING LABEL INFORMATION
 REP 22/81	;21C87
		; LABEL TYPE DOES NOT MATCH RECORDING MODE, CHECK IT 
 WIT
		; LABEL TYPE DOES NOT MATCH RECORDING MODE, CHECK IT
 REP 30/81	;21C88
		
 WIT

 REP 35/81	;21C89
		; ERROR, WRONG LABEL FORMAT 
 WIT
		; ERROR, WRONG LABEL FORMAT
 REP 2/83	;21C90
	; 
 WIT
	;
 REP 12/88	;21C91
		;		2		AFTER BEGINNING 
 WIT
		;		2		AFTER BEGINNING
 REP 16/88	;21C92
		;	 EACH OF THE LABEL (68 ONLY) ENTRIES HAVE TWO ADDRESSES, THE 
		; REEL IN THE LEFT HALF AND THE FILE IN THE RIGHT 
 WIT
		;	 EACH OF THE LABEL (68 ONLY) ENTRIES HAVE TWO ADDRESSES, THE
		; REEL IN THE LEFT HALF AND THE FILE IN THE RIGHT
 REP 22/91	;21C93
		ADDI	AC1,-1(AC2)	;CONVERT TO 
 WIT
		ADDI	AC1,-1(AC2)	;CONVERT TO
 REP 35/96	;21C94
		POPJ	PP,		; 
 WIT
		POPJ	PP,		;
 REP 2/105	;21C95
	PUTDEC:	JUMPGE	AC0,PUTDC1	;IF NEGATIVE, [371] 
 WIT
	PUTDEC:	JUMPGE	AC0,PUTDC1	;IF NEGATIVE, [371]
 REP 20/105	;21C96
		SKIPE	AC0		;[536] DONE ? 
 WIT
		SKIPE	AC0		;[536] DONE ?
 REP 45/109	;21C97
					
 WIT

 REP 42/111	;21C98
		CAIE	AC1,-1(AC3)	; SKIP IF AT BEGIN OF BUFFER	
 WIT
		CAIE	AC1,-1(AC3)	; SKIP IF AT BEGIN OF BUFFER
 REP 8/112	;21C99
		JRST	CLOSE4		; NO, 
 WIT
		JRST	CLOSE4		; NO,
 REP 57/116	;21C100
		MOVEI	AC3,3		;INDICATE THAT THERE ARE 3 ARGS,BEGINING 
 WIT
		MOVEI	AC3,3		;INDICATE THAT THERE ARE 3 ARGS,BEGINING
 REP 72/116	;21C101
	;	THIS ROUTINE CHECKS FOR OPENF ERROR WHERE FILE IS 
	;	ALREADY OPEN. IT RETURNS IN THIS CASE.
	;	ALL OTHER OPEN ERRORS DIE WITH ERROR MESSAGE. 
 WIT
	;	THIS ROUTINE CHECKS FOR OPENF ERROR WHERE FILE IS
	;	ALREADY OPEN. IT RETURNS IN THIS CASE.
	;	ALL OTHER OPEN ERRORS DIE WITH ERROR MESSAGE.
 REP 83/116	;21C102
		
 WIT

 REP 107/116	;21C103
	CLSR2A:	
 WIT
	CLSR2A:
 REP 126/116	;21C104
		
 WIT

 REP 50/118	;21C105
		HRRZ	AC1,D.IBL(I16)	; [377] GET ISAM SAVE AREA 
 WIT
		HRRZ	AC1,D.IBL(I16)	; [377] GET ISAM SAVE AREA
 REP 23/120	;21C106
		CAIE	AC1,-1(AC3)	; SKIP IF AT BEGIN OF BUFFER	
 WIT
		CAIE	AC1,-1(AC3)	; SKIP IF AT BEGIN OF BUFFER
 REP 19/122	;21C107
		;		
		;
		;		IF BIT12=1 (18-35 IS ADDR) AND 
 WIT
		;
		;
		;		IF BIT12=1 (18-35 IS ADDR) AND
 REP 34/123	;21C108
		PUSHJ	PP,WRTCR	; WRITE "CR" 
 WIT
		PUSHJ	PP,WRTCR	; WRITE "CR"
 REP 88/123	;21C109
	WRTRA3:				;[WADV] 
 WIT
	WRTRA3:				;[WADV]
 REP 149/123	;21C110
		SOJG	AC1,.-1		; LOOP TILL PADDED, ASSUME 
					; F FORMAT MUST BE BLOCKED, 
 WIT
		SOJG	AC1,.-1		; LOOP TILL PADDED, ASSUME
					; F FORMAT MUST BE BLOCKED,
 INS 28/125	;21C111
	IFN	TOPS20,<
		SAVACS			;[KWS]SAVE ACS
		MOVEI	1,.FHSLF	;[kws]SELF PROCESS HANDLE
		MOVEI	2,XTDBLK	;[kws]ARG. BLOCK
		XRIR%			;[kws]READ BLOCK
		  ERJMP [RSTACS
			 JRST @.JBOPC##];[kws]4.1 MONITOR... OLD WAY
		MOVE	1,XTDBLK+1	;[kws]GET TABLE ADDRESS
		MOVE	1,(1)		;[kws]FIRST INDIRECTION...
		MOVEM	1,SAVADR	;[KWS]
		RSTACS			;[KWS]
		XJRSTF	@SAVADR
		  ERJMP .+1
		>
 REP 25/129	;21C112
		;SETUP THE CONVERSION INST IN AC10 
 WIT
		;SETUP THE CONVERSION INST IN AC10
 REP 23/130	;21C113
	WAD0X:	
 WIT
	WAD0X:
 REP 20/132	;21C114
		 TRNA			; YES 
 WIT
		 TRNA			; YES
 REP 57/136	;21C115
		JRST	READ8		; ELSE CONT, ASSUME NO CR-LF FOR 
 WIT
		JRST	READ8		; ELSE CONT, ASSUME NO CR-LF FOR
 REP 62/136	;21C116
		SOJLE	AC0,READ8	; AND QUIT IF THIS IS LAST 
 WIT
		SOJLE	AC0,READ8	; AND QUIT IF THIS IS LAST
 REP 99/136	;21C117
		MOVEM	FLG,F.WFLG(I16)	; 
 WIT
		MOVEM	FLG,F.WFLG(I16)	;
 REP 127/138	;21C118
		JUMPN	AC1,RER71A	; JUMP IF "U" 
 WIT
		JUMPN	AC1,RER71A	; JUMP IF "U"
 REP 150/138	;21C119
		SOS	D.RP(I16)	; DECREMENT REC COUNT	
 WIT
		SOS	D.RP(I16)	; DECREMENT REC COUNT
 REP 29/139	;21C120
	;[577]	RECORD. IN CASE WHEN THIS IS DETECTED, A SIMPLE RETURN TO CALLER 
 WIT
	;[577]	RECORD. IN CASE WHEN THIS IS DETECTED, A SIMPLE RETURN TO CALLER
 REP 53/139	;21C121
		TLNE	FLG,ATEND	;[577] SKIP IF NOT AT END  ("EOF") 
 WIT
		TLNE	FLG,ATEND	;[577] SKIP IF NOT AT END  ("EOF")
 REP 49/141	;21C122
		HRRZ	AC2,1(AC2)	; GET WORD COUNT 
 WIT
		HRRZ	AC2,1(AC2)	; GET WORD COUNT
 REP 61/141	;21C123
		PUSHJ	PP,READBF	; READ AGAIN, SHOULD GET ATEND.	
 WIT
		PUSHJ	PP,READBF	; READ AGAIN, SHOULD GET ATEND.
 REP 41/143	;21C124
		SETZM	D.SRCL(I16)	; CLEAR ANY SAVED D.RCL AFTER DEL/REWRT 
 WIT
		SETZM	D.SRCL(I16)	; CLEAR ANY SAVED D.RCL AFTER DEL/REWRT
 REP 93/143	;21C125
		
 WIT

 REP 27/148	;21C126
		MOVE 	AC5,AC1		; RESET AC5 TO NEXT RECORD FOR SEQ 
 WIT
		MOVE 	AC5,AC1		; RESET AC5 TO NEXT RECORD FOR SEQ
 REP 46/148	;21C127
					; IN NULL CASE SET UP SO AS TO 
 WIT
					; IN NULL CASE SET UP SO AS TO
 REP 56/148	;21C128
		ADD	AC5,AC0		; ADVANCE AC5 TO NEXT RECORD 
 WIT
		ADD	AC5,AC0		; ADVANCE AC5 TO NEXT RECORD
 REP 80/148	;21C129
		
 WIT

 REP 100/148	;21C130
		
 WIT

 REP 130/148	;21C131
		JRST	RNDLER		;YES, ERROR NULL RECORD 
 WIT
		JRST	RNDLER		;YES, ERROR NULL RECORD
 REP 54/149	;21C132
		PUSHJ	PP,WRTADV	; DO ADVANCING NOW	
 WIT
		PUSHJ	PP,WRTADV	; DO ADVANCING NOW
 REP 71/149	;21C133
		JRST	RANXIT		; ADVANCE NXT-REC PTR AND TAKE STANDARD EXIT 
 WIT
		JRST	RANXIT		; ADVANCE NXT-REC PTR AND TAKE STANDARD EXIT
 REP 11/150	;21C134
		TLCN	FLG,DDMASC+SEQFIL ;IFSO 
 WIT
		TLCN	FLG,DDMASC+SEQFIL ;IFSO
 REP 2/151	;21C135
		; HERE FOR SEQ-IO READ. CHECK FOR NULL RECORD, 
		; IFSO , COUNT IT AS REC FOR LOG-BLK AND START WITH NEXT
		; WHEN REAL RECORD START IS FOUND , READ REC. 
 WIT
		; HERE FOR SEQ-IO READ. CHECK FOR NULL RECORD,
		; IFSO , COUNT IT AS REC FOR LOG-BLK AND START WITH NEXT
		; WHEN REAL RECORD START IS FOUND , READ REC.
 REP 88/151	;21C136
					; YES, JUMP ,DON'T BOTHER WITH EOR SCAN 
 WIT
					; YES, JUMP ,DON'T BOTHER WITH EOR SCAN
 REP 2/152	;21C137
					
 WIT

 REP 13/152	;21C138
	RANXI0:	
 WIT
	RANXI0:
 REP 15/154	;21C139
	RANI0A:	SETZM	R.DLRW(I12)	; CLEAR DEL/RERIT SAVE 
 WIT
	RANI0A:	SETZM	R.DLRW(I12)	; CLEAR DEL/RERIT SAVE
 REP 1/156	;21C140
		;IF ACCESS MODE IS SEQUENTIAL 
 WIT
		;IF ACCESS MODE IS SEQUENTIAL
 REP 18/159	;21C141
		HRRM	AC0,D.RFLG(I16)	; PUT IT BACK 
 WIT
		HRRM	AC0,D.RFLG(I16)	; PUT IT BACK
 REP 30/159	;21C142
	;[605]	HERE IS THE START CODE FOR ISAM FILES. 
 WIT
	;[605]	HERE IS THE START CODE FOR ISAM FILES.
 REP 45/159	;21C143
		HRRM	AC0,D.RFLG(I16)	; PUT IT BACK 
		PUSHJ	PP,SETS23	;[605] SET NO RECORD STATUS INVALID KEY 
 WIT
		HRRM	AC0,D.RFLG(I16)	; PUT IT BACK
		PUSHJ	PP,SETS23	;[605] SET NO RECORD STATUS INVALID KEY
 REP 19/160	;21C144
		HRRZ	AC2,AC1		; 
 WIT
		HRRZ	AC2,AC1		;
 REP 26/160	;21C145
		
 WIT

 REP 31/160	;21C146
		HRRZ	AC2,AC1		; 
		ADD	AC2,RCARSZ(I12)	; Get record area size, calc last word
		BLT	AC1,-1(AC2)	; Copy AUXBUF to record area
					; 
 WIT
		HRRZ	AC2,AC1		;
		ADD	AC2,RCARSZ(I12)	; Get record area size, calc last word
		BLT	AC1,-1(AC2)	; Copy AUXBUF to record area
					;
 REP 39/160	;21C147
		HRRM	AC0,D.RFLG(I16)	; PUT IT BACK 
 WIT
		HRRM	AC0,D.RFLG(I16)	; PUT IT BACK
 REP 44/160	;21C148
		
 WIT

 REP 33/162	;21C149
		; HERE TO RESTORE THE "CURRENT RECORD POSITION" TO BEFORE 
 WIT
		; HERE TO RESTORE THE "CURRENT RECORD POSITION" TO BEFORE
 REP 67/162	;21C150
		HLRZ	AC1,RWDLKY(I12)	; GET NNTRY VALUE	
		SKIPN	SU.FRF		; DON'T RESET IF RETAIN 
 WIT
		HLRZ	AC1,RWDLKY(I12)	; GET NNTRY VALUE
		SKIPN	SU.FRF		; DON'T RESET IF RETAIN
 REP 34/164	;21C151
		TLC	FLG,OPNIO	;[622] 
 WIT
		TLC	FLG,OPNIO	;[622]
 REP 46/164	;21C152
		JRST	RANDOM		; NO, 
 WIT
		JRST	RANDOM		; NO,
 REP 7/165	;21C153
		
 WIT

 REP 49/165	;21C154
				
 WIT

 REP 86/165	;21C155
		; IF DEL/REWRT RETAIN MUST FIND FIRST RECORD, SO ITS KEY CAN BE SAVED 
 WIT
		; IF DEL/REWRT RETAIN MUST FIND FIRST RECORD, SO ITS KEY CAN BE SAVED
 REP 7/171	;21C156
		HRRO	AC2,@CNTRY0(I12) 
 WIT
		HRRO	AC2,@CNTRY0(I12)
 REP 19/175	;21C157
		HRRZ	AC2,AC5	
 WIT
		HRRZ	AC2,AC5
 REP 1/185	;21C158
		;SEACH FOR A DATA FILE KEY 
 WIT
		;SEACH FOR A DATA FILE KEY
 REP 37/190	;21C159
	GBDER1:				;[1103] 
 WIT
	GBDER1:				;[1103]
 REP 46/190	;21C160
	IFE TOPS20,<			;[1103] 
	GBDEOF:				;[1103] 
 WIT
	IFE TOPS20,<			;[1103]
	GBDEOF:				;[1103]
 REP 54/190	;21C161
	GBDEO1:				;[1103] 
 WIT
	GBDEO1:				;[1103]
 REP 29/191	;21C162
		SUB	AC4,OMXLVL(I12)	;[307]   UNUSED IOWRD POINTER	
		HRL	AC4,AC5		;[307] # OF NEW IOWRD'S REQUIRED

	VNDE10:	SKIPE	(AC4)		;[307] IF IOWRD ALREADY EXIST	
		JRST	VNDE20		;[307]   TRY TO LOOP		
 WIT
		SUB	AC4,OMXLVL(I12)	;[307]   UNUSED IOWRD POINTER
		HRL	AC4,AC5		;[307] # OF NEW IOWRD'S REQUIRED

	VNDE10:	SKIPE	(AC4)		;[307] IF IOWRD ALREADY EXIST
		JRST	VNDE20		;[307]   TRY TO LOOP
 REP 47/191	;21C163
	VNDERR:	EXCH	AC1,.JBFF	;FIRST GET OUT 
 WIT
	VNDERR:	EXCH	AC1,.JBFF	;FIRST GET OUT
 REP 5/195	;21C164
		HRRM	AC0,D.RFLG(I16)	; Put IT BACK 
		LDB	AC0,F.BMRS	;MAX-REC-SIZ
		MOVEM	AC0,D.CLRR(I16)	;SAVE LENGTH 
 WIT
		HRRM	AC0,D.RFLG(I16)	; Put IT BACK
		LDB	AC0,F.BMRS	;MAX-REC-SIZ
		MOVEM	AC0,D.CLRR(I16)	;SAVE LENGTH
 REP 51/195	;21C165
		; IF SEQUENTAIL READ CALL @GETSET TO COPY KEY FOR CNTRY INTO 
 WIT
		; IF SEQUENTAIL READ CALL @GETSET TO COPY KEY FOR CNTRY INTO
 REP 57/195	;21C166
		PUSHJ	PP,@GETSET(I12)	; YES, COPY CNTRY KEY 
 WIT
		PUSHJ	PP,@GETSET(I12)	; YES, COPY CNTRY KEY
 REP 61/195	;21C167
		PUSHJ	PP,@GETSET(I12)	; YES, COPY CNTRY KEY 
 WIT
		PUSHJ	PP,@GETSET(I12)	; YES, COPY CNTRY KEY
 REP 14/208	;21C168
			 JRST	KILL ]	; 
 WIT
			 JRST	KILL ]	;
 REP 39/210	;21C169
		ADD	AC0,[EXP E.VSTR] ; YES, SET IT 
 WIT
		ADD	AC0,[EXP E.VSTR] ; YES, SET IT
 REP 43/212	;21C170
		MOVE	FLG,-7(PP)	;[501] RESTORE FLAG.  NOTE ** THIS 
 WIT
		MOVE	FLG,-7(PP)	;[501] RESTORE FLAG.  NOTE ** THIS
 REP 43/214	;21C171
		SKIPN	AC1,F.WPFS(I16)	;[666] FILE STATUS WORD? 
 WIT
		SKIPN	AC1,F.WPFS(I16)	;[666] FILE STATUS WORD?
 REP 49/215	;21C172
		TLNN	FLG,OPNOUT	;SKIP IF OPEN FOR OUTPUT 
 WIT
		TLNN	FLG,OPNOUT	;SKIP IF OPEN FOR OUTPUT
 REP 130/215	;21C173
		
 WIT

 REP 135/215	;21C174
		; JUST CONTINUE OPEN FILE SEARCH. THIS IS REALLY ONLY FOR 
		; TOPS10, WHICH MUST SAVE IDX AND IDA DEVICE NAMES FOR 
		; FILES OPEN FOR INPUT

		TLNN	FLG,OPNOUT	;SKIP IF OPEN FOR OUTPUT 
 WIT
		; JUST CONTINUE OPEN FILE SEARCH. THIS IS REALLY ONLY FOR
		; TOPS10, WHICH MUST SAVE IDX AND IDA DEVICE NAMES FOR
		; FILES OPEN FOR INPUT

		TLNN	FLG,OPNOUT	;SKIP IF OPEN FOR OUTPUT
 REP 41/216	;21C175
		OUTSTR	[ASCIZ /CORE UUO failed./] 
 WIT
		OUTSTR	[ASCIZ /CORE UUO failed./]
 REP 55/217	;21C176
	F.BCRC: F%BCRC	; CHECKPOINT ON RECORD COUNT 
 WIT
	F.BCRC: F%BCRC	; CHECKPOINT ON RECORD COUNT
 INS 35/219	;21C177
	XTDBLK:	3
		Z
		Z
	SAVADR:	BLOCK 1
	RACS:	BLOCK ^D16	;SAVE ACS

 SUM 175153