Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - dbsany.f07
There are 10 other files named dbsany.f07 in the archive. Click here to see a list.
;******************** START OF DBMS10-V5A EDIT 612 *******************
;	     PART 2 OF 3 (612.FIX + 612.F02 + DBINF1.612)
.EDIT 612
.NAME WTK
.DATE 28-SEP-83
.MODULE REC.WA
; an acceptable error will occur if edit 524 is not in DBSANY.REL
.REMOVE 524
OTS%INF==1B0			;[612] 'This is DBINFO' flag
OTS.FLG==145			;[612] unused OTS.CNT(X)
RECLIS==127			;[612] 'RECLIST(X)'
X==15				;[612] undefined in REC.WALK
.INSERT REC.WALK+1,AFTER,<MOVE 6,@0(16)>
	SKIPL	OTS.FLG(X)	;[612] if not DBINFO
	  JRST	MERGE1		;[612]   skip the following
	PUSH	P,R1		;[524] GET LOC ON STACK TO HOLD POINTER TO TABLE
	PUSH	P,R1		;[524] GET AN AC TO USE
	HRRZ	R1,127(SS)	;[524] GET START ADDR OF TABLE (RECLIST=127)
	MOVEM	R1,-1(P)	;[524] SAVE IT IN STACK LOC.
	POP	P,R1		;[524] RESTORE AC
MERGE1:				;[612] skip to here if not DBINFO
.ENDI
.INSERT RW.LP+1,AFTER,<PUSHJ P,FIND3%>
	SKIPL	OTS.FLG(X)	;[612] if not DBINFO
	  JRST	MERGE2		;[612]   skip the following
	CAIE R0,0		;[524] AT END OF BIND SCAN FOR RECORD TYPES?
	JRST .+11		;[524] NO
	PUSH P,R1		;[524] GET AN AC TO SET UP AOBJN PTR
	MOVE R1,RECLIS(SS)	;[524] RECLIST IS THE POINTER
	MOVE R0,0(R1)		;[524] GET AN ENTRY OF THE LIST
	HRRZM R0,0(R1)		;[524] PUT IT BACK WITH LEFT HALF ZEROED
	AOBJN R1,.-2		;[524] GO TO PICK UP NEXT ENTRY
	POP P,R1		;[524] GIVE BACK AC
	POP P,R0		;[524] YES -- GIVE BACK STACK LOCATION
	HRRZI R0,0		;[524] TELL DBINFO IT IS THRU WITH SCAN
MERGE2:				;[612] skip to here if not DBINFO
.ENDI
.INSERT RW.LP+3,BEFORE,<MOVEM 1,7>
	SKIPL	OTS.FLG(X)	;[612] if not DBINFO
	  JRST	MERGE3		;[612]   skip the following
	PUSH P,R1		;[524] GET AN AC
	MOVE R1,-1(P)		;[524] GET POINTER TO IN-CORE TABLE
	ADDI R1,1		;[524] POINT TO NEXT ENTRY
	MOVEM R1,-1(P)		;[524] PUT UPDATED POINTER BACK
	POP P,R1		;[524] RESTORE AC
MERGE3:				;[612] skip to here if not DBINFO
.ENDI
.INSERT RW.LP+33,BEFORE,<ADD 1,140(14)>
	SKIPL	OTS.FLG(X)	;[612] if not DBINFO
	  JRST	MERGE4		;[612]   skip the following
	PUSH	P,R0		;[524] GET TWO AC'S
	PUSH	P,R1
	MOVEI	R0,40		;[524] SET UP TID VALUE OF SYSTEM REC
				;[524]   SYSTID = 40
	ADD 	R1,TIDVEC(SS)	;[524] FIND ENTRY IN TABLE WHERE NEW
				;[524]   POINTER SHOULD GO
	CAMN 	R0,0(P)		;[524] IS IT FOR THE SYSTEM RECORD?
	JRST 	.+3		;[524] YES -- BYPASS
	HRLM 	R1,CIC		;[524] NO -- AC1 IS WHERE REC'S ENTRY SHOULD GO
				;[524]   MOVE IT TO AC13 L.H.
	MOVE 	R1,-2(P)	;[524] FIND WHERE WE WILL PUT IT
	MOVEM 	CIC,0(R1)	;[524] PUT IT THERE IN TABLE
	HRLI 	CIC,0		;[524] CLEAR AC13 L.H. TO AVOID PROBS
				;[524]   BELOW IN MAIN CODE
	POP 	P,R1		;[524] RESTORE AC'S
	POP 	P,R0		;[524]
	JRST	RW.LP+35	;[612] and skip two normal instructions
MERGE4:				;[612] skip to here if not DBINFO
.ENDI
.ENDE
;***************************** CAUTION *******************************
;
;		TO AVOID LOSING ANY PREVIOUS PATCHES  BE
;		SURE TO USE THE LATEST PATCHED REL FILES
;		       AS A BASE FOR THIS EDIT.
;
;	    THIS PATCH AFFECTS THE FOLLOWING DBMS COMPONENTS:
;
;			COBOL-68 (LIBOL.REL,LIBO12.EXE)
;			COBOL-74 (C74LIB.REL,C74O12.EXE)
;			FORTRAN  (FORLIB.REL,DBMSF.EXE)
;				DBMEND
;				DBINFO
;
;
;	------------------ TO INSTALL THIS EDIT ------------------
;
;	.RUN MAKLIB
;	*INFANY.REL=INFANY.REL,612.FIX/F
;	*DBSANY.REL=DBSANY.REL,612.F02/F
;	*^C
;	.SUB DBMS10/TAG:DBALL	;DBMS10.CTL FROM DISTRIBUTION TAPE
;
;************************** END OF EDIT 612 **************************
;		     PART 2 OF 2 (612.FIX + 612.F02)