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