plato:source:plaopl:backone
Table of Contents
BACKONE
Table Of Contents
- [00010] BACKUPS DATA CRUNCH - PHASE ONE
- [00012] BACKUPS DATA CRUNCH - PHASE ONE
- [00093] COMMON DATA
- [00135] MAIN PROGRAM.
- [00288] SUBROUTINES
- [00290] BUILDO - BUILD OUTPUT LINE
- [00391] BUILDA - BUILT AUDIT ENTRY
- [00414] CKALL - CHECK TO SEE IF ALL REQUIRED PACKS DUMPED
- [00450] CKREQ - CHECK REQUIRED PACK TABLE
- [00474] CKSTATS - CHECK FILE STATUS FOR BUSY
- [00496] CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
- [00508] INIT - INITIALIZE
- [00556] CLRVSN - CLEAR VSN TABLE
- [00581] GETAUT - GET AUDIT TRAIL
- [00614] GETSL - GET SLOT ENTRY
- [00638] RDSLOT - READ PARAMETER, SLOT AND VSN TABLES
- [00648] WRAUDIT - REWRITE AUDIT TRAIL
- [00687] WRPARAM - WRITE PARAMETER BLOCK AND REST OF S0BACKC
- [00700] END PROGRAM
- [00702] END - END PROGRAM.
Source Code
- BACKONE.txt
- BACKONE
- * /--- FILE TYPE = E
- * /--- BLOCK BACKONE 00 000 81/04/29 11.21
- BACKONE
- IDENT BACKONE,BEGIN,BACKONE
- ENTRY BACKONE
- SYSCOM B1 DEFINE (B1) = 1
- *COMMENT BACKUPS DATA CRUNCH - PHASE ONE
- COMMENT COPYRIGHT CONTROL DATA CORP. 1980.
- TITLE BACKUPS DATA CRUNCH - PHASE ONE
- SPACE 4
- *** BACKONE - BACKUPS DATA CRUNCH - PHASE ONE
- * J. J. BUCHMANN. 80/01/15.
- *
- *FUNCTION;
- * THIS PROGRAM DOES THE FIRST PHASE OF THE BACKUPS
- * DATABASE MERGE PROCESS. THIS PROGRAM ATTACHES THE
- * COMMUNICATIONS BUFFER, AUDIT TRAIL, AND PARAMETERS
- * FILE. IT THEN EXTRACTS THE CURRENT SLOT VALUE FROM
- * THE PARAMETERS FILE, CLEARS THE VSN TABLE OF ALL
- * ENTRIES USING THIS SLOT, CLEARS THE AUDIT TRAIL OF ALL
- * ENTRIES USING THIS SLOT, AND THEN READS THE
- * COMMUNICATIONS BUFFER. EACH RECORD ON THE
- * COMMUNICATIONS BUFFER CONTAINS A RECORD FOR EACH
- * MASTERFILE THAT HAS BEEN DUMPED. AS EACH RECORD IS
- * READ, THE AUDIT TRAIL BE UP UPDATED TO REFLECT THIS
- * MASTERFILE, THE VSN TABLE WILL BE UPDATED TO REFLECT
- * THIS VSN, AND AN ADDITIONAL FILE WILL GET A SHORT
- * ENTRY WITH INFORMATION CONCERNING ACCOUNT NAME, FILE
- * NAME, FILE TYPE/SIZE, AND VSN. THIS ENTRY IS ALSO
- * CHECKED AGAINST THE REQUIRED PACKS TAPE IN THE BACKUP
- * PARAMETERS FILE TO SEE THAT ALL FILES WERE DUMPED
- * CORRECTLY. AFTER ALL RECORDS ON THE COMMUNICATIONS
- * BUFFER HAVE BEEN PROCESSED WITHOUT ERROR, THE AUDIT
- * TRAIL AND PARAMETERS FILES ARE REWRITTEN WITH THE NEW
- * INFORMATION.
- *
- *PARAMETERS; NONE
- *
- *INFORMATIVE MESSAGES;
- * SLOT = NNNN (CURRENT SLOT VALUE)
- * WRITE AUDIT TRAIL
- * WRITE S0BACKC (PARAMETERS FILE)
- * MMMMMM NNN FILES FOUND (MMMMMM=MASTERFILE NAME)
- * NNNNNN TOTAL FILES
- *
- * MMMMMMMMMM - REQUIRED MF NOT DUMPED
- * MMMMMMMMMM - MF DUMPED MORE THAN ONCE
- * SLOT NUMBER OUT OF RANGE
- * VVVVVV REUSED OLD SLOT = NN (VSN VVVVVV WAS PREVIOUSLY
- * ASSIGNED TO SLOT NN)
- *
- *INTERNAL ERROR MESSAGES;
- * EXTRA WORDS IN COMM. BUFFER
- * EARLY END OF FILE IN COM. BUFFER.
- * NO ROOM FOR NEW VSN IN VSN TABLE
- *
- *INFORMATION PASSED INTO THE OUTPUT FILE;
- * OLD AUDIT INFORMATION (THESE ENTRIES REMOVED FROM THE
- * AUDIT TRAIL)
- * NEW AUDIT ENTRY (THESE ENTRIES ADDED)
- * /--- BLOCK BACKONE 00 000 81/05/07 06.50
- SPACE 4
- *CALL COMCMAC
- *CALL COMCCMD
- SPACE 4
- **** ASSEMBLY CONSTANTS.
- BUFL EQU 150 WORKING BUFFER LENGTH
- BLDH EQU 6 HEADER BUFFER LENGTH
- BLDI EQU 3 INFO. BUFFER LENGTH
- BLDO EQU 4 SORT INFO. BUFFER LENGTH
- BLDA EQU 3 AUDIT TRAIL ENTRY LENGTH
- IBUFL EQU 2001B IFILE BUFFER LENGTH
- OBUFL EQU 2001B OFILE BUFFER LENGTH
- ABUFL EQU 2001B AFILE BUFFER LENGTH
- SBUFL EQU 2001B SFILE BUFFER LENGTH
- XBUFL EQU 2001B XFILE BUFFER LENGTH
- OUTBUFL EQU 2001B OUTPUT BUFFER LENGTH
- BLKSZE EQU 320 BLOCK SIZE (WORDS) FOR S0BACKC
- MBPARM EQU 1 MAX NUM OF BLOCKS / PARAMETERS
- MBSLOT EQU 2 MAX NUM OF BLOCKS / SLOT TABLE
- MBLAB EQU 25 MAX NUM OF BLOCKS / LOOK ASIDE
- MBVSN EQU 25 MAX NUM OF BLOCKS / VSN TABLE
- MBALL EQU MBPARM+MBSLOT+MBLAB+MBVSN TOTAL NUM BLOCKS
- REQPK EQU 50 REQUIRED PACK OFFSET IN PARAMS.
- ****
- TITLE COMMON DATA
- BEGIN BSS 0
- FETS BSS 0
- I BSS 0
- COMBUF RFILEB IBUF,IBUFL,(FET=13D),EPR
- O BSS 0
- TAPE3 RFILEB OBUF,OBUFL,(FET=8D)
- A BSS 0
- AUDIT RFILEB ABUF,ABUFL,(FET=13D),EPR
- S BSS 0
- S0BACKC RFILEB SBUF,SBUFL,(FET=13D),EPR
- X BSS 0
- AUDITX RFILEB XBUF,XBUFL,(FET=13D),EPR
- OUT BSS 0
- OUTPUT RFILEB OUTBUF,OUTBUFL,(FET=8D)
- SPACE 4
- * DATA WORDS
- NFILE DATA 0 NUMBER OF FILES
- SLV DATA 0 SLOT VALUE
- VSV DATA 0 VSN ORDINAL
- VSNL VFD 60/MBVSN*BLKSZE VSN TABLE SIZE
- MASF DATA 0 MASTER FILE NAME
- CFILE DATA 0 CURRENT FILE NUMBER
- TFILE DATA 0 TOTAL FILES
- *
- * PERMANENT FILE PARAMETERS
- *
- USERI EQU 377773B USER INDEX FOR FILES
- PACK DATA 0 PACK NAME FOR ATTACHES
- CPER DATA 6LCOMBUF PERMANENT FILE FOR COMBUF
- APER DATA 5LAUDIT PERMANENT FILE FOR AUDIT
- SPER DATA 7LS0BACKC PERMANENT FILE FOR PARAMETERS
- XPER DATA 6LAUDITX PERMANENT FILE FOR AUDITX
- * /--- BLOCK BACKONE 00 000 81/03/25 10.58
- TITLE MAIN PROGRAM.
- *** BACKONE
- BACKONE SB1 1 (B1) = 1
- RJ INIT INITIALIZE AND GET ARGS
- RJ RDPARAM READ PARAMS/SLOT/VSN TABLES
- RJ GETSL GET CURRENT SLOT NUMBER
- RJ CLRVSN CLEAR CURRENT VSN
- RJ GETAUT GET AUDIT TRAIL
- WRITEC OUT,CMSG BLANK LINE
- WRITEC OUT,NEWA WRITE TITLES FOR OUTPUT
- WRITEC OUT,LINE1
- WRITEC OUT,LINE2
- CNV1 RECALL I REWIND ALL FILES
- REWIND I,R
- RECALL O
- CNV2 READ I
- CNV3 READW I,BUFH,BLDH
- NZ X1,CNVX IF EOR, EOF, EOI
- SA1 BUFH+1 NUMBER OF FILES
- SX6 X1-1 SUBTRACT DIRECTORY FROM COUNT
- SA2 BUFH MASTERFILE
- SA6 NFILE
- BX7 X2
- SA7 MASF
- SA1 BUFH+4 VSN
- SA2 VSNL NUMBER OF VSN ENTRIES
- AX2 1 / 2
- SB7 X2
- SB6 B0
- SB4 B0
- MX7 42
- CNV3A SB6 B6+B1
- GT B6,B7,CNVW NO VSN MATCH
- SB5 B6+B6
- SA2 VSN-1+B5
- BX6 X7*X2 MASK VSN/PACKNAME
- ZR X6,CNVV IF OPEN ENTRY
- IX5 X6-X1
- NZ X5,CNV3A NO MATCH WITH THIS ENTRY
- CNV3B SA3 BUFH+5 DATE/TIME
- IX6 X6+X3
- SA6 A2 REWRITE VSN ENTRY
- SX6 B6
- SA6 VSV VSN VALUE
- MX7 0
- SA7 CFILE CURRENT FILE
- SA1 A2-B1 GET FIRST WORD
- MX7 1 SET BIT
- LX7 12 POSITION TO BIT 11 (NEW FORMAT)
- BX1 X1+X7 SET NEW FORMAT BIT
- MX7 -11
- BX6 -X7*X1 ISOLATE OLD SLOT
- SA2 SLV NEW SLOT VALUE
- BX7 X7*X1 REST OF WORD
- IX7 X7+X2 NEW VSN ENTRY
- SA7 A1
- ZR X6,CNV3C IF NO OLD SLOT
- IX7 X2-X6
- ZR X7,CNV3C IF OLD AND NEW SLOT AGREE
- BX1 X6 CONVERT OLD SLOT
- RJ CDD
- SA6 REUSEX
- SA1 BUFH+4 VSN
- RJ SFN
- SA6 REUSE
- MESSAGE REUSE OUTPUT ERROR MESSAGE
- CNV3C RJ BUILDA BUILD AUDIT TRAIL
- RJ BUILDO BUILD OUTPUT
- RJ CKREQ CHECK REQUIRED PACK TABLE
- * /--- BLOCK BACKONE 00 000 81/03/30 08.18
- CNV4 SA1 CFILE
- SA2 NFILE
- SX7 X1+B1 INCREMENT CURRENT FILE NUMBER
- SA7 A1
- IX7 X2-X7
- NG X7,CNVY IF NO MORE FILES
- READW I,BUFH,BLDI READ NEXT FILE DATA
- NZ X1,CNVZ IF EOR
- SA1 VSV
- BX6 X1
- SA6 BUFH+3
- SA1 A6-B1 SHIFT FIW INFO TO TOP 24 BITS
- MX7 12 AND REORDER
- LX1 24
- BX6 X7*X1 EXTRACT TYPE/PART
- LX1 36
- LX7 48
- BX1 X7*X1 EXTRACT RMTS/NDIR
- IX6 X6+X1
- SA6 A1
- SA1 BUFH MASK TOP CHARACTERS OF ACCOUNT
- MX7 42
- BX6 X7*X1
- SA6 A1
- WRITEW O,BUFH,BLDO WRITE SORT DATA
- EQ CNV4
- CNVV NZ B4,CNV3A IF WE ALLREADY HAVE NEW ENTRY
- SB4 B6+ SAVE ORDINAL FOR LATER USE
- EQ CNV3A
- CNVW ZR B4,CNVW1 IF NO OPEN ENTRY
- SB6 B4 ORDINAL OF OPEN ENTRY
- SB5 B6+B6 OFFSET IN TABLE
- SA2 VSN-1+B5
- BX6 X1 VSN
- EQ CNV3B CREATE NEW ENTRY
- CNVW1 MESSAGE NOVSM
- EQ ABORT
- CNVX BSS 0 FINISH OFF SORT FILE
- WRITER O,R
- WRITEF O
- WRITER X,R AUDIT TRAIL
- WRITER OUT
- RJ CKALL CK. IF ALL REQUIRED PACKS DONE
- SA1 TFILE OUTPUT TOTAL NUMBER OF FILES
- RJ CDD
- SA6 ALLDONE
- MESSAGE ALLDONE
- RJ WRPARAM WRITE PARAM/SLOT/VSN TABLE BACK
- RJ WRAUDIT REWRITE AUDIT TRAIL
- EQ END
- CNVY SA1 MASF END OF MASTER FILE
- RJ SFN
- SA6 MSG
- SA1 CFILE
- SX1 X1-1 REAL COUNT OF FILES
- SA2 TFILE
- IX6 X1+X2
- SA6 A2 TOTAL FILES
- RJ CDD
- SA6 MSG+1
- MESSAGE MSG
- CNVG READW I,BUFH,BLDI
- NZ X1,CNV2
- MESSAGE (=C* EXTRA WORDS IN COMM. BUFFER*)
- EQ ABORT
- CNVZ BSS 0
- SA1 MASF INSERT MASTER FILE NAME
- RJ SFN
- SA6 EOFM
- MESSAGE EOFM EARLY EOF MESSAGE
- EQ ABORT
- * /--- BLOCK BACKONE 00 000 80/10/27 09.38
- TITLE SUBROUTINES
- BUILDO SPACE 4
- ** BUILDO - BUILD OUTPUT LINE
- *
- * AUDIT INFO IN BUFA
- * BUILDS OUTPUT LINE FOR PRINTER IN BUILD
- BUILDO DATA 0 ENTRY/EXIT
- SA1 BUFA MASTER FILE NAME
- MX7 42
- BX1 X7*X1
- RJ SFN
- LX6 54
- SA6 BUILD
- SA1 BUFA+1 PACKNAME
- MX7 42
- BX1 X7*X1
- RJ SFN
- SA6 BUILD+1
- SA1 BUFA NUMBER OF FILES
- SX1 X1
- RJ CDD
- MX7 -24
- BX6 -X7*X6
- LX6 36
- SA6 BUILD+2
- SA1 BUFA+1 SLOT NUMBER
- MX7 -7
- BX1 -X7*X1
- RJ CDD
- SA1 BUILD+2
- LX6 6
- MX7 -36
- BX6 -X7*X6
- IX6 X6+X1
- SA6 A1
- SA1 BUFA+2 VSN/PACK
- MX7 6 IF TAPE, ADD *
- BX7 X7*X1
- NZ X7,BUI1
- SX7 1R*
- LX7 54
- BX1 X1+X7
- BUI1 MX7 42
- BX1 X7*X1
- RJ SFN
- SA6 BUILD+3
- SA1 BUFA+1 EST
- MX7 -6
- AX1 7
- BX1 -X7*X1
- RJ WOD
- MX6 -12
- SA1 BUILD+3
- BX7 -X6*X7
- BX1 X6*X1
- IX6 X7+X1
- SA6 A1
- SA1 BUFA+2 YEAR
- AX1 14
- MX7 -4
- BX1 -X7*X1
- SX1 X1+80
- RJ CDD
- MX7 -18
- BX6 -X7*X6
- LX6 42
- SA6 BUILD+4
- SA1 BUFA+2 MONTH
- AX1 10
- MX7 -4
- BX1 -X7*X1
- RJ CDD
- SA1 BUILD+4
- MX7 -18
- BX6 -X7*X6
- LX6 24
- IX6 X6+X1
- SA6 A1
- SA1 BUFA+2 DAY
- AX1 5
- MX7 -5
- BX1 -X7*X1
- RJ CDD
- SA1 BUILD+4
- LX6 6
- MX7 -24
- BX6 -X7*X6
- IX6 X6+X1
- SA6 A1
- SA1 BUFA+2 HOUR
- MX7 -5
- BX1 -X7*X1
- RJ CDD
- LX6 6
- MX7 -18
- BX6 -X7*X6
- LX6 42
- SA6 BUILD+5
- WRITEC OUT,BUILD
- EQ BUILDO
- * /--- BLOCK BACKONE 00 000 80/09/19 12.54
- BUILDA SPACE 4
- ** BUILDA - BUILT AUDIT ENTRY
- *
- * BUFH - CONTAINS INFO FROM COPYMF
- BUILDA DATA 0
- SA1 BUFH MASTER FILE NAME
- SA2 NFILE NUMBER OF FILES
- IX6 X1+X2
- SA6 BUFA
- SA1 BUFH+2 PACK NAME
- SA3 SLV SLOT VALUE
- SA2 A1+B1 EST
- LX2 7
- IX6 X2+X1
- IX6 X6+X3
- SA6 A6+B1
- SA1 A2+B1 VSN
- SA2 A1+B1 DATE
- IX6 X2+X1
- SA6 A6+B1
- WRITEW X,BUFA,BLDA WRITE TO NEW AUDIT FILE
- EQ BUILDA
- CKALL SPACE 4
- ** CKALL - CHECK TO SEE IF ALL REQUIRED PACKS DUMPED
- CKALL DATA 0 ENTRY/EXIT
- SB6 REQPK REQUIRED PACK OFFSET
- SB7 BLKSZE END OF REQUIRED PACKS
- MX7 42
- SB5 PARAM
- CKA1 SA1 B5+B6 GET RQUIRED PACK ENTRY
- ZR X1,CKA2 IF NULL ENTRY
- BX6 -X7*X1
- ZR X6,CKA3 IF DUMP FLAG NOT SET
- SX6 X6-1
- NZ X6,CKA4 IF DUMPED MORE THAN ONCE
- BX6 X7*X1 RESTORE ORIGINAL NAME
- SA6 A1
- CKA2 SB6 B6+1
- LT B6,B7,CKA1 IF MORE ENTRIES
- EQ CKALL ALL DONE
- CKA3 RJ SFN OUTPUT ERROR MESSAGE
- SA6 CKAM
- MESSAGE CKAM
- EQ ABORT
- CKA4 BX1 X7*X1 MASK NAME
- RJ SFN OUTPUT ERROR MESSAGE
- SA6 CKAM1
- MESSAGE CKAM1
- EQ ABORT
- CKAM DATA 0 MASTER FILE NAME
- DIS ,* - REQUIRED MF NOT DUMPED*
- CKAM1 DATA 0 MASTER FILE NAME
- DIS ,* - MF DUMPED MORE THAN ONCE*
- CKREQ SPACE 4
- ** CKREQ - CHECK REQUIRED PACK TABLE
- *
- * SET FLAG IF CURRENT MASTER FILE THERE
- CKREQ DATA 0 ENTRY/EXIT
- SB6 REQPK REQUIRE PACK OFFSET
- SB7 BLKSZE END OF TABLE
- SA2 MASF MASTER FILE NAME
- SX6 B1
- MX7 42
- CKR1 SA1 PARAM+B6 GET CURRENT ENTRY
- BX5 X7*X1
- IX5 X2-X5
- ZR X5,CKR2 IF MATCH
- SB6 B6+1
- LT B6,B7,CKR1 IF MORE ENTRIES
- EQ CKREQ ALL DONE
- CKR2 IX6 X6+X1 SET DUMPED FLAG
- SA6 A1
- EQ CKREQ ALL DONE
- * /--- BLOCK BACKONE 00 000 81/04/29 08.49
- CKSTATS SPACE 4
- ** CKSTATS - CHECK FILE STATUS FOR BUSY
- * ROLLOUT FOR 64 SECONDS IF BUSY
- * ABORT IF ERROR
- *
- * ENTRY X1-FET STATUS WORD
- *
- * EXIT X2=0, NOT BUSY
- CKSTATS DATA 0 ENTRY/EXIT
- AX1 10
- MX7 -8
- BX2 -X7*X1 ISOLATE STATUS
- ZR X2,CKSTATS IF NOT BUSY AND NO ERROR
- SX2 X2-1
- NZ X2,ABORT ATTACH ERROR
- ROLLOUT CKSW
- SX2 1 BUSY STATUS
- EQ CKSTATS
- CKSW DATA 7700000100B
- CLREPR SPACE 4
- ** CLREPR - CLEAR ERROR PROCESSING BIT IN THE FET
- *
- * ENTRY A1/X1=FET+1 AND CONTENTS
- CLREPR DATA 0 ENTRY/EXIT
- SX6 B1 MASK FOR EPR
- LX6 44
- BX6 -X6*X1
- SA6 A1
- EQ CLREPR
- INIT SPACE 4
- ** INIT - INITIALIZE
- INIT DATA 0 ENTRY/EXIT
- *
- * GET ARGUMENTS
- *
- * SA1 ACTR ARGUMENT COUNT
- * SB4 X1
- * SA4 ARGR FIRST ARGUMENT
- * SB5 ARGTBL ARGUMENT TABLE
- * RJ ARG
- * NZ X1,INITERR ERROR IN ARGUMENTS
- *
- * ATTACH PERMANENT FILES
- *
- SETUI USERI SET USER INDEX
- PACKNAM PACK SET PACK NAME
- INIT1 ATTACH I,CPER,,,W
- SA1 I
- RJ CKSTATS
- NZ X2,INIT1 IF FILE WAS BUSY
- INIT2 ATTACH A,APER,,,W
- SA1 A
- RJ CKSTATS
- NZ X2,INIT2 IF FILE WAS BUSY
- INIT3 ATTACH S,SPER,,,W
- SA1 S
- RJ CKSTATS
- NZ X2,INIT3 IF FILE WAS BUSY
- INIT4 ATTACH X,XPER,,,W
- SA1 X
- RJ CKSTATS
- NZ X2,INIT4 IF FILE WAS BUSY
- SA1 I+1
- RJ CLREPR CLEAR EPR
- SA1 A+1
- RJ CLREPR CLEAR EPR
- SA1 S+1
- RJ CLREPR CLEAR EPR
- SA1 X+1
- RJ CLREPR CLEAR EPR
- EQ INIT
- * INITERR MESSAGE INMSG
- * EQ ABORT
- * /--- BLOCK BACKONE 00 000 81/03/25 11.35
- CLRVSN SPACE 4
- ** CLRVSN - CLEAR VSN TABLE
- *
- * CLEARS (ZEROS) ANY ENTRIES IN THE VSN TABLE THAT
- * USE THE SAME SLOT NUMBER AS WE ARE USING
- CLRVSN DATA 0 ENTRY/EXIT
- SA1 VSNL VSN LENGTH
- SA3 SLV SLOT VALUE
- AX1 2 NUMBER OF SLOT ENTRIES
- SB7 X1
- SB6 B0 INITIAL VALUES
- MX7 -11
- MX6 0
- CLV1 SB6 B6+B1 VSN ORDINAL
- GT B6,B7,CLRVSN IF ALL DONE
- SB5 B6+B6 ADDRESS OFFSET IN SLOT TABLE
- SA1 VSN-2+B5 READ ENTRY
- BX2 -X7*X1 ISOLATE SLOT NUMBER
- IX2 X2-X3 SEE IF THE SAME
- NZ X2,CLV1 IF NOT THE SAME
- SA6 A1 CLEAR ENTRY
- SA6 A1+B1
- EQ CLV1 NEXT ENTRY
- GETAUT SPACE 4
- ** GETAUT - GET AUDIT TRAIL
- *
- * READS AUDIT TRAIL - PURGES ENTRIES FOR THE CURRENT
- * SLOT VALUE.
- GETAUT DATA 0 ENTRY/EXIT
- RECALL A
- REWIND A,R
- RECALL X
- REWIND X,R
- READ A,R
- WRITEC OUT,PAGEJ PAGE EJECT
- WRITEC OUT,OLDA WRITE HEADER INFO IN OUTPUT
- WRITEC OUT,LINE1
- WRITEC OUT,LINE2
- GETA1 READW A,BUFA,BLDA READ ONE ENTRY
- NZ X1,GETAUT IF EOR, EOF
- SA1 BUFA MASTER FILE NAME
- ZR X1,GETA1 IF EMPTY
- SA2 SLV GET CURRENT SLOT NUMBER
- MX7 -7
- SA1 A1+B1
- BX6 -X7*X1
- IX4 X6-X2
- NZ X4,GETA2 IF SLOTS DO NOT MATCH
- RJ BUILDO OUTPUT INFO
- EQ GETA1
- GETA2 WRITEW X,BUFA,BLDA WRITE OUT THIS ENTRY
- EQ GETA1
- GETSL SPACE 4
- ** GETSL - GET SLOT ENTRY
- GETSL DATA 0 ENTRY/EXIT
- SA1 SLOT GET SLOT POINTER
- SA1 SLOT+X1 GET SLOT NUMBER
- BX6 X1
- SA6 SLV
- ZR X6,SLERR
- NG X6,SLERR
- SX6 X6-31
- PL X6,SLERR
- RJ CDD
- SA6 SLMSG+1
- MESSAGE SLMSG OUTPUT SLOT MESSAGE
- EQ GETSL
- SLERR MESSAGE SMERR
- EQ ABORT
- SLMSG DATA 10H SLOT =
- DATA 0
- DATA 0
- RDPARAM SPACE 4
- ** RDSLOT - READ PARAMETER, SLOT AND VSN TABLES
- RDPARAM DATA 0 ENTRY/EXIT
- REWIND S,R
- READ S,R
- READW S,PARAM,MBALL*BLKSZE
- EQ RDPARAM
- * /--- BLOCK BACKONE 00 000 81/03/30 08.16
- WRAUDIT SPACE 4
- ** WRAUDIT - REWRITE AUDIT TRAIL
- WRAUDIT DATA 0 ENTRY/EXIT
- MESSAGE WRAM
- REWIND X,R REWIND BOTH FILES
- REWIND A,R
- READ X,R INITIAL READ
- WRA1 READW X,PARAM,MBALL*BLKSZE READ A CHUNK
- NG X1,WRA3 IF EOF,EOI
- NZ X1,WRA2 IF EOR
- WRITEW A,PARAM,MBALL*BLKSZE WRITE A CHUNK
- EQ WRA1 GET ANOUTHER CHUNK
- WRA2 SB7 B6-PARAM NUMBER OF WORDS TRANSFERED
- WRITEW A,PARAM,B7 WRITE CHUNK
- WRITER A,R WRITE EOR
- READ X,R READ NEXT RECORD
- EQ WRA1 GET NEXT CHUNK
- WRA3 SB7 B6-PARAM NUMBER OF WORDS TRANSFERED
- BX5 X1 SAVE EOF/EOI STATUS
- WRITEW A,PARAM,B7 WRITE CHUNK
- SX5 X5+1 TEST STATUS
- NZ X5,WRA4 IF EOI
- WRITEF A,R WRITE EOF
- READ X,R READ NEXT RECORD
- EQ WRA1 GET NEXT CHUNK
- WRA4 RECALL A WAIT FOR I/O TO COMPLETE
- SA1 A+2 TEST IN AND OUT
- SA2 A1+B1
- BX1 X1-X2
- ZR X1,WRAUDIT IF IN=OUT (EMPTY)
- WRITER A,R
- EQ WRAUDIT EXIT
- WRAM DIS ,* WRITE AUDIT TRAIL*
- WRPARAM SPACE 4
- ** WRPARAM - WRITE PARAMETER BLOCK AND REST OF S0BACKC
- WRPARAM DATA 0 ENTRY/EXIT
- MESSAGE WRPM
- REWIND S,R
- WRITEW S,PARAM,MBALL*BLKSZE
- WRITER S,R
- WRITEF S,R
- EQ WRPARAM EXIT
- WRPM DIS ,* WRITE S0BACKC*
- * /--- BLOCK BACKONE 00 000 81/04/29 08.50
- TITLE END PROGRAM
- END SPACE 4
- ** END - END PROGRAM.
- END BSS 0
- END1 ENDRUN
- ABORT MESSAGE (=C* RUN ABORTED.*)
- ABORT
- MSG DATA 0 MASTER FILE
- DATA 0 NUMBER OF FILES
- DIS ,* FILES FOUND.*
- EOFM DATA 0 MASTER FILE
- DIS ,* EARLY END OF FILE IN COM. BUFFER.*
- PAGEJ DIS ,*1* PAGE EJECT
- OLDA DIS ,* OLD AUDIT INFORMATION*
- NEWA DIS ,* NEW AUDIT ENTRY*
- LINE1 DIS ,= MASTER- PACKNAME FILE SLOT VSN(*) EST YY MM DD HH=
- LINE2 DIS ,= FILE PACK=
- BUILD DATA 0,0,0,0,0,0 OUTPUT LINE BUILD AREA
- NOVSM DIS ,* NO ROOM FOR NEW VSN IN VSN TABLE*
- SMERR DIS ,* SLOT NUMBER OUT OF RANGE*
- CMSG DATA 1L BLANK LINE
- ALLDONE DATA 0
- DIS ,* TOTAL FILES.*
- REUSE DATA 0
- DATA 10HREUSED OLD
- DATA 10H SLOT =
- REUSEX DATA 0
- DATA 0
- *
- * ARGUMENT TABLE
- *
- INMSG DIS ,* ERROR IN PARAMETERS.*
- ARGTBL BSS 0
- * VFD 12/1LC,18/I,30/I
- * VFD 12/2LSU,18/PACK,30/PACK
- * VFD 12/2LCP,18/CPER,30/CPER
- * VFD 12/2LAP,18/APER,30/APER
- * ARGTBLE DATA 0 END OF TABLE
- SPACE 4
- * COMMON DECKS.
- *CALL COMCCIO
- *CALL COMCRDS
- *CALL COMCRDW
- *CALL COMCSYS
- *CALL COMCWTS
- *CALL COMCWTW
- *CALL COMCCDD
- *CALL COMCSFN
- *CALL COMCWTC
- **CALL COMCARG
- *CALL COMCWOD
- *CALL COMCCPM
- *CALL COMCPFM
- SPACE 4
- ** BUFFERS.
- BUFFERS BSS 0
- BSS 1
- BUF BSS BUFL
- BUF1 BSS BUFL
- BUFH BSS BLDH
- BUFA BSS BLDA
- IBUF BSS IBUFL
- OBUF BSS OBUFL
- ABUF BSS ABUFL
- SBUF BSS SBUFL
- XBUF BSS XBUFL
- OUTBUF BSS OUTBUFL
- PARAM BSSZ MBPARM*BLKSZE PARAMETER TABLE
- SLOT BSSZ MBSLOT*BLKSZE SLOT TABLE
- LAB BSSZ MBLAB*BLKSZE LOOK ASIDE BUFFER
- VSN BSSZ MBVSN*BLKSZE VSN TABLE
- END BACKONE
plato/source/plaopl/backone.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator