cdc:nos2.source:opl871:valnet
Table of Contents
VALNET
Table Of Contents
- [00007] VALNET - VALIDATE TERMINAL NETWORK DESCRIPTION FILE.
- [00009] VALIDATE TERMINAL NETWORK DESCRIPTION FILE.
- [00088] SYMBOL DEFINITIONS.
- [00097] MACRO DEFINITIONS.
- [00104] FET AND TABLE DEFINITIONS.
- [00121] TTED - TABLE OF TERMINAL DESCRIPTIONS.
- [00137] MAIN PROGRAM.
- [00169] CEP - CHECK END OF LISTING PAGE.
- [00212] MEP - PARTIAL SEARCH OF MANAGED TABLE.
- [00253] RTN - READ TERMINAL DESCRIPTIONS.
- [00426] TOV - PROCESS TABLE OVERFLOW.
- [00458] BUFFERS
- [00471] PRS - PRESET VALNET.
Source Code
- VALNET.txt
- IDENT VALNET,FET,VALNET
- ABS
- SYSCOM B1
- SST
- *COMMENT VALNET - VALIDATE TERMINAL DESCRIPTION FILE.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE VALNET - VALIDATE TERMINAL NETWORK DESCRIPTION FILE.
- VALNET SPACE 4
- *** VALNET - VALIDATE TERMINAL NETWORK DESCRIPTION FILE.
- * J.C. BOHNHOFF. 72/09/09.
- VALNET SPACE 4
- *** VALNET READS A TERMINAL NETWORK DESCRIPTION WRITTEN
- * AS A SERIES OF DIRECTIVES DEFINED BY THE COMMON DECK
- * *COMCRTN*. ERRORS IN NETWORK DESCRIPTION ARE DIAGNOSED AND
- * ERROR MESSAGES ARE PLACED ON A LIST FILE. IF NO ERRORS ARE
- * ENCOUNTERED, NO LISTING IS PRODUCED.
- SPACE 4
- *** CONTROL CARD CALL.
- *
- * VALNET(P1,P2,P3)
- *
- * WHERE PI MAY BE -
- *
- * P TERMINAL NETWORK DESCRIPTION FILE NAME.
- * P FILE *COMPILE*.
- * P=FN FILE *FN*.
- * ABSENT FILE *NETWXX*.
- * XX = MACHINE ID.
- *
- * L FILE TO RECEIVE LIST OF ERRORS.
- * L FILE *LIST*
- * L=FN FILE *FN*.
- * L=0 NO LIST.
- * ABSENT FILE *OUTPUT*.
- *
- * NR DO NOT REWIND DESCRIPTION FILE BEFORE READING.
- * NR DO NOT REWIND.
- * ABSENT REWIND FIRST.
- SPACE 4
- *** LISTABLE OUTPUT.
- * EACH ERROR ENCOUNTERED PRODUCES 2 LINES OF LISTING. THE
- * LINES CONSIST OF -
- * 1) THE INPUT LINE CONTAINING THE ERROR.
- * SYNTACTICAL ERRORS CAUSE THE LINE CONTAINING THE
- * ERROR TO BE LISTED. HOWEVER, FOR LOGICAL ERRORS
- * (E.G. NOT DEFINING MULTIPLEXOR CHANNEL OR DEFINING
- * DUPLICATE POLLING CODES) THE CARD CURRENTLY IN THE
- * BUFFER IS LISTED SINCE THIS TYPE OF ERROR IS NOT
- * DETECTED UNTIL IT IS CERTAIN THAT THE LAST STATEMENT
- * IS COMPLETE. THE CARD LISTED IN THIS CASE IS THE
- * CARD AFTER THE BAD CARD IF THERE IS ONLY ONE
- * DESCRIPTION PER CARD. ERRORS THAT PERTAIN TO
- * DUPLICATE POLLING CODES, POLLED/NON-POLLED TERMINALS
- * ON THE SAME LINE, AND MORE THAN ONE NON-POLLED
- * TERMINAL ON A LINE CONTAIN A CARD NUMBER OF A
- * PREVIOUSLY DEFINED TERMINAL THAT CAUSED THE ERROR
- * TO BE DETECTED. IF ONLY ONE DESCRIPTION IS GIVEN ON
- * EACH CARD, THIS CARD NUMBER WILL BE CORRECT,
- * OTHERWISE IT WILL BE ONE LESS THAN THE CORRECT
- * NUMBER.
- * 2) CARD NUMBER OF OFFENDING CARD.
- * THIS IS SUBJECT TO THE SAME EXCEPTIONS AS NOTED
- * ABOVE IN ITEM 1.
- * 3) A DIAGNOSTIC MESSAGE EXPLAINING THE ERROR.
- *
- * LIST LINES ARE FORMATTED FOR PRINTING ON A 72 COLUMN DEVICE
- * EXCEPT FOR THOSE INPUT LINES THAT EXCEED THIS LENGTH.
- SPACE 4
- *** DAYFILE MESSAGES ISSUED.
- *
- * * NO DESCRIPTIONS FOUND.*
- * NO MUX/TERMINAL DESCRIPTIONS WERE FOUND ON THE
- * DESCRIPTION RECORD.
- * * FILE NAME CONFLICT.*
- * THE *P* FILE NAME IS THE SAME AS THE *L* FILE NAME.
- * * TERMINAL DESCRIPTION ERRORS.*
- * ERRORS WERE FOUND IN THE TERMINAL DESCRIPTIONS.
- * CONSULT LISTING FOR DIAGNOSTIC MESSAGES.
- * * VALNET ARGUMENT ERROR.*
- * THE VALNET CONTROL CARD CONTAINS UNKNOWN OR
- * INCORRECTLY USED ARGUMENTS.
- * * VALNET COMPLETE.*
- * ALL DESCRIPTIONS HAVE BEEN VALIDATED AS CORRECT.
- * * TABLE OVERFLOW.*
- * NOT ENOUGH STORAGE WAS AVAILABLE TO HOLD ALL TERMINAL
- * DESCRIPTION TABLE ENTRIES. RERUN WITH GREATER FIELD
- * LENGTH.
- TITLE SYMBOL DEFINITIONS.
- BUFFERS SPACE 4,10
- * BUFFER SIZES.
- PBUFL EQU 1001B DESCRIPTION FILE
- OBUFL EQU 401B LIST FILE
- LIST X
- *CALL,COMSNET
- LIST -X
- TITLE MACRO DEFINITIONS.
- * SYSTEM MACRO DEFINITIONS.
- *CALL COMCMAC
- *CALL COMCCMD
- *CALL,COMCMTM
- TITLE FET AND TABLE DEFINITIONS.
- * FET DEFINITIONS.
- ORG 101B
- FET BSS 0
- P BSS 0 DESCRIPTION FILE
- NETWXX FILEC PBUF,PBUFL,(FET=8)
- O BSS 0 LIST FILE
- OUTPUT FILEC OBUF,OBUFL,(FET=8)
- SPACE 4
- ** MANAGED TABLE DEFINITION.
- ** TTED - TABLE OF TERMINAL DESCRIPTIONS.
- * TWO WORDS PER ENTRY IN FORMAT -
- *
- *T TTED 6/ CH,3/EQ,12/ PN,12/ ,24/ PC,3/IS
- *T 60/ CARD
- *
- * WHERE -
- * CH= MUX CHANNEL.
- * EQ= MUX EQUIPMENT.
- * PN= PORT NUMBER.
- * PC= POLLING CODE.
- * IS= INITIAL ON/OFF STATUS.
- * CARD= CARD NUMBER.
- TTED TABLE 2
- TITLE MAIN PROGRAM.
- * MAIN PROGRAM.
- VALNET RJ PRS PRESET PROGRAM
- RJ RTN READ TERMINAL DESCRIPTIONS
- SX2 =C* NO DESCRIPTIONS FOUND.*
- ZR X4,VAL1 IF NO DESCRIPTIONS PROCESSED
- SX2 =C* VALNET COMPLETE.*
- ZR X1,VAL2 IF NO ERRORS
- RJ CDD CONVERT ERROR COUNT
- SA6 VALC STORE ERROR COUNT
- RJ CEP CHECK END OF PAGE
- WRITEW O,VALA,B1 DOUBLE SPACE
- WRITEW O,VALB,VALBL WRITE ERROR COUNT
- WRITER O END OUTPUT RECORD
- SX2 =C* TERMINAL DESCRIPTION ERRORS.*
- VAL1 MESSAGE X2
- ABORT
- VAL2 MESSAGE X2 ISSUE COMPLETION MESSAGE
- ENDRUN
- LN CON LINP CURRENT LINE NUMBER ON LIST PAGE
- PG CON 1 CURRENT LIST PAGE
- VALA DIS ,*0 *
- VALB DATA 10H //
- VALC CON 0 ERROR COUNT
- DATA 20H ERRORS ENCOUNTERED.
- CON 0
- VALBL EQU *-VALB
- CEP TITLE SUBROUTINES.
- ** CEP - CHECK END OF LISTING PAGE.
- *
- * ENTRY NONE.
- *
- * EXIT NONE.
- *
- * USES B - 7.
- * A - 1,6.
- * X - 1,6,7.
- *
- * CALLS CDD,SYS=,WTW.
- CEP1 SA7 LN STORE UPDATED LINE COUNT
- CEP SUBR ENTRY/EXIT
- SA1 LN ADVANCE LINE COUNT
- SB7 X1-LINP CHECK END OF PAGE
- SX7 X1+3
- NG B7,CEP1 IF NOT END OF PAGE
- SA1 PG CONVERT PAGE NUMBER
- RJ CDD
- SA1 CEPE MERGE *PAGE*
- BX6 X1-X6
- SA6 CEPD
- CLOCK CEPC SET TIME
- WRITEW O,CEPA,CEPAL WRITE PAGE HEADER
- SA1 PG ADVANCE PAGE NUMBER
- SX7 4 RESET LINE COUNT
- SX6 X1+B1
- SA6 A1
- JP CEP1
- CEPA DATA 10H1
- DATA 30HTERMINAL DESCRIPTION ERRORS.
- CEPB CON 0 DATE
- CEPC CON 0 TIME
- CEPD CON 0 PAGE
- CON 0
- DIS ,*0 *
- CEPAL EQU *-CEPA
- CEPE CON 5LPAGE &5L
- MEP SPACE 4
- ** MEP - PARTIAL SEARCH OF MANAGED TABLE.
- *
- * ENTRY (X6)= ENTRY FOR SEARCH.
- * (X0)= MASK.
- * (X2)= SEARCH LIMIT.
- * (X7)= STARTING ENTRY ORDINAL FOR SEARCH.
- * (B7)= WORDS PER ENTRY.
- * (A0)= TABLE NUMBER.
- *
- * EXIT (X2)= ENTRY IF FOUND, ELSE ZERO.
- * (A2)= ADDRESS OF ENTRY.
- *
- * USES B - NONE.
- * A - 1,2,6.
- * X - 1,2,3,4,7.
- *
- * CALLS NONE.
- MEP1 BX4 X0*X2
- SA1 A1+B7 READ NEXT ENTRY
- NO
- BX2 X6-X1
- NZ X4,MEP1 LOOP TO MATCH
- SX4 A1-B7 CHECK ENTRY FOUND
- BX2 X4-X3
- ZR X2,MEP2 IF NOT FOUND
- SA2 X4+ RETURN ENTRY
- MEP2 SA7 A6+ RESTORE (LWA+1)
- MEP PS ENTRY/EXIT
- SA1 FTAB+A0 SET SEARCH PARAMETERS
- IX7 X1+X7
- IX3 X1+X2 SET SEARCH KEY IN LWA+1
- SA2 X3 SAVE (LWA+1)
- SA6 X3
- SA1 X7 READ FIRST ENTRY
- LX7 X2
- BX2 X6-X1
- EQ MEP1
- RTN SPACE 4
- ** RTN - READ TERMINAL DESCRIPTIONS.
- *
- * ENTRY NONE.
- *
- * EXIT (X1)= ERROR COUNT.
- * (X4)= 0 IF NO CARDS PROCESSED.
- *
- * USES B - 7.
- * A - 0,1,2,3,6,7.
- * X - 0,1,2,3,4,5,6,7.
- *
- * CALLS ATD,CEP,WTW,WTS,CDD,WTC,ADW,MEP.
- RTN12 SA1 RTNF RETURN ERROR COUNT
- RTN SUBR ENTRY/EXIT
- RTN1 SX5 P SET FET ADDRESS
- SA0 PTRN SET TABLE POINTER ADDRESS
- RJ ATD ASSEMBLE DESCRIPTION
- NZ X1,RTN10 IF ERROR
- * ENTER DESCRIPTION INTO TABLE.
- SA1 /COMCRTN/PN. PN,PL
- SA2 /COMCRTN/CH. CH
- SA3 /COMCRTN/EQ. EQ
- UX1,B7 X1 X1=PN,B7=PL
- UX2 X2 CH
- LX1 39-0 PN
- UX3 X3 EQ
- LX2 54-0 CH
- LX3 51-0 EQ
- BX6 X1+X2 PN+CH
- SA1 /COMCRTN/PC. PC
- BX7 X6+X3 (PN+CH)+EQ
- LX1 3-0 PC
- SA3 /COMCRTN/IS. IS
- BX6 X1+X3 PC+IS
- ADDWRD TTED,X6+X7 ENTER WORD 0
- SA5 /COMCRTN/CC ENTER WORD 1
- SB6 X3 SAVE POSITION OF FIRST PORT ENTRY
- BX0 X1 SAVE WORD 0
- SX5 X5-1
- SB5 X3 INITIALIZE LAST PORT POSITION
- ADDWRD TTED,X5
- RTN2 ZR B7,RTN3 IF NO (MORE) PORTS
- SX1 B1 ADVANCE PORT NUMBER
- SB7 B7-B1 DECREMENT PORT COUNT
- LX1 39-0
- IX0 X0+X1
- ADDWRD TTED,X0 ENTER WORD 0
- SB5 X3 UPDATE LAST PORT POSITION
- ADDWRD TTED,X5 ENTER WORD 1
- JP RTN2 LOOP FOR ALL PORTS
- * CHECK DESCRIPTION.
- RTN3 SA0 TTED SET TABLE NUMBER
- SB7 C.TTED SET ENTRY SIZE
- BX7 X7-X7 SET SEARCH START
- SX5 B6-B1 SET SEARCH LIMIT AT FIRST PORT
- BX6 X0
- MX0 -39 SET SEARCH MASK FOR CH,EQ,PN
- RTN4 SX2 X5 SET SEARCH LIMIT
- RJ MEP SEARCH TABLE
- NZ X2,RTN5 IF MATCH
- EQ B5,B6,RTN1 IF FIRST PORT CHECKED
- SA1 F.TTED CHECK NEXT PORT
- SX1 X1-1
- SB5 B5-B7 DECREMENT PORT POSITION
- SA1 X1+B5
- BX6 X1
- JP RTN4
- * CHECK DUPLICATE POLLING CODE.
- RTN5 SA4 /COMCRTN/PC. CHECK THIS TERMINAL POLLED
- ZR X4,RTN6 IF NOT POLLED
- SA1 RTNG
- BX7 X2-X6
- BX7 X1*X7
- NZ X7,RTN6 IF DIFFERENT POLLING CODE
- LX2 59-0
- NG X2,RTN6 IF BOTH TERMINALS ARE OFF
- SA1 A2+B1 READ CARD NUMBER OF FIRST TERMINAL
- RJ CDD CONVERT
- SX6 1R &1R. INSERT PERIOD
- LX6 54-0
- AX6 X6,B2
- BX7 X4-X6
- SA7 RTNI
- SX2 RTNH LIST ERROR
- JP RTN11
- * CHECK POLLED AND NON-POLLED ON SAME LINE.
- RTN6 MX7 -24
- AX2 3
- BX7 -X7*X2
- BX2 X4+X7
- ZR X2,RTN8 IF BOTH TERMINALS ARE NON-POLLED
- ZR X7,RTN7 IF FIRST TERMINAL NON-POLLED
- NZ X4,RTN9 IF BOTH TERMINALS ARE POLLED
- RTN7 SA1 A2+1 READ CARD NUMBER OF FIRST TERMINAL
- RJ CDD CONVERT
- SX6 1R &1R. INSERT PERIOD
- LX6 54-0
- AX6 X6,B2
- BX7 X4-X6
- LX7 -6
- SA7 RTNK
- SX2 RTNJ LIST ERROR
- JP RTN11
- * PROCESS MULTIPLE NON-POLLED TERMINALS ON SAME LINE.
- RTN8 SA3 /COMCRTN/TT.
- SA2 A2+B1 READ CARD NUMBER OF FIRST TERMINAL
- LX3 59-11
- NG X3,RTN9 IF TRANSACTION TERMINAL
- RJ CDD CONVERT
- SX6 1R &1R. INSERT PERIOD
- LX6 54-0
- AX6 X6,B2
- BX7 X4-X6
- SA7 RTNM
- SX2 RTNL LIST ERROR
- JP RTN11
- * ADVANCE SEARCH.
- RTN9 SA1 F.TTED SET SEARCH START AFTER CURRENT ENTRY
- SX7 A2+B7
- IX7 X7-X1
- JP RTN4
- * LIST ERROR.
- RTN10 ZR X4,RTNX IF NO CARDS PROCESSED - RETURN
- NG X4,RTN12 IF EOR/EOF
- RTN11 SX5 X2 SAVE ERROR MESSAGE ADDRESS
- RJ CEP CHECK END OF PAGE
- WRITEW O,RTNA,B1 WRITE LINE PREFIX
- WRITES O,/COMCRTN/CD,90 WRITE INPUT CARD
- SA1 /COMCRTN/CC CONVERT CARD NUMBER
- RJ CDD
- SA1 RTNB INSERT *CARD*
- BX6 X1-X6
- SA6 RTND
- WRITEW O,RTNC,B1+B1 WRITE ERROR PREFIX
- WRITEC O,X5 WRITE ERROR MESSAGE
- WRITEW O,RTNE,B1 SPACE ONE LINE
- SA1 RTNF ADVANCE ERROR COUNT
- SX6 X1+B1
- SA6 A1
- JP RTN1 CONTINUE
- RTNA DATA 10H
- RTNB CON 5LCARD &5L
- RTNC DATA 10H
- RTND CON 0
- RTNE DIS ,* *
- RTNF CON 0
- RTNG VFD 6/0,3/0,12/0,12/0,24/-0,3/-0
- RTNH DATA 40H POLLING CODE DUPLICATES THAT OF CARD
- RTNI CON 0,0
- RTNJ DATA 40H POLLED TERMINAL ON SAME LINE AS NON-POL
- DATA 20HLED TERMINAL ON CARD
- RTNK CON 0,0
- RTNL DATA 50H NON-POLLED TERMINAL ON SAME LINE AS THAT OF CARD
- RTNM CON 0,0
- TOV SPACE 4
- ** TOV - PROCESS TABLE OVERFLOW.
- *
- * ENTRY NONE.
- *
- * EXIT NONE.
- *
- * USES NONE.
- *
- * CALLS SYS=.
- TOV BSS 0 ENTRY
- MESSAGE (=C* TABLE OVERFLOW.*)
- ABORT
- SYS SPACE 4
- * SYSTEM COMMON DECKS.
- LIST X
- *CALL COMCRTN
- LIST -X
- *CALL COMCSYS
- *CALL COMCCIO
- *CALL COMCRDW
- *CALL COMCRDS
- *CALL COMCWTS
- *CALL COMCWTW
- *CALL COMCWTC
- *CALL COMCDXB
- *CALL COMCCDD
- *CALL,COMCMTP
- *CALL,COMCMVE
- TITLE BUFFERS
- * BUFFERS.
- USE BUFFERS
- PTRN VFD 30/1200,30/TTRN TERMINAL NAME TABLE POINTER
- BUFFERS BSS 0
- PBUF BSS PBUFL DESCRIPTION FILE
- OBUF BSS OBUFL LIST FILE
- TTRN BSS 1200 KTS TERMINAL NAME TABLE
- MEML BSS 5 LOW TABLE LIMIT
- USE *
- PRS TITLE PRESET.
- ** PRS - PRESET VALNET.
- *
- * ENTRY NONE.
- *
- * EXIT NONE.
- *
- * USES B - 4,5.
- * A - 1,2,4,7.
- * X - 1,2,4,6,7.
- *
- * CALLS ARG,SYS=.
- ORG BUFFERS
- PRS SUBR ENTRY/EXIT
- SB1 1 SET CONSTANT 1
- MACHID PRSB GENERATE DEFAULT NETWORK FILE NAME
- SA1 PRSB
- SA2 P
- MX0 12
- LX1 24
- LX0 -24
- BX6 -X0*X2
- BX6 X6+X1
- SA6 A2
- SA1 ACTR PROCESS CONTROL CARD ARGUMENTS
- SB4 X1+
- SA4 ARGR
- SB5 TARG
- RJ ARG
- SX2 =C* VALNET ARGUMENT ERROR.*
- ZR X1,PRS2 IF NO ERROR
- PRS1 MESSAGE X2 ISSUE DAYFILE MESSAGE
- ABORT
- PRS2 SA1 P CHECK FILE NAME CONFLICT
- SA2 O
- MX0 42
- BX6 X1-X2
- SX2 =C* FILE NAME CONFLICT.*
- BX7 X0*X6
- ZR X7,PRS1 IF P=L
- SX6 A0 SET HIGH TABLE LIMIT
- SA6 F.TEND
- DATE CEPB GET DATE
- SA1 PRSA SET FET POINTER
- BX6 X1
- SA6 B1+B1
- SA1 NR CHECK REWIND NEEDED
- NZ X1,PRSX RETURN - IF NO REWIND
- REWIND P,R REWIND DESCRIPTION FILE
- JP PRSX RETURN
- PRSA CON 0LOUTPUT+O
- PRSB BSSZ 1 MACHINE ID RECEIVING AREA
- TARG SPACE 4
- * TARG - CONTROL CARD ARGUMENT TABLE.
- TARG BSS 0
- P ARG PAS,P
- L ARG LAS,O,400B
- NR ARG -NAS,NR
- CON 0
- PAS CON 0LCOMPILE+3
- LAS CON 0LLIST+3
- NAS CON 1
- NR CON 0 *NO REWIND* FLAG (=0 IF REWIND)
- SPACE 4
- * PRESET COMMON DECKS.
- *CALL COMCARG
- *CALL COMCCPM
- END
cdc/nos2.source/opl871/valnet.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator