cdc:nos2.source:opl871:lidou
Table of Contents
LIDOU
Table Of Contents
- [00002] LIDOU - LOGICAL IDENTIFIER OPERATOR UTILITY.
- [00182] DEFINITIONS.
- [00253] TLAT - TABLE OF LOGICAL IDENTIFIER ATTRIBUTES.
- [00285] TPAT - TABLE OF PHYSICAL IDENTIFIER ATTRIBUTES.
- [00322] WORKING STORAGE.
- [00515] MAIN PROGRAM.
- [00517] MAIN PROGRAM.
- [00532] SUBROUTINES.
- [00534] ERR - ERROR ROUTINE.
- [00565] FBL - FORMAT BUFFER FOR LID TABLE.
- [00631] FLL - FORMAT LID LINE.
- [00681] FLT - FORMAT LISTING OF LID TABLE.
- [00755] FPL - FORMAT PID LINE(S).
- [00862] FRL - FORMAT RESPONSE LINES.
- [00902] FRS - FORMAT REQUESTED SCREEN.
- [00956] GLA - GET LID ATTRIBUTES.
- [00986] GLT - GET LID TABLE.
- [01016] GPA - GET PID ATTRIBUTES.
- [01046] GPL - GET PID LINE COUNT.
- [01078] LED - LIDOU END.
- [01103] PCM - PROCESS COMMANDS.
- [01185] PIF - PROCESS INPUT FILE.
- [01237] PKB - PROCESS KEYBOARD.
- [01282] POC - PROCESS OUT COMMAND.
- [01321] POF - PROCESS OUTPUT FILE.
- [01379] PSB - PAGE SCREEN BACKWARD.
- [01443] PSF - PAGE SCREEN FORWARD.
- [01502] RLD - REFORMAT LID TABLE.
- [01566] SET - SET ATTRIBUTE(S).
- [01597] SLA - SET LID ATTRIBUTE(S).
- [01730] SLF - SET LID FLAGS.
- [01814] SMF - SET MAINFRAME TYPE.
- [01854] SNS - SET NETWORK STATUS.
- [01932] SPA - SET PID ATTRIBUTE(S).
- [02023] STL - SEARCH TABLE FOR LID.
- [02055] STP - SEARCH TABLE FOR PID.
- [02080] THD - TOGGLE TO HELP DISPLAY.
- [02099] TLD - TOGGLE TO LID DISPLAY.
- [02139] BUFFERS.
- [02163] PRESET.
- [02165] PRS - PRESET.
Source Code
- LIDOU.txt
- IDENT LIDOU,FWA,LIDOU
- TITLE LIDOU - LOGICAL IDENTIFIER OPERATOR UTILITY.
- ABS
- SST
- ENTRY LIDOU
- ENTRY RFL=
- ENTRY SSJ=
- SYSCOM B1
- *COMMENT LIDOU - LOGICAL ID OPERATOR UTILITY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4,10
- ***** LIDOU - LOGICAL IDENTIFIER OPERATOR UTILITY.
- *
- * S. D. PAINTER 83/11/01.
- SPACE 4,15
- * *LIDOU* IS AN *L* DISPLAY OPERATOR UTILITY THAT DISPLAYS THE
- * *LID* TABLE AND ALLOWS ADDITION, DELETION, OR ALTERATION OF
- * ATTRIBUTES FOR SPECIFIED LIDS AND THE CAPABILITY TO ENABLE
- * OR DISABLE PIDS IN RELATION TO *NAM*, *RHF*, OR *SSF*. THE
- * CAPABILITY ALSO EXISTS TO FORMAT A LISTING TO THE PRINTER.
- * IF LIDOU IS EXECUTED FROM *DSD* ALL INPUT AND OUTPUT WILL
- * BE PROCESSED VIA THE CONSOLE *L* DISPLAY. IF LIDOU IS IN-
- * ITIATED FROM *DIS* OR A BATCH JOB BOTH AN INPUT AND AN OUT-
- * PUT FILE MUST BE SPECIFIED ON THE CONTROL STATEMENT.
- SPACE 4,10
- *** CONTROL STATEMENT CALL.
- *
- * LIDOU. (FROM CONSOLE ONLY)
- * LIDOU(I=LFN1,L=LFN2). (FROM *DIS* OR A BATCH JOB)
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * THESE MESSAGES ARE ISSUED TO THE JOB AND SYSTEM DAYFILE.
- *
- * * LIDOU UTILITY COMPLETE.*
- * INDICATES NORMAL TERMINATION.
- *
- * * INCORRECT USER ACCESS.*
- * CALLING JOB WAS NOT SYSTEM ORIGIN (FATAL ERROR).
- *
- * * NO INPUT/OUTPUT FILE SPECIFIED.*
- * THE CALLING JOB CANNOT ACCESS THE *L* DISPLAY
- * AND MUST THEREFORE SPECIFY BOTH AN INPUT AND
- * AN OUTPUT FILE (FATAL ERROR).
- *
- * * FILE NAME CONFLICT.*
- * THE INPUT FILE AND OUTPUT FILE SPECIFIED WERE
- * THE SAME (FATAL ERROR).
- *
- * * INPUT FILE NOT FOUND.*
- * THE INPUT FILE SPECIFIED DOES NOT EXIST (FATAL
- * ERROR).
- SPACE 4,10
- *** *L* DISPLAY MESSAGES.
- *
- * NOTE THE FOLLOWING MESSAGES ARE DISPLAYED ON THE SECOND
- * TO LAST LINE ON THE *L* DISPLAY WITH THE ECHOED
- * COMMAND ON THE LAST LINE.
- *
- * * COMMAND PROCESSED.*
- * THE COMMAND ENTERED WAS PROCESSED SUCCESSFULLY.
- *
- * * ERROR IN ATTRIBUTE.*
- * AN ATTRIBUTE WAS SPECIFIED TWICE OR *S* AND *B* OR
- * *E* AND *D* WERE SPECIFIED TOGETHER OR *V* WAS NOT
- * SPECIFIED FOR A HOST PID.
- *
- * * LID TABLE EMPTY.*
- * THE LID TABLE READ FROM CENTRAL MEMORY WAS EMPTY
- * (PROGRAM TERMINATED).
- *
- * * INCORRECT ATTRIBUTE.*
- * THE ATTRIBUTE SPECIFIED WAS NOT ONE OF THE
- * ALLOWABLE ATTRIBUTES FOR THE COMMAND SPECIFIED.
- *
- * * INCORRECT COMMAND.*
- * THE COMMAND SPECIFIED WAS NOT RECOGNIZED AS ONE OF
- * THE ALLOWABLE COMMANDS. SEE AVAILABLE COMMANDS.
- *
- * * INCORRECT LID.*
- * THE LID SPECIFIED WAS NOT A CORRECT THREE CHARACTER
- * (ALPHANUMERIC) LID.
- *
- * * INCORRECT MAINFRAME.*
- * A MAINFRAME DESCRIPTOR OF LENGTH ZERO OR GREATER
- * THAN SEVEN CHARACTERS WAS SPECIFIED.
- *
- * * INCORRECT NETWORK.*
- * THE NETWORK SPECIFIED WAS NOT *RHF*, *NAM*, *SSF*,
- * OR *ALL*.
- *
- * * INCORRECT SEPARATOR.*
- * THE SEPARATOR USED WAS NOT A COMMA OR AN EQUAL SIGN
- * AS REQUIRED BY THE COMMAND SYNTAX.
- *
- * * INCORRECT STATUS.*
- * THE STATUS SPECIFIED WAS NOT *E*, (ENABLE), OR *D*
- * (DISABLE).
- *
- * * UTILITY COMPLETE.*
- * INDICATES NORMAL TERMINATION.
- *
- * * LID NOT ALTERED.*
- * AN ATTEMPT TO ALTER A LID WAS REJECTED BY *SFM*.
- *
- * * PID NOT ALTERED.*
- * AN ATTEMPT TO ALTER A PID WAS REJECTED BY *SFM*.
- *
- * * MAINFRAME NOT SET.*
- * AN ATTEMPT TO ALTER A MAINFRAME DESCRIPTOR WAS
- * REJECTED BY *SFM*.
- *
- * * LID NOT DELETED.*
- * AN ATTEMPT TO DELETE A LID WAS REJECTED BY *SFM*.
- *
- * * LID NOT FOUND.*
- * THE LID SPECIFIED COULD NOT BE FOUND IN THE LID
- * TABLE FOR THE SPECIFIED PID.
- *
- * * NO SPACE AVAILABLE.*
- * NO ROOM EXISTS IN THE LID TABLE TO ADD A LID FOR
- * THE SPECIFIED PID.
- *
- * * PID NOT FOUND.*
- * THE PID SPECIFIED COULD NOT BE FOUND IN THE LID
- * TABLE.
- *
- * * EXCESS PARAMETERS.*
- * TOO MANY PARAMETERS WERE SPECIFIED ON THE COMMAND.
- * SEE LIST OF AVAILABLE COMMANDS.
- SPACE 4,10
- *** AVAILABLE *L* DISPLAY COMMANDS.
- *
- * L.END TERMINATE LIDOU
- * L.BACK FORMAT LID DISPLAY
- * L.HELP FORMAT HELP DISPLAY
- * L.+ PAGES THE L DISPLAY FORWARD
- * L.- PAGES THE L DISPLAY BACKWARD
- * L.OUT ROUTES A LISTING OF THE LID TABLE
- * L.PID,PA=XXZ SET ALL APPLICABLE PID ATTRIBUTES
- * L.PID,NT=NNN,NA=Z ENABLE/DISABLE NETWORK STATUS
- * L.PID,LD=LID, ADD OR SET ATTRIBUTES FOR LID
- * LA=YYYZ
- * L.PID,LD=LID, DELETE LID FROM LID TABLE
- * DELETE
- * L.PID,MF=MAINFRM SET MAINFRAME DESCRIPTION
- *
- * PARAMETER DESCRIPTIONS
- *
- * PID IS THE THREE CHARACTER PHYSICAL IDENTIFIER
- * LID IS AN ASSOCIATED THREE CHARACTER LOGICAL
- * IDENTIFIER
- * MAINFRM IS A (ONE TO SEVEN CHARACTER) MAINFRAME
- * DESCRIPTOR
- * NNN IS THE NETWORK (*RHF*, *SSF*, *NAM*, OR *ALL*)
- * X CAN BE V OR N. Y CAN BE S, B, V OR N.
- * Z CAN BE E OR D.
- *
- * ATTRIBUTE DESCRIPTIONS
- *
- * S - STORE AND LIDS FOR LINKED PIDS ONLY
- * FORWARD
- * B - LOOPBACK LIDS FOR HOST PIDS ONLY
- * V - VALIDATE NOTE THAT S AND B CAN NOT
- * D - DISABLE BE SPECIFIED TOGETHER AND
- * E - ENABLE ALSO THAT E AND D CAN NOT
- * N - NOLIST BE SPECIFIED TOGETHER
- *
- * THE LIST OF LEGAL ATTRIBUTE COMBINATIONS FOR
- * LOGICAL IDENTIFIERS (LIDS) IS IN TABLE *TLAT*.
- * THE LIST OF LEGAL ATTRIBUTE COMBINATIONS FOR
- * PHYSICAL IDENTIFIERS (PIDS) IS IN TABLE *TPAT*.
- SPACE 4,10
- ** COMMON DECKS.
- *
- *CALL COMCMAC
- *CALL COMCCMD
- *CALL COMCDCM
- *CALL COMSEVT
- *CALL COMSSFM
- *CALL COMSSSJ
- TITLE DEFINITIONS.
- SPACE 4,10
- **** ASSEMBLY CONSTANTS.
- INPC EQU 4 *L* DISPLAY INPUT COMPLETE STATUS
- LBOL EQU LDSY *L* DISPLAY OUTPUT BUFFER LENGTH
- LBIL EQU LCOM *L* DISPLAY INPUT BUFFER LENGTH
- LIIL EQU MXLDT+1 LID TABLE BUFFER LENGTH
- INPL EQU 101B LENGTH OF INPUT BUFFER
- MFTL EQU MXPID+1 LENGTH OF MAINFRAME DESCRIPTOR BUFFER
- NMLL EQU 20B NUMBER OF LINES TO FORMAT
- OUTL EQU 101B LENGTH OF OUTPUT BUFFER
- OUTL EQU 101B LENGTH OF OUTPUT BUFFER
- XCDT EQU 1 *L* DISPLAY FIRST CHARACTER POSITION
- YCDT EQU 2 *L* DISPLAY FIRST LINE NUMBER
- ****
- SPACE 4,10
- ORG 120B
- FWA BSS 0
- SPACE 4,10
- ** DAYFILE MESSAGES.
- DAFC DATA C* LIDOU UTILITY COMPLETE.*
- SPACE 4,10
- ** *L* DISPLAY MESSAGES.
- MSCP DATA 20HCOMMAND PROCESSED.
- MSEA DATA 20HERROR IN ATTRIBUTE.
- MSET DATA 20HLID TABLE EMPTY.
- MSIA DATA 20HINCORRECT ATTRIBUTE.
- MSIC DATA 20HINCORRECT COMMAND.
- MSIL DATA 20HINCORRECT LID.
- MSIM DATA 20HINCORRECT MAINFRAME.
- MSIN DATA 20HINCORRECT NETWORK.
- MSIP DATA 20HINCORRECT SEPARATOR.
- MSIS DATA 20HINCORRECT STATUS.
- MSLC DATA 20HUTILITY COMPLETE.
- MSNA DATA 20HLID NOT ALTERED.
- MSNC DATA 20HPID NOT ALTERED.
- MSMF DATA 20HMAINFRAME NOT SET.
- MSND DATA 20HLID NOT DELETED.
- MSNF DATA 20HLID NOT FOUND.
- MSNS DATA 20HNO SPACE AVAILABLE.
- MSPN DATA 20HPID NOT FOUND.
- MSTP DATA 20HEXCESS PARAMETERS.
- SPACE 4,10
- ** ROLLOUT PARAMETER BLOCK.
- ROLL VFD 30/0,18/LINE,12/10
- SPACE 4,10
- ** ROUTE PARAMETER BLOCK.
- ROTB DATA 6LOUTPUT
- BSSZ 6
- SPACE 4,10
- ** SSJ= PARAMETER BLOCK.
- SSJ= BSS 0 SSJ= ENTRY POINT
- BSSZ SSJL SSJ= PARAMETER BLOCK
- SPACE 4,10
- ** FET DEFINITIONS.
- LIDF FILEB LIDI,LIIL,FET=5 LID TABLE FET
- IF BSS 0
- INPUT FILEB INPU,INPL,FET=5 INPUT FET
- LF BSS 0
- OUTPUT FILEB OUTP,OUTL,FET=5 OUTPUT FET
- SPACE 4,10
- ** TLAT - TABLE OF LOGICAL IDENTIFIER ATTRIBUTES.
- *
- *T 42/ LA, 14/ 0, 4/ AM.
- *
- * LA - LID ATTRIBUTES (ALPHABETIC REPRESENTATION).
- * AM - ATTRIBUTE MASK (OCTAL REPRESENTATION).
- *
- * NOTES THE FORMAT OF THE ATTRIBUTE MASK IS -
- *
- * 1/ S 1 = STORE AND FORWARD
- * 1/ B 1 = LOOPBACK
- * 1/ V 1 = VALIDATE
- * 1/ N 1 = NOLIST
- *
- * THE ALPHABETIC REPRESENTATION EXCLUDES THE *E*
- * BIT SINCE THE LID DISPLAY HAS A SEPARATE WORD
- * TO SHOW THE ENABLED/DISABLED STATUS.
- TLAT VFD 42/7L ---- ,14/0,4/00B
- VFD 42/7L ---N ,14/0,4/01B
- VFD 42/7L -B-- ,14/0,4/02B
- VFD 42/7L -B-N ,14/0,4/03B
- VFD 42/7L --V- ,14/0,4/04B
- VFD 42/7L --VN ,14/0,4/05B
- VFD 42/7L -BV- ,14/0,4/06B
- VFD 42/7L -BVN ,14/0,4/07B
- VFD 42/7L S--- ,14/0,4/10B
- VFD 42/7L S--N ,14/0,4/11B
- VFD 42/7L S-V- ,14/0,4/14B
- VFD 42/7L S-VN ,14/0,4/15B
- VFD 60/0 END OF TABLE
- SPACE 4
- ** TPAT - TABLE OF PHYSICAL IDENTIFIER ATTRIBUTES.
- *
- *T 42/ PA, 14/ 0, 4/ AM.
- *
- * PA - PID ATTRIBUTES (ALPHABETIC REPRESENTATION).
- * AM - ATTRIBUTE MASK (OCTAL REPRESENTATION).
- *
- * NOTES THE FORMAT OF THE ATTRIBUTE MASK IS -
- *
- * 1/ H/L 1 = HOST, 0 = LINK
- * 1/ E 1 = ENABLE, 0 =DISABLED
- * 1/ V 1 = VALIDATE
- * 1/ N 1 = NOLIST
- *
- * THE ALPHABETIC REPRESENTATION EXPANDS THE *H*
- * BIT TO *H* AND *L* AND EXCLUDES THE *E* BIT
- * SINCE THE LID DISPLAY HAS A SEPARATE WORD TO
- * SHOW THE ENABLED/DISABLED STATUS.
- TPAT VFD 42/7L -L-- ,14/0,4/00B
- VFD 42/7L -L-N ,14/0,4/01B
- VFD 42/7L -LV- ,14/0,4/02B
- VFD 42/7L -LVN ,14/0,4/03B
- VFD 42/7L -L-- ,14/0,4/04B
- VFD 42/7L -L-N ,14/0,4/05B
- VFD 42/7L -LV- ,14/0,4/06B
- VFD 42/7L -LVN ,14/0,4/07B
- VFD 42/7L H--- ,14/0,4/10B
- VFD 42/7L H--N ,14/0,4/11B
- VFD 42/7L H-V- ,14/0,4/12B
- VFD 42/7L H-VN ,14/0,4/13B
- VFD 42/7L H--- ,14/0,4/14B
- VFD 42/7L H--N ,14/0,4/15B
- VFD 42/7L H-V- ,14/0,4/16B
- VFD 42/7L H-VN ,14/0,4/17B
- VFD 60/0 END OF TABLE
- TITLE WORKING STORAGE.
- SPACE 4
- ** *L* DISPLAY BUFFER FOR LID TABLE DISPLAY.
- LIDA DATA 8L1 HEADER FOR LISTINGS
- DATA 8L
- DATA 10H
- LIDB DATA 50HPID LID ENABLED ATTR MFTYPE NETWORK ST
- DATA 8LATUS
- DATA 50H
- DATA 8L
- LIDD DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 10H
- LIDE DATA 40H
- DATA 8L
- LIDO EQU *-LIDB COMMAND RESPONSE OFFSET
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- CON 0 END OF BUFFER
- CON 0
- SPACE 4
- HLPA DATA 8L1 HEADER FOR LISTINGS
- DATA 8L
- DATA 10H
- DATA 50H LID OPERATOR UTILITY OUTPUT LISTING
- DATA 8L
- DATA 50H
- DATA 8L
- ** *L* DISPLAY BUFFER FOR PAGE ONE OF HELP DISPLAY.
- HLPB DATA 50HLID OPERATOR UTILITY HELP DISPLAY PAG
- DATA 8LE 1 OF 2
- DATA 50H
- DATA 8L
- DATA 50HCOMMAND DESCRIPTION
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50HL.END TERMINATE LIDOU
- DATA 8L
- DATA 50HL.BACK FORMAT LID DISPLAY
- DATA 8L
- DATA 50HL.HELP FORMAT HELP DISPLAY
- DATA 8L
- DATA 50HL.+ PAGES THE L DISPLAY FORWA
- DATA 8LRD
- DATA 50HL.- PAGES THE L DISPLAY BACKW
- DATA 8LARD
- DATA 50HL.OUT ROUTES A LISTING OF THE L
- DATA 8LID TABLE
- DATA 50HL.PID,PA=XXZ SET ALL APPLICABLE PID AT
- DATA 8LTIBUTES
- DATA 50HL.PID,NT=NNN,NA=Z ENABLE/DISABLE NETWORK ST
- DATA 8LATUS
- DATA 50HL.PID,LD=LID,LA=YYYZ ADD OR SET ATTRIBUTES FOR
- DATA 8L LID
- DATA 50HL.PID,LD=LID,DELETE DELETE LID FROM LID TABLE
- DATA 8L
- DATA 50HL.PID,MF=MAINFRM SET MAINFRAME DESCRIPTION
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50HX CAN BE V OR N. Y CAN BE S, B, V OR N. Z CAN BE
- DATA 8L E OR D.
- DATA 50HALL COMMANDS CAN BE ENTERED FROM THE HELP OR LID D
- DATA 8LISPLAY
- DATA 50HENTER L.+ FOR MORE HELP (COMPLETE ATTRIBUTE DESCRI
- DATA 8LPTIONS)
- DATA 50H
- DATA 8L
- HLAO EQU *-HLPB COMMAND RESPONSE OFFSET
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- CON 0 END OF BUFFER
- CON 0
- SPACE 4
- ** *L* DISPLAY BUFFER FOR PAGE TWO OF HELP DISPLAY.
- HLPC DATA 50HLID OPERATOR UTILITY HELP DISPLAY PAG
- DATA 8LE 2 OF 2
- DATA 50H
- DATA 8L
- DATA 50HATTRIBUTE DESCRIPTIONS
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50HS - STORE AND FORWARD LIDS FOR LINKED P
- DATA 8LIDS ONLY
- DATA 50HB - LOOPBACK LIDS FOR HOST PID
- DATA 8LS ONLY
- DATA 50HV - VALIDATE NOTE THAT S AND B
- DATA 8L CAN NOT
- DATA 50HD - DISABLE BE SPECIFIED TOGE
- DATA 8LTHER AND
- DATA 50HE - ENABLE ALSO THAT E AND D
- DATA 8L CAN NOT
- DATA 50HN - NOLIST BE SPECIFIED TOGE
- DATA 8LTHER
- DATA 50H
- DATA 8L
- DATA 50HPARAMETER DESCRIPTIONS
- DATA 8L
- DATA 50H
- DATA 8L
- DATA 50HPID IS THE THREE CHARACTER PHYSICAL IDENTIFIER
- DATA 8L
- DATA 50HLID IS AN ASSOCIATED THREE CHARACTER LOGICAL IDENT
- DATA 8LIFIER
- DATA 50HX CAN BE V OR N. Y CAN BE S, B, V OR N. Z CAN BE
- DATA 8L E OR D.
- DATA 50HMAINFRM IS A (ONE TO SEVEN CHARACTER) MAINFRAME DE
- DATA 8LSCRIPTOR
- DATA 50HNNN IS THE NETWORK (*RHF*, *SSF*, *NAM*, OR *ALL*)
- DATA 8L
- DATA 50HENTER L.- TO SEE THE AVAILABLE COMMANDS
- DATA 8L
- DATA 50H
- DATA 8L
- HLBO EQU *-HLPC COMMAND RESPONSE OFFSET
- DATA 50H
- DATA 8L
- DATA 50H
- DATA 8L
- CON 0 END OF BUFFER
- CON 0
- ERRNZ HLAO-LIDO COMMAND RESPONSE OFFSET NOT CONSISTENT
- ERRNZ HLBO-LIDO COMMAND RESPONSE OFFSET NOT CONSISTENT
- SPACE 4
- ** CONSTANT DATA.
- BLKS DATA 10H BLANK MESSAGE
- DATA 10H
- DATA 8L WORD OF BLANKS WITH ZERO BYTE
- MORE DATA 10HMORE LID DISPLAY WORD FOR MORE DATA
- SPACE 4
- ** STORAGE LOCATIONS.
- BUFF BSSZ 2 *GETPP* REPLY BUFFER
- CHDF CON 0 CHANGE IN LID DISPLAY FLAG
- CMLN CON 0 COMMAND LENGTH FOR OUTPUT FILE
- EMAD CON 0 ERROR MESSAGE ADDRESS
- HLPF CON 0 HELP DISPLAY FLAG
- LCNT CON 0 LINE COUNT FOR LISTINGS
- LDSF CON 0 *L* DISPLAY INPUT FLAG
- IND1 CON 0 FIRST DISPLAYED INDEX IN LID BUFFER
- IND2 CON 0 NEXT INDEX IN LID BUFFER TO BE DISPLAYED
- PAGC CON 0 PAGE LINE LIMIT
- PDFC CON 0 PRINT DENSITY FORMAT CONTROL CHARACTER
- PDFE CON 0 PRINT DENSITY FORMAT EFFECTOR FLAG
- PONE VFD 42/0,18/HLPB ADDRESS OF START OF CURRENT HELP PAGE
- PTWO VFD 42/0,18/HLPC ADDRESS OF START OF OTHER HELP PAGE
- WBUF BSSZ 20 WORKING BUFFER
- TITLE MAIN PROGRAM.
- LIDOU SPACE 4,10
- ** LIDOU - MAIN PROGRAM.
- *
- * CALLS PCM, PRS.
- *
- * NOTE CONTROL IS NOT RETURNED FROM ROUTINE *PCM* BUT
- * RATHER WHEN AN *L.END* COMMAND (OR AN *EOF* IN
- * THE CASE OF AN INPUT FILE) IS ENCOUNTERD ROU-
- * TINE *LED* IS CALLED WHICH TERMINATES LIDOU.
- *
- LIDOU BSS 0 ENTRY
- RJ PRS PRESET
- SB7 B0+ CLEAR ERROR MESSAGE ADDRESS
- RJ PCM PROCESS COMMANDS
- TITLE SUBROUTINES.
- ERR SPACE 4,15
- ** ERR - ERROR ROUTINE.
- *
- * ENTRY THE LID TABLE READ FROM CENTRAL MEMORY IS EMPTY.
- *
- * EXIT TO *LED* AFTER INITIAL OUTPUT MESSAGE.
- * (CHDF) = 0.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 7.
- *
- * CALLS FRS, LED, POF.
- ERR SA1 MSET * LID TABLE EMPTY.*
- BX6 X1
- SA1 A1+B1
- SA6 LBFI+1 MOVE MESSAGE TO COMMAND BUFFER
- BX6 X1
- SA6 A6+B1
- SX6 B0+ CLEAR CHANGED FLAG
- SA6 CHDF
- SA1 LDSF CHECK *L* DISPLAY FLAG
- ZR X1,ERR1 IF *L* DISPLAY NOT ACTIVE
- SB7 MSLC * UTILITY COMPLETE*
- RJ FRS FORMAT REQUESTED SCREEN
- JP LED END UTILITY
- ERR1 SB7 MSET * LID TABLE EMPTY.*
- RJ POF PROCESS OUTPUT FILE
- JP LED END UTILITY
- FBL SPACE 4,20
- ** FBL - FORMAT BUFFER FOR LID TABLE.
- *
- * ENTRY *LIDI* CONTAINS THE REFORMATTED LID TABLE.
- * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
- * (NMLL) = THE NUMBER OF USABLE LINES PER SCREEN.
- * (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
- * TO BE DISPLAYED.
- *
- * EXIT *LIDB* CONTAINS THE INFORMATION TO BE DISPLAYED.
- * (X7) = *MORE DATA* WORD FOR LID DISPLAY.
- * (X6) = INDEX INTO *LIDI* OF NEXT ENTRY,
- * (NOT YET DISPLAYED).
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 6.
- * B - 2, 3.
- *
- * CALLS FLL, FPL.
- FBL3 SA1 BLKS FORMAT BLANK LINE(S)
- SA2 BLKS+2
- FBL4 BX6 X1
- SA6 A6+B1
- SA6 A6+B1
- SA6 A6+B1
- SA6 A6+B1
- SA6 A6+B1
- BX6 X2 STORE END OF LINE
- SA6 A6+B1
- SB3 B3-1 CHECK IF STILL LINES TO FORMAT
- NZ B3,FBL4 IF NOT DONE
- FBL5 SA1 LIDI CHECK IF LAST SCREEN
- SX6 B2
- IX3 X6-X1
- SA1 BLKS
- SA2 MORE
- BX7 X1
- PL X3,FBLX IF LAST SCREEN
- BX7 X2
- FBL SUBR ENTRY/EXIT
- SA1 LIDD-1 PRESET ADDRESSES
- BX6 X1
- SA6 A1
- SA2 IND1 GET INDEX INTO *LIDI*
- SB2 X2+
- SB3 NMLL SET NUMBER OF LINES TO FORMAT
- SA1 LIDI+B2 GET WORD FROM TABLE
- SX2 X1+ CHECK FOR LID OR PID
- ZR X2,FBL2 IF LID
- FBL1 SA2 X2 GET MAINFRAME AND SUBSYSTEM INFORMATION
- LX1 18 RIGHT JUSTIFY PID
- RJ FPL FORMAT PID LINE(S)
- ZR B3,FBL5 IF NO MORE LINES TO FORMAT
- SA1 LIDI+B2 GET NEXT WORD FROM TABLE
- FBL2 SB2 B2+1
- RJ FLL FORMAT LID LINE
- SB3 B3-B1
- SA1 LIDI+B2 GET NEXT WORD FROM TABLE
- SX2 X1
- ZR B3,FBL5 IF NO MORE LINES TO FORMAT
- ZR X1,FBL3 IF END OF TABLE
- ZR X2,FBL2 IF ANOTHER LID
- EQ FBL1 FORMAT NEXT PID
- FLL SPACE 4,15
- ** FLL - FORMAT LID LINE.
- *
- * ENTRY (X1) = THE WORD (FROM *LIDI*) CONTAINING THE LID.
- * (A6) = ADDRESS (MINUS ONE) TO STORE THE LINE.
- *
- * EXIT (A6) = ADDRESS (MINUS ONE) TO STORE THE NEXT LINE.
- *
- * USES X - 1, 2, 3, 4, 6.
- * A - 2, 3, 4 ,6.
- *
- * CALLS GLA.
- FLL2 SA2 FLLA+1 SAVE BLANK LID WORD
- BX6 X2
- SA6 A6+B1
- BX6 X3 ZERO WORDS TWO AND THREE
- SA6 A6+B1
- SA6 A6+1
- FLL3 SA6 A6+B1 ZERO WORDS FOUR AND FIVE
- SA6 A6+B1
- BX6 X4 END OF LINE
- SA6 A6+B1
- FLL SUBR ENTRY/EXIT
- SA3 BLKS+1 GET BLANK WORD
- SA4 A3+B1
- MX6 -18 MASK OFF LID
- LX1 18
- BX6 -X6*X1
- ZR X6,FLL2 IF ZERO LID
- SA2 FLLA STORE LID WORD
- BX6 X6+X2
- SA6 A6+B1
- LX1 6 CHECK FOR ENABLED STATUS
- SA2 FPLA GET ENABLED STATUS WORD
- BX6 X2
- NG X1,FLL1 IF ENABLED
- SA2 A2+B1 GET DISABLED STATUS WORD
- BX6 X2
- FLL1 SA6 A6+B1 SAVE STATUS WORD
- LX1 5 RIGHT JUSTIFY ATTRIBUTES
- RJ GLA GET LID ATTRIBUTES
- SA6 A6+B1 SAVE ATTRIBUTE WORD
- BX6 X3
- EQ FLL3 FINISH LINE
- FLLA VFD 42/7L ,18/0 LID WORD
- VFD 60/10L --- BLANK LID WORD
- FLT SPACE 4,20
- ** FLT - FORMAT LISTING OF LID TABLE.
- *
- * ENTRY *LIDI* CONTAINS THE REFORMATTED LID TABLE.
- * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
- * (LCNT) = NUMBER OF LINES TO FORMAT PER PAGE.
- * (A0) = 1.
- *
- * EXIT LISTING OF THE LID TABLE WRITTEN TO OUTPUT FILE.
- *
- * USES X - 0, 1, 2, 4, 5, 6.
- * A - 0, 1, 4, 5, 6.
- * B - 2, 3, 4.
- *
- * CALLS FLL, FPL, GPL.
- *
- * MACROS WRITEC, WRITEH, WRITEW.
- FLT SUBR ENTRY/EXIT
- SA1 PDFE
- NZ X1,FLT1 IF FORMAT EFFECTOR WRITTEN
- WRITEC OUTPUT,PDFC WRITE PRINT DENSITY FORMAT EFFECTOR
- FLT1 WRITEW OUTPUT,LIDA,15 WRITE PAGE HEADER
- SA1 LCNT GET LINE COUNT
- SX6 X1+
- FLT2 SA6 FLTA SAVE LINE COUNT
- SA1 LIDI+A0 GET WORD FORM TABLE
- SB2 A0
- SX2 X1 CHECK POINTER TO *MFTB*
- ZR X1,FLTX IF END OF TABLE
- ZR X2,FLT4 IF LID
- LX1 18 RIGHT JUSTIFY PID
- SA4 X2 GET MAINFRAME AND NETWORK DATA
- MX0 -12
- BX2 -X0*X4
- RJ GPL GET PID LINE COUNT
- BX2 X4
- SA5 BLKS GET BLANK WORD
- BX6 X5 STORE BLANK WORD
- SA6 WBUF
- SB3 3 SET NUMBER OF LINES
- RJ FPL FORMAT PID LINE(S)
- SA0 B2 SAVE INDEX
- SX0 B4 SAVE LINE COUNT
- SA1 FLTA DECREMENT LINE COUNT
- SB3 X1
- SB4 B3-B4
- SX6 B4
- SA6 A1
- SA5 BLKS GET BLANK WORD
- WRITEH OUTPUT,WBUF,7
- SX0 X0-1
- ZR X0,FLT3 IF DONE WITH PID LINES
- BX6 X5 STORE BLANK WORD
- SA6 WBUF+6
- WRITEH OUTPUT,WBUF+6,7
- SX0 X0-1
- ZR X0,FLT3 IF DONE WITH PID LINES
- BX6 X5 STORE BLANK WORD
- SA6 WBUF+12
- WRITEH OUTPUT,WBUF+12,7
- FLT3 SA1 LIDI+A0 GET NEXT WORD FROM TABLE
- FLT4 BX6 X5 STORE BLANK WORD
- SA6 WBUF
- SA0 A0+B1
- RJ FLL FORMAT LINE LINE
- WRITEH OUTPUT,WBUF,7 WRITE LID LINE
- SA1 FLTA CHECK LINE COUNT
- SX6 X1-1
- PL X6,FLT2 IF MORE ROOM ON PAGE
- EQ FLT1 FORMAT PAGE HEADER
- FLTA BSS 1 HOLDS LINE COUNT
- FPL SPACE 4,20
- ** FPL - FORMAT PID LINE(S).
- *
- * ENTRY (X1) = THE PID ENTRY, WITH THE PID RIGHT JUSTIFIED.
- * (X2) = THE MAINFRAME/NETWORK WORD FROM *MFTB*.
- * (A6) = ADDRESS (MINUS ONE) TO STORE THE LINE(S).
- * (B2) = THE INDEX INTO *LIDI* FOR THE PID ENTRY.
- * (B3) = THE NUMBER OF LINES LEFT ON THE SCREEN.
- *
- * EXIT (A6) = ADDRESS (MINUS ONE) TO STORE NEXT LINE.
- * (B2) = THE INDEX INTO *LIDI* FOR THE NEXT ENTRY.
- * (B3) = THE NUMBER OF LINES LEFT ON THE SCREEN.
- *
- * USES X - ALL.
- * A - 3, 4, 6.
- * B - 2, 3, 5, 6
- *
- * CALLS GPA.
- FPL6 NZ X5,FPLX IF ANY NETWORK INFORMATION WRITTEN
- SA3 BLKS BLANK FILL INITIAL LINE
- BX6 X3
- SA6 A6+B1
- BX6 X0*X6 END OF LINE
- SA6 A6+B1
- FPL SUBR ENTRY/EXIT
- SX6 X1 STORE PID WORD
- SA3 FPLB
- LX6 -18
- BX6 X6+X3
- SA6 A6+B1 STORE PID WORD
- SA3 FPLA GET ENABLED STATUS WORD
- BX6 X3
- LX1 1 CHECK ENABLED/DISABLED STATUS
- MX0 42
- SX5 B0 SET INITIAL LINE BEING PROCESSED
- NG X1,FPL1 IF ENABLED
- SA3 A3+B1 GET DISABLED STATUS
- BX6 X3
- FPL1 SA6 A6+B1 STORE STATUS WORD
- LX1 3 RIGHT JUSTIFY ATTRIBUTES
- RJ GPA GET PID ATTRIBUTES
- SA6 A6+B1 STORE ATTRIBUTE WORD
- SX3 3R
- BX6 X0*X2 STORE MAINFRAME WORD
- BX3 -X0*X3 MASK OFF SIGN EXTENSION
- BX1 -X0*X2 MASK OFF NETWORK INFORMATION
- BX6 X6+X3
- SA6 A6+B1
- SA3 FPLD GET NETWORK WORD
- SB5 3 NUMBER OF NETWORKS
- MX2 -4
- SB2 B2+B1
- SB3 B3-1
- FPL2 SX7 X3 GET NETWORK IDENTIFIER
- BX4 -X2*X1
- SB6 B0
- LX7 -18 LEFT JUSTIFY NETWORK IDENTIFIER
- SX6 X4-/NTS/ISV
- ZR X6,FPL4 IF IN SERVICE
- SB6 B6+2
- SX6 X4-/NTS/OSV
- ZR X6,FPL4 IF OUT OF SERVICE
- SB6 B6+2
- SX6 X4-/NTS/DAB
- PL X6,FPL4 IF DISABLED
- FPL3 SB5 B5-B1
- MX0 48
- ZR B5,FPL6 IF ALL NETWORKS CHECKED
- LX1 -4
- LX3 -18
- EQ FPL2 CHECK NEXT NETWORK
- FPL4 ZR X5,FPL5 IF INITIAL LINE
- SB3 B3-B1 DECREMENT LINE COUNT
- SB2 B2+B1 INCREMENT INDEX INTO *LIDI*
- SA4 BLKS BLANK FILL START OF LINE
- BX6 X4
- SA6 A6+B1
- SA6 A6+B1
- SA6 A6+B1
- SA6 A6+1
- FPL5 SX5 B1 CLEAR INITIAL LINE
- SA4 FPLC+B6 STORE FIRST WORD OF NETWORK STATUS
- BX6 X4+X7 ADD IN NETWORK IDENTIFIER
- SA6 A6+B1
- SA4 A4+B1 STORE SECOND WORD
- BX6 X4
- SA6 A6+B1
- ZR B3,FPLX IF NO MORE LINES ON SCREEN
- EQ FPL3 CHECK IF ALL NETWORKS PROCESSED
- FPLA VFD 60/10L YES ENABLED
- VFD 60/10L NO NOT ENABLED
- FPLB VFD 18/0,42/7L --- PID WORD
- FPLC VFD 18/0,42/7L IN SER NETWORK STATUSES
- VFD 60/8LVICE
- VFD 18/0,42/7L OUT OF
- VFD 60/8L SERVICE
- VFD 18/0,42/7L DISABL
- VFD 60/8LED
- FPLD VFD 6/0 NETWORKS
- VFD 18/3LSSF
- VFD 18/3LRHF
- VFD 18/3LNAM
- FRL SPACE 4,15
- ** FRL - FORMAT RESPONSE LINES.
- *
- * ENTRY (X1) = START OF BUFFER BEING USED.
- * (X2) = COMMAND RESPONSE OFFSET INTO BUFFER.
- * (B7) = ADDRESS OF ERROR RESPONSE.
- * = 0, IF NO ERROR MESSAGE.
- *
- * EXIT RESPONSE LINES FORMATTED.
- * (X6) = LWA OF BUFFER (FOR *COMCFLD*).
- *
- * USES X - 2, 3, 6.
- * A - 2, 3, 6.
- * B - 3, 4, 7.
- FRL1 SA3 B7 FORMAT MESSAGE LINE
- BX6 X3
- SA6 B4
- SA3 A3+B1
- BX6 X3
- SA6 A6+B1
- SB4 A6+5
- FRL2 BX6 X2 FORMAT COMMAND LINE
- SA6 B4
- SA2 A2+1
- SB4 B4+1
- SB3 B3-1
- ZR X2,FRL3 IF END OF INPUT
- NZ B3,FRL2 IF NOT DONE
- FRL3 SX6 A6+ SAVE END OF BUFFER ADDRESS
- FRL SUBR ENTRY/EXIT
- SB4 X1 CALCULATE MESSAGE ADDRESS
- SB4 X2+B4
- SB3 6 SET COUNTER
- SA2 LBFI+1
- NZ B7,FRL1 IF ERROR MESSAGE REQUESTED
- SB7 BLKS SET BLANK ERROR MESSAGE
- EQ FRL1 FORMAT LINES
- FRS SPACE 4,30
- ** FRS - FORMAT REQUESTED SCREEN.
- *
- * ENTRY *LIDI* CONTAINS THE REFORMATTED LID TABLE.
- * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
- * (CMRO) = COMMAND RESPONSE OFFSET INTO BUFFER.
- * (B7) = ADDRESS OF ERROR RESPONSE.
- * = 0, IF NO ERROR MESSAGE.
- * (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
- * TO BE DISPLAYED ON SCREEN
- * (HLPF) = 1, IF HELP DISPLAY REQUESTED.
- * = 0, IF LID TABLE DISPLAY REQUESTED.
- * (PONE) = ADDRESS OF CURRENT HELP PAGE.
- * (CHDF) = 1, IF LID DISPLAY NEEDS TO BE RE-
- * FORMATTED.
- * = 0, OTHERWISE.
- *
- * EXIT *L* DISPLAY INFORMATION FORMATTED, IF NECESSARY,
- * AND DISPLAYED.
- * (IND2) = INDEX INTO *LIDI* OF NEXT ENTRY,
- * NOT YET DISPLAYED ON SCREEN.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 2, 3, 4, 6.
- *
- * CALLS FBL, FLB, FRL.
- *
- * MACROS DSDOUT.
- FRS2 SX2 LIDO SET COMMAND RESPONSE OFFSET
- RJ FRL FORMAT RESPONSE LINE
- SB2 LBFO+1 SET DESTINATION BUFFER ADDRESSES
- SB6 LBFOE-1
- SB3 XCDT SET X AND Y STARTING COORDINATES
- SB4 YCDT
- SX2 B0 SET DISPLAY CODE FOR *L* DISPLAY
- SX3 B1
- RJ FLB FORMAT BUFFER FOR *L* DISPLAY
- DSDOUT LBFO DISPLAY *L* DISPLAY
- FRS SUBR ENTRY/EXIT
- SA2 HLPF CHECK FOR HELP DISPLAY REQUESTED
- SA1 PONE SET START OF HELP BUFFER
- NZ X2,FRS2 IF HELP DISPLAY REQUESTED
- SA2 CHDF CHECK FOR LID DISPLAY CHANGE
- ZR X2,FRS1 IF NO CHANGE
- SX6 B0+ CLEAR LID TABLE CHANGED FLAG
- SA6 CHDF
- RJ FBL FORMAT BUFFER FOR LID TABLE
- SA6 IND2 SAVE NEXT ENTRY INDEX
- SA7 LIDE STORE *MORE DATA* WORD
- FRS1 SX1 LIDB SET START OF LID BUFFER
- EQ FRS2 FORMAT RESPONSE LINE
- GLA SPACE 4,10
- ** GLA - GET LID ATTRIBUTES.
- *
- * ENTRY (X1) = LID WORD WITH ATTRIBUTES RIGHT JUSTIFIED.
- *
- * EXIT (X6) = ATTRIBUTE WORD (DISPLAY CODE EQUIVALENT).
- * (X1) = 0, IF NO ERROR.
- * NONZERO IF NO MATCH.
- *
- * USES X - 1, 2, 6.
- * A - 2.
- GLA2 MX1 42
- SX6 3R
- BX6 -X1*X6 MASK OFF SIGN EXTENSION
- BX2 X1*X2 MASK OFF ATTRIBUTES
- BX6 X2+X6 ADD IN BLANKS
- SX1 B0+ CLEAR ERROR
- GLA SUBR ENTRY/EXIT
- MX2 -4 IGNORE ENABLED BIT
- BX1 -X2*X1
- SA2 TLAT GET TABLE ENTRY
- GLA1 ZR X2,GLAX IF END OF TABLE
- SX6 X2
- BX6 X6-X1 CHECK FOR MATCH
- ZR X6,GLA2 IF ATTRIBUTES MATCH
- SA2 A2+1
- EQ GLA1 CHECK FOR END OF TABLE
- GLT SPACE 4,15
- ** GLT - GET LID TABLE.
- *
- * ENTRY (A1) = ADDRESS OF LID TABLE FET (*LIDF*).
- *
- * EXIT LID TABLE READ FROM CORE AND, IF NOT EMPTY,
- * *LIDI* CONTAINS THE REFORMATTED LID TABLE AND
- * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
- * TO *ERR* IF EMPTY LID TABLE.
- *
- * USES X - 1, 6, 7.
- * A - 1, 6.
- *
- * CALLS RLD.
- *
- * MACROS GETLIDT.
- GLT SUBR ENTRY/EXIT
- SA1 A1+B1 REWIND FET
- SX6 X1
- SA6 A1+B1
- SA6 A6+B1
- GETLIDT LIDF GET LID TABLE
- SA1 LIDI GET NUMBER OF PIDS IN TABLE
- MX6 -12
- BX7 -X6*X1
- ZR X7,ERR IF EMPTY TABLE
- RJ RLD REFORMAT LID TABLE
- EQ GLTX RETURN
- GPA SPACE 4,10
- ** GPA - GET PID ATTRIBUTES.
- *
- * ENTRY (X1) = PID ATTRIBUTES, RIGHT JUSTIFIED.
- *
- * EXIT (X6) = ATTRIBUTE WORD (DISPLAY CODE EQUIVALENT).
- * (X1) = 0, IF NO ERROR.
- * NONZERO IF NO MATCH.
- *
- * USES X - 1, 3, 6.
- * A - 3.
- GPA2 MX1 42
- SX6 3R
- BX6 -X1*X6 MASK OFF SIGN EXTENSION
- BX3 X1*X3 MASK OFF ATTRIBUTES
- BX6 X3+X6 ADD IN BLANKS
- SX1 B0+ CLEAR ERROR
- GPA SUBR ENTRY/EXIT
- MX3 -4
- BX1 -X3*X1
- SA3 TPAT GET TABLE ENTRY
- GPA1 ZR X3,GPAX IF END OF TABLE
- SX6 X3
- BX6 X6-X1 CHECK FOR MATCH
- ZR X6,GPA2 IF ATTRIBUTES MATCH
- SA3 A3+1
- EQ GPA1 CHECK FOR END OF TABLE
- GPL SPACE 4,10
- ** GPL - GET PID LINE COUNT.
- *
- * ENTRY (X2) = NETWORK INFORMATION FOR PID, RIGHT
- * JUSTIFIED.
- *
- * EXIT (B4) = PID LINE COUNT, 1, 2, OR 3.
- *
- * USES X - 2, 3, 6, 7.
- * B - 4, 5.
- GPL4 NZ B4,GPLX IF AT LEAST ONE LINE
- SB4 B1+ SET ONE LINE
- GPL SUBR ENTRY/EXIT
- MX3 -4
- BX6 -X3*X2
- SB4 B0 INITIALIZE PID LINE COUNT
- SB5 B1+B1
- GPL1 SX7 X6-/NTS/ISV
- ZR X7,GPL2 IF *IN SERVICE*
- SX7 X6-/NTS/OSV
- ZR X7,GPL2 IF *OUT OF SERVICE*
- SX7 X6-/NTS/DAB
- NG X7,GPL3 IF NOT *DISABLED*
- GPL2 SB4 B4+1 INCREMENT PID LINE COUNT
- GPL3 SB5 B5-1
- NG B5,GPL4 IF DONE WITH ALL THREE NETWORKS
- LX2 -4
- BX6 -X3*X2
- EQ GPL1 PROCESS NEXT NETWORK
- LED SPACE 4,15
- ** LED - LIDOU END.
- *
- * EXIT *L* DISPLAY DROPPED, PROGRAM TERMINATED.
- *
- * USES X - 1.
- * A - 1.
- * B - 7.
- *
- * CALLS FRS, POF.
- *
- * MACROS DSDINP, ENDRUN, MESSAGE, WRITER.
- LED SA1 LDSF CHECK *L* DISPLAY FLAG
- SB7 MSLC * UTILITY COMPLETE.*
- NZ X1,LED1 IF *L* DISPLAY ACTIVE
- RJ POF PROCESS OUTPUT FILE
- WRITER OUTPUT,R FLUSH OUTPUT BUFFER
- EQ LED2 ISSUE DAYFILE MESSAGE AND END
- LED1 RJ FRS FORMAT REQUESTED SCREEN
- DSDINP LBFI,C DROP *L* DISPLAY
- LED2 MESSAGE DAFC,O,R * LIDOU UTILITY COMPLETE.*
- ENDRUN
- PCM SPACE 4,15
- ** PCM - PROCESS COMMANDS.
- *
- * ENTRY (B7) = 0.
- *
- * EXIT TO *LED* WHEN THE COMMAND *L.END* IS ENCOUNTERED.
- *
- * USES X - 0, 1, 2, 4, 5, 6, 7.
- * A - 1, 5, 6.
- * B - 3, 7.
- *
- * CALLS FRS, GLT, LED, PIF, PKB, POF, POP, STP.
- PCM SUBR ENTRY/EXIT
- PCM1 SA1 CHDF CHECK FOR CHANGE TO LID DISPLAY
- ZR X1,PCM2 IF NO CHANGE
- SA1 LIDF SET FET ADDRESS
- RJ GLT GET LID TABLE
- PCM2 SA1 LDSF CHECK *L* DISPLAY FLAG
- ZR X1,PCM9 IF *L* DISPLAY NOT ACTIVE
- PCM3 SX6 B7+ SAVE MESSAGE ADDRESS
- SA6 EMAD
- RJ FRS FORMAT REQUESTED SCREEN
- MX0 -12 SET MASK
- RJ PKB GET KEYBOARD INPUT
- PCM4 RJ POP PICK OUT FIRST PARAMETER
- ZR X6,PCM7 IF NO PARAMETERS
- SX4 X1-1R.
- SA5 TLC1 CHECK FOR PRIMARY COMMAND MATCH
- ZR X1,PCM6 IF ONLY ONE PARAMETER
- ZR X4,PCM6 IF ONLY ONE PARAMETER
- MX0 -42 CHECK FOR MORE THAN 3 CHARACTERS
- BX4 -X0*X6
- NZ X4,PCM8 IF MORE THAN THREE CHARACTERS
- RJ STP SEARCH TABLE FOR PID
- SB7 MSPN * PID NOT FOUND.*
- NZ X2,PCM1 IF PID NOT FOUND
- SA6 PARB+1 SAVE PID
- SX6 A5 SAVE PID ADDRESS
- SA6 A6+B1
- PCM5 SX4 X1-1R,
- NZ X4,PCM8 IF INITIAL SEPARATOR NOT *,*
- SA5 TLC2 CHECK FOR SECONDARY COMMAND MATCH
- RJ POP GET NEXT PARAMETER
- SX4 X1-1R=
- NZ X4,PCM8 IF SECONDARY SEPARATOR NOT *=*
- PCM6 MX0 42
- ZR X5,PCM8 IF END OF TABLE
- BX2 X5-X6
- BX2 X0*X2
- SB3 X5
- SA5 A5+1
- NZ X2,PCM6 IF NO MATCH
- JP B3 PROCESS COMMAND
- PCM7 SX4 X1-1R+ CHECK FOR PAGE FORWARD COMMAND
- SX7 X1-1R- CHECK FOR PAGE BACKWARD COMMAND
- ZR X4,PSF IF PAGE FORWARD COMMAND
- ZR X7,PSB IF PAGE BACKWARD COMMAND
- PCM8 SB7 MSIC * INCORRECT COMMAND.*
- EQ PCM1 PROCESS NEXT COMMAND
- PCM9 RJ POF PROCESS OUTPUT FILE
- RJ PIF PROCESS INPUT FILE
- EQ PCM4 PROCESS COMMAND
- TLC1 VFD 42/3LEND,18/LED
- VFD 42/3LOUT,18/POC
- VFD 42/4LHELP,18/THD
- VFD 42/4LBACK,18/TLD
- VFD 60/0 END OF PRIMARY COMMANDS
- TLC2 VFD 42/2LLD,18/SLA
- VFD 42/2LMF,18/SMF
- VFD 42/2LNT,18/SNS
- VFD 42/2LPA,18/SPA
- VFD 60/0 END OF SECONDARY COMMANDS
- PARB VFD 12/0,12/1,36/0 FUNCTION CODE, PID COUNT
- VFD 18/0,42/0 PID, FUNCTION DEPENDENT DATA
- VFD 42/0,18/0 HOLDS PID ADDRESS FOR LID CHECKING
- PIF SPACE 4,20
- ** PIF - PROCESS INPUT FILE.
- *
- * EXIT COMMAND UNPACKED TO *USBB* IN *COMCUSB*.
- * (USBC) = LAST WORD ADDRESS OF BUFFER.
- * (CMLN) = CHARACTER COUNT OF COMMAND.
- * (B6) = FIRST WORD ADDRESS OF BUFFER.
- *
- * USES X - 1, 6, 7.
- * A - 1, 6, 7.
- * B - 2, 6.
- *
- * MACROS READS.
- *
- * NOTE IF NO COMMAND IS PRESENT AN *END* COMMAND
- * WILL BE MOVED INTO THE BUFFER TO TERMINATE
- * THE PROGRAM. ALSO, IF THE COMMAND DOES
- * NOT TERMINATE IN A PERIOD THE NEXT WORD
- * IN THE BUFFER IS ZEROED TO SIGNIFY THE
- * END OF THE COMMAND TO *COMCPOP*.
- PIF2 SX7 B6-B1
- SA1 B6-B1 CHECK FOR TERMINATOR
- SX1 X1-1R.
- SX6 B0
- ZR X1,PIF3 IF *.* TERMINATOR
- SA6 B6 SIGNIFY END OF COMMAND
- PIF3 SX6 B6-USBB SAVE COMMAND LENGTH
- SA6 CMLN
- SB6 USBB RESET TO START OF BUFFER
- SA7 USBC
- PIF SUBR ENTRY/EXIT
- SX6 B0+ CLEAR BUFFER
- SB2 80
- PIF1 SA6 USBB+B2
- SB2 B2-1
- PL B2,PIF1 IF NOT DONE
- READS INPUT,USBB,80 READ COMMAND
- ZR X1,PIF2 IF COMMAND PRESENT
- SX6 1RE SET *END* COMMAND
- SA6 USBB
- SX6 1RN
- SA6 A6+B1
- SX6 1RD
- SA6 A6+B1
- SX6 1R.
- SB6 USBB+4 SET COMMAND LENGTH
- SA6 A6+B1
- SX7 B6
- EQ PIF3 SAVE COMMAND LENGTH
- PKB SPACE 4,15
- ** PKB - PROCESS KEYBOARD.
- *
- * ENTRY (X0) = 42 BIT MASK, LEFT JUSTIFIED.
- *
- * EXIT *L* DISPLAY INPUT IN *LBFI*, AND
- * UNPACKED TO *USBB* IN *COMCUSB*.
- *
- * USES X - 0, 1, 6.
- * A - 1, 6.
- * B - 2, 7.
- *
- * CALLS FRS, GLT, USB.
- *
- * MACROS DSDINP, ROLLOUT.
- PKB2 SX6 B0+ CLEAR BUFFER
- SB2 80
- PKB3 SA6 USBB+B2
- SB2 B2-1
- PL B2,PKB3 IF NOT DONE
- SB2 LBFI+1 UNPACK COMMAND
- RJ USB
- PKB SUBR ENTRY/EXIT
- PKB1 DSDINP LBFI CHECK FOR *L* DISPLAY INPUT
- SA1 LBFI
- BX1 -X0*X1
- AX1 1 IGNORE COMPLETION BIT
- SX1 X1-INPC
- NZ X1,PKB2 IF INPUT
- ROLLOUT ROLL ROLLOUT UNTIL *L* DISPLAY INPUT
- * REFRESH THE SCREEN.
- SA1 LIDF SET FET ADDRESS
- RJ GLT GET LID TABLE
- SA1 EMAD GET ERROR MESSAGE ADDRESS
- SB7 X1
- SX6 B1 SET LID DISPLAY CHANGE FLAG
- SA6 CHDF
- RJ FRS FORMAT REQUESTED SCREEN
- MX0 -12
- EQ PKB1 CHECK FOR INPUT
- POC SPACE 4,15
- ** POC - PROCESS OUT COMMAND.
- *
- * EXIT TO *PCM3* (IF *L* DISPLAY IS ACTIVE).
- * TO *PCM9* (IF *L* DISPLAY INACTIVE).
- * (POFA) = -1, IF *L* DISPLAY INACTIVE.
- *
- * USES X - 1, 2, 6.
- * A - 0, 1, 6.
- * B - 7.
- *
- * CALLS FLT.
- *
- * MACROS ROUTE, WRITER.
- POC SA1 LDSF CHECK *L* DISPLAY FLAG
- ZR X1,POC1 IF *L* DISPLAY NOT ACTIVE
- SA1 OUTPUT+1 REWIND FET
- SX6 X1
- SA6 A1+B1
- SA6 A1+B1
- SA0 B1
- RJ FLT FORMAT LISTING OF LID TABLE
- WRITER OUTPUT,R FLUSH OUTPUT BUFFER
- SA1 ROTB CLEAR COMPLETE BIT IN ROUTE BLOCK
- MX2 59
- BX6 X2*X1
- SA6 A1
- ROUTE ROTB,R ROUTE FILE
- SB7 MSCP * COMMAND PROCESSED.*
- EQ PCM3 CONTINUE PROCESSING COMMAND
- POC1 SX6 -B1 CLEAR OUTPUT FILE LINE COUNT
- SA6 POFA
- SA0 B1
- RJ FLT FORMAT LISTING OF LID TABLE
- SB7 MSCP * COMMAND PROCESSED.*
- EQ PCM9 CONTINUE PROCESSING COMMAND
- POF SPACE 4,15
- ** POF - PROCESS OUTPUT FILE.
- *
- * ENTRY (CMLN) = CHARACTER COUNT OF COMMAND.
- * (B7) = 0, IF INITIAL CALL.
- * = ADDRESS OF COMMAND RESPONSE,
- * IF NOT INITIAL CALL.
- *
- * EXIT OUTPUT LINE WRITTEN TO OUTPUT FET.
- *
- * USES X - 1, 2, 6, 7.
- * A - 0, 1, 2, 6, 7.
- * B - 7.
- *
- * MACROS WRITEC, WRITEH, WRITEO, WRITES, WRITEW.
- POF2 SX6 X1-2 DECREMENT LINE COUNT
- SA6 POFA
- SA1 BLKS WRITE BLANK WORD
- BX6 X1
- WRITEO OUTPUT
- SA1 CMLN GET COMMAND LENGTH
- SB7 X1+
- WRITES OUTPUT,USBB,B7 ECHO COMMAND
- SA1 BLKS+1 WRITE RESPONSE
- SA2 A0
- BX6 X1
- BX7 X2
- SA6 WBUF
- SA7 A6+B1
- SA1 A1+B1
- SA2 A2+B1
- BX6 X1
- BX7 X2
- SA7 A7+B1
- SA6 A7+B1
- WRITEH OUTPUT,WBUF,4
- POF SUBR ENTRY/EXIT
- NZ B7,POF1 IF NOT INITIAL CALL
- WRITEC OUTPUT,PDFC WRITE PRINT DENSITY FORMAT EFFECTOR
- SX6 B1+ SET PRINT DENSITY FORMAT EFFECTOR FLAG
- SA6 PDFE
- WRITEW OUTPUT,HLPA,15 WRITE PAGE HEADER
- SA1 LCNT SET LINE COUNT
- SX6 X1+
- SA6 POFA
- EQ POFX RETURN
- POF1 SA0 B7+ SAVE COMMAND RESPONSE ADDRESS
- SA1 POFA CHECK LINE COUNT
- PL X1,POF2 IF STILL MORE LINES ON PAGE
- WRITEW OUTPUT,HLPA,15 WRITE PAGE HEADER
- SA1 LCNT SET LINE COUNT
- EQ POF2 DECREMENT LINE COUNT
- POFA CON -1 HOLDS LINE COUNT
- PSB SPACE 4,20
- ** PSB - PAGE SCREEN BACKWARD.
- *
- * ENTRY (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
- * DISPLAYED ON SCREEN.
- * (HLPF) = 1, IF HELP DISPLAY IS ACTIVE.
- *
- * EXIT TO *PCM3* IF NO ERRORS WERE ENCOUNTERED.
- * TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
- * TO *PCM1* IF TOO MANY PARAMETERS.
- * (IND1) UPDATED IF LID DISPLAY CHANGED.
- * (PONE) = ADDRESS OF CURRENT HELP PAGE.
- * (CHDF) = 1, IF LID DISPLAY CHANGED.
- * (B7) = ADDRESS OF RESPONSE.
- *
- * USES X - 1, 2, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 7.
- *
- * CALLS POP.
- PSB SA1 LDSF CHECK IF *L* DISPLAY ACTIVE
- SB7 MSIC * INCORRECT COMMAND.*
- ZR X1,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
- RJ POP CHECK FOR MORE COMMAND
- SB7 MSTP * EXCESS PARAMETERS.*
- NZ X6,PCM1 IF TOO MANY PARAMETERS
- SB7 B0+ CLEAR ERROR MESSAGE
- SA1 HLPF CHECK IF HELP DISPLAY IS ACTIVE
- NZ X1,PSB3 IF HELP DISPLAY IS ACTIVE
- SA1 IND1 CHECK IF FIRST SCREEN
- SX2 X1-1
- ZR X2,PCM3 IF FIRST SCREEN
- SX2 NMLL PAGE BACKWARDS
- IX6 X1-X2
- SX6 X6-1
- PL X6,PSB1 IF WITHIN BOUNDS
- SX6 B1+ RESET TO START OF BUFFER
- EQ PSB2 SAVE INDEX AND SET CHANGED FLAG
- PSB1 SA1 LIDI+X6 CHECK FOR SPACER WORD
- LX1 18
- SX1 X1
- NZ X1,PSB2 IF LID OR PID WORD
- SX6 X6+1
- EQ PSB1 CHECK FOR SECOND SPACER WORD
- PSB2 SA6 IND1 SAVE INDEX
- SX6 B1+ SET LID DISPLAY CHANGED FLAG
- SA6 CHDF
- EQ PCM3 PROCESS NEXT COMMAND
- PSB3 SA1 PONE CHECK IF ALREADY PAGE ONE OF HELP DISPLAY
- SX2 HLPB PAGE ONE OF HELP DISPLAY
- SB7 B0 CLEAR ERROR MESSAGE
- BX2 X2-X1
- ZR X2,PCM3 IF ALREADY ON FIRST PAGE OF HELP DISPLAY
- SA2 PTWO
- BX6 X1
- BX7 X2
- SA6 A2
- SA7 A1
- EQ PCM3 PROCESS NEXT COMMAND
- PSF SPACE 4,20
- ** PSF - PAGE SCREEN FORWARD.
- *
- * ENTRY (IND1) = INDEX INTO *LIDI* OF FIRST ENTRY
- * DISPLAYED ON SCREEN.
- * (IND2) = INDEX INTO *LIDI* OF NEXT ENTRY,
- * NOT YET DISPLAYED ON SCREEN.
- * (HLPF) = 1, IF HELP DISPLAY IS ACTIVE.
- *
- * EXIT TO *PCM3* IF NO ERRORS WERE ENCOUNTERED.
- * TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
- * TO *PCM1* IF TOO MANY PARAMETERS.
- * (IND1) UPDATED IF LID DISPLAY CHANGED.
- * (PONE) = ADDRESS OF CURRENT HELP PAGE.
- * (CHDF) = 1, IF LID DISPLAY CHANGED.
- * (B7) = ADDRESS OF RESPONSE.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 7.
- *
- * CALLS POP.
- PSF SA1 LDSF CHECK IF *L* DISPLAY ACTIVE
- SB7 MSIC * INCORRECT COMMAND.*
- ZR X1,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
- RJ POP CHECK FOR MORE COMMAND
- SB7 MSTP * EXCESS PARAMETERS.*
- NZ X6,PCM1 IF TOO MANY PARAMETERS
- SB7 B0+ CLEAR ERROR MESSAGE
- SA1 HLPF CHECK IF HELP DISPLAY IS ACTIVE
- NZ X1,PSF3 IF HELP DISPLAY IS ACTIVE
- SA1 LIDI CHECK IF LAST SCREEN
- SX7 B1 SET LID TABLE CHANGED FLAG
- SX6 B1 SET LOOP TO FIRST SCREEN
- SA2 IND2
- IX3 X2-X1
- PL X3,PSF2 IF LAST SCREEN
- BX6 X2 PAGE FORWARD
- PSF1 SA1 LIDI+X6 CHECK FOR SPACER WORD
- LX1 18
- SX1 X1
- NZ X1,PSF2 IF LID OR PID WORD
- SX6 X6-1
- EQ PSF1 CHECK FOR SECOND SPACER WORD
- PSF2 SA6 IND1 SAVE INDEX
- SA7 CHDF SAVE LID TABLE CHANGED FLAG
- EQ PCM3 CONTINUE PROCESSING COMMAND
- PSF3 SA1 PONE SWAP PAGE HELP PAGE ADDRESSES
- SA2 PTWO
- BX6 X1
- BX7 X2
- SA6 A2
- SA7 A1
- SB7 B0+ CLEAR ERROR MESSAGE
- EQ PCM3 PROCESS NEXT COMMAND
- RLD SPACE 4,15
- ** RLD - REFORMAT LID TABLE.
- *
- * ENTRY *LIDI* CONTAINS THE LID TABLE FROM CORE.
- * (A1) = FIRST WORD ADDRESS OF *LIDI*.
- * (X7) = NUMBER OF PIDS IN TABLE.
- *
- * EXIT *LIDI* CONTAINS THE REFORMATTED LID TABLE.
- * *MFTB* CONTAINS THE MAINFRAME AND NETWORK DATA.
- *
- * USES X - ALL.
- * A - 1, 6, 7.
- * B - 2, 3, 4.
- *
- * CALLS GPL.
- RLD SUBR ENTRY/EXIT
- SA6 LIDI PRESET ADDRESS IN *LIDI*
- SA7 MFTB SAVE NUMBER OF PIDS
- RLD1 MX0 42 SET MASKS
- MX5 -12
- SA1 A1+B1 GET PID WORD
- BX2 -X5*X1 MASK OFF NETWORK INFORMATION
- BX3 X0*X1
- SA1 A1+B1 GET MAINFRAME DESCRIPTOR
- BX7 X0*X1
- BX4 -X5*X1 MASK OFF NEXT PID OFFSET
- SA1 A1+B1 GET NUMBER OF LID SLOTS
- SX6 A7+B1
- BX7 X7+X2
- BX6 X3+X6
- SA7 A7+B1 SAVE MAINFRAME AND NETWORK INFORMATION
- SA6 A6+B1 SAVE PID, ATTRIBUTES AND *MFTB* ADDRESS
- RJ GPL GET PID LINES
- BX3 -X5*X1
- SB2 X3 SET SLOT COUNT
- SB3 X3 SET NON EMPTY SLOT COUNT
- MX6 24
- EQ B4,B1,RLD2 IF NO EXTRA LINES
- LX6 -18
- SA6 A6+B1 STORE DUMMY PID ENTRY
- SB4 B4-B1
- EQ B4,B1,RLD2 IF ONE EXTRA LINE
- SA6 A6+B1 STORE DUMMY PID ENTRY
- RLD2 SA1 A1+B1 GET LID
- BX6 X0*X1
- ZR X6,RLD3 IF EMPTY SLOT
- SA6 A6+1 SAVE LID
- SB3 B3-1 DECREMENT NON EMPTY SLOT COUNT
- RLD3 SB2 B2-B1 DECREMENT SLOT COUNT
- NZ B2,RLD2 IF MORE SLOTS TO CHECK
- MX6 24
- ZR B3,RLD4 IF NO EMPTY SLOTS
- LX6 -18
- SA6 A6+B1 SIGNIFY EMPTY LID
- RLD4 NZ X4,RLD1 IF NOT END OF TABLE
- SA1 LIDI SAVE LARGEST TABLE INDEX
- SB2 A1
- SX7 A6-B2
- SA7 A1
- BX6 X6-X6 ZERO WORD FOR END OF REFORMATTED TABLE
- SA6 A6+1
- EQ RLDX RETURN
- SET SPACE 4,15
- ** SET - SET ATTRIBUTE(S).
- *
- * ENTRY (X7) = FUNCTION CODE AND PID COUNT FOR
- * FIRST WORD OF PARAMETER BLOCK.
- * (X6) = BOTTOM 42 BITS FOR SECOND WORD.
- *
- * EXIT (X4) = RETURN CODE FROM *SETPIDA*.
- *
- * USES X - 0, 4, 6, 7.
- * A - 4, 6, 7.
- *
- * MACROS SETPIDA.
- SET SUBR ENTRY/EXIT
- LX7 36 POSITION FUNCTION CODE AND PID COUNT
- SX4 B1+ SET FET NOT BUSY
- BX7 X7+X4
- SA7 PARB SET FIRST WORD INTO PARAMETER BLOCK
- SA4 A7+B1 SET BOTTOM 42 BITS INTO SECOND WORD
- MX0 18
- BX4 X0*X4
- BX6 X4+X6
- SA6 A4
- MX0 -8
- SETPIDA PARB MAKE *SFM* CALL
- SA4 PARB MASK OFF RETURN CODE
- LX4 -10
- BX4 -X0*X4
- EQ SETX RETURN
- SLA SPACE 4,25
- ** SLA - SET LID ATTRIBUTE(S).
- *
- * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
- * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
- * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
- * (CHDF) = 1, IF THE LID TABLE CHANGED.
- * (B7) = ADDRESS OF RESPONSE.
- *
- * USES X - 0, 1, 2, 4, 5, 6, 7.
- * A - 4.
- * B - 7.
- *
- * CALLS POP, SET, SLF, STL.
- *
- * NOTE ATTRIBUTES *D* AND *E* CANNOT BE SPECIFIED TOGETHER
- * AND IF NEITHER IS SPECIFIED THE PRESENT STATUS WILL
- * BE USED WHEN ALTERING ATTRIBUTES AND THE DEFAULT
- * STATUS OF ENABLE WILL BE USED WHEN ADDING A LID.
- * ATTRIBUTES *S* AND *B* CANNOT BE SPECIFIED TOGETHER
- * AND *B* IS NOT ALLOWED ON A LINKED PID. THE *V*
- * ATTRIBUTE CAN ONLY BE SET IF THE *S* ATTRIBUTE IS SET.
- SLA MX4 6 SET MASKS
- MX0 -42
- RJ POP GET NEXT PARAMETER
- SB7 MSIP * INCORRECT SEPARATOR.*
- SX7 X1-1R,
- NZ X7,PCM1 IF SEPARATOR NOT *,*
- SB7 MSIL * INCORRECT LID.*
- BX0 -X0*X6 CHECK FOR CORRECT LID
- BX7 X4*X6
- NZ X0,PCM1 IF MORE THAN THREE CHARACTERS
- LX4 -6
- BX5 X4*X6
- LX4 -6
- BX4 X4*X6
- LX7 6 POSITION CHARACTERS
- LX5 12
- LX4 18
- MX2 42 SET MASK
- ZR X7,PCM1 IF NO FIRST CHARACTER
- ZR X5,PCM1 IF NO SECOND CHARACTER
- ZR X4,PCM1 IF NO THIRD CHARACTER
- SX7 X7-1R9-1 CHECK FOR ALPHANUMERIC CHARACTERS
- SX5 X5-1R9-1
- SX4 X4-1R9-1
- PL X7,PCM1 IF INCORRECT FIRST CHARACTER
- PL X5,PCM1 IF INCORRECT SECOND CHARACTER
- PL X4,PCM1 IF INCORRECT THIRD CHARACTER
- RJ STL SEARCH TABLE FOR LID
- SA4 SLAA CHECK FOR DELETE
- RJ POP GET NEXT PARAMETER
- SX2 X1-1R=
- SB7 MSIC * INCORRECT COMMAND.*
- ZR X2,SLA1 IF *=* SEPARATOR
- BX2 X6-X4
- SX6 A0
- NZ X2,PCM1 IF NOT *=* AND NOT *DELETE*
- SB7 MSNF * LID NOT FOUND.*
- NZ X0,PCM1 IF DELETE AND LID NOT FOUND
- SX7 40001B SET FUNCTION CODE AND PID COUNT
- ERRNZ DLDF-4 ADJUST VALUE IF CHANGED
- LX6 24 POSITION LID
- SX5 X1 SAVE SEPARATOR
- RJ SET DELETE LID
- SX1 X5 RESTORE SEPARATOR
- SB7 MSND * LID NOT DELETED.*
- SX7 B1
- NZ X4,PCM1 IF ERROR
- EQ SLA9 SET CHANGED FLAG
- SLA1 SX2 2RLA CHECK FOR *LA*
- LX6 12
- BX2 X6-X2
- NZ X2,PCM1 IF NOT *LA*
- RJ SLF SET LID FLAGS
- NZ B7,PCM1 IF ERROR
- ZR B3,SLA4 IF NO *S* OR *B* SPECIFIED
- SA4 PARB+2 PID ENTRY
- SA4 X4
- LX4 18 CHECK HOST/LINKED STATUS
- GT B3,B1,SLA4 IF *S*
- NG X4,SLA4 IF HOST PID
- SLA2 SB7 MSEA * ERROR IN ATTRIBUTE.*
- EQ PCM1 PROCESS ERROR
- SLA4 ZR B4,SLA5 IF *V* NOT SPECIFIED
- LE B3,B1,SLA2 IF *S* NOT SPECIFIED
- SLA5 SX7 B1+
- ZR X0,SLA7 IF ALTERING LID
- NZ B2,SLA6 IF *D* OR *E* SPECIFIED
- LX7 23
- BX6 X6+X7 DEFAULT FOR ADDING LID IS ENABLE
- SLA6 SX7 30001B ADD LID
- ERRNZ ALDF-3 ADJUST VALUE IF CHANGED
- SX5 A0 COMBINE LID AND ATTRIBUTES
- LX5 24
- BX6 X5+X6
- SX5 X1 SAVE SEPARATOR
- RJ SET
- SX1 X5 RESTORE SEPARATOR
- SB7 MSNS * NO SPACE AVAILABLE.*
- SX7 B1
- NZ X4,PCM1 IF ERROR
- EQ SLA9 SET CHANGED FLAG
- SLA7 NZ B2,SLA8 IF *D* OR *E* SPECIFIED
- SA4 A5 GET LID WORD
- LX4 24 CHECK PRESENT STATUS
- PL X4,SLA8 IF DISABLED
- LX7 23
- BX6 X6+X7
- SLA8 SX7 50001B ALTER LID
- ERRNZ SLTF-5 ADJUST VALUE IF CHANGED
- SX5 A0 COMBINE LID AND ATTRIBUTES
- LX5 24
- BX6 X5+X6
- SX5 X1 SAVE SEPARATOR
- RJ SET
- SX1 X5+ RESTORE SEPARATOR
- SB7 MSNA * LID NOT ALTERED.*
- SX7 B1+
- NZ X4,PCM1 IF ERROR
- SLA9 SA7 CHDF SET LID TABLE CHANGED FLAG
- SX4 X1-1R. CHECK FOR MORE COMMAND
- SB7 MSCP * COMMAND PROCESSED.*
- ZR X1,PCM1 IF NO MORE COMMAND
- ZR X4,PCM1 IF NO MORE COMMAND
- EQ PCM5 CONTINUE PROCESSING COMMAND
- SLAA VFD 60/6LDELETE
- SLF SPACE 4,20
- ** SLF - SET LID FLAGS.
- *
- * EXIT (B2) = 1, IF *D* SPECIFIED.
- * = 2, IF *E* SPECIFIED.
- * (B3) = 1, IF *B* SPECIFIED.
- * = 2, IF *S* SPECIFIED.
- * (B4) = 1, IF *V* SPECIFIED.
- * (B5) = 1, IF *N* SPECIFIED.
- * (B7) = ADDRESS OF RESPONSE.
- * = 0, IF NO ERROR.
- * (X6) = ATTRIBUTE MASK.
- * (X1) = SEPARATOR.
- *
- * USES X - 2, 3, 4, 5, 6, 7.
- * B - 2, 3, 4, 5, 7.
- *
- * CALLS POP.
- *
- * NOTE ATTRIBUTES *D* AND *E* CANNOT BE SPECIFIED TOGETHER.
- * ATTRIBUTES *S* AND *B* CANNOT BE SPECIFIED TOGETHER.
- SLF SUBR ENTRY/EXIT
- MX4 -6
- RJ POP GET NEXT PARAMETER
- SB2 B0 CLEAR FLAGS
- SB3 B0
- SB4 B0
- SB5 B0
- SB7 B0 CLEAR ERROR RESPONSE
- SX5 B0 CLEAR ATTRIBUTE MASK
- ZR X6,SLF8 IF NO CHARACTERS
- SLF1 LX6 6 SHIFT CHARACTER
- BX3 -X4*X6
- ZR X3,SLF8 IF NO MORE CHARACTERS
- SX2 X3-1RE
- ZR X2,SLF3 IF *E*
- SX7 X3-1RD
- ZR X7,SLF3 IF *D*
- SX2 X3-1RS
- ZR X2,SLF4 IF *S*
- SX7 X3-1RB
- ZR X7,SLF4 IF *B*
- SX2 X3-1RV
- ZR X2,SLF6 IF *V*
- SX2 X3-1RN
- ZR X2,SLF7 IF *N*
- SB7 MSIA * INCORRECT ATTTRIBUTE.*
- EQ PCM1 PROCESS ERROR
- SLF2 SB7 MSEA * ERROR IN ATTRIBUTE.*
- EQ PCM1 PROCESS ERROR
- SLF3 NZ B2,SLF2 IF SPECIFIED TWICE OR *E* AND *D*
- SB2 1
- NZ X2,SLF1 IF NOT *E*
- SB2 2
- SX5 X5+20B
- EQ SLF1 PROCESS NEXT CHARACTER
- SLF4 NZ B3,SLF2 IF SPECIFIED TWICE OR *S* AND *B*
- SB3 1
- NZ X2,SLF5 IF NOT *S*
- SB3 2
- SX5 X5+10B
- EQ SLF1 PROCESS NEXT CHARACTER
- SLF5 SX5 X5+2
- EQ SLF1 PROCESS NEXT CHARACTER
- SLF6 NZ B4,SLF2 IF SPECIFIED TWICE
- SX5 X5+4
- SB4 B1+
- EQ SLF1 PROCESS NEXT CHARACTER
- SLF7 NZ B5,SLF2 IF SPECIFIED TWICE
- SX5 X5+1
- SB5 B1+
- EQ SLF1 PROCESS NEXT CHARACTER
- SLF8 SX6 X5 SET ATTRIBUTE MASK
- LX6 19 POSITION ATTRIBUTE MASK
- EQ SLFX RETURN
- SMF SPACE 4,15
- ** SMF - SET MAINFRAME TYPE.
- *
- * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
- * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
- * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
- * (CHDF) = 1, IF THE LID TABLE CHANGED.
- * (B7) = ADDRESS OF RESPONSE.
- *
- * USES X - 1, 4, 5, 6, 7.
- * A - 7.
- * B - 7.
- *
- * CALLS POP, SET, SFN.
- SMF RJ POP GET NEXT PARAMETER
- SX5 X1 SAVE SEPARATOR
- SB7 MSIM * INCORRECT MAINFRAME.*
- SX7 X6
- ZR X6,PCM1 IF NO MAINFRAME
- NZ X7,PCM1 IF MORE THAN SEVEN CHARACTERS
- MX4 42 SPACE FILL MAINFRAME DESCRIPTOR
- BX1 X6
- RJ SFN
- BX6 X4*X6
- SX7 20001B SET FUNCTION CODE AND PID COUNT
- ERRNZ SMFF-2 ADJUST VALUE IF CHANGED
- LX6 -18 POSITION MAINFRAME DESCRIPTOR
- RJ SET SET MAINFRAME
- SB7 MSMF * MAINFRAME NOT SET.*
- NZ X4,PCM1 IF ERROR
- SB7 MSCP * COMMAND PROCESSED.*
- SX7 B1 SET LID TABLE CHANGED FLAG
- SX1 X5 RESTORE SEPARATOR
- SA7 CHDF
- SX4 X1-1R. CHECK FOR MORE COMMAND
- ZR X1,PCM1 IF NO MORE COMMAND
- ZR X4,PCM1 IF NO MORE COMMAND
- EQ PCM5 CONTINUE PROCESSING COMMAND
- SNS SPACE 4,15
- ** SNS - SET NETWORK STATUS.
- *
- * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
- * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
- * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
- * (CHDF) = 1, IF THE LID TABLE CHANGED.
- * (B7) = ADDRESS OF RESPONSE.
- *
- * USES X - 0, 1, 4, 5, 6, 7.
- * A - 7.
- * B - 7.
- *
- * CALLS POP, SET.
- SNS MX0 -42
- RJ POP GET NEXT PARAMETER
- SB7 MSIP * INCORRECT SEPARATOR.*
- SX4 X1-1R,
- NZ X4,PCM1 IF SEPARATOR NOT *,*
- SB7 MSIN * INCORRECT NETWORK.*
- ZR X6,PCM1 IF NO NETWORK
- BX7 -X0*X6
- NZ X7,PCM1 IF MORE THAN THREE CHARACTERS
- LX6 18 POSITION NETWORK
- SX4 X6-3RNAM
- SX0 NANS
- ZR X4,SNS1 IF *NAM*
- SX4 X6-3RRHF
- SX0 RHNS
- ZR X4,SNS1 IF *RHF*
- SX4 X6-3RSSF
- SX0 SSNS
- ZR X4,SNS1 IF *SSF*
- SX4 X6-3RALL
- SX0 NANS+RHNS+SSNS
- ZR X4,SNS1 IF *ALL*
- EQ PCM1 PROCESS ERROR
- SNS1 SX4 2RNA CHECK FOR REST OF COMMAND
- RJ POP GET NEXT PARAMETER
- SB7 MSIP * INCORRECT SEPARATOR.*
- SX7 X1-1R=
- NZ X7,PCM1 IF SEPARATOR NOT *=*
- LX6 12
- SB7 MSIC * INCORRECT COMMAND.*
- BX4 X6-X4
- NZ X4,PCM1 IF PARAMETER NOT *NA*
- RJ POP GET NEXT PARAMETER
- MX4 -54 CHECK FOR ONLY ONE CHARACTER
- BX5 -X4*X6
- SB7 MSIS * INCORRECT STATUS.*
- NZ X5,PCM1 IF MORE THAN ONE CHARACTER
- BX4 X4*X6
- SX5 X1 SAVE SEPARATOR
- SX7 10001B SET FUNCTION CODE AND PID COUNT
- ERRNZ SNSF-1 ADJUST VALUE IF CHANGED
- SX6 B1+ SET ENABLE NETWORK STATUS
- LX4 6 RIGHT JUSTIFY CHARACTER
- LX6 12
- SX1 X4-1RE
- ZR X1,SNS2 IF ENABLED
- SX6 X6+10B SET DISABLE NETWORK STATUS
- SX1 X4-1RD
- NZ X1,PCM1 IF NOT DISABLED
- SNS2 LX0 -12 POSITION NETWORK IDENTIFIER
- BX7 X7+X0 ADD IN NETWORK IDENTIFIER
- RJ SET SET NETWORK
- NZ X4,PCM1 IF ERROR
- SB7 MSCP * COMMAND PROCESSED.*
- SX7 B1 LID TABLE CHANGED
- SX1 X5 RESTORE SEPARATOR
- SA7 CHDF
- SX4 X1-1R. CHECK FOR MORE COMMAND
- ZR X1,PCM1 IF NO MORE COMMAND
- ZR X4,PCM1 IF NO MORE COMMAND
- EQ PCM5 CONTINUE PROCESSING COMMAND
- SPA SPACE 4,20
- ** SPA - SET PID ATTRIBUTE(S).
- *
- * EXIT TO *PCM1* IF NO MORE COMMAND TO PROCESS OR ERROR.
- * TO *PCM5* IF NO ERROR AND MORE COMMAND TO PROCESS.
- * (X1) = SEPARATOR, IF MORE COMMAND TO PROCESS.
- * (CHDF) = 1, IF THE LID TABLE CHANGED.
- * (B7) = ADDRESS OF RESPONSE.
- *
- * USES X - ALL.
- * A - 1, 7.
- * B - 2, 3, 4, 5, 7.
- *
- * CALLS POP, SET.
- *
- * NOTE ATTRIBUTES *D* AND *E* CANNOT BE SPECIFIED TOGETHER
- * AND IF NEITHER IS SPECIFIED THE PRESENT STATUS WILL
- * BE USED. *V* MUST BE SPECIFIED ON THE HOST PID.
- SPA RJ POP GET NEXT PARAMETER
- SX5 X1 SAVE SEPARATOR
- BX3 X6 SAVE CHARACTERS
- SB2 B0+ CLEAR FLAGS
- SB3 B0+
- SB4 B0
- SB5 B0
- SX6 B0 CLEAR ATTRIBUTE MASK
- ZR X3,SPA7 IF NO CHARACTERS
- MX0 -6 SET CHARACTER MASK
- SPA1 LX3 6 SHIFT CHARACTER
- BX1 -X0*X3
- ZR X1,SPA7 IF NO MORE CHARACTERS
- SX2 X1-1RE
- ZR X2,SPA3 IF *E*
- SX2 X1-1RD
- ZR X2,SPA4 IF *D*
- SX2 X1-1RV
- ZR X2,SPA5 IF *V*
- SX2 X1-1RN
- ZR X2,SPA6 IF *N*
- SB7 MSIA * INCORRECT ATTTRIBUTE.*
- EQ PCM1 PROCESS ERROR
- SPA2 SB7 MSEA * ERROR IN ATTRIBUTE.*
- EQ PCM1 PROCESS ERROR
- SPA3 NZ B2,SPA2 IF SPECIFIED TWICE
- SX6 X6+4
- SB2 B1+
- EQ SPA1 PROCESS NEXT CHARACTER
- SPA4 NZ B3,SPA2 IF SPECIFIED TWICE
- SB3 B1+
- EQ SPA1 PROCESS NEXT CHARACTER
- SPA5 NZ B4,SPA2 IF SPECIFIED TWICE
- SX6 X6+2
- SB4 B1+
- EQ SPA1 PROCESS NEXT CHARACTER
- SPA6 NZ B5,SPA2 IF SPECIFIED TWICE
- SX6 X6+1
- SB5 B1+
- EQ SPA1 PROCESS NEXT CHARACTER
- SPA7 SA1 PARB+2 GET PID ATTRIBUTES
- SA1 X1
- LX1 59-41
- NZ B4,SPA8 IF *V* SPECIFIED
- NG X1,SPA2 IF *V* NOT SPECIFIED ON HOST
- SPA8 SX7 B1 SET FUNCTION CODE AND PID COUNT
- ERRNZ SPAF-0 ADJUST VALUE IF CHANGED
- SB4 B2+B3 CHECK FOR *D* OR *E*
- GT B4,B1,SPA2 IF BOTH SPECIFIED
- NZ B4,SPA9 IF EITHER SPECIFIED
- LX1 59-40-59+41
- SB7 MSNC * PID NOT ALTERED.*
- PL X1,SPA9 IF DISABLED
- SX6 X6+4 SET ENABLED BIT
- SPA9 LX6 9 POSITION ATTRIBUTES
- RJ SET
- NZ X4,PCM1 IF ERROR
- SB7 MSCP * COMMAND PROCESSED.*
- SX7 B1 SET LID TABLE CHANGED FLAG
- SX1 X5 RESTORE SEPARATOR
- SA7 CHDF
- SX4 X1-1R. CHECK FOR MORE COMMAND
- ZR X1,PCM1 IF NO MORE COMMAND
- ZR X4,PCM1 IF NO MORE COMMAND
- EQ PCM5 CONTINUE PROCESSING COMMAND
- STL SPACE 4,15
- ** STL - SEARCH TABLE FOR LID.
- *
- * ENTRY (X6) = LID, LEFT JUSTIFIED.
- * (X2) = 42 BIT MASK, LEFT JUSTIFIED.
- * (PARB+2) = PID ADDRESS (IN *LIDI*)
- *
- *
- * EXIT (X0) = ZERO, IF LID FOUND IN TABLE.
- * = NONZERO, IF LID NOT FOUND.
- * (A5) = ADDRESS OF LID ENTRY, IF FOUND.
- * (A0) = LID.
- *
- * USES X - 0, 3, 4, 5, 6.
- * A - 0, 5.
- STL SUBR ENTRY/EXIT
- SA5 PARB+2 GET PID ADDRESS
- SA5 X5+B1
- MX3 18
- LX6 18 SAVE LID
- SA0 X6+
- LX6 -18
- STL1 BX5 X3*X5 CHECK FOR MATCH
- BX0 X6-X5
- ZR X0,STLX IF MATCH
- STL2 SA5 A5+B1 GET NEXT ENTRY
- ZR X5,STLX IF END OF TABLE
- BX4 -X2*X5 CHECK FOR PID
- NZ X4,STLX IF PID
- EQ STL1 CHECK NEXT LID
- STP SPACE 4,10
- ** STP - SEARCH TABLE FOR PID.
- *
- * ENTRY (X6) = PID, LEFT JUSTIFIED.
- *
- * EXIT (X2) = ZERO, IF PID FOUND IN TABLE.
- * = NONZERO, IF PID NOT FOUND.
- * (A5) = ADDRESS OF PID ENTRY, IF FOUND.
- *
- * USES X - 0, 2, 3, 4, 5.
- * A - 5.
- STP SUBR ENTRY/EXIT
- SA5 LIDI+1
- MX0 -18
- MX3 18
- STP1 BX5 X3*X5 CHECK FOR MATCH
- BX2 X6-X5
- ZR X2,STPX IF MATCH
- STP2 SA5 A5+B1 GET NEXT ENTRY
- ZR X5,STPX IF END OF TABLE
- BX4 -X0*X5 CHECK FOR PID
- NZ X4,STP1 IF PID
- EQ STP2 CHECK NEXT ENTRY
- THD SPACE 4,15
- ** THD - TOGGLE TO HELP DISPLAY.
- *
- * EXIT TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
- * TO *PCM3* WITH HELP FLAG SET.
- * (B7) = 0, IF DISPLAY ACTIVE.
- *
- * USES X - 5, 6.
- * A - 5, 6.
- * B - 7.
- THD SA5 LDSF CHECK IF *L* DISPLAY ACTIVE
- SB7 MSIC * INCORRECT COMMAND.*
- ZR X5,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
- SX6 B1 SET HELP DISPLAY REQUESTED
- SB7 B0 CLEAR ERROR MESSAGE
- SA6 HLPF
- EQ PCM3 PROCESS NEXT COMMAND
- TLD SPACE 4,15
- ** TLD - TOGGLE TO LID DISPLAY.
- *
- * EXIT TO *PCM1* IF *L* DISPLAY NOT ACTIVE.
- * TO *PCM3* WITH HELP FLAG CLEARED.
- * (B7) = 0, IF DISPLAY ACTIVE.
- *
- * USES X - 5, 6.
- * A - 5, 6.
- * B - 7.
- TLD SA5 LDSF CHECK IF *L* DISPLAY ACTIVE
- SB7 MSIC * INCORRECT COMMAND.*
- ZR X5,PCM1 IF INCORRECT COMMAND FOR INPUT FILE
- SX6 B0 CLEAR HELP DISPLAY REQUESTED
- SB7 B0 CLEAR ERROR MESSAGE
- SA6 HLPF
- EQ PCM3 PROCESS NEXT COMMAND
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMCCIO
- *CALL COMCCOD
- *CALL COMCCPM
- *CALL COMCFLD
- *CALL COMCLFM
- *CALL COMCPOP
- *CALL COMCRDS
- *CALL COMCRDW
- *CALL COMCSFM
- *CALL COMCSFN
- *CALL COMCSYS
- *CALL COMCUSB
- *CALL COMCWOD
- *CALL COMCWTC
- *CALL COMCWTS
- *CALL COMCWTH
- *CALL COMCWTO
- *CALL COMCWTW
- *CALL COMCZTB
- TITLE BUFFERS.
- SPACE 4,10
- ** BUFFERS.
- USE BUFFERS
- LIDI EQU * LID TABLE BUFFER
- LIDIE EQU LIDI+LIIL
- LBFO EQU LIDIE OUTPUT *L* DISPLAY BUFFER
- LBFOE EQU LBFO+LBOL
- LBFI EQU LBFOE INPUT *L* DISPLAY BUFFER
- LBFIE EQU LBFI+LBIL
- INPU EQU LBFIE INPUT BUFFER
- INPUE EQU INPU+INPL
- MFTB EQU INPUE MAINFRAME DESCRIPTOR BUFFER
- MFTBE EQU MFTB+MFTL
- OUTP EQU MFTBE OUTPUT BUFFER
- OUTPE EQU OUTP+OUTL
- TITLE PRESET.
- PRS SPACE 4,25
- ** PRS - PRESET.
- *
- * EXIT SYSTEM ORIGIN CHECKED FOR, ABORT IF JOB IS NOT
- * SYSTEM ORIGIN.
- * INPUT AND OUTPUT FILES CHECKED IF *L* DISPLAY
- * NOT ACTIVE, ABORT IF NOT SPECIFED.
- * FILE NAME CONFLICT AND INPUT FILE EXISTENCE
- * CHECKED IF *L* DISPLAY NOT ACTIVE, ABORT IF ERROR.
- * *L* DISPLAY INPUT/OUTPUT BUFFER FIRST WORDS SET,
- * IF *L* DISPLAY IS ACTIVE.
- * (LDSF) = 1 IF *L* DISPLAY IS ACTIVE.
- * = 0 IF SPECIFIED FILES ARE ACTIVE.
- * (LCNT) = LINE COUNT FOR LISTINGS.
- * (NMLL) = SET FOR CONSOLE IN USE.
- * (CMRO) = SET FOR CONSOLE IN USE.
- * (CHDF) = 1.
- * (IND1) = 1.
- * (HLPF) = 0.
- *
- * CALLS ARG.
- *
- * MACROS ABORT, FILINFO, GETJN, GETPP, MESSAGE, SETFS,
- * SYSTEM, WRITE.
- PRS SUBR ENTRY/EXIT
- SB1 1
- SA1 JOPR CHECK FOR SYSTEM ORIGIN
- MX0 -12
- LX1 36
- BX1 -X0*X1
- MX5 42
- SX1 X1-SYOT
- ZR X1,PRS1 IF SYSTEM ORIGIN
- MESSAGE ERIU * INCORRECT USER ACCESS.*
- ABORT ABORT NON SYSTEM ORIGIN JOB
- PRS1 GETPP BUFF,PAGC,PDFC GET LINES PER PAGE AND PRINT DENSITY
- SA1 PAGC
- SX6 X1-6 ENSURE SPACE FOR HEADERS
- SX7 B1+
- SA6 LCNT
- SA7 CHDF SET LID TABLE CHANGED FLAG
- SYSTEM RSB,R,JSNA GET POINTER TO *L* DISPLAY WORD
- SA1 JSNB
- LX1 6
- MX0 -18
- LX0 18
- BX1 -X0*X1
- SA2 A1+B1
- BX2 X0*X2
- BX6 X2+X1
- SA6 A2
- SYSTEM RSB,R,JSNC GET JSN OF JOB USING *L* DISPLAY
- GETJN JSNB COMPARE TO JSN OF RUNNING JOB
- SA1 JSNB
- SA2 JSND
- BX1 X1-X2
- MX0 24
- BX1 X0*X1
- SX6 B0
- ZR X1,PRS6 IF *L* DISPLAY ACTIVE
- SA6 LDSP CLEAR *L* DISPLAY ACTIVE FLAG
- SA1 ACTR CHECK ARGUMENT COUNT
- SB4 X1
- R= A4,ARGR PROCESS ARGUMENTS
- GT B4,B1,PRS3 IF AT LEAST TWO ARGUMENTS
- PRS2 MESSAGE ERFS * NO INPUT/OUTPUT FILE SPECIFIED.*
- ABORT FATAL ERROR
- PRS3 SB5 TARG
- RJ ARG
- NZ X1,PRS2 IF ARGUMENT ERRORS
- SA1 TARG
- SA2 TARG+1
- PL X1,PRS2 IF NO INPUT FILE EQUIVALENCED
- PL X2,PRS2 IF NO OUTPUT FILE EQUIVALENCED
- SA1 IF
- SA2 LF
- MX0 42 CHECK FOR FILE CONFLICT
- BX6 X0*X2
- BX7 X0*X1
- BX1 X6-X7
- NZ X1,PRS4 IF NO CONFLICT
- MESSAGE ERFL * FILE NAME CONFLICT.*
- ABORT FATAL ERROR
- PRS4 SA1 FIBK CHECK FOR INPUT FILE EXISTENCE
- BX1 -X0*X1
- BX7 X7+X1
- SA7 FIBK
- FILINFO FIBK
- SA1 FIBK+1
- AX1 48
- NZ X1,PRS5 IF INPUT FILE DOES EXIST
- MESSAGE ERNF * INPUT FILE NOT FOUND.*
- ABORT FATAL ERROR
- PRS5 SETFS OUTPUT,0 PRESERVE OUTPUT FILE
- WRITE OUTPUT,* PRESET WRITE FUNCTION
- EQ PRSX RETURN
- PRS6 SA1 LDIW STORE *L* DISPLAY BUFFER FIRST WORDS
- SA2 LDOW
- BX6 X1
- BX7 X2
- SA6 LBFI
- SA7 LBFO
- SX6 B1
- SX7 B0
- SA6 LDSF SET *L* DISPLAY ACTIVE FLAG
- SA6 IND1 SET INDEX INTO *LIDI*
- SA7 HLPF CLEAR HELP DISPLAY REQUESTED
- EQ PRSX RETURN
- ERFL DATA C* FILE NAME CONFLICT.*
- ERFS DATA C* NO INPUT/OUTPUT FILE SPECIFIED.*
- ERIU DATA C* INCORRECT USER ACCESS.*
- ERNF DATA C* INPUT FILE NOT FOUND.*
- FIBK VFD 42/0,6/FIBKL,12/1 *FILINFO* PARAMETER BLOCK
- BSS 4
- FIBKL EQU *-FIBK
- JSNA VFD 12/0,12/1,18/LDSP,18/JSNB
- JSNB CON -1
- JSNC VFD 12/0,12/1,18/0,18/JSND
- JSND CON -1
- LDIW VFD 12/LBIL,48/0 *L*DISPLAY INPUT BUFFER FIRST WORD
- LDOW VFD 12/LBOL,48/0 *L*DISPLAY OUTPUT BUFFER FIRST WORD
- TARG BSS 0 ARGUMENT LIST FOR *COMCARG*
- I ARG IF,IF,400B INPUT FILE NAME
- L ARG LF,LF,400B OUTPUT FILE NAME
- ARG
- SPACE 4
- * PRESET COMMON DECKS.
- *CALL COMCARG
- SPACE 4,10
- LIDOUE EQU * END OF PROGRAM
- .RFL= MAX LIDOUE,OUTPE
- RFL= EQU .RFL=
- SPACE 4,10
- END
cdc/nos2.source/opl871/lidou.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator