cdc:nos2.source:opl871:catalog
Table of Contents
CATALOG
Table Of Contents
- [00008] CATALOG - CATALOG FILE.
- [00012] CATALOG FILES.
- [00134] READW - REDEFINE READ WORDS MACRO TO USE CONTROL WORDS.
- [00149] STORAGE ASSIGNMENT.
- [00224] MAIN PROGRAM.
- [00226] MAIN PROGRAM.
- [00340] EOF - PROCESS END OF FILE.
- [00405] LRS - LIST RECORD STATUS.
- [00695] ABS - PROCESS ABS ENTRY POINTS.
- [00766] CAP - PROCESS CAPSULE GROUP NAMES.
- [00797] OPL - PROCESS OPL LIST.
- [00881] RDA - READ DATA.
- [00947] RDR - READ RECORD.
- [01038] REL - PROCESS RELOCATABLE LIST.
- [01106] TXT - PROCESS TEXT LIST.
- [01206] ULB - PROCESS USER LIBRARY.
- [01218] SUBROUTINES.
- [01220] WOF - WRITE LINE TO OUTPUT.
- [01292] PRS - PRESET PROGRAM.
- [01403] CDT - CHECK DEVICE TYPE.
Source Code
- CATALOG.txt
- IDENT CATALOG,FETS
- ABS
- ENTRY CATALOG
- ENTRY RFL=
- ENTRY SSM=
- SST
- SYSCOM B1 DEFINE (B1) = 1
- TITLE CATALOG - CATALOG FILE.
- *COMMENT CATALOG - CATALOG FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4
- *** CATALOG - CATALOG FILES.
- * G. R. MANSFIELD. 70/12/20.
- SPACE 4
- *** CATALOG LISTS PERTINENT INFORMATION ABOUT EACH RECORD
- * OF A BINARY MEDIUM.
- *
- * THIS INFORMATION INCLUDES -
- *
- * 1) THE RECORD NUMBER COUNTING FROM THE BEGINNING OF THE FILE.
- * 2) THE NAME FROM THE FIRST WORD OF THE RECORD OR THE SECOND
- * WORD OF THE *77* TABLE IF IT IS PRESENT.
- * 3) THE RECORD TYPE.
- * 4) LENGTH OF THE PARTICULAR RECORD ( EXCLUDING THE *77*
- * TABLE ).
- * 5) CHECKSUM OF THE RECORD, EXCLUDING *77* TABLE, IF PRESENT.
- * 6) CONTENTS OF THE *77* TABLE, IF ANY.
- * 7) OTHER PERTINENT INFORMATION, ACCORDING TO RECORD TYPE.
- *
- *
- * THE FOLLOWING RECORD TYPES ARE RECOGNIZED.
- *
- * TYPE DESCRIPTION
- *
- * TEXT UNIDENTIFIED AS ANY OTHER TYPE.
- * PP 6000, CYBER 72/73/74, CYBER 170 PP PROGRAM.
- * REL RELOCATABLE CENTRAL PROGRAM.
- * OVL ABSOLUTE OVERLAY PROGRAM, NO ENTRY POINTS DEFINED.
- * ULIB USER LIBRARY TYPE RECORD.
- * OPL MODIFY PROGRAM LIBRARY DECK RECORD.
- * OPLC MODIFY PROGRAM LIBRARY COMMON DECK RECORD.
- * OPLD MODIFY PROGRAM LIBRARY DIRECTORY.
- * ABS ABSOULTE OVERLAY PROGRAM, WITH ENTRY POINTS DEFINED.
- * PPU 7600, CYBER 76 TYPE PPU PROGRAM.
- * CAP FAST DYNAMIC LOAD CAPSULE.
- * PROC PROCEDURE TYPE RECORD.
- * PPL 16-BIT PP PROGRAM.
- *
- *
- * A RECORD OF *REL* FORMAT WILL HAVE THE ENTRY POINTS LISTED.
- *
- * A RECORD OF *TEXT* FORMAT WILL BE LISTED IN ITS ENTIRETY IF
- * THE *T* OPTION IS ENABLED AND IT IS A DEADSTART RECORD
- * (APRDECK, CMRDECK, EQPDECK, IPRDECK, OR LIBDECK).
- *
- * A RECORD OF *TEXT* FORMAT WILL HAVE ITS FIRST LINE LISTED IF
- * ITS NAME IS *OVERLAY*, REGARDLESS OF THE *T* OPTION.
- *
- * A RECORD OF *OPL* OR *OPLC* FORMAT WILL HAVE THE MODIFIERS
- * AND THEIR *YANK* STATUS LISTED. IF SELECTED THE
- * CHARACTER SET OF THE INDIVIDUAL OPL/OPLC WILL BE
- * LISTED IMMEDIATELY FOLLOWING THE RECORD TYPE.
- *
- * A RECORD OF *ULIB* FORMAT WILL SUPPRESS LISTING OF FOLLOWING
- * RECORDS IN *REL* FORMAT UNLESS -U- OPTION IS USED.
- SPACE 4
- *** CONTROL CARD CALL.
- *
- *
- * CATALOG (FNAME,P1,P2,...,PN)
- *
- * FNAME NAME OF FILE TO BE CATALOGED.
- *
- * *PN* ONE OF THE FOLLOWING -
- *
- * N CATALOG TO EOI.
- * N=0 CATALOG TO EMPTY FILE.
- * N=X CATALOG *X* FILES.
- *
- * L=LFN LIST OUTPUT ON FILE *LFN*.
- *
- * T SELECT DETAILED *TEXT* RECORD LIST.
- *
- * U SELECT DETAILED USER LIBRARY LIST.
- *
- * D DESELECT DETAILED LIST. THE DETAILED LIST IS
- * AUTOMATICALLY DESELECTED IF THE OUTPUT FILE IS
- * ASSIGNED TO A TERMINAL.
- *
- * R REWIND *FNAME* FILE BEFORE AND AFTER CATALOG.
- *
- * CS DE-SELECT CHARACTER SET LIST FOR OPL/OPLC RECORDS.
- *
- *
- * ASSUMED OPTIONS -
- *
- * OPT VALUE
- *
- * FNAME FILE.
- * N 1.
- * L OUTPUT.
- * T *NOT SELECTED*.
- * U *NOT SELECTED*.
- * D *NOT SELECTED*.
- * R *NOT SELECTED*.
- * CS *SELECTED*.
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- *
- * * CATALOG ARGUMENT ERROR.* - THE CONTROL STATEMENT IS
- * SYNTACTICALLY INCORRECT.
- *
- * * CATALOG COMPLETE.* - INFORMATIVE MESSAGE INDICATING THAT
- * CATALOGING IS COMPLETE.
- *
- * * CATALOG FILE NAME CONFLICT.* - THE NAME OF THE FILE TO BE
- * CATALOGED AND THE NAME OF THE FILE TO RECEIVE OUTPUT ARE
- * THE SAME.
- SPACE 4
- **** ASSEMBLY CONSTANTS.
- FETODL EQU 16
- FBUFL EQU 30061B FILE BUFFER LENGTH
- OBUFL EQU 2001B OUTPUT BUFFER LENGTH
- ****
- SPACE 4,10
- ** SPECIAL ENTRY POINT.
- SSM= EQU 0 SUPPRESS DUMPS OF FIELD LENGTH
- READW SPACE 4
- ** READW - REDEFINE READ WORDS MACRO TO USE CONTROL WORDS.
- PURGMAC READW
- READW MACRO F,S,N
- R= B6,S
- R= B7,N
- R= X2,F
- RJ RDA
- ENDM
- SPACE 4
- *CALL COMCCMD
- *CALL COMCMAC
- *CALL COMSSRT
- TITLE STORAGE ASSIGNMENT.
- ** FETS.
- ORG 110B
- FETS BSS 0
- O BSS 0
- OUTPUT FILEC OBUF,OBUFL,FET=7,EPR
- CON 0 WORDS REMAINING IN BLOCK (F)
- CON 0 EOR FLAG
- F BSS 0
- FILE FILEB FBUF,FBUFL,(FET=10)
- FETOD BSSZ FETODL
- SPACE 4
- * COMMON DATA.
- RW CON 0 REWIND FLAG
- CW CON 0 CONTROL WORD FLAG (1 = CONTROL WORDS)
- FC CON 0L1 FILE COUNT
- EF CON 0 EMPTY FILE FLAG
- NSFF CON 0 NONSTANDARD FILE FLAG
- RN CON 0 RECORD NUMBER
- FN CON 1 FILE NUMBER
- CS CON 0 CHECKSUM
- RL CON 0 RECORD LENGTH
- CON 0 ZERO RECORD SUBTOTAL
- CON 0 FILE LENGTH
- NM CON 0 RECORD NAME
- TY CON 0 RECORD TYPE
- UL CON 0 USER LIBRARY LIST FLAG
- LN CON 1 LIBRARY NUMBER
- * LIST DATA.
- SL CON 0 SHORT LIST FLAG
- LC CON 99999,0 LINE COUNT
- LL EQU LC+1 LINE LIMIT
- PD CON 0 PRINT DENSITY FORMAT CONTROL
- PN CON 1 PAGE NUMBER
- CSM CON 1 OPL CHARACTER SET LIST FLAG
- TF CON 0 TERMINAL FLAG
- PGEJ DATA 1L1 PAGE EJECT
- TITL DATA 1H1
- DATA 10HCATALOG OF
- DATA 1H
- DATA 4AFILE
- DATA 6A1
- DATA 10H
- TITLA DATA 10H
- DATE DATA 1H
- TIME DATA 1H
- DATA 4APAGE
- PAGE DATA 8L
- TITLL EQU *-TITL
- SBTL DATA 6AREC
- DATA 4HNAME
- DATA 5HTYPE
- DATA 6ALENGTH
- DATA 7ACKSUM
- DATA 7ADATE
- SBTLA DATA 8ACOMMENTS
- DATA 0
- DATA 2L
- SBTLL EQU *-SBTL
- FLS CON 3 AUTO-FLUSH TABLE
- CON 0
- CON 0
- TITLE MAIN PROGRAM.
- CATALOG SPACE 4
- ** CATALOG - MAIN PROGRAM.
- CATALOG SB1 1 (B1) = 1
- RJ PRS PRESET PROGRAM
- WRITE O,* PRESET *CIO* FUNCTION
- SA3 TF
- WRITEW O,PD,X3 CONDITIONALLY WRITE FORMAT EFFECTOR
- SA1 RW
- ZR X1,CAT0.1 IF NO REWIND
- REWIND F
- CAT0.1 SA1 CW
- ZR X1,CAT1.1 IF NOT CONTROL WORDS
- MX6 1 SET FIRST READ FLAG
- SA6 F-2
- READCW F,17B
- JP CAT1.2
- CAT1 SA1 CW
- NZ X1,CAT1.2 IF CONTROL WORDS
- CAT1.1 READ F
- CAT1.2 BSS 0
- SA1 RN ADVANCE RECORD NUMBER
- SX6 X1+B1
- MX7 0 CLEAR LENGTH
- SA6 A1
- SA7 RL
- SA7 CS CLEAR CHECKSUM
- RJ RDR READ RECORD
- SA4 RL ADVANCE SUBTOTAL
- NZ X4,CAT1.3 IF NONZERO RECORD
- NG X1,CAT3 IF EOF
- CAT1.3 SA2 A4+B1
- SA3 A2+B1 ADVANCE FILE TOTAL
- IX6 X2+X4
- SA6 A2
- IX7 X3+X4
- SA7 A3+
- BX6 X6-X6
- SA2 TY CHECK TYPE
- SB2 X2-ODRT
- SA1 ULBA
- NZ B2,CAT1.4 IF NOT *OPLD*
- SA6 ULBB CLEAR *SEARCHING FOR OPLD* FLAG
- ZR X1,CAT2 IF LISTING USER LIBRARY
- SA6 A1+ CLEAR USER LIBRARY FLAG
- EQ CAT1 READ NEXT RECORD
- CAT1.4 NZ X1,CAT1 IF NO LIST OF USER LIBRARY SET
- CAT2 RJ LRS LIST RECORD STATUS
- SA1 TY PROCESS OTHER LIST
- MX7 0 CLEAR EOF FLAG
- SB7 X1
- SA7 EF
- JP CATB+B7
- CAT3 SX1 X1+B1
- BX5 -X1 PROCESS END OF FILE
- RJ EOF
- NZ X5,CAT5 IF EOI
- SA1 FC CHECK FILE COUNT
- NZ X1,CAT4 IF NOT EMPTY FILE REQUEST
- SA2 EF CHECK EOF
- NZ X2,CAT5 IF EMPTY FILE
- SX6 X2+B1 SET EOF FLAG
- SA6 A2
- JP CAT0.1
- CAT4 SX2 1 DECREMENT FILE COUNT
- IX6 X1-X2
- SA6 A1
- NZ X6,CAT0.1 IF MORE FILES REQUESTED
- CAT5 SA1 PN CHECK PAGE NUMBER
- LX1 59
- NG X1,CAT6 IF PAGE NUMBER EVEN
- WRITEC O,PGEJ PAGE EJECT
- CAT6 WRITER O
- SA1 RW
- ZR X1,CAT7 IF NO REWIND
- REWIND F
- CAT7 MESSAGE (=C* CATALOG COMPLETE.*)
- ENDRUN
- CATA DATA 10HCATALOGING
- DATA 0
- CATB BSS 0
- LOC 0
- EQ TXT TEXT
- EQ CAT1 PP
- EQ TXT UNDEFINED RECORD TYPE
- EQ REL REL
- EQ CAT1 OVL
- EQ ULB ULIB
- EQ OPL OPL
- EQ OPL OPLC
- EQ CAT1 OPLD
- EQ ABS ABS
- EQ CAT1 PPU
- EQ TXT UNDEFINED RECORD TYPE
- EQ TXT UNDEFINED RECORD TYPE
- EQ TXT UNDEFINED RECORD TYPE
- EQ CAP CAP
- EQ TXT UNDEFINED RECORD TYPE
- EQ TXT PROC
- EQ TXT UNDEFINED RECORD TYPE
- EQ TXT UNDEFINED RECORD TYPE
- EQ TXT UNDEFINED RECORD TYPE
- EQ CAT1 PPL
- LOC *O
- EOF SPACE 4
- ** EOF - PROCESS END OF FILE.
- EOF PS ENTRY/EXIT
- SA2 ULBB
- ZR X2,EOF0 IF *OPLD* FOUND
- BX6 X6-X6
- SA6 A2 CLEAR *SEARCHING FOR OPLD* FLAG
- SX1 EOFC LIST *OPLD MISSING* MESSAGE
- SA6 ULBA CLEAR USER LIBRARY FLAG
- RJ WOF
- EOF0 SA2 NSFF CHECK FOR NONSTANDARD FILE
- ZR X2,EOF0.1 IF NOT NONSTANDARD FILE
- BX6 X6-X6
- SX1 EOFB LIST *EOR MISSING* MESSAGE
- SA6 A2
- RJ WOF
- EOF0.1 SX1 =C* * LIST BLANK LINE
- RJ WOF
- ZR X5,EOF1 IF EOF
- SA1 =10H
- BX6 X1
- EQ EOF2
- EOF1 SA1 RN CONVERT RECORD NUMBER
- RJ CDD
- EOF2 LX6 18
- SA6 SBUF
- SA1 X5+EOFA
- SA2 =6ASUM =
- BX6 X1
- LX7 X2
- SA6 A6+B1
- SA7 A6+B1
- SA1 RL+2 CONVERT TOTAL LENGTH
- RJ COD
- MX7 0
- SA6 A7+B1
- SA7 A6+B1
- SX1 SBUF
- RJ WOF
- SA1 FN ADVANCE FILE NUMBER
- SX6 99999 FORCE PAGE EJECT
- SX7 X1+B1
- SA6 LC
- SA7 A1
- SX1 X1+B1 CONVERT NUMBER
- RJ CDD
- LX6 5*6
- SX7 B0 CLEAR LENGTHS
- SA6 TITL+4
- SA7 RL+1
- SA7 A7+B1
- SX6 B1 RESET LIBRARY NUMBER
- SA7 RN CLEAR RECORD NUMBER
- SA6 LN
- EQ EOF RETURN
- EOFA DATA 10H* EOF *
- DATA 10H* EOI *
- EOFB DATA C+ *EOR MISSING*+
- EOFC DATA C+ *OPLD MISSING*+
- LRS SPACE 4,20
- ** LRS - LIST RECORD STATUS.
- *
- * ENTRY (BUF) = FIRST BLOCK OF RECORD.
- * (NM) = RECORD NAME.
- * (TY) = RECORD TYPE.
- * (RN) = RECORD NUMBER.
- * (RL) = RECORD LENGTH.
- * (CS) = CHECK SUM.
- * (LN) = LIBRARY NUMBER.
- *
- * EXIT (LN) = (LN)+1 IF ZERO LENGTH RECORD ENCOUNTERED.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 3, 6, 7.
- *
- * CALLS CDD, COD, CPT, WOF, ZTB.
- LRS PS ENTRY/EXIT
- SA1 RN CONVERT RECORD NUMBER
- RJ CDD
- LX6 18
- SA6 SBUF
- SA1 RL CHECK RECORD LENGTH
- NZ X1,LRS1 IF NOT ZERO RECORD
- * PROCESS ZERO LENGTH RECORD.
- SA1 =4H(00) ENTER ZERO RECORD
- SA2 =6ASUM =
- BX6 X1
- LX7 X2
- SA6 A6+B1
- SA7 A6+B1
- SA1 RL+1 ENTER SUBTOTAL
- RJ COD
- SA6 A7+B1
- MX7 0 CLEAR SUBTOTAL
- SA7 A1
- SA2 =9ALIBRARY =
- SA1 LN INCREMENT LIBRARY NUMBER
- BX6 X2
- SX7 X1+B1
- SA6 A6+B1
- SA7 A1
- RJ CDD DISPLAY LIBRARY NUMBER
- LX6 6
- SA6 A6+B1
- BX7 X7-X7 TERMINATE LINE
- SA7 A6+B1
- SX1 SBUF
- RJ WOF
- SX1 =C* *
- RJ WOF
- EQ LRS RETURN
- LRS1 SA1 NM SPACE FILL NAME
- RJ ZTB
- SA6 A6+B1
- SA1 TY SET TYPE
- SB7 X1
- SA2 LRSA+X1
- BX6 X2
- SA6 A6+B1
- SA1 RL CONVERT LENGTH
- RJ COD
- SA6 A6+B1
- * PROCESS CHECKSUM.
- SA2 CS FOLD CHECKSUM
- MX3 -12
- BX1 -X3*X2
- AX2 12
- BX6 -X3*X2
- IX1 X1+X6
- AX2 12
- BX6 -X3*X2
- IX1 X1+X6
- AX2 12
- BX6 -X3*X2
- IX1 X1+X6
- AX2 12
- BX6 -X3*X2
- IX1 X1+X6
- IX7 X1+X3
- BX4 -X3*X7
- SX1 X4+10000B
- RJ COD
- SX2 1R -1R1
- LX2 24
- IX6 X6+X2
- LX6 12
- SA6 A6+B1
- * COPY 7700 TABLE.
- SA1 BUF
- RJ CPT
- JP B7+LRSB PROCESS TYPE
- LRS4 SA1 SL CHECK SHORT LIST FLAG
- ZR X1,LRS5 IF NOT SET
- SX6 B0+ TERMINATE LIST
- SA6 SBUF+6
- EQ LRS5.1 WRITE OUTPUT LINE
- LRS5 SA2 SBUF+13 INSURE END OF LINE
- MX0 2*6
- BX6 X0*X2
- SA6 A2+
- LRS5.1 SX1 SBUF
- RJ WOF
- EQ LRS RETURN
- * PROCESS *OPL* AND *OPLC* RECORDS.
- LRS5.2 SA1 CSM CHARACTER SET LIST MODE FLAG
- SA2 B7+LRSA SET RECORD TYPE
- SA4 =5R PRESET LIST
- ZR X1,LRS5.4 IF NO CHARACTER SET LIST SET
- SA3 BUF+16B CHECK OPL/OPLC CHARACTER SET
- MX7 -6
- BX4 -X7*X3 LOWER 6 BITS OF HEADER+16B
- SB3 X4-63B CHECK PL CHARACTER SET
- EQ B3,B1,LRS5.3 IF 64 CHARACTER SET
- SB3 0 SET 63 CHARACTER SET ORDINAL
- LRS5.3 AX3 5 EXTRACT ASCII FLAG * 2
- MX4 -6
- LX4 1
- BX3 -X4*X3
- SX3 X3+B3
- SA4 X3+LRSCS LIST RECORD STATUS (CHARACTER SET)
- LRS5.4 BX6 X2+X4
- SA6 SBUF+2 SET IN OUTPUT LINE
- * EQ LRS6
- LRS6 SA1 LC CHECK LINE COUNT
- SX1 X1+2
- SA2 A1+B1 GET LINE LIMIT
- IX7 X1-X2
- NG X7,LRS4 IF ROOM FOR TWO LINES
- SX6 99999 FORCE EJECT
- SA6 A1
- EQ LRS4
- * PROCESS PP LOAD ADDRESS.
- LRS7 SA2 BUF+B3 FIRST WORD OF PROGRAM
- SX3 10000B
- AX2 24 SET LOAD ADDRESS
- SX4 X2
- SA5 LRSA+B7
- ZR X4,LRS8 IF LOCATION FREE
- SX4 X4+5
- LRS8 IX1 X4+X3 CONVERT LOAD ADDRESS
- MX0 -24
- RJ COD
- BX3 -X0*X6 MERGE WITH TYPE
- LX3 12
- BX6 X5+X3
- SA6 SBUF+2
- EQ LRS4 LIST LINE
- * PROCESS OVERLAY LEVEL NUMBERS.
- LRS9 SA2 BUF+B3 EXTRACT LEVEL NUMBERS FROM 5000 TABLE
- LX2 24
- MX0 -12
- SX1 X2+10000B CONVERT LEVEL NUMBERS
- RJ COD
- SA1 LRSA+B7 MERGE LEVEL AND TYPE
- BX2 -X0*X6
- LX2 6
- IX1 X1+X2
- AX6 12
- BX2 -X0*X6
- LX2 24
- IX6 X1+X2
- SA6 SBUF+2
- EQ LRS4 LIST LINE
- * PROCESS PPU NUMBER.
- LRS11 SA2 BUF+B3 FIRST WORD OF PROGRAM
- LX2 24
- SB6 X2-100B
- SA5 LRSA+B7
- NG B6,LRS12 IF PPU @ 77
- SA5 LRSC
- LRS12 SX1 X2+10000B CONVERT PPU NUMBER
- RJ COD
- LX6 6
- PL B6,LRS13 IF PPU > 77
- LX6 12
- LRS13 IX6 X6+X5
- SA6 SBUF+2
- EQ LRS4 LIST LINE
- * PROCESS USER LIBRARY.
- LRS14 SA1 UL
- ZR X1,LRS4 IF NO USER LIBRARY LIST
- SX6 99999 FORCE PAGE EJECT
- SA6 LC
- EQ LRS4 LIST LINE
- * PROCESS PPL LOAD ADDRESS.
- LRS15 SA2 BUF+B3 FIRST WORD OF PROGRAM
- SX3 B1+
- LX3 3*5
- MX4 -16
- AX2 16 SET LOAD ADDRESS
- BX4 -X4*X2
- SA5 LRSA+B7
- IX1 X4+X3 CONVERT LOAD ADDRESS
- MX0 -6*5
- RJ COD
- SA1 SBUF+3 GET LENGTH
- BX3 -X0*X6 MERGE WITH TYPE
- BX6 X5+X3
- SX3 1R)&1R INSERT RIGHT PAREN
- SA6 A1-B1
- LX3 -6
- BX6 X1-X3
- SA6 A1
- EQ LRS4 LIST LINE
- LRSA BSS 0
- LOC 0
- CON 10HTEXT
- VFD 24/4LPP (,24/0,12/2L)
- CON 10H
- CON 10HREL
- VFD 24/4LOVL ,12/0,6/1L,,12/0,6/1L
- CON 10HULIB
- CON 5LOPL
- CON 5LOPLC
- CON 10HOPLD
- CON 10HABS
- CON 8HPPU ( )-8A100
- CON 10H
- CON 10H
- CON 10H
- CON 10HCAP
- CON 10H
- CON 10HPROC
- CON 10H
- CON 10H
- CON 10H
- CON 5LPPL (
- LOC *O
- LRSB BSS 0
- LOC 0
- EQ LRS4 TEXT
- EQ LRS7 PP
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS6 REL
- EQ LRS9 OVL
- EQ LRS14 ULIB
- EQ LRS5.2 OPL
- EQ LRS5.2 OPLC
- EQ LRS4 OPLD
- EQ LRS6 ABS
- EQ LRS11 PPU
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS6 CAP
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS4 PROC
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS4 UNDEFINED RECORD TYPE
- EQ LRS15 PPL
- LOC *O
- LRSC CON 10HPPU ( )-6A1
- LRSCS CON 5R(63) DISPLAY CODE 63 CHARACTER SET
- CON 5R(64) DISPLAY CODE 64 CHARACTER SET
- CON 5R(A63) 6/12 ASCII CODE 63 CHARACTER SET
- CON 5R(A64) 6/12 ASCII CODE 64 CHARACTER SET
- LRSD CON 0
- DATA C* MORE ENTRY POINTS NOT LISTED*
- ABS SPACE 4,10
- ** ABS - PROCESS ABS ENTRY POINTS.
- *
- * ENTRY (BUF) = FIRST BLOCK OF RECORD.
- *
- * USES X - 0, 1, 2, 3, 5, 6, 7.
- * A - 1, 2, 5, 6, 7.
- * B - 2, 7.
- *
- * CALLS CDD, COD, WOF, ZTB.
- ABS SA1 BUF CHECK FIRST WORD
- LX1 18
- MX2 -12
- SX6 X1-770000B
- NZ X6,CAT1 RETURN IF NO 7700 TABLE
- LX1 6 SKIP 7700 TABLE
- SB2 X1+B1
- SA1 A1+B2
- LX1 12
- BX3 -X2*X1
- SX6 X3-5100B
- LX1 -12
- SB7 B1+ SET INDEX TO ENTRY POINTS
- ZR X6,ABS1 IF 5100 TABLE
- SX6 X3-5300B
- BX1 -X1
- ZR X6,ABS1 IF 5300 TABLE
- BX1 -X1
- SX6 X3-5400B
- SB7 8
- NZ X6,CAT1 IF NOT 5400 TABLE
- ABS1 SX0 X1 SET ENTRY COUNT
- ZR X0,CAT1 IF NO ENTRIES
- SA5 A1+B7 FIRST ENTRY POINT NAME
- SA2 =1H CLEAR SCRATCH BUFFER
- BX6 X2
- MX7 0
- SA6 SBUF
- SA7 SBUF+3
- SX2 BUF+BUFL CALCULATE MAXIMUM ENTRY POINT COUNT
- SX3 A5
- IX3 X2-X3
- IX2 X0-X3
- NG X2,ABS2 IF NO EXCESS ENTRY POINTS
- BX0 X3 SET MAXIMUM ENTRY POINT COUNT
- BX1 X2 ADD UNLISTED ENTRY POINT COUNT TO MESSAGE
- RJ CDD
- SA6 LRSD
- ABS2 MX2 42 SPACE FILL NAME
- BX1 X2*X5
- RJ ZTB
- LX6 -6
- BX1 -X2*X5
- SA6 SBUF+1
- RJ COD CONVERT ENTRY POINT ADDRESS
- LX6 18
- SA6 SBUF+2
- SX1 SBUF LIST ENTRY
- RJ WOF
- SA5 A5+B1 NEXT ENTRY
- SX0 X0-1
- NZ X0,ABS2 IF NOT END OF ENTRIES
- SA1 LRSD
- ZR X1,CAT1 IF NO EXCESS ENTRY POINTS
- SX1 LRSD ISSUE EXCESS ENTRY POINT MESSAGE
- RJ WOF
- SX6 B0+
- SA6 LRSD
- EQ CAT1 RETURN
- CAP SPACE 4,10
- ** CAP - PROCESS CAPSULE GROUP NAMES.
- *
- * ENTRY (BUF) = FIRST BLOCK OF RECORD.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 6.
- * B - 2.
- *
- * CALLS WOF, ZTB.
- CAP SA1 BUF CHECK FIRST WORD
- LX1 18
- MX2 -12
- SX6 X1-770000B
- NZ X6,CAT1 IF NO 7700 TABLE
- LX1 6 SKIP 7700 TABLE
- SB2 X1+2
- MX0 42
- SA1 A1+B2
- BX1 X0*X1
- RJ ZTB SPACE FILL NAME
- LX6 -6
- SA6 CAPA+1
- SX1 CAPA LIST GROUP NAME
- RJ WOF
- EQ CAT1 RETURN
- CAPA DIS 2,
- DATA C* (GROUP NAME)*
- OPL SPACE 4,10
- ** OPL - PROCESS OPL LIST.
- *
- * ENTRY (BUF) = FIRST BLOCK OF RECORD.
- * (TF) = TERMINAL FLAG.
- *
- * USES X - ALL.
- * A - 0, 1, 2, 3, 4, 6.
- * B - 2, 6, 7.
- *
- * CALLS WOF, ZTB.
- OPL SA1 BUF CHECK FIRST WORD
- LX1 18
- SB7 B0
- SB2 X1-770000B
- NZ B2,CAT1 RETURN IF NO 7700 TABLE
- LX1 6 SKIP 7700 TABLE
- SB2 X1+B1
- SA1 A1+B2
- SX5 X1
- ZR X5,CAT1 RETURN IF NO MODIFIERS
- SB6 BUFL
- SB5 X5+20B
- LE B5,B6,OPL1 IF BUFFER NOT FULL
- SX5 BUFL-20B SET NUMBER OF MODIFIERS TO MAXIMUM
- SX7 B1+ SET BUFFER FULL FLAG
- SA7 OPLB
- OPL1 SA3 TF CHECK FOR TERMINAL
- NZ X3,OPL2 IF NOT TERMINAL FILE
- SB7 -6 CHANGE LINE LENGTH FOR TERMINAL FILE
- OPL2 SA2 =1H CLEAR SCRATCH BUFFER
- SA0 A1+B1 FIRST MODIFIER
- BX6 X2
- SA6 SBUF
- MX0 42
- OPL3 SB6 -12
- ZR X5,OPL7 IF END OF MODIFIERS
- OPL4 ZR X5,OPL6 IF END OF TABLE
- SA4 A0 SPACE FILL NAME
- BX1 X0*X4
- RJ ZTB
- LX4 59-16 CHECK YANK BIT
- SA0 A0+B1
- PL X4,OPL5 IF NOT SET
- SA1 OPLA ADD ()
- IX6 X6+X1
- OPL5 LX6 -6 STORE NAME
- SA6 SBUF+13+B6
- SB6 B6+B1
- SX5 X5-1 ADVANCE TABLE
- NE B6,B7,OPL4 IF NOT END OF LINE
- MX6 0 LIST LINE
- SA6 A6+B1
- SX1 SBUF
- RJ WOF
- EQ OPL3 LOOP
- OPL6 MX6 0 LIST PARTIAL LINE
- SA6 A6+B1
- SX1 SBUF
- RJ WOF
- OPL7 SA3 OPLB
- ZR X3,OPL8 IF BUFFER NOT FULL
- SX1 =C* *
- RJ WOF
- SX1 OPLC * ADDITIONAL MODIFIERS NOT LISTED *
- RJ WOF
- SX7 B0+ CLEAR BUFFER FULL FLAG
- SA7 OPLB
- OPL8 SA1 LC CHECK LINE COUNT
- SA3 A1+B1
- IX7 X1-X3
- PL X7,CAT1 IF BOTTOM OF PAGE REACHED
- SX1 =2L
- RJ WOF
- EQ CAT1 RETURN
- OPLA VFD 60/3A) (-1H
- OPLB CON 0 FULL BUFFER FLAG
- OPLC DATA 5H
- DATA C$*** ADDITIONAL MODIFIERS NOT LISTED ***$
- RDA SPACE 4
- ** RDA - READ DATA.
- * PROCESSES CALLS TO READ WORDS (RDW=).
- * DEBLOCKS DATA IF CONTROL WORD READS.
- * ENTRY/EXIT CONDITIONS ARE IDENTICAL WITH THOSE FOR COMCRDW.
- RDA5 SX6 B5-B7 UPDATE WORDS REMAINING
- SA6 A1
- RDA6 RJ RDW= READ WORDS
- RDA PS ENTRY/EXIT
- SA1 CW CHECK IF CONTROL WORDS LEGAL
- ZR X1,RDA6 IF CONTROL WORD READS NOT LEGAL
- SA0 B6
- RDA1 SA1 X2-2 GET NUMBER OF WORDS BEFORE CONTROL WORD
- SB5 X1+
- PL X1,RDA2 IF NOT FIRST READ
- SX7 B7+ SET WORDS NEEDED
- SA7 RDAA
- JP RDA4
- RDA2 GE B5,B7,RDA5 IF ENOUGH DATA TO FILL BUFFER
- SA3 X2-1 CHECK EOR FLAG
- PL X3,RDA3 IF NOT EOR ON FILE
- MX6 1 SET NEW READ FLAG
- SB7 B5+B1 SET WORDS TO READ
- SA6 A3
- SA6 A1
- RJ RDW= READ WORDS
- SA1 B6-B1 CHECK CONTROL WORD
- AX1 48
- SX6 X1-17B
- MX1 -1
- SB6 B6-B1 BACK UP LAST WORD ADDRESS
- ZR X6,RDA IF *EOF* CONTROL WORD
- SX1 B6 SET *EOR* INDICATION
- JP RDA RETURN
- RDA3 SX6 B7-B5 SAVE ADDITIONAL WORDS NEEDED
- SA6 RDAA
- SB7 B5+B1 SET WORDS TO TRANSFER
- RJ RDW= READ WORDS
- SB7 A0-B6
- ZR B7,RDA IF EOR, RETURN
- SB6 B6-1 BACK UP OVER LAST CONTROL WORD
- RDA4 SB7 B1 READ CONTROL WORD
- RJ RDW=
- NG X1,RDA IF EOF/EOI
- SB6 B6-B1 BACK UP WORKING BUFFER
- SA1 B6 CONTROL WORD
- SX7 5
- SX4 X1+4 ROUND UP
- AX1 36 EXTRACT BLOCK SIZE
- SX3 X1
- IX7 X4/X7 WORDS IN BLOCK
- IX6 X7-X3 SAVE EOR FLAG
- SA7 X2-2 STORE WORD COUNT
- SA6 X2-1 EOR FLAG
- SA1 RDAA RESET WORDS NEEDED
- SB7 X1
- JP RDA1 LOOP
- RDAA CON 0
- RDR SPACE 4
- ** RDR - READ RECORD.
- *
- * EXIT (X1) = -1 IF EOF.
- * (RL) = RECORD LENGTH.
- * (CS) = CHECK SUM.
- * (TY) = RECORD TYPE.
- * (NM) = RECORD NAME.
- * (NSFF) .NE. 0, IF NONSTANDARD RECORD ENCOUNTERED
- * (DATA WITH NO EOR).
- *
- * USES A - 1, 2, 3, 4, 6, 7.
- * B - 2, 3, 4.
- * X - 1, 2, 3, 4, 6, 7.
- *
- * CALLS SRT.
- *
- * MACROS MESSAGE, READW.
- RDR PS ENTRY/EXIT
- READW F,BUF,BUFL
- BX6 X1 SAVE STATUS
- SA6 RDRA
- SB2 B6-BUF
- SX1 B6 LWA+1 OF DATA FOR SRT CALL
- NZ B2,RDR0 IF DATA TRANSFERRED
- PL X6,RDR0 IF NOT EOF/EOI
- SX1 BUF
- RDR0 SX2 BUF
- RJ SRT
- SA6 TY SET TYPE
- SA7 NM SET NAME
- LX7 -6 ENTER NAME N MESSAGE
- SX3 1R ENTER NAME IN MESSAGE
- LX3 59-5
- BX7 X3+X7
- SA7 RDRB+1
- MESSAGE A7-B1,1 ISSUE CONSOLE MESSAGE
- SA1 RDRA
- SB2 BUFL
- SB3 BUF
- ZR X1,RDR1 IF NOT EOR/EOF
- SB2 B6-BUF
- ZR B2,RDR RETURN IF ZERO LENGTH RECORD
- PL X1,RDR1 IF NOT NONSTANDARD RECORD
- SX6 B1+ SET NONSTANDARD FILE FLAG
- SA6 NSFF
- RDR1 SA2 TY EXCLUDE RECORD TYPES WITHOUT 7700 TABLE
- SX2 X2
- ERRNZ TXRT CODE ASSUMES VALUE
- ZR X2,RDR2 IF RECORD TYPE *TEXT*
- SA2 B3 CHECK FIRST WORD
- LX2 18
- SX6 X2-770000B
- NZ X6,RDR2 IF NO 7700 TABLE
- LX2 6 SKIP 7700 TABLE
- SB4 X2+B1
- SB3 B3+B4
- SB2 B2-B4
- LE B2,RDR IF 77 TABLE ONLY OR ERROR IN LENGTH
- RDR2 SA2 RL ADVANCE RECORD LENGTH
- SA3 CS ADVANCE CHECKSUM
- SX7 B2
- SA4 B3
- BX6 X3
- IX7 X2+X7
- RDR3 BX6 X6-X4
- SB2 B2-B1
- SA4 A4+B1
- LX6 1
- NZ B2,RDR3
- SA6 A3
- SA7 A2
- NZ X1,RDR RETURN IF EOR/EOF
- READW F,SBUF,SBUFL
- SB2 SBUFL
- SB3 SBUF
- ZR X1,RDR2 IF NOT EOR/EOF
- SB2 B6-SBUF
- PL X1,RDR4 IF NOT NONSTANDARD RECORD
- SX6 B1+ SET NONSTANDARD FILE FLAG
- SA6 NSFF
- RDR4 NZ B2,RDR2 IF NOT EMPTY BUFFER
- EQ RDR RETURN
- RDRA DATA 0
- RDRB DATA 10HCATALOGING
- DATA 0
- REL SPACE 4,10
- ** REL - PROCESS RELOCATABLE LIST.
- *
- * ENTRY (BUF) = FIRST BLOCK OF RECORD.
- *
- * USES X - 0, 1, 2, 5, 6, 7.
- * A - 1, 2, 5, 6, 7.
- * B - 2.
- *
- * CALLS CDD, WOF, ZTB.
- REL SA1 BUF CHECK FIRST WORD
- LX1 18
- SB2 X1-770000B
- NZ B2,CAT1 RETURN IF NO 7700 TABLE
- LX1 6 SKIP 7700 TABLE
- SB2 X1+B1
- SA1 A1+B2
- LX1 12
- SB2 X1-7000B
- NZ B2,REL1 IF NOT 7000 TABLE
- LX1 12 SKIP 7000 TABLE
- SB2 X1+B1
- SA1 A1+B2
- LX1 12
- REL1 SB2 X1-3400B
- NZ B2,CAT1 RETURN IF NO 3400 TABLE
- LX1 12 SKIP 3400 TABLE
- SB2 X1+B1
- SA1 A1+B2
- LX1 12
- SB2 X1-3600B
- NZ B2,CAT1 RETURN IF NO 3600 TABLE
- LX1 12
- SX0 X1-1
- SA5 A1+B1 FIRST ENTRY POINT
- SA2 =1H CLEAR SCRATCH BUFFER
- BX6 X2
- MX7 0
- SA6 SBUF
- SA7 SBUF+2
- SX2 BUF+BUFL CALCULATE MAXIMUM ENTRY POINT COUNT
- SX7 A5
- IX7 X2-X7
- IX2 X0-X7
- NG X2,REL2 IF NO EXCESS ENTRY POINTS
- SX0 X7-1 SET MAXIMUM ENTRY POINT COUNT
- SX1 X2+1 ADD UNLISTED ENTRY POINT COUNT TO MESSAGE
- LX1 -1
- RJ CDD
- SA6 LRSD
- REL2 BX1 X5 SPACE FILL NAME
- RJ ZTB
- LX6 -6
- SA6 SBUF+1
- SX1 SBUF LIST ENTRY POINT
- RJ WOF
- SA5 A5+2 NEXT ENTRY POINT
- SX0 X0-2
- PL X0,REL2 LOOP FOR ALL ENTRY POINTS
- SA1 LRSD
- ZR X1,CAT1 IF NO EXCESS ENTRY POINTS
- SX1 LRSD ISSUE EXCESS ENTRY POINT MESSAGE
- RJ WOF
- SX6 B0+
- SA6 LRSD
- EQ CAT1 RETURN
- TXT SPACE 4
- ** TXT - PROCESS TEXT LIST.
- TXT SA1 NM READ NAME
- SA2 TXTB SET TABLE ADDRESS FOR *OVERLAY* ONLY
- SA3 TXTD
- ZR X3,TXT0 IF NOT LISTING *TEXT* RECORDS
- SA2 TXTA SET TABLE ADDRESS FOR ALL TEXT RECORDS
- TXT0 MX4 1
- SB2 X2
- MX0 42
- BX6 X0*X2
- TXT1 AX3 X4,B2 SET MASK
- BX7 X1-X6
- BX6 X3*X7
- SA2 A2+B1
- ZR X6,TXT2 IF MATCH ON NAME
- ZR X2,CAT1 IF END OF TABLE
- SB2 X2
- BX6 X0*X2
- EQ TXT1 LOOP
- TXT2 SA0 BUF
- SX6 A2-TXTB-1 SET *OVERLAY* FLAG
- SA6 TXTC
- SA1 =1H
- BX6 X1
- SB2 B0
- SA6 SBUF
- MX0 -12
- SA6 A6+B1
- SA5 RL
- SX7 X5-BUFL
- SA7 TXTE
- MI X7,TXT3 IF LESS THAN FULL BUFFER OF TEXT
- SX5 BUFL RESET LENGTH OF RECORD
- TXT3 SX5 X5-1
- NG X5,TXT4 IF END OF COPY
- SA1 A0 MOVE WORD
- LX6 X1
- SA6 SBUF+2+B2
- SA0 A0+B1
- BX7 -X0*X1
- SB2 B2+B1
- NZ X7,TXT3 LOOP TO END OF LINE
- SX1 SBUF LIST LINE
- RJ WOF
- SA2 TXTC
- ZR X2,CAT1 IF *OVERLAY* RECORD
- SB2 B0
- EQ TXT3 LOOP
- TXT4 SA1 TXTE
- NG X1,TXT5 IF NOT FULL BUFFER
- SX1 =C* *
- RJ WOF
- SX1 TXTF * ADDITIONAL TEXT NOT LISTED *
- RJ WOF
- TXT5 SX1 =C* *
- RJ WOF
- EQ CAT1 RETURN
- **** TABLE OF SPECIAL *TEXT* RECORD NAMES.
- *
- * IF THE *T* OPTION IS SELECTED, THE ENTIRE TABLE WILL BE
- * SEARCHED. OTHERWISE, ONLY *OVERLAY* WILL BE RECOGNIZED.
- *
- * ENTRY FORMAT -
- *
- *T 42/ SPECIAL RECORD NAME SKELETON, 18/ BITS-1 IN MASK
- *
- * TABLE IS TERMINATED BY A ZERO WORD.
- TXTA BSS 0
- * PATTERNS SEARCHED IF *T* OPTION ENABLED.
- VFD 42/0LAPRD,18/24-1 *APRDECK* PATTERNS
- VFD 42/0LAPR0,18/24-1
- VFD 42/0LCMRD,18/24-1 *CMRDECK* PATTERN
- VFD 42/0LEQPD,18/24-1 *EQPDECK* PATTERN
- VFD 42/0LIPRD,18/24-1 *IPRDECK* PATTERN
- VFD 42/0LLIBD,18/24-1 *LIBDECK* PATTERN
- * UNCONDITIONALLY SEARCHED PATTERNS.
- TXTB VFD 42/0LOVERLAY,18/42-1 *OVERLAY* PATTERN
- CON 0 END OF TABLE
- ****
- TXTC CON 0 *OVERLAY* RECORD FLAG
- TXTD CON 0 LIST *TEXT* RECORDS FLAG
- TXTE CON 0 BUFFER FULL FLAG
- TXTF DATA 20H
- DATA C$*** ADDITIONAL TEXT NOT LISTED ***$
- ULB SPACE 4
- ** ULB - PROCESS USER LIBRARY.
- ULB SA1 UL
- SX6 B1+
- SA6 ULBB SET *SEARCHING FOR OPLD* FLAG
- NZ X1,CAT1 IF USER LIBRARY LIST REQUESTED
- SA6 ULBA SET NO LIST
- EQ CAT1 RETURN
- ULBA CON 0 *USER LIBRARY FOUND AND NO ULIB LIST* FLAG
- ULBB CON 0 *SEARCHING FOR OPLD* FLAG
- TITLE SUBROUTINES.
- WOF SPACE 4
- ** WOF - WRITE LINE TO OUTPUT.
- *
- * ENTRY (X1) = FWA LINE.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 3, 6, 7.
- *
- * CALLS CDD.
- *
- * MACROS WRITEC.
- WOF PS ENTRY/EXIT
- SA3 LC ADVANCE LINE COUNT
- SX6 X3+B1
- SA6 A3
- SA2 A3+B1 GET LINE LIMIT
- IX7 X6-X2
- NG X7,WOF1 IF BOTTOM OF PAGE NOT REACHED
- SX6 3 RESET LINE COUNT
- BX7 X1 SAVE REQUEST
- SA6 A3
- SA1 PN ADVANCE PAGE NUMBER
- SA7 WOFA
- SX6 X1+B1
- SA6 A1
- RJ CDD CONVERT PAGE NUMBER
- MX1 48
- LX6 18 STORE PAGE NUMBER
- BX6 X1*X6
- SA6 PAGE
- WRITEC O,TITL
- WRITEC X2,SBTL
- WRITEC X2,(=C* *)
- SA1 WOFA RESTORE REQUEST
- WOF1 WRITEC O,X1
- SA1 SL CHECK LIST FLAG
- ZR X1,WOF RETURN IF NOT SHORT LIST
- MX6 0 CLEAR LINE COUNT
- SA6 LC
- EQ WOF RETURN
- WOFA CON 0
- SPACE 4
- * COMMON DECKS.
- *CALL COMCCDD
- *CALL COMCCOD
- *CALL COMCCPT
- *CALL COMCSRT
- *CALL COMCRDW
- *CALL COMCWTC
- *CALL COMCWTW
- *CALL COMCCIO
- *CALL COMCSYS
- *CALL COMCZTB
- BUFFERS SPACE 4
- ** BUFFERS.
- USE //
- SEG
- BUFL EQU 10002B WORKING BUFFER
- SBUFL EQU 100B SCRATCH BUFFER
- BUF BSS BUFL
- SBUF BSS SBUFL
- FBUF BSS FBUFL
- OBUF BSS OBUFL
- RFL= BSS 0
- PRS SPACE 4,10
- ** PRS - PRESET PROGRAM.
- *
- * USES X - ALL.
- * A - 1, 2, 4, 5, 6, 7.
- * B - 1, 4, 5, 7.
- *
- * CALLS ARG, CDT, DXB, STF, ZTB.
- *
- * MACROS ABORT, CLOCK, DATE, GETPP, MESSAGE, OPEN, SETLOF.
- ORG BUF
- PRS PS ENTRY/EXIT
- SB1 1
- DATE DATE
- GETPP OBUF,LL,PD GET PAGE SIZE PARAMETERS
- CLOCK TIME
- SA1 ACTR CHECK ARGUMENT COUNT
- SB4 X1
- MX0 42
- ZR B4,PRS2 IF NO ARGUMENTS
- SA4 ARGR SET FILE NAME
- BX6 X0*X4
- ZR X6,PRS1 IF FILE NAME BLANK
- SX2 3
- IX6 X6+X2
- SA6 F
- PRS1 SB4 B4-B1
- ZR B4,PRS2 IF END OF ARGUMENTS
- SA4 A4+B1 PROCESS SPECIAL ARGUMENTS
- SB5 PRSA
- RJ ARG
- NZ X1,PRS4 IF ARGUMENT ERROR
- PRS2 SA5 FC CHECK FILE COUNT
- ZR X5,PRS3 IF NO CONVERSION REQUIRED
- SB7 B1
- RJ DXB
- SA6 FC
- NZ X4,PRS4 IF CONVERSION ERROR
- PRS3 SA1 F ENTER FILE NAME IN TITLE
- MX0 42
- BX1 X0*X1
- RJ ZTB
- LX6 -6
- SA6 TITL+2
- MX1 1 SET FLUSH BIT IN FET
- SA2 O SET UP AUTO-FLUSH TABLE
- LX1 36-59
- SA4 A2+B1
- SX3 O
- BX7 X4+X1
- SA7 A4
- BX2 X0*X2
- BX6 X2+X3
- SA6 FLS+1
- SETLOF PRSG
- SA1 O CHECK FILE NAMES
- SA2 F
- BX6 X1-X2
- BX7 X0*X6
- ZR X7,PRS5 IF SAME NAME
- SX2 O CHECK IF TERMINAL FILE
- RJ STF
- SA6 TF
- NZ X6,PRS3.1 IF NOT TERMINAL FILE
- SX6 B1 SET SHORT LIST FLAG
- SA6 SL
- SA2 =1H DELETE EJECT
- BX7 X7-X7
- BX6 X2
- SA7 TITLA
- SA7 SBTLA
- SA7 PGEJ
- SA6 TITL
- PRS3.1 SX2 F ADDRESS OF FET
- SA3 PRSH ADDRESS OF OD FET EXTENSION AND LENGTH
- RJ SOE SET FET EXTENSION IF OPTICAL DISK FILE
- OPEN X2,READNR,R CHECK IF CONTROL WORDS MAY BE USED
- SA1 F+1
- RJ CDT CHECK DEVICE TYPE
- ZR X7,PRS IF CONTROL WORDS NOT ALLOWABLE
- SX7 1 SET CONTROL WORDS LEGAL
- SA7 CW SET CONTROL WORD FLAG
- EQ PRS RETURN
- PRS4 MESSAGE PRSB
- ABORT
- PRS5 MESSAGE PRSC
- ABORT
- *CALL COMCSOE
- PRSA BSS 0
- L ARG O,O OUTPUT FILE NAME
- N ARG PRSD,FC NUMBER OF FILE TO CATALOG
- T ARG -*,TXTD LIST *TEXT* RECORDS OPTION
- U ARG -*,UL LIST *ULIB* OPTION
- D ARG PRSF,SL DE-SELECT DETAILED LIST OPTION
- R ARG -*,RW REWIND BEFORE AND AFTER
- CS ARG -=0,CSM LIST CHARACTER SET FOR *OPL* AND *OPLC*
- ARG
- PRSB DATA C* CATALOG ARGUMENT ERROR.*
- PRSC DATA C* CATALOG FILE NAME CONFLICT.*
- PRSD CON 0L999999
- PRSF CON 0L0
- PRSG VFD 12/0,18/FLS,29/0,1/1 AUTO-FLUSH TABLE POINTER
- PRSH VFD 36/,6/FETODL,18/FETOD POINTER TO EXTENSION BUFFER
- CDT SPACE 4,15
- ** CDT - CHECK DEVICE TYPE.
- *
- * ENTRY (X1) = (FET+1).
- *
- * EXIT (X7)= 0 IF CONTROL WORD READ/WRITE NOT SUPPORTED ON
- * DEVICE.
- *
- * USES B - NONE.
- * A - 2.
- * X - 0,1,2,6,7.
- *
- * CALLS NONE.
- CDT2 LX1 12 CHECK *TT*
- BX6 -X0*X1
- SX7 X6-2RTT
- CDT PS ENTRY/EXIT
- MX0 -12
- PL X1,CDT2 IF ALLOCATABLE
- LX1 12
- SA2 CDTA SEARCH DEVICE TABLE
- SX7 0 ASSUME NO FIND
- CDT1 ZR X2,CDT RETURN - IF NOT FOUND
- BX6 X1-X2
- AX2 12
- BX6 X2*X6
- SA2 A2+B1
- NZ X6,CDT1 IF NOT MATCH
- SX7 1 INDICATE CONTROL WORD POSSIBLE
- JP CDT RETURN
- CDTA VFD 36/,12/7703B,12/4002B
- VFD 36/,12/7703B,12/4102B
- VFD 36/,12/7777B,12/2RMT+4000B
- VFD 36/,12/7777B,12/2RNT+4000B
- VFD 36/,12/7777B,12/2RCT+4000B
- VFD 36/,12/7777B,12/2RAT+4000B
- CON 0
- SPACE 4
- * COMMON DECKS.
- *CALL COMCARG
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCLFM
- *CALL COMCSTF
- SPACE 4
- END
cdc/nos2.source/opl871/catalog.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator