User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:sechdr

Deck SECHDR

1 Modification

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.sechdr  +++|          IDENT  SECHDR,FWA
00002  M01S00002.sechdr  +++|          ABS
00003  M01S00003.sechdr  +++|          SST
00004  M01S00004.sechdr  +++|          ENTRY  SECHDR
00005  M01S00005.sechdr  +++|          ENTRY  RFL=
00006  M01S00006.sechdr  +++|          ENTRY  SSJ=
00007  M01S00007.sechdr  +++|          SYSCOM B1
00008  M01S00008.sechdr  +++|          TITLE  SECHDR - WRITE SECURITY HEADERS.
00009  M01S00009.sechdr  +++|*COMMENT  SECHDR - WRITE SECURITY HEADERS.
Line S00010 Modification History
M01 (Added by) sechdr
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00010  M02S00010.281l803 ---|          COMMENT  COPYRIGHT CONTROL DATA CORPORATION, 1982.
00011  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00012  M01S00011.sechdr  +++|          SPACE  4,10
00013  M01S00012.sechdr  +++|***       SECHDR - WRITE SECURITY HEADERS.
00014  M01S00013.sechdr  +++|*
00015  M01S00014.sechdr  +++|*         P. J. ENGLE.       82/09/01.
00016  M01S00015.sechdr  +++|*         J.    HOLLISTER    83/06/21.
00017  M01S00016.sechdr  +++|          SPACE  4,10
00018  M01S00017.sechdr  +++|***       *SECHDR* WRITES SECURITY BANNER AND/OR PAGE HEADING
00019  M01S00018.sechdr  +++|*         AND FOOTING INFORMATION ON THE NAMED FILE.
00020  M01S00019.sechdr  +++|          SPACE  4,10
00021  M01S00020.sechdr  +++|***       COMMAND FORMAT.
00022  M01S00021.sechdr  +++|*
00023  M01S00022.sechdr  +++|*         SECHDR,LFN,FF,OP=BFRP.
00024  M01S00023.sechdr  +++|*
00025  M01S00024.sechdr  +++|*         LFN = NAME OF THE FILE TO WHICH SECURITY INFORMATION
00026  M01S00025.sechdr  +++|*                IS TO BE ADDED.
00027  M01S00026.sechdr  +++|*
00028  M01S00027.sechdr  +++|*         FF = THE FILE IS ALREADY FORMATTED FOR OUTPUT.
00029  M01S00028.sechdr  +++|*
00030  M01S00029.sechdr  +++|*         THE FOLLOWING OPTIONS ARE VALID -
00031  M01S00030.sechdr  +++|*
00032  M01S00031.sechdr  +++|*         B = PRINT A BANNER PAGE AT THE BEGINNING AND END OF
00033  M01S00032.sechdr  +++|*                EACH LOGICAL UNIT AS SPECIFIED BY THE  *F* OR *R*
00034  M01S00033.sechdr  +++|*                OPTION.  IF NEITHER THE *F* NOR THE *R* OPTION IS
00035  M01S00034.sechdr  +++|*                SPECIFIED, BANNER PAGES WILL BE PRINTED AT THE
00036  M01S00035.sechdr  +++|*                BEGINNING AND END OF INFORMATION OF THE FILE.  THIS
00037  M01S00036.sechdr  +++|*                OPTION IS SELECTED BY DEFAULT.
00038  M01S00037.sechdr  +++|*
00039  M01S00038.sechdr  +++|*         F = USE LOGICAL FILES AS BANNER PAGE UNIT.
00040  M01S00039.sechdr  +++|*
00041  M01S00040.sechdr  +++|*         R = USE LOGICAL RECORDS AS BANNER PAGE UNIT.
00042  M01S00041.sechdr  +++|*
00043  M01S00042.sechdr  +++|*         P = PRINT PAGE HEADINGS AND FOOTINGS ON EACH PAGE
00044  M01S00043.sechdr  +++|*                OF OUTPUT.  THIS OPTION IS DESELECTED BY DEFAULT.
00045  M01S00044.sechdr  +++|          SPACE  4,10
00046  M01S00045.sechdr  +++|***       DAYFILE MESSAGES.
00047  M01S00046.sechdr  +++|*
00048  M01S00047.sechdr  +++|*         * ERROR IN SECHDR PARAMETERS.* = *SECHDR* HAS ENCOUNTERED
00049  M01S00048.sechdr  +++|*         AN UNKNOWN PARAMETER.
00050  M01S00049.sechdr  +++|*
00051  M01S00050.sechdr  +++|*         * NNNNN LINES TRUNCATED.* = INFORMATIVE MESSAGE INDICATING
00052  M01S00051.sechdr  +++|*         NNNNN LINES HAD TO BE TRUNCATED WHEN FORMATTING THE FILE.
00053  M01S00052.sechdr  +++|*
00054  M01S00053.sechdr  +++|*         * NO FILE NAME SPECIFIED.* = *SECHDR* HAS FOUND THAT NO
00055  M01S00054.sechdr  +++|*         FILE NAME WAS SPECIFIED ON THE COMMAND CALL.
00056  M01S00055.sechdr  +++|*
00057  M01S00056.sechdr  +++|*         * UNABLE TO PROCESS TERMINAL FILE.* = THE SPECIFIED FILE IS
00058  M01S00057.sechdr  +++|*         ASSIGNED TO A TERMINAL.
00059  M01S00058.sechdr  +++|*
00060  M01S00059.sechdr  +++|*         * UNKNOWN OPTION - X.* = *SECHDR* HAS ENCOUNTERED AN UNKNOWN
00061  M01S00060.sechdr  +++|*         OPTION.
00062  M01S00061.sechdr  +++|          SPACE  4,10
00063  M01S00062.sechdr  +++|*         COMMON DECKS.
00064  M01S00063.sechdr  +++|
00065  M01S00064.sechdr  +++|
00066  M01S00065.sechdr  +++|*CALL     COMCMAC
00067  M01S00066.sechdr  +++|*CALL     COMCCMD
00068  M01S00067.sechdr  +++|*CALL     COMSMLS
00069  M01S00068.sechdr  +++|*CALL     COMSPFM
00070  M01S00069.sechdr  +++|          SPACE  4,10
00071  M01S00070.sechdr  +++|****      ASSEMBLY CONSTANTS.
00072  M01S00071.sechdr  +++|
00073  M01S00072.sechdr  +++|
00074  M01S00073.sechdr  +++| SSJ=     EQU    0
00075  M01S00074.sechdr  +++| FBUFL    EQU    1001B       FILE BUFFER LENGTH
00076  M01S00075.sechdr  +++| SBUFL    EQU    1001B       SCRATCH BUFFER LENGTH
00077  M01S00076.sechdr  +++| WBUFL    EQU    140D        WORKING BUFFER LENGTH
00078  M01S00077.sechdr  +++|****
00079  M01S00078.sechdr  +++|          SPACE  4,10
00080  M01S00079.sechdr  +++|          TITLE  FETS AND RESERVED LOCATIONS.
00081  M01S00080.sechdr  +++|          ORG    126B
00082  M01S00081.sechdr  +++|          SPACE  4,10
00083  M01S00082.sechdr  +++| FWA      BSS    0
00084  M01S00083.sechdr  +++|
00085  M01S00084.sechdr  +++|*         FETS.
00086  M01S00085.sechdr  +++|
00087  M01S00086.sechdr  +++|
00088  M01S00087.sechdr  +++| F        BSS    0           LOCAL FILE
00089  M01S00088.sechdr  +++| SECFILE  FILEB  FBUF,FBUFL,FET=7
00090  M01S00089.sechdr  +++|
00091  M01S00090.sechdr  +++| S        BSS    0           SCRATCH FILE
00092  M01S00091.sechdr  +++| ZZZZZG1  FILEB  SBUF,SBUFL,FET=7
00093  M01S00092.sechdr  +++|          SPACE  4,10
00094  M01S00093.sechdr  +++|*         GLOBAL STORAGE.
00095  M01S00094.sechdr  +++|
00096  M01S00095.sechdr  +++|
00097  M01S00096.sechdr  +++| ALVL     CON    0           ACCESS LEVEL NAME
00098  M01S00097.sechdr  +++| BCFL     CON    0           BACKCOPY FLAG
00099  M01S00098.sechdr  +++| BLKL     CON    1L          BLANK LINE
00100  M01S00099.sechdr  +++| BOPL     CON    1L2         BOTTOM OF PAGE LINE
00101  M01S00100.sechdr  +++| BPBL     CON    0           LENGTH OF ACCESS LEVEL NAME BUFFER
00102  M01S00101.sechdr  +++| BUNT     CON    1           BANNER UNIT
00103  M01S00102.sechdr  +++| EPWH     CON    0           EMPTY PAGE WITH HEADER FLAG
00104  M01S00103.sechdr  +++| FORM     CON    0           FORMATTED FILE
00105  M01S00104.sechdr  +++| LCNT     CON    0           LINES REMAINING
00106  M01S00105.sechdr  +++| LNPG     CON    0           LINES/PAGE
00107  M01S00106.sechdr  +++| LTCT     CON    0           LINES TRUNCATED COUNT
00108  M01S00107.sechdr  +++| PDEN     CON    0           PRINT DENSITY
00109  M01S00108.sechdr  +++| POPT     CON    0           PAGE HEAD/FOOT OPTION
00110  M01S00109.sechdr  +++|
00111  M01S00110.sechdr  +++|
00112  M01S00111.sechdr  +++|*         PAGE HEADING/FOOTING.
00113  M01S00112.sechdr  +++|
00114  M01S00113.sechdr  +++|
00115  M01S00114.sechdr  +++| FOOT     DATA   1L          PAGE FOOTING
00116  M01S00115.sechdr  +++|          DATA   40H          XXXXXXX             XXXXXXX
00117  M01S00116.sechdr  +++|          DATA   50H          XXXXXXX             XXXXXXX
00118  M01S00117.sechdr  +++|          DATA   40HXXXXXX              XXXXXXX
00119  M01S00118.sechdr  +++|          CON    0
00120  M01S00119.sechdr  +++|          DATA   1L
00121  M01S00120.sechdr  +++| FOOTL    EQU    *-FOOT      PAGE FOOTING LENGTH
00122  M01S00121.sechdr  +++|
00123  M01S00122.sechdr  +++| HEAD     DATA   1L1         PAGE HEADING
00124  M01S00123.sechdr  +++|          DATA   40H          XXXXXXX             XXXXXXX
00125  M01S00124.sechdr  +++|          DATA   50H          XXXXXXX             XXXXXXX
00126  M01S00125.sechdr  +++|          DATA   40HXXXXXX              XXXXXXX
00127  M01S00126.sechdr  +++|          CON    0
00128  M01S00127.sechdr  +++|          DATA   1L
00129  M01S00128.sechdr  +++| HEADL    EQU    *-HEAD      PAGE HEADING LENGTH
00130  M01S00129.sechdr  +++|
00131  M01S00130.sechdr  +++| SHFL     EQU    6           SECURITY HEADING/FOOTING LINE COUNT
00132  M01S00131.sechdr  +++|          TITLE  MAIN PROGRAM.
00133  M01S00132.sechdr  +++|          SPACE  4,10
00134  M01S00133.sechdr  +++|*         MAIN PROGRAM.
00135  M01S00134.sechdr  +++|
00136  M01S00135.sechdr  +++|
00137  M01S00136.sechdr  +++| SECHDR   SB1    1
00138  M01S00137.sechdr  +++|          RJ     PRS         PRESET
00139  M01S00138.sechdr  +++|          WRITEC S,PDEN      WRITE PRINT DENSITY CONTROL
00140  M01S00139.sechdr  +++|          SA1    BUNT
00141  M01S00140.sechdr  +++|          SX1    X1-1
00142  M01S00141.sechdr  +++|          PL     X1,SEC1     IF NO BANNER PAGE TO BE WRITTEN
00143  M01S00142.sechdr  +++|          RJ     CBP         CREATE BANNER PAGE
00144  M01S00143.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00145  M01S00144.sechdr  +++|          SX0    B0+         SET DATA READ
00146  M01S00145.sechdr  +++| SEC1     SA1    POPT
00147  M01S00146.sechdr  +++|          ZR     X1,SEC3     IF HEAD/FOOT OPTION NOT SET
00148  M01S00147.sechdr  +++|          SA1    FORM        CHECK IF FILE FORMATTED
00149  M01S00148.sechdr  +++|          ZR     X1,SEC2     IF FILE NOT FORMATTED
00150  M01S00149.sechdr  +++|          RJ     HFF         HEAD/FOOT PROCESSOR FOR FORMATTED FILE
00151  M01S00150.sechdr  +++|          EQ     SEC4        BACKCOPY FILE
00152  M01S00151.sechdr  +++|
00153  M01S00152.sechdr  +++| SEC2     RJ     HFU         HEAD/FOOT PROCESSOR FOR UNFORMATTED FILE
00154  M01S00153.sechdr  +++|          EQ     SEC4        BACKCOPY FILE
00155  M01S00154.sechdr  +++|
00156  M01S00155.sechdr  +++| SEC3     RJ     BPP         BANNER PAGE PROCESSOR
00157  M01S00156.sechdr  +++| SEC4     RJ     BCF         BACKCOPY FILE
00158  M01S00157.sechdr  +++|          ENDRUN
00159  M01S00158.sechdr  +++|          TITLE  SUBROUTINES.
00160  M01S00159.sechdr  +++| BCF      SPACE  4,10
00161  M01S00160.sechdr  +++|**        BCF - BACKCOPY FILE.
00162  M01S00161.sechdr  +++|*
00163  M01S00162.sechdr  +++|*         ENTRY  (BCFL) = BACKCOPY FLAG.
00164  M01S00163.sechdr  +++|*
00165  M01S00164.sechdr  +++|*         USES   X - 1.
00166  M01S00165.sechdr  +++|*                A - 1.
00167  M01S00166.sechdr  +++|*
00168  M01S00167.sechdr  +++|*         MACROS READ, READW, RECALL, RENAME, RETURN, REWIND, WRITEF,
00169  M01S00168.sechdr  +++|*                WRITER, WRITEW.
00170  M01S00169.sechdr  +++|
00171  M01S00170.sechdr  +++|
00172  M01S00171.sechdr  +++| BCF      SUBR               ENTRY/EXIT
00173  M01S00172.sechdr  +++|          REWIND F
00174  M01S00173.sechdr  +++|          REWIND S
00175  M01S00174.sechdr  +++|          SA1    BCFL        GET BACKCOPY FLAG
00176  M01S00175.sechdr  +++|          NZ     X1,BCF6     IF BACKCOPY NOT REQUIRED
00177  M01S00176.sechdr  +++| BCF1     READ   S
00178  M01S00177.sechdr  +++|          RECALL F
00179  M01S00178.sechdr  +++| BCF2     READW  S,WBUF,WBUFL
00180  M01S00179.sechdr  +++|          ZR     X1,BCF3     IF TRANSFER COMPLETE
00181  M01S00180.sechdr  +++|          NG     X1,BCF4     IF EOF OR EOI
00182  M01S00181.sechdr  +++|
00183  M01S00182.sechdr  +++|*         EOR ENCOUNTERED.
00184  M01S00183.sechdr  +++|
00185  M01S00184.sechdr  +++|          WRITEW F,WBUF,X1-WBUF  WRITE LAST PORTION OF RECORD
00186  M01S00185.sechdr  +++|          WRITER F
00187  M01S00186.sechdr  +++|          EQ     BCF1        READ NEXT RECORD
00188  M01S00187.sechdr  +++|
00189  M01S00188.sechdr  +++| BCF3     WRITEW F,WBUF,WBUFL
00190  M01S00189.sechdr  +++|          EQ     BCF2        TRANSFER MORE DATA
00191  M01S00190.sechdr  +++|
00192  M01S00191.sechdr  +++| BCF4     SX1    X1+1
00193  M01S00192.sechdr  +++|          NG     X1,BCF5     IF EOI ENCOUNTERED
00194  M01S00193.sechdr  +++|
00195  M01S00194.sechdr  +++|*         EOF ENCOUNTERED.
00196  M01S00195.sechdr  +++|
00197  M01S00196.sechdr  +++|          WRITEF F
00198  M01S00197.sechdr  +++|          EQ     BCF1        READ NEXT RECORD
00199  M01S00198.sechdr  +++|
00200  M01S00199.sechdr  +++|*         EOI ENCOUNTERED.
00201  M01S00200.sechdr  +++|
00202  M01S00201.sechdr  +++| BCF5     RETURN S           RETURN SCRATCH FILE
00203  M01S00202.sechdr  +++|          REWIND F           REWIND FILE
00204  M01S00203.sechdr  +++|          EQ     BCFX        RETURN
00205  M01S00204.sechdr  +++|
00206  M01S00205.sechdr  +++| BCF6     RENAME S,F
00207  M01S00206.sechdr  +++|          EQ     BCFX        RETURN
00208  M01S00207.sechdr  +++| BPP      SPACE  4,15
00209  M01S00208.sechdr  +++|**        BPP - BANNER PAGE PROCESSOR.
00210  M01S00209.sechdr  +++|*
00211  M01S00210.sechdr  +++|*         ENTRY  (BUNT) = BANNER UNIT VALUE.
00212  M01S00211.sechdr  +++|*                (X0) = 0 (DATA READ FLAG).
00213  M01S00212.sechdr  +++|*
00214  M01S00213.sechdr  +++|*         USES   X - 0, 1, 2, 5, 6, 7.
00215  M01S00214.sechdr  +++|*                A - 1, 2, 5, 6, 7.
00216  M01S00215.sechdr  +++|*
00217  M01S00216.sechdr  +++|*         CALLS  CLC, WBP.
00218  M01S00217.sechdr  +++|*
00219  M01S00218.sechdr  +++|*         MACROS READ, READS, RECALL, WRITEC, WRITEF, WRITER, WRITES.
00220  M01S00219.sechdr  +++|*
00221  M01S00220.sechdr  +++|*         DEFINE (X0) = 0 IF DATA READ.
00222  M01S00221.sechdr  +++|*                     = -1 IF NO DATA (EOR).
00223  M01S00222.sechdr  +++|*                     = -2 IF NO DATA (EOF).
00224  M01S00223.sechdr  +++|
00225  M01S00224.sechdr  +++| BPP      SUBR               ENTRY/EXIT
00226  M01S00225.sechdr  +++|
00227  M01S00226.sechdr  +++|*         READ FILE.
00228  M01S00227.sechdr  +++|
00229  M01S00228.sechdr  +++| BPP1     SX7    1R1         SET NEW PAGE FOR UNFORMATTED FILE
00230  M01S00229.sechdr  +++|          SA7    WBUFS
00231  M01S00230.sechdr  +++|          SA1    LNPG        FORCE NEW PAGE
00232  M01S00231.sechdr  +++|          BX6    X1
00233  M01S00232.sechdr  +++|          SA6    LCNT
00234  M01S00233.sechdr  +++|          READ   F
00235  M01S00234.sechdr  +++|          RECALL S
00236  M01S00235.sechdr  +++| BPP2     READS  F,WBUF,WBUFL
00237  M01S00236.sechdr  +++|          ZR     X1,BPP3     IF TRANSFER COMPLETE
00238  M01S00237.sechdr  +++|          SA5    BUNT        GET BANNER UNIT
00239  M01S00238.sechdr  +++|          SX5    X5+B1
00240  M01S00239.sechdr  +++|          NG     X1,BPP6     IF EOF OR EOI
00241  M01S00240.sechdr  +++|
00242  M01S00241.sechdr  +++|*         EOR ENCOUNTERED.
00243  M01S00242.sechdr  +++|
00244  M01S00243.sechdr  +++|          WRITER S
00245  M01S00244.sechdr  +++|          SX0    B0+         SET DATA (EOR) READ
00246  M01S00245.sechdr  +++|          SX1    X5-1
00247  M01S00246.sechdr  +++|          NG     X1,BPP1     IF BANNER UNIT NOT RECORD
00248  M01S00247.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00249  M01S00248.sechdr  +++|          SX0    -1          SET NO DATA (EOR)
00250  M01S00249.sechdr  +++|          EQ     BPP1        READ NEXT RECORD
00251  M01S00250.sechdr  +++|
00252  M01S00251.sechdr  +++|*         WRITE FILE LINE
00253  M01S00252.sechdr  +++|
00254  M01S00253.sechdr  +++| BPP3     SA2    FORM
00255  M01S00254.sechdr  +++|          SA1    WBUFS+X2    GET FIRST CHARACTER IN LINE
00256  M01S00255.sechdr  +++|          BX0    X0-X0       SET DATA READ
00257  M01S00256.sechdr  +++|          LX1    -6          LEFT JUSTIFY CHARACTER
00258  M01S00257.sechdr  +++|          RJ     CLC         CHECK LINE COUNT
00259  M01S00258.sechdr  +++|          NG     X2,BPP2     IF LINE SHOULD NOT BE WRITTEN
00260  M01S00259.sechdr  +++|          NZ     X2,BPP5     IF NOT END OF PAGE
00261  M01S00260.sechdr  +++|          ZR     X4,BPP5     IF LINE ALREADY HAS PAGE EJECT
00262  M01S00261.sechdr  +++| BPP4     WRITEC S,BOPL      SKIP TO BOTTOM OF PAGE
00263  M01S00262.sechdr  +++| BPP5     SA1    FORM        FORMAT OUTPUT IF FILE UNFORMATTED
00264  M01S00263.sechdr  +++|          SX1    X1+WBUFS
00265  M01S00264.sechdr  +++|          WRITES S,X1,WBUFL
00266  M01S00265.sechdr  +++|          SX6    1R          RESET FIRST CHARACTER BLANK
00267  M01S00266.sechdr  +++|          SA6    WBUFS
00268  M01S00267.sechdr  +++|          EQ     BPP2        TRANSFER MORE DATA
00269  M01S00268.sechdr  +++|
00270  M01S00269.sechdr  +++| BPP6     SX1    X1+1
00271  M01S00270.sechdr  +++|          NG     X1,BPP9     IF EOI ENCOUNTERED
00272  M01S00271.sechdr  +++|
00273  M01S00272.sechdr  +++|*         EOF ENCOUNTERED.
00274  M01S00273.sechdr  +++|
00275  M01S00274.sechdr  +++|          WRITEF S
00276  M01S00275.sechdr  +++|          ZR     X5,BPP7     IF BANNER UNIT FILE
00277  M01S00276.sechdr  +++|          SX1    X5-1
00278  M01S00277.sechdr  +++|          NZ     X1,BPP8     IF BANNER UNIT NOT RECORD
00279  M01S00278.sechdr  +++|          SX1    X0+1
00280  M01S00279.sechdr  +++|          ZR     X1,BPP8     IF NO DATA (EOR)
00281  M01S00280.sechdr  +++| BPP7     RJ     WBP         WRITE BANNER PAGE
00282  M01S00281.sechdr  +++| BPP8     SX0    -2          SET NO DATA (EOF)
00283  M01S00282.sechdr  +++|          EQ     BPP1        READ NEXT RECORD
00284  M01S00283.sechdr  +++|
00285  M01S00284.sechdr  +++|*         EOI ENCOUNTERED.
00286  M01S00285.sechdr  +++|
00287  M01S00286.sechdr  +++| BPP9     NG     X5,BPP10    IF BANNER AT BOI/EOI
00288  M01S00287.sechdr  +++|          NG     X0,BPPX     IF NO DATA READ SINCE LAST BANNER WRITTEN
00289  M01S00288.sechdr  +++| BPP10    RJ     WBP         WRITE BANNER PAGE
00290  M01S00289.sechdr  +++|          EQ     BPPX
00291  M01S00290.sechdr  +++| CBP      SPACE  4,15
00292  M01S00291.sechdr  +++|**        CBP - CREATE BANNER PAGE.
00293  M01S00292.sechdr  +++|*
00294  M01S00293.sechdr  +++|*         EXIT   (BPBL) = LENGTH OF ACCESS LEVEL NAME BUFFER.
00295  M01S00294.sechdr  +++|*
00296  M01S00295.sechdr  +++|*         USES   X - 0, 1, 2, 4, 6.
00297  M01S00296.sechdr  +++|*                A - 1, 2, 4, 6.
00298  M01S00297.sechdr  +++|*                B - 2.
00299  M01S00298.sechdr  +++|*
00300  M01S00299.sechdr  +++|*         CALLS  BAN.
00301  M01S00300.sechdr  +++|*
00302  M01S00301.sechdr  +++|*         MACROS DATE, USERNUM.
00303  M01S00302.sechdr  +++|
00304  M01S00303.sechdr  +++|
00305  M01S00304.sechdr  +++| CBP      SUBR               ENTRY/EXIT
00306  M01S00305.sechdr  +++|          SA1    F           GET FILE NAME
00307  M01S00306.sechdr  +++|          MX0    42
00308  M01S00307.sechdr  +++|          BX6    X0*X1
00309  M01S00308.sechdr  +++|          SA6    BPBA+2
00310  M01S00309.sechdr  +++|          DATE   BPBB+2      GET CURRENT DATE
00311  M01S00310.sechdr  +++|          SA1    BPBB+2      REMOVE LEADING SPACE
00312  M01S00311.sechdr  +++|          SB2    6
00313  M01S00312.sechdr  +++|          LX6    X1,B2
00314  M01S00313.sechdr  +++|          SA6    A1
00315  M01S00314.sechdr  +++|          USERNUM  BPBC+2    GET USER NAME
00316  M01S00315.sechdr  +++|          SA4    ALVL        GET ACCESS LEVEL NAME
00317  M01S00316.sechdr  +++|          SA2    BPB2
00318  M01S00317.sechdr  +++|          RJ     BAN         ENCODE BANNER MESSAGE
00319  M01S00318.sechdr  +++|          SX6    A2-BPB2     STORE LENGTH OF ACCESS LEVEL NAME BUFFER
00320  M01S00319.sechdr  +++|          SA6    BPBL
00321  M01S00320.sechdr  +++|          EQ     CBPX        RETURN
00322  M01S00321.sechdr  +++| CLC      SPACE  4,15
00323  M01S00322.sechdr  +++|**        CLC - CHECK LINE COUNT.
00324  M01S00323.sechdr  +++|*
00325  M01S00324.sechdr  +++|*         ENTRY  (X1) = FIRST CHARACTER OF LINE, LEFT JUSTIFIED.
00326  M01S00325.sechdr  +++|*
00327  M01S00326.sechdr  +++|*         EXIT   (X2) = 1, IF NOT END OF PAGE.
00328  M01S00327.sechdr  +++|*                     = 0, IF END OF PAGE.
00329  M01S00328.sechdr  +++|*                     = -1, IF LINE SHOULD NOT BE PRINTED.
00330  M01S00329.sechdr  +++|*                (X7) = LINES LEFT ON PAGE.
00331  M01S00330.sechdr  +++|*                (X5) = 0, IF PAGE EMPTY BEFORE READING THIS LINE.
00332  M01S00331.sechdr  +++|*                (X4) = 0, IF CHARACTER IS PAGE EJECT.
00333  M01S00332.sechdr  +++|*                     = 1, IF CHARACTER IS NOT PAGE EJECT.
00334  M01S00333.sechdr  +++|*
00335  M01S00334.sechdr  +++|*         USES   X - 1, 2, 3, 4, 5, 6, 7.
00336  M01S00335.sechdr  +++|*                A - 1, 2, 3, 4, 5, 6, 7.
00337  M01S00336.sechdr  +++|*                B - 2.
00338  M01S00337.sechdr  +++|*
00339  M01S00338.sechdr  +++|*         CALLS  RCC, SBP.
00340  M01S00339.sechdr  +++|*
00341  M01S00340.sechdr  +++|*         MACROS WRITEW.
00342  M01S00341.sechdr  +++|
00343  M01S00342.sechdr  +++|
00344  M01S00343.sechdr  +++| CLC10    SX3    1           FORCE LINE INCREMENT OF ONE
00345  M01S00344.sechdr  +++| CLC11    SA4    LCNT        UPDATE LINE COUNT
00346  M01S00345.sechdr  +++|          IX7    X4-X3
00347  M01S00346.sechdr  +++|          SA7    A4
00348  M01S00347.sechdr  +++|          SX2    B1+         SET NOT END OF PAGE
00349  M01S00348.sechdr  +++|          PL     X7,CLC13    IF NOT END OF PAGE
00350  M01S00349.sechdr  +++| CLC12    SA2    LNPG        RESET LINE COUNT
00351  M01S00350.sechdr  +++|          IX6    X2-X3
00352  M01S00351.sechdr  +++|          IX7    X7+X3       RESET LINES REMAINING ON PAGE
00353  M01S00352.sechdr  +++|          SA6    LCNT
00354  M01S00353.sechdr  +++|          SX2    B0+         SET END OF PAGE
00355  M01S00354.sechdr  +++| CLC13    SX4    B1+         SET NOT PAGE EJECT
00356  M01S00355.sechdr  +++|          SA5    CLCA        SET PAGE EMPTY STATUS
00357  M01S00356.sechdr  +++|
00358  M01S00357.sechdr  +++| CLC      SUBR
00359  M01S00358.sechdr  +++|          SA2    LNPG        SAVE PAGE EMPTY STATUS
00360  M01S00359.sechdr  +++|          SA3    LCNT
00361  M01S00360.sechdr  +++|          SA4    EPWH
00362  M01S00361.sechdr  +++|          IX6    X2-X3
00363  M01S00362.sechdr  +++|          IX6    X4+X6       ADD *EMPTY PAGE WITH HEADER* FLAG
00364  M01S00363.sechdr  +++|          SA6    CLCA
00365  M01S00364.sechdr  +++|          BX7    X7-X7       CLEAR FLAG
00366  M01S00365.sechdr  +++|          SA7    A4
00367  M01S00366.sechdr  +++|          MX6    6
00368  M01S00367.sechdr  +++|          SA3    BLKL        CHECK FOR CARRIAGE CONTROL
00369  M01S00368.sechdr  +++|          BX3    X1-X3
00370  M01S00369.sechdr  +++|          ZR     X3,CLC10    IF NO CARRIAGE CONTROL
00371  M01S00370.sechdr  +++|          SB2    TCCCL-1
00372  M01S00371.sechdr  +++| CLC1     SA3    TCCC+B2     SEARCH FOR CARRIAGE CONTROL CHARACTER
00373  M01S00372.sechdr  +++|          BX4    X6*X3
00374  M01S00373.sechdr  +++|          BX7    X4-X1
00375  M01S00374.sechdr  +++|          ZR     X7,CLC2     IF CHARACTER FOUND
00376  M01S00375.sechdr  +++|          SB2    B2-1
00377  M01S00376.sechdr  +++|          PL     B2,CLC1     IF MORE TABLE TO SEARCH
00378  M01S00377.sechdr  +++|          EQ     CLC10       IGNORE UNKNOWN CARRIAGE CONTROL CHARACTER
00379  M01S00378.sechdr  +++|
00380  M01S00379.sechdr  +++| CLC2     SX3    X3          EXTRACT LINE COUNT
00381  M01S00380.sechdr  +++|          SX2    -B1
00382  M01S00381.sechdr  +++|          NG     X3,CLCX     IF LINE TO BE IGNORED
00383  M01S00382.sechdr  +++|          SA1    LNPG        SET PAGE EMPTY STATUS
00384  M01S00383.sechdr  +++|          SA2    LCNT
00385  M01S00384.sechdr  +++|          LX4    6
00386  M01S00385.sechdr  +++|          SA5    CLCA
00387  M01S00386.sechdr  +++|          SX7    X4-1R2
00388  M01S00387.sechdr  +++|          ZR     X7,CLC6     IF CARRIAGE CONTROL IS *2*
00389  M01S00388.sechdr  +++|          SX7    X4-1R/
00390  M01S00389.sechdr  +++|          ZR     X7,CLC9     IF CARRIAGE CONTROL IS */*
00391  M01S00390.sechdr  +++|          SX7    X4-1R1
00392  M01S00391.sechdr  +++|          NZ     X7,CLC11    IF CARRIAGE CONTROL IS NOT *1*
00393  M01S00392.sechdr  +++|
00394  M01S00393.sechdr  +++|*         PROCESS PAGE EJECT.
00395  M01S00394.sechdr  +++|
00396  M01S00395.sechdr  +++| CLC3     BX7    X2          SET LINES LEFT ON PAGE
00397  M01S00396.sechdr  +++|          IX6    X1-X3       UPDATE LINE COUNT
00398  M01S00397.sechdr  +++|          SA6    LCNT
00399  M01S00398.sechdr  +++|          SA1    POPT
00400  M01S00399.sechdr  +++|          ZR     X1,CLC4     IF CARRIAGE CONTROL SHOULD BE LEFT ON
00401  M01S00400.sechdr  +++|          RJ     RCC         REMOVE CARRIAGE CONTROL CHARACTER
00402  M01S00401.sechdr  +++| CLC4     SX2    B0+         SET END OF PAGE
00403  M01S00402.sechdr  +++|          NZ     X5,CLC5     IF PAGE NOT EMPTY
00404  M01S00403.sechdr  +++|          SX2    B1          SET NOT END OF PAGE
00405  M01S00404.sechdr  +++| CLC5     BX4    X4-X4       SET PAGE EJECT
00406  M01S00405.sechdr  +++|          EQ     CLCX        RETURN
00407  M01S00406.sechdr  +++|
00408  M01S00407.sechdr  +++|*         PROCESS SKIP TO BOTTOM OF PAGE.
00409  M01S00408.sechdr  +++|
00410  M01S00409.sechdr  +++| CLC6     SA3    POPT
00411  M01S00410.sechdr  +++|          NZ     X3,CLC7     IF CARRIAGE CONTROL SHOULD BE REMOVED
00412  M01S00411.sechdr  +++|          BX7    X1          RESET LINE COUNT
00413  M01S00412.sechdr  +++|          SA7    LCNT
00414  M01S00413.sechdr  +++|          SX2    B1          SET NOT END OF PAGE
00415  M01S00414.sechdr  +++|          EQ     CLC13       SET NOT PAGE EJECT
00416  M01S00415.sechdr  +++|
00417  M01S00416.sechdr  +++| CLC7     SX7    X2-1
00418  M01S00417.sechdr  +++|          NZ     X5,CLC8     IF PAGE NOT EMPTY
00419  M01S00418.sechdr  +++|          WRITEW S,HEAD,HEADL  WRITE HEADER
00420  M01S00419.sechdr  +++|          SA1    LNPG
00421  M01S00420.sechdr  +++|          SX7    X1-1
00422  M01S00421.sechdr  +++| CLC8     RJ     SBP         SKIP TO BOTTOM OF PAGE
00423  M01S00422.sechdr  +++|          RJ     RCC         REMOVE CARRIAGE CONTROL CHARACTER
00424  M01S00423.sechdr  +++|          BX7    X7-X7       SET PAGE AT LAST LINE
00425  M01S00424.sechdr  +++|          SA7    LCNT
00426  M01S00425.sechdr  +++|          SX2    B1          SET NOT END OF PAGE
00427  M01S00426.sechdr  +++|          SX5    B1          INSURE NO HEADER WRITTEN
00428  M01S00427.sechdr  +++|          SX4    B1          SET NOT PAGE EJECT
00429  M01S00428.sechdr  +++|          EQ     CLCX        RETURN
00430  M01S00429.sechdr  +++|
00431  M01S00430.sechdr  +++|*         PROCESS SUPPRESS CARRIAGE ADVANCE AFTER PRINTING.
00432  M01S00431.sechdr  +++|
00433  M01S00432.sechdr  +++| CLC9     NZ     X2,CLC11    IF NOT END OF PAGE
00434  M01S00433.sechdr  +++|          SX7    B0+
00435  M01S00434.sechdr  +++|          SX6    B1          SET *EMPTY PAGE WITH HEADER* FLAG
00436  M01S00435.sechdr  +++|          SA6    EPWH
00437  M01S00436.sechdr  +++|          EQ     CLC12       FORCE END OF PAGE
00438  M01S00437.sechdr  +++|
00439  M01S00438.sechdr  +++|
00440  M01S00439.sechdr  +++| CLCA     CON    0           PAGE EMPTY STATUS
00441  M01S00440.sechdr  +++| TCCC     SPACE  4,10
00442  M01S00441.sechdr  +++|**        TABLE OF CARRIAGE CONTROL CHARACTERS.
00443  M01S00442.sechdr  +++|*
00444  M01S00443.sechdr  +++|*T,TCCC   6/ CC,36/ 0,18/ LC
Figure TCCC

0171829 LC 030535459 0 CC

00445  M01S00444.sechdr  +++|*
00446  M01S00445.sechdr  +++|*         CC = CHARACTER.
00447  M01S00446.sechdr  +++|*         LC = LINE COUNT TO ADD.
00448  M01S00447.sechdr  +++|
00449  M01S00448.sechdr  +++|
00450  M01S00449.sechdr  +++| TCCC     BSS    0
00451  M01S00450.sechdr  +++|          VFD    6/1L/,36/0,18/0
00452  M01S00451.sechdr  +++|          VFD    6/1L2,36/0,18/0
00453  M01S00452.sechdr  +++|          VFD    6/1L+,36/0,18/0
00454  M01S00453.sechdr  +++|          VFD    6/1L-,36/0,18/3
00455  M01S00454.sechdr  +++|          VFD    6/1L0,36/0,18/2
00456  M01S00455.sechdr  +++|          VFD    6/1LS,36/0,18/-1
00457  M01S00456.sechdr  +++|          VFD    6/1LT,36/0,18/-1
00458  M01S00457.sechdr  +++|          VFD    6/1L1,36/0,18/1
00459  M01S00458.sechdr  +++| TCCCL    EQU    *-TCCC
00460  M01S00459.sechdr  +++| HFF      SPACE  4,20
00461  M01S00460.sechdr  +++|**        HFF - OUTPUT HEAD AND FOOT SECURITY LINES FOR A
00462  M01S00461.sechdr  +++|*                FORMATTED FILE.
00463  M01S00462.sechdr  +++|*
00464  M01S00463.sechdr  +++|*         ENTRY  (BUNT) = BANNER UNIT VALUE.
00465  M01S00464.sechdr  +++|*                (X0) = 0 (DATA READ).
00466  M01S00465.sechdr  +++|*
00467  M01S00466.sechdr  +++|*         USES   X - 0, 1, 2, 5, 6, 7.
00468  M01S00467.sechdr  +++|*                A - 1, 2, 6.
00469  M01S00468.sechdr  +++|*
00470  M01S00469.sechdr  +++|*         CALLS  CLC, SBP, WBP.
00471  M01S00470.sechdr  +++|*
00472  M01S00471.sechdr  +++|*         MACROS READ, READC, RECALL, WRITEC, WRITEF, WRITER, WRITEW.
00473  M01S00472.sechdr  +++|*
00474  M01S00473.sechdr  +++|*         DEFINE (X0) = 0 IF DATA READ.
00475  M01S00474.sechdr  +++|*                     = -1 IF NO DATA (EOR).
00476  M01S00475.sechdr  +++|*                     = -2 IF NO DATA (EOF).
00477  M01S00476.sechdr  +++|
00478  M01S00477.sechdr  +++|
00479  M01S00478.sechdr  +++| HFF      SUBR               ENTRY/EXIT
00480  M01S00479.sechdr  +++|
00481  M01S00480.sechdr  +++|*         READ FILE.
00482  M01S00481.sechdr  +++|
00483  M01S00482.sechdr  +++| HFF1     SA1    LNPG        FORCE NEW PAGE
00484  M01S00483.sechdr  +++|          BX6    X1
00485  M01S00484.sechdr  +++|          BX7    X7-X7
00486  M01S00485.sechdr  +++|          SA6    LCNT
00487  M01S00486.sechdr  +++|          SA7    EPWH        CLEAR EMPTY PAGE WITH HEADER FLAG
00488  M01S00487.sechdr  +++|          READ   F
00489  M01S00488.sechdr  +++|          RECALL S
00490  M01S00489.sechdr  +++|
00491  M01S00490.sechdr  +++|*         READ FILE LINE.
00492  M01S00491.sechdr  +++|
00493  M01S00492.sechdr  +++| HFF2     READC  F,WBUF,WBUFL
00494  M01S00493.sechdr  +++|          ZR     X1,HFF4     IF TRANSFER COMPLETE
00495  M01S00494.sechdr  +++|          NG     X1,HFF8     IF EOF OR EOI
00496  M01S00495.sechdr  +++|
00497  M01S00496.sechdr  +++|*         END OF RECORD ENCOUNTERED.
00498  M01S00497.sechdr  +++|
00499  M01S00498.sechdr  +++|          SA2    LCNT        ENSURE FOOTING AT BOTTOM OF PAGE
00500  M01S00499.sechdr  +++|          SA1    LNPG
00501  M01S00500.sechdr  +++|          IX1    X1-X2
00502  M01S00501.sechdr  +++|          NZ     X1,HFF3     IF HEADING ALREADY WRITTEN
00503  M01S00502.sechdr  +++|          SA1    EPWH
00504  M01S00503.sechdr  +++|          NZ     X1,HFF3     IF HEADING ALREADY WRITTEN
00505  M01S00504.sechdr  +++|          WRITEW S,HEAD,HEADL  WRITE HEADING
00506  M01S00505.sechdr  +++|          SA2    LNPG
00507  M01S00506.sechdr  +++| HFF3     BX7    X2
00508  M01S00507.sechdr  +++|          RJ     SBP         SKIP TO BOTTOM OF PAGE
00509  M01S00508.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00510  M01S00509.sechdr  +++|          WRITER S
00511  M01S00510.sechdr  +++|          SX0    B0+         SET DATA (EOR) READ
00512  M01S00511.sechdr  +++|          SA1    BUNT
00513  M01S00512.sechdr  +++|          NZ     X1,HFF1     IF BANNER UNIT NOT RECORD
00514  M01S00513.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00515  M01S00514.sechdr  +++|          SX0    -1          SET NO DATA
00516  M01S00515.sechdr  +++|          EQ     HFF1        READ NEXT RECORD
00517  M01S00516.sechdr  +++|
00518  M01S00517.sechdr  +++|*         WRITE FILE LINE.
00519  M01S00518.sechdr  +++|
00520  M01S00519.sechdr  +++| HFF4     SX0    B0+         SET DATA READ
00521  M01S00520.sechdr  +++|          SA1    WBUF        GET FIRST CHARACTER IN LINE
00522  M01S00521.sechdr  +++|          MX2    6
00523  M01S00522.sechdr  +++|          BX1    X2*X1
00524  M01S00523.sechdr  +++|          RJ     CLC         CHECK LINE COUNT
00525  M01S00524.sechdr  +++|          NG     X2,HFF2     IF LINE SHOULD BE SKIPPED
00526  M01S00525.sechdr  +++|          ZR     X5,HFF6     IF HEADING NOT ALREADY WRITTEN
00527  M01S00526.sechdr  +++|          NZ     X2,HFF7     IF NOT END OF PAGE
00528  M01S00527.sechdr  +++|          RJ     SBP         SKIP TO BOTTOM OF PAGE
00529  M01S00528.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00530  M01S00529.sechdr  +++| HFF6     WRITEW S,HEAD,HEADL  WRITE HEADING
00531  M01S00530.sechdr  +++| HFF7     WRITEC S,WBUF      WRITE DATA LINE
00532  M01S00531.sechdr  +++|          EQ     HFF2        READ NEXT LINE
00533  M01S00532.sechdr  +++|
00534  M01S00533.sechdr  +++| HFF8     SX1    X1+1
00535  M01S00534.sechdr  +++|          NG     X1,HFF11    IF EOI ENCOUNTERED
00536  M01S00535.sechdr  +++|          WRITEF S
00537  M01S00536.sechdr  +++|          SA1    BUNT
00538  M01S00537.sechdr  +++|          SX1    X1+1
00539  M01S00538.sechdr  +++|          ZR     X1,HFF9     IF BANNER UNIT FILE
00540  M01S00539.sechdr  +++|          SX1    X1-1
00541  M01S00540.sechdr  +++|          NZ     X1,HFF10    IF BANNER UNIT NOT RECORD
00542  M01S00541.sechdr  +++|          SX1    X0+1
00543  M01S00542.sechdr  +++|          ZR     X1,HFF10
00544  M01S00543.sechdr  +++| HFF9     RJ     WBP         WRITE BANNER PAGE
00545  M01S00544.sechdr  +++| HFF10    SX0    -2          SET NO DATA (EOF)
00546  M01S00545.sechdr  +++|          EQ     HFF1        READ NEXT RECORD
00547  M01S00546.sechdr  +++|
00548  M01S00547.sechdr  +++| HFF11    SA1    BUNT
00549  M01S00548.sechdr  +++|          SX2    X1+2
00550  M01S00549.sechdr  +++|          ZR     X2,HFF12    IF BANNER AT BOI/EOI
00551  M01S00550.sechdr  +++|          NG     X0,HFFX     IF NO DATA READ SINCE LAST BANNER WRITTEN
00552  M01S00551.sechdr  +++|          SX2    X1-1
00553  M01S00552.sechdr  +++|          ZR     X2,HFFX     IF BANNER NOT TO BE WRITTEN
00554  M01S00553.sechdr  +++| HFF12    RJ     WBP         WRITE BANNER PAGE
00555  M01S00554.sechdr  +++|          EQ     HFFX        RETURN
00556  M01S00555.sechdr  +++| HFU      SPACE  4,20
00557  M01S00556.sechdr  +++|**        HFU - OUTPUT HEAD AND FOOT SECURITY LINES FOR AN
00558  M01S00557.sechdr  +++|*                UNFORMATTED FILE.
00559  M01S00558.sechdr  +++|*
00560  M01S00559.sechdr  +++|*         ENTRY  (BUNT) = BANNER UNIT VALUE.
00561  M01S00560.sechdr  +++|*
00562  M01S00561.sechdr  +++|*         USES   X - 0, 1, 2, 3, 5, 6, 7.
00563  M01S00562.sechdr  +++|*                A - 1, 2, 3, 5, 6, 7.
00564  M01S00563.sechdr  +++|*                B - 2, 5, 7.
00565  M01S00564.sechdr  +++|*
00566  M01S00565.sechdr  +++|*         CALLS  CDD, SBP, SNM, WBP.
00567  M01S00566.sechdr  +++|*
00568  M01S00567.sechdr  +++|*         MACROS MESSAGE, READ, READS, RECALL, WRITEF, WRITER, WRITES,
00569  M01S00568.sechdr  +++|*                WRITEW.
00570  M01S00569.sechdr  +++|*
00571  M01S00570.sechdr  +++|*         DEFINE (X0) = 0 IF DATA READ.
00572  M01S00571.sechdr  +++|*                     = -1 IF NO DATA (EOR).
00573  M01S00572.sechdr  +++|*                     = -2 IF NO DATA (EOF).
00574  M01S00573.sechdr  +++|
00575  M01S00574.sechdr  +++|
00576  M01S00575.sechdr  +++| HFU      SUBR               ENTRY/EXIT
00577  M01S00576.sechdr  +++|          SX6    1R          ENSURE FIRST CHARACTER BLANK
00578  M01S00577.sechdr  +++|          SA6    WBUFS
00579  M01S00578.sechdr  +++|
00580  M01S00579.sechdr  +++|*         READ FILE.
00581  M01S00580.sechdr  +++|
00582  M01S00581.sechdr  +++| HFU1     SA1    LNPG        FORCE NEW PAGE
00583  M01S00582.sechdr  +++|          BX6    X1
00584  M01S00583.sechdr  +++|          BX7    X7-X7
00585  M01S00584.sechdr  +++|          SA6    LCNT
00586  M01S00585.sechdr  +++|          SA7    EPWH        CLEAR EMPTY PAGE WITH HEADER FLAG
00587  M01S00586.sechdr  +++|          READ   F
00588  M01S00587.sechdr  +++|          RECALL S
00589  M01S00588.sechdr  +++|
00590  M01S00589.sechdr  +++|*         READ FILE LINE.
00591  M01S00590.sechdr  +++|
00592  M01S00591.sechdr  +++| HFU2     READS  F,WBUF,WBUFL
00593  M01S00592.sechdr  +++|          ZR     X1,HFU4     IF TRANSFER COMPLETE
00594  M01S00593.sechdr  +++|          NG     X1,HFU8     IF EOF OR EOI
00595  M01S00594.sechdr  +++|
00596  M01S00595.sechdr  +++|*         EOR ENCOUNTERED.
00597  M01S00596.sechdr  +++|
00598  M01S00597.sechdr  +++|          SA2    LCNT        ENSURE FOOTING AT BOTTOM PAGE
00599  M01S00598.sechdr  +++|          SA1    LNPG
00600  M01S00599.sechdr  +++|          IX1    X1-X2
00601  M01S00600.sechdr  +++|          NZ     X1,HFU3     IF HEADING ALREADY WRITTEN
00602  M01S00601.sechdr  +++|          SA1    EPWH
00603  M01S00602.sechdr  +++|          NZ     X1,HFU3     IF HEADING ALREADY WRITTEN
00604  M01S00603.sechdr  +++|          WRITEW S,HEAD,HEADL  WRITE HEADING
00605  M01S00604.sechdr  +++|          SA2    LNPG
00606  M01S00605.sechdr  +++| HFU3     BX7    X2
00607  M01S00606.sechdr  +++|          RJ     SBP         SKIP TO BOTTOM OF PAGE
00608  M01S00607.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00609  M01S00608.sechdr  +++|          WRITER S
00610  M01S00609.sechdr  +++|          SX0    B0+         SET DATA (EOR) READ
00611  M01S00610.sechdr  +++|          SA1    BUNT
00612  M01S00611.sechdr  +++|          NZ     X1,HFU1     IF NO BANNER PAGE
00613  M01S00612.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00614  M01S00613.sechdr  +++|          SX0    -1          SET NO DATA
00615  M01S00614.sechdr  +++|          EQ     HFU1        READ NEXT RECORD
00616  M01S00615.sechdr  +++|
00617  M01S00616.sechdr  +++|*         WRITE FILE LINE.
00618  M01S00617.sechdr  +++|
00619  M01S00618.sechdr  +++| HFU4     SX0    B0+         SET DATA READ
00620  M01S00619.sechdr  +++|          SB7    WBUF+WBUFL  LWA+1 OF BUFFER
00621  M01S00620.sechdr  +++|          NE     B6,B7,HFU5  IF BUFFER NOT FULL
00622  M01S00621.sechdr  +++|          SA1    LTCT        INCREMENT TRUNCATION COUNT
00623  M01S00622.sechdr  +++|          SX3    B1
00624  M01S00623.sechdr  +++|          IX7    X1+X3
00625  M01S00624.sechdr  +++|          SA7    A1+
00626  M01S00625.sechdr  +++| HFU5     SA5    LCNT
00627  M01S00626.sechdr  +++|          SA2    LNPG
00628  M01S00627.sechdr  +++|          IX2    X5-X2
00629  M01S00628.sechdr  +++|          ZR     X2,HFU6     IF HEADING NOT WRITTEN YET
00630  M01S00629.sechdr  +++|          NZ     X5,HFU7     IF NOT END OF PAGE
00631  M01S00630.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00632  M01S00631.sechdr  +++|          SA5    LNPG        RESET LINE COUNT
00633  M01S00632.sechdr  +++| HFU6     WRITEW S,HEAD,HEADL  WRITE HEADING
00634  M01S00633.sechdr  +++| HFU7     WRITES S,WBUFS,WBUFL  WRITE DATA LINE
00635  M01S00634.sechdr  +++|          SX7    X5-1        UPDATE LINE COUNT
00636  M01S00635.sechdr  +++|          SA7    LCNT
00637  M01S00636.sechdr  +++|          EQ     HFU2        READ NEXT LINE
00638  M01S00637.sechdr  +++|
00639  M01S00638.sechdr  +++| HFU8     SX1    X1+1
00640  M01S00639.sechdr  +++|          NG     X1,HFU11    IF EOI ENCOUNTERED
00641  M01S00640.sechdr  +++|          WRITEF S
00642  M01S00641.sechdr  +++|          SA1    BUNT
00643  M01S00642.sechdr  +++|          SX1    X1+1
00644  M01S00643.sechdr  +++|          ZR     X1,HFU9     IF BANNER UNIT FILE
00645  M01S00644.sechdr  +++|          SX1    X1-1
00646  M01S00645.sechdr  +++|          NZ     X1,HFU10    IF BANNER UNIT NOT RECORD
00647  M01S00646.sechdr  +++|          SX1    X0+1
00648  M01S00647.sechdr  +++|          ZR     X1,HFU10    IF NO DATA (EOR)
00649  M01S00648.sechdr  +++| HFU9     RJ     WBP         WRITE BANNER PAGE
00650  M01S00649.sechdr  +++| HFU10    SX0    -2          SET NO DATA (EOF)
00651  M01S00650.sechdr  +++|          EQ     HFU1        READ NEXT RECORD
00652  M01S00651.sechdr  +++|
00653  M01S00652.sechdr  +++| HFU11    SA1    BUNT
00654  M01S00653.sechdr  +++|          SX2    X1+2
00655  M01S00654.sechdr  +++|          ZR     X2,HFU12    IF BANNER AT BOI/EOI
00656  M01S00655.sechdr  +++|          NG     X0,HFU13    IF NO DATA READ SINCE LAST BANNER WRITTEN
00657  M01S00656.sechdr  +++|          SX2    X1-1
00658  M01S00657.sechdr  +++|          ZR     X2,HFU13    IF BANNER NOT TO BE WRITTEN
00659  M01S00658.sechdr  +++| HFU12    RJ     WBP         WRITE BANNER PAGE
00660  M01S00659.sechdr  +++|
00661  M01S00660.sechdr  +++|*         ISSUE LINES TRUNCATED MESSAGE.
00662  M01S00661.sechdr  +++|
00663  M01S00662.sechdr  +++| HFU13    SA1    LTCT        GET TRUNCATION COUNT
00664  M01S00663.sechdr  +++|          ZR     X1,HFUX     IF NO LINES TRUNCATED
00665  M01S00664.sechdr  +++|          SX5    HFUA
00666  M01S00665.sechdr  +++|          SX2    X1-1
00667  M01S00666.sechdr  +++|          ZR     X2,HFU14    IF ONE LINE TRUNCATED
00668  M01S00667.sechdr  +++|          SX5    HFUB
00669  M01S00668.sechdr  +++|          RJ     CDD         CONVERT TO DECIMAL DISPLAY CODE
00670  M01S00669.sechdr  +++|          MX1    1           ENTER COUNT IN MESSAGE
00671  M01S00670.sechdr  +++|          SB2    B2-B1
00672  M01S00671.sechdr  +++|          AX1    B2
00673  M01S00672.sechdr  +++|          BX1    X1*X4
00674  M01S00673.sechdr  +++|          SB2    1RX
00675  M01S00674.sechdr  +++|          SB5    X5+
00676  M01S00675.sechdr  +++|          RJ     SNM         SET LINE COUNT IN MESSAGE
00677  M01S00676.sechdr  +++| HFU14    MESSAGE  X5,3      ISSUE LINES TRUNCATED MESSAGE
00678  M01S00677.sechdr  +++|          EQ     HFUX        RETURN
00679  M01S00678.sechdr  +++|
00680  M01S00679.sechdr  +++|
00681  M01S00680.sechdr  +++| HFUA     DATA   C* 1 LINE TRUNCATED.*
00682  M01S00681.sechdr  +++| HFUB     DATA   C* XXXXXXXXXX LINES TRUNCATED.*
00683  M01S00682.sechdr  +++| RCC      SPACE  4,10
00684  M01S00683.sechdr  +++|**        RCC - REMOVE CARRIAGE CONTROL CHARACTER.
00685  M01S00684.sechdr  +++|*
00686  M01S00685.sechdr  +++|*         ENTRY  (WBUF) = LINE OF FILE.
00687  M01S00686.sechdr  +++|*
00688  M01S00687.sechdr  +++|*         EXIT   CARRIAGE CONTROL (FIRST CHARACTER) REMOVED
00689  M01S00688.sechdr  +++|*                FROM SPECIFIED LINE OF FILE.
00690  M01S00689.sechdr  +++|*
00691  M01S00690.sechdr  +++|*         USES   X - 1, 2, 4, 6.
00692  M01S00691.sechdr  +++|*                A - 1, 4, 6.
00693  M01S00692.sechdr  +++|
00694  M01S00693.sechdr  +++|
00695  M01S00694.sechdr  +++| RCC      SUBR               ENTRY/EXIT
00696  M01S00695.sechdr  +++|          SA1    WBUF        REMOVE CARRIAGE CONTROL
00697  M01S00696.sechdr  +++|          MX2    6
00698  M01S00697.sechdr  +++|          BX1    -X2*X1
00699  M01S00698.sechdr  +++|          SA4    BLKL        FILL HOLE WITH BLANK
00700  M01S00699.sechdr  +++|          BX6    X1+X4
00701  M01S00700.sechdr  +++|          SA6    A1
00702  M01S00701.sechdr  +++|          EQ     RCCX        RETURN
00703  M01S00702.sechdr  +++| SBP      SPACE  4,10
00704  M01S00703.sechdr  +++|**        SBP - SKIP TO BOTTOM OF PAGE.
00705  M01S00704.sechdr  +++|*
00706  M01S00705.sechdr  +++|*         ENTRY  (X7) = NUMBER OF BLANK LINES TO WRITE.
00707  M01S00706.sechdr  +++|*
00708  M01S00707.sechdr  +++|*         USES   X - 7.
00709  M01S00708.sechdr  +++|*                B - 7.
00710  M01S00709.sechdr  +++|*
00711  M01S00710.sechdr  +++|*         MACROS WRITEC.
00712  M01S00711.sechdr  +++|
00713  M01S00712.sechdr  +++|
00714  M01S00713.sechdr  +++| SBP      SUBR               ENTRY/EXIT
00715  M01S00714.sechdr  +++|          SB7    X7          NUMBER OF BLANK LINES TO WRITE
00716  M01S00715.sechdr  +++|          SX7    X7-1
00717  M01S00716.sechdr  +++|          NG     X7,SBPX     IF NO BLANK LINES NEEDED
00718  M01S00717.sechdr  +++| SBP1     WRITEC S,BLKL      WRITE BLANK LINE
00719  M01S00718.sechdr  +++|          SB7    B7-1
00720  M01S00719.sechdr  +++|          NZ     B7,SBP1     IF MORE LINES TO WRITE
00721  M01S00720.sechdr  +++|          EQ     SBPX        RETURN
00722  M01S00721.sechdr  +++| WBP      SPACE  4,10
00723  M01S00722.sechdr  +++|**        WBP - WRITE BANNER PAGE.
00724  M01S00723.sechdr  +++|*
00725  M01S00724.sechdr  +++|*         USES   X - 1.
00726  M01S00725.sechdr  +++|*                A - 1.
00727  M01S00726.sechdr  +++|*
00728  M01S00727.sechdr  +++|*         MACROS WRITER, WRITEW.
00729  M01S00728.sechdr  +++|
00730  M01S00729.sechdr  +++|
00731  M01S00730.sechdr  +++| WBP      SUBR               ENTRY/EXIT
00732  M01S00731.sechdr  +++|          WRITEW S,BPB1,BPB1L
00733  M01S00732.sechdr  +++|          SA1    BPBL        GET BUFFER LENGTH
00734  M01S00733.sechdr  +++|          WRITEW S,BPB2,X1
00735  M01S00734.sechdr  +++|          WRITER S
00736  M01S00735.sechdr  +++|          EQ     WBPX        RETURN
00737  M01S00736.sechdr  +++|          SPACE  4,10
00738  M01S00737.sechdr  +++|*         COMMON DECKS.
00739  M01S00738.sechdr  +++|
00740  M01S00739.sechdr  +++|
00741  M01S00740.sechdr  +++|*CALL     COMCARG
00742  M01S00741.sechdr  +++|*CALL     COMCBAN
00743  M01S00742.sechdr  +++|*CALL     COMCCDD
00744  M01S00743.sechdr  +++|*CALL     COMCCIO
00745  M01S00744.sechdr  +++|*CALL     COMCCPM
00746  M01S00745.sechdr  +++|*CALL     COMCLFM
00747  M01S00746.sechdr  +++|*CALL     COMCRDC
00748  M01S00747.sechdr  +++|*CALL     COMCRDS
00749  M01S00748.sechdr  +++|*CALL     COMCRDW
00750  M01S00749.sechdr  +++|*CALL     COMCSFN
00751  M01S00750.sechdr  +++|*CALL     COMCSNM
00752  M01S00751.sechdr  +++|*CALL     COMCSYS
00753  M01S00752.sechdr  +++|*CALL     COMCWTC
00754  M01S00753.sechdr  +++|*CALL     COMCWTS
00755  M01S00754.sechdr  +++|*CALL     COMCWTW
00756  M01S00755.sechdr  +++|*CALL     COMCVLC
00757  M01S00756.sechdr  +++|*CALL     COMTBAN
00758  M01S00757.sechdr  +++|          TITLE  BUFFER AREA.
00759  M01S00758.sechdr  +++|          SPACE  4,10
00760  M01S00759.sechdr  +++|*         BUFFERS.
00761  M01S00760.sechdr  +++|
00762  M01S00761.sechdr  +++|          USE    LITERALS
00763  M01S00762.sechdr  +++|
00764  M01S00763.sechdr  +++|
00765  M01S00764.sechdr  +++| BPB1     BSS    0           BANNER PAGE HEADER BUFFER
00766  M01S00765.sechdr  +++|          DATA   40H1
00767  M01S00766.sechdr  +++| BPBA     DATA   28H   FILE NAME      =
00768  M01S00767.sechdr  +++|          DATA   1L
00769  M01S00768.sechdr  +++|          DATA   40H
00770  M01S00769.sechdr  +++| BPBB     DATA   30H   DATE PRINTED   =
00771  M01S00770.sechdr  +++|          DATA   1L
00772  M01S00771.sechdr  +++|          DATA   1L
00773  M01S00772.sechdr  +++|          DATA   40H
00774  M01S00773.sechdr  +++| BPBC     DATA   30H   USER NAME      =
00775  M01S00774.sechdr  +++|          DATA   1L
00776  M01S00775.sechdr  +++|          DUP    10,1
00777  M01S00776.sechdr  +++|          DATA   1L
00778  M01S00777.sechdr  +++| BPB1L    EQU    *-BPB1
00779  M01S00778.sechdr  +++|          SPACE  4,10
00780  M01S00779.sechdr  +++| BPB2     BSS    0           ACCESS LEVEL NAME BUFFER
00781  M01S00780.sechdr  +++|          BSSZ   401
00782  M01S00781.sechdr  +++|          SPACE  4,10
00783  M01S00782.sechdr  +++| FBUF     EQU    *           SECURED FILE BUFFER
00784  M01S00783.sechdr  +++| SBUF     EQU    FBUF+FBUFL  SCRATCH FILE BUFFER
00785  M01S00784.sechdr  +++| WBUFS    EQU    SBUF+SBUFL  SHIFTED WORKING BUFFER
00786  M01S00785.sechdr  +++| WBUF     EQU    WBUFS+1     WORKING BUFFER
00787  M01S00786.sechdr  +++| RFL=     EQU    WBUF+WBUFL+4  SET *SECHDR* FL
00788  M01S00787.sechdr  +++|          TITLE  PRESET.
00789  M01S00788.sechdr  +++| PRS      SPACE  4,20
00790  M01S00789.sechdr  +++|**        PRS - PRESET.
00791  M01S00790.sechdr  +++|*
00792  M01S00791.sechdr  +++|*         EXIT   ARGUMENTS PROCESSED.
00793  M01S00792.sechdr  +++|*                (BUNT) = 1 IF NO BANNER PAGE TO BE WRITTEN.
00794  M01S00793.sechdr  +++|*                       = 0 IF BANNER UNIT IS RECORD.
00795  M01S00794.sechdr  +++|*                       = -1 IF BANNER UNIT IS FILE.
00796  M01S00795.sechdr  +++|*                       = -2 IF BANNER AT BOI/EOI.
00797  M01S00796.sechdr  +++|*                (POPT) = 1 IF HEAD/FOOT TO BE WRITTEN.
00798  M01S00797.sechdr  +++|*                       = 0 IF NO HEAD/FOOT TO BE WRITTEN.
00799  M01S00798.sechdr  +++|*                (BCFL) = 0 IF BACKCOPY NEEDS TO BE PERFORMED.
00800  M01S00799.sechdr  +++|*
00801  M01S00800.sechdr  +++|*         USES   X - ALL.
00802  M01S00801.sechdr  +++|*                A - 1, 2, 4, 6, 7.
00803  M01S00802.sechdr  +++|*                B - 2, 4, 5.
00804  M01S00803.sechdr  +++|*
00805  M01S00804.sechdr  +++|*         CALLS  ARG, SFN.
00806  M01S00805.sechdr  +++|*
00807  M01S00806.sechdr  +++|*         MACROS ABORT, FILINFO, GETPP, MESSAGE, REQUEST, RETURN,
00808  M01S00807.sechdr  +++|*                REWIND, SETFET, STATUS.
00809  M01S00808.sechdr  +++|
00810  M01S00809.sechdr  +++|
00811  M01S00810.sechdr  +++| PRS      SUBR               ENTRY/EXIT
00812  M01S00811.sechdr  +++|
00813  M01S00812.sechdr  +++|*         SET FILE NAME.
00814  M01S00813.sechdr  +++|
00815  M01S00814.sechdr  +++|          SA1    ARGR
00816  M01S00815.sechdr  +++|          SX5    ERFN        * NO FILE NAME SPECIFIED.*
00817  M01S00816.sechdr  +++|          ZR     X1,PRS9     IF NO ARGUMENTS
00818  M01S00817.sechdr  +++|          MX0    42
00819  M01S00818.sechdr  +++|          BX6    X0*X1
00820  M01S00819.sechdr  +++|          ZR     X6,PRS9     IF NULL FILE NAME
00821  M01S00820.sechdr  +++|          SA1    FIPB        SET FILE NAME IN *FILINFO* BLOCK
00822  M01S00821.sechdr  +++|          BX7    X1+X6
00823  M01S00822.sechdr  +++|          SA7    A1
00824  M01S00823.sechdr  +++|          SA2    F           SET FILE NAME IN FET
00825  M01S00824.sechdr  +++|          BX3    -X0*X2
00826  M01S00825.sechdr  +++|          BX6    X3+X6
00827  M01S00826.sechdr  +++|          SA6    A2+
00828  M01S00827.sechdr  +++|
00829  M01S00828.sechdr  +++|*         SAVE FILE ACCESS LEVEL.
00830  M01S00829.sechdr  +++|
00831  M01S00830.sechdr  +++|          SA1    F+1         SET BIT TO RETURN FILE ACCESS LEVEL
00832  M01S00831.sechdr  +++|          SX0    B1
00833  M01S00832.sechdr  +++|          LX0    39
00834  M01S00833.sechdr  +++|          BX6    X0+X1
00835  M01S00834.sechdr  +++|          SA6    A1
00836  M01S00835.sechdr  +++|          STATUS F,P
00837  M01S00836.sechdr  +++|          SA1    F+CFAL      GET ACCESS LEVEL
00838  M01S00837.sechdr  +++|          LX1    -36
00839  M01S00838.sechdr  +++|          MX0    -3
00840  M01S00839.sechdr  +++|          BX6    -X0*X1
00841  M01S00840.sechdr  +++|          SA6    PRSB
00842  M01S00841.sechdr  +++|          SA2    TALV+X6     OBTAIN EQUIVALENT TEXT
00843  M01S00842.sechdr  +++|          MX0    42
00844  M01S00843.sechdr  +++|          BX1    X0*X2
00845  M01S00844.sechdr  +++|          RJ     SFN
00846  M01S00845.sechdr  +++|          SA6    HEAD+2      SET HEADLINE
00847  M01S00846.sechdr  +++|          SA6    HEAD+4
00848  M01S00847.sechdr  +++|          SA6    HEAD+6
00849  M01S00848.sechdr  +++|          SA6    HEAD+8
00850  M01S00849.sechdr  +++|          SA6    HEAD+10
00851  M01S00850.sechdr  +++|          SA6    HEAD+12
00852  M01S00851.sechdr  +++|          SA6    FOOT+2      SET FOOTLINE
00853  M01S00852.sechdr  +++|          SA6    FOOT+4
00854  M01S00853.sechdr  +++|          SA6    FOOT+6
00855  M01S00854.sechdr  +++|          SA6    FOOT+8
00856  M01S00855.sechdr  +++|          SA6    FOOT+10
00857  M01S00856.sechdr  +++|          SA6    FOOT+12
00858  M01S00857.sechdr  +++|          SA6    ALVL
00859  M01S00858.sechdr  +++|
00860  M01S00859.sechdr  +++|*         CHECK FILE TYPE AND DEVICE TYPE.
00861  M01S00860.sechdr  +++|
00862  M01S00861.sechdr  +++|          FILINFO  FIPB      GET FILE INFORMATION
00863  M01S00862.sechdr  +++|          SA1    FIPB+1
00864  M01S00863.sechdr  +++|          MX0    -6          CHECK FILE TYPE
00865  M01S00864.sechdr  +++|          BX2    -X0*X1
00866  M01S00865.sechdr  +++|          SX6    X2-4        (X6) = 0 IF DIRECT ACCESS FILE
00867  M01S00866.sechdr  +++|          LX1    59-16
00868  M01S00867.sechdr  +++|          SX5    ERTF        * UNABLE TO PROCESS TERMINAL FILE.*
00869  M01S00868.sechdr  +++|          NG     X1,PRS9     IF FILE ASSIGNED TO TERMINAL
00870  M01S00869.sechdr  +++|          LX1    59-15-59+16 CHECK DEVICE TYPE
00871  M01S00870.sechdr  +++|          NG     X1,PRS1     IF FILE ON MASS STORAGE
00872  M01S00871.sechdr  +++|          BX7    X7-X7       CLEAR RANDOM INDEX
00873  M01S00872.sechdr  +++|          SA7    F+CFCN
00874  M01S00873.sechdr  +++|          BX6    X6-X6
00875  M01S00874.sechdr  +++| PRS1     SA6    BCFL        SET BACKCOPY FLAG
00876  M01S00875.sechdr  +++|
00877  M01S00876.sechdr  +++|*         PROCESS ARGUMENTS.
00878  M01S00877.sechdr  +++|
00879  M01S00878.sechdr  +++|          SA4    ACTR
00880  M01S00879.sechdr  +++|          SB4    X4-1        SET ARGUMENT COUNT
00881  M01S00880.sechdr  +++|          SA4    ARGR+1      SET FIRST ARGUMENT
00882  M01S00881.sechdr  +++|          SB5    TARG        SET ARGUMENT TABLE FWA
00883  M01S00882.sechdr  +++|          RJ     ARG         PROCESS ARGUMENTS
00884  M01S00883.sechdr  +++|          SX5    ERPR        * ERROR IN SECHDR PARAMETERS.*
00885  M01S00884.sechdr  +++|          NZ     X1,PRS9     IF ARGUMENT ERROR
00886  M01S00885.sechdr  +++|
00887  M01S00886.sechdr  +++|*         PROCESS *OP* OPTIONS.
00888  M01S00887.sechdr  +++|
00889  M01S00888.sechdr  +++|          SA1    OP          CHECK OPTIONS
00890  M01S00889.sechdr  +++|          MX0    6
00891  M01S00890.sechdr  +++|          NZ     X1,PRS2     IF NOT DEFAULT OPTION
00892  M01S00891.sechdr  +++|          SA1    DFOP
00893  M01S00892.sechdr  +++| PRS2     BX2    X0*X1
00894  M01S00893.sechdr  +++|          ZR     X2,PRS5     IF NO MORE OPTIONS SPECIFIED
00895  M01S00894.sechdr  +++|          LX1    6           POSITION NEXT OPTION
00896  M01S00895.sechdr  +++|
00897  M01S00896.sechdr  +++|*         CHECK IF LEGAL OPTION.
00898  M01S00897.sechdr  +++|
00899  M01S00898.sechdr  +++|          SA4    TOPT
00900  M01S00899.sechdr  +++| PRS3     BX3    X0*X4       CHECK OPTION
00901  M01S00900.sechdr  +++|          IX3    X3-X2
00902  M01S00901.sechdr  +++|          ZR     X3,PRS4     IF LEGAL OPTION
00903  M01S00902.sechdr  +++|          SA4    A4+B1
00904  M01S00903.sechdr  +++|          NZ     X4,PRS3     IF MORE OPTIONS TO CHECK
00905  M01S00904.sechdr  +++|          SA1    EROP+1      SET UNKNOWN OPTION IN MESSAGE
00906  M01S00905.sechdr  +++|          MX0    -6
00907  M01S00906.sechdr  +++|          LX0    6
00908  M01S00907.sechdr  +++|          BX3    X0*X1
00909  M01S00908.sechdr  +++|          LX2    12
00910  M01S00909.sechdr  +++|          BX6    X3+X2
00911  M01S00910.sechdr  +++|          SA6    A1
00912  M01S00911.sechdr  +++|          SX5    EROP        * UNKNOWN OPTION - X.*
00913  M01S00912.sechdr  +++|          EQ     PRS9        PROCESS ERROR
00914  M01S00913.sechdr  +++|
00915  M01S00914.sechdr  +++|*         SET BIT IN OPTION TABLE.
00916  M01S00915.sechdr  +++|
00917  M01S00916.sechdr  +++| PRS4     LX4    59-0
00918  M01S00917.sechdr  +++|          NG     X4,PRS2     IF OPTION PREVIOUSLY SPECIFIED
00919  M01S00918.sechdr  +++|          LX4    0-59
00920  M01S00919.sechdr  +++|          SX6    B1+
00921  M01S00920.sechdr  +++|          BX6    X6+X4
00922  M01S00921.sechdr  +++|          SA6    A4
00923  M01S00922.sechdr  +++|          EQ     PRS2        CHECK REMAINING OPTIONS
00924  M01S00923.sechdr  +++|
00925  M01S00924.sechdr  +++|*         CHECK IF B, F, OR R OPTION SELECTED.
00926  M01S00925.sechdr  +++|
00927  M01S00926.sechdr  +++| PRS5     SA1    TOPT-1
00928  M01S00927.sechdr  +++|          SB2    B1+B1
00929  M01S00928.sechdr  +++|          MX0    -1
00930  M01S00929.sechdr  +++| PRS6     SA1    A1+B1       CHECK NEXT OPTION
00931  M01S00930.sechdr  +++|          NG     B2,PRS7     IF END OF OPTIONS TO CHECK
00932  M01S00931.sechdr  +++|          SB2    B2-B1
00933  M01S00932.sechdr  +++|          BX2    -X0*X1
00934  M01S00933.sechdr  +++|          ZR     X2,PRS6     IF OPTION NOT SET
00935  M01S00934.sechdr  +++|          SX6    B2-B1
00936  M01S00935.sechdr  +++|          SA6    BUNT        STORE BANNER UNIT
00937  M01S00936.sechdr  +++|
00938  M01S00937.sechdr  +++|*         SAVE P OPTION.
00939  M01S00938.sechdr  +++|
00940  M01S00939.sechdr  +++| PRS7     SA1    TOPP
00941  M01S00940.sechdr  +++|          BX6    -X0*X1
00942  M01S00941.sechdr  +++|          SA6    POPT
00943  M01S00942.sechdr  +++|          REWIND F,R
00944  M01S00943.sechdr  +++|          RETURN S,R
00945  M01S00944.sechdr  +++|
00946  M01S00945.sechdr  +++|*         CREATE SCRATCH FILE WITH SAME ACCESS LEVEL.
00947  M01S00946.sechdr  +++|
00948  M01S00947.sechdr  +++|          SA1    S+1         SET FILE ACCESS LEVEL BIT
00949  M01S00948.sechdr  +++|          MX0    1
00950  M01S00949.sechdr  +++|          LX0    39-59
00951  M01S00950.sechdr  +++|          BX6    X0+X1
00952  M01S00951.sechdr  +++|          SA6    A1
00953  M01S00952.sechdr  +++|          SA2    S+CFAL
00954  M01S00953.sechdr  +++|          MX0    -3
00955  M01S00954.sechdr  +++|          LX0    36
00956  M01S00955.sechdr  +++|          SA1    PRSB        GET ACCESS LEVEL OF OLD FILE
00957  M01S00956.sechdr  +++|          BX2    X0*X2       CLEAR ACCESS LEVEL FIELD
00958  M01S00957.sechdr  +++|          LX1    36
00959  M01S00958.sechdr  +++|          BX6    X1+X2       MERGE NEW ACCESS LEVEL
00960  M01S00959.sechdr  +++|          SA6    A2
00961  M01S00960.sechdr  +++|          SETFET S,(DTY=PRSA)  REQUEST MASS STORAGE RESIDENCE
00962  M01S00961.sechdr  +++|          REQUEST  S,U,N     REQUEST FILE WITH NO DAYFILE MESSAGE
00963  M01S00962.sechdr  +++|          GETPP  PRSC,LNPG,PDEN  GET PAGE INFORMATION
00964  M01S00963.sechdr  +++|          SA1    POPT
00965  M01S00964.sechdr  +++|          SX3    1
00966  M01S00965.sechdr  +++|          SA2    LNPG        SET PAGE SIZE
00967  M01S00966.sechdr  +++|          ZR     X1,PRS8     IF NO HEADERS REQUESTED
00968  M01S00967.sechdr  +++|          SX3    SHFL+1      ALLOW ROOM FOR HEADERS
00969  M01S00968.sechdr  +++| PRS8     IX6    X2-X3
00970  M01S00969.sechdr  +++|          SA6    A2
00971  M01S00970.sechdr  +++|          EQ     PRSX        RETURN
00972  M01S00971.sechdr  +++|
00973  M01S00972.sechdr  +++|*         PROCESS ERRORS.
00974  M01S00973.sechdr  +++|
00975  M01S00974.sechdr  +++| PRS9     MESSAGE  X5        ISSUE ERROR MESSAGE
00976  M01S00975.sechdr  +++|          ABORT
00977  M01S00976.sechdr  +++|
00978  M01S00977.sechdr  +++| PRSA     CON    2RMS        MASS STORAGE DEVICE RESIDENCE
00979  M01S00978.sechdr  +++| PRSB     CON    0           ACCESS LEVEL
00980  M01S00979.sechdr  +++| PRSC     BSSZ   2           *GETPP* BUFFER
00981  M01S00980.sechdr  +++|
00982  M01S00981.sechdr  +++|*         ARGUMENT TABLE.
00983  M01S00982.sechdr  +++|
00984  M01S00983.sechdr  +++| TARG     BSS    0
00985  M01S00984.sechdr  +++| FF       ARG    -NZ,FORM
00986  M01S00985.sechdr  +++| OP       ARG    OP,OP
00987  M01S00986.sechdr  +++|          ARG
00988  M01S00987.sechdr  +++|
00989  M01S00988.sechdr  +++|
00990  M01S00989.sechdr  +++|*         OPTION TABLE.
00991  M01S00990.sechdr  +++|*         THE OPTIONS IN THIS TABLE MUST REMAIN IN THIS ORDER.
00992  M01S00991.sechdr  +++|
00993  M01S00992.sechdr  +++| TOPT     BSS    0
00994  M01S00993.sechdr  +++|          DATA   1LR
00995  M01S00994.sechdr  +++|          DATA   1LF
00996  M01S00995.sechdr  +++| DFOP     DATA   1LB
00997  M01S00996.sechdr  +++| TOPP     DATA   1LP
00998  M01S00997.sechdr  +++|          CON    0           END OF OPTION TABLE
00999  M01S00998.sechdr  +++|
01000  M01S00999.sechdr  +++|
01001  M01S01000.sechdr  +++|*         CONSTANTS.
01002  M01S01001.sechdr  +++|
01003  M01S01002.sechdr  +++| NZ       CON    1           NON-ZERO
01004  M01S01003.sechdr  +++| OP       CON    0           OPTION
01005  M01S01004.sechdr  +++|
01006  M01S01005.sechdr  +++|*         PARAMETER BLOCK.
01007  M01S01006.sechdr  +++|
01008  M01S01007.sechdr  +++| FIPB     BSS    0           *FILINFO* PARAMETER BLOCK
01009  M01S01008.sechdr  +++|          VFD    42/0,6/5,12/1
01010  M01S01009.sechdr  +++|          BSSZ   4
01011  M01S01010.sechdr  +++|
01012  M01S01011.sechdr  +++|*         ERROR MESSAGES TO DAYFILE.
01013  M01S01012.sechdr  +++|
01014  M01S01013.sechdr  +++| ERFN     DATA   C* NO FILE NAME SPECIFIED.*
01015  M01S01014.sechdr  +++| EROP     DATA   C* UNKNOWN OPTION - X.*
01016  M01S01015.sechdr  +++| ERPR     DATA   C* ERROR IN SECHDR PARAMETERS.*
01017  M01S01016.sechdr  +++| ERTF     DATA   C* UNABLE TO PROCESS TERMINAL FILE.*
01018  M01S01017.sechdr  +++|          SPACE  4
01019  M01S01018.sechdr  +++|          END    SECHDR
cdc/nos2.source/opl.opl871/deck/sechdr.txt · Last modified: by 127.0.0.1