cdc:nos2.source:opl871:sdsplay
Table of Contents
SDSPLAY
Table Of Contents
- [00008] SDSPLAY - SYSTEM VALUES DISPLAY.
- [00012] SYSTEM VALUES DISPLAY.
- [00150] SCLASS - DEFINE SERVICE CLASS TABLE.
- [00179] DTAV - DEFINE TABLE VALUES.
- [00206] SETKW - SET KEYWORD ENTRY.
- [00248] ASSEMBLY CONSTANTS.
- [00266] TABLES AND DATA DEFINITIONS.
- [00304] TASC - ATTRIBUTES FOR SERVICE CLASS PAGE TABLE.
- [00312] TCSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
- [00332] TDSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
- [00352] TFCV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FC*.
- [00371] TFSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FS*.
- [00390] THLP - *HELP* PAGE TABLE.
- [00398] TKWP - TABLE OF KEYWORD POSITIONS.
- [00445] TKWV - TABLE OF KEYWORD VALUES.
- [00503] TSCT - SERVICE CLASS TABLE.
- [00518] ROLB - ROLLOUT PARAMETER BLOCK.
- [00563] MAIN PROGRAM.
- [00565] MAIN PROGRAM.
- [00583] PROCESS COMMAND LOOP.
- [00585] PCL - PROCESS COMMAND LOOP.
- [00610] PIN - PROCESS INPUT FILE DIRECTIVES.
- [00656] PLP - PROCESS LINE PRINTER.
- [00710] FUNCTION PROCESSORS.
- [00712] CLS - PROCESS *CLASS* COMMAND.
- [00766] END - END *L* DISPLAY UTILITY.
- [00789] HLP - PROCESS *HELP* COMMAND.
- [00806] PGO - PROCESS *GO* COMMAND.
- [00907] PLD - PAGE *L* DISPLAY.
- [00936] RST - *RESET* DISPLAY TO SYSTEM VALUES.
- [00949] SUBROUTINES.
- [00951] AFT - ADD FLOATING TERMINATOR.
- [00993] ATC - APPEND TERMINATOR CHARACTER.
- [01033] BLD - BUILD *L* DISPLAY.
- [01086] CJA - CALCULATE *JCB* OFFSET.
- [01104] CMP - COMMAND PROCESSOR.
- [01175] TCMD - TABLE OF COMMANDS.
- [01193] COI - CONVERT OPERATOR INPUT.
- [01222] CVB - CALCULATE VALUE BOUNDARIES.
- [01249] CVK - CHECK FOR VALID KEYWORD.
- [01270] EFP - EXECUTE FUNCTION PROCESSOR.
- [01291] EPA - ENTER PARAMETER VALUES IN TEMPLATE.
- [01327] EPB - ENTER REMAINING VALUES IN TEMPLATES.
- [01433] GMP - GENERATE MASKING PARAMETERS.
- [01467] GSD - GET SYSTEM *JCB* DATA.
- [01478] GSE - GET SYSTEM ENTRY.
- [01506] ILD - INPUT *L* DISPLAY.
- [01533] OLD - OUTPUT *L* DISPLAY DATA.
- [01546] PKC - PROCESS KEYWORD=VALUE COMMAND.
- [01633] PSK - PROCESS SPECIAL KEYWORDS.
- [01696] RPN - RESET PAGE NUMBER.
- [01721] SDT - SET DATA IN TEMPLATE.
- [01774] SIN - SET INCORRECT NUMERIC PARAMETER.
- [01810] SIP - SET INCORRECT PARAMETER KEYWORD.
- [01839] SPS - SET PARAMETER INTO SYSTEM BUFFER.
- [01869] SSM - SET SERVICE CLASS IN MESSAGE.
- [01898] SVT - SET VALUE IN TEMPLATE.
- [01954] HELP - PAGE 1.
- [01983] HELP - PAGE 2.
- [02011] HELP - PAGE 3.
- [02039] LINE PRINTER HEADER FOR TEMPLATES.
- [02047] ATTRIBUTES FOR SERVICE CLASS - PAGE 1.
- [02088] ATTRIBUTES FOR SERVICE CLASS - PAGE 2.
- [02130] ATTRIBUTES FOR SERVICE CLASS - PAGE 3.
- [02164] OTHER BUFFERS.
- [02198] PRESET.
- [02200] PRS - PRESET ROUTINE.
- [02384] TLOP - TABLE OF LIST OPTIONS.
- [02396] CVO - CHECK FOR VALID OPTION.
- [02416] ERR - ABORT PROGRAM WITH ERROR MESSAGE.
Source Code
- SDSPLAY.txt
- IDENT SDSPLAY,SDS
- ABS
- SST ASCM
- ENTRY SDSPLAY
- ENTRY RFL=
- ENTRY SSJ=
- SYSCOM B1
- TITLE SDSPLAY - SYSTEM VALUES DISPLAY.
- *COMMENT SDSPLAY - SYSTEM VALUES DISPLAY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SDSPLAY SPACE 4,10
- *** SDSPLAY - SYSTEM VALUES DISPLAY.
- *
- * J. J. CHIASSON. 85/01/04.
- SPACE 4,10
- *** *SDSPLAY* IS A CPU UTILITY USED BY THE OPERATOR TO DISPLAY
- * AND UPDATE THE SYSTEM SERVICE CLASS PARAMETERS ON THE *L*
- * DISPLAY OR TO FORMAT THE SAME FOR A PRINTER.
- SPACE 4,20
- *** COMMAND FORMAT.
- *
- * SDSPLAY(LFN,OP,IFN) ORDER DEPENDENT PARAMETERS.
- * OR
- * SDSPLAY(L=LFN,LO=OP,I=IFN) ORDER INDEPENDENT PARAMETERS.
- *
- * WHERE
- *
- * OP = *D* FORMAT DATA FOR *L* DISPLAY (DEFAULT).
- *
- * OP = *L* FORMAT DATA FOR A LINE PRINTER.
- *
- * LFN LIST OUTPUT FILE NAME (DEFAULT = OUTPUT).
- * THIS PARAMETER IS VALID ONLY WITH *LO=L*
- * OR *I=IFN*.
- *
- * IFN INPUT FILE NAME (DEFAULT = NONE).
- *
- * NOTES SPECIAL PRIVILEGES REQUIRED.
- * 1. USER MUST BE *SYOT* TO USE *L* DISPLAY (LO=D).
- * 2. USER MUST BE *SYOT* OR HAVE SYSTEM ORIGIN
- * PRIVILEGES TO GENERATE A LISTING (LO=L).
- *
- * IF A DIRECTIVE ERROR IS DETECTED WHILE PROCESSING
- * INPUT FILE DIRECTIVES (*I=IFN* SPECIFIED), LIST
- * OUTPUT WILL BE GENERATED EVEN IF *LO=L* WAS NOT
- * SPECIFIED.
- SPACE 4,15
- *** DAYFILE MESSAGES.
- *
- * * ARGUMENT ERROR - ARG.*
- * THE SPECIFIED ARGUMENT, *ARG* WAS NOT ONE OF THE
- * ALLOWABLE ARGUMENTS TO *SDSPLAY*.
- *
- * * SDSPLAY UTILITY COMPLETE.*
- * PROCESSING OF THE *SDSPLAY* UTILITY HAS BEEN ENDED.
- *
- * * USER ACCESS NOT VALID.*
- * THE USER MUST HAVE SYSTEM ORIGIN PRIVILEGE.
- SPACE 4,10
- *** *L* DISPLAY ERROR MESSAGES.
- *
- * *UNRECOGNIZABLE DIRECTIVE.*
- * A COMMAND WAS ENTERED VIA THE *L* DISPLAY WHICH WAS
- * NOT ONE OF THE VALID *SDSPLAY* COMMANDS.
- *
- * *UNKNOWN PARAMETER - KW.*
- * AN UNKNOWN KEYWORD PARAMETER, KW, WAS ENTERED.
- *
- * *UNKNOWN SEPARATOR - KW.*
- * THE SEPARATOR FOR THE KEYWORD, KW, WAS NOT AN *=*.
- *
- * *UNKNOWN SERVICE CLASS.*
- * THE SPECIFIED SERVICE CLASS ON A *CLASS* COMMAND
- * WAS INCORRECT.
- *
- * *INCORRECT NUMERIC PARAMETER FOR KW.*
- * THE ENTERED VALUE FOR THE KEYWORD, KW, WAS NOT IN THE
- * ALLOWABLE RANGE FOR THAT KEYWORD.
- *
- * *INCORRECT SERVICE CLASS FOR *DT*.*
- * THE SERVICE CLASS SPECIFIED FOR THE *DT* PARAMETER
- * WAS NOT ALLOWED.
- *
- * *LOWER BOUND IS .GE. UPPER BOUND FOR CLASS XX.*
- * DURING *GO* PROCESSING, A LOWER BOUND WAS ENCOUNTERED
- * WHICH EXCEEDED OR EQUALED THE ASSOCIATED UPPER BOUND
- * FOR THE SERVICE CLASS XX.
- *
- * /*RS* IS GREATER THAN *US* FOR CLASS XX./
- * DURING *GO* PROCESSING, AN *RS* (RECALL CPU SLICE)
- * WAS ENCOUNTERED WHICH EXCEEDED THE *US* (UNEXTENDED
- * CPU SLICE) FOR THE SERVICE CLASS XX.
- *
- * *YYYY NOT WITHIN ALLOWABLE RANGE FOR CLASS XX.*
- * THE PARAMETER *YYYY* (EITHER *EXIL*, *EXIP* OR
- * *EXTP*) WAS NOT WITHIN THE EXECUTION QUEUE PRIORITY
- * RANGE (*EXLP* TO *EXUP*) FOR SERVICE CLASS *XX*.
- *
- * *EXCESS PARAMETERS.*
- * ONE OR MORE EXTRA PARAMETERS WERE ENCOUNTERED ON THE
- * COMMAND.
- SPACE 4,10
- *** *L* DISPLAY INFORMATIVE MESSAGES.
- *
- * *UTILITY COMPLETE.*
- * THE *END* COMMAND WAS ENTERED VIA THE *L* DISPLAY AND
- * *SDSPLAY* SUCCESSFULLY TERMINATED.
- SPACE 4,10
- *** *L* DISPLAY COMMANDS.
- *
- * L.+ PAGE DISPLAY FORWARD.
- *
- * L.- PAGE DISPLAY BACKWARD.
- *
- * L.CLASS=XX DISPLAY THE DATA FOR SERVICE CLASS XX.
- *
- * L.END END PROCESSING OF *SDSPLAY*.
- *
- * L.GO ENTER INTO CMR ALL OF THE VALUES ENTERED
- * VIA THE KEYWORD=VALUE COMMMANDS SINCE THE
- * LAST *GO* OR *RESET* COMMAND.
- *
- * L.HELP DISPLAY THE FIRST PAGE OF THE *HELP*
- * SCREENS.
- *
- * L.KEYWORD=VALUE ALTER THE VALUE FOR THE SPECIFIED KEYWORD.
- * THIS COMMAND MAY ONLY BE SPECIFIED WHEN A
- * *CLASS* DISPLAY IS CURRENTLY BEING
- * DISPLAYED. ANY NUMBER OF KEYWORD=VALUE
- * ENTRIES MAY BE SPECIFIED ON A LINE,
- * SEPARATED BY COMMAS, SUBJECT TO THE *L*
- * DISPLAY INPUT LINE LENGTH RESTRICTION.
- *
- * L.RESET RE-READS THE KEYWORD=VALUE PARAMETERS
- * FROM CMR AND SETS THEM INTO THE DISPLAYS.
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMCCMD
- *CALL COMCDCM
- *CALL COMCDCP
- *CALL COMCMAC
- *CALL COMSEVT
- *CALL COMSMSC
- *CALL COMSPFM
- *CALL COMSSFM
- *CALL COMSSSJ
- SPACE 4,15
- ** SCLASS - DEFINE SERVICE CLASS TABLE.
- *
- * SCLASS NM,MN,DF,ST,TX
- *
- * ENTRY *NM* = SERVICE CLASS NAME.
- * *MN* = TWO CHARACTER MNEMONIC.
- * *DF* = DAYFILE MESSAGE CHARACTER.
- * *ST* = SHORT TEXT FOR *QFTLIST*.
- * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
- *
- * NOTES THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
- * THIS MACRO.
- PURGMAC SCLASS
- SCLASS MACRO NM,MN,DF,ST,TX
- MACREF SCLASS
- .SCL RMT
- VFD 12/0L_MN,48/0 TX
- .SCL RMT
- SCLASS ENDM
- SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
- *CALL COMSSCD
- SPACE 4,20
- * MACRO DEFINITIONS.
- DTAV SPACE 4,15
- ** DTAV - DEFINE TABLE VALUES.
- *
- * DTAV V
- *
- * ENTRY *V* = NUMERIC VALUE TO BE CONVERTED.
- *
- * EXIT IF *V* = 0, THEN THE DISPLAY CODE STRING *UNLIMITED*
- * IS GENERATED.
- * IF *V* .NE. 0, THEN A DISPLAY CODE STRING IS GENERATED
- * WITH LEADING BLANKS AND THE VALUE OF *V* EXPRESSED IN
- * DISPLAY CODE RIGHT JUSTIFIED WITH DECIMAL BASE.
- PURGMAC DTAV
- DTAV MACRO V
- MACREF DTAV
- .A IFEQ V,0
- DATA 10H UNLIMITED
- .A ELSE
- M DECMIC V
- L MICCNT M
- B MICRO 1,10-L,* *
- DATA 10H_"B"_"M"
- .A ENDIF
- DTAV ENDM
- SETKW SPACE 4,10
- ** SETKW - SET KEYWORD ENTRY.
- *
- * *SETKW* GENERATES A TABLE OF VALID KEYWORDS AND THEIR
- * ASSOCIATED ATTRIBUTES.
- *
- * SETKW MN,HI,LO,OF,LB,SZ,SP
- *
- * ENTRY *MN* = KEYWORD MNEMONIC.
- * *HI* = HIGHEST VALUE ALLOWED FOR KEYWORD.
- * *LO* = LOWEST VALUE ALLOWED FOR KEYWORD.
- * *OF* = WORD OFFSET INTO *JCB* FOR KEYWORD.
- * *LB* = LOW ORDER BIT POSITION IN *JCB* FIELD.
- * *SZ* = BIT SIZE OF FIELD.
- * *SP* = SPECIAL PROCESSING OF THIS KEYWORD REQUIRED.
- *
- * NOTES THE *HI* AND *LO* PARAMETERS DO NOT APPLY IF *SP*
- * IS SPECIFIED.
- PURGMAC SETKW
- SETKW MACRO MN,HI,LO,OF,LB,SZ,SP
- MACREF SETKW
- VFD 24/0L_MN,6/OF
- .A IFC NE,$SP$$
- VFD 1/1
- .A ELSE
- VFD 1/0
- .A ENDIF
- VFD 5/
- .B IFC NE,$HI$$
- VFD 18/HI
- .B ELSE
- VFD 18/0
- .B ENDIF
- .C IFC NE,$LO$$
- VFD 6/LO
- .C ELSE
- VFD 6/0
- .C ENDIF
- VFD 48/,6/LB,6/SZ
- SETKW ENDM
- TITLE ASSEMBLY CONSTANTS.
- SPACE 4,10
- **** ASSEMBLY CONSTANTS.
- CNCI EQU 4 NO COMMAND INPUT (*CPM* RETURN STATUS)
- DBUFL EQU 101B DIRECTIVE INPUT FILE BUFFER LENGTH
- LCOMU EQU LCOM/2+1 INPUT BUFFER PACKED
- LDML EQU 6 *L* DISPLAY MESSAGE LENGTH
- LIML EQU 6 *L* DISPLAY INPUT LENGTH
- MXFL EQU 3777B-MNFL MAXIMUM CM FL FOR ONE JOB
- SBUFL EQU MXJC*JCBE-JCBE *SBUF* LENGTH
- SDTA EQU 0 CURRENT DISPLAY SCREEN IS DATA
- SHLP EQU 1 CURRENT DISPLAY SCREEN IS *HELP*
- XCDT EQU 4 X - COORDINATE FOR *L* DISPLAY
- YCDT EQU 2 Y - COORDINATE FOR *L* DISPLAY
- ****
- TITLE TABLES AND DATA DEFINITIONS.
- ORG 111B
- SDS BSS 0
- SPACE 4,10
- * DAYFILE MESSAGES.
- ERAE DATA C* ARGUMENT ERROR - XXXXXXXX*
- ERNV DATA C* USER ACCESS NOT VALID.*
- SEND DATA C* SDSPLAY UTILITY COMPLETE.*
- SPACE 4,10
- * *L* DISPLAY MESSAGES.
- * NOTES 1. ALL MESSAGES MUST BE *LDML* WORDS IN LENGTH.
- * 2. THE PROCESSING ROUTINES FOR THESE MESSAGES
- * ASSUME A SPECIFIC LOCATION FOR THE SUBSTITUTABLE
- * PARAMETERS. IF THE POSITION OF ANY OF THE
- * SUBSTITUTABLE PARAMETERS IS CHANGED, THE
- * APPROPRIATE PROCESSING ROUTINE SHOULD BE UPDATED.
- TMLD BSS 0
- LOC 0
- EBMS DATA 58C
- ERRNZ EBMS BLANK MESSAGE MUST BE FIRST
- EURD DATA 58CUNRECOGNIZABLE DIRECTIVE.
- EUKP DATA 58CUNKNOWN PARAMETER - XX.
- EUKS DATA 58CUNKNOWN SEPARATOR - XX.
- EUKC DATA 58CUNKNOWN SERVICE CLASS.
- EICP DATA 58CINCORRECT NUMERIC PARAMETER FOR XX.
- EISC DATA 58CINCORRECT SERVICE CLASS FOR *DT*.
- ELGU DATA 58CLOWER BOUND IS .GE. UPPER BOUND FOR CLASS XX.
- ERGU DATA 58C*RS* IS GREATER THAN *US* FOR CLASS XX.
- EVOR DATA 58CYYYY NOT WITHIN ALLOWABLE RANGE FOR CLASS XX.
- EEXP DATA 58CEXCESS PARAMETERS.
- ENDM DATA 58CUTILITY COMPLETE.
- EBUF BSS 6 ERROR MESSAGE ASSEMBLY BUFFER
- LOC *O
- TASC SPACE 4,10
- ** TASC - ATTRIBUTES FOR SERVICE CLASS PAGE TABLE.
- TASC PAGT SCA1 PAGE 1
- PAGT SCA2 PAGE 2
- PAGT SCA3 PAGE 3
- PAGT *
- TCSV SPACE 4,10
- ** TCSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
- * *CS*.
- *
- *T TCSV 60/VALUE
- *
- * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
- TCSV BSS 0
- LOC 0
- DTAV 0
- DTAV CSRNG1*100B
- DTAV CSRNG2*100B
- DTAV CSRNG3*100B
- DTAV CSRNG4*100B
- DTAV CSRNG5*100B
- DTAV CSRNG6*100B
- DTAV CSRNG7*100B
- LOC *O
- TDSV SPACE 4,10
- ** TDSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR
- * *DS*.
- *
- *T TDSV 60/VALUE
- *
- * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
- TDSV BSS 0
- LOC 0
- DTAV 0
- DTAV DSRNG1*100B
- DTAV DSRNG2*100B
- DTAV DSRNG3*100B
- DTAV DSRNG4*100B
- DTAV DSRNG5*100B
- DTAV DSRNG6*100B
- DTAV DSRNG7*100B
- LOC *O
- TFCV SPACE 4,10
- ** TFCV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FC*.
- *
- *T TFCV 60/VALUE
- *
- * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
- TFCV BSS 0
- LOC 0
- DTAV 0
- DTAV NFRNG1*10B
- DTAV NFRNG2*10B
- DTAV NFRNG3*10B
- DTAV NFRNG4*10B
- DTAV NFRNG5*10B
- DTAV NFRNG6*10B
- DTAV NFRNG7*10B
- LOC *O
- TFSV SPACE 4,10
- ** TFSV - TABLE OF EQUIVALENCED PARAMETER VALUES FOR *FS*.
- *
- *T TFSV 60/VALUE
- *
- * VALUE = RIGHT JUSTIFIED DISPLAY CODE VALUE.
- TFSV BSS 0
- LOC 0
- DTAV 0
- DTAV FSRNG1*10B
- DTAV FSRNG2*10B
- DTAV FSRNG3*10B
- DTAV FSRNG4*10B
- DTAV FSRNG5*10B
- DTAV FSRNG6*10B
- DTAV FSRNG7*10B
- LOC *O
- THLP SPACE 4,10
- ** THLP - *HELP* PAGE TABLE.
- THLP PAGT HLPA PAGE 1
- PAGT HLPB PAGE 2
- PAGT HLPC PAGE 3
- PAGT *
- TKWP SPACE 4,10
- ** TKWP - TABLE OF KEYWORD POSITIONS.
- *
- *T 24/ ,18/ TAB,18/ ADDR
- *
- * TAB = FWA OF PARAMETER EQUIVALENCE TABLE FOR *DS*, *FC*,
- * *CS* AND *FS* PARAMETERS.
- * ADDR = ADDRESS OF PARAMETER VALUES POSITION IN TEMPLATE.
- *
- * NOTES ENTRIES IN THIS TABLE MUST BE IN THE SAME ORDER AS
- * THOSE IN THE *TKWV* TABLE.
- TKWP BSS 0
- VFD 24/0,18/0,18/INLP
- VFD 24/0,18/0,18/INUP
- VFD 24/0,18/0,18/OTLP
- VFD 24/0,18/0,18/OTUP
- VFD 24/0,18/0,18/EXLP
- VFD 24/0,18/0,18/EXUP
- VFD 24/0,18/0,18/EXIL
- VFD 24/0,18/0,18/EXIP
- VFD 24/0,18/0,18/EXTP
- VFD 24/0,18/0,18/INWF
- VFD 24/0,18/0,18/EXWF
- VFD 24/0,18/0,18/OTWF
- VFD 24/0,18/0,18/ASCT
- VFD 24/0,18/0,18/ASCM
- VFD 24/0,18/0,18/ASNJ
- VFD 24/0,18/0,18/ASCP
- VFD 24/0,18/0,18/ASFL
- VFD 24/0,18/0,18/ASAM
- VFD 24/0,18/0,18/ASEC
- VFD 24/0,18/0,18/ASEM
- VFD 24/0,18/0,18/ASPR
- VFD 24/0,18/0,18/ASSE
- VFD 24/0,18/0,18/ASRS
- VFD 24/0,18/0,18/ASUS
- CON 0 END OF PAGE 1 AND 2 PARAMETERS
- VFD 24/0,18/TDSV,18/ASDS
- VFD 24/0,18/TFCV,18/ASFC
- VFD 24/0,18/TCSV,18/ASCS
- VFD 24/0,18/TFSV,18/ASFS
- CON 0 END OF INDEXED PARAMETERS
- VFD 24/0,18/0,18/ASDT
- VFD 24/0,18/0,18/ASTD
- VFD 24/0,18/0,18/ASCJ
- TKWV SPACE 4,25
- ** TKWV - TABLE OF KEYWORD VALUES.
- *
- *T 24/ MN,6/ OF,1/ SP,5/ ,18/ HI,6/ LO
- *T, 48/ ,6/ LB,6/ SZ
- *
- * MN = DISPLAY CODE KEYWORD MNEMONIC.
- * OF = OFFSET INTO *JCB* FOR KEYWORD.
- * SP = SET IF SPECIAL PROCESSING REQUIRED FOR THIS KEYWORD.
- * HI = HIGHEST VALUE ALLOWED FOR THIS KEYWORD.
- * LO = LOWEST VALUE ALLOWED FOR THIS KEYWORD.
- * LB = LOW ORDER BIT OF KEYWORD IN *JCB*.
- * SZ = BIT SIZE OF KEYWORD IN *JCB*.
- *
- * NOTES 1. *HI* AND *LO* ARE NOT USED IF *SP* IS SPECIFIED.
- * 2. ENTRIES IN THIS TABLE MUST BE IN THE SAME ORDER
- * AS THOSE IN THE *TKWP* TABLE.
- * 3. ALL 4 CHARACTER KEYWORD MNEMONICS MUST OCCUR
- * TOGETHER BEFORE ANY OF THE 2 CHARACTER KEYWORD
- * MNEMONICS IN THIS TABLE.
- * 4. THE INDEXED KEYWORD ENTRIES *DS*, *FC*, *CS* AND
- * *FS* MUST REMAIN TOGETHER.
- TKWV BSS 0
- SETKW INLP,7777B,0,INQT,36,12
- SETKW INUP,7777B,0,INQT,24,12
- SETKW OTLP,7777B,0,OTQT,36,12
- SETKW OTUP,7777B,0,OTQT,24,12
- SETKW EXLP,7777B,0,EXQT,36,12
- SETKW EXUP,7777B,0,EXQT,24,12
- SETKW EXIL,7777B,0,EXQT,48,12
- SETKW EXIP,7777B,0,EXQT,0,12
- SETKW EXTP,7777B,0,MCMT,36,12
- SETKW INWF,,,INQT,12,12,SP
- SETKW EXWF,,,EXQT,12,12,SP
- SETKW OTWF,,,OTQT,12,12,SP
- LFCE BSS 0 END OF 4 CHARACTER KEYWORD ENTRIES
- SETKW CT,7777B,0,SVJT,36,12
- SETKW CM,7777B,0,SVJT,24,12
- SETKW NJ,7777B,0,SVJT,12,12
- SETKW CP,7777B,0,MCMT,48,12
- SETKW FL,MXFL,0,MCMT,24,12
- SETKW AM,77777B,0,MCMT,0,18
- SETKW EC,7777B,0,MECT,24,12
- SETKW EM,7777B,0,MECT,0,12
- SETKW PR,77B,2,CSJT,48,12
- SETKW SE,7777B,0,CSJT,24,12
- SETKW RS,7777B,1,CSJT,12,12
- SETKW US,7777B,1,CSJT,0,12
- SETKW DS,7,0,PFCT,57,3
- SETKW FC,7,0,PFCT,54,3
- SETKW CS,7,0,PFCT,51,3
- SETKW FS,7,0,PFCT,48,3
- LDTE SETKW DT,,,PFCT,0,12,SP
- SETKW TD,7777B,0,SVJT,0,12
- CON 0 END OF TABLE
- SETKW CJ,7777B,0,JCTT,48,12 SPECIAL ENTRY FOR *CJ*
- TSCT SPACE 4,10
- ** TSCT - SERVICE CLASS TABLE.
- *
- *T 12/ CLASS,48/ 0
- *
- * CLASS = TWO CHARACTER SERVICE CLASS MNEMONIC.
- TSCT BSS 0
- LOC 0
- LIST G
- .SCL HERE REMOTE BLOCK FROM *SCLASS* MACRO
- LIST *
- CON 0 END OF TABLE
- LOC *O
- SPACE 4,10
- ** ROLB - ROLLOUT PARAMETER BLOCK.
- ROLB VFD 30/0,18/LINE,12/0
- SPACE 4,10
- * *SETJOB* PARAMETER BLOCK.
- SETB VFD 60/0
- VFD 48/0,12/2LDF
- SPACE 4,10
- * *SFM* PARAMETER BLOCKS.
- * READ SYSTEM SERVICE CLASS DATA.
- SFMA VFD 12/RCIF,11/0,1/0,12/SBUFL,6/0,18/SBUF
- CON 0
- * UPDATE SYSTEM SERVICE CLASS DATA.
- SFMB VFD 12/RCIF,11/0,1/1,12/SBUFL,6/0,18/SBUF
- CON 0
- SPACE 4,10
- * SSJ= ENTRY POINT.
- SSJ= EQU SSJP
- SPACE 4,10
- * FET DEFINITION.
- INPUT FILEC DBUF,DBUFL DIRECTIVE INPUT FET
- OUTPUT FILEB OBUF,OBUFL OUTPUT FET
- SPACE 4,10
- * GLOBAL STORAGE DEFINITIONS.
- CLDS CON SHLP CURRENT *L* DISPLAY SCREEN STATUS
- CSCL CON 0 SERVICE CLASS ORDINAL FOR DATA DISPLAYS
- EMOR CON 0 *L* DISPLAY MESSAGE ORDINAL
- LDBP CON LBUF *L* DISPLAY BUFFER POINTER
- SPACE 4,10
- * FLAG DEFINITIONS.
- DFLG CON 0 DIRECTIVE INPUT FILE OPTION FLAG
- LFLG CON 0 LINE PRINTER OPTION FLAG
- TITLE MAIN PROGRAM.
- SDSPLAY SPACE 4,10
- ** SDSPLAY - MAIN PROGRAM.
- *
- * EXIT TO *PLP* IF PRINT OPTION SPECIFIED.
- * TO *PCL* IF *L* DISPLAY OPTION SPECIFIED.
- *
- * USES X - 1.
- * A - 1.
- *
- * CALLS PRS.
- SDSPLAY BSS 0 ENTRY
- RJ PRS PRESET ROUTINE
- SA1 DFLG
- NZ X1,PIN IF INPUT FILE DIRECTIVES SPECIFIED
- SA1 LFLG CHECK IF LINE PRINTER OPTION SPECIFIED
- NZ X1,PLP IF LINE PRINTER SPECIFIED
- EQ PCL PROCESS COMMAND LOOP
- TITLE PROCESS COMMAND LOOP.
- PCL SPACE 4,15
- ** PCL - PROCESS COMMAND LOOP.
- *
- * *PCL* IS THE PROCESSING LOOP FOR THE *L* DISPLAY OPTION.
- *
- * ENTRY (CSCL) = 0.
- *
- * EXIT VIA FUNCTION PROCESSOR *END* WHEN *END* DIRECTIVE
- * IS ENCOUNTERED.
- *
- * USES X - 2.
- * A - 2.
- *
- * CALLS BLD, CMP, EFP, ILD, OLD.
- PCL BSS 0 ENTRY
- PCL1 RJ BLD BUILD *L* DISPLAY
- RJ OLD OUTPUT *L* DISPLAY
- RJ ILD INPUT *L* DISPLAY COMMAND
- RJ CMP COMMAND PROCESSOR
- SA2 EMOR CHECK FOR ERROR
- NZ X2,PCL1 IF ERROR
- RJ EFP EXECUTE FUNCTION PROCESSOR
- EQ PCL1 LOOP
- PIN SPACE 4,20
- ** PIN - PROCESS INPUT FILE DIRECTIVES.
- *
- * *PIN* IS THE PROCESSOR FOR THE INPUT DIRECTIVES FILE.
- *
- * ENTRY (CSCL) = 0.
- *
- * EXIT TO *PLP* IF PRINT OPTION SPECIFIED OR IF ERRORS
- * ENCOUNTERED.
- * TO *END* IF END OF INPUT FILE ENCOUNTERED.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2, 6.
- *
- * CALLS CMP, EFP, END.
- *
- * MACROS MESSAGE, READ, READC.
- PIN BSS 0 ENTRY
- READ INPUT INITIALIZE READ
- PIN1 READC INPUT,IBUF,LIML READ NEXT LINE
- NZ X1,PIN3 IF END OF INPUT
- RJ CMP COMMAND PROCESSOR
- SA2 EMOR CHECK FOR ERROR
- NZ X2,PIN2 IF ERROR
- RJ EFP EXECUTE FUNCTION PROCESSOR
- SA2 EMOR CHECK FOR ERROR
- ZR X2,PIN1 IF NO ERROR
- PIN2 BX6 X2
- SA6 PINA SET ERROR ENCOUNTERED
- MESSAGE TMLD+X2 POST ERROR
- MESSAGE IBUF POST ORIGINAL LINE
- EQ PIN1 GET NEXT DIRECTIVE
- PIN3 SA1 PINA CHECK FOR ERRORS
- SA2 LFLG CHECK FOR OUTPUT DESIRED
- MX6 0
- BX1 X1+X2
- SA6 CSCL
- NZ X1,PLP IF LINE PRINTER OUTPUT NEEDED
- RJ END
- * ENDRUN
- PINA BSSZ 1 .NZ. IF ERROR ENCOUNTERED
- PLP SPACE 4,15
- ** PLP - PROCESS LINE PRINTER.
- *
- * *PLP* FORMATS AND OUTPUTS ALL DATA DISPLAYS TO A LOCAL FILE
- * FOR PRINTING ON A LINE PRINTER.
- *
- * ENTRY (CSCL) = 0.
- *
- * EXIT DATA FORMATTED ON LOCAL FILE.
- *
- * USES X - 1, 2, 3, 6.
- * A - 1, 6.
- *
- * CALLS FLD, GSD, SDT.
- *
- * MACROS ENDRUN, MESSAGE, SETFS, SETJOB, WRITER.
- PLP BSS 0 ENTRY
- * INITIALIZE DATA BUFFERS.
- RJ GSD GET SYSTEM SERVICE CLASS DATA
- * LOOP THROUGH ALL SERVICE CLASSES.
- PLP1 RJ SDT SET DATA IN TEMPLATE
- SX1 LPHR FWA OF PAGE TO DISPLAY
- SX2 OUTPUT SET FET ADDRESS
- SX3 B1+ INDICATE ZERO BYTE TERMINATED LINES
- SX6 X1+LPHRL+SCA1L-1 LWA OF PAGE TO DISPLAY
- RJ FLD FORMAT *L* DISPLAY BUFFER
- WRITER X2 FLUSH BUFFER
- SX1 SCA2 PAGE 2 OF DATA
- SX3 1
- SX6 SCA2+SCA2L-1
- RJ FLD FORMAT *L* DISPLAY BUFFER
- WRITER X2
- SX1 SCA3 PAGE 3 OF DATA
- SX3 1
- SX6 SCA3+SCA3L-1
- RJ FLD FORMAT *L* DISPLAY BUFFER
- WRITER X2
- SA1 CSCL GET SERVICE CLASS ORDINAL
- SX6 X1+B1 INCREMENT TO NEXT SERVICE CLASS
- SA6 A1
- SX2 X6-MXJC+1
- NZ X2,PLP1 IF MORE SERVICE CLASSES TO PROCESS
- * SET JOB PARAMETERS.
- PLP2 SETFS OUTPUT,0 SAVE OUTPUT AS LOCAL FILE
- SETJOB SETB CHANGE JOB DISPOSITION TO *DF*
- MESSAGE SEND,0,R * SDSPLAY UTILITY COMPLETE.*
- ENDRUN
- TITLE FUNCTION PROCESSORS.
- CLS SPACE 4,15
- ** CLS - PROCESS *CLASS* COMMAND.
- *
- * ENTRY (X1) = SEPARATOR EXIT CONDITION FROM *POP*.
- * (B6) = EXIT CONDITION FROM *POP*.
- *
- * EXIT (CSCL) = UPDATED SERVICE CLASS ORDINAL, IF NO ERROR.
- * (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
- * THE DATA FOR THE SPECIFIED SERVICE CLASS IS SET INTO
- * THE TEMPLATES.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- *
- * CALLS POP, RPN, SDT.
- CLS3 SX6 EEXP *EXCESS PARAMETERS.*
- SA6 EMOR SET MESSAGE ORDINAL
- EQ CLSX RETURN
- CLS4 SX6 EUKC *UNKNOWN SERVICE CLASS.*
- SA6 EMOR
- EQ CLSX RETURN
- CLS5 SX6 EURD *UNRECOGNIZABLE DIRECTIVE.*
- SA6 EMOR
- CLS SUBR ENTRY/EXIT
- ZR B6,CLS5 IF NO MORE PARAMETERS ON COMMAND
- SX1 X1-1R=
- NZ X1,CLS5 IF INCORRECT SEPARATOR
- RJ POP GET SERVICE CLASS PARAMETER
- PL X2,CLS3 IF NO TERMINATOR, ECXESS PARAMETERS.
- * CHECK SERVICE CLASS TABLE FOR A MATCH.
- SA1 TSCT FWA SERVICE CLASS TABLE
- CLS1 ZR X1,CLS4 IF UNKNOWN SERVICE CLASS
- BX1 X6-X1
- ZR X1,CLS2 IF A VALID SERVICE CLASS IS FOUND
- SA1 A1+1 GET NEXT ENTRY IN SERVICE CLASS TABLE
- EQ CLS1 CHECK NEXT ENTRY
- * SET SERVICE CLASS TO BE DISPLAYED.
- CLS2 SX6 A1-TSCT SET SERVICE CLASS ORDINAL
- SA6 CSCL
- SX6 SDTA SET CURRENT SCREEN STATUS TO DATA
- SA6 CLDS
- RJ SDT SET DATA IN TEMPLATE
- RJ RPN RESET PAGE NUMBER
- EQ CLSX RETURN
- END SPACE 4,10
- ** END - END *L* DISPLAY UTILITY.
- *
- * *END* TERMINATES THE UTILITY WITH A DAYFILE MESSAGE.
- *
- * USES X - 6.
- * A - 6.
- *
- * CALLS BLD, OLD.
- *
- * MACROS DSDINP, ENDRUN, MESSAGE.
- END SUBR ENTRY/EXIT
- SX6 ENDM *UTILITY COMPLETE.*
- SA6 EMOR SET MESSAGE ORDINAL
- SA1 DFLG
- NZ X1,END1 IF INPUT DIRECTIVES
- RJ BLD
- RJ OLD OUTPUT *L* DISPLAY
- DSDINP IPW,C CLEAR *L* DISPLAY INPUT BUFFER
- END1 MESSAGE SEND,0,R * SDSPLAY UTILITY COMPLETE.*
- ENDRUN
- HLP SPACE 4,10
- ** HLP - PROCESS *HELP* COMMAND.
- *
- * EXIT (CLDS) = *HELP* DISPLAY SCREEN STATUS.
- * *HELP* DISPLAY RESET TO PAGE 1.
- *
- * USES X - 6.
- * A - 6.
- *
- * CALLS RPN.
- HLP SUBR ENTRY/EXIT
- SX6 SHLP SET *HELP* DISPLAY SCREEN STATUS
- SA6 CLDS
- RJ RPN RESET PAGE NUMBER
- EQ HLPX RETURN
- PGO SPACE 4,20
- ** PGO - PROCESS *GO* COMMAND.
- *
- * *PGO* PERFORMS CERTAIN DATA VALIDATIONS, THEN IF THERE ARE
- * NO ERRORS, SETS ALL KEYWORD VALUES ENTERED SINCE THE LAST
- * *GO* OR *RESET* INTO CMR.
- *
- * ENTRY (SBUF) = UPDATED *JCB* DATA.
- *
- * EXIT *JCB* IN CMR UPDATED, IF NO ERROR DETECTED.
- *
- * USES X - 0, 1, 2, 5, 6, 7.
- * A - 1, 2, 5, 7.
- * B - 2, 5.
- *
- * CALLS CVB, SSM.
- *
- * MACROS SYSTEM.
- * SET *LOWER BOUND IS .GE. UPPER BOUND FOR CLASS XX.* ERROR.
- PGO3 SX0 ELGU
- EQ PGO5 PROCESS ERROR MESSAGE
- * SET *YYYY NOT WITHIN ALLOWABLE RANGE FOR CLASS XX.* ERROR.
- PGO4 SA1 TMLD+EVOR INSERT VALUE IN MESSAGE
- MX0 -36
- BX1 -X0*X1
- SX0 EVOR DEFINE MESSAGE INDEX
- BX7 X5+X1
- SA7 A1
- PGO5 RJ SSM SET SERVICE CLASS IN MESSAGE
- EQ PGOX RETURN
- * SET /*RS* IS GREATER THAN *US* FOR CLASS XX./ ERROR.
- PGO6 SX0 ERGU
- EQ PGO5 PROCESS ERROR MESSAGE
- * SET VALIDATED VALUES INTO CMR.
- PGO7 SYSTEM SFM,R,SFMB,RSDF*100B SET SYSTEM VALUES IN CMR
- PGO SUBR ENTRY/EXIT
- * ENSURE ALL *LP* VALUES ARE LESS THAN ALL *UP* VALUES.
- MX0 -12
- SB2 SBUF SET FWA SYSTEM BUFFER
- SB5 B0 INITIALIZE *JCB* OFFSET
- PGO1 SB5 B5+1 SET NEXT SERVICE CLASS ORDINAL
- SX2 B5-MXJC
- ZR X2,PGO7 IF END OF SERVICE CLASSES
- SA2 B2+INQT CHECK INPUT QUEUE
- RJ CVB CALCULATE VALUE BOUNDARIES
- NG X1,PGO3 IF BOUNDS ERROR
- SA2 B2+OTQT CHECK OUTPUT QUEUE
- RJ CVB CALCULATE VALUE BOUNDARIES
- NG X1,PGO3 IF BOUNDS ERROR
- SA2 B2+EXQT CHECK EXECUTION QUEUE
- RJ CVB CALCULATE VALUE BOUNDARIES
- NG X1,PGO3 IF BOUNDS ERROR
- SA5 PGOA SET *EXIL* FOR MESSAGE
- LX2 -12 CHECK *EXIL* VALUE
- BX1 -X0*X2
- IX6 X4-X1
- LX2 -12 CHECK *EXIP* VALUE
- NG X6,PGO4 IF *EXIL* IS GREATER THAN *EXUP*
- IX6 X1-X3
- BX1 -X0*X2
- NG X6,PGO4 IF *EXIL* IS LESS THAN *EXLP*
- SA5 A5+B1 SET *EXIP* FOR MESSAGE
- IX6 X4-X1
- NG X6,PGO4 IF *EXIP* IS GREATER THAN *EXUP*
- IX6 X1-X3
- NG X6,PGO4 IF *EXIP* IS LESS THAN *EXUP*
- SX1 B5-TSSC
- NZ X1,PGO2 IF NOT TIME-SHARING SERVICE CLASS
- SA2 B2+MCMT CHECK *EXTP* VALUE
- LX2 24
- BX1 -X0*X2
- SA5 A5+B1 SET *EXTP* FOR MESSAGE
- IX6 X4-X1
- NG X6,PGO4 IF *EXTP* IS GREATER THAN *EXLP*
- IX6 X1-X3
- NG X6,PGO4 IF *EXTP* IS LESS THAN *EXLP*
- PGO2 SA2 B2+CSJT GET *US* VALUE
- BX1 -X0*X2
- LX2 -12
- BX3 -X0*X2 GET *RS* VALUE
- IX6 X1-X3
- NG X6,PGO6 IF *RS* .GT. *US*
- SB2 B2+JCBE NEXT SERVICE CLASS ORDINAL
- EQ PGO1 CHECK BOUNDS FOR NEXT SERVICE CLASS
- PGOA DATA 0LEXIL INSERT INTO MESSAGE IF ERROR
- DATA 0LEXIP
- DATA 0LEXTP
- PLD SPACE 4,15
- ** PLD - PAGE *L* DISPLAY.
- *
- * ENTRY (X1) = PAGING CHARACTER RIGHT JUSTIFIED.
- * (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
- *
- * EXIT APPROPRIATE PAGE TABLE UPDATED.
- *
- * USES X - 1, 2, 3, 4.
- * A - 3.
- *
- * CALLS PGD.
- PLD SUBR ENTRY/EXIT
- SX2 THLP ASSUME *HELP* PAGE TABLE
- SA3 CLDS
- SX3 X3-SHLP
- ZR X3,PLD1 IF *HELP* STATUS
- SX2 TASC SET DATA PAGE TABLE
- PLD1 LX1 54 LEFT JUSTIFY PAGING CHARACTER
- BX3 X1
- SX1 LDBP *L* DISPLAY BUFFER POINTER FOR *PGD*
- SX4 B1+ INDICATE *L* DISPLAY
- RJ PGD PAGE *L* DISPLAY
- EQ PLDX RETURN
- PGD HERE REMOTE BLOCK FROM *COMCDCP*
- RST SPACE 4,10
- ** RST - *RESET* DISPLAY TO SYSTEM VALUES.
- *
- * ENTRY (CSCL) = CURRENT SERVICE CLASS ORDINAL.
- *
- * EXIT TEMPLATE UPDATED TO CURRENT SYSTEM DATA.
- *
- * CALLS GSD, SDT.
- RST SUBR ENTRY/EXIT
- RJ GSD GET SYSTEM DATA
- RJ SDT SET DATA IN TEMPLATE
- EQ RSTX RETURN
- TITLE SUBROUTINES.
- AFT SPACE 4,20
- ** AFT - ADD FLOATING TERMINATOR.
- *
- * ENTRY (X1) = NAME TO HAVE FLOATING TERMINATOR APPENDED.
- * (A2) = FWA OF DESTINATION FOR RESULT, IF NAME IS 10
- * CHARACTERS IN LENGTH.
- *
- * EXIT (X6) = NAME WITH FLOATING TERMINATOR APPENDED.
- * (A2) = UPDATED IF NAME IS 10 CHARACTERS IN LENGTH.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 1, 2, 3, 6, 7.
- * B - 2.
- *
- * CALLS SFN.
- *
- * NOTES IF THE NAME IS 10 CHARACTERS IN LENGTH, THE FLOATING
- * TERMINATOR WILL BE PLACED IN THE FIRST CHARACTER OF
- * THE NEXT WORD.
- AFT SUBR ENTRY/EXIT
- RJ SFN SPACE FILL NAME
- SA1 AFTA FLOATING TERMINATOR
- SB2 6
- AX0 X7,B2 PRODUCE MASK FOR FLOATING TERMINATOR
- BX0 X7-X0
- SA3 TMLD INSURE LAST WORD CONTAINS BLANKS
- BX7 X3
- SA7 A2+B1
- NZ X0,AFT1 IF TERMINATOR GOES IN THIS WORD
- SA6 A2 SAVE 10 CHARACTER KEYWORD
- SA2 A2+B1 SET NEXT WORD FOR FLOATING TERMINATOR
- BX6 X2
- MX0 6
- AFT1 BX6 -X0*X6
- BX1 X1*X0
- BX6 X6+X1 ADD FLOATING TERMINATOR
- EQ AFTX RETURN
- AFTA DATA 10H.......... FLOATING TERMINATOR
- ATC SPACE 4,15
- ** ATC - APPEND TERMINATOR CHARACTER.
- *
- * *ATC* ENSURES THAT THE *L* DISPLAY COMMAND IMAGE HAS A
- * TERMINATOR. THIS ENSURES THAT *POP* WILL NOT RETURN AN
- * ERROR CODE DUE TO THE LACK OF A VALID TERMINATOR.
- *
- * ENTRY (B6) = FWA BUFFER TO CHECK FOR TERMINATOR.
- * (USBC) = LWA OF BUFFER TO CHECK FOR TERMINATOR.
- *
- * EXIT *.* APPENDED TO END OF STRING BUFFER.
- *
- * USES X - 2, 7.
- * A - 2, 7.
- * B - 2, 3.
- ATC SUBR ENTRY/EXIT
- SB2 B6 SET FWA TO CHECK
- SA2 USBC SET LWA TO CHECK
- SB3 X2+B1
- ATC1 SA2 B2+
- ZR X2,ATC2 IF END OF INPUT
- EQ B2,B3,ATC2 IF BUFFER EXHAUSTED
- SB2 B2+1
- EQ ATC1 CHECK NEXT CHARACTER
- * APPEND TERMINATOR.
- ATC2 SA2 A2-1 CHECK IF THERE IS ALREADY A TERMINATOR
- SX7 X2-1R.
- ZR X7,ATCX IF TERMINATOR ALREADY PRESENT
- SX7 X2-1R)
- ZR X7,ATCX IF TERMINATOR ALREADY PRESENT
- SX7 1R. PUT TERMINATOR INTO BUFFER
- SA7 A2+1
- SA2 USBC INCREMENT LWA CHARACTER IN STRING BUFFER
- SX7 X2+B1
- SA7 A2
- EQ ATCX RETURN
- BLD SPACE 4,20
- ** BLD - BUILD *L* DISPLAY.
- *
- * *BLD* FORMATS THE CURRENT SCREEN FOR OUTPUT TO THE CONSOLE
- * *L* DISPLAY.
- *
- * ENTRY (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
- * (EMOR) = *L* DISPLAY MESSAGE INDEX.
- *
- * EXIT (LBUF) = FORMATTED *L* DISPLAY BUFFER.
- *
- * USES X - 1, 2, 3, 5, 6.
- * A - 1, 2, 3, 6.
- * B - 2, 3, 4, 6.
- *
- * CALLS COI, FLB.
- *
- * MACROS MOVE.
- BLD SUBR ENTRY/EXIT
- SA2 CLDS GET CURRENT SCREEN STATUS
- RJ COI CONVERT OPERATOR INPUT
- SA1 THLP FWA OF *HELP* PAGE TABLE
- SA3 LFWA GET *L-DISPLAY* CONTROL WORD
- SX6 LHLP *SDSPLAY - HELP.*
- MX5 42
- LX5 12
- SX2 X2-SHLP
- ZR X2,BLD1 IF *HELP* STATUS
- SA1 TASC FWA OF DATA PAGE TABLE
- SX6 LCLS *SDSPLAY - CLASS.*
- BLD1 LX6 12 SET FWA OF DISPLAY ID STRING
- BX5 X5*X3
- BX6 X6+X5
- LX1 30
- SA6 A3
- SB2 X1
- SA1 A1+B2 GET FWA OF TEMPLATE TO DISPLAY
- SX5 X1 SAVE FWA OF TEMPLATE TO DISPLAY
- SA2 EMOR MESSAGE ORDINAL
- MOVE LDML,TMLD+X2,X5+LDMO SET MESSAGE INTO TEMPLATE
- MOVE LIML,IBUF,X5+LDMO+LDML SET INPUT LINE INTO TEMPLATE
- SX1 X5 FWA OF BUFFER TO FORMAT
- SX2 B0 SET FORMAT DESTINATION FOR *L* DISPLAY
- SX6 X1+DSPL-1 LWA OF BUFFER TO FORMAT
- SX3 B1+ INDICATE ZERO BYTE TERMINATED LINES
- SB2 LBUF FWA TO PLACE FORMATTED DATA
- SB6 LBUF+LBUFL LWA+1 OF BUFFER TO RECEIVE FORMATTED DATA
- SB3 XCDT SET X-COORDINATE FOR *L* DISPLAY
- SB4 YCDT SET Y-COORDINATE FOR *L* DISPLAY
- RJ FLB FORMAT DATA TO BE OUTPUT
- EQ BLDX RETURN
- CJA SPACE 4,10
- ** CJA - CALCULATE *JCB* OFFSET.
- *
- * ENTRY (CSCL) = CURRENT SERVICE CLASS ORDINAL.
- *
- * EXIT (X5) = FWA OF *JCB* IN *SBUF* FOR CURRENT
- * SERVICE CLASS.
- *
- * USES X - 1, 2, 5.
- * A - 1.
- CJA SUBR ENTRY/EXIT
- SA1 CSCL GET CURRENT SERVICE CLASS ORDINAL
- SX2 JCBE
- IX1 X1*X2 OFFSET INTO *JCB* BUFFER
- SX5 X1+SBUF
- EQ CJAX RETURN
- CMP SPACE 4,15
- ** CMP - COMMAND PROCESSOR.
- *
- * ENTRY (IBUF) = *L* DISPLAY COMMAND.
- *
- * EXIT (X1) = SEPARATOR FROM *POP*.
- * = LEFT JUSTIFIED PAGING CHARACTER, IF PAGING
- * COMMAND.
- * (B5) = FUNCTION PROCESSOR ADDRESS, IF NO ERROR.
- * (EMOR) = *L* DISPLAY MESSAGE ORDINAL.
- *
- * USES X - 0, 2, 3, 6.
- * A - 2, 6.
- * B - 2, 5.
- *
- * CALLS ATC, POP, USB.
- CMP5 SX6 EURD *UNRECOGNIZABLE DIRECTIVE.*
- SA6 EMOR SET MESSAGE ORDINAL
- EQ CMPX RETURN
- CMP6 SX6 EEXP *EXCESS PARAMETERS.*
- SA6 EMOR
- CMP SUBR ENTRY/EXIT
- SX6 B0+ SET NO ERROR
- SA6 EMOR SET MESSAGE ORDINAL
- * CHECK FOR PAGING COMMAND.
- SB2 IBUF FWA COMMAND BUFFER
- RJ USB UNPACK STRING BUFFER
- RJ ATC APPEND TERMINATOR CHARACTER
- RJ POP PICK OUT PARAMETER
- NZ X6,CMP1 IF NOT PAGING COMMAND
- SB5 PLD PAGE *L* DISPLAY
- SX2 X1-1R+ CHECK FOR *+*
- SX3 X1-1R- CHECK FOR *-*
- ZR X2,CMPX IF PAGING CHARACTER
- ZR X3,CMPX IF PAGING CHARACTER
- * CHECK REMAINING COMMANDS.
- CMP1 SA2 TCMD FWA COMMAND TABLE
- MX0 42 COMMAND MASK
- CMP2 ZR X2,CMP4 IF END OF TABLE
- BX3 X0*X2 GET COMMAND FROM TABLE
- BX3 X3-X6
- ZR X3,CMP3 IF A MATCH
- SA2 A2+1
- EQ CMP2 CHECK NEXT ENTRY IN COMMAND TABLE
- * COMMAND FOUND.
- CMP3 SB5 X2+ SET PROCESSOR ADDRESS
- SB2 B5-CLS
- ZR B2,CMPX IF THE *CLASS* COMMAND
- ZR B6,CMPX IF NO EXCESS PARAMETERS
- EQ CMP6 PROCESS *EXCESS PARAMETERS*
- * CHECK FOR KEYWORD=VALUE COMMAND.
- CMP4 SA2 CLDS CHECK CURRENT DISPLAY STATUS
- SX2 X2-SHLP
- ZR X2,CMP5 IF *HELP* STATUS
- * PROCESS KEYWORD=VALUE COMMAND.
- SB5 PKC PROCESS KEYWORD COMMAND
- EQ CMPX RETURN
- TCMD SPACE 4,10
- ** TCMD - TABLE OF COMMANDS.
- *
- *T 42/ COMMAND,18/ ADDR
- *
- * COMMAND = DISPLAY CODE COMMAND VALUE.
- * ADDR = FUNCTION PROCESSOR FWA FOR COMMAND.
- TCMD BSS 0
- * VFD 42/0L+,18/PLD
- * VFD 42/0L-,18/PLD
- VFD 42/0LCLASS,18/CLS
- VFD 42/0LEND,18/END
- VFD 42/0LGO,18/PGO
- VFD 42/0LHELP,18/HLP
- VFD 42/0LRESET,18/RST
- CON 0 END OF TABLE
- COI SPACE 4,20
- ** COI - CONVERT OPERATOR INPUT.
- *
- * *COI* CONVERTS THE OPERATOR *L* DISPLAY INPUT BY CHANGING
- * ALL ZERO BYTES TO BLANKS. THE LAST WORD OF THE INPUT LINE
- * IS NOT CONVERTED TO INSURE THAT A ZERO BYTER TERMINATOR
- * EXISTS.
- *
- * ENTRY IBUF = FWA OF INPUT BUFFER.
- *
- * EXIT (IBUF) = INPUT BUFFER, BLANK FILLED, ZERO BYTE
- * TERMINATED.
- *
- * USES X - 1.
- * A - 1, 6.
- * B - 2.
- *
- * CALLS ZTB.
- COI SUBR ENTRY/EXIT
- SB2 LCOMU-1 OPERATOR INPUT LINE LENGTH-1
- SA1 IBUF-1 FIRST WORD-1 OF OPERATOR INPUT
- COI1 ZR B2,COIX IF ALL WORDS-1 CONVERTED
- SA1 A1+1
- RJ ZTB CONVERT ZERO BYTES TO BLANKS
- SA6 A1 REPLACE IN *IBUF*
- SB2 B2-B1 DECREMENT NUMBER OF WORDS TO CONVERT
- EQ COI1 CONVERT NEXT WORD
- CVB SPACE 4,20
- ** CVB - CALCULATE VALUE BOUNDARIES.
- *
- * *CVB* CALCULATES IF THE LOWER BOUNDARY IS LESS THAN
- * OR EQUAL TO THE UPPER BOUNDARY FOR THE QUEUE PRIORITY
- * PARAMETERS.
- *
- * ENTRY (X2) = *JCB* WORD, *INQT*, *EXQT* OR *OTQT*.
- * (X0) = MASK FOR PRIORITY FIELDS.
- *
- * EXIT (X1) = NEGATIVE, IF BOUNDS ERROR.
- * = POSITIVE, IF NO BOUNDS ERROR.
- * (X2) = SHIFTED RIGHT 24 BITS.
- * (X3) = LOWER BOUND VALUE.
- * (X4) = UPPER BOUND VALUE.
- *
- * USES X - 1, 2, 3, 4.
- CVB SUBR ENTRY/EXIT
- LX2 -24 GET UPPER BOUND
- BX4 -X0*X2
- LX2 -12 GET LOWER BOUND
- BX3 -X0*X2
- IX1 X4-X3
- SX1 X1-1
- EQ CVBX RETURN
- CVK SPACE 4,10
- ** CVK - CHECK FOR VALID KEYWORD.
- *
- * ENTRY (X6) = KEYWORD TO CHECK.
- *
- * EXIT (X3) = 0, IF VALID KEYWORD FOUND.
- * = NON-ZERO, IF VALID KEYWORD NOT FOUND.
- *
- * USES X - 0, 3, 5.
- * A - 5.
- CVK SUBR ENTRY/EXIT
- SA5 TKWV FWA OF KEYWORD TABLE
- MX0 24
- CVK1 ZR X5,CVKX IF END OF TABLE
- BX3 X0*X5 GET KEYWORD FROM TABLE
- BX3 X3-X6
- ZR X3,CVKX IF A MATCH
- SA5 A5+2
- EQ CVK1 CHECK NEXT ENTRY IN KEYWORD TABLE
- EFP SPACE 4,15
- ** EFP - EXECUTE FUNCTION PROCESSOR.
- *
- * *EFP* JUMPS TO THE CORRECT FUNCTION PROCESSOR, BASED UPON
- * THE COMMAND ENTERED VIA THE *L* DISPLAY. THE FUNCTION
- * PROCESSING ROUTINE IS SET UP SO THAT IT RETURNS TO THE
- * ADDRESS *EFP* WOULD HAVE RETURNED TO.
- *
- * ENTRY (B5) = ADDRESS OF FUNCTION PROCESSOR.
- *
- * EXIT TO FUNCTION PROCESSOR WITH RETURN ADDRESS SET.
- *
- * USES X - 2, 7.
- * A - 2, 7.
- EFP SUBR ENTRY/EXIT
- SA2 EFPX SET RETURN ADDRESS IN PROCESSOR
- BX7 X2
- SA7 B5
- JP B5+1 JUMP TO PROCESSOR
- EPA SPACE 4,15
- ** EPA - ENTER PARAMETER VALUES IN TEMPLATE.
- *
- * *EPA* SETS ALL OF THE PARAMETER VALUES INTO PAGES 1 AND 2
- * OF THE TEMPLATES EXCEPT FOR THE CURRENT JOB COUNT.
- *
- * ENTRY (X5) = OFFSET INTO *SBUF* FOR *JCB* FOR CURRENT
- * SERVICE CLASS.
- *
- * USES X - 0, 1, 2.
- * A - 1, 2.
- * B - 2, 3.
- *
- * CALLS COD, GSE, SVT.
- EPA SUBR ENTRY/EXIT
- SA1 TKWV FWA OF TABLE OF KEYWORD VALUES
- SA2 TKWP FWA OF TABLE OF TEMPLATE ADDRESSES
- EPA1 ZR X2,EPAX IF ALL ENTRIES PROCESSED
- RJ GSE GET SYSTEM ENTRY FOR KEYWORD
- ZR B7,EPA2 IF NOT SPECIAL PROCESSING
- SB2 X1+ USER POWER OF 2 AS SHIFT COUNT
- SX1 B1+
- LX1 B2 SET BINARY POWER OF 2 FOR CONVERSION
- EPA2 RJ COD CONVERT ENTRY TO DISPLAY CODE
- MX0 -18 SET MASKS FOR PAGE 1 PARAMETERS
- MX1 12
- SB2 48 SET SHIFT COUNT FOR PAGE 1 PARAMETERS
- SB3 A1-LFCE
- NG B3,EPA3 IF PAGE 1 PARAMETER
- MX0 -24 SET MASKS FOR PAGE 2 PARAMETERS
- MX1 6
- SB2 54 SET SHIFT COUNT FOR PAGE 2 PARAMETERS
- EPA3 RJ SVT SET VALUE IN TEMPLATE
- EQ EPA1 PROCESS NEXT ENTRY
- EPB SPACE 4,15
- ** EPB - ENTER REMAINING VALUES IN TEMPLATES.
- *
- * *EPB* SETS THE VALUES INTO PAGE 3 OF THE TEMPLATES AND ALSO
- * SETS THE CURRENT JOB COUNT INTO PAGE 2.
- *
- * ENTRY (A1) = ADDRESS OF *TKWV* ENTRY FOR NEXT DATA ITEM.
- * (A2) = ADDRESS OF *TKWP* ENTRY FOR NEXT DATA ITEM-1.
- * (X1) = *TKWV* ENTRY FOR NEXT DATA ITEM.
- * (X5) = FWA OF *SBUF* ENTRY FOR SERVICE CLASS.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 4, 5, 6, 7.
- * B - 2, 6, 7.
- *
- * CALLS COD, GSE.
- EPB SUBR ENTRY/EXIT
- SA2 A2+1 GET NEXT ENTRY IN *TKWP*
- * PROCESS INDEXED PARAMETER VALUES.
- EPB1 ZR X2,EPB2 IF NO MORE INDEXED PARAMETERS
- RJ GSE GET SYSTEM ENTRY FOR KEYWORD
- SB7 X1+ SAVE INDEX VALUE
- RJ COD CONVERT ENTRY TO DISPLAY CODE
- MX0 6
- LX0 30
- LX6 24
- SA2 A2 GET TEMPLATE WORD
- SA3 X2
- BX6 X0*X6
- BX3 -X0*X3
- BX6 X6+X3
- SA6 A3 SET INDEX VALUE IN TEMPLATE
- * PROCESS EQUIVALENCED PARAMETER VALUES.
- AX2 18 FWA OF TABLE OF EQUIVALENCED VALUES
- SB6 X5 SAVE *JCB* ADDRESS
- SA5 B7+X2 GET EQUIVALENCED VALUE
- LX5 -12
- MX0 42
- LX0 -18
- MX1 12
- SA3 A3+B1 GET TEMPLATE WORDS
- SA4 A3+B1
- BX6 X0*X5 SET FIRST PART OF VALUE
- BX7 X1*X5 SET LAST PART OF VALUE
- BX3 -X0*X3
- BX4 -X1*X4
- BX6 X6+X3
- BX7 X7+X4
- SA6 A3 SET VALUE INTO TEMPLATE
- SA7 A4
- SA1 A1+B1 GET NEXT ENTRY IN *TKWV*
- SA2 A2+B1 GET NEXT ENTRY IN *TKWP*
- SX5 B6+ RESTORE *JCB* ADDRESS
- EQ EPB1 PROCESS NEXT ENTRY
- * PROCESS *DT* PARAMETER.
- EPB2 SA2 A2+1 GET NEXT ENTRY IN *TKWP*
- RJ GSE GET SYSTEM ENTRY FOR KEYWORD
- SB2 X1-1
- SA4 TSCT+B2 GET SERVICE CLASS MNEMONIC
- LX4 30
- MX0 -48
- LX0 30
- SA3 X2 GET TEMPLATE WORD
- BX6 -X0*X3
- BX6 X6+X4
- SA6 A3 SET VALUE IN TEMPLATE
- * PROCESS *TD* PARAMETER.
- SA1 A1+B1 GET NEXT ENTRY IN *TKWV*
- SA2 A2+1 GET NEXT ENTRY IN *TKWP*
- RJ GSE GET SYSTEM ENTRY FOR KEYWORD
- RJ COD CONVERT ENTRY TO DISPLAY CODE
- LX6 6
- MX0 24
- LX0 30
- SA2 A2 GET TEMPLATE WORD
- SA3 X2
- BX6 X0*X6
- BX3 -X0*X3
- BX6 X6+X3
- SA6 A3+ SET VALUE IN TEMPLATE
- * PROCESS CURRENT JOB COUNT.
- SA1 A1+2 GET SPECIAL ENTRY IN *TKWV* FOR *CJ*
- SA2 A2+1 GET NEXT ENTRY IN *TKWP*
- RJ GSE GET SYSTEM ENTRY FOR KEYWORD
- RJ COD CONVERT ENTRY TO DISPLAY CODE
- SA2 A2 GET TEMPLATE WORD
- SA3 X2
- MX0 24
- LX6 36 LEFT JUSTIFY DIGITS
- BX6 X0*X6
- BX3 -X0*X3
- BX6 X6+X3
- SA6 A3 SET VALUE IN TEMPLATE
- EQ EPBX RETURN
- GMP SPACE 4,15
- ** GMP - GENERATE MASKING PARAMETERS.
- *
- * ENTRY (A1) = ADDRESS OF *TKWV* ENTRY FOR KEYWORD.
- * (X1) = *TKWV* ENTRY FOR KEYWORD.
- * (X5) = FWA OF *JCB* IN *SBUF* FOR CURRENT
- * SERVICE CLASS.
- *
- * EXIT (B2) = LOW ORDER BIT POSITION FOR VALUE IN *SBUF*.
- * (B7) = 1 IF SPECIAL PROCESSING REQUIRED.
- * = 0 IF SPECIAL PROCESSING NOT REQUIRED.
- * (X3) = *SBUF* ENTRY FOR KEYWORD VALUE.
- * (X4) = SIZE OF FIELD IN *SBUF* FOR KEYWORD VALUE.
- *
- * USES X - 0, 1, 3, 4.
- * A - 1, 3.
- * B - 2, 7.
- GMP SUBR ENTRY/EXIT
- LX1 30
- SB7 B0 ASSUME NO SPECIAL PROCESSING
- PL X1,GMP1 IF SPECIAL PROCESSING NOT REQUIRED
- SB7 B1+ SET SPECIAL PROCESSING REQUIRED
- GMP1 MX0 -6
- BX1 -X0*X1 GET OFFSET IN *JCB* FOR KEYWORD VALUE
- SB2 X1
- SA3 X5+B2 GET *SBUF* ENTRY FOR KEYWORD VALUE
- SA1 A1+B1 GENERATE MASK FOR KEYWORD VALUE
- BX4 -X0*X1 GET SIZE OF FIELD FOR KEYWORD VALUE
- AX1 6
- BX1 -X0*X1 GET LOW ORDER BIT POSITION
- SB2 X1
- EQ GMPX RETURN
- GSD SPACE 4,10
- ** GSD - GET SYSTEM *JCB* DATA.
- *
- * EXIT (SBUF) = SYSTEM *JCB* DATA.
- *
- * MACROS SYSTEM.
- GSD SUBR ENTRY/EXIT
- SYSTEM SFM,R,SFMA,RSDF*100B RETURN *JCB* DATA
- EQ GSDX RETURN
- GSE SPACE 4,15
- ** GSE - GET SYSTEM ENTRY.
- *
- * ENTRY (A1) = ADDRESS OF *TKWV* ENTRY FOR KEYWORD VALUE.
- * (X1) = *TKWV* ENTRY FOR KEYWORD VALUE TO GET.
- * (X5) = *JCB* FWA IN *SBUF* FOR CURRENT SERVICE CLASS.
- *
- * EXIT (A1) = ADDRESS OF SECOND WORD OF *TKWV* ENTRY.
- * (X1) = SYSTEM KEYWORD VALUE FOR PARAMETER RIGHT
- * JUSTIFIED.
- *
- * USES X - 0, 1, 3.
- * B - 2.
- *
- * CALLS GMP.
- GSE SUBR ENTRY/EXIT
- RJ GMP GENERATE MASKING PARAMETERS
- SB2 -B2
- LX3 B2 RIGHT JUSTIFY FIELD
- SB2 X4-1
- MX0 1
- AX0 B2 GENERATE MASK
- SB2 B2+B1
- LX0 B2 RIGHT JUSTIFY MASK
- BX1 X0*X3 SET VALUE
- EQ GSEX RETURN
- ILD SPACE 4,10
- ** ILD - INPUT *L* DISPLAY.
- *
- * EXIT (LBUF) = *L* DISPLAY COMMAND INPUT.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 6.
- * B - 2.
- *
- * MACROS DSDINP, ROLLOUT.
- ILD SUBR ENTRY/EXIT
- SB2 LIML-1
- SX6 B0+
- ILD1 SA6 IBUF+B2 INITIALIZE INPUT BUFFER
- SB2 B2-1
- PL B2,ILD1 IF MORE WORDS TO INITIALIZE
- ILD2 DSDINP IPW REQUEST INPUT FROM OPERATOR
- SA1 IPW
- MX0 -12
- BX1 -X0*X1
- AX1 1 IGNORE COMPLETION BIT
- SX2 X1-CNCI
- NZ X2,ILDX IF COMMAND ENTERED
- ROLLOUT ROLB WAIT FOR *L* DISPLAY INPUT
- EQ ILD2 RECHECK *L* DISPLAY INPUT
- OLD SPACE 4,10
- ** OLD - OUTPUT *L* DISPLAY DATA.
- *
- * ENTRY TEMPLATE FORMATTED FOR *L* DISPLAY SET IN *LBUF*.
- *
- * EXIT *L* DISPLAY UPDATED.
- *
- * MACROS DSDOUT.
- OLD SUBR ENTRY/EXIT
- DSDOUT LFWA DISPLAY *L* DISPLAY BUFFER
- EQ OLDX RETURN
- PKC SPACE 4,15
- ** PKC - PROCESS KEYWORD=VALUE COMMAND.
- *
- * ENTRY (X1) = SEPARATOR.
- * (X6) = KEYWORD VALUE.
- * (B6) = FWA OF NEXT PARAMETER IN STRING BUFFER.
- *
- * USES X - 0, 1, 2, 5, 6, 7.
- * A - 1, 5, 6, 7.
- * B - 7.
- *
- * CALLS CVK, DXB, POP, PSK, SDT, SIN, SIP, SPS.
- PKC10 RJ SDT SET DATA IN TEMPLATE
- PKC SUBR ENTRY/EXIT
- SX7 B0+ CLEAR TERMINATOR ENCOUNTERED FLAG
- RJ CVK CHECK FOR VALID KEYWORD
- SA7 PKCA
- NZ X3,PKC6 IF NO VALID KEYWORD FOUND
- EQ PKC2 ENTER LOOP
- PKC1 ZR B6,PKC8 IF TERMINATOR ENCOUNTERED
- RJ CVK CHECK FOR VALID KEYWORD
- NZ X3,PKC6 IF NO VALID KEYWORD FOUND
- * VALIDATE THE SEPARATOR.
- PKC2 SX1 X1-1R=
- NZ X1,PKC7 IF INCORRECT SEPARATOR
- RJ POP GET KEYWORD VALUE
- ZR X6,PKC8 IF NO PARAMETER VALUE GIVEN
- PL X2,PKC3 IF NO TERMINATOR ENCOUNTERED
- MX7 1 SET TERMINATOR ENCOUNTERD
- SA7 PKCA
- PKC3 LX5 30
- NG X5,PKC5 IF SPECIAL PROCESSING REQUIRED
- * VALIDATE THE NUMERIC PARAMETER FOR THE KEYWORD.
- BX5 X6 SET WORD TO CONVERT FOR *DXB*
- SB7 B0+ SET OCTAL BASE DEFAULT
- RJ DXB CONVERT DISPLAY CODE TO BINARY
- SA5 A5 GET KEYWORD TABLE ENTRY BACK
- NZ X4,PKC8 IF ERROR IN CONVERSION
- MX0 -6
- BX1 -X0*X5 GET LOW VALUE FOR KEYWORD
- MX0 -18
- AX5 6
- BX2 -X0*X5 GET HIGH VALUE FOR KEYWORD
- IX2 X2-X6
- NG X2,PKC8 IF PARAMETER TOO LARGE
- IX1 X6-X1
- NG X1,PKC8 IF PARAMETER TOO SMALL
- RJ SPS SET PARAMETER INTO SYSTEM BUFFER
- PKC4 SA1 PKCA CHECK IF TERMINATOR ENCOUNTERED
- NZ X1,PKC10 IF TERMINATOR ENCOUNTERED
- RJ POP GET NEXT KEYWORD FROM INPUT LINE
- EQ PKC1 LOOP FOR NEXT KEYWORD
- * PROCESS KEYWORDS REQUIRING SPECIAL PROCESSING.
- PKC5 RJ PSK PROCESS SPECIAL KEYWORDS
- NZ B2,PKC10 IF AN ERROR IN SPECIAL KEYWORD
- EQ PKC4 PROCESS NEXT KEYWORD
- * PROCESS ERRORS.
- PKC6 SX1 EUKP *UNKNOWN PARAMETER - KW.*
- RJ SIP SET INCORRECT PARAMETER KEYWORD
- EQ PKC10 SET ANY GOOD DATA IN TEMPLATE
- PKC7 SX1 EUKS *UNKNOWN SEPARATOR - KW.*
- RJ SIP SET INCORRECT PARAMETER
- EQ PKC10 SET ANY GOOD DATA IN TEMPLATE
- PKC8 SX1 EICP *INCORRECT NUMERIC PARAMETER FOR KW.*
- RJ SIN SET INCORRECT NUMERIC PARAMETER
- EQ PKC10 SET ANY GOOD DATA IN TEMPLATE
- PKC9 SX6 EURD *UNRECOGNIZABLE DIRECTIVE.*
- SA6 EMOR
- EQ PKCX RETURN
- PKCA BSS 1 TERMINATOR ENCOUNTERED FLAG
- PSK SPACE 4,15
- ** PSK - PROCESS SPECIAL KEYWORDS.
- *
- * ENTRY (X5) = FIRST WORD OF CURRENT *TKWV* ENTRY.
- * (X6) = NON-ZERO KEYWORD VALUE (FROM *COMCPOP*).
- * (A5) = ADDRESS OF FIRST WORD OF CURRENT *TKWV* ENTRY.
- *
- * EXIT (B2) = 0, IF NO ERROR.
- * = 1, IF ERROR.
- * (EMOR) = MESSAGE ORDINAL.
- *
- * USES X - 1, 2, 5, 6.
- * A - 1, 6.
- * B - 2, 3, 7.
- *
- * CALLS DXB, SPS.
- PSK6 SX6 EISC *INCORRECT SERVICE CLASS FOR *DT*.*
- SA6 EMOR SET MESSAGE ORDINAL
- PSK SUBR ENTRY/EXIT
- SX2 A5-LDTE
- ZR X2,PSK3 IF *DT* PARAMETER
- * PROCESS WEIGHTING FACTOR PARAMETERS.
- BX5 X6
- SB7 B0 CONVERT DISPLAY CODE TO OCTAL
- RJ DXB
- NZ X4,PKC8 IF ERROR IN CONVERSION
- ZR X6,PKC8 IF NULL WEIGHTING FACTOR
- CX5 X6 CHECK FOR POWER OF 2
- SB3 X5
- NE B3,B1,PKC8 IF NOT POWER OF 2
- SX1 X6-MXWF-1
- PL X1,PKC8 IF VALUE TOO LARGE
- PX5 X6
- NX6,B3 X5
- SB3 B3-47 RETURN POWER OF 2
- SX6 -B3
- PSK1 RJ SPS SET PARAMETER IN SYSTEM BUFFER
- SB2 B0
- EQ PSKX RETURN
- * PROCESS *DT* PARAMETER.
- PSK3 SA1 TSCT FWA OF SERVICE CLASS TABLE
- SB2 1
- PSK4 ZR X1,PSK6 IF END OF TABLE
- BX5 X1-X6
- SA1 A1+B1 GET NEXT ENTRY IN *TSCT*
- NZ X5,PSK4 IF NOT SPECIFIED SERVICE CLASS
- * CHECK FOR SPECIAL CASE DISALLOWED ENTRIES.
- SX1 X6-2RSS
- ZR X1,PSK6 IF INCORRECT SERVICE CLASS
- * SET CORRECT *DT* VALUE IN SYSTEM BUFFER.
- SX6 A1-TSCT SET SERVICE CLASS ORDINAL+1
- EQ PSK1 SET PARAMETER IN SYSTEM BUFFER
- RPN SPACE 4,10
- ** RPN - RESET PAGE NUMBER.
- *
- * ENTRY (CLDS) = CURRENT *L* DISPLAY SCREEN STATUS.
- *
- * EXIT CURRENT LEFT PAGE NUMBER RESET TO 1.
- *
- * USES X - 0, 1, 2, 3, 6.
- * A - 1, 3, 6.
- RPN SUBR ENTRY/EXIT
- SA3 THLP ASSUME *HELP* STATUS
- SA1 CLDS CHECK CURRENT *L* DISPLAY SCREEN STATUS
- SX1 X1-SHLP
- MX0 42
- LX0 30
- ZR X1,RPN1 IF *HELP* STATUS
- SA3 TASC SET DATA DISPLAY STATUS
- RPN1 SX2 B1 SET PAGE 1 OF *HELP* DISPLAY
- LX2 30
- BX3 X0*X3 CLEAR CURRENT PAGE
- BX6 X2+X3 SET PAGE 1
- SA6 A3
- EQ RPNX RETURN
- SDT SPACE 4,15
- ** SDT - SET DATA IN TEMPLATE.
- *
- * ENTRY (CSCL) = CURRENT SERVICE CLASS ORDINAL.
- * (SBUF) = CURRENT SYSTEM *JCB* INFORMATION.
- *
- * EXIT DATA FROM *SBUF* SET IN TEMPLATES.
- *
- * USES X - ALL.
- * A - 1, 3, 4, 5, 6, 7.
- * B - 2.
- *
- * CALLS CJA, EPA, EPB.
- SDT SUBR ENTRY/EXIT
- * SET SERVICE CLASS MNEMONIC IN PAGE HEADERS.
- SA3 TASC FWA DATA TEMPLATES PAGING TABLE
- MX0 12
- BX3 X0*X3 NUMBER OF PAGES IN DATA TEMPLATES
- LX3 12
- SB2 X3
- SA1 CSCL GET CURRENT SERVICE CLASS ORDINAL
- SA1 X1+TSCT
- BX1 X0*X1
- LX1 6
- MX0 -54
- BX2 -X0*X1 FIRST CHARACTER OF SERVICE CLASS
- BX1 X0*X1 LAST CHARACTER OF SERVICE CLASS
- SDT1 SA4 A3+B1 GET NEXT PAGE
- SA4 X4+2 GET TEMPLATE WORDS
- SA5 A4+B1
- BX5 -X0*X5
- LX0 6
- BX4 -X0*X4
- BX6 X4+X2 SET FIRST CHARACTER OF SERVICE CLASS
- BX7 X5+X1 SET LAST CHARACTER OF SERVICE CLASS
- SA6 A4
- MX0 -54 RESET MASK
- SA7 A5
- SB2 B2-B1
- ZR B2,SDT2 IF ALL PAGES DONE
- SA3 A3+B1 NEXT ENTRY IN PAGING TABLE
- EQ SDT1 ENTER SERVICE CLASS IN NEXT PAGE
- * SET DATA IN THE TEMPLATES.
- SDT2 RJ CJA CALCULATE *JCB* OFFSET IN *SBUF*
- RJ EPA ENTER PAGES 1 AND 2 VALUES
- RJ EPB ENTER PAGE 3 VALUES
- EQ SDTX RETURN
- SIN SPACE 4,20
- ** SIN - SET INCORRECT NUMERIC PARAMETER.
- *
- * ENTRY (X1) = MESSAGE ORDINAL.
- * (A5) = FWA OF *TKWV* ENTRY OF KEYWORD TO ADD TO
- * MESSAGE.
- *
- * EXIT (EMOR) = MESSAGE ORDINAL.
- * KEYWORD SET IN MESSAGE.
- *
- * USES X - 0, 1, 2, 5, 6, 7.
- * A - 2, 5, 6, 7.
- *
- * CALLS AFT.
- *
- * NOTES THIS ROUTINE ASSUMES A SPECIFIC LOCATION FOR THE
- * KEYWORD IN THE MESSAGE. IF THE KEYWORD POSITION IN
- * THE MESSAGE IS CHANGED, THIS ROUTINE SHOULD BE
- * UPDATED.
- SIN SUBR ENTRY/EXIT
- BX7 X1
- SA7 EMOR SET MESSAGE ORDINAL
- SA5 A5 GET KEYWORD IN ERROR
- MX0 24
- BX1 X0*X5
- SA2 TMLD+3+X7 FWA OF WORD IN MESSAGE
- RJ AFT APPEND FLOATING TERMINATOR
- LX6 -12 JUSTIFY KEYWORD FOR MESSAGE
- MX0 12
- BX2 X0*X2
- BX6 -X0*X6
- BX6 X6+X2
- SA6 A2 ADD KEYWORD AND TERMINATOR TO MESSAGE
- EQ SINX RETURN
- SIP SPACE 4,20
- ** SIP - SET INCORRECT PARAMETER KEYWORD.
- *
- * ENTRY (X1) = MESSAGE ORDINAL.
- * (POPA) = KEYWORD IN ERROR, LEFT JUSTIFIED, ZERO
- * FILLED.
- *
- * EXIT KEYWORD SET IN MESSAGE.
- * (EMOR) = MESSAGE ORDINAL.
- *
- * USES X - 1, 2, 7.
- * A - 1, 2, 6, 7.
- *
- * CALLS AFT.
- *
- * NOTES THIS ROUTINE ASSUMES A SPECIFIC LOCATION FOR THE
- * KEYWORD IN THE MESSAGE. IF THE KEYWORD POSITION IN
- * THE MESSAGE IS CHANGED, THIS ROUTINE SHOULD BE
- * UPDATED.
- SIP SUBR ENTRY/EXIT
- BX7 X1
- SA7 EMOR SET MESSAGE ORDINAL
- SA1 POPA GET PARAMETER IN ERROR
- SA2 TMLD+X7+2 GET WORD IN MESSAGE TO MODIFY
- RJ AFT APPEND FLOATING TERMINATOR
- SA6 A2 ADD KEYWORD AND TERMINATOR TO MESSAGE
- EQ SIPX RETURN
- SPS SPACE 4,15
- ** SPS - SET PARAMETER INTO SYSTEM BUFFER.
- *
- * ENTRY (X6) = PARAMETER, RIGHT JUSTIFIED.
- * (A5) = FWA OF CURRENT *TKWV* ENTRY.
- * (CSCL) = CURRENT SERVICE CLASS ORDINAL.
- *
- * EXIT PARAMETER SET INTO *SBUF*.
- *
- * USES X - 0, 1, 3, 6.
- * A - 1, 6.
- * B - 2, 3.
- *
- * CALLS CJA, GMP.
- SPS SUBR ENTRY/EXIT
- RJ CJA CALCULATE *JCB* ADDRESS
- SA1 A5+ GET *TKWV* ENTRY
- RJ GMP GENERATE MASKING PARAMETERS
- LX6 B2 JUSTIFY PARAMETER FOR SYSTEM BUFFER
- SB2 B2+X4 SET SHIFT COUNT FOR MASK
- SB3 X4-1
- MX0 1
- AX0 B3
- LX0 B2 GENERATE MASK FOR PARAMETER
- BX3 -X0*X3
- BX6 X6+X3
- SA6 A3 SET VALUE IN SYSTEM BUFFER
- EQ SPSX RETURN
- SSM SPACE 4,20
- ** SSM - SET SERVICE CLASS IN MESSAGE.
- *
- * ENTRY (B5) = SERVICE CLASS.
- * (X0) = *L* DISPLAY MESSAGE INDEX.
- *
- * EXIT (EBUF) = MESSAGE WITH SERVICE CLASS MNEMONIC SET.
- * (EMOR) = MESSAGE ORDINAL OF *EBUF*.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- * B - 2, 3, 5.
- *
- * CALLS SNM.
- *
- * MACROS MOVE.
- SSM SUBR ENTRY/EXIT
- MOVE LDML,TMLD+EBMS,TMLD+EBUF CLEAR ASSEMBLY BUFFER
- SA1 B5+TSCT-1 GET SERVICE CLASS MNEMONIC
- SB2 1RX SUBSTITUTION CHARACTER
- SB3 TMLD+EBUF ASSEMBLY BUFFER
- SB5 X0+TMLD MESSAGE ADDRESS
- SB5 -B5
- RJ SNM SET SERVICE CLASS NAME IN MESSAGE
- SX6 EBUF ERROR MESSAGE ORDINAL FOR ASSEMBLY BUFFER
- SA6 EMOR
- EQ SSMX RETURN
- SVT SPACE 4,15
- ** SVT - SET VALUE IN TEMPLATE.
- *
- * ENTRY (A1) = ADDRESS OF CURRENT *TKWV* ENTRY.
- * (A2) = ADDRESS OF CURRENT *TKWP* ENTRY.
- * (X0) = MASK FOR FIRST PART OF VALUE TO BE SET.
- * (X1) = MASK FOR LAST PART OF VALUE TO BE SET.
- * (X6) = VALUE TO SET IN TEMPLATE.
- * (B2) = SHIFT COUNT FOR VALUE TO BE SET.
- *
- * EXIT VALUE SET INTO TEMPLATE.
- * (A1) = INCREMENTED TO NEXT *TKWV* ENTRY.
- * (A2) = INCREMENTED TO NEXT *TKWP* ENTRY.
- *
- * USES X - 1, 2, 3, 4, 6, 7.
- * A - 1, 2, 3, 4, 6, 7.
- SVT SUBR ENTRY/EXIT
- SA2 A2 GET TEMPLATE WORDS
- SA3 X2
- SA4 A3+B1
- LX6 B2
- BX7 -X0*X6 GET FIRST CHARACTERS OF VALUE
- BX3 X0*X3
- BX6 X1*X6 GET LAST CHARACTERS OF VALUE
- BX4 -X1*X4
- BX6 X6+X4 SET LAST CHARACTERS
- BX7 X7+X3 SET FIRST CHARACTERS
- SA6 A4
- SA7 A3
- SA1 A1+B1 NEXT ENTRY IN *TKWV*
- SA2 A2+B1 NEXT ENTRY IN *TKWP*
- EQ SVTX RETURN
- SPACE 4,10
- * COMMON DECKS.
- *CALL COMCCIO
- *CALL COMCCOD
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCFLD
- *CALL COMCLFM
- *CALL COMCMVE
- *CALL COMCPOP
- *CALL COMCRDC
- *CALL COMCRDW
- *CALL COMCSFN
- *CALL COMCSNM
- *CALL COMCSYS
- *CALL COMCUSB
- *CALL COMCWOD
- *CALL COMCWTC
- *CALL COMCWTO
- *CALL COMCWTW
- *CALL COMCZTB
- TITLE HELP - PAGE 1.
- USE BUFFERS
- SPACE 4,10
- HLPA BSS 0
- DATA 58CSDSPLAY COMMANDS PAGE 1 OF 3
- DATA 58C
- DATA 58C COMMAND DESCRIPTION
- DATA 58C
- DATA 58C CLASS=XX DISPLAY THE DATA FOR SERVICE CLASS XX.
- DATA 58C END END THE PROCESSING OF SDSPLAY.
- DATA 58C GO SET ALL ENTERED VALUES INTO THE SYSTEM.
- DATA 58C HELP SHOW L DISPLAY COMMANDS FOR SDSPLAY.
- DATA 58C RESET IGNORE ALL VALUES ENTERED SINCE THE
- DATA 58C LAST GO.
- DATA 58C
- DATA 58C + PAGE THE DISPLAY FORWARD.
- DATA 58C - PAGE THE DISPLAY BACKWARD.
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- LDMO EQU *-HLPA GLOBAL MESSAGE OFFSET IN TEMPLATE
- DATA 58C
- DATA 58C
- HLPAL EQU *-HLPA LENGTH OF TEMPLATE
- DSPL EQU HLPAL GLOBAL TEMPLATE LENGTH
- TITLE HELP - PAGE 2.
- HLPB BSS 0
- DATA 58CSERVICE CLASS DEFINITIONS PAGE 2 OF 3
- DATA 58C
- DATA 58C SY SYSTEM SERVICE CLASS.
- DATA 58C BC BATCH SERVICE CLASS.
- DATA 58C RB REMOTE BATCH SERVICE CLASS.
- DATA 58C
- DATA 58C TS INTERACTIVE SERVICE CLASS.
- DATA 58C DI DETACHED INTERACTIVE SERVICE CLASS.
- DATA 58C NS NETWORK SUPERVISOR SERVICE CLASS.
- DATA 58C
- DATA 58C SS SUBSYSTEM SERVICE CLASS.
- DATA 58C MA MAINTENANCE SERVICE CLASS.
- DATA 58C CT COMMUNICATION TASK SERVICE CLASS.
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- DATA 58C
- ERRNZ *-HLPB-LDMO MESSAGE LINE LOCATION INCORRECT
- DATA 58C
- ERRNZ *-HLPB-LDMO-LDML INPUT LINE LOCATION INCORRECT
- DATA 58C
- HLPBL EQU *-HLPB LENGTH OF TEMPLATE
- ERRNZ HLPBL-DSPL TEMPLATES MUST BE SAME LENGTH
- TITLE HELP - PAGE 3.
- HLPC BSS 0
- DATA 58CSERVICE CLASS DEFINITIONS PAGE 3 OF 3
- DATA 58C
- DATA 58C I0 INSTALLATION CLASS 0.
- DATA 58C I1 INSTALLATION CLASS 1.
- DATA 58C I2 INSTALLATION CLASS 2.
- DATA 58C I3 INSTALLATION CLASS 3.
- DATA 58C
- DATA 58CTHE FOLLOWING SERVICE CLASSES MAY BE DEFINED AT YOUR SITE.
- DATA 58C
- DATA 58C I4 INSTALLATION CLASS 4.
- DATA 58C I5 INSTALLATION CLASS 5.
- DATA 58C I6 INSTALLATION CLASS 6.
- DATA 58C I7 INSTALLATION CLASS 7.
- DATA 58C I8 INSTALLATION CLASS 8.
- DATA 58C I9 INSTALLATION CLASS 9.
- DATA 58C II INSTALLATION CLASS I.
- DATA 58C IJ INSTALLATION CLASS J.
- DATA 58C IK INSTALLATION CLASS K.
- DATA 58C IL INSTALLATION CLASS L.
- DATA 58C
- ERRNZ *-HLPC-LDMO MESSAGE LINE LOCATION INCORRECT
- DATA 58C
- ERRNZ *-HLPC-LDMO-LDML INPUT LINE LOCATION INCORRECT
- DATA 58C
- HLPCL EQU *-HLPC LENGTH OF TEMPLATE
- ERRNZ HLPCL-DSPL TEMPLATES MUST BE SAME LENGTH
- TITLE LINE PRINTER HEADER FOR TEMPLATES.
- LPHR BSS 0
- DATA 50HSDSPLAY - SYSTEM SERVICE CLASS DISPLAY
- LPHD BSS 1 DATE STAMP
- LPHT BSS 1 TIME STAMP
- DATA C* *
- CON 0
- LPHRL EQU *-LPHR HEADER LENGTH
- TITLE ATTRIBUTES FOR SERVICE CLASS - PAGE 1.
- SCA1 BSS 0
- DATA 58CATTRIBUTES FOR SERVICE CLASS XX PAGE 1 OF 3
- DATA 58C
- DATA 58C OPTION DESCRIPTION
- DATA 58C
- INLP EQU *
- DATA 58C INLP = XXXXB INPUT QUEUE LOWER PRIORITY.
- INUP EQU *
- DATA 58C INUP = XXXXB INPUT QUEUE UPPER PRIORITY.
- OTLP EQU *
- DATA 58C OTLP = XXXXB OUTPUT QUEUE LOWER PRIORITY.
- OTUP EQU *
- DATA 58C OTUP = XXXXB OUTPUT QUEUE UPPER PRIORITY.
- EXLP EQU *
- DATA 58C EXLP = XXXXB EXECUTION QUEUE LOWER PRIORITY.
- EXUP EQU *
- DATA 58C EXUP = XXXXB EXECUTION QUEUE UPPER PRIORITY.
- EXIL EQU *
- DATA 58C EXIL = XXXXB EXECUTION QUEUE INITIAL LOWER PRIORITY.
- EXIP EQU *
- DATA 58C EXIP = XXXXB EXECUTION QUEUE INITIAL PRIORITY.
- EXTP EQU *
- DATA 58C EXTP = XXXXB INITIAL TERMINAL PRIORITY AFTER I/O.
- DATA 58C
- INWF EQU *
- DATA 58C INWF = XXXXB INPUT QUEUE WEIGHTING FACTOR.
- EXWF EQU *
- DATA 58C EXWF = XXXXB EXECUTION QUEUE WEIGHTING FACTOR.
- OTWF EQU *
- DATA 58C OTWF = XXXXB OUTPUT QUEUE WEIGHTING FACTOR.
- DATA 58C
- DATA 58C (ALL PRIORITY VALUES ARE 0-7777B).
- DATA 58C (WEIGHTING FACTORS MUST BE A POWER OF 2 FROM 1 - 4000B).
- ERRNZ *-SCA1-LDMO MESSAGE LINE LOCATION INCORRECT
- DATA 58C
- ERRNZ *-SCA1-LDMO-LDML INPUT LINE LOCATION INCORRECT
- DATA 58C
- SCA1L EQU *-SCA1 LENGTH OF TEMPLATE
- ERRNZ SCA1L-DSPL TEMPLATES MUST BE SAME LENGTH
- OBUFL EQU *-LPHR OUTPUT BUFFER LENGTH
- TITLE ATTRIBUTES FOR SERVICE CLASS - PAGE 2.
- SCA2 BSS 0
- DATA 58CATTRIBUTES FOR SERVICE CLASS XX PAGE 2 OF 3
- DATA 58C
- DATA 58C OPTION DESCRIPTION
- DATA 58C
- ASCT EQU *
- DATA 58C CT = XXXXB CP TIME SLICE (0-7777B SECONDS).
- ASCM EQU *
- DATA 58C CM = XXXXB CM TIME SLICE (0-7777B SECONDS).
- ASNJ EQU *
- DATA 58C NJ = XXXXB MAXIMUM NUMBER OF JOBS (0-7777B).
- DATA 58C
- ASCP EQU *
- DATA 58C CP = XXXXB CONTROL POINT SLICE PRIORITY (0-7777B).
- ASFL EQU *
- ASFM EQU *+4
- DATA 58C FL = XXXXB MAXIMUM CM FL/100B, ANY JOB (0-MXFLB).
- ASAM EQU *
- DATA 58C AM = XXXXXB MAXIMUM CM FL/100B, ALL JOBS (0-77777B).
- ASEC EQU *
- DATA 58C EC = XXXXB MAXIMUM XM FL/1000B, ANY JOB (0-3777B).
- ASEM EQU *
- DATA 58C EM = XXXXB MAXIMUM XM FL/1000B, ALL JOBS (0-7777B).
- DATA 58C
- ASPR EQU *
- DATA 58C PR = XXB CPU PRIORITY (2-77B).
- ASSE EQU *
- DATA 58C SE = XXXXB CPU SLICE EXTENSION (0-7777B MS).
- ASRS EQU *
- DATA 58C RS = XXXXB CPU RECALL SLICE (1-7777B MS).
- ASUS EQU *
- DATA 58C US = XXXXB UNEXTENDED CPU SLICE (1-7777B MS).
- DATA 58C
- ASCJ EQU *+5
- DATA 58C THE CURRENT JOB COUNT FOR THIS SERVICE CLASS IS XXXXB.
- ERRNZ *-SCA2-LDMO MESSAGE LINE LOCATION INCORRECT
- DATA 58C
- ERRNZ *-SCA2-LDMO-LDML INPUT LINE LOCATION INCORRECT
- DATA 58C
- SCA2L EQU *-SCA2 LENGTH OF TEMPLATE
- ERRNZ SCA2L-DSPL TEMPLATES MUST BE SAME LENGTH
- TITLE ATTRIBUTES FOR SERVICE CLASS - PAGE 3.
- SCA3 BSS 0
- DATA 58CATTRIBUTES FOR SERVICE CLASS PAGE 3 OF 3
- DATA 58C
- DATA 58C INDEX VALUE DESCRIPTION
- DATA 58C
- ASDS EQU *
- DATA 58CDS = X (XXXXXXXXX) MAXIMUM DIRECT ACCESS FILE
- DATA 58C SIZE (0-7).
- ASFC EQU *
- DATA 58CFC = X (XXXXXXXXX) MAXIMUM NUMBER PERMANENT
- DATA 58C FILES (0-7).
- ASCS EQU *
- DATA 58CCS = X (XXXXXXXXX) MAXIMUM PRUS, ALL INDIRECT
- DATA 58C FILES (0-7).
- ASFS EQU *
- DATA 58CFS = X (XXXXXXXXX) MAXIMUM PRUS, ONE INDIRECT
- DATA 58C FILE (0-7).
- DATA 58C
- DATA 58C OPTION DESCRIPTION
- DATA 58C
- ASDT EQU *
- DATA 58CDT = XX SERVICE CLASS ON DETACH (NOT SS OR DS).
- ASTD EQU *
- DATA 58CTD = XXXXB SUSPENSION TIMEOUT DELAY (0-7777B
- DATA 58C SECONDS*10B).
- DATA 58C
- DATA 58CNOTE - EXTP, DT AND TD ARE USED ONLY FOR INTERACTIVE JOBS.
- ERRNZ *-SCA3-LDMO MESSAGE LINE LOCATION INCORRECT
- DATA 58C
- ERRNZ *-SCA3-LDMO-LDML INPUT LINE LOCATION INCORRECT
- DATA 58C
- SCA3L EQU *-SCA3 LENGTH OF TEMPLATE
- ERRNZ SCA3L-DSPL TEMPLATES MUST BE SAME LENGTH
- TITLE OTHER BUFFERS.
- * *L* DISPLAY INPUT BUFFER.
- IPW BSS 0 INPUT BUFFER FOR *L* DISPLAY
- VFD 12/LIML,1/0,1/0,46/0
- IBUF BSSZ LIML INPUT BUFFER
- * *L* DISPLAY ID STRINGS.
- LHLP DATA C*SDSPLAY - HELP.*
- LCLS DATA C*SDSPLAY - CLASS.*
- * *L* DISPLAY BUFFER.
- .DSPL EQU DSPL/6 EXTRA DISPLAY LENGTH FOR COORDINATES
- LBUFL EQU DSPL+.DSPL *L* DISPLAY BUFFER LENGTH
- LFWA VFD 12/LBUFL,1/0,1/0,46/0
- LBUF EQU * *L* DISPLAY BUFFER
- LBUFE EQU LBUF+LBUFL END OF *L* DISPLAY BUFFER
- * SYSTEM SERVICE CLASS INFORMATION BUFFER.
- SBUF EQU LBUFE FWA *SBUF*
- SBUFE EQU SBUF+SBUFL LWA *SBUF*
- * DIRECTIVE INPUT FILE BUFFER.
- DBUF EQU SBUFE FWA INPUT FILE BUFFER
- DBUFE EQU DBUF+DBUFL END OF INPUT FILE BUFFER
- * OUTPUT FILE BUFFER.
- OBUF EQU DBUFE FWA OUTPUT FILE BUFFER
- OBUFE EQU OBUF+OBUFL END OF OUTPUT BUFFER
- TITLE PRESET.
- PRS SPACE 4,20
- ** PRS - PRESET ROUTINE.
- *
- * ENTRY CONTROL STATEMENT ARGUMENT LIST IN RA+2 (*ARGR*)
- * IN OPERATING SYSTEM FORMAT.
- *
- * EXIT (B1) = 1.
- * (DFLG) = NON-ZERO IF DIRECTIVE INPUT FILE SPECIFIED.
- * (LFLG) = NON-ZERO IF LINE PRINTER OPTION SPECIFIED.
- *
- * ERROR TO *ERR* IF ARGUMENT ERROR OR INCORRECT USER ACCESS.
- * (X1) = ERROR MESSAGE OFFSET.
- *
- * USES X - ALL.
- * A - 1, 2, 3, 6, 7.
- * B - 1, 2.
- *
- * CALLS COD, CVO, GSD, POP, USB.
- *
- * MACROS CLOCK, DATE, GETSPS.
- PRS SUBR ENTRY/EXIT
- SB1 1 SYSTEM COMMUNICATION (B1) = 1
- DATE LPHD SET DATE IN PRINTER HEADER
- CLOCK LPHT SET TIME IN PRINTER HEADER
- GETSPS PRSE CHECK FOR SYSTEM ORIGIN PRIVILEGES
- SA1 PRSE
- ZR X1,PRS1 IF SYSTEM ORIGIN PRIVILEGES
- SX1 ERNV * USER ACCESS NOT VALID.*
- EQ ERR ABORT WITH ERROR MESSAGE
- * PROCESS ARGUMENT LIST.
- PRS1 SB2 CCDR UNPACK COMMAND
- RJ USB UNPACK STRING BUFFER
- SX6 1R. ASSURE TERMINATOR CHARACTER
- SA6 B7+1
- RJ POP SKIP PROGRAM NAME
- ZR B6,PRS13 IF NO ARGUMENTS ON CONTROL CARD
- * PROCESS CONTROL CARD ARGUMENTS.
- PRS2 RJ POP GET ARGUMENT
- PL B5,PRS3 IF NO ERROR
- SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
- EQ ERR PROCESS ERROR
- PRS3 NZ B6,PRS4 IF NO TERMINATOR
- SX7 B1+
- SA7 PRSD SET TERMINATOR FLAG
- PRS4 SX2 X1-1R=
- SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
- SA3 PRSA INCREMENT ARGUMENT COUNTER
- SX7 X3+B1
- SA7 A3
- SX7 X7-TARGL-1
- PL X7,ERR IF TOO MANY ARGUMENTS
- NZ X2,PRS8 IF POSITIONAL ARGUMENT
- * PROCESS EQUIVALENCED ARGUMENTS.
- SA2 PRSD
- NZ X2,ERR IF TERMINATOR, NO VALUE FOR ARGUMENT
- SA2 TARG FWA OF ARGUMENT TABLE
- PRS5 ZR X2,ERR IF END OF TABLE, INCORRECT ARGUMENT
- MX0 12
- BX3 X6-X2
- BX3 X0*X3
- ZR X3,PRS6 IF A MATCH
- SA2 A2+B1
- EQ PRS5 CHECK NEXT ARGUMENT IN TABLE
- PRS6 SX4 X2+ FWA OF TABLE OF LIST OPTIONS
- AX2 18
- SX5 X2 FWA OF ARGUMENT AREA
- RJ POP GET ARGUMENT VALUE
- SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
- NG B5,ERR IF ERROR
- ZR X4,PRS7 IF NO OPTION TABLE
- RJ CVO CHECK FOR VALID OPTION
- NZ X3,ERR IF VALID OPTION NOT FOUND
- PRS7 MX0 -18
- BX2 -X0*X6
- NZ X2,ERR IF ARGUMENT VALUE TOO LONG
- SA6 X5+ SAVE VALID OPTION
- ZR B6,PRS10 IF END OF ARGUMENTS
- EQ PRS2 CHECK NEXT ARGUMENT
- * PROCESS POSITIONAL ARGUMENTS.
- PRS8 SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
- MX0 -18
- BX2 -X0*X6
- NZ X2,ERR IF ARGUMENT TOO LONG
- SA2 PRSA GET ARGUMENT COUNTER
- SA3 TARG+X2-1
- SX4 X3+ FWA TABLE OF LIST OPTIONS
- AX3 18
- SX5 X3 SAVE FWA OF ARGUMENT AREA
- ZR X4,PRS9 IF NO LIST OPTION TABLE
- RJ CVO CHECK FOR VALID OPTION
- NZ X3,ERR IF INVALID OPTION
- PRS9 SA6 X5+ SAVE ARGUMENT
- SA1 PRSD
- ZR X1,PRS2 IF NOT END OF ARGUMENTS
- * CHECK FOR ARGUMENT CONFLICTS.
- PRS10 SA2 PRSC CHECK LIST OPTION
- SX3 1RL
- LX3 54
- BX3 X3-X2
- NZ X3,PRS12 IF NOT LINE PRINTER OPTION
- SA2 PRSB GET LOCAL FILE NAME
- SA1 OUTPUT
- BX6 X1
- ZR X2,PRS11 IF FILE NAME NOT SPECIFIED
- MX0 -18
- BX1 -X0*X1
- BX6 X1+X2
- SA6 OUTPUT SET FILE NAME IN FET
- PRS11 SA6 LFLG SET LINE PRINTER FLAG
- EQ PRS12.1 CHECK INPUT FILE OPTION
- PRS12 SA2 PRSB CHECK IF FILE NAME SPECIFIED
- ZR X2,PRS12.1 IF NOT FILE NAME SPECIFIED
- BX6 X2
- SX1 ERAE * ARGUMENT ERROR - XXXXXXX.*
- EQ ERR PROCESS ERROR
- PRS12.1 SA1 PRSF GET LOCAL FILE NAME FOR DIRECTIVES
- SA2 INPUT
- MX0 42
- BX6 X0*X1
- BX7 -X0*X2
- BX7 X6+X7
- SA6 DFLG SET INPUT FILE FLAG
- SA7 A2+ SET INPUT FILE
- * SET *MAXIMUM CM FL FOR ONE JOB* IN TEMPLATE DESCRIPTION.
- PRS13 SX1 MXFL MAXIMUM CM FL FOR ONE JOB
- RJ COD CONVERT TO DISPLAY CODE
- LX6 -12
- MX0 12
- SA1 ASFM GET TEMPLATE WORDS
- SA2 A1+B1
- BX7 X0*X6 SET SET LAST PART OF VALUE
- BX2 -X0*X2 SET FIRST PART OF VALUE
- LX0 12
- BX6 X0*X6
- BX1 -X0*X1
- BX6 X6+X1
- BX7 X7+X2
- SA6 A1 SET VALUE IN TEMPLATE
- SA7 A2
- RJ GSD GET SYSTEM DATA
- EQ PRSX RETURN
- PRSA CON 0 ARGUMENT COUNTER
- PRSB CON 0 OUTPUT FILE ARGUMENT VALUE
- PRSC CON 0LD LIST OPTION ARGUMENT VALUE
- PRSD CON 0 TERMINATOR ENCOUNTERED FLAG
- PRSE CON 0 SYSTEM ORIGIN FLAG
- PRSF CON 0 INPUT FILE ARGUMENT VALUE
- SPACE 4,10
- ** ARGUMENT EQUIVALENCE TABLE.
- *
- *T 12/ OP,12/ ,18/ AV,18/ OT
- *
- * OP = DISPLAY CODE ARGUMENT OPTION VALUE.
- * AV = ADDRESS OF ARGUMENT VALUE.
- * OT = FWA OPTION TABLE, IF ARGUMENT HAS DISCRETE OPTIONS.
- * = 0, OTHERWISE.
- TARG BSS 0
- VFD 12/0LL,12/0,18/PRSB,18/0 LOCAL FILE ARGUMENT
- VFD 12/0LLO,12/0,18/PRSC,18/TLOP LIST OPTION ARGUMENT
- VFD 12/0LI,12/0,18/PRSF,18/0 INPUT FILE ARGUMENT
- TARGL EQU *-TARG NUMBER OF VALID ARGUMENTS
- CON 0 END OF TABLE
- SPACE 4,10
- ** TLOP - TABLE OF LIST OPTIONS.
- *
- *T 42/ OPTION,18/
- *
- * OPTION = DISPLAY CODE OPTION VALUE.
- TLOP BSS 0
- VFD 42/0LD,18/0 SELECT *L* DISPLAY/DUMMY LOCATION
- VFD 42/0LL,18/0 SELECT LINE PRINTER
- CON 0 END OF TABLE
- CVO SPACE 4,10
- ** CVO - CHECK FOR VALID OPTION.
- *
- * ENTRY (X4) = FWA OF LIST OPTION TABLE.
- * (X6) = LIST OPTION ARGUMENT.
- *
- * EXIT (X3) = 0, IF VALID LIST OPTION FOUND.
- * = NOT 0, IF VALID LIST OPTION NOT FOUND.
- *
- * USES X - 2, 3.
- * A - 2.
- CVO SUBR ENTRY/EXIT
- SA2 X4+ FWA OF LIST OPTION TABLE.
- CVO1 ZR X2,CVOX IF END OF TABLE, OPTION NOT FOUND
- BX3 X6-X2
- ZR X3,CVOX IF LIST OPTION FOUND
- SA2 A2+1
- EQ CVO1 PROCESS NEXT ENTRY IN TABLE
- ERR SPACE 4,10
- ** ERR - ABORT PROGRAM WITH ERROR MESSAGE.
- *
- * *ERR* ISSUES AN ERROR MESSAGE TO THE USER AND SYSTEM
- * DAYFILE AND THEN ABORTS THE UTILITY.
- *
- * ENTRY (X1) = FWA OF ERROR MESSAGE.
- * (X6) = KEYWORD VALUE FOR ERROR MESSAGE, IF THE
- * MESSAGE IS *ERAE*.
- * (X6) = KEYWORD VALUE FOR ERROR MESSAGE.
- *
- * EXIT MESSAGE ISSUED IN SYSTEM AND USER DAYFILE.
- *
- * USES X - 1, 2.
- * B - 2, 5.
- *
- * CALLS AFT, SNM.
- *
- * MACROS ABORT, MESSAGE.
- ERR BSS 0 ENTRY
- SB5 X1+ SET FWA OF MESSAGE
- SX2 X1-ERAE
- NZ X2,ERR1 IF NOT * ARGUMENT ERROR...* MESSAGE
- BX1 X6
- RJ AFT APPEND FLOATING TERMINATOR
- SB2 1RX SET SEARCH CHARACTER
- BX1 X6 SET PARAMETER IN ERROR
- RJ SNM SET PARAMETER IN MESSAGE
- ERR1 MESSAGE B5,0,R ISSUE MESSAGE TO USER AND SYSTEM DAYFILE
- ABORT ABORT UTILITY
- SPACE 4,10
- SDSPE EQU * END OF PROGRAM
- .RFL= MAX SDSPE,LBUFE,OBUFE
- RFL= EQU .RFL=
- SPACE 4,10
- END
cdc/nos2.source/opl871/sdsplay.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator