Trailing-Edge
-
PDP-10 Archives
-
bb-bt99g-bb
-
backrs.c12
There are no other files named backrs.c12 in the archive.
REP 1/1 ;12C1
TITLE BACKRS -- MODULE TO DO THE WORK FOR BACKUP -- %4A(521)
SUBTTL FRANK NATOLI/FJN/PFC/KCM/JEF/MEB/CLRH/VLR/CGN/WMG/DC/BPK/MS/BAH/EDS 25-Jul-84
DECVER==4 ;MAJOR VERSION
DECMVR==1 ;MINOR VERSION
DECEVR==521 ;EDIT NUMBER
WIT
TITLE BACKRS -- MODULE TO DO THE WORK FOR BACKUP -- %4A(527)
SUBTTL FRANK NATOLI/FJN/PFC/KCM/JEF/MEB/CLRH/VLR/CGN/WMG/DC/BPK/MS/BAH/EDS 14-Aug-85
DECVER==4 ;MAJOR VERSION
DECMVR==1 ;MINOR VERSION
DECEVR==527 ;EDIT NUMBER
REP 37/9 ;12C2
;&
;+.HL1 HOME BLOCK WORDS
WIT
FL$ABS==1B30 ;[522] ABORT STRUCTURE SINCE /INITIAL NOT FOUND
;&
;+.HL1 /INITIAL BIT MASK DEFINITIONS
INS 45/9 ;12C3
IB$STR==1 ;[522] LOOKING FOR SPECIFIC /INITIAL FILE STRUCTURE
IB$NAM==2 ;[522] LOOKING FOR /INITIAL FILENAME AND EXTENSION
IB$UFD==4 ;[522] LOOKING FOR /INITIAL UFD
IB$SF1==10 ;[522] LOOKING FOR /INITIAL SFD LEVEL 1
IB$SF2==20 ;[522] LOOKING FOR /INITIAL SFD LEVEL 2
IB$SF3==40 ;[522] LOOKING FOR /INITIAL SFD LEVEL 3
IB$SF4==100 ;[522] LOOKING FOR /INITIAL SFD LEVEL 4
IB$SF5==200 ;[522] LOOKING FOR /INITIAL SFD LEVEL 5
;&#FLAG CONTROL
;+.HL1 HOME BLOCK WORDS
;.NOFILL.FLAG CONTROL #
;#END SELECT
;-
DEL 35/10 ;12C4
;**;[520] @ SUSDF + 1L, Insert 1L, BAH, 3-Jul-84
INS 116/10 ;12C5
INIBTS::BLOCK 1 ;[522] BIT MASK FOR /INITIAL FILESPEC
SAVBTS: BLOCK 1 ;[522] SAVED COPY OF ABOVE
INS 27/24 ;12C6
;HERE TO SETUP THE INITIAL FILESPEC BIT MASK BEFORE THE SAVE
SETZB T1,INIBTS ;[522] CLEAR THE WORKING BITS
MOVEM T1,SAVBTS ;[522] AND THE SAVED COPY
SKIPE S.INIT##+.FXDEV ;[522] ANY DEVICE SPECIFIED?
TXO T1,IB$STR ;[522] YES, REMEMBER
SKIPN S.INIT##+.FXNAM ;[522] ANY FILENAME SPECIFIED?
SKIPE S.INIT##+.FXEXT ;[522] NO, ANY EXTENSION?
TXO T1,IB$NAM ;[522] YES, FLAG THAT
MOVEI T2,.FXDIR+S.INIT## ;[522] POINT AT THE FIRST DIRECTORY WORD
MOVEI T3,6 ;[522] GET THE NUMBER OF DIRECTORY WORDS
MOVX T4,IB$UFD ;[522] GET THE FIRST BIT
SETINT: SKIPN (T2) ;[522] DIRECTORY SPECIFIED AT THIS LEVEL?
JRST SETI01 ;[522] NO, EXIT THIS LOOP
TDO T1,T4 ;[522] YES, LITE THE CORRESPONDING BIT
ADDI T2,2 ;[522] POINT TO THE NEXT DIRECTORY LEVEL
LSH T4,1 ;[522] SHIFT THE BIT FOR THE NEXT LEVEL
SOJG T3,SETINT ;[522] LOOP FOR ALL SPECIFIED LEVELS
SETI01: MOVEM T1,SAVBTS ;[522] STORE THE INITIAL FILESPEC BITS
MOVEM T1,INIBTS ;[522] IN BOTH PLACES.
INS 45/24 ;12C7
SKIPE INIBTS ;[522] ANY /INITIAL SPECIFIER?
REP 51/24 ;12C8
SETZM S.INIT##+.FXDEV ;ZILCH
WIT
MOVX T4,IB$STR ;[522] YES, GET THE DIRECTORY SPECIFIER
ANDCAM T4,INIBTS ;[522] CLEAR THE DEPENDENCY
INS 79/24 ;12C9
MOVE T1,SAVBTS ;[522] GET THE SAVED INITIAL BITS
SKIPE INIBTS ;[522] DID WE FIND THE INITIAL FILE?
MOVEM T1,INIBTS ;[522] NO, RESET THE SEARCH BITS
TXZ F,FL$ABS ;[522] CLEAR STRUCTURE ABORT FLAG
INS 90/24 ;12C10
SKIPE INIBTS ;[522] DID WE EVER FIND THE /INITIAL FILE?
JRST CPOPJ1 ;[522] YES, RETURN TO BACKUP WITH OPERATION DONE
SETZM S.INIT## ;[522] CLEAR THE
MOVE T1,[S.INIT##,,S.INIT##+1] ;[522] INITIAL
BLT T1,S.INIT##+FX$LEN-1 ;[522] FILESPEC
INS 44/27 ;12C11
SKIPE INIBTS ;[522] ANY /INITIAL SPECIFIER?
REP 48/27 ;12C12
SETZM S.INIT##+.FXDIR ;ZILCH
WIT
MOVX T4,IB$UFD ;[522] YES, GET THE UFD SPECIFIER BIT
ANDCAM T4,INIBTS ;[522] CLEAR THE DEPENDENCY
REP 89/27 ;12C13
TXNE F,FL$KIL ;SEE IF OPERATOR SAID KILL
WIT
SKIPE INIBTS ;[522] DID WE FIND THE /INITIAL FILE?
TXO F,FL$ABS ;[522] ONLY GOT PART OF IT - BLOW THIS STR OFF
TXNE F,FL$KIL!FL$ABS ;[522] SEE IF OPERATOR SAID KILL OR ABORT SET
REP 12/30 ;12C14
SKIPN T3,S.INIT+.FXDIR(T2) ;ANY INITIAL SFD?
JRST SAFE2 ;NO
CAME T3,CNAM ;SEE IF MATCH
SOJA LVL,NXTFIL ;NO, DROP IT
SETZM S.INIT+.FXDIR(T2) ;MATCH--ZILCH
WIT
SKIPN INIBTS ;[524][522] ANY /INITIAL SPECIFIER?
JRST SAFE2 ;[524] NO
SKIPN T3,S.INIT+.FXDIR(T2) ;ANY INITIAL SFD?
JRST NXTFIL ;[524] NO
CAME T3,CNAM ;SEE IF MATCH
SOJA LVL,NXTFIL ;NO, DROP IT
MOVX T4,IB$UFD ;[522] YES, GET THE DIRECTORY SEEN BIT
LSH T4,(LVL) ;[522] SHIFT TO THE RIGHT SFD LEVEL
ANDCAM T4,INIBTS ;[522] CLEAR THE BIT FOR THIS LEVEL
REP 34/30 ;12C15
SETZM PTHBLK+.PTPPN(LVL) ;ZERO
TXNE F,FL$KIL ;SEE IF OPERATOR SAID KILL
WIT
SKIPE INIBTS ;[522] DID WE FIND THE /INITIAL FILE?
TXO F,FL$ABS ;[522] NO, YES - ABORT THIS STRUCTURE
SETZM PTHBLK+.PTPPN(LVL) ;ZERO
TXNE F,FL$KIL!FL$ABS ;[522] SEE IF OPERATOR SAID KILL OR ABORT SET
REP 3/31 ;12C16
NOTSFD: MOVEI T2,(LVL) ;[327] GET NESTING COUNTER
LSH T2,1 ;[327] DOUBLE INDEX INTO SCAN BLOCK
SKIPE S.INIT+.FXDIR+2(T2);[327] SEE IF INITIAL SFD GIVEN
JRST NXTFIL ;YES, DROP THIS FILE
SKIPN T2,S.INIT+.FXNAM;ANY INITIAL FILE NAME?
JRST SETEXT ;NO
HLRZ T3,S.INIT+.FXEXT;GET INITIAL EXTENSION
WIT
NOTSFD: SKIPN T4,INIBTS ;[522] LOOKING FOR /INITIAL FILE?
JRST SETEXT ;[522] NO, GO AHEAD WITH THIS FILE
CAXE T4,IB$NAM ;[522] YES, JUST LOOKING FOR FILENAME?
JRST NXTFIL ;[522] NO, DROP THIS FILE
HLRZ T3,S.INIT+.FXEXT;GET INITIAL EXTENSION
MOVE T2,S.INIT+.FXNAM;[522] GET THE /INITIAL FILENAME
REP 13/31 ;12C17
SETZM S.INIT+.FXNAM ;YES, ZILCH
WIT
SETZM INIBTS ;[522] YES, NO MORE /INITIAL SPEC
DEL 24/32 ;12C18
;**;[520] Replace routine CLSUF2, BAH, 3-Jul-84
DEL 23/48 ;12C19
;**;[515] @ RSTREC + 20L, Replace 1L, BAH, 20-Jun-84
DEL 35/48 ;12C20
;**;[515] Delete routines RSTRE2 and LABSTS, BAH, 20-Jun-84
DEL 31/56 ;12C21
;**;[510] @ NEWFIL + 14L, Replace 1L, BAH, 5-Oct-82
DEL 58/59 ;12C22
;**;[521] @ RSTUST + 5L, Insert 1L, BAH, 25-Jul-84
REP 164/69 ;12C23
TRNE T1,IO.EOT ;IF EOT,
SETSTS F.MTAP,.IOBIN ; MUST CLEAR EOT BEFORE DOING OUTPUT
MOVSI T1,(1B0) ;USE BIT
WIT
TRNN T1,IO.EOT ;[525] EOT?
JRST MTASE1 ;[525] NO.
PUSHJ P,FNDBUF ;[525] FIND THE BUFFER MARKED WITH EOT
SKIPA ;[525] PUZZLING. CAN'T FIND EOT
ANDCAM P1,-1(P2) ;[525] CLEAR THE EOT BIT IN BUFFER STATUS WORD
SETSTS F.MTAP,.IOBIN ; MUST CLEAR EOT BEFORE DOING OUTPUT
MTASE1: MOVSI T1,(1B0) ;USE BIT
DEL 17/89 ;12C24
;**;[513] @LSTFID+14L, Replace 4L, BAH, 4-Mar-83
SUM 72341