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)