cdc:nos2.source:opl871:libtask
Table of Contents
LIBTASK
Table Of Contents
- [00385] LIB - LIBTASK MAIN PROGRAM.
- [00610] SUBROUTINES.
- [00612] ALC - ADVANCE LINE COUNT.
- [00650] CDR - COPY DIRECTORY TO TASK LIBRARY.
- [00732] ERR - PROCESS ERRORS ENCOUNTERED IN BINARY OR INPUT
- [00888] FPL - FORMAT PRINT LINE.
- [01101] LRL - WRITE RECORD LIST.
- [01197] PCR - PROCESS CREATION RUN.
- [01222] PLO - PROCESS LIST OPTION.
- [01382] PNP - PROCESS NO PARAMETERS.
- [01417] PIT - PURGE INACTIVE TASKS (*PR* OPTION).
- [01456] PRH - PRINT REPORT HEADER.
- [01490] PTT - PROCESS TELL *TAF* OPTION.
- [01514] RBF - READ BINARY FILE.
- [01749] SAP - SELECT ACTIVE TASKS FROM *P* FILE.
- [01820] SAT - SELECT ACTIVE TASKS.
- [01912] SDR - SORT TASK LIBRARY DIRECTORY.
- [01939] SEH - SET ERROR HEADING.
- [01972] SKR - SKIP TO NEXT RECORD.
- [01997] SSR - SHELL SORT RECORD.
- [02100] STD - SEARCH TASK/TRANSACTION DIRECTORY.
- [02180] STL - SET TITLE LINE FOR OUTPUT PAGE.
- [02220] STN - SEARCH TASK NAMES.
- [02286] STR - SORT TRANSACTION DIRECTORY.
- [02311] TOV - TABLE OVERLFOW PROCESSOR.
- [02338] COMMON DECKS.
- [02400] PRS - PRESET ROUTINE.
- [02571] ATP - ATTACH LIBRARY FILE.
- [02613] ATT - ATTACH CHECKING PROCEDURES.
- [02663] ERC - ERROR CHECKING.
- [02998] INP - PROCESS INPUT DIRECTIVES.
Source Code
- LIBTASK.txt
- IDENT LIBTASK,FETS
- ABS
- SST LREC,MP
- ENTRY LIBTASK
- ENTRY RFL=
- ENTRY SSJ=
- SYSCOM B1
- LIBTASK TITLE LIBTASK - TASK LIBRARY EDITING PROGRAM.
- *COMMENT LIBTASK - TASK LIBRARY EDITING PROGRAM.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- LIBTASK SPACE 4,10
- ***** LIBTASK - TASK LIBRARY BUILDING AND EDITING PROGRAM.
- *
- * J. R. HOGUE. 1971.
- * K. R. COMBS. 1972.
- * M. M. CHEN. 1978.
- * R. G. PARKHOUSE. 80/04/15.
- * E. D. REDIG. 81/03/06.
- SPACE 4
- *** *LIBTASK* BUILDS THE TASK LIBRARY USED BY THE TRANSACTION
- * EXECUTIVE AND PLACES BOTH A TASK DIRECTORY AND A TRANSACTION
- * DIRECTORY ON THE LAST RECORD OF THE LIBRARY.
- *
- * TO MAKE CHANGES TO THE LIBRARY WHILE THE TRANSACTION SYSTEM
- * IS RUNNING, *LIBTASK* ADDS THE NEW TASK BINARIES TO THE END
- * OF THE LIBRARY FILE AND REWRITES AN UPDATED DIRECTORY ON THE
- * LAST RECORD. THEN, VIA THE OPERATING SYSTEM *SIC* REQUEST,
- * *LIBTASK* INFORMS THE TRANSACTION EXECUTIVE THAT A CHANGE
- * WAS MADE AND THE EXECUTIVE READS IN THE NEW DIRECTORY.
- *
- * *LIBTASK* DOES NOT DEFINE THE INITIAL LIBRARY FILE. THIS
- * MUST BE DONE PRIOR TO A *LIBTASK* CREATION RUN.
- SPACE 4,10
- *** THE COMMAND.
- *
- * LIBTASK(P1,P2,,PN)
- *
- * THE PARAMETERS P(I) MAY INCLUDE THE FOLLOWING (IN ANY ORDER)
- * AND MUST BE IN ONE OF THE FORMS
- *
- * * * - (NONE) ASSUME FIRST DEFAULT VALUE.
- * P - ASSUME ALTERNATE DEFAULT VALUE.
- * P=X - SUBSTITUTE *X* FOR ANY ASSUMED VALUE OF *P*.
- *
- * I - FILE CONTAINING INPUT DIRECTIVES.
- * Z - TAKE DIRECTIVES ONLY FROM COMMAND.
- * EXAMPLE -
- * LIBTASK(...,Z,...)XDDDDDXDDDDXDDD
- * WHERE X IS ANY CHARACTER NOT IN D.
- * D IS A LIBTASK DIRECTIVE.
- * B - FILE CONTAINING BINARIES TO ADD TO TASK LIBRARY FILE.
- * L - FILE CONTAINING LIST OF ACTIONS TAKEN.
- * P - TASK LIBRARY FILE.
- * N - NEW TASK LIBRARY FILE.
- * CR - CREATE A NEW LIBRARY FILE.
- * TT - SEND MESSAGE TO *TAF* TO READ NEW DIRECTORY.
- * PR - PURGE OLD BINARIES AND DIRECTORIES.
- * DA - DISABLE ATTACHES AND RETURNS.
- * LO - LIST OPTION FOR TASKS/TRANSACTIONS AND ATTRIBUTES.
- * TN - TASK OR TRANSACTION NAME USED IN CONJUNCTION WITH *LO*.
- *
- * DEFAULT PARAMETER SUBSTITUTION VALUES.
- *
- * EQUIVALENCED FIRST ALTERNATE
- * PARAMETERS DEFAULT DEFAULT - COMMENT -
- *
- * I *INPUT* *COMPILE*
- * B *LGOB* *LGO* TASK BINARY FILE.
- * L *OUTPUT* *OUTPUT* OUTPUT FILE.
- * P *TASKLIB* TASK LIBRARY FILE.
- * N *SCRATCH* *TASKLIB* NEW TASK LIBRARY FILE.
- * LO 0 *A* LIST OPTION.
- * TN 0 0 TASK OR TRANSACTION NAME.
- *
- * SINGLE FIRST ALTERNATE
- * PARAMETERS DEFAULT DEFAULT - COMMENT -
- *
- * Z *NOT Z* *Z* DIRECTIVES FROM COMMAND.
- * CR *NOT CR* *CR* CREATE A NEW LIBRARY FILE.
- * TT *NOT TT* *TT* TELL *TAF* ABOUT CHANGE.
- * PR *NOT PR* *PR* PURGE OLD RECORDS
- * DA *NOT DA* *DA* SKIP ATTACHES OF LIBRARY FILE
- SPACE 4,45
- *** DESCRIPTION OF PARAMETER OPTIONS.
- *
- * CR - THE CREATE OPTION IS USED TO CREATE A NEW TASK LIBRARY.
- * IF *TAF* IS RUNNING BUT DOES NOT HAVE A FILE ATTACHED BY THE
- * NEW TASK LIBRARY NAME, A CREATE MAY BE DONE. OTHERWISE, IT
- * MAY NOT BE USED WHILE *TAF* IS RUNNING. THE *P* FILE MUST
- * HAVE BEEN PREVIOUSLY DEFINED. LIBTASK READS ONE TASK
- * AT A TIME FROM THE *B* FILE, CHECKS FOR AN INPUT DIRECTIVE
- * FOR THE TASK, CONSTRUCTS A DIRECTORY ENTRY AND INSERTS THE
- * ENTRY IN ALPHABETICAL ORDER IN THE LIBRARY DIRECTORY. THE
- * DIRECTORY IS WRITTEN AT THE END OF THE LIBRARY.
- *
- * PR - THE PURGE OPTION IS USED TO REMOVE INACTIVE TASK
- * BINARIES AND OLD DIRECTORIES FROM THE TASK LIBRARY.
- * THIS OPTION MAY BE USED WHILE *TAF* IS RUNNING AND THE
- * TASK LIBRARY TO BE PURGED IS NOT ATTACHED BY *TAF*.
- * *LIBTASK* PROCESSES THE REPLACEMENT FILE *B*
- * AND THE INPUT DIRECTIVES NORMALLY, COPIES THE
- * ENTIRE LIBRARY TO A SCRATCH FILE, THEN TRANSFERS THE CURRENT
- * BINARY FOR EACH TASK IN THE LIBRARY TO THE SCRATCH FILE.
- * HOWEVER, IF THE *N* OPTION IS SPECIFIED, ONLY THE CURRENT
- * BINARIES ARE TRANSFERRED DIRECTLY TO THE SCRATCH FILE,
- * WHICH HAS BECOME THE NEWLY DEFINED TASK LIBRARY. THE
- * DIRECTORY IS UPDATED AND WRITTEN AT THE END IN EACH CASE.
- * THEREFORE, ONLY ONE COPY OF EACH TASK AND ONE DIRECTORY
- * REMAINS IN THE LIBRARY.
- *
- * TT - THE TELL *TAF* OPTION IS USED TO INFORM *TAF* THAT A
- * CHANGE HAS OCCURRED IN THE TASK LIBRARY WHEN A LIBTASK
- * TAKES PLACE WHILE *TAF* IS RUNNING. THE PARAMETER HAS
- * NO EFFECT IF *TAF* IS NOT RUNNING. NORMAL PROCESSING
- * OCCURS, AFTER WHICH INTERCONTROL POINT COMMUNICATION IS USED
- * TO INFORM *TAF* TO READ IN THE NEW DIRECTORY.
- *
- * DA - THE DISABLE ATTACH OPTION IS USED TO ALLOW A USER
- * COMPLETE CONTROL OF HIS PERMANENT FILES. THIS OPTION
- * DISABLES ALL ATTACHES AND RETURNS OF THE TASK LIBRARY FILES.
- * THE EXCEPTION TO THIS IS IF THE *TT* OPTION IS ALSO
- * SPECIFIED. LIBTASK WILL THEN RETURN THE TASK LIBRARY
- * FILE SO THAT *TAF* MAY REATTACH THE FILE TO UPDATE ITS
- * TABLES.
- *
- * LO - THE LIST OPTION PRODUCES A REPORT OF TASKS AND THEIR
- * ATTRIBUTES, TRANSACTION NAMES WITH ATTRIBUTES AND NAMES
- * OF MEMBER TASKS. WHEN LISTING TASK NAMES WITH TRANSACTION
- * NAMES, THOSE TASKS WHICH DO NOT EXIST IN THE DATA BASE
- * LIBRARY ARE FLAGGED.
- SPACE 4,70
- *** INPUT FILE DIRECTIVE FORMAT.
- *
- * 1. TASK DIRECTIVE.
- *
- * TO ENTER ALTERNATE VALUES FOR A TASK, A DIRECTIVE CARD MAY
- * BE ENTERED IN THE DIRECTIVE FILE.
- *
- * DIRECTORY COMMAND FORMAT.
- *
- * *NAME P1,P2,,,PN.
- *
- * NAME = TASK NAME OF TASK ON FILE *B*.
- *
- * THE PARAMETERS P(I) MAY INCLUDE THE FOLLOWING (IN ANY ORDER)
- * AND MUST BE IN ONE OF THE FORMS :
- *
- * * * - (NONE) ASSUME FIRST DEFAULT VALUE
- * P - ASSUME ALTERNATE DEFAULT VALUE
- * P=X - SUBSTITUTE *X* FOR ANY ASSUMED VALUE OF *P*
- *
- * BP - BEGINNING PRIORITY.
- * MP - MAXIMUM PRIORITY (FUTURE USE).
- * QL - QUEUE LIMIT.
- * S - SYSTEM TASK.
- * C - CORE RESIDENT.
- * SC - COMMUNICATION BLOCK SOLICITED FLAG.
- * D - DESTRUCTIVE CODE.
- * E - EXTENDED MEMORY RESIDENT (FUTURE USE).
- * O - TASK ON/OFF.
- * Q - QUEUING FORCED FOR ADDITIONAL ACTIVE COPIES OF TASK.
- * R - REDUCE FL (CM RESIDENT TASK ONLY).
- *
- * EQUIVALENCED FIRST ALTERNATE
- * PARAMETERS DEFAULT DEFAULT - COMMENT -
- *
- * BP 20B 25B BEGINNING TASK PRIORITY.
- * EF 0 0 DEFAULT EXPANDABLE FL.
- * MP 40B 50B MAXIMUM TASK PRIORITY.
- * QL 3B 5B QUEUE LIMIT FOR A TASK.
- *
- * SINGLE FIRST ALTERNATE
- * PARAMETERS DEFAULT DEFAULT - COMMENT -
- *
- * R 0 0 REDUCE FL
- * S *NOT S* *S* SYSTEM TASK.
- * C *DISK* *CORE* RESIDENCE OF TASK BINARY.
- * D *NOT D* *D* DESTRUCTIVE CODE INDICATOR.
- * E *NOT E* *E* EXTENDED MEMORY RESIDENT.
- * O *ON* *OFF* TASK ON/OFF.
- * DL *NOT DL* *DL* DELETE TASK.
- * IG *NOT IG* *IG* IGNORE TASK.
- * SC *NOT SC* *SC* COM. BLK. SOLICITED
- * Q *NORMAL* *QUEUE* QUEUE FOR ADDITIONAL COPIES.
- *
- *
- * 2. TRANSACTION DIRECTIVE.
- *
- * TO NAME A TRANSACTION AND SPECIFY TASKS COMPRISING THE NAMED
- * TRANSACTION. TO SPECIFY DATA MANAGERS USED BY THE TRANSACTION
- * AND SPECIFY THE RECOVERABLE ATTRIBUTE.
- *
- * DIRECTIVE FORMAT.
- *
- * /TNAME,T1=TSK1,T2=TSK2,T3=TSK3,T4=TSK4,T5=TSK5,RC,DM=DMID,DL.
- *
- * TNAME = 1-7 ALPHANUMERIC CHARACTER TRANSACTION UNIT NAME.
- * TSK(I) = TASKS COMPRISING TRANSACTION.
- * RC = TRANSACTION IS RECOVERABLE.
- * DMID = DATA MANAGERS USED(C - *CRM*, D - *CDCS*, CD - BOTH)
- * DL = DELETE NAMED TRANSACTION.
- SPACE 4,10
- *** DOCUMENTATION CONVENTIONS.
- *
- * B FILE NAME DENOTED BY COMMAND *B* PARAMETER.
- * N FILE NAME DENOTED BY COMMAND *N* PARAMETER.
- * P FILE NAME DENOTED BY COMMAND *P* PARAMETER.
- * TLD TASK LIBRARY DIRECTORY.
- * TRD TRANSACTION DIRECTORY.
- SPACE 4,10
- *** DAYFILE MESSAGES.
- *
- * ERRA BINARY RECORD WAS LESS THAN 640 WORDS LONG.
- * ERRB BINARY RECORD WAS NETHER ABSOLUTE NOR OVERLAY FORMAT.
- * PRSB LIBTASK COMMAND ARGUMENT ERRORS.
- * ERCB CONFLICTING LIBTASK OPTIONS - CR, PR.
- * ERCC CONFLICTING LIBTASK OPTIONS - CR, TT.
- * ERCD CONFLICTING LIBTASK OPTIONS - PR, TT.
- * ERCF CONFLICTING LIBTASK OPTIONS - P=0, -N.
- * ERCH CONFLICTING LIBTASK OPTIONS - TT, N.
- * INPB DIRECTIVE ERRORS.
- * ERRF DIRECTORY IS FULL - NO MORE ADDITIONS ALLOWED.
- * LIBK FILE NOT ATTACHED - LFN.
- * ERRD INCORRECT FWA FOR LOAD.
- * ATTD LIBRARY FILE TIME OUT.
- * ERRE LIBTASK ERROR CONDITION UNKNOWN.
- * LIBJ LIBTASK ERRORS.
- * ATTE LIBTASK - PFM ERROR DETECTED.
- * TOVA TABLE OVERFLOW - TOO MANY TASKS.
- * LIBF TASK EDITING COMPLETE.
- * PRSD TASK LIBRARY DIRECTORY EMPTY.
- * PRSE TASK LIBRARY DIRECTORY ERROR.
- * PRSC TASK LIBRARY DIRECTORY TOO LONG.
- * ERCO TASKLIB MUST NOT START WITH THE LETTER Z.
- * ERCL TN REQUIRES EITHER LO=T OR LO=X.
- * PRSF TT OPTION REQUIRES USER NAME.
- * PRSG TRANSACTION DIRECTORY EMPTY.
- * PRSH TRANSACTION DIRECTORY TOO LONG.
- * PRSI TRANSACTION DIRECTORY ERROR.
- * PRSJ USER NOT VALIDATED FOR ONLINE TASK LIBRARY UPDATES.
- * ERCM VALID LO OPTIONS ARE LO, LO=A, LO=T OR LO=X.
- * PLOG XXXXXXX NOT IN DIRECTORY.
- SPACE 4,10
- QUAL$ EQU 0 PROGRAM WILL HANDLE QUAL
- *CALL COMCMAC
- *CALL COMCMTM
- LIST X
- *CALL COMKFLD
- *CALL COMKTLD
- LIST -X
- *CALL COMSPRD
- *CALL COMSSSD
- *CALL COMSSSJ
- ORG 104B
- FETS TITLE FETS AND DATA STORAGE.
- FETS BSS 0
- I BSS 0
- INPUT FILEB IBUF,IBUFL,FET=7 DIRECTIVE INPUT FILE
- B BSS 0
- LGOB FILEB BBUF,BBUFL TASK BINARY FILE
- O BSS 0
- OUTPUT FILEC OBUF,OBUFL OUTPUT FILE
- P BSS 0
- TASKLIB RFILEB PBUF,PBUFL,EPR,FET=11 TASK LIBRARY FILE
- SF BSS 0
- N BSS 0
- SCRATCH RFILEB SBUF,SBUFL,EPR,FET=11 NEW/SCRATCH LIBRARY FILE
- LATLD BSS 1 ACTUAL LWA OF TLD
- LWTLD BSS 1 CURRENT LWA OF TLD
- LWOLD BSS 1 LWA OF BASE TLD FOR RUNNING SYSTEM
- TSKDI BSS 1 TASK DISK INDEX
- TSKNM BSS 1 TASK NAME
- TSKNE BSS 1 TASK NAME AND ENTRY POINT
- TSKFL BSS 1 TASK FIELD LENGTH
- EOFF CON 0 END OF BINARY FILE FLAG
- BFEF CON 0 BINARY FILE ERROR FLAG
- FSLT BSS 1 FREE SPACE LEFT IN TLD
- CRES CON 0 CORE RESIDENT TASK COUNT
- LATRD CON 0 LWA OF TRD BEFORE SORT
- LWTRD CON 0 LWA OF TRD
- FSTR CON 0 FREE SPACE LEFT IN TRD
- MTRD CON 0 TRD UPDATED FLAG
- TRDE CON 0 TRD EXISTS FLAG
- Z CON 0 TO TAKE DIRECTIVES FROM CONTROL COMMAND
- PR CON 0 TO PURGE OLD COPIES
- CR CON 0 TO CREATE A LIBRARY FILE OR NOT TO CREATE
- TT CON 0 TELL *TAF* ABOUT NEW DIRECTORY
- DA CON 0 DISABLE ATTACH AND RETURN
- AT CON 0 ATTACHED BY *TAF* FLAG
- PN CON 0 FILE *F* AND *N* NOT EQUAL FLAG
- LO CON 0 LIST OPTION
- XTN CON 0 TASK OR TRANSACTION UNIT NAME FOR *LO*
- FWLD EQU 111B FWA OF SINGLE ENTRY POINT PROGRAM
- RECN CON 0 RECORDS READ FROM BINARY FILE
- CBP EQU 3533B DEFAULT BEGINNING TASK PRIORITY
- ABP EQU 3540B ALTERNATE BEGINNING TASK PRIORITY
- MNBP EQU 10B MINIMUM BEGINNING PRIORITY
- MXBP EQU 70B MAXIMUM BEGINNING PRIORITY
- CMP EQU 3733B DEFAULT MAXIMUM TASK PRIORITY
- AMP EQU 4033B ALTERNATE MAXIMUM TASK PRIORITY
- MNMP EQU 10B MINIMUM MAXIMUM PRIORITY
- MXMP EQU 70B MAXIMUM MAXIMUM PRIORITY
- CQL EQU 3336B DEFAULT TASK QUEUE LIMIT
- AQL EQU 3340B ALTERNATE TASK QUEUE LIMIT
- MINQL EQU 1 MINIMUM QUEUE LIMIT
- MAXQL EQU 5 MAXIMUM QUEUE LIMIT
- EFL EQU 0 DEFAULT EXPANDABLE FIELD LENGTH BY TASK
- MAXEF EQU 300000B MAXIMUM EXPANDABLE FL
- CC EQU 0 DEFAULT CORE RESIDENCE VALUE
- CD EQU 1 DEFAULT FOR DESTRUCTIVE TASKS
- CS EQU 0 DEFAULT SYSTEM TASK INDICATOR
- CO EQU 0 DEFAULT ON/OFF INDICATOR
- CE EQU 0 DEFAULT ECS RESIDENCE INDICATOR
- CDL EQU 0 DEFAULT DELETE DIRECTORY
- CQ EQU 0 DEFAULT QUEUING CONTROL
- CRE EQU 0 DEFAULT REDUCE FL
- TLQUSM DECMIC TLQUS
- MLQU EQU 1S"TLQUSM" MULTIPLIER OF *CQ*
- BP VFD 12/CBP,48/0 BEGINNING PRIORITY FOR A TASK
- MP VFD 12/CMP,48/0 MAXIMUM TASK PRIORITY
- EF CON EFL EXPANDABLE FIELD LENGTH BY TASK
- QL VFD 12/CQL,48/0 TASK QUEUE LIMIT
- C CON CC*10B CORE RESIDENT DIRECTORY INFORMATION
- D CON CD*20B DESTRUCTIVE CODE DIRECTORY INFORMATION
- S CON CS*40B SYSTEM TASK DIRECTORY INFORMATION
- OO CON CO*02B ON/OFF BIT
- E CON CE*04B EXTENDED MEMORY RESIDENT BIT
- DL CON CDL*01B DELETE BIT
- Q CON CQ*MLQU QUEUING CONTROL BIT
- R CON CRE REDUCE FL FLAG
- IG CON 0 IGNORE TASK
- SC CON 0 SOLICITED FLAG
- TSK1 CON 0 TASK 1
- TSK2 CON 0 TASK 2
- TSK3 CON 0 TASK 3
- TSK4 CON 0 TASK 4
- TSK5 CON 0 TASK 5
- RC CON 0 RECOVER TRANSACTION
- DM CON 0 DATA MANAGER(S) USED
- TDL CON 0 DELETE TRANSACTION
- JOBORG BSS 1 JOB ORIGIN CODE
- ENDH CON 10H0LAST MODI
- CON 10HFICATION
- CON 10H -
- LAST BSSZ 3
- ENDHL EQU *-ENDH
- LREC TABLE TASKS ON TASK LIBRARY
- RREC TABLE RECORDS REPLACED TABLE
- IREC TABLE RECORDS INSERTED TABLE
- DRTC TABLE INPUT DIRECTIVES
- TDCH TABLE DIRECTIVES CHANGED TABLE
- TDRC TABLE DIRECTIVES CHANGED
- TDIG TABLE IGNORE TASK
- TTIN TABLE TRANSACTION UNITS INSERTED
- TTCN TABLE TRANSACTION UNITS CHANGED
- TTNE TABLE TRANSACTION UNITS WITH NONEXISTENT TASKS
- SSJ= BSS 0 SPECIAL SYSTEM JOB PARAMETER BLOCK
- VFD 36/0,12/LTCS,12/UJSI
- BSSZ SSJL-1
- LIB TITLE MAIN PROGRAM.
- ** LIB - LIBTASK MAIN PROGRAM.
- *
- * LIB READS THE BINARIES AND BUILDS NEW ENTRIES
- * AT THE END OF THE LIBRARY FILE. ONE BINARY RECORD (TASK) AT
- * A TIME IS READ FROM THE B FILE AND WRITTEN ON THE P FILE. A
- * NEW DIRECTORY ENTRY IS CREATED IF THIS IS A NEW TASK, OR THE
- * EXISTING ENTRY IS UPDATED. IF THE CR OPTION IS SET, THE
- * DIRECTORY ENTRIES ARE ARRANGED ALPHABETICALLY, ELSE NEW
- * ENTRIES ARE ADDED AT THE END OF THE DIRECTORY.
- * THE STORAGE AREAS OF *PRS* AND RELATED ROUTINES ARE USED
- * FOR TASK LIBRARY DIRECTORY RESIDENT AFTER *PRS* IS CALLED.
- LIBTASK RJ PRS INITIALIZE LIBTASK
- * CHECK CREATION RUN.
- SA1 B
- ZR X1,LIB0 IF NO BINARY FILE
- REWIND B,R
- READ B INITIATE READ
- LIB0 SA1 CR
- SA2 PR
- ZR X1,LIB1 IF NOT A CREATION RUN
- RJ PCR CREATE A NEW LIBRARY
- EQ LIB4 PROCESS OUTPUT
- * CHECK PURGE RUN.
- LIB1 SA3 TT
- ZR X2,LIB2 IF NOT A PURGE RUN
- RJ PIT PURGE INACTIVE TASKS
- EQ LIB4 PROCESS OUTPUT
- * CHECK TELL *TAF* RUN.
- LIB2 ZR X3,LIB3 IF NOT A TELL *TAF* RUN
- RJ PTT TELL *TAF*
- EQ LIB4 PROCESS OUTPUT
- LIB3 RJ PNP PROCESS NO PARAMETERS
- LIB4 SA1 JOBORG
- ZR X1,LIB5 IF INTERACTIVE INPUT
- SA1 L.LREC
- ZR X1,LIB5 IF NO TASKS ON OLD DIRECTORY
- * WRITE NAMES OF TASKS ON OLD DIRECTORY.
- WRITEW O,LIBE,LIBEL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SA1 F.LREC START OF NAMES
- SA5 L.LREC COUNT OF NAMES
- SB7 X1
- SX1 X5
- RJ /COMCSST/SST SORT TABLE
- SA1 F.LREC START OF NAMES
- RJ LRL LIST RECORD LIST
- LIB5 SA1 L.IREC
- ZR X1,LIB6 IF NO RECORDS INSERTED
- * WRITE NAMES OF RECORDS INSERTED.
- WRITEW O,LIBC,LIBCL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SA1 F.IREC START OF INSERTED RECORD NAMES
- SA5 L.IREC COUNT OF INSERTED RECORD NAMES
- SB7 X1
- SX1 X5
- RJ /COMCSST/SST SORT TABLE
- SA1 F.IREC START OF INSERTED RECORD NAMES
- RJ LRL LIST RECORD LIST
- LIB6 SA1 L.RREC
- ZR X1,LIB7 IF NO RECORDS REPLACED
- * WRITE NAMES OF RECORDS REPLACED.
- WRITEW O,LIBD,LIBDL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SA1 F.RREC START OF REPLACED RECORD NAMES
- SA5 L.RREC COUNT OF RECORD NAMES
- SB7 X1
- SX1 X5
- RJ /COMCSST/SST SORT TABLE
- SA1 F.RREC START OF REPLACED RECORD NAMES
- RJ LRL LIST RECORD LIST
- LIB7 SA1 L.TDRC
- ZR X1,LIB8 IF NO DIRECTIVES CHANGED
- * WRITE NAMES OF DIRECTIVES CHANGED.
- WRITEW O,LIBL,LIBLL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SA1 F.TDRC START OF DIRECTIVE CHANGE NAMES
- SA5 L.TDRC COUNT OF NAMES
- SB7 X1
- SX1 X5
- RJ /COMCSST/SST SORT TABLE
- SA1 F.TDRC START OF DIRECTIVE CHANGE NAMES
- RJ LRL LIST RECORD LIST
- LIB8 SA1 L.TTIN
- ZR X1,LIB9 IF NO TRANSACTION UNITS INSERTED
- * WRITE NAMES OF TRANSACTION UNITS INSERTED.
- WRITEW O,LIBN,LIBNL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SB2 B1 WORDS PER ENTRY
- SA1 F.TTIN
- SB6 X1 FWA OF TABLE
- SA1 L.TTIN LENGTH OF TABLE
- SB3 LIBQ TEMPORARY BUFFER
- MX0 42 MASK
- RJ SSR SORT TABLE
- SA1 F.TTIN
- SA5 L.TTIN
- RJ LRL LIST RECORD LIST
- LIB9 SA1 L.TTCN
- ZR X1,LIB10 IF NO TRANSACTION UNITS CHANGED
- * WRITE NAMES OF TRANSACTION UNITS CHANGED.
- WRITEW O,LIBO,LIBOL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SB2 B1 WORDS PER ENTRY
- SA1 F.TTCN
- SB6 X1 FWA OF TABLE
- SA1 L.TTCN LENGTH OF TABLE
- SB3 LIBQ TEMPORARY BUFFER
- MX0 42 MASK
- RJ SSR SORT TABLE
- SA1 F.TTCN
- SA5 L.TTCN
- RJ LRL LIST RECORD LIST
- LIB10 SA1 L.TTNE
- ZR X1,LIB11 IF NO TRANSACTION UNITS WITH NONEXISTENT
- * WRITE NAMES OF TRANSACTION UNITS WITH NONEXISTENT TASKS.
- WRITEW O,LIBP,LIBPL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- SB2 B1 WORDS PER ENTRY
- SA1 F.TTNE
- SB6 X1 FWA OF TABLE
- SA1 L.TTNE LENGTH OF TABLE
- SB3 LIBQ TEMPORARY BUFFER
- MX0 42 MASK
- RJ SSR SORT TABLE
- SA1 F.TTNE
- SA5 L.TTNE
- RJ LRL LIST RECORD LIST
- * PROCESS LIST OPTION IF USED.
- LIB11 SA1 LO
- ZR X1,LIB12 IF NO *LO* OPTION
- RJ PLO PROCESS LIST OPTION
- * WRITE TIME AND DATE OF MOST RECENT LIBRARY MODIFICATION.
- LIB12 SA1 RECN
- NZ X1,LIB13 IF *B* FILE USED
- SA1 TLDHD PLACE DIRECTORY DATE IN OUTPUT LINE
- BX6 X1
- SA6 LAST
- SA1 TLDHT PLACE DIRECTORY TIME IN OUTPUT LINE
- BX6 X1
- SA6 LAST+1
- LIB13 WRITEW O,ENDH,ENDHL WRITE DATE AND TIME OF LAST MODIFICATION
- WRITER O FLUSH OUTPUT FILE
- SETFS O,0 PREVENT RETURN OF OUTPUT FILE
- SA1 BFEF
- ZR X1,LIB14 IF NO ERRORS ON *B* OR *PLO*
- MESSAGE LIBJ * LIBTASK ERRORS.*
- ABORT
- LIB14 MESSAGE LIBF * TASK EDITING COMPLETE.*
- ENDRUN
- * TLD VALUES FOR CURRENT TASK.
- LIBA VFD 48/0,6/0,6/0 WORD 2 OF TLD
- VFD 1/CS,1/CD,1/CC,3/0,18/0,18/0,18/0
- * DEFAULT VALUES FOR ALL TASKS.
- LIBB VFD 48/0,6/0,6/0 WORD 2 OF TLD
- VFD 1/CS,1/CD,1/CC,3/0,18/0,18/0,18/0
- LIBC DATA C* RECORDS INSERTED INTO LIBRARY FILE - *
- LIBCL EQU *-LIBC
- LIBD DATA C* RECORDS REPLACED IN LIBRARY FILE - *
- LIBDL EQU *-LIBD
- LIBE DATA C* RECORDS ON OLD TASK LIBRARY FILE - *
- CON 8L
- LIBEL EQU *-LIBE
- LIBF DATA C* TASK EDITING COMPLETE.*
- LIBG DATA C* COPYING *
- LIBH VFD 18/0,12/TRSI,30/0 REPLY WORD FOR *SIC* MACRO
- LIBI VFD 12/2002B,30/0,18/LIBIL
- VFD 42/0,18/0
- CON 0 TASK LIBRARY NAME
- LIBIL EQU *-LIBI LENGTH OF PARAMETER BLOCK
- LIBJ DATA C* LIBTASK ERRORS.*
- LIBK DATA C* FILE NOT ATTACHED - *
- LIBL DATA C* DIRECTIVE ENTRIES CHANGED IN TASK LIBRARY DIRECTORY.
- ,*
- CON 8L
- LIBLL EQU *-LIBL
- LIBM DATA C*IGNORING *
- LIBN DATA C* TRANSACTION NAMES INSERTED.*
- CON 8L
- LIBNL EQU *-LIBN
- LIBO DATA C* TRANSACTION NAMES CHANGED.*
- CON 8L
- LIBOL EQU *-LIBO
- LIBP DATA C* TRANSACTION NAMES CONTAINING NONEXISTENT TASKS.*
- CON 8L
- LIBPL EQU *-LIBP
- LIBQ CON 0 TEMPORARY BUFFER FOR *SSR*
- TITLE SUBROUTINES.
- ALC SPACE 4,15
- ** ALC - ADVANCE LINE COUNT.
- *
- * ADVANCE THE LINE COUNT FOR THE OUTPUT FILE PAGE AND
- * CHECK FOR END OF PAGE.
- *
- * ENTRY (X2) = LINE COUNT IF NOT 1.
- *
- * EXIT LINE COUNT ADVANCED.
- *
- * USES A - 1, 6, 7.
- * B - 2.
- * X - 1, 2, 4, 6, 7.
- *
- * CALLS CDD, STL.
- ALC SUBR ENTRY/EXIT
- SA1 ALCA LINE COUNT
- IX7 X1+X2
- SA7 A1 LINE COUNT ADVANCED
- SB2 X1-58
- NG B2,ALCX IF NOT AT END OF PAGE
- SA1 ALCB
- SX7 X1+1 ADVANCE PAGE COUNT
- SA7 ALCB
- RJ CDD CONVERT TO DECIMAL DISPLAY CODE
- MX4 30
- SA1 STLAP HEADER PAGE WORD
- BX2 X4*X1
- BX6 -X4*X6
- BX6 X6+X2
- SA6 A1+ NEW PAGE NUMBER INSERTED
- RJ STL SET NEW TITLE LINE
- EQ ALCX RETURN
- ALCA CON 3 LINE COUNT
- ALCB CON 2 PAGE COUNT
- CDR SPACE 4,15
- ** CDR - COPY DIRECTORY TO TASK LIBRARY.
- *
- * ENTRY FILE INITIALIZED.
- * (X5) = FILE NAME TO WHICH TLD IS TO BE COPIED.
- *
- * EXIT TASK AND TRANSACTION DIRECTORIES COPIED
- * TO THE LIBRARY FILE.
- *
- * USES A - 1, 2, 3, 4, 6, 7.
- * X - 1, 2, 3, 4, 6, 7.
- *
- * CALLS STN, STR.
- *
- * MACROS RECALL, WRITEF, WRITER, WRITEW.
- CDR SUBR ENTRY/EXIT
- RJ STN FIND TRANSACTIONS WITH NONEXISTENT TASKS
- RECALL X5 WAIT FOR FILE NOT BUSY
- SA1 STLAD PLACE DATE IN DIRECTORY
- SA2 STLAT PLACE TIME IN DIRECTORY HEADER
- BX6 X1
- BX7 X2
- SA6 LAST
- SA7 LAST+1
- SA6 TLDHD
- SA7 TLDHT
- SA1 TRDE
- ZR X1,CDR1 IF TRD DOES NOT EXIST
- SA1 MTRD
- ZR X1,CDR1 IF TRD NOT MODIFIED
- SA1 LWTRD
- SX2 X1-TRD LENGTH OF TRD
- NZ X2,CDR0 IF TRD NOT EMPTY
- SA1 TLDH+TLTRW CLEAR PRU OF TRD IN TLD HEADER
- MX3 60-TLTRN
- BX6 X3*X1
- SA6 A1+
- EQ CDR1 PROCESS TLD
- CDR0 SA6 TRDH+2 DATE
- SA7 A6+1 TIME
- RJ STR SORT TRANSACTION DIRECTORY
- SA2 X5+6
- MX3 TLTRN
- ERRNZ TLTRN-30 *CRI* AND PRU OF TRD LENGTHS DIFFERENT
- BX6 X3*X2 EXTRACT CURRENT RANDOM INDEX FROM FET
- SA2 TLDH+TLTRW
- LX6 TLTRS-59
- BX3 X3*X2 CLEAR OLD PRU
- BX6 X6+X3
- SA6 A2 PRU OF TRD IN TLD HEADER
- SA1 LWTRD
- SX7 X1-TRD LENGTH OF TRD
- MX3 -18
- LX3 18
- LX7 18
- SA2 TRDH+1
- BX2 X3*X2
- BX7 X2+X7
- SA7 A2 TRD LENGTH IN TRD HEADER
- WRITEW X5,TRDH,X1-TRDH WRITE TRD TO FILE
- WRITER X5,R FLUSH BUFFER
- CDR1 SA1 CRES NUMBER OF CM RESIDENT TASKS
- SA3 TT
- SA4 LWTLD LWA OF TLD
- ZR X3,CDR2 IF NOT *TT* RUN
- SA4 LWOLD LWA OF BASE TLD
- CDR2 SA2 TLDH+1
- MX3 18
- BX2 X3*X2
- SX6 X4-TLD LENGTH OF TLD
- BX7 X1+X2 STORE CORE RESIDENT COUNT IN HEADER WORD
- LX6 18
- BX7 X7+X6 ADD TLD LENGTH
- SA7 TLDH+1 UPDATE DIRECTORY HEADER
- SA4 LWTLD LWA OF TLD
- WRITEW X5,TLDH,X4-TLDH
- WRITER X5 FLUSH BUFFER
- WRITEF X5 WRITE EOF ON LIBRARY FILE
- EQ CDRX
- ERR SPACE 4,25
- ** ERR - PROCESS ERRORS ENCOUNTERED IN BINARY OR INPUT
- * DIRECTIVE FILE.
- *
- * THE FOLLOWING BLOCKS OF CODE HANDLE VARIOUS ERROR CONDITIONS
- * WHICH MAY OCCUR WHILE PROCESSING THE *B* OR *I* FILE.
- *
- * ENTRY (X6) = 1 - RECORD LESS THAN 64D WORDS.
- * 2 - INCORRECT RECORD TYPE ON BINARY.
- * 3 - MULTIPLE ENTRY POINT.
- * 4 - ERROR IN *54* TABLE.
- * 5 - TLD IS FULL.
- * 6 - TRD IS FULL.
- *
- * EXIT (BFEF) = 1 IF ERROR PROCESSED.
- *
- * USES A - 1, 6, 7.
- * B - 3.
- * X - 1, 2, 6, 7.
- *
- * CALLS ALC, SEH, SFN, SKR.
- *
- * MACROS ABORT, MESSAGE, READ, WRITEW.
- ERR9 SX7 B1+ INDICATE ERROR ENCOUNTERED
- SA7 BFEF
- ERR SUBR ENTRY/EXIT
- LX6 -1
- SX2 X6-TERRL
- SB3 X6
- PL X2,ERR7 IF UNKNOWN ERROR CONDITION
- JP B3+TERR JUMP THROUGH TABLE
- TERR PL X6,ERR7 UNKNOWN ERROR CONDITION
- EQ ERR1 RECORD LESS THAN 64D WORDS
- PL X6,ERR4 IF INCORRECT RECORD TYPE
- EQ ERR5 MULTIPLE ENTRY POINT
- PL X6,ERR6 ERRORS IN *54* TABLE
- EQ ERR8 TLD FULL
- PL X6,ERR10 TRD FULL
- EQ ERR7 UNKNOWN ERROR CONDITION
- TERRL EQU *-TERR LENGTH OF ERROR JUMP TABLE
- * BINARY RECORD LESS THAN 64D WORDS LONG.
- ERR1 SX2 X1-HB
- NZ X2,ERR2 IF NOT A BLANK RECORD
- READ B REINITIATE READ ON BINARY FILE
- EQ ERRX RETURN
- ERR2 SX2 X1-HB-1
- PL X2,ERR3 IF MORE THAN ONE WORD ON RECORD
- SX6 B0+
- SA6 HB+1 NO TASK NAME
- ERR3 READ B INITIATE READ ON BINARY FILE
- RJ SEH SET ERROR HEADER
- MX7 42
- SA1 HB+1 TASK NAME - HOPEFULLY
- BX1 X7*X1
- RJ SFN SPACE FILL NAME
- SA6 ERRA+1
- WRITEW O,ERRA,ERRAL
- SX2 B1+B1
- RJ ALC ADVANCE LINE COUNT
- EQ ERR9 RETURN
- * INCORRECT RECORD TYPE ON BINARY FILE.
- ERR4 RJ SKR ADVANCE TO NEXT RECORD
- RJ SEH SET ERROR HEADER
- MX7 42
- SA1 TSKNM TASK NAME
- RJ SFN SPACE FILL NAME
- SA6 ERRB+1
- WRITEW O,ERRB,ERRBL
- SX2 B1+B1
- RJ ALC ADVANCE LINE COUNT
- EQ ERR9 RETURN
- * MORE THAN ONE ENTRY POINT GIVEN ON A *54* TABLE.
- ERR5 RJ SKR SKIP TO NEXT RECORD
- RJ SEH SET ERROR HEADER
- MX7 42
- SA1 TSKNM TASK NAME
- RJ SFN SPACE FILL NAME
- SA6 ERRC+1
- WRITEW O,ERRC,ERRCL
- SX2 B1+B1
- RJ ALC ADVANCE LINE COUNT
- EQ ERR9 RETURN
- * FWA FOR A NON *54* TABLE BINARY WAS NOT EQUAL TO THE
- * DEFAULT FWA OF A *54* TABLE.
- ERR6 RJ SKR SKIP TO NEXT RECORD
- RJ SEH SET ERROR HEADER
- MX7 42
- SA1 TSKNM TASK NAME
- RJ SFN SPACE FILL NAME
- SA6 ERRD+1
- WRITEW O,ERRD,ERRDL
- SX2 B1+B1
- RJ ALC ADVANCE LINE COUNT
- EQ ERR9 RETURN
- * UNKNOWN ERROR CONDITION.
- ERR7 MESSAGE ERRE * LIBTASK ERROR CONDITION UNKNOWN.*
- ABORT
- * TLD IS FULL.
- ERR8 RJ SEH SET ERROR HEADER
- MX7 42
- SA1 TSKNM TASK NAME
- RJ SFN SPACE FILL NAME
- SA6 ERRF+1
- WRITEW O,ERRF,ERRFL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- EQ ERR9 RETURN
- * TRD IS FULL.
- ERR10 RJ SEH SET ERROR HEADING
- MX7 42
- SA1 INPT TRANSACTION NAME
- RJ SFN SPACE FILL NAME
- SA6 ERRG+1
- WRITEW O,ERRG,ERRGL
- SX2 B1+B1
- RJ ALC ADVANCE LINE COUNT
- EQ ERR9 RETURN
- ERRA DATA 20H0
- DATA C* BINARY RECORD WAS LESS THAN 64D WORDS LONG.*
- ERRAL EQU *-ERRA LENGTH OF MESSAGE
- ERRB DATA 20H0
- DATA C* BINARY RECORD WAS NETHER ABSOLUTE NOR OVERLAY.*
- ERRBL EQU *-ERRB LENGTH OF MESSAGE
- ERRC DATA 20H0
- DATA C/ MORE THAN ONE ENTRY POINT ON A *54* TABLE./
- ERRCL EQU *-ERRC LENGTH OF MESSAGE
- ERRD DATA 20H0
- DATA C* INCORRECT FWA FOR LOAD.*
- ERRDL EQU *-ERRD LENGTH OF MESSAGE
- ERRE DATA C* LIBTASK ERROR CONDITION UNKNOWN.*
- ERRF DATA 20H0
- DATA C* DIRECTORY IS FULL - NO MORE ADDITIONS ALLOWED.*
- ERRFL EQU *-ERRF LENGTH OF MESSAGE
- ERRG DATA 20H0
- DATA C* TRD IS FULL - NO MORE ADDITIONS ALLOWED.*
- ERRGL EQU *-ERRG
- FPL SPACE 4,20
- ** FPL - FORMAT PRINT LINE.
- *
- * FORMATS THE PRINT LINE FOR EITHER THE TASK NAME REPORT
- * OR THE TRANSACTION UNIT REPORT, PRINTS THE LINE, AND
- * CALLS *ALC* TO ADVANCE THE LINE COUNT.
- *
- * ENTRY (A1) = FWA OF TLD/TRD ENTRY.
- * (FPLC) = 0, IF TLD IS BEING FORMATTED.
- * = 1, IF TRD IS BEING FORMATTED.
- *
- * EXIT LINE PRINTED.
- *
- * USES X - 0, 1, 2, 3, 4, 5, 6, 7.
- * A - 1, 2, 4, 5, 6.
- * B - 2, 3, 4, 5, 6, 7.
- *
- * CALLS ALC, COD, PRH, SFN, STD.
- *
- * MACROS WRITEC, WRITEW.
- FPL SUBR ENTRY/EXIT
- SA2 FPLC FORMAT FLAG
- NZ X2,FPL7 IF FORMATTING TRANSACTION UNITS
- SA2 A1+TLTNW FIRST WORD OF TLD
- MX4 TLTNN
- BX1 X4*X2 TASK NAME
- RJ SFN SPACE FILL NAME
- LX6 -6
- SA6 FPLB SET IN FIRST WORD OF PRINT LINE
- SA2 A1+B1 SECOND WORD OF TLD
- MX0 -TLMPN
- BX1 -X0*X2 MAXIMUM PRIORITY
- RJ COD CONVERT TO DISPLAY CODE
- SA2 A2+B1 THIRD WORD OF TLD
- BX5 X6 SAVE MAXIMUM PRIORITY
- LX2 TLBPN-1-TLBPS
- BX1 -X0*X2 BEGINNING PRIORITY
- MX0 -36
- BX5 -X0*X5 CLEAR OUT BEGINNING PRIORITY
- RJ COD CONVERT TO DISPLAY CODE
- LX6 59-23
- BX6 X0*X6 BEGINNING PRIORITY
- BX6 X6+X5 ADD MAXIMUM TO BEGINNING PRIORITY
- MX4 -TLQLN
- SA2 A2 THIRD WORD OF TLD
- SA6 A6+1 SET IN SECOND WORD OF PRINT LINE
- BX1 -X4*X2 QUEUE LIMIT
- RJ COD CONVERT TO DISPLAY CODE
- LX6 24
- MX0 -TLFLN
- SA6 A6+1 SET IN THIRD WORD OF PRINT LINE
- SA2 A1+TLFLW SECOND WORD OF TLD
- BX5 X2
- LX2 TLFLN-1-TLFLS
- BX1 -X0*X2
- LX1 6 FIELD LENGTH*100B
- RJ COD CONVERT TO DISPLAY CODE
- LX6 24
- SA6 A6+1 SET IN FOURTH WORD OF PRINT LINE
- LX5 TLEFN-1-TLEFS
- ERRNZ TLFLW-TLEFW
- BX1 -X0*X5
- LX1 6 EXTRA FL*100B
- RJ COD CONVERT TO DISPLAY CODE
- LX6 24
- SA6 A6+B1 SET IN FIFTH WORD OF PRINT LINE
- SA5 FPLA
- BX6 X5
- SA4 A1+TLNDW THIRD WORD OF TLD
- BX1 X4
- SA6 A6+1 SET SPACES IN SIXTH WORD OF PRINT LINE
- SB2 1R-
- BX0 X4
- LX1 59-TLNDS
- SX2 B2+
- NG X1,FPL1 IF NOT DESTRUCTIVE CODE
- SX2 1RD ADD IN *D*
- FPL1 BX1 X4
- LX2 6
- SX3 B2
- LX1 59-TLCMS
- PL X1,FPL2 IF NO CM RESIDENT
- SX3 1RC
- FPL2 BX2 X2+X3 ADD IN *C* OR *-*
- LX1 59-TLECS-59+TLCMS
- SX3 B2
- LX2 6
- PL X1,FPL3 IF NOT EXTENDED MEMORY RESIDENT
- SX3 1RE
- FPL3 BX2 X2+X3 ADD IN *E* OR *-*
- LX0 59-TLTOS
- SX3 B2
- LX2 6
- PL X0,FPL4 IF TASK IS NOT OFF
- SX3 1RO
- FPL4 BX2 X2+X3 ADD IN *O* OR *-*
- LX4 59-TLSCS
- SX3 B2
- LX2 6
- PL X4,FPL5 IF NO SOLICITED COMMUNICATION BLOCK
- SX3 1RR
- FPL5 BX2 X2+X3 ADD IN *R* OR *-*
- LX4 59-TLQUS-59+TLSCS
- SX3 B2
- LX2 6
- PL X4,FPL6 IF QUEUEING NOT ENFORCED
- SX3 1RQ
- FPL6 BX2 X2+X3 ADD IN *Q* OR *-*
- MX4 -24
- LX2 24
- BX6 -X4*X5
- BX6 X6+X2 ADD ATTRIBUTES TO SPACES
- SA6 A6+B1 SET IN SEVENTH WORD OF PRINT LINE
- EQ FPL14 PRINT OUT LINE
- * FORMAT THE PRINT LINE FOR THE TRANSACTION UNIT REPORT.
- FPL7 MX0 TDTNN
- SA2 A1 FIRST WORD OF TRD
- SB4 A1
- BX1 X0*X2 TRANSACTION NAME
- SB7 4
- RJ SFN SPACE FILL NAME
- LX6 -6
- SA6 FPLB SET IN FIRST WORD OF PRINT LINE
- SA5 A6-B1 GET SPACES
- FPL8 SA2 A2+1 GET NEXT WORD IN TRD
- BX6 X5
- BX1 X0*X2
- ZR X1,FPL10 IF NO TASK
- RJ SFN SPACE FILL NAME
- SB3 TLDLE LENGTH OF TLD ENTRY
- SB5 TLD START OF TLD
- BX2 X1
- SA1 LWOLD
- SB6 X1 LWA OF TLD
- RJ STD SEARCH TLD
- ZR X1,FPL10 IF TASK NAME IN TLD
- LX6 -6
- MX3 -54
- BX1 -X3*X6
- SX4 1R(
- LX4 -6
- BX6 X1+X4 ADD IN LEFT PARENTHESIS
- SB5 -6
- MX1 -6
- SX4 1R
- SB6 6
- FPL9 LX6 -6
- BX3 -X1*X6
- IX7 X3-X4
- SB5 B5+B6
- ZR X7,FPL9 IF BLANK
- LX6 B6
- MX1 54
- BX2 X1*X6
- SX1 1R)
- BX6 X2+X1 ADD IN RIGHT PARENTHESIS
- LX6 B5 POSITION NAME
- FPL10 SB7 B7-B1
- SA6 A6+B1 SET NAME IN PRINT LINE
- PL B7,FPL8 IF MORE TASKS
- MX4 -48
- SA2 B4+TDDCW FIRST WORD OF TRD
- BX6 -X4*X5 CLEAR OUT *CRM* AND *CDCS* USAGE
- BX0 X2
- LX2 59-TDDCS
- SX3 1R-
- PL X2,FPL11 IF NOT *CDCS* USAGE
- SX3 1RD
- FPL11 LX3 -6
- BX6 X6+X3 ADD IN *D* OR *-*
- SX3 1R-
- LX2 59-TDRMS-59+TDDCS
- PL X2,FPL12 IF NOT *CRM* USAGE
- SX3 1RC
- FPL12 LX3 -12
- BX6 X6+X3 ADD IN *C* OR *-*
- MX4 54
- LX0 59-TDRCS
- SX3 1RN
- LX4 12
- BX6 X4*X6 CLEAR OUT RECOVER FLAG
- PL X0,FPL13 IF NOT RECOVERABLE
- SX3 1RY
- FPL13 LX3 12
- BX6 X6+X3 ADD IN *N* OR *Y*
- SA6 A6+1 SET IN SEVENTH WORD OF PRINT LINE
- * PRINT OUTPUT LINE.
- FPL14 WRITEC O,FPLB PRINT OUT LINE
- SX2 B1+
- RJ ALC ADVANCE LINE COUNT
- SA4 ALCA GET LINE COUNT
- SA2 FPLC
- SA5 PLOH
- SX4 X4-3
- SA5 X5+TLDLE GET NEXT TLD ENTRY
- ZR X2,FPL15 IF TLD FORMAT
- SA5 PLOH
- SA5 X5+TRDLE1 GET NEXT TRD ENTRY
- FPL15 ZR X5,FPLX IF NO MORE ENTRIES RETURN
- NZ X4,FPLX IF NOT NEW PAGE RETURN
- RJ PRH PRINT REPORT HEADER
- EQ FPLX RETURN
- FPLA CON 1H SPACES
- FPLB BSS 7 PRINT LINE BUFFER
- CON 8L
- FPLC CON 0 FORMAT FLAG
- LRL SPACE 4,20
- ** LRL - WRITE RECORD LIST.
- *
- * WRITE A LIST OF TASK NAMES ONTO THE OUTPUT FILE, EIGHT NAMES
- * ON EACH LINE, AND UPDATE THE LINE COUNT. IF THERE ARE NO
- * TASK NAMES IN THE LIST, *NONE* IS WRITTEN.
- *
- * ENTRY (X1) = FWA OF RECORD LIST.
- * (X5) = NUMBER OF RECORDS IN LIST
- *
- * EXIT - RECORDS WRITTEN ON OUTPUT FILE.
- *
- * USES A - 0, 1, 2, 6.
- * B - 2, 3, 5, 6.
- * X - ALL.
- *
- * CALLS ALC, SFN.
- *
- * MACROS WRITEC, WRITEW.
- LRL SUBR ENTRY/EXIT
- SX7 X5-23
- SA0 11 TASKS PER LINE
- SB5 X1 ADDRESS OF FIRST TASK NAME
- SB6 A0
- SX0 B1
- SB3 B0
- PL X7,LRL2 IF MORE THAN 23 TASKS TO LIST
- SX6 X5-9
- NG X6,LRL4 IF 8 TASKS ON ONE LINE
- SX3 X5
- LX3 -1 DIVIDE COUNT BY TWO
- SA0 X3
- SB6 A0
- PL X3,LRL2 IF EVEN NUMBER OF TASKS
- SB6 B6+1
- LRL2 SX3 X5
- SX4 A0
- IX0 X3/X4 NUMBER OF LINES
- SB2 A0
- NE B2,B6,LRL3 IF FORCED ODD COUNT LINES
- SX2 X0
- SX4 A0
- IX2 X2*X4 CHECK FOR REMAINDER
- IX4 X5-X2
- ZR X4,LRL3 IF NO ODD COUNT LINES
- SB3 X4+B1
- SX0 X0+B1
- LRL3 SX1 B5+
- LX1 18
- BX0 X1+X0
- SX2 B3+
- LX2 36
- BX0 X0+X2
- LRL4 SA2 STLAB BLANKS
- MX4 42 MASK FOR TASK NAMES
- BX6 X2
- SA6 WBUF
- LRL5 ZR X5,LRL7 IF DONE LISTING TASK NAMES
- SA1 B5 TASK NAME
- BX1 X4*X1
- ZR B3,LRL6 IF NO EXTRA LINES IN THIS COLUMN
- SB3 B3-1
- NZ B3,LRL6 IF EXTRA LINES REMAIN
- SX2 B1
- IX0 X0-X2 REMOVE EXTRA COLUMN COUNT
- LRL6 SX5 X5-1
- RJ SFN SPACE FILL NAME
- SB6 B6-B1
- SA6 A6+1 STORE TASK NAME IN OUTPUT BUFFER
- SB5 B5+X0
- NZ B6,LRL5 IF MORE NAMES TO PRINT ON THIS LINE
- LRL7 BX6 X6-X6
- SA6 A6+B1 TERMINATE LINE
- WRITEC O,WBUF,WBUFL
- SX2 B1
- RJ ALC ADVANCE LINE COUNT
- SB6 A0 NAMES TO LIST ON NEXT LINE
- LX0 -18
- SX1 B1
- SB5 X0+B1
- IX0 X0+X1
- LX0 -18
- SB3 X0
- LX0 36
- ZR B3,LRL8 IF NO EXTRA LINES
- IX0 X0+X1
- LRL8 NZ X5,LRL4 IF NOT END OF LISTING
- WRITEW O,BLINE,1 SKIP ONE LINE
- SX2 B1+
- RJ ALC ADVANCE LINE COUNT
- EQ LRLX RETURN
- LRLA DATA C/ *NONE*/
- LRLAL EQU *-LRLA
- PCR SPACE 4,15
- ** PCR - PROCESS CREATION RUN.
- *
- * ENTRY FILE INITIALIZED.
- *
- * EXIT NEW TASK LIBRARY CREATED.
- *
- * USES A - 1.
- * X - 1, 5.
- *
- * CALLS CDR, RBF, SDR.
- *
- * MACROS REWIND.
- PCR SUBR ENTRY/EXIT
- SA1 PN
- SX5 P
- ZR X1,PCR1 IF *P* AND *N* ARE IDENTICAL
- SX5 N
- PCR1 REWIND X5
- RJ RBF READ BINARY FILE
- RJ SDR SORT DIRECTORY
- RJ CDR COPY DIRECTORY TO NEW TASK LIBRARY
- EQ PCRX RETURN
- PLO SPACE 4,20
- ** PLO - PROCESS LIST OPTION.
- *
- * READ TASK AND TRANSACTION DIRECTORIES AND PRODUCE A
- * FORMATTED LISTING OF ALL TASKS AND THEIR ATTRIBUTES
- * AND ALL TRANSACTIONS WITH THEIR ATTRIBUTES.
- *
- * ENTRY TLD = FWA OF TASK LIBRARY DIRECTORY.
- * TRD = FWA OF TRANSACTION UNIT DIRECTORY.
- *
- * EXIT *PLO* PROCESSSING COMPLETE.
- *
- * ERROR (BFEF) NON ZERO IF NAME NOT IN DIRECTORY.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 2, 3, 5, 6.
- *
- * CALLS FPL, PRH, SNM, STD, STL.
- *
- * MACROS WRITEW.
- PLO SUBR ENTRY/EXIT
- SA1 ALCA GET LINE COUNT
- SX1 X1-3
- ZR X1,PLO1 IF PAGE EJECT NOT NEEDED
- RJ STL SET NEW TITLE PAGE
- PLO1 SX2 1RT
- SA1 LO
- LX2 -6
- IX3 X2-X1
- ZR X3,PLO6 IF *LO=T*
- SX2 1RX
- LX2 -6
- IX3 X2-X1
- ZR X3,PLO7 IF *LO=X*
- PLO1.1 SA1 LWTLD
- SX1 X1-TLD LENGTH OF TLD
- ZR X1,PLO3 IF NO TLD ENTRIES
- SX2 B0+
- RJ PRH PRINT HEADER FOR TASK NAME REPORT
- SX6 B0+
- SA1 TLD
- SA6 FPLC FORMAT TLD
- PLO2 SX7 A1+
- SA7 PLOH SAVE LAST TLD ENTRY
- RJ FPL FORMAT PRINT LINE
- SA1 PLOH
- SA1 X1+TLDLE GET NEXT TLD ENTRY
- SA2 LWTLD
- SX3 A1
- IX1 X2-X3
- ZR X1,PLO3 IF NO MORE TLD ENTRIES
- EQ PLO2 LOOP FOR NEXT ENTRY
- PLO3 SA2 PLOI
- NZ X2,PLOX IF *LO=T*
- SA2 ALCA GET LINE COUNT
- SX2 X2-3
- ZR X2,PLO4 IF PAGE EJECT NOT NEEDED
- RJ STL SET NEW TITLE PAGE
- PLO4 SA1 LWTRD
- SX1 X1-TRD LENGTH OF TRD
- ZR X1,PLOX IF NO TRD ENTRIES
- SX2 B1+
- RJ PRH PRINT HEADER FOR TRANSACTION UNIT REPORT
- SX6 B1+
- SA1 TRD
- SA6 FPLC FORMAT TRD
- PLO5 SX7 A1+
- SA7 PLOH SAVE LAST TRD ENTRY
- RJ FPL FORMAT PRINT LINE
- SA1 PLOH
- SA1 X1+TRDLE1 GET NEXT TRD ENTRY
- SA2 LWTRD
- SX3 A1
- IX1 X2-X3
- ZR X1,PLOX IF NO MORE TRD ENTRIES
- EQ PLO5 LOOP FOR NEXT ENTRY
- * PROCESS *LO=T* OPTION.
- PLO6 SA2 XTN GET TASK NAME
- SX7 B1+
- SA7 PLOI SET *LO=T*
- ZR X2,PLO1.1 IF *LO=T* WITH NO *TN*
- SB3 TLDLE LENGTH OF TLD ENTRY
- SB5 TLD START OF TLD
- SA1 LWOLD LWA OF BASE TLD
- SB6 X1+
- RJ STD SEARCH TLD
- NZ X1,PLO8 IF ENTRY NOT FOUND
- SX7 A1
- SX2 B0
- SA7 PLOH SAVE FWA OF ENTRY
- RJ PRH PRINT TASK NAME REPORT HEADER
- SX6 B0
- SA1 PLOH
- SA1 X1 FWA OF TLD ENTRY
- SA6 FPLC FORMAT TLD
- RJ FPL FORMAT PRINT LINE
- EQ PLOX RETURN
- * PROCESS *LO=X* OPTION.
- PLO7 SA2 XTN GET TRANSACTION NAME
- ZR X2,PLO3 IF *LO=X* WITH NO *TN*
- SB3 TRDLE1 LENGTH OF TRD ENTRY
- SB5 TRD START OF TRD
- SA1 LWTRD LWA OF TRD
- SB6 X1+
- RJ STD SEARCH TRD
- NZ X1,PLO8 IF ENTRY NOT FOUND
- SX7 A1
- SX2 B1
- SA7 PLOH SAVE FWA OF ENTRY
- RJ PRH PRINT TRANSACTION UNIT REPORT HEADER
- SX6 B1
- SA1 PLOH
- SA1 X1 FWA OF TRD ENTRY
- SA6 FPLC FORMAT TRD
- RJ FPL FORMAT PRINT LINE
- EQ PLOX RETURN
- PLO8 SA1 XTN ENTRY NOT FOUND
- SB2 1RX
- SB5 PLOG ERROR MESSAGE
- RJ SNM SET NAME IN MESSAGE
- WRITEW O,BLINE,1
- WRITEW O,PLOG,PLOGL
- SA1 BFEF
- SX6 X1+1 INCREMENT ERROR FLAG
- SA6 A1+
- EQ PLOX RETURN
- PLOA DATA C* TASK NAME REPORT*
- CON 8L
- PLOAL EQU *-PLOA
- PLOB DATA C* TASK PRIORITY FIELD EXTRA
- , ATTR*
- PLOBL EQU *-PLOB
- PLOC DATA C* NAME BEG MAX QL LENGTH FL
- , DCEORQ*
- CON 8L
- PLOCL EQU *-PLOC
- PLOD DATA C* TRANSACTION NAME REPORT*
- CON 8L
- PLODL EQU *-PLOD
- PLOE DATA C* TRANSACTION TASKS
- , D.M.*
- PLOEL EQU *-PLOE
- PLOF DATA C* NAME 1ST 2ND 3RD 4TH 5
- ,TH DC RECOVER*
- CON 8L
- PLOFL EQU *-PLOF
- PLOG DATA C* XXXXXXX NOT IN DIRECTORY.*
- PLOGL EQU *-PLOG
- PLOH CON 0 FWA OF ENTRY
- PLOI CON 0 *LO*/*TN* FLAG
- PNP SPACE 4,15
- ** PNP - PROCESS NO PARAMETERS.
- *
- * ENTRY FILE INITIALIZED.
- *
- * EXIT NEW TASK LIBRARY CREATED OR UPDATED.
- *
- * USES A - 1, 2.
- * X - 1, 2, 5.
- *
- * CALLS CDR, PCR, PIT, RBF, SDR.
- *
- * MACROS SKIPEI.
- PNP SUBR ENTRY/EXIT
- SA1 AT
- SA2 P
- NZ X2,PNP1 IF NOT *P=0*
- RJ PCR PROCESS CREATE OPTION
- EQ PNPX RETURN
- PNP1 ZR X1,PNP2 IF ATTACHED IN *MODIFY* MODE
- RJ PIT PURGE INACTIVE TASKS
- EQ PNPX RETURN
- PNP2 SA1 B
- SA2 I
- BX1 X1+X2
- ZR X1,PNPX IF NO *I* OR *B* FILE
- SX5 P
- RJ RBF READ BINARY FILE
- RJ SDR SORT DIRECTORY
- RJ CDR COPY DIRECTORY
- EQ PNPX RETURN
- PIT SPACE 4,15
- ** PIT - PURGE INACTIVE TASKS (*PR* OPTION).
- *
- * ENTRY FILE INITIALIZED.
- *
- * EXIT NEW FILE CREATED FROM *P* AND *B*.
- *
- * USES A - 1, 6.
- * X - 1, 5, 6.
- *
- * CALLS CDR, RBF, SAT, SAP, SDR.
- PIT SUBR ENTRY/EXIT
- SA1 LWTLD SAVE LWA OF TLD
- BX6 X1
- SA6 LATLD
- SA1 PN
- NZ X1,PIT2 IF *P* AND *N* ARE NOT EQUAL
- SX5 P COPY TO *P* FILE
- RJ RBF READ BINARY FILE
- RJ SAT SELECT ALL ACTIVE TASKS
- SX5 P COPY TO P FILE
- RJ SDR SORT DIRECTORY
- PIT1 SA1 LATLD COPY ACTUAL LENGTH OF TLD
- BX6 X1
- SA6 LWTLD
- SX6 B1
- SA6 MTRD FORCE COPY OF TRD IF IT EXISTS
- RJ CDR COPY DIRECTORY
- EQ PITX RETURN
- PIT2 REWIND N
- SX5 N
- RJ RBF READ BINARY FILE
- RJ SAP SELECT ACTIVE TASKS FROM *P* FILE
- SX5 N
- RJ SDR SORT DIRECTORY
- EQ PIT1 COPY DIRECTORY
- PRH SPACE 4,20
- ** PRH - PRINT REPORT HEADER.
- *
- * PRINTS THE HEADER FOR EITHER THE TASK NAME REPORT OR
- * THE TRANSACTION UNIT REPORT AND CALLS *ALC* TO ADVANCE
- * THE LINE COUNT.
- *
- * ENTRY (X2) = 0, PRINT TASK NAME REPORT HEADER.
- * 1, PRINT TRANSACTION UNIT REPORT HEADER.
- *
- * EXIT APPROPRIATE HEADER PRINTED.
- *
- * USES X - 2.
- *
- * CALLS ALC.
- *
- * MACROS WRITEW.
- PRH SUBR ENTRY/EXIT
- NZ X2,PRH1 IF TRANSACTION UNIT HEADER WANTED
- WRITEW O,BLINE,1
- WRITEW O,PLOA,PLOAL
- WRITEW O,PLOB,PLOBL
- WRITEW O,PLOC,PLOCL
- EQ PRH2 ADVANCE LINE COUNT
- PRH1 WRITEW O,BLINE,1
- WRITEW O,PLOD,PLODL
- WRITEW O,PLOE,PLOEL
- WRITEW O,PLOF,PLOFL
- PRH2 SX2 6
- RJ ALC ADVANCE LINE COUNT
- EQ PRHX RETURN
- PTT SPACE 4,15
- ** PTT - PROCESS TELL *TAF* OPTION.
- *
- * ENTRY FILE INITIALIZED.
- *
- * EXIT FILE *N* UPDATED.
- *
- * USES A - 1.
- * X - 1, 5.
- *
- * CALLS CDR, RBF.
- *
- * MACROS RETURN, SYSTEM.
- PTT SUBR ENTRY/EXIT
- SX5 P
- RJ RBF READ BINARY FILE
- RJ CDR COPY DIRECTORY
- SA1 DA
- NZ X1,PTT1 IF *DA* SPECIFIED
- RETURN X5
- PTT1 SYSTEM SIC,R,LIBH,LIBI SEND MESSAGE TO *TAF*
- EQ PTTX RETURN
- RBF SPACE 4,30
- ** RBF - READ BINARY FILE.
- *
- * 1. IF END OF BINARY FILE RETURN TO CALLER.
- * 2. READ 77 TABLE AND FIRST OF PROGRAM.
- * 3. IF END OF BINARY RETURN TO CALLER.
- * 4. IF BINARY TOO SHORT CALL ROUTINE *ERR* AND GO TO STEP 1.
- * 5. IF NOT A *54* TABLE CALL *ERR* AND GO TO STEP 1.
- * 6. IF FWA OF LOAD NOT A DEFAULT LOAD ADRESS,
- * CALL *ERR* AND GO TO STEP 1.
- * 7. SEARCH DIRECTORY, IF NOT A IGNORE TASK GO TO STEP 9.
- * 8. SKIP TO NEXT RECORD AND GO TO STEP 1.
- * 9. COPY BINARY TO NEW FILE AND BUILD A DIRECTORY ENTRY.
- * 10. GO TO STEP 1.
- *
- * ENTRY FILE *B* AND *N* INITIATED.
- * (X5) = FILE NAME TO COPY TO.
- *
- * EXIT FILE *B* PROCESSED AND TASK LIBRARY DIRECTORY BUILT.
- *
- * USES A - 1, 2, 3, 4, 5, 6, 7.
- * B - 2, 3, 5, 6.
- * X - ALL.
- *
- * CALLS ERR, SKR, STD.
- *
- * MACROS ADDWRD, MESSAGE, READW, RECALL, SEARCH, WRITER,
- * WRITEW.
- RBF SUBR ENTRY/EXIT
- BX7 X5 SAVE FILE NAME
- SA7 RBFA
- RBF1 SA1 EOFF
- NZ X1,RBFX IF END OF BINARY FILE
- SA1 B
- ZR X1,RBFX IF NO BINARIES
- READW B,HB,HBL READ 77 TABLE AND FIRST WORDS OF PROGRAM
- NG X1,RBFX IF FINISHED WITH BINARY FILE
- SX6 B1+
- NZ X1,RBF19 IF BINARY FILE TOO SHORT
- SA2 HB+1
- MX0 42
- BX7 X0*X2
- MX0 -6
- SB2 10
- * ZERO FILL TASK NAME.
- RBF2 LX7 6
- BX1 -X0*X7
- SX2 X1-1R
- SB2 B2-B1
- NZ X2,RBF3 IF NOT BLANK
- BX7 X0*X7 REMOVE BLANK
- RBF3 NZ B2,RBF2 IF NOT AT WORD BOUNDARY
- SA7 TSKNM TASK NAME LEFT JUSTIFIED
- SA7 LIBG+1 FOR DISPLAY PURPOSES
- * CHECK INCORRECT BINARYS.
- SA5 RBFA FILE NAME
- RECALL X5
- SA1 HB+17B
- MX2 12
- BX2 X2*X1
- SX6 B1+B1 ERROR FLAG
- LX2 12
- SX3 X2-5300B
- SX4 X2-5100B
- SX6 X2-5000B
- SX7 X2-5400B
- ZR X3,RBF4 IF *OVERLAY*
- ZR X4,RBF4 IF *ABS*
- ZR X6,RBF4 IF *ACPM*
- SB2 X1 NUMBER OF ENTRY POINTS
- SX6 B1+B1 INCORRECT RECORD TYPE
- NZ X7,RBF19 IF NOT *5400* TABLE
- SX6 3
- NE B2,B1,RBF19 IF MORE THAN ONE ENTRY POINT
- BX7 X7-X7
- EQ RBF5 COPY BINARY RECORD
- RBF4 LX1 -18
- SX3 X1-FWLD
- BX7 X7-X7
- SX6 4 ERROR FLAG
- NZ X3,RBF19 IF FWA OF LOAD NOT AT DEFAULT LOAD ADDRESS
- * CHECK IGNORE TASK.
- RBF5 SA1 TSKNM TASK NAME
- SEARCH DRTC,X1 SEARCH DIRECTORY
- ZR X2,RBF7 IF TASK NOT IN DIRECTORY
- SA3 TSKNM TASK NAME
- RBF6 SA1 A2+B1 SECOND WORD OF DIRECTORY
- PL X1,RBF8 IF NO IGNORE
- * IGNORE TASK.
- BX7 X3 TASK NAME
- SA7 LIBM+1
- ADDWRD TDIG,X3 IGNORE TASK
- MESSAGE LIBM,1 * IGNORE TASK.*
- RJ SKR SKIP TO NEXT RECORD
- EQ RBF1 PROCESS NEXT RECORD
- RBF7 SA1 TSKNM TASK NAME
- SEARCH TDCH,X1
- SA3 TSKNM
- EQ RBF6 CHECK IGNORE TASK
- * DISPLAY TASK NAME WHILE COPYING.
- RBF8 SA1 X5+6 MASK DISK INDEX
- MX6 30
- BX7 X6*X1
- SA7 TSKDI
- SX0 HBL
- SA5 RBFA FILE NAME
- WRITEW X5,HB,X0 WRITE OUT TASK
- MESSAGE LIBG,1 DISPLAY TASK NAME
- * COPY BINARY FILE RECORD TO LIBRARY FILE.
- BX5 X1-X1 INITIATE CALL
- RBF9 NZ X5,RBF12 IF RECORD COPY COMPLETE
- SX5 TBL
- READW B,TB,TBL READ IN NEXT BLOCK FROM BINARY FILE
- PL X1,RBF10 IF NOT EOF
- SA6 EOFF SET EOF FLAG
- EQ RBF12 PROCESS EOF
- RBF10 ZR X1,RBF11 IF NOT AT EOR
- SX5 X1-TB
- RBF11 SA1 RBFA
- WRITEW X1,TB,X5 WRITE BLOCK TO LIBRARY FILE
- IX0 X0+X5
- SX5 X5-TBL
- EQ RBF9 CONTINUE COPY
- RBF12 READ B REINITIALIZE READ ON BINARY FILE
- SA5 RBFA FILE NAME
- WRITER X5,R FLUSH BUFFER
- SX7 X0+177B
- SA1 RECN
- AX7 6
- SX6 X1+1 RECORD COUNT FOR BINARY FILE
- LX7 18
- SA6 A1+
- SA7 TSKFL TASK FIELD LENGTH
- SA4 TSKNM TASK NAME
- SA3 HB+17B+10B GET ENTRY POINT ADDRESS OF TASK
- SX3 X3
- BX7 X3+X4
- SA7 TSKNE FIRST WORD FOR TLD
- * CHECK FOR INSERTION OR DELETION.
- SA3 CR
- SA2 TSKNM
- SA1 LWTLD CURRENT LWA FOR TLD
- SB5 TLD START OF TLD
- NZ X3,RBF13 IF CREATION RUN
- SA1 LWOLD LWA ADDRESS OF BASE TLD
- RBF13 SX0 X1
- SB6 X0
- SB3 TLDLE TLD ENTRY LENGTH
- RJ STD CHECK IF TASK ALREADY IN DIRECTORY
- NZ X1,RBF15 IF TASK NOT IN DIRECTORY
- SX0 A1
- ADDWRD RREC,X2 RECORD REPLACED INDICATOR
- EQ RBF16 BUILD DIRECTORY
- RBF15 SB3 A1+
- SA3 FSLT FREE SPACE LEFT IN TLD
- SX7 X3-TLDLE DECREMENT FREE TLD SPACE COUNT
- SA7 A3
- BX1 X2
- SX6 5 ERROR FLAG
- NG X7,RBF19 IF DIRECTORY IS FULL
- ADDWRD IREC,X1 RECORD INSERTED INDICATOR
- * INSERT TASK AT END OF DIRECTORY.
- SA1 LWTLD
- SX7 X1+TLDLE ADVANCE LWA ADDRESS
- SA7 A1
- SX0 X1 PLACE TO INSERT
- SA7 LATLD
- * BUILD AND INSERT NEW ENTRY INTO TLD.
- RBF16 SA1 TSKNM TASK NAME
- SEARCH DRTC,X1 CHECK DIRECTIVES TABLE FOR NEW TASK
- NZ X2,RBF17 IF TASK IN DIRECTORY
- SA1 TSKNM
- SEARCH TDCH,X1 CHECK TABLE FOR TASK REPLACING DIRECTIVES
- ZR X2,RBF18 IF NO DIRECTIVES FOR TASK
- RBF17 SA1 A2+1 SECOND WORD OF DIRECTIVE ENTRY
- SA2 A2+2 THIRD WORD OF DIRECTIVE ENTRY
- MX7 -TLEFN-TLMPN GET EFL+MP
- BX7 -X7*X1
- LX6 X2
- SA7 LIBA USE DIRECTIVE ENTRIES FOR TASK DIRECTORY
- SA6 LIBA+1
- RBF18 SA1 TSKNE TASK NAME AND ENTRY POINT
- SA2 TSKDI LIBRARY FILE RANDOM INDEX FOR TASK
- BX6 X1
- SA3 TSKFL TASK FIELD LENGTH
- SA6 X0 FIRST WORD OF TLD
- BX7 X2+X3
- SA1 LIBA TASK PRIORITIES
- SA2 A1+B1 THIRD WORD FOR TLD ENTRY
- BX7 X7+X1
- SA7 X0+1 SECOND WORD OF TLD
- LX6 X2
- SA6 X0+2 THIRD WORD OF TLD
- * RESET DEFAULT PARAMETERS FOR NEXT TASK.
- SA1 LIBB RESTORE DEFAULT TASK VALUES
- SA2 A1+B1
- BX7 X1
- LX6 X2
- SA7 LIBA TASK VALUES
- SA6 A7+B1
- EQ RBF1 PROCESS NEXT TASK
- * PROCESS ERROR CASE.
- RBF19 RJ ERR PROCESS ERROR BINARY
- EQ RBF1 PROCESS NEXT TASK
- RBFA CON 0 TEMPORARY STORAGE FOR FILE NAME
- SAP SPACE 4,20
- ** SAP - SELECT ACTIVE TASKS FROM *P* FILE.
- *
- * ENTRY INPUT DIRECTORY BUILD.
- *
- * EXIT ACTIVE TASKS WRITTEN ON *N* FILE.
- *
- * USES A - 1, 2, 3, 5, 6.
- * X - 0, 1, 2, 3, 4, 5, 6.
- *
- * MACROS READ, READW, REWIND, SEARCH, WRITER, WRITEW.
- SAP SUBR ENTRY/EXIT
- REWIND P,R
- SA5 TLD+1
- SAP1 SA1 A5-B1 TASK NAME
- MX6 42
- BX4 X6*X1
- SEARCH RREC,X4
- NZ X2,SAP5 IF RECORD REPLACED
- SEARCH IREC,X4
- NZ X2,SAP5 IF RECORD INSERED
- SA1 A5 WORD 2 OF AN ENTRY
- MX0 30
- BX3 X0*X1 ISOLATE DISK INDEX
- SA2 A1+B1 WORD 3 OF TLD
- LX3 30
- LX2 59-54 LEFT JUSTIFY DELETD FLAG
- SX4 B1 SET REQUEST BIT
- LX4 29
- SX6 3RZZZ
- NG X2,SAP4 IF DELETE TASK
- BX6 X4+X3 ADD DISK INDEX
- SA6 P+6 PUT IN FET
- SA2 P+1
- SX6 X2+
- SA6 A2+B1 FET+2
- SA6 A6+B1 FET+3
- SA2 N+6
- BX6 X0*X2 ISOLATE NEW INDEX
- BX3 -X0*X1 CLEAR OUT OLD ONE
- BX6 X6+X3
- SA6 A5
- READ P,R
- * COPY ACTIVE TASKS FROM *P* TO *N*.
- SAP2 SX5 TBL
- READW P,TB,X5 READ TASK BINARY FROM SCRATCH
- ZR X1,SAP3 IF NOT AT EOR
- SX5 X1-TB
- SAP3 WRITEW N,TB,X5 WRITE ON LIBRARY
- SX5 X5-TBL
- ZR X5,SAP2 IF RECORD COPY NOT COMPLETE
- WRITER N,R
- EQ SAP5 CONTINUE WITH NEXT TASK
- * TASK IS DELETED PLACE DUMMY NAME IN TLD.
- SAP4 LX6 -18
- SA6 A1-B1 REPLACE TASK NAME
- SA3 LATLD DECREMENT TASK LENGTH
- SX6 X3-3
- SA6 A3+
- SAP5 SA5 A5+TLDLE NEXT ENTRY
- SA1 LWTLD END OF DIRECTORY
- SX2 A5
- IX2 X1-X2
- PL X2,SAP1 IF NOT END OF DIRECTORY
- EQ SAPX RETURN
- SAT SPACE 4,10
- ** SAT - SELECT ACTIVE TASKS.
- *
- * ENTRY INPUT DIRECTORY BUILD.
- *
- * EXIT ACTIVE TASKS WRITTEN ON *P* FILE.
- *
- * USES A - 1, 2, 5, 6.
- * X - 0, 1, 2, 3, 4, 5, 6.
- *
- * MACROS READ, READW, RECALL, REWIND, WRITEF, WRITER, WRITEW.
- SAT SUBR ENTRY/EXIT
- REWIND P,R
- * COPY TASK BINARIES FROM *P* TO SCRATCH.
- REWIND SF
- SAT1 READ P,R
- RECALL SF
- SAT2 SX5 TBL
- READW P,TB,TBL
- NG X1,SAT4 IF EOF
- ZR X1,SAT3 IF NOT AT EOR
- SX5 X1-TB
- SAT3 WRITEW SF,TB,X5 WRITE TO SCRATCH FILE
- SX5 X5-TBL
- ZR X5,SAT2 IF RECORD COPY NOT COMPLETE
- WRITER SF
- SA1 EOFF
- ZR X1,SAT1 IF NOT AT EOF
- SAT4 WRITEF SF
- SA1 P
- LX1 59-9
- PL X1,SAT1 IF NOT AT EOF
- * FLUSH BUFFER.
- WRITEF SF
- REWIND P,R
- RECALL SF
- REWIND SF,R
- SA5 TLD+1
- * SELECT ACTIVE TASKS FROM SCRATCH TO *P*.
- SAT5 SA1 A5 WORD 2 OF AN ENTRY
- MX0 30
- BX3 X0*X1 ISOLATE DISK INDEX
- SA2 A1+B1 WORD 3 OF TLD
- LX3 30
- LX2 59-54 LEFT JUSTIFY DELETE FLAG
- SX4 B1 SET REQUEST BIT
- LX4 29
- SX6 3RZZZ
- NG X2,SAT8 IF DELETE TASK
- BX6 X4+X3 ADD DISK INDEX
- SA6 SF+6 PUT IN FET
- SA2 SF+1
- SX6 X2
- SA6 A2+B1 FET+2
- SA6 A6+B1 FET+3
- SA2 P+6
- BX6 X0*X2 ISOLATE NEW INDEX
- BX3 -X0*X1 CLEAR OUT OLD ONE
- BX6 X6+X3
- SA6 A5+
- READ SF,R
- SAT6 SX5 TBL
- READW SF,TB,X5 READ TASK BINARY FROM SCRATCH
- ZR X1,SAT7 IF NOT AT EOR
- SX5 X1-TB
- SAT7 WRITEW P,TB,X5 WRITE ON LIBRARY
- SX5 X5-TBL
- ZR X5,SAT6 IF RECORD COPY NOT COMPLETE
- WRITER P,R
- EQ SAT9 CONTINUE WITH NEXT TASK
- * TASK IS DELETED PLACE DUMMY NAME IN TLD.
- SAT8 LX6 -18
- SA6 A1-B1 REPLACE TASK NAME
- SA3 LATLD DECREMENT TASK LENGTH
- SX6 X3-3
- SA6 A3+
- SAT9 SA5 A5+TLDLE NEXT ENTRY
- SA1 LWTLD END OF DIRECTORY
- SX2 A5
- IX2 X1-X2
- PL X2,SAT5 IF NOT END OF DIRECTORY
- EQ SATX RETURN
- SDR SPACE 4,15
- ** SDR - SORT TASK LIBRARY DIRECTORY.
- *
- * ENTRY (TLD) = FWA OF TABLE.
- * (LWTLD) = LWA OF TABLE.
- *
- * EXIT TASK DIRECTORY SORTED.
- *
- * USES A - 1.
- * B - 2, 3, 6.
- * X - 0, 1, 2.
- *
- * CALL SSR.
- SDR SUBR ENTRY/EXIT
- SB2 TLDLE LENGTH PER ENTRY
- SA1 LWTLD LWA OF TABLE
- SX2 TLD FWA OF TABLE
- SB3 SDRA FWA OF TEMPORARY BUFFER
- IX1 X1-X2 LENGTH OF TABLE
- SB6 X2+
- MX0 42 MASK TASK NAME
- RJ SSR SHELL SORT RECORD
- EQ SDRX RETURN
- SDRA BSS TLDLE TEMPORARY BUFFER FOR TLD
- SEH SPACE 4,15
- ** SEH - SET ERROR HEADING.
- *
- *
- * PLACE AN ERROR PAGE HEADING ON THE OUTPUT FILE.
- *
- * EXIT - ERROR HEADING WRITTEN ON OUTPUT FILE.
- *
- * USES A - 1, 6.
- * X - 1, 2, 6.
- *
- * CALLS ALC.
- *
- * MACROS WRITEW.
- *
- * NOTE ONLY THE FIRST CALL WRITES THE ERROR HEADING.
- SEH SUBR ENTRY/EXIT
- SEHA BSS 0 MODIFIED BY *SEHB*
- * EQ SEHX RETURN
- WRITEW O,SEHC,SEHCL
- SX2 5
- RJ ALC ADVANCE LINE COUNT
- SA1 SEHB WRITE HEADER ONLY ONCE
- BX6 X1
- SA6 SEHA
- SEHB EQ SEHX RETURN
- SEHC DATA C/0 *ERRORS*/
- DATA C/0 TASK NAME - ERROR TYPE -/
- DATA C* *
- SEHCL EQU *-SEHC HEADER LENGTH
- SKR SPACE 4,15
- ** SKR - SKIP TO NEXT RECORD.
- *
- * ENTRY RECORD TO BE SKIPPED ON FILE *B*.
- *
- * EXIT RECORD SKIPPED.
- *
- * USES A - 1, 6.
- * X - 1, 6.
- *
- * MACROS READ, SKIPEF.
- SKR SUBR ENTRY/EXIT
- RECALL B
- SA1 B CHECK EOR
- LX1 59-4
- NG X1,SKR1 IF EOR ENCOUNTED
- SKIPF B,,R ADVANCE TO NEXT RECORD
- SKR1 SA1 X2+B1 SET FIRST = IN = OUT
- SX6 X1
- SA6 A1+B1
- SA6 A6+B1
- READ B INITIATE READ ON BINARY FILE
- EQ SKRX RETURN
- SSR SPACE 4,20
- ** SSR - SHELL SORT RECORD.
- *
- * ENTRY (B2) = NUMBER OF ELEMENTS PER RECORD.
- * (B3) = FWA OF TEMPORARY BUFFER.
- * MUST BE .GE. (B2).
- * (B6) = FWA OF FILE.
- * (X1) = LENGTH OF FILE IN CM WORDS.
- * (X0) = MASK OF KEY IN FIRST WORD OF RECORD.
- *
- * EXIT FILE SORTED.
- * (X5) RESTORED.
- *
- * USES A - 3, 6, 7.
- * B - 2, 4, 5, 7.
- * X - 1, 2, 3, 4, 5, 6, 7.
- *
- * NOTE *SSR* DOES NOT PRESERVE THE ORDER FOR THE SAME KEY.
- * THIS ROUTINE SHIFTS THE KEY 18 BITS TO THE RIGHT TO
- * PREVENT NEGATIVE VALUES.
- * BEGIN NEW PHASE.
- SSR7 AX4 1 K = K/2
- BX3 -X4
- IX7 X2*X3 LOCATION OF KTH RECORD
- SB4 X7
- SB7 X2 NUMBER OF CM WORDS PER RECORD
- SB2 B6+X7 I = FIRST+K
- NZ X4,SSR4 IF K .NE. ONE
- SA3 SSRA RESTORE (X5)
- BX5 X3
- SSR SUBR ENTRY/EXIT
- SX2 B2 NUMBER OF ELEMENTS IN RECORD
- MX4 12
- BX3 X1 TOTAL CM WORDS IN FILE
- IX3 X3/X2 NUMBER OF RECORD
- SX2 B2
- NX6,B4 X3
- BX6 X5 SAVE (X5)
- AX4 X4,B4
- SX1 B6+X1 LWA OF FILE
- SA6 SSRA
- BX5 X5-X5
- EQ SSR7 ENTER SORT LOOP
- SSR1 PL X5,SSR3 IF NO SWAP
- * MOVE RECORD FROM TEMPORARY BUFFER TO J.
- SB7 X2 NUMBER OF CM WORDS TO MOVE
- SB5 B5+B4
- SSR2 SB7 B7-B1 DECREMENT INDEX
- SA3 B3+B7
- BX6 X3
- SA6 B5+B7
- NZ B7,SSR2 IF NOT END OF RECORD
- * MOVE I TOWARD RIGHT.
- SSR3 SB2 B2+X2 I = I+1
- SX3 B2+
- IX3 X3-X1
- BX5 X5-X5
- ZR X3,SSR7 IF END OF FILE
- * SAVE RECORD I IN TEMPORARY BUFFER.
- SB7 X2 NUMBER OF CM WORDS TO SAVE
- SSR4 SB7 B7-B1
- SA3 B2+B7
- BX6 X3
- SA6 B3+B7
- NZ B7,SSR4 IF NOT END OF RECORD
- SB5 B2-B4 J = I-K
- BX7 X0*X3 MASKING KEY OF T(I)
- LX7 42 SHIFT SO NO SIGN BIT
- SSR5 SA3 B5+ P = T(J)
- BX6 X0*X3 MASKING KEY OF P
- LX6 42 SHIFT SO NO SIGN BIT
- IX6 X7-X6
- PL X6,SSR1 IF RECORD IN ORDER
- * PUT RECORD J IN PLACE OF I.
- SB7 X2 NUMBER OF CM WORDS TO MOVE
- SX5 B5+B4
- SSR6 SB7 B7-B1 DECREMENT INDEX
- SA3 B5+B7
- BX6 X3
- SA6 X5+B7
- NZ B7,SSR6 IF NOT END OF RECORD
- MX5 1 SET FLAG INDICATE RECORD HAS BEEN REPLACED
- * MOVE J TOWARD LEFT.
- SB5 B5-B4 J = J-K
- GE B5,B6,SSR5 IF IN BOUNDS
- EQ SSR1 SELECT NEXT RECORD
- SSRA CON 0 TEMPORARY STORAGE FOR (X5)
- STD SPACE 4,20
- ** STD - SEARCH TASK/TRANSACTION DIRECTORY.
- *
- * PERFORM A BINARY SEARCH OF A TASK OR TRANSACTION DIRECTORY
- * FOR THE SPECIFIED TASK OR TRANSACTION NAME.
- *
- * ENTRY (X2) = LEFT JUSTIFIED TASK/TRANSACTION NAME.
- * (B3) = LENGTH OF ENTRY.
- * (B5) = START OF DIRECTORY.
- * (B6) = END OF DIRECTORY.
- *
- * EXIT (A1) = FWA OF ENTRY IF FOUND.
- * (X1) = 0 IF ENTRY FOUND.
- * (X1) .NE. 0 IF ENTRY NOT IN DIRECTORY.
- *
- * USES A - 1, 3, 7.
- * X - 0, 1, 3, 4, 7.
- * B - 5, 6, 7.
- *
- * NOTE (X0) AND (B7) RESTORED UPON EXIT.
- STD SUBR ENTRY/EXIT
- SX7 B7
- SA7 STDB SAVE (B7)
- BX7 X0
- SA7 STDC SAVE (X0)
- BX0 X2
- LX0 42 SHIFT SO NO SIGN BIT
- SX7 B6 LWA OF BASE TLD
- SA7 STDA
- MX7 42 MASK FOR TASKS/TRANSACTIONS
- EQ STD2 ENTER LOOP
- STD1 SB5 A1+B3 SET NEW LOW LIMIT
- STD2 SX3 B6-B5 FIND MIDDLE
- SX4 B3
- IX3 X3/X4
- AX3 1
- SX4 B3
- IX3 X4*X3
- SA1 B5+X3 READ AN ENTRY
- BX4 X7*X1
- LX4 42 SHIFT SO NO SIGN BIT
- IX1 X4-X0
- ZR X1,STD6 IF FOUND
- ZR X3,STD4 IF END OF BASE DIRECTORY
- NG X1,STD1 IF TOO LOW IN TABLE
- SB6 A1+ SET NEW HIGH LIMIT
- EQ STD2 FIND NEXT ENTRY
- * ENTRIES ADDED ON A NONCREATION RUN ARE PLACED SEQUENTIALLY
- * AT THE END OF THE TLD.
- STD4 SA3 STDA LWA+1 OF BASE TLD
- SB6 B3-TLDLE
- NZ B6,STD6 IF TRANSACTION SEARCH
- SB6 X3
- SB5 B3 LENGTH OF TLD ENTRY
- STD5 SA3 B6
- SB6 B6+B5
- ZR X3,STD6 IF END OF TLD
- BX3 X7*X3
- LX3 42 SHIFT SO NO SIGN BIT
- IX3 X3-X0
- NZ X3,STD5 IF TASK NAME DID NOT MATCH
- SA1 A3
- BX1 X1-X1
- * MATCH FOUND.
- STD6 SA3 STDB RESTORE (B7)
- SB7 X3+
- SA3 STDC RESTORE (X0)
- BX0 X3
- EQ STDX RETURN
- STDA BSS 1 LWA+1 OF BASE TLD
- STDB BSS 1 (B7)
- STDC BSS 1 (X0)
- STL SPACE 4,15
- ** STL - SET TITLE LINE FOR OUTPUT PAGE.
- *
- * STL WRITES THE TITLE LINE ONTO THE OUTPUT FILE, AND ADJUSTS
- * THE LINE COUNT ACCORDINGLY.
- *
- * ENTRY - JOBORG = 0 IF INTERACTIVE ORIGIN
- *
- * EXIT - TITLE LINE WRITTEN TO OUTPUT
- *
- * USES A - 1, 6, 7.
- * X - 1, 3, 6, 7.
- *
- * MACROS WRITEW.
- STL SUBR
- SX3 STLAL
- SA1 JOBORG
- NZ X1,STL1 IF NOT INTERACTIVE ORIGIN
- SA1 BLINE
- BX6 X1
- SA6 STLAT
- SX3 STLAL-3
- STL1 WRITEW O,STLA,X3
- WRITEC O,BLINE
- SX7 3
- SA7 ALCA SET LINE COUNT
- EQ STLX RETURN
- STLA CON 10H1TASK LIBR
- CON 10HARY EDITIN
- CON 10HG PROGRAM.
- STLAB CON 10H
- STLAD CON 10H DATE
- STLAT CON 10H TIME
- STLAP CON 10H PAGE 1
- BLINE CON 8L
- CON 8L
- STLAL EQU *-STLA
- STN SPACE 4,20
- ** STN - SEARCH TASK NAMES.
- *
- * DETERMINE IF EACH TASK, DEFINED IN EACH TRANSACTION ENTRY
- * WITHIN THE DIRECTORY, EXISTS. IF NOT, THE TRANSACTION NAME
- * IS ADDED TO A LIST TO BE PRINTED WITH THE NORMAL *LIBTASK*
- * OUTPUT. IN ADDITION, ANY ENTRY HAVING ITS LOGICALLY-
- * DELETED-BIT SET, WILL HAVE ITS NAME CHANGED TO ;;;. THIS
- * WILL INSURE THAT AFTER THE TRD IS SORTED, THOSE TRANSACTIONS
- * WILL BE PHYSICALLY DELETED FROM THE TRD.
- *
- * ENTRY (LATRD) = LWA OF TRD.
- *
- * EXIT (X5) = RESTORED.
- *
- * USES A - 1, 2, 5, 6.
- * X - 1, 2, 5, 6.
- * B - 2, 3, 5, 6, 7.
- *
- * CALLS STD.
- *
- * MACROS ADDWRD.
- STN SUBR ENTRY/EXIT
- BX6 X5
- SA6 STNC SAVE (X5)
- SB2 TRD-TRDLE1
- SB3 TLDLE LENGTH OF TLD ENTRY
- STN1 SX5 TRDLE1
- SA1 LATRD LWA OF TRD
- SB2 B2+X5
- SB7 X1
- GE B2,B7,STN4 IF ALL CHECKED
- SA2 B2+ NEXT TRANSACTION ENTRY
- BX6 X2
- SA6 STNB SAVE TRANSACTION NAME
- LX2 59-TDDLS
- PL X2,STN2 IF NOT LOGICALLY DELETED
- SA1 STNA
- BX6 X1
- SA6 A2 SET NAME TO ;;;
- EQ STN1 NEXT ENTRY
- STN2 SX5 X5-1
- ZR X5,STN1 IF ALL TASKS CHECKED
- SA2 A2+1 NEXT TASK NAME
- SA1 LWOLD
- SB5 TLD FWA OF TLD
- SB6 X1+ LWA OF TLD
- ZR X2,STN1 IF END OF LIST
- RJ STD SEARCH TASK DIRECTORY
- NZ X1,STN3 IF TASK NOT FOUND
- SA1 A1+TLDLW
- LX1 59-TLDLS
- PL X1,STN2 IF TASK NOT LOGICALLY DELETED
- STN3 SA1 STNB
- ADDWRD TTNE,X1 ADD TRANSACTION NAME TO LIST
- EQ STN1 NEXT ENTRY
- STN4 SA5 STNC RESTORE (X5)
- EQ STNX RETURN
- STNA VFD 60/3L;;; NAME FOR DELETED TRANSACTIONS
- STNB CON 0 TRANSACTION NAME
- STNC CON 0 (X5)
- STR SPACE 4,10
- ** STR - SORT TRANSACTION DIRECTORY.
- *
- * ENTRY (TRD) = FWA OF TABLE.
- * (LATRD) = LWA OF TABLE.
- *
- * USES X - 0, 1, 2.
- * A - 1.
- * B - 2, 3, 6.
- *
- * CALLS SSR.
- STR SUBR ENTRY/EXIT
- SB2 TRDLE1 LENGTH PER ENTRY
- SA1 LATRD LWA OF TABLE
- SX2 TRD FWA OF TABLE
- SB3 STRA FWA OF TEMPORARY BUFFER
- IX1 X1-X2 TABLE LENGTH
- SB6 X2+
- MX0 42 MASK FOR TRANSACTION NAME
- RJ SSR SHELL SORT
- EQ STRX RETURN
- STRA BSSZ TRDLE1 TEMPORARY BUFFER FOR SORT
- TOV SPACE 4,10
- ** TOV - TABLE OVERLFOW PROCESSOR.
- *
- * THIS TAG IS REQUIRED BY THE MANAGED TABLE ROUTINES
- * IN CASE OF TABLE ERRORS.
- *
- TOV MESSAGE TOVA
- ABORT
- TOVA DATA C* TABLE OVERFLOW - TOO MANY TASKS.*
- MEML SPACE 4
- * RESERVED SPACE FOR THE MANAGED TABLES.
- RRECL EQU 50 INITIAL ALLOCATION FOR REPLACED RECORDS
- IRECL EQU 350 INITIAL ALLOCATION FOR INSERTIONS
- LRECL EQU 200 INITIAL ALLOCATION FOR TASK LIBRARY
- DRTCL EQU 200 ESTIMATED ALLOCATION FOR DIRECTIVES
- TTINL EQU 300 INITIAL ALLOCATION FOR INSERTIONS
- TTCNL EQU 20 INITIAL ALLOCATION FOR CHANGES
- TTNEL EQU 20 TRANSACTIONS WITH NONEXISTENT TASKS
- * MANAGED TABLES SPACE SIZE.
- TABLEN EQU RRECL+IRECL+LRECL+DRTCL+TTINL+TTCNL+TTNEL
- MEML BSSZ TABLEN SPACE FOR MANAGED TABLES
- TITLE COMMON DECKS.
- *CALL COMCARG
- *CALL COMCCDD
- *CALL COMCCIO
- *CALL COMCCOD
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCLFM
- *CALL COMCMTP
- *CALL COMCMVE
- *CALL COMCPFM
- *CALL COMCRDS
- *CALL COMCRDW
- *CALL COMCSFN
- *CALL COMCSNM
- QUAL COMCSST
- *CALL COMCSST
- QUAL *
- *CALL COMCSYS
- *CALL COMCUPC
- *CALL COMCUSB
- *CALL COMCWTC
- *CALL COMCWTS
- *CALL COMCWTW
- *CALL COMCZAP
- TLD TITLE TASK AND TRANSACTION DIRECTORIES.
- *** TASK LIBRARY DIRECTORY.
- *
- * DEFAULT VALUES FOR DIRECTORY ARE -
- *
- * BEGINNING PRIORITY = 20B.
- * MAXIMUM PRIORITY = 40B.
- * QUEUE LIMIT = 3B.
- * TASK IS DISK RESIDENT.
- * TASK CODE IS NONDESTRUCTIVE.
- * TASK IS NOT A SYSTEM TASK.
- * TASK IS ON.
- * COMMUNICATION BLOCK IS DELIVERED TO THE TASK (UNSOLICITED).
- * QUEUING IS NOT FORCED FOR ADDITIONAL ACTIVE COPIES.
- SPACE 4,10
- *** TRANSACTION DIRECTORY.
- *
- * DEFAULT VALUES FOR TRANSACTIONS ARE -
- *
- * DATA MANAGER USED = NONE.
- * RECOVERABLE = NO.
- SPACE 4,10
- TSKDL EQU TLDLE*TLDMT+1 SIZE OF TASK DIRECTORY
- TRNDL EQU TRDLE1*TRDMT+1 SIZE OF TRANSACTION UNIT DIRECTORY
- TLDH VFD 12/7700B,12/3,36/0
- VFD 60/0LTLD
- TLDHD CON 10H
- TLDHT CON 10H
- TLD BSSZ TSKDL TASK LIBRARY DIRECTORY
- TRDH VFD 12/7700B,12/3,36/0
- VFD 60/0LTRD
- CON 10H
- CON 10H
- TRD BSSZ TRNDL TRANSACTION UNIT DIRECTORY
- PRS TITLE PRESET AND CRACK COMMAND.
- ** PRS - PRESET ROUTINE.
- *
- * PRS CRACKS THE COMMAND AND SETS UP FOR THE MAIN PROGRAM.
- * ERROR CHECKING IS PERFORMED ON COMMAND PARAMETERS AND
- * INPUT DIRECTIVES. IF THE CR OPTION IS PRESENT, PRS CHECKS
- * IF *TAF* IS UP. IF THE TT OPTION IS PRESENT, THE USERNUM IS
- * SENT TO *TAF* FOR VALIDATION. THE TASK LIBRARY FILE IS
- * ATTACHED IN MODIFY MODE IF THE DA OPTION IS NOT SPECIFIED.
- * THE MAIN LOOP IS THEN INITIATED.
- * NOTE THE FOLLOWING MEMORY IS USED FOR BUFFERS WHEN
- * *PRS* TERMINATES.
- PRS SUBR ENTRY/EXIT
- SB1 1
- SA1 LWPR
- LX1 59-18
- PL X1,PRS0 IF *LIBTASK* NOT LOADED FROM SYSTEM
- SA1 SSJ=+UIDS RESTORE USER NAME AND USER INDEX
- BX6 X1
- SA6 PRSK+2
- SETPFP PRSK
- PRS0 GETJO JOBORG
- SA1 JOBORG
- SX6 X1-TXOT
- SA6 A1+
- SB5 ARGA
- SA1 ACTR ARGUMENT COUNT OF COMMAND
- SB4 X1
- SA4 B1+B1 FIRST ARGUMENT
- RJ ARG PROCESS COMMAND ARGUMENTS
- ZR X1,PRS1 IF NO ARGUMENT ERRORS
- MESSAGE PRSB INCORRECT COMMAND
- ABORT
- PRS1 SX7 TLD
- SA7 LWTLD LAST WORD ADDRESS OF TLD
- SX6 TSKDL
- SA6 FSLT FREE SPACE LEFT IN TLD
- SA7 LATLD
- SA7 LWOLD
- SX7 TRD PRESET LWA OF TRD
- SA7 LWTRD
- SA7 LATRD
- SX7 TRNDL PRESET FREE SPACE IN TRD
- SA7 FSTR
- DATE STLAD DATE
- CLOCK STLAT TIME
- RJ STL SET TITLE PAGE OF OUTPUT
- SX7 MEML+TABLEN
- SA7 F.TEND
- SX5 CMP DISPLAY CODE
- LX5 48
- SB7 B0
- RJ DXB CONVERT DEFAULT MAXIMUM PRIORITY
- SA6 LIBB SAVE TEMPORARILY
- SA6 LIBA
- SX5 CBP DISPLAY CODE
- LX5 48
- RJ DXB CONVERT DEFAULT BEGINNING PRIORITY
- LX6 TLBPS-TLBPN+1
- SA1 LIBB+1
- BX6 X1+X6
- SA6 LIBB+1 SAVE AS DEFAULT
- SA6 LIBA+1 SAVE AS CURRENT
- SX5 CQL DISPLAY CODE
- LX5 48
- RJ DXB CONVERT DEFAULT QUEUE LIMIT
- SA1 LIBB+1
- BX7 X6+X1
- SA7 A1 SAVE AS DEFAULT
- SA7 LIBA+1 SAVE AS CURRENT
- RJ ERC CHECK POSSIBLE ERRORS
- SB4 TLD
- SA1 LWTLD
- SB5 X1+
- * GET NAMES OF PROGRAMS ON LIBRARY FILE.
- PRS2 EQ B4,B5,PRS3 IF DONE GATHERING TASK NAMES
- SA1 B4
- BX1 X1*X5
- ADDWRD LREC,X1
- SB4 B4+TLDLE
- EQ PRS2 GET NEXT TASK NAME
- PRS3 SA1 Z
- ZR X1,PRS4 IF *Z* ARGUMENT NOT SELECTED
- SX2 I SET INPUT FET ADDRESS
- RJ ZAP PROCESS *Z* ARGUMENT
- EQ PRS5 PROCESS DIRECTIVES
- PRS4 SA1 I
- ZR X1,PRS7 IF NO INPUT DIRECTIVES
- READ I INPUT FILE
- PRS5 RJ INP PROCESS INPUT FILE
- PRS7 SA2 CR
- NZ X2,PRSX IF CREATING A NEW LIBRARY
- SKIPEI P,R SKIP TO END OF INFORMATION
- SA1 TT
- ZR X1,PRSX IF NOT *TT* OPTION
- SA1 SSJ=+AACS CHECK ACCESS WORD BIT *CSTP*
- LX1 59-9
- NG X1,PRS7.1 IF USER VALIDATED TO UPDATE LIBRARY ONLINE
- MESSAGE PRSJ USER NOT VALIDATED FOR ONLINE UPDATE
- ABORT
- * THE USER NAME OF THIS JOB IS SENT TO *TAF* FOR VALIDATION
- * PURPOSES.
- PRS7.1 USERNUM PRSA GET USER NAME
- SA1 PRSA
- MX6 42
- BX6 X6*X1 SET INTO *TAF* TRANSMISSION WORD
- SA6 LIBI+1
- NZ X6,PRS8 IF USER NAME NONZERO
- MESSAGE PRSF * USER NAME REQUIRED FOR *TT* OPTION.*
- ABORT
- PRS8 MX0 42
- SA1 P SET TASK LIBRARY NAME INTO *SIC* BLOCK
- BX6 X0*X1
- SA6 A6+B1
- EQ PRSX RETURN
- * COMMAND ARGUMENT TABLES.
- ARGA BSS 0
- B ARG ARGB,B
- L ARG O,O
- P ARG ARGB+1,P
- CR ARG -ARGB-2,CR
- I ARG ARGB+3,I
- TT ARG -ARGB-4,TT
- PR ARG -ARGB-5,PR
- N ARG ARGB+6,SF
- DA ARG -ARGB-7,DA
- Z ARG -ARGB-8,Z
- LO ARG ARGB+9,LO
- TN ARG ARGB+10,XTN
- ARG
- ARGB CON 0LLGO+3
- CON 0LTASKLIB+3
- CON 1
- CON 0LCOMPILE+3
- CON 1
- CON 1
- CON 0LTASKLIB+3
- CON 1
- CON 1
- CON 0LA
- CON 0
- PRSA CON 0 USER NAME
- PRSB DATA C* LIBTASK COMMAND ARGUMENT ERRORS.*
- PRSC DATA C* TASK LIBRARY DIRECTORY TOO LONG.*
- PRSD DATA C* TASK LIBRARY DIRECTORY EMPTY.*
- PRSE DATA C* TASK LIBRARY DIRECTORY ERROR.*
- PRSF DATA C* TT OPTION REQUIRES USER NAME.*
- PRSG DATA C* TRANSACTION DIRECTORY EMPTY.*
- PRSH DATA C* TRANSACTION DIRECTORY TOO LONG.*
- PRSI DATA C* TRANSACTION DIRECTORY ERROR.*
- PRSJ DATA C* USER NOT VALIDATED FOR ONLINE LIBRARY UPDATES.*
- * *SETPFP* PARAMETER BLOCK.
- PRSK VFD 56/0,4/3
- BSSZ 2
- ATP SPACE 4,15
- ** ATP - ATTACH LIBRARY FILE.
- *
- * RETURN THE LIBRARY FILE, READ THE REAL-TIME CLOCK, AND
- * TRY TO ATTACH THE FILE IN *MODIFY* MODE.
- *
- * ENTRY (X5) = FET ADDRESS.
- *
- * EXIT FILE ATTACHED.
- *
- * USES A - 1, 3, 7.
- * X - 1, 3, 4, 7.
- *
- * CALLS ATT.
- *
- * MACROS ATTACH, RECALL, RETURN, RTIME.
- ATP SUBR ENTRY/EXIT
- RETURN X5,R RETURN FILE IF PRESENT
- RTIME ATTA READ CLOCK
- RECALL X5
- SA3 X5+10
- MX4 -18
- BX3 X4*X3
- SX4 ARGB PHONY ADDRESS FOR ERROR MESSAGES
- BX7 X3+X4
- SA7 A3 SUPPRESS ERROR MESSAGES FROM *PFM*
- ATP1 ATTACH X5,,,,W,,,,NF ATTACH IN *WRITE* MODE FIRST
- SX7 B1
- SA7 AT INDICATE ATTACHED IN *WRITE* MODE
- RJ ATT
- ZR X2,ATPX IF ATTACH SUCCESSFUL
- SA1 ERCJ
- NZ X1,ATP1 IF MUST ATTACH IN *WRITE* MODE
- ATP2 ATTACH X5,,,,M,,,,NF ATTACH IN *MODIFY* MODE
- BX7 X7-X7
- SA7 AT INDICATE ATTACHED IN *MODIFY* MODE
- RJ ATT CHECK ATTACH STATUS
- ZR X2,ATP IF ATTACH SUCCESSFUL
- EQ ATP2 TRY AGAIN
- ATT SPACE 4,20
- ** ATT - ATTACH CHECKING PROCEDURES.
- *
- * CHECK FOR A SUCCESSFUL OR UNSUCCESSFUL ATTACH.
- *
- * ENTRY ATTACH REQUEST HAS BEEN ISSUED.
- * (ATTA) = START TIME OF REQUEST.
- * (X5) = FET ADDRESS.
- *
- * EXIT (X2) = 0 IF ATTACH SUCCESSFUL.
- * (X2) .NE. 0 IF NEED TO TRY ATTACH AGAIN.
- * ABORT IF FILE TIMES OUT.
- * ABORT IF ATTACH ERROR.
- *
- * USES A - 1, 2.
- * X - 1, 2, 3, 4, 6, 7.
- *
- * MACROS ABORT, MESSAGE, RECALL, RTIME.
- ATT SUBR ENTRY/EXIT
- SA1 X5
- MX2 -4
- LX1 -10
- BX2 -X2*X1 STATUS OF ATTACH
- ZR X2,ATTX IF FILE ATTACHED
- SX3 X2-1
- NZ X3,ATT1 IF FILE NOT BUSY
- RECALL
- RTIME ATTB READ CLOCK
- SA1 ATTA START TIME
- SA2 ATTB CURRENT TIME
- SX4 ATTC LOOP TIME
- MX3 -36
- BX1 -X3*X1
- BX2 -X3*X2
- IX6 X2-X1 TIME IN LOOP
- IX7 X6-X4
- NG X7,ATTX IF TIME ELAPSED, TRY AGAIN
- MESSAGE ATTD,3
- ABORT TIMED OUT
- ATT1 MESSAGE ATTE
- ABORT
- ATTA BSS 1 START TIME OF REQUEST
- ATTB BSS 1 CURRENT TIME
- ATTC EQU 10000 TIME OUT ON ATTACH ATTEMPT
- ATTD DATA C* LIBRARY FILE TIME OUT.*
- ATTE DATA C* LIBTASK - PFM ERROR DETECTED.*
- ERC SPACE 4,20
- ** ERC - ERROR CHECKING.
- *
- * 1. IF TASKLIB STARTS WITH THE LETTER Z ,
- * PRINT OUT ERROR MESSAGE ON DAYFILE AND OUTPUT
- * FILE THEN ABORT.
- * 2. IF *DA* IS SPECIFIED AND FILE IS NOT A DIRECT ACCESS
- * FILE, ABORT.
- * 3. IF *DA* IS SPECIFIED GO TO STEP 5.
- * 4. ATTACH FILES SPECIFIED BY *N* AND *P* PARAMETERS,
- * IF ATTACH FAILS ABORT.
- * 5. IF INCORRECT COMBINATION OF COMMAND PARAMETERS,
- * PRINT OUT ERROR MESSAGE ON DAYFILE AND OUTPUT THEN ABORT.
- * 6. RETURN TO CALLER.
- *
- * ENTRY COMMAND PARAMETERS UNPACKED.
- *
- * EXIT IF ERROR ON COMMAND PARAMETERS ABORT.
- * (P) = 0 IF *CR* SPECIFIED.
- *
- * USES A - 1, 2, 3, 5, 6, 7.
- * B - 4, 5.
- * X - ALL.
- *
- * CALLS ATP.
- *
- * MACROS ABORT, MESSAGE, READ, READW, REWIND, SKIPB, SKIPEI,
- * STATUS, WRITER, WRITEW.
- ERC SUBR ENTRY/EXIT
- SX6 B0+
- SA6 PN ASSUME *P* AND *N* ARE IDENTICAL
- SA6 AT ASSUME FILE NOT ATTACHED BY *TAF*
- SA1 N
- MX0 6
- SX4 1RZ INCORRECT TASK LIBRARY FILE NAME
- LX4 -6
- BX2 X0*X1
- BX7 X2-X4
- SA2 ERCG
- ZR X7,ERC1.1 IF *N* STARTS WITH THE LETTER Z
- SX7 B1
- IX3 X1-X2
- ZR X3,ERC1 IF *P* AND *N* ARE IDENTICAL
- SA2 P
- BX0 X0*X2
- BX4 X0-X4
- ZR X4,ERC1.1 IF *P* STARTS WITH THE LETTER Z
- IX3 X1-X2
- ZR X3,ERC1 IF *P* AND *N* ARE IDENTICAL
- SA2 DA
- SA7 PN *P* AND *N* ARE NOT IDENTICAL
- NZ X2,ERC3 IF *DA* SPECIFIED
- SX7 B1
- SA7 ERCJ ATTACH *N* FILE IN *WRITE* MODE
- SX5 N
- RJ ATP ATTACH *N* FILE
- SA1 P
- ZR X1,ERC4 IF *P* = 0
- SX7 B0+
- SX5 P
- SA7 ERCJ
- RJ ATP ATTACH *P* FILE
- EQ ERC4 CONTINUE PROCESS
- * PROCESS *N* PARAMETER OMITTED.
- ERC1 SA1 P
- NZ X1,ERC2 IF *P* NOT EQUAL TO ZERO
- MESSAGE ERCF CONFLICTING *LIBTASK* OPTION
- WRITEW O,ERCF,ERCFL
- ABORT
- ERC1.1 MESSAGE ERCO
- WRITEW O,ERCO,ERCOL
- ABORT
- ERC2 SX5 P
- SA2 DA
- NZ X2,ERC3 IF *DA* SPECIFIED
- SA1 CR
- SA2 PR
- BX7 X1+X2
- SA7 ERCJ SAVE ATTACH MODE
- RJ ATP ATTACH P FILE
- EQ ERC4 CHECK PARAMETERS
- * PROCESS *DA* PARAMETER.
- ERC3 ZR X3,ERC3.1 IF P AND N ARE IDENTICAL
- STATUS N,P
- SX2 PMFT DIRECT ACCESS CODE
- SA1 N+5 FNT ENTRY
- MX0 -6
- AX1 6
- BX1 -X0*X1 FILE TYPE
- IX2 X2-X1
- SX6 B0
- SA6 N+5 RESTORE FET+5
- SA6 A6+B1 RESTORE FET+6
- ZR X2,ERC3.1 IF DIRECT ACCESS FILE
- SA5 N
- MX0 42
- BX6 X0*X5
- SA6 LIBK+2
- MESSAGE LIBK * FILE NOT ATTACHED - FILNAME*
- ABORT
- ERC3.1 SA1 P
- ZR X1,ERC4 IF P=0
- STATUS P,P
- SX2 PMFT DIRECT ACCESS CODE
- SA1 P+5 FNT ENTRY
- MX0 -6
- AX1 6
- BX1 -X0*X1 FILE TYPE
- IX2 X2-X1
- SX6 B0
- SA6 P+5 RESTORE FET+5
- SA6 A6+B1 RESTORE FET+6
- ZR X2,ERC4 IF DIRECT ACCESS FILE
- SA5 P *P* FILE NAME
- MX0 42
- BX6 X0*X5
- SA6 LIBK+2
- MESSAGE LIBK * FILE NOT ATTACHED - FILNAME*
- ABORT
- * CHECK INCORRECT COMBINATION OF PARAMETERS.
- ERC4 SX4 B0+
- SA1 XTN
- ZR X1,ERC4.1 IF NO *TN*
- SX4 X4+1
- ERC4.1 SA1 LO
- SX2 B0+
- ZR X1,ERC4.2 IF NO *LO*
- SX3 1RA
- SX2 2
- LX1 6
- IX3 X1-X3
- ZR X3,ERC4.2 IF ALL TASKS TO BE REPORTED
- SX3 1RT
- IX2 X2+X2
- IX3 X1-X3
- ZR X3,ERC4.2 IF REPORT ONLY TASK NAMED
- SX2 6
- SX3 1RX
- IX3 X1-X3
- ZR X3,ERC4.2 IF REPORT ONY TRANSACTION NAMED
- SA2 ERCN *LO*, *LO=A*, *LO=T* OR *LO=X*
- SX4 X2 MESSAGE ADDRESS
- LX2 -18
- SX2 X2+ LENGTH OF MESSAGE
- EQ ERC8.1 PRINT OUT ERROR MESSAGE
- ERC4.2 IX4 X4+X2
- SA2 X4+TERCA ERROR FLAG
- SX4 X2 MESSAGE ADDRESS
- ZR X4,ERC4.3 IF NO ERROR
- LX2 -18
- SX2 X2 LENGTH OF MESSAGE
- EQ ERC8.1 PRINT OUT ERROR MESSAGE
- ERC4.3 SX4 B0+
- SA1 CR
- ZR X1,ERC5 IF NOT *CR*
- SX1 B1+
- ERC5 BX4 X4+X1 ADD *CR* FLAG
- SA2 PR
- ZR X2,ERC6 IF NOT *PR*
- SX2 2
- ERC6 BX4 X4+X2 ADD *PR* FLAG
- SA1 TT
- ZR X1,ERC7 IF NOT *TT*
- SX1 4
- ERC7 SA3 PN
- SA5 P
- BX4 X4+X1
- BX6 X5 SAVE FILE NAME
- ZR X3,ERC8 IF *P* IDENTICAL TO *N*
- SX3 8
- SA5 N
- ERC8 BX4 X4+X3 ADD *PN* FLAG
- SA2 X4+TERC ERROR FLAG
- SX4 X2 MESSAGE ADDRESS
- ZR X4,ERC9 IF NO ERROR
- LX2 -18
- SX2 X2 LENGTH OF MESSAGE
- ERC8.1 WRITEW O,X4,X2 PRINT OUT ERROR MESSAGE
- WRITER O
- LX4 30
- BX6 X4
- SA6 ERCA DAYFILE MESSAGE ADDRESS
- MESSAGE ERCA
- ABORT
- * SET UP OLD DIRECTORY FOR PROCESSING.
- ERC9 SA1 CR
- SA2 P
- MX0 42 MASK FILE NAME
- BX7 X0*X5
- SA7 LIBC+4 DISPLAY FILE NAME
- SA7 LIBD+4
- BX7 X0*X6
- SA7 LIBE+4
- NZ X1,ERCX IF CREATION RUN
- ZR X2,ERCX IF *P* IS EQUAL TO ZERO
- REWIND P
- SKIPEI P,R
- SKIPB P,2,R POSITION AT DIRECTORY
- READ P
- READW P,TLDH,TSKDL+4 DIRECTORY + HEADER
- NZ X1,ERC10 IF DIRECTORY NOT TOO LONG
- MESSAGE PRSC
- ABORT INCORRECT DIRECTORY FORMAT
- ERC10 PL X1,ERC11 IF DATA ON DIRECTORY
- MESSAGE PRSD DIRECTORY EMPTY
- ABORT
- ERC11 SX7 X1+
- SX2 X1-TLD NUMBER OF WORDS IN TLD
- SA7 LWTLD LWA OF TLD
- SB4 TLD
- SB5 X7
- MX5 42
- SA1 TLDH+1 CHECK FOR NAME
- MX4 18
- BX6 -X2
- SX6 X6+TSKDL
- SA6 FSLT UNUSED SPACE LEFT IN TLD
- SA2 ERCI
- BX4 X4*X1
- MX7 -18
- IX3 X4-X2
- LX1 -18
- BX7 -X7*X1 LWA OF BASE TLD
- SX7 X7+TLD
- SA7 LWOLD
- ZR X3,ERC12 IF NAME WAS *TLD*
- MESSAGE PRSE * TASK LIBRARY DIRECTORY ERROR.*
- ABORT BAD LIBRARY FILE
- ERC12 SA1 TLDH
- MX0 30
- BX6 -X0*X1 EXTRACT PRU ADDRESS OF TRD
- ZR X6,ERCX IF NO TRD
- SA6 P+6 STORE IN FET
- READ P
- READW P,TRDH,TRNDL+4 DIRECTORY + HEADER
- NZ X1,ERC13 IF DIRECTORY NOT TOO LONG
- MESSAGE PRSH DIRECTORY TOO LONG
- ABORT
- ERC13 PL X1,ERC14 IF DATA IN DIRECTORY
- MESSAGE PRSG DIRECTORY EMPTY
- ABORT
- ERC14 SX7 X1
- SX2 X1-TRD WORDS IN TRD
- SA7 LWTRD
- SA7 LATRD
- SA1 TRDH+1 CHECK FOR NAME
- MX4 18
- BX6 -X2
- SX6 X6+TRNDL
- SA6 FSTR UNUSED SPACE LEFT IN TRD
- SA2 ERCK
- BX4 X4*X1
- BX4 X4-X2
- SX6 B1+
- SA6 TRDE FLAG *TRD* EXISTS
- ZR X4,ERCX IF NAME WAS *TRD*
- MESSAGE PRSI DIRECTORY ERROR
- ABORT
- ERCA CON 0
- ERCB DATA C* CONFLICTING LIBTASK OPTIONS - CR, PR.*
- ERCBL EQU *-ERCB
- ERCC DATA C* CONFLICTING LIBTASK OPTIONS - CR, TT.*
- ERCCL EQU *-ERCC
- ERCD DATA C* CONFLICTING LIBTASK OPTIONS - PR, TT.*
- ERCDL EQU *-ERCD
- ERCE DATA C* INCORRECT PR OR CR WHEN FILE ATTACHED BY TAF.*
- ERCF DATA C* CONFLICTING LIBTASK OPTIONS - P=0, -N.*
- ERCFL EQU *-ERCF
- ERCG VFD 60/0LSCRATCH+3 DUMMY FILE TO CHECK IF N OMITTED
- ERCH DATA C* CONFLICTING LIBTASK OPTIONS - TT, N.*
- ERCHL EQU *-ERCH
- ERCI VFD 60/3LTLD HEADER WORD FOR TLD
- ERCJ BSSZ 1 ATTACH FLAG, IF SET ATTACH IN *WRITE* MODE
- ERCK VFD 60/0LTRD HEADER WORD FOR TRD
- ERCL DATA C* TN REQUIRES EITHER LO=T OR LO=X.*
- ERCLL EQU *-ERCL
- ERCM DATA C* VALID LO OPTIONS ARE LO, LO=A, LO=T OR LO=X.*
- ERCML EQU *-ERCM
- ERCN VFD 30/0,12/ERCML,18/ERCM *LO*, *LO=A*, *LO=T* OR *LO=X*
- ERCO DATA C* TASKLIB MUST NOT START WITH THE LETTER Z.*
- ERCOL EQU *-ERCO
- TERC BSS 0 TRUTH TABLE OF COMMAND PARAMETERS
- VFD 60/0 ADD (B) TO (P)
- VFD 60/0 CREATE P FROM B
- VFD 60/0 DELETE INACTIVE TASKS IN P
- VFD 30/0,12/ERCBL,18/ERCB *CR* AND *PR* AT SAME TIME
- VFD 60/0 TAF IS NOT UP SO *TT* HAS NO EFFECT
- VFD 30/0,12/ERCCL,18/ERCC *CR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCDL,18/ERCD *PR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCBL,18/ERCB *CR* AND *PR* AT SAME TIME
- VFD 60/0, COPY (P) TO N AND ADD (B)
- VFD 60/0 CREATE N FROM (P) AND (B)
- VFD 60/0 CREATE N FROM (P) AND (B)
- VFD 30/0,12/ERCBL,18/ERCB *CR* AND *PR* AT SAME TIME
- VFD 30/0,12/ERCHL,18/ERCH *TT* WITH N SPECIFIED
- VFD 30/0,12/ERCCL,18/ERCC *CR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCDL,18/ERCD *PR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCBL,18/ERCB *CR* AND *PR* AT SAME TIME
- VFD 30/0,12/ERCCL,18/ERCC *CR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCDL,18/ERCD *PR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCCL,18/ERCC *CR* AND *TT* IN COMMAND
- VFD 30/0,12/ERCDL,18/ERCD *PR* AND *TT* IN COMMAND
- * ERROR MESSAGE TABLE FOR *LO* AND *TN* PARAMETERS.
- TERCA BSS 0 TRUTH TABLE OF *LO* AND *TN* PARAMETERS
- CON 0 NEITHER OPTION
- VFD 30/0,12/ERCLL,18/ERCL *TN* REQUIRES *LO*=T OR *LO*=X
- CON 0 *LO* WITH DEFAULT
- VFD 30/0,12/ERCLL,18/ERCL *TN* REQUIRES *LO*=T OR *LO*=X
- CON 0 *LO=T*
- CON 0 *LO*=T AND *TN*
- CON 0 *LO=X*
- CON 0 *LO*=X AND *TN*
- INP SPACE 4,25
- ** INP - PROCESS INPUT DIRECTIVES.
- *
- * PROCESS THE INPUT DIRECTIVES, CHECKING FOR ERRORS AND
- * SETTING UP MANAGED TABLES WITH THE DIRECTORY VALUES FOR EACH
- * TASK. ONE ENTRY IS ESTABLISHED FOR EACH DIRECTIVE, THEREFORE
- * ONLY ONE DIRECTIVE SHOULD BE USED FOR ANY TASK. SEVERAL
- * PARAMETERS MAY BE INCLUDED IN ONE DIRECTIVE HOWEVER.
- *
- * ENTRY (JOBORG) = 0 IF INTERACTIVE INPUT.
- *
- * EXIT INPUT DIRECTIVES PROCESSED.
- *
- * USES A - ALL.
- * X - ALL.
- * B - 2, 3, 4, 5, 6.
- *
- * CALLS ALC, ARG, DXB, ERR, SFN, STD, UPC.
- *
- * MACROS ABORT, ADDWRD, MESSAGE, READS, WRITEC, WRITER,
- * WRITES, WRITEW.
- INP SUBR ENTRY/EXIT
- SA1 O+1 OUTPUT FET
- SX2 B1
- LX2 36-0 POSITION FLUSH BIT
- BX6 X2+X1
- SA6 A1 SET FLUSH BIT
- SA1 JOBORG
- ZR X1,INP2 IF INTERACTIVE INPUT
- WRITEW O,INPG,INPGL
- SX2 2
- RJ ALC ADVANCE LINE COUNT
- EQ INP2 BYPASS FIRST WRITE
- INP1 SA1 JOBORG
- ZR X1,INP2 IF INTERACTIVE INPUT
- WRITEW O,INPK,1
- WRITES O,INPA,INPAL ECHO PRINT LINE TO OUTPUT FILE
- SX2 B1+
- RJ ALC ADVANCE LINE COUNT
- INP2 READS I,INPA,INPAL READ A DIRECTIVE CARD
- NZ X1,INP20 IF EOR/EOF ENCOUNTERED ON FILE
- SA1 INPI
- SX7 X1+B1 ADVANCE NUMBER OF DIRECTIVES PROCESSED
- SA7 A1
- SA1 INPA FIRST CHARACTER
- SB2 7 MAXIMUM TASK NAME CHARACTER LENGTH
- SB6 A1+B1 START OF BUFFER
- BX6 X6-X6
- SB7 INPA+INPAL END OF BUFFER
- SX7 X1-1R*
- SB5 60
- SX0 55B HOLLERITH BLANK
- SX5 45B FIRST NON ALPHANUMERIC CHARACTER
- ZR X7,INP3 IF FIRST CHARACTER *
- SX7 X1-1R/
- NZ X7,INP19 IF FIRST CHARACTER NOT /
- SX7 B1
- SA7 INPQ FLAG TRANSACTION DIRECTIVE
- INP3 EQ B6,B7,INP19 IF END OF COMMAND
- SA1 B6
- SB6 B6+B1
- BX2 X1-X0
- IX3 X1-X5
- ZR X2,INP4 IF END OF TASK NAME
- SX2 X0+B1
- BX2 X1-X2
- ZR X2,INP4 IF COMMA LEGAL SEPARATOR
- PL X3,INP19 IF INCORRECT CHARACTER
- LX6 6
- BX6 X6+X1 ACCUMULATE CHARACTERS
- SB5 B5-6
- SB2 B2-B1
- LT B2,INP19 IF .GT. 7 CHARACTERS IN NAME
- EQ INP3 CHECK NEXT CHARACTER
- INP4 ZR X6,INP19 IF NO TASK NAME
- LX2 X6,B5
- SX5 B5 SAVE (B5)
- SX6 B6 SAVE (B6)
- SA1 LWOLD LWA OF BASE TLD
- SB6 X1
- SB5 TLD START OF TLD
- SB3 TLDLE TLD ENTRY LENGTH
- SA3 INPQ
- ZR X3,INP4.1 IF TASK DIRECTIVE
- SA1 LATRD LWA OF TRD
- SB6 X1
- SB5 TRD
- SB3 TRDLE1 TRD ENTRY LENGTH
- BX7 X2
- SA7 INPT SAVE TRANSACTION NAME
- INP4.1 RJ STD CHECK IF IN DIRECTORY
- SB5 X5 RESTORE (B5)
- SB6 X6 RESTORE (B6)
- SX0 55B
- SB7 INPA+INPAL RESTORE (B7)
- ZR X1,INP5 IF TASK/TRANSACTION FOUND
- SA1 INPQ
- NZ X1,INP6 IF TRANSACTION DIRECTIVE
- ADDWRD DRTC,X2 ADD TASK NAME TO DIRECTIVE LIST
- BX7 X7-X7
- SA7 INPN CLEAR FLAG TO INDICATE NEW DIRECTIVE
- EQ INP6 PROCESS DIRECTIVES
- INP5 SX7 A1 ADDRESS OF TASK IN DIRECTORY
- SA7 INPN
- SA1 INPQ
- NZ X1,INP6 IF TRANSACTION DIRECTIVE
- ADDWRD TDCH,X2 DIRECTIVE CHANGED TABLE
- INP6 EQ B6,B7,INP19 IF NO DIRECTIVES ON COMMAND
- SA1 B6
- SB6 B6+B1
- BX2 X1-X0
- ZR X2,INP6 IF SKIP ALL BLANKS
- SX5 B6-B1 FIRST NON BLANK CHARACTER AFTER TASK NAME
- SA1 INPC+1 FIRST
- SX7 X1
- SA7 A1+B1 REWIND FET
- SX6 X7+8
- SA7 A7+B1 OUT
- SA6 A7+B1 LIMIT
- SB7 B7-B6
- WRITES INPC,X5,B7 PUT BACK INTO WORD FORMAT
- BX6 X6-X6 ADD LINE TERMINATOR
- SB4 60
- SB7 B1+B1 UNPACK INTO LOW CORE
- SA6 B3
- SA1 B3-B1 LAST CM WORD OF DIRECTIVE
- SX7 1R.
- SB6 6
- MX0 6
- LX7 -6
- INP7 BX3 X0*X1 MASK LEFT MOST CHARACTER
- IX2 X7-X3
- ZR X2,INP9 IF TERMINATOR
- ZR X3,INP8 IF END OF LINE
- LX1 X1,B6 LEFT SHIFT ONE CHARACTER
- SB4 B4-B6
- NZ B4,INP7 IF NOT AT WORD BOUNDARY
- SA1 A1+B1 NEXT WORD
- SB4 60
- EQ INP7 TRY AGAIN
- INP8 BX7 X7+X1 ADD TERMINATOR
- LX7 X7,B4
- SA7 A1+
- INP9 SA5 INPCD FIRST WORD OF DIRECTIVES (DUMMY)
- RJ UPC UNPACK DIRECTIVES
- SB6 B6+B1
- ZR X7,INP10 IF END OF LINE
- SB6 B6-B1
- NZ X6,INP19 IF ERROR IN DIRECTIVE FORMAT
- INP10 SB4 B6-B1 ADJUST ARGUMENT COUNT
- SA4 B7+B1 FIRST ARGUMENT ADDRESS
- SX7 B4
- SA7 INPR SAVE ARGUMENT COUNT
- SA1 INPQ
- SB5 INPE ARGUMENT TABLE
- ZR X1,INP10.1 IF TASK DIRECTIVE
- SB5 INPO ARGUMENT TABLE
- INP10.1 RJ ARG PROCESS ARGUMENTS
- NZ X1,INP19 IF ERROR IN DIRECTIVE ARGUMENTS
- SA1 INPQ
- NZ X1,INP22 IF TRANSACTION DIRECTIVE
- * PROCESS DIRECTORY ARGUMENTS.
- SA1 IG
- SA2 INPN
- ZR X1,INP12 IF NOT IGNORE
- NZ X2,INP11 IF TASK IN DIRECTORY
- MX2 1
- ADDWRD DRTC,X2
- BX2 X2-X2
- ADDWRD DRTC,X2
- SB2 B0
- EQ INP18 PROCESS NEXT DIRECTIVE
- INP11 MX2 1
- ADDWRD TDCH,X2
- BX2 X2-X2
- ADDWRD TDCH,X2
- SB2 B0
- EQ INP18 PROCESS NEXT DIRECTIVE
- * PROCESS OTHER DIRECTIVES.
- INP12 SA5 BP
- SB7 B0+ SET OCTAL CONVERSION
- RJ DXB CONVERT BEGINNING PRIORITY TO OCTAL
- NZ X4,INP19 IF ERROR IN CONVERSION
- SA6 BP STORE NEW VALUE
- SA5 MP
- RJ DXB CONVERT MAXIMUM PRIORITY TO OCTAL
- NZ X4,INP19 IF CONVERSION ERROR
- SA6 MP STORE NEW VALUE
- SA5 QL
- RJ DXB CONVERT QUEUE LIMIT TO OCTAL
- NZ X4,INP19 IF CONVERSION ERROR
- SA6 QL STORE NEW VALUE
- SA5 EF EXPANDABLE FL
- RJ DXB CONVERT TO BINARY
- SX6 X6
- SX1 MAXEF+1
- IX2 X6-X1
- PL X2,INP19 IF MAXIMUM EXPANDABLE FL EXCEEDED
- NG X6,INP19 IF NEGATIVE VALUE
- NZ X4,INP19 IF CONVERSION ERROR
- SA6 EF
- * CHECK FOR PARAMETER VALUES OUT OF RANGE.
- SA1 BP BEGINNING PRIORITY
- SX2 X1-MXBP-1
- SA3 MP MAXIMUM PRIORITY
- SX4 X1-MNBP
- PL X2,INP19 IF BEGINNING PRIORITY IS TOO HIGH
- NG X4,INP19 IF BEGINNING PRIORITY IS TOO LOW
- SX2 X3-MNMP
- SX3 X3-MXMP-1
- NG X2,INP19 IF MAXIMUM PRIORITY IS TOO LOW
- SA1 QL QUEUE LIMIT
- PL X3,INP19 IF MAXIMUM PRIORITY IS TOO HIGH
- SX2 X1-MAXQL-1
- SX4 X1-MINQL
- PL X2,INP19 IF QUEUE LIMIT TOO HIGH
- NG X4,INP19 IF QUEUE LIMIT TOO LOW
- SA1 C
- SA2 TT
- ZR X2,INP12.1 IF *TT* OPTION NOT SPECIFIED
- NZ X1,INP19 IF CORE RESIDENT UPDATE ATTEMPT WITH *TT*
- SA1 INPN
- ZR X1,INP13 IF TASK NOT IN DIRECTORY
- SA1 X1+2 THIRD WORD OF TASK DIRECTORY ENTRY
- LX1 59-57
- NG X1,INP19 IF OLD COPY OF TASK IS CORE RESIDENT
- EQ INP13 PROCESS NEXT TASK CHARACTERISTIC
- INP12.1 ZR X1,INP13 IF NOT A CORE RESIDENT TASK
- SA1 CRES
- SX7 X1+1 BUMP CORE RESIDENT TASK COUNT
- SA7 A1+
- INP13 SA1 D
- NZ X1,INP14 IF NOT A DESTRUCTIVE TASK
- SX7 1
- SA7 QL FORCE DESTRUCTIVE TASK QUEUE LIMIT TO 1
- INP14 SA1 MP MAXIMUM PRIORITY
- SA2 EF EXPANDABLE FIELD LENGTH
- SX2 X2+77B ROUND TO MULTIPLE OF 100B
- AX2 6
- LX2 TLEFS-TLEFN+1
- BX2 X2+X1
- SA1 INPN
- NZ X1,INP15 IF TASK IN DIRECTORY
- ADDWRD DRTC,X2
- EQ INP16 PROCESS NEW TASK
- INP15 SA1 X1+B1 SECOND WORD OF TLD
- MX7 TLDAN+TLFLN
- BX7 X7*X1 DA AND FL
- BX7 X7+X2 ADD *EF* AND *MP*
- SA7 A1
- ADDWRD TDCH,X7 SECOND WORD OF DIRECTORY
- INP16 SA1 S SYSTEM TASK
- SA2 D DESTRUCTIVE CODE
- SA3 C CORE RESIDENCE
- SA4 QL
- BX1 X1+X2
- SA2 OO ON/OFF
- BX3 X2+X3
- BX1 X1+X3
- SA2 E EXTENDED MEMORY RESIDENCE
- BX1 X2+X1
- SA3 DL DELETE TASK
- BX1 X1+X3
- LX1 TLSTS-5
- BX1 X1+X4
- SA2 SC
- BX1 X2+X1
- SA3 R REDUCE FL FLAG
- SA2 BP
- LX3 TLRES-TLREN+1
- LX2 TLBPS-TLBPN+1
- BX1 X1+X3
- BX1 X2+X1
- SA2 Q QUEUING CONTROL INDICATOR
- BX1 X1+X2
- SB2 B0
- SA2 INPN
- NZ X2,INP17 IF TASK ALREADY IN DIRECTORY
- ADDWRD DRTC,X1 ADD TO DIRECTIVE TABLE
- EQ INP18 PROCESS NEXT DIRECTIVE
- INP17 BX7 X1
- SA7 X2+2 STORE IN EXISTING DIRECTORY ENTRY
- ADDWRD TDCH,X7 THIRD WORD OF DIRECTORY
- SA2 INPN
- SA2 X2
- ADDWRD TDRC,X2 DIRECTIVES CHANGED LIST
- * RESET DEFAULT VALUES FOR NEXT TASK.
- INP18 SX7 CBP RESET BEGINNING PRIORITY
- SX6 CMP
- LX7 48
- SA7 BP BEGINNING TASK PRIORITY
- LX6 48
- SA6 MP MAXIMUM TASK PRIORITY
- SX7 CQL
- LX7 48
- SA7 QL QUEUE LIMIT
- SX6 CC*10B
- SA6 C CORE RESIDENCE BIT
- SX7 CD*20B
- SA7 D REUSABLE CODE BIT
- SX7 CS*40B
- SA7 S SYSTEM TASK BIT
- SX6 CO*02B
- SA6 OO TASK ON/OFF BIT
- SX7 CE*04B
- SX6 CDL*01B DELETE TASK
- SA6 DL
- SA7 E EXTENDED MEMORY RESIDENCE BIT
- SX7 B0+
- SA7 SC
- SX6 CRE DEFAULT REDUCE FL FLAG
- SX7 EFL EXPANDABLE FIELD LENGTH
- SA6 R
- SA7 EF
- SX6 CQ*MLQU QUEUING CONTROL BIT
- SA6 Q
- BX7 X7-X7
- SB7 TDL-TSK1
- SA7 TSK1
- INP18.1 SA7 A7+B1 ZERO OUT DEFAULT VALUES
- SB7 B7-B1
- NE B7,INP18.1 IF MORE TO GO
- SA7 INPN TRD ADDRESS
- SA7 INPT TRANSACTION NAME
- SA7 INPQ TRANSACTION DIRECTIVE FLAG
- NE B2,INP2 IF BAD DIRECTIVE
- EQ INP1 READ NEXT DIRECTIVE
- * WRITE ERROR MESSAGES.
- INP19 WRITEW O,INPJ,1 WRITE ERROR MESSAGE
- WRITES O,INPA,INPAL
- WRITEW O,INPH,INPHL INCORRECT DIRECTIVE
- WRITEW O,BLINE,1
- SX2 3
- RJ ALC ADVANCE LINE COUNT
- SA1 INPL
- SX7 X1+B1 BUMP ERROR COUNT
- SA7 A1
- SB2 B1+ FLAG BAD
- SA1 JOBORG
- NZ X1,INP18 IF NOT INTERACTIVE
- WRITER O FLUSH BUFFER
- EQ INP18 RESET DEFAULT VALUES
- INP20 SA1 INPI DIRECTIVE COUNT
- SA2 INPL
- NZ X2,INP21 IF ERRORS PRESENT
- ZR X1,INP20.1 IF NO DIRECTIVES
- WRITEW O,BLINE,1
- SX2 1
- RJ ALC ADVANCE LINE COUNT
- EQ INPX RETURN
- INP20.1 SA1 JOBORG
- ZR X1,INPX IF INTERACTIVE INPUT
- * WRITE *NONE* ON FILE.
- WRITEW O,LRLA,LRLAL
- SX2 B1+B1
- RJ ALC ADVANCE LINE COUNT
- EQ INPX RETURN
- INP21 WRITEW O,INPM,INPML * INPUT DIRECTIVE ERRORS.*
- WRITER O
- MESSAGE INPB * DIRECTIVE ERRORS.*
- ABORT
- * PROCESS TRANSACTION DIRECTIVE.
- INP22 SA1 TDL
- SA2 INPN TRANSACTION ENTRY ADDRESS
- SA4 INPT TRANSACTION UNIT NAME
- SB2 B1 PRESET ERROR
- ZR X1,INP24 IF NOT *DL*
- SA1 INPR
- SX1 X1-1
- NZ X1,INP31 IF MORE PARAMETERS
- NZ X2,INP23 IF TRANSACTION NAME EXISTS
- BX1 X4
- RJ SFN SPACE FILL NAME
- LX6 42
- SA6 INPS+4 STORE IN MESSAGE
- SX2 B1
- RJ ALC ADVANCE LINE COUNT
- WRITEC O,INPS ISSUE WARNING
- SB2 B0 SET NO ERROR
- EQ INP31 NEXT DIRECTIVE
- INP23 SA1 X2
- SX2 B1
- LX2 TDDLS LOGICALLY DELETED BIT
- BX6 X1+X2
- SA6 A1
- SA1 LWTRD
- SX6 X1-TRDLE1 DECREASE DIRECTORY LENGTH
- SA6 A1
- ADDWRD TTCN,X4 TRANSACTION CHANGED
- SB2 B0 SET NO ERROR
- EQ INP31 NEXT DIRECTIVE
- INP24 NZ X2,INP25 IF TRANSACTION NAME EXISTS
- SA2 LATRD
- SX6 X2+TRDLE1
- SA0 X2 NEXT FREE WORD IN TRD
- SA6 A2 UPDATE LWA OF TRD
- SA1 LWTRD UPDATE LWA OF TRD
- SX6 X1+TRDLE1
- SA6 LWTRD
- SA1 FSTR
- SX7 X1-TRDLE1
- SA7 A1+ FREE SPACE IN TRD
- SX6 6
- PL X7,INP26 IF TRD NOT FULL
- SA1 LWTRD DECREMENT LWA OF TRD
- SX7 X1-TRDLE1
- SA7 LWTRD
- SA1 LATRD DECREMENT LWA OF TRD BEFORE SORT
- SX7 X1-TRDLE1
- SA7 LATRD
- RJ ERR REPORT TRD FULL CONDITION
- WRITER O FLUSH BUFFER
- SA3 JOBORG
- ZR X3,INPX IF INTERACTIVE INPUT
- EQ INP21 ABORT
- INP25 SA2 INPN DIRECTORY ENTRY ADDRESS
- SA0 X2+
- INP26 SB2 B1 PRESET ERROR
- SA1 TSK1
- ZR X1,INP31 IF NO TASKS SPECIFIED
- SA2 INPT TRANSACTION UNIT NAME
- SA3 DM DATA MANAGER(S) SPECIFIED
- BX5 X5-X5
- ZR X3,INP28 IF NO DATA MANAGER SPECIFIED
- SA4 INPU-1
- MX0 42
- INP27 SA4 A4+B1 NEXT DATA MANAGER
- ZR X4,INP31 IF END OF LIST
- BX6 X0*X4
- BX6 X6-X3
- NZ X6,INP27 IF NO MATCH
- SX5 X4 DATA MANAGER FLAGS
- INP28 BX6 X2+X5
- SA5 RC RECOVERABLE STATUS
- BX6 X6+X5
- SA6 A0 STORE IN DIRECTORY
- SB6 5 NUMBER OF TASKS TO CHECK FOR
- SB2 B0 SET NO ERROR
- INP29 BX6 X1
- SA6 A6+B1 STORE TASK NAMES
- SB6 B6-B1
- SA1 A1+B1 NEXT TASK NAME
- EQ B6,INP31 IF 5 TASK NAMES SPECIFIED
- NZ X1,INP29 IF MORE TASKS IN LIST
- SB2 B1 PRESET ERROR
- BX6 X6-X6
- SA1 A1-B1
- INP30 SA1 A1+B1
- NZ X1,INP31 IF MORE TASKS IN LIST
- SA6 A6+B1 ZERO REMAINING WORDS
- SB6 B6-B1
- NE B6,INP30 IF MORE TO GO
- SB2 B0 SET NO ERROR
- SA4 INPT
- SA2 INPN DIRECTORY ENTRY ADDRESS
- NZ X2,INP30.1 IF TRANSACTION NAME ALREADY EXISTS
- ADDWRD TTIN,X4 TRANSACTION ADDED
- EQ INP31 NEXT DIRECTIVE
- INP30.1 ADDWRD TTCN,X4 TRANSACTION CHANGED
- INP31 NE B2,INP19 IF DIRECTIVE ERROR
- SX6 B1
- SA6 MTRD FLAG TRD MODIFIED
- SA6 TRDE FLAG TRD EXISTS
- EQ INP18 PROCESS NEXT DIRECTIVE
- INPAL EQU 150
- INPA BSS INPAL STRING BUFFER FOR DIRECTIVE INPUT
- INPB DATA C* DIRECTIVE ERRORS.*
- INPC FILEC INPD,INPAL+1 BUFFER FOR *WTS*
- INPCD VFD 60/10LLIB, CONTROL WORD FOR *UPC*
- INPD BSSZ INPAL+1 MADE LARGE TO STOP A *CIO* WRITE BY *WTS*
- * DATA AREA FOR PROCESSING TASK DIRECTORY COMMANDS.
- INPE BSS 0
- BP ARG INPF,BP
- MP ARG INPF+1,MP
- QL ARG INPF+2,QL
- C ARG -INPF-3,C
- D ARG -INPF-4,D
- S ARG -INPF-5,S
- O ARG -INPF-6,OO
- E ARG -INPF-7,E
- DL ARG -INPF-8,DL
- IG ARG -INPF-9,IG
- SC ARG -INPF-10,SC
- Q ARG -INPF-11,Q
- EF ARG INPF+12,EF
- R ARG -INPF-13,R
- ARG
- INPF VFD 12/ABP,48/0 ALTERNATE BEGINNING PRIORITY
- VFD 12/AMP,48/0 ALTERNATE MAXIMUM PRIORITY
- VFD 12/AQL,48/0 ALTERNATE QUEUE LIMIT
- CON 10B CORE RESIDENT BIT
- CON 0 NONREUSABLE CODE BIT
- CON 40B SYSTEM TASK BIT
- CON 02B ON/OFF BIT
- CON 04B EXTENDED MEMORY RESIDENT BIT
- CON 01B DELETE TASK
- CON 1 IGNORE TASK
- CON 1S17 SOLICITED COMMUNICATION BLOCK LOAD FLAG
- CON MLQU QUEUING CONTROL BIT
- CON EFL EXPANDABLE FIELD LENGTH
- CON CRE REDUCE FL
- INPG DATA C*0LIBTASK DIRECTIVES. *
- DATA C* *
- INPGL EQU *-INPG
- INPH DATA C/ ******* INCORRECT DIRECTIVE./
- INPHL EQU *-INPH
- INPI CON 0
- INPJ CON 10H *ERROR*
- INPK CON 10H
- INPL CON 0 DIRECTIVE INPUT ERROR COUNT
- INPM DATA C/ ** INPUT DIRECTIVE ERRORS **/
- INPML EQU *-INPM
- INPN CON 0 ADDRESS OF TASK CHANGING DIRECTIVES FOR
- * TABLE OF VALID TRANSACTION DIRECTIVE PARAMETERS.
- INPO BSS 0
- T1 ARG INPP,TSK1
- T2 ARG INPP,TSK2
- T3 ARG INPP,TSK3
- T4 ARG INPP,TSK4
- T5 ARG INPP,TSK5
- RC ARG -INPP-1,RC
- DM ARG INPP,DM
- DL ARG -INPP-1,TDL
- ARG
- INPP CON 0
- CON 1
- INPQ CON 0 NONZERO INDICATES TRANSACTION DIRECTIVE
- INPR CON 0 ARGUMENT COUNT
- INPS DATA C* WARNING - TRANSACTION NAME NONEXISTENT XXXXXXX.*
- INPT CON 0 TRANSACTION UNIT NAME
- * TABLE OF VALID DATA MANAGER PARAMETERS.
- INPU VFD 12/0LC,48/2 *CRM*
- VFD 12/0LD,48/4 *CDCS*
- VFD 12/0LCD,48/6 *CRM* + *CDCS*
- VFD 12/0LDC,48/6 *CRM* + *CDCS*
- CON 0 TABLE TERMINATOR
- SPACE 4
- ENDP EQU * END OF PRESET CODE
- BUFFERS TITLE FILE BUFFERS.
- TBL EQU 1001B
- TB EQU PRS WORKING BUFFER FOR TASK BINARY
- BBUFL EQU 1001B
- BBUF EQU TB+TBL BINARY FILE BUFFER
- HBL EQU 102B
- HB EQU BBUF+BBUFL BUFFER FOR FIRST 66 WORDS OF TASK
- SBUFL EQU 1001B
- SBUF EQU HB+HBL SCRATCH FILE BUFFER
- WBUFL EQU 14
- WBUF EQU SBUF+SBUFL OUTPUT FILE WORKING BUFFER
- .1 SET ENDP END OF PRESET CODE
- IFGT WBUF+WBUFL,.1
- .1 SET WBUF+WBUFL
- ENDIF
- PBUFL EQU 6002B
- PBUF EQU .1 TASK LIBRARY FILE
- IBUFL EQU 301B
- IBUF EQU PBUF+PBUFL INPUT FILE BUFFER
- OBUFL EQU 401B
- OBUF EQU IBUF+IBUFL OUTPUT FILE BUFFER
- LASTB EQU OBUF+OBUFL
- RFL= EQU LASTB+10B
- END LIBTASK
cdc/nos2.source/opl871/libtask.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator