cdc:nos2.source:opl871:dayfile
Table of Contents
DAYFILE
Table Of Contents
- [00018] DAYFILE - DUMP DAYFILES.
- [00020] DUMP DAYFILES.
- [00369] MACRO DEFINITIONS.
- [00371] INPUTC - READ CODED MESSAGE FROM CONTROL WORD BLOCKS.
- [00394] INPUTW - READ BINARY MESSAGE FROM CONTROL WORD BLOCKS.
- [00427] SYMBOL DEFINITIONS.
- [00472] FETS AND GLOBAL STORAGE.
- [00560] ENTRIES.
- [00563] AFD - DUMP ACCOUNT DAYFILE.
- [00581] DUMP USER DAYFILE.
- [00599] DFD - DUMP SYSTEM DAYFILE.
- [00616] ELD - DUMP ERROR LOG.
- [00632] GETLOG - DUMP ERROR LOG AND BML FOR *HPA*.
- [00700] MAINLOG - DUMP BINARY MAINTENANCE LOG.
- [00719] TRM - COMMON TERMINATION ROUTINE.
- [00743] DAF - PROCESS DAYFILE DUMP.
- [00821] SUBROUTINES.
- [00823] ERR - PROCESS ERROR.
- [00867] GEM - GENERATE ERROR MESSAGE.
- [00991] ICP - INITIALIZE CM BUFFER PROCESSING.
- [01046] OPN - OPEN RESPECTIVE DAYFILE.
- [01206] RDC - READ CODED LINE.
- [01341] RDW - READ DATA.
- [01509] RIF - READ INPUT FILE FOR NEXT MESSAGE.
- [01537] SRM - SEARCH FOR MESSAGE.
- [01587] TSF - TERMINATE SEARCH FILE.
- [01631] UOP - UPDATE OUT POINTER.
- [01657] WBF - WRITE BINARY FILE.
- [01697] WCF - WRITE CODED FILE.
- [01781] WOF - WRITE MESSAGE TO OUTPUT FILE.
- [01844] WUP - WRAP UP PROCESSING.
- [01894] SPECIAL ENTRIES AND BUFFERS.
- [01934] PRS - PRESET.
- [02228] TGTL - *GETLOG* PARAMETERS.
- [02240] TMLG - *MAINLOG* PARAMETERS.
- [02254] TCOD - CODED PARAMETERS.
- [02272] TPAS - TABLE OF PAGE SIZE PARAMETERS.
- [02299] CDP - CONVERT DISPLAY TIME TO PACKED TIME.
- [02345] CRN - CHECK RESERVED NAME.
- [02374] FNB - FIND NON-BLANK CHARACTER.
- [02400] IPP - INITIALIZE PAGE PARAMETERS.
- [02445] PDR - PROCESS DEFERRED ROUTE OF FILE.
- [02507] SDO - SET DUMP OPTIONS.
- [02629] SSM - SET SEARCH MASK.
- [02683] WEF - WRITE EST TO FILE.
- [02740] PRESET COMMON DECKS.
Source Code
- DAYFILE.txt
- IDENT DAYFILE,FETS
- ABS
- SST
- SYSCOM B1
- ENTRY AFD
- ENTRY DAYFILE
- ENTRY DFD
- ENTRY ELD
- ENTRY GETLOG
- ENTRY MAINLOG
- ENTRY ARG=
- ENTRY RFL=
- ENTRY SSJ=
- ENTRY UTL=
- *COMMENT DAYFILE - DUMP DAYFILES.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- TITLE DAYFILE - DUMP DAYFILES.
- SPACE 4
- *** DAYFILE - DUMP DAYFILES.
- * J. C. BOHNHOFF. 75/02/15.
- * S. L. KSANDER. 75/08/16.
- * P. L. VERELL. 79/11/07.
- SPACE 4
- *** *DAYFILE* ACCESSES THE INDICATED DAYFILE AND COPIES
- * IT TO THE REQUESTED FILE. CERTAIN PORTIONS OF DAYFILES MAY
- * BE SELECTIVELY COPIED.
- SPACE 4
- *** THE COMMAND -
- *
- * AFD(OPT) DUMP ACCOUNT DAYFILE. **
- * DAYFILE(OPT) DUMP USER JOB DAYFILE.
- * DFD(OPT) DUMP SYSTEM DAYFILE. **
- * ELD(OPT) DUMP ERROR LOG DAYFILE. **
- * GETLOG(OPT) DUMP ERROR LOG AND BML FOR *HPA*. **
- * MAINLOG(OPT) DUMP MAINTENANCE LOG. **
- *
- * ** THESE CALLS ARE ALLOWED ONLY IF -
- * CALLER HAS SYSTEM ORIGIN, OR CALLER HAS SYSTEM
- * ORIGIN PRIVILEGES AND SYSTEM IS IN DEBUG MODE.
- *
- * WHERE OPT = OPTIONS. ANY OF THE FOLLOWING -
- *
- * L FILE TO WHICH DAYFILE IS DUMPED. FOR
- * *GETLOG*, THIS IS THE *ERRLOG* FILE. THE
- * DEFAULT IS *ERR* FOR *GETLOG* AND IS
- * *OUTPUT* FOR ALL OTHER ENTRY POINTS. IF
- * EQUATED THEN THE FILE NAME MAY BE ANY
- * VALID FILE NAME. IF, BY ONE OF THE ABOVE
- * MEANS, THE FILE NAME IS SET TO *OUTPUT*,
- * PAGINATION OCCURS. THE TITLE LINE OF
- * EACH PAGE CONTAINS THE TIME AND DATE OF
- * THE DUMP, THE TIME FIELD OF THE FIRST
- * DAYFILE ENTRY ON THE PAGE, AND THE PAGE
- * NUMBER. IF EITHER OR BOTH OF THE PD OR
- * PL ARGUMENTS ARE SPECIFIED, PAGINATION
- * ALWAY OCCURS, REGARDLESS OF THE OUTPUT
- * FILE NAME. PAGES ARE NEVER GIVEN IF THE
- * OUTPUT FILE IS ASSIGNED TO AN INTERACTIVE
- * TERMINAL.
- *
- * FR SELECT PARTIAL DUMP FROM SPECIFIED LINE.
- * IF FR IS EQUATED TO A LITERAL VALUE, THE
- * DUMP WILL BEGIN AT THE LINE CONTAINING
- * THE LAST OCCURRENCE OF THE LITERAL.
- * DAYFILE LINES ARE EXAMINED BY COMPARING
- * THE FIRST CHARACTERS OF THE FIELD
- * SPECIFIED BY OP WITH THE LITERAL. THE
- * LITERAL MAY BE UP TO 30 CHARACTERS. THE
- * LITERAL IS DELIMITED BY DOLLAR SIGNS. A
- * LITERAL DOLLAR SIGN IS REPRESENTED BY TWO
- * CONSECUTIVE DOLLAR SIGNS. FR NEED NOT BE
- * A LITERAL IF THE STRING BEING SEARCHED
- * FOR IS ALSO A LEGITIMATE FILE NAME.
- *
- * OP SELECT DAYFILE FIELD FOR SEARCH.
- * THE DEFAULT IS *OP = I* FOR TERMINAL
- * OUTPUT FILES, *OP = F* FOR OTHER FILES.
- * IF *FR* IS SPECIFIED, THE DEFAULT IS
- * *OP = M*.
- * OP MAY BE EQUATED TO ANY OF THE FOLLOWING
- * SINGLE CHARACTERS -
- * T FOR TIME FIELD
- * J FOR JOB NAME FIELD
- * (INCORRECT FOR USER DAYFILE)
- * M FOR MESSAGE FIELD
- * (INCORRECT FOR MAINTENANCE
- * LOG)
- * I FROM LAST DUMP
- * P FROM LAST DUMP BY THIS JOB
- * (INCORRECT FOR USER DAYFILE)
- * F FULL DUMP
- * OP SELECTS ONLY THE STARTING POSITION OF
- * THE SEARCH IN EACH LINE. THEREFORE, THE
- * FIELD TO BE SEARCHED FOR MAY CROSS T,J,M
- * BOUNDARIES. FOR EXAMPLE -
- * DAYFILE(FR=$ 11.03.21.COMPASS$,OP=T)
- * IS PROPER.
- *
- * PD SELECT PRINT DENSITY. IF PD IS ABSENT,
- * SET PRINT DENSITY TO A VALUE DETERMINED
- * BY THE JOB DEFAULT PRINT DENSITY (PD).
- * PD MAY BE EQUATED TO 3, 4, 6 OR 8. VALUES
- * OF 4 AND 8 ARE NOT INTENDED FOR USE WITH
- * DEVICES NOT SUPPORTING 8 LPI. THIS
- * PARAMETER HAS NO MEANING, AND IS NOT
- * CHECKED, IF THE OUTPUT IS TO A TIME-
- * SHARING TERMINAL. THIS OPTION IS NOT
- * VALID FOR *GETLOG* OR *MAINLOG* CALLS.
- *
- * PL SELECT PAGE SIZE. IF PL IS ABSENT, SIZE
- * IS DETERMINED FROM THE JOB DEFAULT PAGE
- * SIZE (PS) AS FOLLOWS -
- * PD PL (IN LINES)
- * -- --
- * 3 PS/2
- * 4 PS/2
- * 6 PS
- * 8 PS
- * IF PL IS EQUATED TO A NUMERIC VALUE, THE
- * PAGE SIZE IS SET ACCORDINGLY. IF THE
- * VALUE IS ZERO, THE PAGE SIZE IS SELECTED
- * ACCORDING TO THE ABOVE TABLE. PL
- * SPECIFIES THE NUMBER OF DAYFILE LINES TO
- * BE PRINTED PER PAGE, NOT NUMBER OF TOTAL
- * LINES. THE PAGE TITLE IS TWO LINES.
- * THIS PARAMETER HAS NO MEANING, AND IS
- * NOT CHECKED, IF THE OUTPUT IS TO A TIME-
- * SHARING TERMINAL. THIS OPTION IS NOT
- * VALID FOR *GETLOG* OR *MAINLOG* CALLS.
- *
- * I FILE FROM WHICH DAYFILE IS READ. IF
- * ABSENT, THE FILE IS THE RESPECTIVE
- * DAYFILE CURRENTLY MANAGED BY THE SYSTEM.
- * FOR *GETLOG*, THIS APPLIES ONLY TO THE
- * *BML* FILE.
- *
- * B BINARY FILE RECEIVING THE REFORMATTED
- * MAINTENANCE LOG. IF ABSENT, THE FILE
- * IS *BML*. THIS OPTION IS APPLICABLE
- * ONLY TO *MAINLOG* AND *GETLOG* CALLS.
- *
- * JT JOB TERMINATION OPTION.
- * D IF SPECIFIED, A DEFFERRED ROUTE
- * WILL BE PERFORMED ON THE FILE
- * TO WHICH THE DAYFILE IS TO BE
- * COPIED, AND PAGINATION WILL BE
- * PERFORMED.
- * THIS OPTION IS VALID ONLY FOR
- * THE *DAYFILE* COMMAND.
- *
- * E FILE TO WHICH THE EST IS WRITTEN, FOR
- * *GETLOG* ONLY.
- *
- *
- * OP=I, OP=P PROCESSING.
- * TO LOCATE THE LAST DUMP ENTRY, THE DAYFILE IS SEARCHED FOR
- * ONE OF THE NORMAL COMPLETION MESSAGES LISTED BELOW DEPENDING
- * UPON WHICH DAYFILE IS TO BE ACCESSED.
- *
- * INTERACTIVE TERMINATION OF *DAYFILE,FR[=XXXX].*
- * WHENEVER AN INTERRUPT IS RECEIVED FROM AN INTERACTIVE TERMINAL
- * OUTPUT IS STOPPED AND A COMPLETION MESSAGE IS ISSUED TO THE
- * APPROPRIATE DAYFILES. THIS ALLOWS THE USER TO SUPPRESS THE
- * LISTING OF A LONG DUMP WHILE RETAINING THE CAPABILITY TO DUMP
- * FROM THE LAST PREVIOUS DUMP (THE ONE THAT WAS INTERRUPTED).
- *
- * POSITIONAL ARGUMENT PROCESSING.
- * IT IS NOT NECESSARY TO SPECIFY THE ABOVE KEYWORDS (L,FR,OP,..)
- * ARGUMENT VALUES MAY ASSUME THEIR ASSOCIATION WITH THESE KEY-
- * WORDS BY THEIR POSITION ON THE COMMAND.
- * FOR EXAMPLE -
- * DAYFILE(SAM,ERROR,M)
- * IS EQUIVALENT TO -
- * DAYFILE(L=SAM,FR=ERROR,OP=M)
- * THE ORDER OF THE ARGUMENTS MUST BE -
- * 1) L VALUE
- * 2) FR VALUE (MAY BE A LITERAL)
- * 3) OP VALUE
- * 4) PD VALUE
- * 5) PL VALUE
- * 6) I VALUE
- * 7) B VALUE
- * 8) D OPTION
- * VALUES MAY BE LEFT UNSPECIFIED AS -
- * DAYFILE(,,,8)
- * ( SAME AS DAYFILE(PD=8) )
- * KEYWORD TYPE ARGUMENTS MAY BE INTERMIXED WITH POSITIONAL
- * ARGUMENTS. FOR EXAMPLE -
- * DAYFILE(SAM,PD=8,10)
- * IS EQUIVALENT TO -
- * DAYFILE(L=SAM,PD=8,PL=10)
- *
- * NUMERIC ARGUMENT VALUES.
- * NUMERIC ARGUMENTS MAY BE SPECIFIED IN EITHER OCTAL OR DECIMAL
- * BASE. A RADIX SYMBOL *B* OR *D* MAY IMMEDIATELY FOLLOW THE
- * NUMBER TO SPECIFY OCTAL OR DECIMAL BASE RESPECTIVELY. IF
- * THE RADIX SYMBOL IS ABSENT, DECIMAL IS ASSUMED. THE SINGLE
- * CHARACTER *B* OR *D* IS TAKEN TO MEAN ZERO, SO -
- * DFD(PL=B)
- * IS EQUIVALENT TO -
- * DFD(PL=0B) OR DFD(PL=D) OR DFD(PL=0D) OR DFD(PL=0)
- *
- * FILES *SCR* AND *SCR1* ARE USED INTERNALLY.
- SPACE 4
- *** DAYFILE MESSAGES ISSUED.
- *
- * NORMAL COMPLETION.
- *
- * *SIAD.* (ACCOUNT DAYFILE ONLY)
- *
- * * ACCOUNT DAYFILE PROCESSED.*
- *
- * * USER DAYFILE PROCESSED.*
- *
- * * SYSTEM DAYFILE PROCESSED.*
- *
- * * ERROR LOG PROCESSED.*
- *
- * * GETLOG PROCESSED.* (ALSO WRITTEN TO *ERRLOG*).
- *
- * * MAINTENANCE LOG PROCESSED.*
- *
- * * ENTRYPT - LOCAL DAYFILE PROCESSED.*
- * *I=LFN* PROCESSING COMPLETED NORMALLY.
- *
- * THE ABOVE MESSAGE DESCRIPTIONS ARE GIVEN WHEN
- * A DAYFILE DUMP HAS BEEN PERFORMED ON THE SPECIFIED
- * DAYFILE. IF NO ADDITIONAL DAYFILE MESSAGES WERE ISSUED,
- * THE DUMP WAS SUCCESSFUL.
- *
- *
- * IN THE FOLLOWING MESSAGE DESCRIPTIONS, THE GENERIC LABEL
- * *ENTRYPT* REFERS TO THE ENTRY POINT NAME (AFD, DAYFILE,
- * DFD, ELD, OR MAINLOG) DISPLAYED IN EACH MESSAGE.
- *
- * INFORMATIVE MESSAGES.
- *
- * * ENTRYPT - DATA LOST.*
- * INDICATES THAT A DAYFILE READ ERROR HAS OCCURRED.
- * PROCESSING CONTINUES WITH THE FIRST AVAILABLE GOOD
- * DAYFILE MESSAGE.
- *
- * * ENTRYPT - RECOVERY SECTOR ENCOUNTERED.*
- * INDICATES THAT A RECOVERY SECTOR HAS BEEN
- * ENCOUNTERED, DENOTING THE BOUNDARY OF A DEADSTART
- * RECOVERY. ANY DAYFILE MESSAGE FRAGMENT PRECEEDING
- * THIS BOUNDARY IS DISCARDED. PROCESSING CONTINUES
- * WITH THE FIRST MESSAGE AFTER THE BOUNDARY.
- *
- *
- * ABNORMAL COMPLETION.
- *
- * * DAYFILE - INPUT FILE CANNOT BE EXECUTE ONLY.*
- * THE FILE SPECIFIED AS CONTAINING THE DAYFILE TO
- * PROCESS IS AN EXECUTE ONLY TYPE FILE, AND CANNOT
- * BE READ.
- *
- * * ENTRYPT - INPUT FILE NOT FOUND.*
- * THE FILE SPECIFIED BY THE *I=FILENAME* PARAMETER IS NOT
- * A LOCAL FILE.
- *
- * * DAYFILE - JOB FIELD DISALLOWED ON USER DAYFILE.*
- * OP=J OR OP=P IS SPECIFIED. JOB NAMES DO NOT APPEAR
- * IN THE USER DAYFILE.
- *
- * * DAYFILE - INTERACTIVE INPUT FILE NOT ALLOWED.*
- * *I=* SPECIFIES A TERMINAL INPUT FILE, WHICH IS NOT
- * ALLOWED.
- *
- * * ENTRYPT - ARGUMENT ERROR.*
- * AN UNKNOWN KEYWORD WAS ENCOUNTERED OR COMMAND
- * WAS ILL-FORMATTED.
- *
- * * ENTRYPT - BUFFER TOO SMALL.*
- * THE AMOUNT OF *CM RESIDENT* DAYFILE RETURNED BY *SFM*
- * IS LARGER THAN THE ALLOWED INTERNAL BUFFER.
- * RECOMMEND CHANGING VALUE OF *CBUFL*, IF THIS
- * MESSAGE OCCURS.
- *
- * * ENTRYPT - *FR* INCORRECT FOR THIS OPTION.*
- * OP=I OR OP=P IS SPECIFIED. INCREMENTAL DAYFILE DUMPS
- * HAVE A PREDETERMINED SEARCH VALUE, THUS *FR* IS NOT
- * NEEDED.
- *
- * * ENTRYPT - INCORRECT PAGE SIZE FORMAT.*
- * THE VALUE ASSOCIATED WITH THE PL ARGUMENT IS NOT
- * NUMERIC.
- *
- * * ENTRYPT - INCORRECT PRINT DENSITY.*
- * PD IS NOT 3, 4, 6 OR 8.
- *
- * * ENTRYPT - INCORRECT PRINT DENSITY FORMAT.*
- * THE VALUE ASSOCIATED WITH THE PD ARGUMENT IS NOT
- * NUMERIC.
- *
- * * DAYFILE - INCORRECT JOB TERMINATION OPTION.*
- * THE VALUE OF THE *JT* OPTION SPECIFIED IS
- * NOT VALID.
- *
- * * ENTRYPT - RESERVED FILE NAME.*
- * THE FILE NAME SPECIFIED FOR THE B, I OR L PARAMETER
- * IS A RESERVED FILE NAME.
- *
- * * ENTRYPT - UNABLE TO ACCESS DAYFILE.*
- * THE SYSTEM DAYFILE THAT IS TO BE PROCESSED COULD NOT
- * BE ACCESSED DUE TO AN ERROR ENCOUNTERED BY *SFM*.
- *
- * * ENTRYPT - UNKNOWN *OP* FIELD.*
- * *OP* IS NOT EQUATED TO A VALID OPTION CHARACTER.
- *
- * * *FR* NOT FOUND.*
- * THE *FR* ARGUMENT WAS SELECTED, BUT THE DAYFILE SEARCH
- * WAS UNSATISFIED. THIS IS ONLY INFORMATIVE. THE FULL
- * DUMP IS GIVEN IN PLACE OF STARTING AT THE *FR*.
- * IF THIS CONDITION IS PRESENT, IT IS LISTED AS THE
- * FIRST LINE OF OUTPUT TO AN INTERACTIVE TERMINAL.
- *
- * * ENTRYPT - INTERACTIVE BINARY OUT-FILE NOT ALLOWED.*
- * *B=* SPECIFIES A TERMINAL FILE, WHICH IS NOT
- * ALLOWED.
- *
- * * MAINLOG - *FR* TIME VALUE INCORRECT.*
- * ERROR OCCURRED WHILE CONVERTING A DATE SUBMITTED IN
- * DISPLAY CODE TO A PACKED DATE IN BINARY FOR SEARCHING
- * ON A BINARY FILE.
- *
- * * MAINLOG - *OP* OPTION INCORRECT.*
- * THE OPTION SPECIFIED THOUGH VALID FOR CODED DAYFILES
- * IS INCORRECT FOR BINARY DAYFILES.
- *
- * * UNEXPECTED EOF/EOI ENCOUNTERED.
- * AN EOF OR EOI WAS ENCOUNTERED BEFORE THE PRU
- * COUNT HAD BEEN DEPLETED ON THE INPUT FILE.
- *
- * * MAINLOG - *BML* FORMAT INCORRECT.
- * AN INCORRECT RECOVERY SECTOR WORD WAS DETECTED WHILE
- * PROCESSING THE *BML* FILE.
- SPACE 4
- *** ERROR MESSAGES ISSUED TO OUTPUT.
- *
- * *NOTICE*** DATA READ ERROR.
- * INDICATES MESSAGE(S) LOST DUE TO A DAYFILE
- * READ ERROR.
- *
- * *NOTICE*** RECOVERY BOUNDARY.
- * INDICATES MESSAGE(S) LOST DUE TO CROSSING A
- * DEADSTART RECOVERY BOUNDARY.
- ESTFILE SPACE 4,10
- *** EST FILE FORMAT (*GETLOG* ONLY).
- *
- * THE ENTIRE EST IS WRITTEN TO THE SPECIFIED FILE, TOGETHER
- * WITH THE FOLLOWING HEADER INFORMATION.
- *
- *T WD00 36/,12/ ESTSIZE,12/ ENTRYSIZE
- *T,WD01 60/ UNUSED
- *T,WD02 24/,36/ PACKED DATE AND TIME
- *T,WD03 60/ SYSTEM TITLE LINE
- *T,WD04 60/
- *T,WD05 60/
- *T,WD06 60/
- *T,WD07 60/ SYSTEM VERSION
- *T,WD10 60/
- *T,WD11-N 60/ (EST ENTRIES)
- *
- * ESTSIZE = NUMBER OF ENTRIES (LAST ORDINAL + 1).
- * ENTRYSIZE = NUMBER OF CM WORDS PER EST ENTRY.
- MACROS SPACE 4,20
- TITLE MACRO DEFINITIONS.
- INPUTC SPACE 4,20
- ** INPUTC - READ CODED MESSAGE FROM CONTROL WORD BLOCKS.
- *
- * INPUTC FET,FWA,LEN
- *
- * ENTRY *FET* = FWA OF FET TO READ.
- * *FWA* = FWA OF WORKING STORAGE BUFFER.
- * *LEN* = LENGTH OF WORKING STORAGE BUFFER.
- *
- * USES X - 2.
- * B - 6, 7.
- *
- * CALLS RDC.
- PURGMAC INPUTC
- INPUTC MACRO F,S,N
- MACREF INPUTC
- R= B6,S
- R= B7,N
- R= X2,F
- RJ RDC
- INPUTC ENDM
- INPUTW SPACE 4,20
- ** INPUTW - READ BINARY MESSAGE FROM CONTROL WORD BLOCKS.
- *
- * INPUTW FET,FWA,LEN
- *
- * ENTRY *FET* = FWA OF FET TO READ.
- * *FWA* = FWA OF WORKING STORAGE BUFFER.
- * *LEN* = LENGTH OF WORKING STORAGE BUFFER.
- *
- * USES X - 2.
- * B - 6, 7.
- *
- * CALLS RDW.
- PURGMAC INPUTW
- INPUTW MACRO F,S,N
- MACREF INPUTW
- R= B6,S
- R= B7,N
- R= X2,F
- RJ RDW
- INPUTW ENDM
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCMAC
- *CALL COMCCMD
- *CALL COMSDFS
- *CALL COMSMSC
- *CALL COMSMSC
- *CALL COMSSFM
- *CALL COMSSSJ
- TITLE SYMBOL DEFINITIONS.
- * SSJ CONTROL.
- SSJ= EQU SSJP SYSTEM PRIVILEGES ONLY
- UTL= BSS 0 SYSTEM UTILITY SPECIAL ENTRY POINT
- * SYMBOL DEFINITIONS.
- MAXZ MAX MXML,MBML,MCML FIND LARGEST MESSAGE SIZE
- WBUFL EQU MAXZ+5 WORKING BUFFER LENGTH
- CBUFL EQU MXDB+MBML+2 LENGTH OF CM HOLD AREA
- EBUFL EQU ESMX*ESTE+11B+1 EST BUFFER (*GETLOG* ONLY)
- BUFML MAX 2001B,CBUFL+1
- IBUFL EQU BUFML DAYFILE BUFFER LENGTH
- OBUFL EQU 20001B OUTPUT BUFFER LENGTH
- SBUFL EQU 2001B SCRATCH BUFFER LENGTH
- DFDF EQU 1RS DEFAULT DENSITY FORMAT CHARACTER
- FETL EQU 10B FET LENGTH
- PLEN EQU 1000 START PAGE LINE NUMBER
- SPACE 4,10
- * DAYFILE TYPE CODES.
- GLTY EQU 0 *GETLOG* - ERRLOG (CODED), BML (BINARY)
- ACTY EQU 1 ACCOUNT (CODED FILE)
- UDTY EQU 2 USER DAYFILE (CODED FILE)
- SDTY EQU 3 SYSTEM DAYFILE (CODED FILE)
- ELTY EQU 4 ERROR LOG (CODED FILE)
- MLTY EQU 5 MAINTENANCE LOG (BINARY FILE)
- SPACE 4,10
- * NOTICE MESSAGE CODES.
- REMC EQU 1 READ ERROR
- RSMC EQU 2 RECOVERY SECTOR
- SPACE 4,10
- * FET INDEX DEFINITIONS TO CONTROL WORD PROCESSING INFORMATION.
- WRD EQU 1 INDEX OF WORDS BEFORE CONTROL WORD
- ERF EQU 2 INDEX TO EOR FLAG
- LWP EQU 3 INDEX TO REMAINING MESSAGE
- SPACE 4,10
- * *SFM* ERROR CODES.
- DFB EQU 1 DAYFILE BUSY
- TITLE FETS AND GLOBAL STORAGE.
- * FETS.
- ORG 113B
- FETS BSS 0
- E BSS 0 EST FILE (*GETLOG* ONLY)
- EST FILEB EBUF,EBUFL
- CON 0 WORDS LEFT IN CURRENT MESSAGE
- CON -1 EOR FLAG
- CON -1 NUMBER OF WORDS BEFORE CONTROL WORD
- I BSS 0 DAYFILE
- SCR FILEB IBUF,IBUFL,FET=FETL,EPR
- O BSS 0 OUTPUT
- OUTPUT RFILEB OBUF,OBUFL,FET=FETL
- S BSS 0 SCRATCH
- SCR1 FILEB SBUF,SBUFL,FET=FETL
- B BSS 0 BINARY
- BML FILEB OBUF,OBUFL,FET=FETL
- SPACE 4,10
- * *DSP* PARAMETER BLOCK.
- PDRA VFD 60/0 FILE NAME AND STATUS
- VFD 12/5000B,12/0,12/2LLP,6/0,18/121B ROUTING CONTROL
- BSSZ 13
- SPACE 4,10
- * GLOBAL STORAGE.
- BNAM BSSZ 1 BINARY FILE NAME
- CMFG BSSZ 1 CM BUFFER PROCESSING FLAG
- DFTY BSSZ 1 DAYFILE TYPE
- EFFG BSSZ 1 CHECKPOINT EOR/EOF IN-PROCESS FLAG
- ENPT CON 0 ENTRY POINT IDENTIFIER
- INAM BSSZ 1 IN FILE NAME
- OMCA CON WBUF OUTSTANDING MESSAGE CONTINUATION ADDRESS
- PRUS CON 377777B NUMBER OF PRU-S TO READ
- WCCM CON 0 NUMBER OF WORDS IN CM BUFFER PORTION
- * OF DAYFILE
- PAGE CON 0 CURRENT PAGE NUMBER
- LINE CON PLEN CURRENT LINE NUMBER
- LISF CON 0 LIST FILE FLAG - =0 IF FILE IS TO BE
- * PAGINATED
- LISV CON 0 (LISF) IF *FR* OPTION SELECTED
- FROM CON 0 =0 IF FULL DUMP, ELSE PARTIAL DUMP
- SEMS CON 0,0,0 SEARCH MESSAGE
- CON 0 MESSAGE TERMINATOR
- SEMA CON 0,0,0 SEARCH MESSAGE MASK
- CON 0 MASK TERMINATOR
- SEJN CON 0 SEARCH JOB NAME
- SFOP VFD 6/1RF,54/1 SEARCH FIELD OPTION / CHANGE FLAG
- FRFO CON 1 =0 IF *FR* MESSAGE NOT FOUND
- SEWI CON 2 STARTING MESSAGE SEARCH WORD INDEX
- PDEN CON 1 PRINT DENSITY
- PLPP CON 0L0+1 LINES PER PAGE DURING PRESET, OTHERWISE -
- PLPO CON 0L0+1 ALTERNATE LINES PER PAGE FOR SEARCH FILE
- * FORMAT AS DESCRIBED FOR *TPAS*.
- RFMT VFD 6/DFDF,6/1R ,48/0 RESET FORMAT LINE
- IOUT CON 1 =0 IF TERMINAL OUTPUT
- INTR CON 0 NONZERO IF TERMINAL INTERRUPT
- JTOP CON 0 JOB TERMINATION OPTION
- SPACE 4,10
- * PAGE TITLE LINE.
- HDR2 BSS 0
- JSNP BSS 1 JSN FOR END OF JOB HEADER
- TITL DATA -0 TITLE AND VERSION FOR END OF JOB HEADER
- DENF VFD 6/DFDF,54/0 DENSITY FORMAT CONTROL
- DENC CON 1 PRINT DENSITY CONTROL WORD
- HEDR BSS 0
- MODE DATA 10H1 FULL
- TYPE DATA 10HDAYFILE.
- DATE DATA 0 DATE
- DAT2 BSS 0 DATE FOR END OF JOB HEADER
- TIME DATA 0 TIME
- TIM2 BSS 0 TIME FOR END OF JOB HEADER
- INDX DATA 10H* * TIME OF FIRST ENTRY ON PAGE
- PGNO DATA 0 PAGE NUMBER
- DATA 0
- DATA 2L
- HEDRL EQU *-HEDR LENGTH OF TITLE LINE
- HDR2L EQU *-HDR2 LENGTH OF END OF JOB HEADER
- TITLE ENTRIES.
- ** ENTRY PROCESSORS.
- AFD SPACE 4,10
- ** AFD - DUMP ACCOUNT DAYFILE.
- AFD BSS 0 ENTRY
- SX6 ACTY SET DAYFILE TYPE = ACCOUNT
- SA6 DFTY
- SA6 ENPT SET ENTRY POINT = *AFD*
- SX4 AFDA SET SEARCH STRING FOR PARTIAL DUMP
- RJ PRS PRESET PROGRAM
- SA1 =10H ACCOUNT. SET TITLE
- SX4 =C*SIAD. * SET TERMINATION MESSAGE
- RJ DAF PROCESS DUMP
- SX2 AFDB ISSUE TERMINATION MESSAGE
- EQ TRM EXIT
- AFDA DATA C*SIAD.* ACCOUNT FILE MESSAGE
- AFDB DATA C* ACCOUNT DAYFILE PROCESSED.*
- DAYFILE SPACE 4,10
- ** DAYFILE - DUMP USER DAYFILE.
- DAYFILE BSS 0 ENTRY
- SX6 UDTY SET DAYFILE TYPE = USER DAYFILE
- SA6 DFTY
- SA6 ENPT SET ENTRY POINT = *DAYFILE*
- SX7 1 SET SEARCH INDEX
- SA7 SEWI
- SX4 DAYA SET SEARCH STRING FOR PARTIAL DUMP
- RJ PRS PRESET PROGRAM
- SA1 =10H DAYFILE. SET TITLE
- RJ DAF PROCESS DUMP
- SX2 DAYA ISSUE TERMINATION MESSAGE
- EQ TRM EXIT
- DAYA DATA C* USER DAYFILE PROCESSED.*
- DFD SPACE 4,10
- ** DFD - DUMP SYSTEM DAYFILE.
- DFD BSS 0 ENTRY
- SX6 SDTY SET DAYFILE TYPE = SYSTEM DAYFILE
- SA6 DFTY
- SA6 ENPT SET ENTRY POINT = *DFD*
- SX4 DFDA SET SEARCH STRING FOR PARTIAL DUMP
- RJ PRS PRESET PROGRAM
- SA1 =10H DAYFILE. SET TITLE
- RJ DAF PROCESS DUMP
- SX2 DFDA ISSUE TERMINATION MESSAGE
- SB7 3 SET LOCAL DAYFILE ONLY OPTION
- EQ TRM1 EXIT
- DFDA DATA C* SYSTEM DAYFILE PROCESSED.*
- ELD SPACE 4,10
- ** ELD - DUMP ERROR LOG.
- ELD BSS 0 ENTRY
- SX6 ELTY SET DAYFILE TYPE = ERRLOG
- SA6 DFTY
- SA6 ENPT SET ENTRY POINT = *ELD*
- SX4 ELDA SET SEARCH STRING FOR PARTIAL DUMP
- RJ PRS PRESET PROGRAM
- SA1 =10H ERRLOG. SET TITLE
- RJ DAF PROCESS DUMP
- SX2 ELDA ISSUE TERMINATION MESSAGE
- EQ TRM EXIT
- ELDA DATA C* ERROR LOG PROCESSED.*
- GETLOG SPACE 4,10
- ** GETLOG - DUMP ERROR LOG AND BML FOR *HPA*.
- GETLOG BSS 0 ENTRY
- SA1 GTLC CHANGE *L* DEFAULT TO *ERR*
- BX6 X1
- SA6 O
- SX6 GLTY SET ENTRY POINT = *GETLOG*
- SA6 ENPT
- * PROCESS MAINTENANCE LOG.
- SX6 MLTY SET DAYFILE TYPE = BML
- SA6 DFTY
- SX4 GTLA SET SEARCH STRING FOR PARTIAL DUMP
- RJ PRS PRESET PROGRAM
- SA1 =10H GETLOG. SET TITLE
- RJ DAF PROCESS DUMP
- * RESET PARAMETERS.
- MX7 0 CLEAR LOCAL FILE FLAG
- SA7 INAM
- SA7 CMFG CLEAR *CM BUFFER* FLAG
- SA1 GTLD RESTORE *SCR* FILENAME
- BX6 X1
- SX7 IBUF RESTORE FIRST/IN/OUT/LIMIT
- MX0 42
- SA6 I
- SA1 A6+B1
- MX6 59 INITIALIZE CONTROL WORDS
- BX1 X0*X1
- BX7 X1+X7
- SA7 A6+B1
- ERRNZ WRD-1 CANNOT USE *B1*
- ERRNZ ERF-WRD-1 CANNOT USE *B1*
- SA6 A6-B1
- SX7 X7
- SA7 A7+B1
- SA6 A6-B1
- SX6 X7+IBUFL
- SA7 A7+B1
- SA6 A7+B1
- * PROCESS ERROR LOG.
- SX6 ELTY SET DAYFILE TYPE = ERRLOG
- SA6 DFTY
- MOVE 3,GTLB,IBUF SET SEARCH STRING FOR PARTIAL DUMP
- MOVE 3,GTLB,SEMS
- MX6 48 SET SEARCH MASK
- BX7 X4-X4
- SA6 SEMA+1
- AX6 12
- SA7 A6+B1
- SA6 A6-B1
- SA1 =10H GETLOG. SET TITLE
- RJ DAF PROCESS DUMP
- SX2 GTLB ISSUE TERMINATION MESSAGE
- EQ TRM EXIT
- GTLA VFD 12/2,48/0 BML MESSAGE FOR *GETLOG* EXECUTION
- VFD 12/DM0406,12/DS0113,36/0
- VFD 60/0
- GTLB DATA C* GETLOG PROCESSED.*
- GTLC VFD 42/0LERR,18/3 *L* DEFAULT FILENAME
- GTLD VFD 42/0LSCR,18/3 *I* FILENAME AFTER *BML* DUMPED
- MAINLOG SPACE 4,10
- ** MAINLOG - DUMP BINARY MAINTENANCE LOG.
- MAINLOG BSS 0 ENTRY
- SX6 MLTY SET DAYFILE TYPE = MAINLOG
- SA6 DFTY
- SA6 ENPT SET ENTRY POINT = *MAINLOG*
- SX4 MLDA SET SEARCH STRING FOR PARTIAL DUMP
- RJ PRS PRESET PROGRAM
- SA1 =10H MAINLOG. SET TITLE
- RJ DAF PROCESS DUMP
- SX2 MLDB ISSUE TERMINATION MESSAGE
- EQ TRM EXIT
- MLDA VFD 12/2,48/0
- VFD 12/DM0406,12/DS0102,36/0
- VFD 60/0
- MLDB DATA C* MAINTENANCE LOG PROCESSED.*
- TRM SPACE 4,10
- ** TRM - COMMON TERMINATION ROUTINE.
- *
- * ENTRY (X2) = ADDRESS OF TERMINATION MESSAGE.
- * (B7) = DAYFILE OPTION, IF ENTERED AT *TRM1*.
- *
- * MACROS MESSAGE.
- TRM SB7 0 ISSUE MESSAGE TO USER/SYSTEM DAYFILES
- * ENTER WITH (B7) = DAYFILE OPTION.
- TRM1 SA1 INAM CHECK DAYFILE TYPE
- ZR X1,TRM2 IF ACTIVE DAYFILE PROCESSED
- SA1 ENPT
- SA1 NTAB+X1-GLTY SET ENTRY POINT IN MESSAGE
- BX6 X1
- SA6 TRMA
- SX2 A6
- TRM2 MESSAGE X2,B7 ISSUE TERMINATION MESSAGE
- ENDRUN
- TRMA DATA C* ENTRYPT - LOCAL DAYFILE PROCESSED.*
- DAF TITLE MAIN PROGRAM.
- ** DAF - PROCESS DAYFILE DUMP.
- *
- * MAIN LOOP.
- *
- * ENTRY (DFTY) = DAYFILE DUMP TYPE.
- * (X1) = DAYFILE NAME.
- *
- * EXIT DAYFILE DUMPED.
- *
- * USES X - 1, 2, 6.
- * A - 1, 6.
- *
- * CALLS OPN, RIF, TSF, WOF, WUP.
- *
- * MACROS MESSAGE, RECALL, ROUTE, WRITER.
- DAF SUBR ENTRY/EXIT
- BX6 X1 STORE DAYFILE NAME
- SA6 TYPE
- * PROCESS DAYFILE.
- RJ OPN OPEN DAYFILE
- SA1 TYPE SET DAYFILE TYPE IN MESSAGE
- BX6 X1
- SA6 DAFA+1
- MESSAGE DAFA,2 * COPYING - DAYFILE.*
- DAF1 RJ RIF READ IN-FILE
- NG X1,DAF2 IF EOF/EOI
- RJ WOF WRITE OUT-FILE
- SA1 INTR
- NZ X1,DAF5 IF TERMINAL INTERRUPT
- EQ DAF1 PROCESS NEXT RECORD
- * CHECK SEARCH FILE.
- DAF2 SA1 FROM
- ZR X1,DAF3 IF FULL DUMP
- RJ TSF TERMINATE SEARCH FILE
- SA1 DFTY
- SX1 X1-MLTY
- ZR X1,DAF3 IF PROCESSING BINARY FILE
- * MARK END OF TERMINAL OUTPUT.
- SA1 LISF
- NZ X1,DAF3 IF NOT PAGINATED OUTPUT
- SA1 RFMT RESET PRINT FORMAT
- BX6 X1
- SA6 WBUF
- SA6 LISF SET *NO FORMAT*
- BX6 X6-X6 SET FULL DUMP
- SB7 B1 INDICATE MESSAGE PRESENT
- SA6 FROM
- RJ WOF WRITE OUT-FILE
- * WRAP UP TERMINATION.
- DAF3 RJ WUP WRAP UP PROCESSING
- MESSAGE (=C* *),2
- SX2 O FLUSH OUT-FILE
- SA1 DFTY
- SX1 X1-MLTY
- NZ X1,DAF4 IF NOT PROCESSING BINARY FILE
- SX2 B
- DAF4 WRITER X2
- SA1 JTOP CHECK IF JOB TERMINATION ENTERED
- ZR X1,DAFX IF NOT ENTERED
- RECALL X2
- ROUTE PDRA,R ISSUE *DSP* REQUEST
- EQ DAFX RETURN
- DAF5 RJ WUP WRAP UP PROCESSING
- EQ DAFX RETURN
- DAFA DATA C* COPYING - DAYFILE. *
- TITLE SUBROUTINES.
- ERR SPACE 4,10
- ** ERR - PROCESS ERROR.
- *
- * ENTRY (A0) = ADDRESS OF ERROR MESSAGE.
- *
- * EXIT ABORTS.
- * (ENPT) = ENTRY POINT NAME.
- * B = BINARY OUT-FILE FET.
- * O = CODED OUT-FILE FET.
- *
- * USES X - 0, 1, 2, 6.
- * A - 1, 2, 6.
- *
- * MACROS ABORT, MESSAGE, RECALL, ROUTE, WRITER.
- ERR SA1 ENPT SET ENTRY POINT NAME
- SA2 NTAB+X1-GLTY
- BX6 X2
- SA6 ERRA
- MX0 -12 GET MESSAGE TEXT
- SA1 A0
- ERR1 BX6 X1
- SA6 A6+B1
- BX2 -X0*X1
- SA1 A1+B1
- NZ X2,ERR1 IF MORE
- SX2 O FLUSH OUT-FILE
- SA1 DFTY
- SX1 X1-MLTY
- NZ X1,ERR2 IF NOT PROCESSING BINARY FILE
- SX2 B
- ERR2 WRITER X2
- MESSAGE ERRA,,R ISSUE ERROR MESSAGE
- MESSAGE (=C* *),2
- SA1 JTOP
- ZR X1,ERR3 IF NOT JOB TERMINATION
- SA1 PDRA
- ZR X1,ERR3 IF NO FILE NAME IN *DSP* PARAMETER BLOCK
- RECALL X2
- ROUTE PDRA,R ISSUE *DSP* CALL
- ERR3 ABORT
- ERRA BSSZ 10B MESSAGE BUILD AREA
- GEM SPACE 4,20
- ** GEM - GENERATE ERROR MESSAGE.
- *
- * ENTRY (B2) = ERROR MESSAGE CODE.
- * (DFTY) = DAYFILE TYPE.
- * (ENPT) = ENTRY POINT IDENTIFIER.
- *
- * EXIT ERROR MESSAGES ISSUED TO OUTPUT FILE AND DAYFILE.
- *
- * USES X - 1, 2, 5, 6, 7.
- * A - 1, 2, 5, 6, 7.
- * B - 2, 3, 7.
- *
- * CALLS WOF.
- *
- * MACROS MESSAGE.
- *
- * NOTE PRESERVES (X2)
- GEM SUBR ENTRY/EXIT
- BX7 X2 SAVE FET ADDRESS
- SX6 B2 SAVE MESSAGE CODE
- SA6 GEMA
- SA7 GEMB
- * GENERATE OUT-FILE ERROR MESSAGE.
- GEM1 SA2 DFTY SET ERROR MESSAGE PARAMETERS
- SA1 ETAB+X2-GLTY
- SA2 X1+B2
- SB2 B0 TRANSFER MESSAGE TO WORKING BUFFER
- SB3 X2 START ADDRESS
- AX2 18
- SB7 X2 LENGTH OF MESSAGE
- GEM2 SA5 B3+B2
- BX6 X5
- SA6 WBUF+B2
- SB2 B2+B1
- LT B2,B7,GEM2 IF NOT END OF MESSAGE
- RJ WOF WRITE MESSAGE TO OUTPUT FILE
- * ISSUE DAYFILE VERSION OF ERROR MESSAGE.
- SA1 GEMA GET MESSAGE CODE
- SB2 X1+
- SA1 ENPT SET ENTRY POINT NAME
- SA1 NTAB+X1
- BX6 X1
- SA2 DTAB+B2 GET MESSAGE TEXT
- SA6 X2 INSERT ENTRY POINT NAME INTO TEXT
- MESSAGE X2
- SA2 GEMB REPLACE FET ADDRESS
- EQ GEMX RETURN
- GEMA BSSZ 1 MESSAGE CODE HOLD
- GEMB BSSZ 1 FET ADDRESS
- NTAB BSS 0 ENTRY POINT NAME TABLE
- LOC GLTY
- GLTY DATA 10H GETLOG -
- ACTY DATA 10H AFD -
- UDTY DATA 10H DAYFILE -
- SDTY DATA 10H DFD -
- ELTY DATA 10H ELD -
- MLTY DATA 10H MAINLOG -
- LOC *O
- SPACE 4,10
- ** NOTE:
- * THE MESSAGES REFERENCED BY THE FOLLOWING TABLES ARE
- * ORDERED ONE-FOR-ONE AND MUST BE MAINTAINED THAT WAY.
- *
- * *DTAB* - LIST OF THE DAYFILE VERSIONS OF THE MESSAGES.
- * *CFTB* - LIST OF THE CODED OUT-FILE VERSIONS OF THE
- * MESSAGES.
- * *BFTB* - LIST OF THE BINARY OUT-FILE VERSIONS OF THE
- * MESSAGES.
- DTAB BSS 1 DAYFILE MESSAGE TEXT ADDRESS TABLE
- CON DFRE
- CON DFSE
- * TEXT TABLE FOR DAYFILE VERSION OF NOTICE MESSAGES.
- DFRE DATA 40C XXXXXXX - DATA LOST.
- DFSE DATA 40C XXXXXXX - RECOVERY SECTOR ENCOUNTERED.
- ETAB BSS 1 DAYFILE TYPE TO MESSAGE SET - MAP TABLE
- CON CFTB ACCOUNT
- CON CFTB USER DAYFILE
- CON CFTB SYSTEM DAYFILE
- CON CFTB ERROR LOG
- CON BFTB MAINTENANCE LOG
- CFTB BSS 1 CODED FILE MESSAGE ADDRESS TABLE
- VFD 12/2000B+CREI,12/0,18/CREL,18/CFRE
- * TEXT TABLE FOR CODED FILE NOTICE MESSAGES.
- CFRE DATA 30H NOTICE*** DATA READ ERROR -
- CREI EQU *-CFRE
- CREL EQU *-CFRE
- BFTB BSS 1 BINARY FILE MESSAGE ADDRESS TABLE.
- VFD 12/2000B+BREI,12/0,18/BREL,18/BFRE
- VFD 12/2000B+BRSI,12/0,18/BRSL,18/BFRS
- * TEXT TABLE FOR BINARY FILE NOTICE MESSAGES.
- BFRE VFD 12/BREL,48/0
- VFD 12/2H ,24/0,24/4HS.
- VFD 12/DM0406,12/DS0105,36/0
- BREI EQU *-BFRE
- VFD 60/0
- BREL EQU *-BFRE
- BFRS VFD 12/BRSL,48/0
- VFD 12/2H ,24/0,24/4HS.
- VFD 12/DM0406,12/DS0107,36/0
- BRSI EQU *-BFRS
- VFD 60/0
- BRSL EQU *-BFRS
- ICP SPACE 4,20
- ** ICP - INITIALIZE CM BUFFER PROCESSING.
- *
- * ENTRY (CMFG) = 0, IF *ICP* NOT PREVIOUSLY CALLED.
- * (CMFG) = 1, IF *ICP* PREVIOUSLY CALLED.
- * (INAM) .NE. 0, IF READ ALTERNATE INPUT FILE.
- * (WCCM) = NUMBER OF WORDS IN *CBUF*.
- * (X2) = FET ADDRESS.
- *
- * EXIT FET POINTERS POINTING TO *CBUF* DATA.
- * (X1) .LT. 0 IF NO DATA IN *CBUF*.
- * (X2) = FET ADDRESS.
- *
- * USES X - 0, 1, 3, 4, 5, 6, 7.
- * A - 1, 3, 5, 6, 7.
- ICP2 SX1 -2 SET EOI STATUS
- ICP SUBR ENTRY/EXIT
- SA1 CMFG
- NZ X1,ICP2 IF NOT FIRST CALL TO *ICP*
- SX6 B1
- SA6 A1
- SA3 INAM
- NZ X3,ICP2 IF READING ALTERNATE INPUT FILE
- RECALL X2
- SA5 DFTY CHECK MESSAGE TYPE
- MX0 42
- SX5 X5-MLTY
- SA3 X2+B1 SET FIRST
- SA1 WCCM
- SX6 CBUF
- NZ X5,ICP1 IF NOT PROCESSING BML
- SX6 BCWD START OF BUFFER FOR BML
- SX1 X1+B1 CONTROL WORD
- ICP1 BX3 X0*X3
- BX7 X6+X3
- SA7 A3
- BX3 X1 CONVERT TO PP WORDS
- IX7 X6+X1 SET IN
- SX3 X3-1 REMOVE CONTROL WORD
- SA7 A7+B1
- BX4 X3
- LX3 2
- SA6 A7+B1 SET OUT
- SX7 CBUF+CBUFL SET LIMIT
- SA7 A6+B1
- BX7 X1 SET NUMBER OF WORDS BEFORE CONTROL WORD
- SA7 X2-WRD
- SX6 B1 SET EOR FLAG
- IX7 X4+X3
- SA6 X2-ERF
- SA7 BCWD SET FOR BML
- EQ ICPX RETURN
- OPN SPACE 4,20
- ** OPN - OPEN RESPECTIVE DAYFILE.
- *
- * ENTRY (BNAM) = 0, IF BINARY OUT-FILE NAME DEFAULTED.
- * .NE. 0, IF NAME SPECIFIED.
- * (DFTY) = DAYFILE TYPE.
- *
- * EXIT RESPECTIVE DAYFILE ACCESSED.
- * BINARY FILE OPENED, IF MAINTENANCE LOG ACCESSED.
- * (BFCW) = BINARY FILE CONTROL WORD.
- * (WCDF) = DISK FILE WORD COUNT.
- * (WCCM) = CM BUFFER WORD COUNT.
- * EXITS TO SUBROUTINE *ERR*, IF ERROR DETECTED.
- *
- * USES X - 0, 1, 2, 5, 6, 7.
- * A - 0, 1, 2, 6, 7.
- * B - 4.
- *
- * CALLS STF.
- *
- * MACROS DAYFILE, GETJN, MESSAGE, PDATE, READCW, READW
- * RECALL.
- OPN SUBR ENTRY/EXIT
- SA1 INAM
- ZR X1,OPN2 IF IN-FILE DEFAULTED
- * CHECK INPUT FILE FILE NAME.
- MX0 42
- SA2 OPNB SET FILE NAME IN *FILINFO* BLOCK
- BX5 X0*X1
- BX2 -X0*X2
- BX6 X5+X2
- SA6 A2+
- SA0 =C* INPUT FILE NOT FOUND.*
- FILINFO OPNB GET INFORMATION ON INPUT FILE
- SA2 OPNB+1
- MX1 -6
- ZR X2,ERR IF FILE NOT FOUND
- AX2 6
- SA0 =C* INPUT FILE CANNOT BE EXECUTE ONLY.*
- BX2 -X1*X2
- ZR X2,ERR IF INPUT FILE IS EXECUTE ONLY
- * SET SPECIFIED IN-FILE FILE NAME.
- SA2 I
- BX2 -X0*X2
- BX6 X5+X2
- SA6 A2+
- SX2 I
- RJ STF SET TERMINAL FILE
- SA0 =C* INTERACTIVE INPUT FILE NOT ALLOWED.*
- ZR X6,ERR IF TERMINAL FILE
- EQ OPN11 INITIATE READ
- * ACCESS RESPECTIVE DAYFILE.
- OPN2 SA1 DFTY
- SB4 X1-ACTY
- NZ B4,OPN3 IF NOT ACCOUNT
- DAYFILE I,ACCOUNT
- EQ OPN7 CHECK CM BUFFER
- OPN3 SB4 X1-UDTY
- NZ B4,OPN4 IF NOT USER DAYFILE
- DAYFILE I,USER
- EQ OPN7 CHECK CM BUFFER
- OPN4 SB4 X1-SDTY
- NZ B4,OPN5 IF NOT SYSTEM DAYFILE
- DAYFILE I,DAYFILE
- EQ OPN7 CHECK CM BUFFER
- OPN5 SB4 X1-ELTY
- NZ B4,OPN6 IF NOT ERROR LOG
- DAYFILE I,ERRLOG
- EQ OPN7 CHECK CM BUFFER
- OPN6 DAYFILE I,MAINLOG
- OPN7 SA1 X2 CHECK ERROR STATUS
- MX0 -4
- LX1 -10
- BX2 -X0*X1
- ZR X2,OPN8 IF DAYFILE ATTACHED
- SX2 X2-DFB
- SA0 =C* UNABLE TO ACCESS DAYFILE.*
- NZ X2,ERR IF NOT *DAYFILE BUSY* ERROR
- RECALL
- MESSAGE OPNA,2 *WAITING FOR DAYFILE.*
- EQ OPN2 LOOP FOR RETRY
- OPN8 SA1 I+2 DETERMINE AMOUNT OF DATA IN CM BUFFER
- SA2 A1+B1
- IX6 X1-X2
- SA6 WCCM
- SA2 I+6 DETERMINE AMOUNT IN DISK FILE
- BX7 X2
- SA7 PRUS
- SX1 X6-CBUFL-1
- ZR X6,OPN10 IF CM BUFFER EMPTY
- NG X1,OPN9 IF CM BUFFER WILL FIT IN HOLD AREA
- SA0 =C* BUFFER TOO SMALL.*
- EQ ERR PROCESS ERROR
- OPN9 SX5 X6+ SAVE CM BUFFER LENGTH
- READW I,CBUF,X5 SAVE CM BUFFER IMAGE
- OPN10 SA1 PRUS
- ZR X1,OPN12 IF DISK FILE EMPTY
- OPN11 READCW I INITIATE DISK FILE READ
- OPN12 SA1 DFTY
- SX1 X1-MLTY
- NZ X1,OPNX IF NOT MAINTENANCE LOG
- * OBTAIN THE CURRENT PACKED DATE/TIME AND THIS JOB-S JSN, AND
- * MERGE THESE FIELDS INTO THE BML ERROR MESSAGES, SHOULD AN
- * ERROR BE DETECTED.
- PDATE OPNC GET PACKED DATE/TIME
- GETJN OPND GET JSN
- SA1 OPNC MERGE PACKED DATE/TIME INTO MESSAGES
- SA2 BFRE
- BX6 X1+X2
- SA6 A2
- SA6 BFRS
- ERRNZ BREL-BRSL ERROR IF MESSAGE LENGTHS DIFFER
- SA1 A1+B1 JSN
- ERRNZ OPND-OPNC-1 ERROR IF FIELDS NOT ADJACENT
- MX0 24
- SA2 BFRE+1
- BX1 X0*X1
- LX1 -12 POSITION JSN
- BX6 X2+X1 MERGE JSN INTO MESSAGE
- SA6 A2
- SA6 BFRS+1
- * INITIATE BINARY FILE WRITE.
- SA1 BNAM
- ZR X1,OPN13 IF FILE NAME DEFAULTED
- SA2 B
- MX0 42 SET FILE NAME
- BX1 X0*X1
- BX2 -X0*X2
- BX6 X1+X2
- SA6 A2+
- OPN13 SX2 B
- RJ STF SET TERMINAL FILE
- SA0 =C* INTERACTIVE BINARY OUT-FILE NOT ALLOWED.*
- ZR X6,ERR IF TERMINAL FILE
- EQ OPNX RETURN
- OPNA DATA C* WAITING FOR DAYFILE.*
- OPNB VFD 42/0,6/5,11/0,1/1 BUFFER FOR *FILINFO* CALL
- BSS 4
- OPNC VFD 60/0 PACKED DATE/TIME
- OPND VFD 60/0 JSN
- RDC SPACE 4,20
- ** RDC - READ CODED LINE.
- *
- * PROCESSES CALLS TO READ CODED LINE (*RDC=*).
- * DEBLOCKS DATA IF CONTROL WORD READS.
- *
- * ENTRY (X2) = FET ADDRESS.
- * (B6) = FWA OF WORKING STORAGE BUFFER.
- * (B7) = WORKING STORAGE BUFFER LENGTH.
- * (INAM) = .NE. 0, IF READING ALTERNATE INPUT FILE.
- * (PRUS) = NUMBER OF SECTORS REMAINING TO BE READ.
- *
- * EXIT (X1) = STATUS RETURNED FROM RDC=.
- * (X2-LWP) = LWA+1 OF DATA TRANSFERRED.
- * (B6) = LWA+1 OF DATA TRANSFERRED.
- *
- * USES X - 1, 3, 4, 6, 7.
- * A - 0, 1, 3, 6, 7.
- * B - 2, 5, 6, 7.
- *
- * CALLS GEM, ICP, RDC=, RDW=, UOP.
- RDC9 SA3 RDCE CHECK READ ERROR STATUS
- NG X3,RDC7 IF READ ERROR ENCOUNTERED
- RDC SUBR ENTRY/EXIT
- SX6 B6 SAVE FWA OF WORKING STORAGE BUFFER
- SX7 B7 SAVE LENGTH OF WORKING STORAGE BUFFER
- SA6 RDCC
- SA7 RDCD
- SA6 RDCB
- RDC1 SA1 X2-WRD GET NUMBER OF WORDS BEFORE CONTROL WORD
- SB5 X1
- SX7 B7 SAVE LENGTH OF WORKING STORAGE BUFFER
- SA7 RDCA
- SA7 RDCE SET NO READ ERROR ENCOUNTERED
- NG X1,RDC4 IF FIRST READ
- GE B5,B7,RDC2 IF ENOUGH DATA TO FILL BUFFER
- SB7 B5 SET WORDS TO READ
- ZR B5,RDC3 IF NO DATA
- RDC2 RJ RDC= READ CODED LINE
- SA3 RDCB DETERMINE NUMBER OF WORDS TRANSFERRED
- SX6 B6
- SA6 A3 UPDATE FWA OF WORKING BUFFER
- IX6 X6-X3
- SA3 RDCA UNUSED WORDS IN WORKING STORAGE BUFFER
- IX7 X3-X6
- SA7 A3
- SA3 X2-WRD UPDATE WORDS LEFT IN PRU (NOT TRANSFERRED)
- IX6 X3-X6
- SA6 A3
- SA3 B6-B1 GET LAST WORD TRANSFERRED
- BX6 X4
- SA6 A3
- BX6 X3-X4
- ZR X6,RDC9 IF COMPLETE MESSAGE
- ZR X7,RDC9 IF WORKING STORAGE BUFFER FULL
- * PROCESS *CIO* TRAILING CONTROL WORD.
- RDC3 SB7 B1 READ TRAILING CONTROL WORD
- RJ RDW=
- SB6 B6-B1 BACK UP LWA TO ALLOW FOR CONTROL WORD
- SA3 X2-ERF CHECK EOR FLAG
- PL X3,RDC4 IF NOT EOR BLOCK
- MX6 1 SET NEW READ FLAG
- SA6 X2-ERF
- SA6 X2-WRD
- NG X1,RDC9 IF EOF/EOI ENCOUNTERED
- SX1 B6 SET EOR EXIT CONDITION
- EQ RDC9 RETURN
- * CHECK SECTOR COUNT TO DETERMINE IF DATA SHOULD BE READ
- * FROM THE DISK FILE OR FROM *CBUF*.
- RDC4 SA1 PRUS CHECK PRU COUNT
- SX6 B1
- IX6 X1-X6
- NZ X1,RDC5 IF MORE PRU-S TO READ FROM DISK
- RJ ICP INITIALIZE CM BUFFER PROCESSING
- NG X1,RDCX IF EOF/EOI ENCOUNTERED
- EQ RDC1 LOOP
- RDC5 SA6 A1 UPDATE SECTOR COUNT
- * PROCESS *CIO* HEADER CONTROL WORD.
- SB7 B1 READ CONTROL WORD
- RJ RDW=
- PL X1,RDC6 IF NOT EOF/EOI
- SA3 INAM
- NZ X3,RDCX IF EOF/EOI ON ALTERNATE INPUT FILE
- SA0 =C* UNEXPECTED EOF/EOI ENCOUNTERED.*
- EQ ERR PREMATURE EOF/EOI
- RDC6 SB6 B6-B1 BACK UP WORKING BUFFER
- SA1 B6 SET BLOCK SIZE FROM CONTROL WORD
- SX7 5
- BX3 X1
- SX4 X1+4 ROUND UP
- AX1 36
- SX6 X1
- IX7 X4/X7 SET NUMBER OF WORDS BEFORE CONTROL WORD
- IX6 X7-X6 SET EOR FLAG
- SA7 X2-WRD
- SA6 X2-ERF
- PL X3,RDC8 IF NO ERRORS
- * THE READ ERROR PROCESS IGNORES ALL MESSAGES WHICH MAY
- * CONSIST OF ANY BAD SECTOR DATA.
- SX7 X7+B1
- RJ UOP UPDATE OUT POINTER
- MX6 1 SET NEW READ FLAGS
- SA6 X2-ERF
- SA6 A6+B1
- SA6 RDCE FLAG READ ERROR
- SB2 REMC *DATA LOST.*
- RJ GEM GENERATE ERROR MESSAGE
- RDC7 SA1 RDCC RESET FWA OF WORKING STORAGE BUFFER
- SA3 RDCD SET LENGTH OF REQUESTED TRANSFER
- SB6 X1
- BX6 X3
- SA6 RDCA
- RDC8 SA1 RDCA RESET WORDS NEEDED
- SB7 X1
- EQ RDC1 LOOP
- RDCA CON 0 NUMBER OF WORDS LEFT TO TRANSFER
- RDCB CON 0 UPDATE WORKING STORAGE BUFFER
- RDCC CON 0 FWA OF WORKING STORAGE BUFFER
- RDCD CON 0 LENGTH OF REQUESTED TRANSFER
- RDCE CON 0 READ ERROR ENCOUNTERED
- RDW SPACE 4,20
- ** RDW - READ DATA.
- *
- * PROCESSES CALLS THAT ARE FOR READ WORDS (*RDW=*).
- * DEBLOCKS DATA THAT ARE IN CONTROL WORD READS.
- *
- * ENTRY (X2) = FET ADDRESS.
- * (B6) = FWA OF WORKING STORAGE BUFFER.
- * (B7) = WORKING STORAGE BUFFER LENGTH.
- * (INAM) = .NE. 0, IF READING ALTERNATE INPUT FILE.
- * (PRUS) = NUMBER OF SECTORS REMAINING TO BE READ.
- *
- * EXIT (X1) = STATUS RETURNED FROM RDW=.
- * (X2-LWP) = LWA+1 OF DATA TRANSFERRED.
- * (B6) = LWA+1 OF DATA TRANSFERRED.
- *
- * USES X - 0, 1, 3, 4, 5, 6, 7.
- * A - 0, 1, 3, 4, 5, 6, 7.
- * B - 2, 6, 7.
- *
- * CALLS GEM, ICP, RDW=, UOP.
- RDW10 SA6 A1 UPDATE WORDS LEFT IN PRU
- RJ RDW= READ WORDS
- RDW SUBR ENTRY/EXIT
- SX6 B6 SAVE FWA OF WORKING STORAGE BUFFER
- SX7 B7 SAVE LENGTH OF WORKING STORAGE BUFFER
- SA6 RDWB
- SA7 RDWC
- RDW1 SA1 X2-WRD GET NUMBER OF WORDS BEFORE CONTROL WORD
- ZR X1,RDW3 IF LAST WORD OF BLOCK
- PL X1,RDW2 IF NOT FIRST READ
- SX7 B7 SET WORDS LEFT IN WORKING STORAGE BUFFER
- SA7 RDWA
- EQ RDW4 CHECK DISK COUNT
- * DETERMINE SIZE OF NEXT BML MESSAGE.
- RDW2 SB7 B1 SET WORDS TO READ
- RJ RDW= READ WORDS
- SA3 B6-B1 LWA (BML MESSAGE HEADER WORD)
- MX0 12 GET MESSAGE LENGTH
- BX6 X0*X3
- LX6 11-59
- SB7 X6-1
- SA6 RDWD SAVE FOR ERROR RECOVERY
- BX4 X6
- SA1 X2-WRD
- IX6 X1-X6
- PL X6,RDW10 IF ENOUGH WORDS LEFT IN BLOCK
- IX6 X4-X1 SET WORDS LEFT TO TRANSFER
- BX7 X7-X7 CLEAR WORDS LEFT IN PRU
- SA6 X2-LWP
- SA7 A1
- SX1 X1-1 REMOVE FIRST WORD READ
- * READ FIRST PART OF MESSAGE IN CURRENT BLOCK AND
- * PROCESS *CIO* TRAILING CONTROL WORD.
- RDW3 SB7 X1+B1
- RJ RDW= READ WORDS
- SB6 B6-1 BACK UP OVER LAST CONTROL WORD
- * CHECK SECTOR COUNT TO DETERMINE IF DATA SHOULD BE READ
- * FROM THE DISK FILE OR FROM *CBUF*.
- RDW4 SA1 PRUS
- SX6 B1
- IX6 X1-X6
- NZ X1,RDW5 IF MORE PRUS TO READ
- RJ ICP INITIALIZE CM BUFFER PROCESSING
- NG X1,RDWX IF EOF/EOI ENCOUNTERED - NO DATA LEFT
- RDW5 SB7 2 READ CONTROL WORDS
- SA6 A1+
- RJ RDW=
- PL X1,RDW6 IF NOT EOF/EOI
- SA3 INAM
- NZ X3,RDWX IF EOF/EOI ON ALTERNATE INPUT FILE
- SA0 =C* UNEXPECTED EOF/EOI ENCOUNTERED.*
- EQ ERR PREMATURE EOF/EOI
- RDW6 SB6 B6-2 BACK UP WORKING BUFFER
- SA1 B6 SET BLOCK SIZE FROM *CIO* CONTROL WORD
- BX3 X1
- SX7 5
- SX4 X1+4 ROUND UP
- AX1 36
- SX6 X1
- IX7 X4/X7 SET NUMBER OF WORDS BEFORE CONTROL WORD
- IX6 X7-X6 SET EOR FLAG
- SX7 X7-1 CONTROL WORDS
- SA4 A1+B1
- SA7 X2-WRD SAVE PRU CONTROL WORD
- SA5 X2-LWP
- SA6 X2-ERF
- BX6 X6-X6 CLEAR WORDS LEFT FROM PREVIOUS PRU
- BX7 X4
- SA6 A5
- NG X3,RDW9 IF READ ERRORS
- SA7 RDWF
- NG X7,RDW7 IF RECOVERY SECTOR
- SA1 EFFG
- NZ X1,RDW8 IF RECOVERING AN ERROR ON PREVIOUS PRU
- SA1 RDWA
- SB7 X1
- ZR X5,RDW1 IF NO WORDS TO DEBLOCK FROM LAST PRU
- SA1 X2-WRD WORDS IN BLOCK
- IX6 X1-X5
- SB7 X5 RESET WORDS NEEDED
- EQ RDW10 COMPLETE MESSAGE
- * PROCESS READ ERRORS BY IGNORING THE BEGINNING OF AN
- * INCOMPLETE MESSAGE, THE SECTOR WITH THE READ
- * ERROR AND THE END OF A MESSAGE WHICH STARTS IN THE
- * BAD SECTOR.
- * PROCESS A RECOVERY SECTOR.
- RDW7 SA1 RDWE
- SB2 RSMC *RECOVERY SECTOR.*
- BX7 X7-X7
- SA7 A1
- NZ X1,RDW8 IF BEGINNING SECTOR
- RJ GEM GENERATE ERROR MESSAGE
- RDW8 SA1 RDWF RESET POINTERS TO FIRST MESSAGE
- BX7 X7-X7 CLEAR READ ERROR FLAG
- MX0 12
- BX3 X0*X1 CHECK RECOVERY WORD FORMAT
- LX3 12
- SA0 =C$ MAINLOG - *BML* FORMAT INCORRECT.$
- SX3 X3-4000B
- NZ X3,ERR IF FORMAT INCORRECT
- SA7 EFFG
- LX0 12 DECREMENT WORD COUNT
- SA5 X2-WRD
- BX3 X0*X1
- SX7 X3-1
- IX6 X5-X7
- SA6 A5
- RJ UOP
- SA1 RDWB RESET START CONDITIONS
- SA5 RDWC
- SB6 X1
- SB7 X5
- EQ RDW1 START NEW MESSAGE
- * PROCESS READ ERROR.
- RDW9 SX7 B1 SET READ ERROR FLAG
- SA3 RDWC RESET WORKING BUFFER
- SA7 EFFG
- SB7 X3
- SA1 X2-WRD
- SX7 X1+B1
- RJ UOP UPDATE OUT POINTER
- SB2 REMC *DATA LOST.*
- RJ GEM GENERATE ERROR MESSAGE
- EQ RDW4 RETRY
- RDWA CON 0 NUMBER OF WORDS LEFT TO TRANSFER
- RDWB CON 0 FWA OF WORKING STORAGE BUFFER
- RDWC CON 0 LENGTH OF WORKING STORAGE BUFFER
- RDWD CON 0 MESSAGE WORD LENGTH
- RDWE CON 1 SKIP FIRST RECOVERY SECTOR
- RDWF CON 0 PRU LINKAGE WORD
- RIF SPACE 4,15
- ** RIF - READ INPUT FILE FOR NEXT MESSAGE.
- *
- * ENTRY (DFTY) = DAYFILE TYPE.
- *
- * EXIT (X1) = 0, IF MESSAGE READ.
- * (X1) .LT. 0, IF EOF/EOI ENCOUNTERED.
- * (B6) = FWA OF MESSAGE READ.
- * (B7) = LENGTH OF MESSAGE READ.
- *
- * USES X - 2.
- * A - 2.
- * B - 6, 7.
- *
- * MACROS INPUTC, INPUTW.
- RIF SUBR ENTRY/EXIT
- SA2 DFTY CHECK MESSAGE TYPE
- SX2 X2-MLTY
- ZR X2,RIF1 IF PROCESSING BML
- INPUTC I,WBUF,WBUFL READ ONE CODED MESSAGE
- EQ RIF2 SET EXIT CONDITIONS
- RIF1 INPUTW I,WBUF,WBUFL READ ONE BML MESSAGE
- RIF2 SB7 B6-WBUF SET MESSAGE LENGTH
- SB6 WBUF SET FWA OF MESSAGE
- EQ RIFX EXIT
- SRM SPACE 4,20
- ** SRM - SEARCH FOR MESSAGE.
- * THREE WORDS ARE EXAMINED.
- *
- * ENTRY CURRENT MESSAGE IN WORKING BUFFER.
- * (WBUF) = FWA OF CURRENT MESSAGE.
- * (SEMS - SEMS+2) = CRITERION MESSAGE.
- * (SEMA - SEMA+2) = CRITERION MESSAGE MASK.
- * (SEWI) = STARTING MESSAGE SEARCH WORD INDEX.
- * I = IN FET.
- *
- * EXIT (X4) = 0, IF MESSAGE FOUND.
- * .NE. 0, IF NOT FOUND.
- *
- * USES X - 1, 2, 3, 4, 6.
- * A - 1, 2, 3.
- SRM SUBR ENTRY/EXIT
- SA1 SEWI READ STARTING SEARCH INDEX
- SA1 X1+WBUF COMPARE LINE
- SA2 SEMS
- SA3 SEMA
- BX1 X1-X2
- BX4 X3*X1
- SA1 A1+B1
- SA2 A2+B1
- NZ X4,SRMX IF NO COMPARE
- ZR X2,SRM1 IF END OF MESSAGE
- SA3 A3+B1
- BX1 X1-X2
- BX4 X3*X1
- SA1 A1+B1
- NZ X4,SRMX IF NO COMPARE
- SA2 A2+B1
- SA3 A3+B1
- ZR X2,SRM1 IF END OF MESSAGE
- BX1 X1-X2
- BX4 X3*X1
- NZ X4,SRMX IF NO COMPARE
- SRM1 SA1 SEJN CHECK JOB NAME
- ZR X1,SRMX IF NO JOB NAME SET
- SA2 WBUF+1 CHECK JOBNAME FIELD OF DAYFILE
- MX6 24
- LX6 48
- BX3 X1-X2
- BX4 X6*X3
- ZR X4,SRMX IF NAMES MATCH
- SX4 B1 INDICATE MESSAGE NOT FOUND
- EQ SRMX RETURN
- TSF SPACE 4,15
- ** TSF - TERMINATE SEARCH FILE.
- *
- * SET PROPER PAGINATION FLAG, ISSUE MESSAGE IF *FROM NOT
- * FOUND*, DUMP TO OUTPUT FILE FROM *SCR1*.
- *
- * USES X - 1, 2, 5.
- * A - 1.
- * B - 7.
- *
- * MACROS READEI, READW, REWIND, WRITEC, WRITER, WRITEW.
- TSF SUBR ENTRY/EXIT
- WRITER S INITIATE SEARCH FILE READ PROCESSING
- REWIND X2
- TSF1 SA1 DFTY
- SX5 B
- SX1 X1-MLTY
- ZR X1,TSF2 IF BINARY FILE
- SX5 O
- SA1 JTOP
- NZ X1,TSF2 IF JOB TERMINATION SPECIFIED
- SA1 SFOP DETERMINE IF OP=I SPECIFIED
- SA2 =1LI
- BX2 X1-X2
- ZR X2,TSF2 IF OP=I SPECIFIED
- SA1 FRFO
- NZ X1,TSF2 IF *FR* FOUND
- SA1 IOUT
- NZ X1,TSFX IF NOT TERMINAL OUTPUT
- WRITEC X5,(=C/ *FR* NOT FOUND./)
- TSF2 READEI S
- TSF2.1 SA1 INTR
- NZ X1,DAF5 IF TERMINAL INTERRUPT
- READW S,WBUF,WBUFL
- NG X1,TSF3 IF EOF
- WRITEW X5,WBUF,WBUFL
- EQ TSF2.1 CONTINUE READING
- TSF3 SB7 B6-WBUF
- WRITEW X5,WBUF,B7
- EQ TSFX RETURN
- UOP SPACE 4,20
- ** UOP - UPDATE OUT POINTER.
- *
- * ENTRY (X7) = NUMBER OF WORDS TO UPDATE OUT POINTER BY.
- * (X2) = FET ADDRESS.
- *
- * EXIT OUT POINTER IN FET UPDATED.
- *
- * USES X - 0, 1, 3, 6.
- * A - 1, 3, 6.
- UOP SUBR ENTRY/EXIT
- MX0 18
- SA1 X2+3 READ OUT POINTER
- LX0 18
- SA3 A1+B1 READ LIMIT
- IX6 X1+X7
- BX3 X0*X3
- IX1 X6-X3
- NG X1,UOP1 IF NO WRAP AROUND
- SA3 X2+B1 READ FIRST
- BX3 X0*X3
- IX6 X3+X1
- UOP1 SA6 A1
- EQ UOPX RETURN
- WBF SPACE 4,15
- ** WBF - WRITE BINARY FILE.
- *
- * ENTRY (X0) = NUMBER OF WORDS IN BINARY MESSAGE.
- * (X5) = FET ADDRESS.
- *
- * EXIT BINARY MESSAGE WRITTEN TO INDICATED FILE.
- * CYBER RECORD MANAGER *W-WORD* PREFIXED TO MESSAGE,
- * IF NOT WRITTEN TO SEARCH FILE.
- *
- * USES X - 1, 2, 3, 6.
- * A - 1, 6.
- *
- * MACROS WRITEW.
- WBF SUBR ENTRY/EXIT
- * BUILD *W-WORD*.
- SA1 WCWD SET BACKWARD LINK = OLD FORWARD LINK + 1
- SX2 X1+B1
- LX2 41-17
- SA1 WBUF SET FORWARD LINK = LENGTH FROM HEADER WORD
- MX3 12
- BX6 X3*X1
- LX6 11-59
- BX6 X2+X6
- CX1 X6 SET PARITY BIT
- MX3 1
- LX1 59-0
- BX1 X3*X1
- BX1 X3-X1
- BX6 X1+X6
- SA6 WCWD INCLUDE NEW *W-WORD* IN RECORD WRITTEN
- * WRITE BINARY MESSAGE.
- WRITEW X5,WBUF-1,B7+1
- EQ WBFX RETURN
- WCF SPACE 4,15
- ** WCF - WRITE CODED FILE.
- *
- * ENTRY (X5) = FET ADDRESS.
- *
- * EXIT CODED LINE WRITTEN TO INDICATED FILE.
- * PAGINATION SUPPLIED IF NEEDED.
- *
- * USES X - 0, 1, 2, 3, 6, 7.
- * A - 1, 2, 3, 6, 7.
- *
- * CALLS CDD, SFN.
- *
- * MACROS WRITEC, WRITEW.
- WCF SUBR ENTRY/EXIT
- * PROCESS DOUBLE SPACE CONTROL.
- SA1 JTOP
- NZ X1,WCF2 IF JOB TERMINATION SPECIFIED
- SA1 LISF
- NZ X1,WCF2 IF OUTPUT NOT PAGINATED
- SA1 SFOP CHECK FOR *OP=I*
- SA2 =1LI
- BX2 X1-X2
- ZR X2,WCF0 IF *OP=I*
- SA1 FRFO
- ZR X1,WCFX IF *FR* NOT FOUND
- WCF0 SA1 PLPP
- PL X1,WCF1 IF SPACE CONTROL NOT REQUIRED
- SA2 WBUF INSERT DOUBLE SPACE
- SA3 WCFA
- MX0 6
- BX6 -X0*X2
- BX6 X6+X3
- SA6 A2
- * PROCESS PAGE EJECT.
- WCF1 SA2 LINE ADVANCE LINE NUMBER
- SX3 X1 LINE LIMIT
- SX6 X2+B1
- IX7 X3-X6
- SA6 A2
- PL X7,WCF2 IF NOT END OF PAGE
- SX6 3 RESET LINE NUMBER
- SA1 PAGE ADVANCE PAGE NUMBER
- SA6 A2
- SX6 X1+B1
- SX1 X1+B1
- SA6 PAGE
- RJ CDD CONVERT PAGE NUMBER
- SA2 WCFB
- SA1 WBUF SET PAGE INDEX
- MX0 2*6
- BX6 X2-X6
- SA2 INDX
- LX0 6
- SA6 PGNO
- BX7 -X0*X1
- BX2 X0*X2
- BX1 X7+X2
- RJ SFN
- SA6 INDX
- SA3 DENC
- BX6 X6-X6
- SA1 PLPP
- LX1 59-35 SET DENSITY CONTROL
- SA6 A3 DISABLE USE OF PRINT DENSITY
- MX0 2*6
- BX7 X0*X1
- SA7 DENF
- WRITEW X5,DENF,X3 CONDITIONALLY WRITE PRINT DENSITY
- WRITEW X5,HEDR,HEDRL WRITE TITLE
- * LIST DAYFILE LINE.
- WCF2 WRITEC X5,WBUF WRITE CODED LINE
- EQ WCFX RETURN
- WCFA CON 1L0
- WCFB CON 6L PAGE &6L
- WOF SPACE 4,30
- ** WOF - WRITE MESSAGE TO OUTPUT FILE.
- *
- * ENTRY (B6) = FWA OF MESSAGE.
- * (B7) = LENGTH OF MESSAGE.
- * (DFTY) = DAYFILE TYPE.
- * (FROM) .EQ. 0 IF FULL DUMP BEING PROCESSED.
- * (FROM) .NE. 0 IF PARTIAL DUMP. (SEARCH MESSAGE FOR
- * MESSAGE STRING.)
- *
- * EXIT MESSAGE WRITTEN TO OUTPUT FILE.
- * (FRFO) = 1, IF MESSAGE SEARCH STRING FOUND IN CURRENT
- * MESSAGE. OTHERWISE, (FRFO) IS UNCHANGED
- * FROM ENTRY.
- *
- * USES X - 1, 4, 5, 6, 7.
- * A - 1, 4, 6, 7.
- *
- * CALLS SRM, WBF, WCF.
- *
- * MACROS REWIND.
- WOF SUBR ENTRY/EXIT
- SA1 INTR
- NZ X1,DAF5 IF TERMINAL INTERRUPT
- ZR B7,WOFX IF NO MESSAGE
- SA1 DFTY
- SX1 X1-MLTY
- SX5 O SET FET = CODED OUT-FILE
- NZ X1,WOF1 IF NOT BINARY FILE
- SX5 B SET FET = BINARY OUT-FILE
- WOF1 SA1 FROM
- ZR X1,WOF3 IF SEARCH NOT NEEDED
- RJ SRM SEARCH FOR MESSAGE
- SX5 S SET FET = SEARCH FILE
- NZ X4,WOF3 IF SEARCH FILE NOT FOUND
- SA1 CMFG
- SA4 I-WRD
- ZR X1,WOF2 IF NOT PROCESSING CM BUFFER
- ZR X4,WOF3 IF NO MORE DATA IN BUFFER
- WOF2 REWIND X5,R
- SA1 LISV RESTORE LIST FLAG
- SX6 B1 SET *FOUND*
- BX7 X1
- SA6 DENC
- SA6 FRFO
- SA1 WCWC BML LINK RECOVERY
- SA7 LISF
- SX6 PLEN RESET LINE COUNT
- BX7 X7-X7 RESET PAGE COUNT
- SA6 LINE
- SA7 PAGE
- BX6 X1
- SA6 WCWD
- WOF3 SA1 DFTY
- SX1 X1-MLTY
- NZ X1,WOF4 IF NOT BINARY FILE
- RJ WBF WRITE BINARY FILE
- EQ WOFX RETURN
- WOF4 RJ WCF WRITE CODED FILE
- EQ WOFX RETURN
- WUP SPACE 4,20
- ** WUP - WRAP UP PROCESSING.
- *
- * ENTRY (INAM) = 0, IF PROCESSING ACTIVE DAYFILE.
- * .NE. 0, IF PROCESSING LOCAL FILE.
- * (FRFO) = 0, IF *FR* MESSAGE NOT FOUND.
- * .NE. 0, IF FOUND.
- * (INAM) = 0, IF PROCESSING ACTIVE DAYFILE.
- * .NE. 0, IF PROCESSING LOCAL COPY OF DAYFILE.
- *
- * EXIT FILES RETURNED.
- * *NOT FOUND* MESSAGE ISSUED IF NECESSARY.
- *
- * USES X - 1, 2, 5, 6.
- * A - 1, 2, 5, 6.
- * B - 7.
- *
- * MACROS RETURN.
- WUP SUBR ENTRY/EXIT
- SA1 FRFO
- NZ X1,WUP1 IF STRING FOUND
- SA1 SFOP SUPPRESS *NOT FOUND* MESSAGE IF OP=I SET
- LX1 5-59
- SX1 X1-1RI
- ZR X1,WUP1 IF OP=I SET
- MESSAGE (=C/ *FR* NOT FOUND./)
- WUP1 RETURN S
- SA1 INAM
- NZ X1,WUPX IF I=LFN SPECIFIED
- RETURN I
- EQ WUPX RETURN
- SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCCDD
- *CALL COMCCIO
- *CALL COMCLFM
- *CALL COMCMVE
- *CALL COMCRDC
- *CALL COMCRDO
- *CALL COMCRDW
- *CALL COMCSFM
- *CALL COMCSFN
- *CALL COMCSTF
- *CALL COMCSYS
- *CALL COMCWTC
- *CALL COMCWTO
- *CALL COMCWTW
- TITLE SPECIAL ENTRIES AND BUFFERS.
- * SPECIAL ENTRY POINTS.
- ARG= BSS 0 DISABLE ARGUMENT CRACKING
- * BUFFERS.
- USE BUFFERS
- SEG
- SPACE 4,15
- ** *W* CONTROL WORD.
- *
- *T W-WORD 1/P,1/F,1/D,13/,2/C,18/ B-LINK,6/,18/ F-LINK
- *
- * P = PARITY BIT (MAINTAINS ODD PARITY OF WORD).
- * F = RECORD FLAG (0 = NORMAL RECORD).
- * D = DELETE BIT (0 = ACTIVE RECORD).
- * C = CONTINUATION FLAGS (0 = COMPLETE RECORD).
- * B-LINK = BACKWARD LINK (WORD COUNT OF PREVIOUS RECORD + 1).
- * F-LINK = FORWARD LINK (WORD COUNT NOT INCLUDING *W* WORD).
- WCWC VFD 1/0,1/0,1/0,13/0,2/0,18/0,6/0,18/-1 RECOVERY
- WCWD VFD 1/0,1/0,1/0,13/0,2/0,18/0,6/0,18/-1
- WBUF EQU WCWD+1 WORKING BUFFER (MUST FOLLOW W-WORD)
- SBUF EQU WBUF+WBUFL SCRATCH BUFFER
- RBUF EQU SBUF+SBUFL REMAINDER CONCATINATION BUFFER
- BCWD EQU RBUF+WBUFL CIO CONTROL WORD FOR BML PRU-S
- CBUF EQU BCWD+1 BUFFER FOR CM PORTION OF DAYFILE
- IBUF EQU CBUF+CBUFL IN BUFFER
- OBUF EQU IBUF+IBUFL OUTPUT BUFFER
- EBUF EQU OBUF EST BUFFER - USED IN PRESET ONLY
- .RFL MAX OBUF+OBUFL,EBUF+EBUFL
- RFL= EQU .RFL REQUIRED FIELD LENGTH
- SPACE 4,10
- ERRNG JTFL*100B-RFL= IF OVERFLOW MAXIMUM JOB TERMINATION FL
- PRS TITLE PRESET.
- ** PRS - PRESET.
- * 1. SET TERMINATION MESSAGE, PAGE TITLE.
- * 2. VALIDATE ACCESS TO DAYFILE.
- * 3. PROCESS THE COMMAND ARGUMENTS.
- * 4. DISABLE TERMINAL CONTROL IF NEEDED.
- * 5. SET PAGE TITLE INFORMATION IF NEEDED.
- *
- * ENTRY (X4) = ADDRESS OF SEARCH STRING FOR PARTIAL DUMP.
- * (DFTY) = DAYFILE TYPE.
- * (ENPT) = ENTRY POINT NAME.
- *
- * EXIT TO *ERR* IF ARGUMENT OR FORMAT ERROR.
- *
- * USES X - ALL.
- * A - 0, 1, 2, 3, 5, 6, 7.
- * B - 1, 2, 3, 4, 6, 7.
- *
- * CALLS ARM, CPA, CRN, DXB, FNB, IPP, OPN, PDR, SDO,
- * SSM, STF, USB.
- *
- * MACROS CLOCK, DATE, DISTC, EVICT, GETJN, MOVE, SYSTEM,
- * WRITEW.
- PRS SUBR ENTRY/EXIT
- SB1 1 SET CONSTANT
- MOVE 3,X4,IBUF
- * GET PAGE PARAMETERS.
- RJ IPP
- * PROCESS ARGUMENTS.
- PRS1 SB2 CCDR UNPACK COMMAND
- RJ USB
- SA1 A6+ ASSURE TERMINATION
- SX6 1R.
- SA3 B6 CHECK COMMAND LABEL PRESENT
- SA6 X1+B1
- SA0 =C* ARGUMENT ERROR.*
- SA2 PRSB SET SEPARATOR MASK
- SB2 60 SET MAXIMUM NON-DELIMITER DISPLAY CODE
- SB7 ERR SET EXIT FOR TERMINATOR CHARACTER
- RJ FNB FIND NON-BLANK CHARACTER
- SX4 X1-1R0
- MI X4,PRS3 IF NON-NUMERIC CHARACTER
- SX4 X1-1R9-1
- PL X4,PRS3 IF NON-NUMERIC CHARACTER
- * SKIP *KCL* TAG.
- PRS2 RJ FNB FIND NON-BLANK CHARACTER
- SB4 B5-B2
- LX4 X2,B5
- PL B4,PRS3 IF SEPARATOR CHARACTER
- PL X4,PRS2 IF NOT SEPARATOR CHARACTER
- * SKIP POSSIBLE INITIAL SPECIAL CHARACTER OR DELIMITER.
- PRS3 RJ FNB FIND NON-BLANK CHARACTER
- * SKIP PROGRAM NAME.
- SB7 PRS8 SET EXIT FOR TERMINATOR CHARACTER
- PRS4 RJ FNB FIND NON-BLANK CHARACTER
- SB4 B5-B2
- LX4 X2,B5
- PL B4,PRS5 IF SEPARATOR CHARACTER
- PL X4,PRS4 IF NOT SEPARATOR CHARACTER
- * PROCESS ARGUMENTS.
- PRS5 SA1 ENPT SET ARGUMENT TABLE ADDRESS AND LENGTH
- SA1 PRSD+X1-GLTY
- UX1,B2 X1 UNPACK ARGUMENT TABLE VALUES
- SB3 X1
- SB4 PRSA CONVERT POSITIONAL ARGUMENTS
- RJ CPA
- SA0 =C* ARGUMENT ERROR.*
- NG B5,ERR IF ERROR
- PL X1,PRS8 IF NO ARGUMENTS PROCESSED
- SX6 B5 SET LWA OF ARGUMENTS
- SB6 PRSA SET FWA OF ARGUMENTS
- SA6 USBC
- RJ ARM PROCESS ARGUMENTS
- NZ X1,ERR IF ERROR
- MX0 42 CHECK FOR RESERVED FILE
- SA0 =C* RESERVED FILE NAME.*
- SA3 O
- BX4 X3*X0
- RJ CRN
- ZR X7,ERR IF RESERVED FILE NAME
- * SET DEFAULT *OP*.
- PRS8 SA1 JTOP
- NZ X1,PRS9 IF JOB TERMINATION OPTION SPECIFIED
- SX2 O CHECK FOR TERMINAL OUTPUT FILE
- RJ STF
- SA6 IOUT SAVE OUTPUT FILE TYPE
- SX7 B1
- NZ X6,PRS9 IF NOT TERMINAL OUTPUT FILE
- SA7 LISF SET NON-PAGINATED OUTPUT FLAG
- SA7 PLPP SET PAGE SIZE
- SA1 SEMS
- NZ X1,PRS9 IF *FR* OPTION SPECIFIED
- SA1 SFOP
- LX1 59-0
- PL X1,PRS9 IF *OP* OPTION SPECIFIED
- SX6 1RI SET *OP=I* AS DEFAULT
- LX6 -6
- SA6 A1
- * PROCESS SEARCH OPTION.
- PRS9 RJ SDO SET DUMP OPTIONS
- ZR X5,PRS12 IF NOT PARTIAL DUMP
- SX6 B1 SET PARTIAL DUMP
- AX5 1 CHECK FOR INCREMENTAL DUMP
- SA6 FROM
- NZ X5,PRS11 IF NOT INCREMENTAL DUMP
- SA1 DFTY
- SX1 X1-MLTY
- ZR X1,PRS10 IF PROCESSING MAINTENANCE LOG
- MOVE 3,IBUF,SEMS SET SEARCH MESSAGE
- EQ PRS11 SET SEARCH MASK
- PRS10 SA1 IBUF+1 SET MAINTENANCE LOG SEARCH MESSAGE
- BX6 X1
- SA6 SEMS
- PRS11 RJ SSM SET SEARCH MASK
- SA1 SFOP DETERMINE IF OP=J SPECIFIED
- SA2 =1LJ
- BX2 X1-X2
- NZ X2,PRS12 IF NOT SPECIFIED
- SA1 SEMA ADJUST MASK
- LX1 48
- BX6 X1
- SA6 A1
- SA1 SEMS ADJUST SEARCH STRING
- LX1 48
- RJ SFN
- SA6 A1
- * DISABLE TERMINAL CONTROL.
- PRS12 SA5 JOPR CHECK JOB ORIGIN
- MX0 -12
- LX5 -24
- BX5 -X0*X5
- SB7 X5-IAOT
- NZ B7,PRS13 IF NOT TERMINAL ORIGIN
- DISTC ON,INTR
- PRS13 SA1 IOUT
- ZR X1,PRS17 IF INTERACTIVE TERMINAL OUTPUT
- * PROCESS PAGINATION ARGUMENTS.
- SA5 PDEN CONVERT PRINT DENSITY
- SB7 B1 ASSUME DECIMAL BASE
- SX6 X5 SAVE *ARGUMENT GIVEN* FLAG
- BX5 X5-X6
- SB6 X6
- RJ DXB
- SA0 =C* INCORRECT PRINT DENSITY FORMAT.*
- NZ X4,ERR IF FORMAT ERROR
- SA0 =C* INCORRECT PRINT DENSITY.*
- SB2 X6-3
- SB3 X6-4
- ZR B2,PRS14 IF 3 LPI
- SB2 X6-6
- ZR B3,PRS14 IF 4 LPI
- SB3 X6-8
- ZR B2,PRS14 IF 6 LPI
- NZ B3,ERR IF NOT 8 LPI
- PRS14 SA5 PLPP CONVERT PAGE SIZE
- SA6 PDEN STORE PRINT DENSITY
- SX7 X5+ UPDATE *ARGUMENT GIVEN* FLAG
- BX5 X5-X7
- SB6 B6+X7
- RJ DXB
- SA1 PDEN FIND SPACING CHARACTERISTICS
- SA0 =C* INCORRECT PAGE SIZE FORMAT.*
- SA2 TPAS-1+X1
- NZ X4,ERR IF FORMAT ERROR
- BX7 X2
- ZR X6,PRS15 IF PAGE SIZE NOT SPECIFIED
- MX1 -17
- BX6 -X1*X6 REPLACE PAGE SIZE
- BX7 X1*X7
- PL X7,PRS14.1 IF NOT DOUBLE SPACE
- AX6 1 DIVIDE PAGE SIZE BY 2 FOR DOUBLE SPACE
- PRS14.1 BX7 X6+X7
- PRS15 SA7 PLPP SET PAGE SIZE
- SB6 B6-2 CHECK *PD* OR *PL* SPECIFIED
- ZR B6,PRS16 IF NEITHER *PD* NOR *PL* SPECIFIED
- SX6 0 SET PAGINATION
- SA6 LISF
- EQ PRS17 SET UP TITLE INFORMATION
- PRS16 SA1 O CHECK IF OUTPUT
- SA2 =0LOUTPUT
- MX0 42
- BX6 X1-X2
- BX7 X0*X6
- SA7 LISF SET LIST FLAG
- * SET PAGE TITLE INFORMATION.
- PRS17 SA1 FROM SET DUMP MODE
- ZR X1,PRS18 IF FULL DUMP
- SA1 =10H1 PARTIAL
- SA2 LISF SAVE LIST FLAG
- BX6 X1
- BX7 X2
- SA6 MODE
- SA7 LISV
- BX7 X7-X7 SET *NOT FOUND*
- SA7 FRFO
- PRS18 DATE DATE SET DATE
- CLOCK TIME SET TIME
- EVICT S EVICT SCRATCH FILES
- SA1 INAM
- NZ X1,PRS19 IF I=LFN SPECIFIED
- EVICT I,R
- * PROCESS JOB TERMINATION OPTION.
- PRS19 SA1 JTOP CHECK JOB TERMINATION FLAG
- ZR X1,PRS21 IF NOT ENTERED
- FILINFO PRSE CHECK FILE TYPE OF *OUTPUT*
- SA1 PRSE+1
- MX0 -6
- BX1 -X0*X1
- ZR X1,PRS19.3 IF LOCAL FILE TYPE
- SX2 X1-2
- ZR X2,PRS19.3 IF QUEUED FILE TYPE
- SX2 X1-6
- ZR X2,PRS19.3 IF PRIMARY FILE TYPE
- RETURN O,R RETURN *OUTPUT*
- PRS19.3 GETJN JSNP SET JSN IN END OF JOB HEADER
- SX2 O
- RJ STF CHECK RESIDENCY OF OUTPUT FILE
- NZ X6,PRS19.5 IF NOT TERMINAL FILE
- RETURN X2,R
- SETFET X2,(DTY==2ROT)
- REQUEST X2,U,N MAKE SURE OUTPUT GOES TO DISK
- PRS19.5 SYSTEM RSB,R,PRSC SET TITLE AND VERSION IN END OF JOB HEADER
- SA1 JSNP
- SA2 =2L1
- LX1 60D-12D
- RJ SFN
- BX6 X6+X2
- SA6 JSNP
- DATE DAT2 PUT DATE IN END OF JOB HEADER
- CLOCK TIM2 SET END OF JOB TIME
- SX0 TITL SPACE FILL TITLE AND VERSION DATA
- SX5 6
- PRS20 SA1 X0 READ NEXT WORD OF TITLE
- RJ SFN SPACE FILL WORD
- SX0 X0+B1
- SA6 A1
- SX5 X5-1
- NZ X5,PRS20 IF NOT ALL WORDS SPACE FILLED YET
- WRITEW O,HDR2,HDR2L WRITE END OF JOB HEADER
- SA1 JTOP RESTORE *JT* OPTION TO REGISTER
- RJ PDR PROCESS DEFERRED ROUTE
- * WRITE *EST* FILE, IF *GETLOG* RUN.
- PRS21 SA1 ENPT CHECK ENTRY POINT
- SX1 X1-GLTY
- NZ X1,PRS22 IF NOT *GETLOG*
- RJ WEF WRITE EST TO FILE
- PRS22 EQ PRSX RETURN
- PRSA BSS 200
- PRSB CON 40000000000033127777B SEPARATOR CHARACTER MASK
- PRSC VFD 12/0,12/6,18/SYTL,18/TITL PARAMETERS FOR RSB CALL
- PRSD BSS 0 ARGUMENT TABLE PARAMETERS
- LOC GLTY
- GLTY VFD 12/2000B+TGTLL,48/TGTL *GETLOG*
- ACTY VFD 12/2000B+TCODL,48/TCOD *AFD*
- UDTY VFD 12/2000B+TCODL,48/TCOD *DAYFILE*
- SDTY VFD 12/2000B+TCODL,48/TCOD *DFD*
- ELTY VFD 12/2000B+TCODL,48/TCOD *ELD*
- MLTY VFD 12/2000B+TMLGL,48/TMLG *MAINLOG*
- LOC *O
- PRSE VFD 42/6LOUTPUT,6/5,11/0,1/1
- BSS 4
- TGTL SPACE 4,10
- ** TGTL - *GETLOG* PARAMETERS.
- TGTL BSS 0
- L ARG ST,O,0,0 *ERRLOG* FILENAME
- OP ARG 0,SFOP,0,1 OPTIONS
- I ARG ST,INAM,0,0 *BML* INPUT FILENAME
- B ARG ST,BNAM,0,0 *BML* FILENAME
- E ARG ST,E,0,0 *EST* FILENAME
- ARG TERMINATOR
- TGTLL EQU *-TGTL-1 LENGTH OF ARGUMENT TABLE
- TMLG SPACE 4,10
- ** TMLG - *MAINLOG* PARAMETERS.
- TMLG BSS 0
- VFD 6/1R ,54/ NO ARGUMENT - PLACE HOLDER
- FR ARG 0,SEMS,400B,3 *FROM* OPTION
- OP ARG 0,SFOP,0,1 OPTIONS
- VFD 6/1R ,54/0 NO ARGUMENT - PLACE HOLDER
- VFD 6/1R ,54/0 NO ARGUMENT - PLACE HOLDER
- I ARG ST,INAM,0,0 *BML* INPUT FILENAME
- B ARG ST,BNAM,0,0 *BML* FILENAME
- ARG TERMINATOR
- TMLGL EQU *-TMLG-1 LENGTH OF ARGUMENT TABLE
- TCOM SPACE 4,10
- ** TCOD - CODED PARAMETERS.
- *
- * THIS TABLE IS USED BY THE CODED DAYFILE PROCESSORS.
- TCOD BSS 0
- L ARG ST,O,0,0 OUTPUT FILENAME
- FR ARG 0,SEMS,400B,3 *FROM* OPTION
- OP ARG 0,SFOP,0,1 OPTIONS
- PD ARG 0,PDEN,0,1 PRINT DENSITY
- PL ARG 0,PLPP,400B,1 PAGE LENGTH
- I ARG ST,INAM,0,0 INPUT FILENAME
- JT ARG JTOP,JTOP,0,0 JOB TERMINATION OPTION
- ARG TERMINATOR
- TCODL EQU *-TCOD-1 LENGTH OF ARGUMENT TABLE
- ST CON 3 DEFAULT FET STATUS
- TPAS SPACE 4,10
- ** TPAS - TABLE OF PAGE SIZE PARAMETERS.
- * INDEXED BY PRINT DENSITY VALUE.
- * ONE WORD ENTRY IN FORM -
- *
- *T 1/A,23/ ,18/ FMT,18/ DIV INITIAL FORM
- *
- *T 1/A,23/ ,18/ FMT,18/ PAGE FINAL FORM
- *
- * WHERE A = 1 IF DOUBLE SPACING IS NEEDED.
- * FMT = PRINT DENSITY FORMAT CONTROL CHARACTER.
- * PAGE = NUMBER OF LINES PER PAGE FOR THIS DENSITY.
- * DIV = DIVISOR FOR JOB DEFAULT PAGE SIZE.
- TPAS BSS 0
- LOC 1
- CON 0
- CON 0
- VFD 1/1,23/0,18/2LS ,18/2
- VFD 1/1,23/0,18/2LT ,18/2
- CON 0
- VFD 1/0,23/0,18/2LS ,18/1
- CON 0
- VFD 1/0,23/0,18/2LT ,18/1
- LOC *O
- CON -0 END OF LIST
- CDP SPACE 4,15
- ** CDP - CONVERT DISPLAY TIME TO PACKED TIME.
- *
- * ENTRY (SEMS) = DISPLAY TIME (10H HH.MM.SS.).
- *
- * EXIT (SEMS) = PACKED TIME (VFD 42/0,18/HHMMSS).
- * TO *ERR* IF CONVERSION ERROR.
- *
- * USES X - 1, 2, 3, 5, 6.
- * A - 0, 1, 2, 3, 6.
- * B - 4, 6, 7.
- *
- * CALLS DXB.
- CDP SUBR ENTRY/EXIT
- SB6 3 INITIALIZE TABLE INDEX
- SB7 1 SET DECIMAL CONVERSION FLAG
- CDP1 SB6 B6-1 EXTRACT 2 DISPLAY DIGITS
- SA1 SEMS
- SA2 CDPA+B6
- SA3 CDPB+B6
- BX5 X2*X1
- SB4 X3+
- LX5 B4,X5
- RJ DXB CONVERT DISPLAY CODE TO BINARY
- SA0 =C/ *FR* TIME VALUE INCORRECT./
- NZ X4,ERR IF CONVERSION ERROR
- SA1 CDPC MERGE CONVERTED DIGITS
- LX1 6
- BX6 X1+X6
- SA6 A1+
- NZ B6,CDP1 IF MORE
- SA6 SEMS SET PACKED TIME
- EQ CDPX RETURN
- CDPA VFD 42/0,12/7777B,6/0 MASK TABLE
- VFD 24/0,12/7777B,24/0
- VFD 6/0,12/7777B,42/0
- CDPB CON 42D SHIFT TABLE
- CON 24D
- CON 6D
- CDPC BSSZ 1 CONVERSION AREA
- CRN SPACE 4,15
- ** CRN - CHECK RESERVED NAME.
- *
- * ENTRY (X4) = LEFT JUSTIFIED FILE NAME.
- * (A3) = FET ADDRESS OF FILE BEING CHECKED.
- *
- * EXIT (X7) = 0, IF RESERVED NAME.
- *
- * USES X - 1, 2, 3, 7.
- * A - 1.
- * B - 2, 3, 5.
- CRN SUBR
- SB2 I-FETL
- SB5 A3
- SB3 S
- MX3 42
- SX7 B1 INDICATE NOT RESERVED
- BX4 X3*X4
- ZR X4,CRNX IF ZERO FILE NAME SPECIFIED
- CRN1 SB2 B2+FETL INCREMENT FET ADDRESS
- EQ B2,B5,CRN1 IF FET BEING CHECKED
- GT B2,B3,CRNX IF SEARCH COMPLETE
- SA1 B2 SET FET FILENAME
- BX2 X3*X1
- BX7 X2-X4
- NZ X7,CRN1 IF NOT A MATCH
- EQ CRNX RETURN
- FNB SPACE 4,20
- ** FNB - FIND NON-BLANK CHARACTER.
- *
- * ENTRY (B6) = NEXT CHARACTER ADDRESS.
- * (B7) = EXIT ADDRESS, IF TERMINATOR ENCOUNTERED.
- *
- * EXIT (X1) = (B5) = NEXT NON-BLANK CHARACTER.
- * (B6) = NEXT CHARACTER ADDRESS (UPDATED).
- * EXIT IS MADE TO (B7), IF TERMINATOR ENCOUNTERED.
- *
- * USES X - 1, 4.
- * A - 1.
- * B - 5, 6.
- FNB SUBR ENTRY/EXIT
- FNB1 SA1 B6 GET NEXT CHARACTER
- SB6 B6+B1
- SX4 X1-1R
- ZR X4,FNB1 IF BLANK CHARACTER
- SB5 X1+
- SX4 X1-1R.
- ZR X4,FNB2 IF TERMINATOR CHARACTER
- SX4 X1-1R)
- NZ X4,FNBX IF NOT TERMINATOR CHARACTER, RETURN
- FNB2 JP B7 TERMINATOR CHARACTER
- IPP SPACE 4,20
- ** IPP - INITIALIZE PAGE PARAMETERS.
- *
- * ENTRY NONE.
- *
- * EXIT TABLE *TPAS* SET UP WITH JOB PAGE SIZE.
- * (PDEN) = JOB DEFAULT PRINT DENSITY.
- * (RFMT) = JOB DEFAULT PRINT DENSITY.
- *
- * USES A - 1, 2, 6, 7.
- * B - 6.
- * X - 0, 1, 2, 6, 7.
- *
- * MACROS GETPP.
- IPP SUBR ENTRY/EXIT
- GETPP IPPA,IPPB,PDEN GET PAGE PARAMETERS
- SA1 PDEN PRINT DENSITY SYMBOL
- SX6 1R
- LX6 54-6
- BX6 X1+X6
- SA6 RFMT SET RESTORE DENSITY
- LX1 6
- SX1 X1-1RS+6/2 NUMERIC PRINT DENSITY
- LX1 1
- SX7 X1+1BS6+1R6-6 FORM DISPLAY CODE EQUIVALENT
- LX7 59-5
- SA7 A1
- SA2 IPPB GET JOB PAGE SIZE
- SA1 TPAS SET UP PAGE SIZE TABLE
- MX0 42
- IPP1 SB6 X1-1 DIVISOR - 1 = SHIFT COUNT
- NG B6,IPP2 IF UNUSED WORD
- BX1 X0*X1
- AX6 B6,X2
- BX6 X1+X6
- SA6 A1 STORE ACTUAL LINE COUNT
- IPP2 SA1 A1+B1 GET NEXT WORD IN TABLE
- NZ X1,IPP1 IF WORD IN USE
- PL X1,IPP2 IF UNUSED WORD
- EQ IPPX RETURN
- IPPA BSSZ 2 GETPAGE RESPONSE BLOCK
- IPPB CON 0 TEMPORARY STORAGE FOR PAGE SIZE
- PDR SPACE 4,20
- ** PDR - PROCESS DEFERRED ROUTE OF FILE.
- *
- * POSITIONS FILE TO *EOI* IF JOB TERMINATION IN
- * PROGRESS. SETS RANDOM ADDRESS IN *DSP* PARAMETER
- * BLOCK.
- *
- * ENTRY (X1) = *JT* PARAMETER OPTION.
- *
- * EXIT TO ERR IF PARAMETER ERROR.
- *
- * USES X - 1, 2, 6.
- * A - 0, 1, 2, 6.
- *
- * MACROS GETEOJS, SKIPEI.
- PDR SUBR ENTRY/EXIT
- SA2 DFTY GET DAYFILE PROGRAM CALL CODE
- SA0 =C* ARGUMENT ERROR.* PRESET ERROR MESSAGE
- SX2 X2-UDTY
- NZ X2,ERR IF NOT USER DAYFILE CALL
- LX1 6
- SX2 1RD CHECK OPTION DEFINED
- BX2 X2-X1
- SA0 =C* INCORRECT JOB TERMINATION OPTION.*
- NZ X2,ERR IF NOT *D* OPTION
- * CHECK IF END OF JOB PROCESSING.
- GETEOJS PDRB GET END OF JOB STATUS
- SA1 PDRB READ REPLY WORD
- SA2 PDRA+1
- SX6 X1-100B CHECK FOR TERMINATION IN PROGRESS
- NG X6,PDR1 IF TERMINATION NOT IN PROGRESS
- MX6 -12 CLEAR DISPOSITION CODE AND ASSOCIATED BIT
- SX1 21B
- LX6 24
- BX6 X6*X2
- BX6 X6-X1
- SA6 A2 RESET ROUTING INFORMATION
- * SET UP *DSP* BLOCK FOR *ROUTE* REQUEST.
- PDR1 SA1 O GET FILE NAME
- MX6 -18 SET NAME IN PARAMETER BLOCK
- BX6 X6*X1
- SA6 PDRA
- SKIPEI O,R SKIP TO END OF INFORMATION
- SA1 O+6 SET CURRENT RANDOM INDEX IN *DSP* BLOCK
- MX0 30
- BX6 X0*X1
- LX6 -6
- SA6 PDRA+7
- * CLEAR PAGINATION AS DEFAULT.
- SX6 -1 CLEAR PAGINATION
- SA6 LISF
- EQ PDRX RETURN
- PDRB CON 0 *GETEOJS* REPLY WORD
- SDO SPACE 4,25
- ** SDO - SET DUMP OPTIONS.
- *
- * ENTRY (SFOP) = OPTION.
- * (DFTY) = DAYFILE TYPE.
- * (EMSG) = SET WITH DAYFILE CODE.
- * (SEWI) = WORD INDEX OF MESSAGE FIELD FOR THIS DAYFILE.
- * (SEMS) = SEARCH MESSAGE OPTION.
- *
- * EXIT (SEWI) = SEARCH WORD INDEX.
- * (SFOP) = DUMP OPTION.
- * (X5) .EQ. 0, IF FULL DUMP.
- * .EQ. 1, IF INCREMENTAL DUMP.
- * .GT. 1, IF PARTIAL DUMP.
- * TO ERR IF DUMP OPTION ERRORS.
- *
- * USES X - 0, 1, 2, 5, 6.
- * A - 0, 1, 2, 5, 6.
- * B - 7.
- *
- * MACROS GETJN.
- SDO SUBR ENTRY/EXIT
- SA1 SFOP CHECK ENTRERED OPTION
- SA0 =C/ UNKNOWN *OP* FIELD./
- MX0 42
- SA2 ENPT
- SX6 X2-GLTY
- ZR X6,SDO0.1 IF *GETLOG*
- SX2 X2-MLTY
- NZ X2,SDO0 IF PROCESSING CODED FILE
- SA5 SDOB-1 SET INDEX FOR BINARY FILE OPTION TABLE
- EQ SDO1 SEARCH TABLE
- SDO0 SA5 SDOA-1 SET INDEX FOR CODED FILE OPTION TABLE
- EQ SDO1 CONTINUE
- SDO0.1 SA5 SDOC-1 SET INDEX FOR *GETLOG* OPTION TABLE
- SDO1 SA5 A5+B1 SEARCH TABLE
- BX6 X5-X1
- ZR X5,ERR IF INCORRECT OPTION
- BX6 X0*X6
- NZ X6,SDO1 IF NO COMPARE
- BX6 -X0*X5 SET PROCESSOR ADDRESS
- SB7 X6+
- SA5 SEMS SET *FR* OPTION
- JP B7 JUMP TO PROCESSOR
- SDO2 SX6 B0+ PROCESS T OPTION
- SA6 SEWI SET SEARCH WORD INDEX
- EQ SDO4
- SDO3 SA1 SEWI PROCESS J OPTION
- SA0 =C* JOB FIELD DISALLOWED ON USER DAYFILE.*
- SX6 X1-1
- ZR X6,ERR IF USER DAYFILE
- SA6 A1+
- SDO4 SX5 B1+B1 SET PARTIAL DUMP
- EQ SDOX PROCESS M OPTION
- SDO5 SA0 =C/ *FR* INCORRECT FOR THIS OPTION./ PROCESS I OPTION
- NZ X5,ERR IF *FR* SPECIFIED
- SX5 B1 SET INCREMENTAL DUMP
- EQ SDOX
- SDO6 SA1 SEWI PROCESS P OPTION
- SA0 =C* JOB FIELD DISALLOWED ON USER DAYFILE.*
- SX1 X1-1
- ZR X1,ERR IF USER DAYFILE
- GETJN SEJN SET JOBNAME
- SA1 SEJN SET JOBNAME TO CORRECT FORMAT
- LX1 48
- BX6 X1
- SA6 SEJN
- SDO6.1 SX6 1RI SET INCREMENTAL DUMP
- LX6 -6
- SA6 SFOP
- EQ SDO5 PROCESS AS INCREMENTAL DUMP
- SDO7 ZR X5,SDOX IF *FR* NOT SELECTED
- SX6 1RM SET DEFAULT *OP* OPTION
- LX6 -6
- SA6 SFOP
- EQ SDO4 SET PARTIAL DUMP OPTION
- SDO8 SA0 =C/ *OP* OPTION INCORRECT./
- EQ ERR PROCESS ERROR
- SDO9 ZR X5,SDOX IF *FR* NOT SELECTED
- SA0 =C/ *FR* INCORRECT FOR THIS OPTION./
- EQ ERR PROCESS ERROR
- * TABLE OF CODED FILE OPTION PROCESSORS.
- SDOA VFD 42/0LT,18/SDO2 T OPTION
- VFD 42/0LJ,18/SDO3 J OPTION
- VFD 42/0LM,18/SDO4 M OPTION
- VFD 42/0LI,18/SDO5 I OPTION
- VFD 42/0LP,18/SDO6 P OPTION
- VFD 42/0LF,18/SDO7 F OPTION
- CON 0
- * TABLE OF BINARY FILE OPTION PROCESSORS.
- SDOB VFD 42/0LT,18/SDO2 T OPTION
- VFD 42/0LJ,18/SDO3 J OPTION
- VFD 42/0LM,18/SDO8 M OPTION
- VFD 42/0LI,18/SDO5 I OPTION
- VFD 42/0LP,18/SDO6 P OPTION
- VFD 42/0LF,18/SDO9 F OPTION
- CON 0
- * TABLE OF *GETLOG* FILE OPTION PROCESSORS.
- SDOC VFD 42/0LF,18/SDO9 F OPTION
- VFD 42/0LP,18/SDO6.1 P OPTION
- CON 0
- SSM SPACE 4,20
- ** SSM - SET SEARCH MASK.
- *
- * ENTRY (SEMS - SEMS+2) = SEARCH CHARACTERS.
- * (DFTY) = DAYFILE TYPE.
- * (SFOP) = DUMP OPTION (*OP=*).
- *
- * EXIT (SEMA - SEMA+2) = SEARCH MASK.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 3, 6, 7.
- * B - 2.
- *
- * CALLS CDP, SFN.
- SSM SUBR ENTRY/EXIT
- SA1 SEMS
- SA2 SFOP
- SA3 SSMA
- BX2 X2-X3
- ZR X2,SSM3 IF OP=T OPTION
- SSM1 RJ SFN FIND MASK
- SA7 A1+SEMA-SEMS STORE MASK WORD
- SA1 A1+1 READ NEXT MESSAGE WORD
- NZ X7,SSM2 IF END OF MESSAGE
- NG X7,SSM1 IF NOT ZERO WORD
- EQ SSMX RETURN
- SSM2 BX6 X6-X6 TERMINATE MESSAGE
- SA6 A1
- EQ SSMX RETURN
- SSM3 SA2 DFTY
- SX2 X2-MLTY
- NZ X2,SSM1 IF NOT DUMPING MAINTENANCE LOG
- RJ CDP CONVERT SEARCH DISPLAY TIME TO PACKED TIME
- SA1 SEMS BUILD MASK FOR PACKED TIME
- SB2 6
- MX7 3
- SSM4 LX7 3
- BX2 X7*X1
- SB2 B2-1
- ZR B2,SSMX IF PACKED TIME FIELD EXHAUSTED
- ZR X2,SSM4 IF RIGHTMOST DIGIT NOT FOUND
- BX6 X6-X6
- SSM5 BX6 X7+X6
- LX7 3
- SB2 B2-1
- NZ B2,SSM5 IF PACKED TIME FIELD NOT EXHAUSTED
- SA6 SEMA
- EQ SSMX RETURN
- SSMA DATA 1LT OP=T TEST CHARACTER
- WEF SPACE 4,10
- ** WEF - WRITE EST TO FILE.
- *
- * ENTRY FILENAME INSERTED IN FET.
- *
- * EXIT EST WRITTEN TO FILE.
- *
- * CALLS RSB=.
- *
- * MACROS PDATE, SYSTEM, WRITER.
- WEF SUBR
- SA1 E
- ZR X1,WEFX IF *E=0* SPECIFIED
- * READ EST INTO *EBUF*.
- SYSTEM RSB,R,WEFA READ *ESTP*
- SA2 WEFA+1 SET *COMCRSB* ENTRY CONDITIONS
- MX3 -12
- SX1 EBUF+11B (X1) = ADDRESS TO TRANSFER TO
- AX2 24
- BX3 -X3*X2
- SX7 X3
- AX2 12 (X2) = ADDRESS TO TRANSFER FROM
- SA7 WEFB SAVE LAST EST ORDINAL + 1
- R= X6,ESTE
- IX3 X3*X6 (X3) = WORD COUNT
- SX4 B0 (X4) = SUBSYSTEM (= *CMR*)
- MX6 1
- SA6 X1
- RJ RSB= READ EST
- * SET HEADER INFORMATION.
- SA1 WEFB WORD 0 - EST LENGTH, ENTRY SIZE
- R= X6,ESTE
- IX5 X1*X6 SAVE EST LENGTH (WORDS)
- MX7 1
- LX1 12
- BX6 X6+X1
- SA6 EBUF
- PDATE EBUF+2 WORD 2 - PACKED DATE/TIME
- SA7 EBUF+3
- SYSTEM RSB,R,WEFC READ SYSTEM TITLE/VERSION INTO WORDS 3-10
- * WRITE COMPLETED BUFFER TO *EST* FILE.
- SX6 X5+11B+EBUF SET EFFECTIVE *IN* VALUE IN FET
- SA6 E+2
- WRITER E,R WRITE *EST* FILE
- EQ WEFX RETURN
- WEFA VFD 12/0,12/1,18/ESTP,18/*+1 *RSB* FOR *ESTP*
- VFD 1/1,59/ ESTP
- WEFB BSS 1 NUMBER OF EST ENTRIES
- WEFC VFD 12/0,12/6,18/SYTL,18/EBUF+3 *RSB* FOR TITLE/VERSION
- TITLE PRESET COMMON DECKS.
- ** COMMON DECKS.
- LIT CON 1 ALLOW LITERALS ON COMMAND
- QUAL$ EQU 1 DO NOT QUAL COMMON DECKS
- *CALL COMCARM
- *CALL COMCCPA
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCPOP
- *CALL COMCRSB
- *CALL COMCUSB
- ERRNG CBUF-*-1 IF *PRESET* OVERLAYS *CM BUFFER*
- END DAYFILE
cdc/nos2.source/opl871/dayfile.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator