User Tools

Site Tools


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

Deck SECHDR

Library Member Format: MODIFY

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.sechdr  +++|          IDENT  SECHDR,FWA
00002  M00S00002.sechdr  +++|          ABS
00003  M00S00003.sechdr  +++|          SST
00004  M00S00004.sechdr  +++|          ENTRY  SECHDR
00005  M00S00005.sechdr  +++|          ENTRY  RFL=
00006  M00S00006.sechdr  +++|          ENTRY  SSJ=
00007  M00S00007.sechdr  +++|          SYSCOM B1
00008  M00S00008.sechdr  +++|          TITLE  SECHDR - WRITE SECURITY HEADERS.
00009  M00S00009.sechdr  +++|*COMMENT  SECHDR - WRITE SECURITY HEADERS.
Line S00010 Modification History
M01 (Removed by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00010  M01S00010.281l803 ---|          COMMENT  COPYRIGHT CONTROL DATA CORPORATION, 1982.
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00011  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00012  M00S00011.sechdr  +++|          SPACE  4,10
00013  M00S00012.sechdr  +++|***       SECHDR - WRITE SECURITY HEADERS.
00014  M00S00013.sechdr  +++|*
00015  M00S00014.sechdr  +++|*         P. J. ENGLE.       82/09/01.
00016  M00S00015.sechdr  +++|*         J.    HOLLISTER    83/06/21.
00017  M00S00016.sechdr  +++|          SPACE  4,10
00018  M00S00017.sechdr  +++|***       *SECHDR* WRITES SECURITY BANNER AND/OR PAGE HEADING
00019  M00S00018.sechdr  +++|*         AND FOOTING INFORMATION ON THE NAMED FILE.
00020  M00S00019.sechdr  +++|          SPACE  4,10
00021  M00S00020.sechdr  +++|***       COMMAND FORMAT.
00022  M00S00021.sechdr  +++|*
00023  M00S00022.sechdr  +++|*         SECHDR,LFN,FF,OP=BFRP.
00024  M00S00023.sechdr  +++|*
00025  M00S00024.sechdr  +++|*         LFN = NAME OF THE FILE TO WHICH SECURITY INFORMATION
00026  M00S00025.sechdr  +++|*                IS TO BE ADDED.
00027  M00S00026.sechdr  +++|*
00028  M00S00027.sechdr  +++|*         FF = THE FILE IS ALREADY FORMATTED FOR OUTPUT.
00029  M00S00028.sechdr  +++|*
00030  M00S00029.sechdr  +++|*         THE FOLLOWING OPTIONS ARE VALID -
00031  M00S00030.sechdr  +++|*
00032  M00S00031.sechdr  +++|*         B = PRINT A BANNER PAGE AT THE BEGINNING AND END OF
00033  M00S00032.sechdr  +++|*                EACH LOGICAL UNIT AS SPECIFIED BY THE  *F* OR *R*
00034  M00S00033.sechdr  +++|*                OPTION.  IF NEITHER THE *F* NOR THE *R* OPTION IS
00035  M00S00034.sechdr  +++|*                SPECIFIED, BANNER PAGES WILL BE PRINTED AT THE
00036  M00S00035.sechdr  +++|*                BEGINNING AND END OF INFORMATION OF THE FILE.  THIS
00037  M00S00036.sechdr  +++|*                OPTION IS SELECTED BY DEFAULT.
00038  M00S00037.sechdr  +++|*
00039  M00S00038.sechdr  +++|*         F = USE LOGICAL FILES AS BANNER PAGE UNIT.
00040  M00S00039.sechdr  +++|*
00041  M00S00040.sechdr  +++|*         R = USE LOGICAL RECORDS AS BANNER PAGE UNIT.
00042  M00S00041.sechdr  +++|*
00043  M00S00042.sechdr  +++|*         P = PRINT PAGE HEADINGS AND FOOTINGS ON EACH PAGE
00044  M00S00043.sechdr  +++|*                OF OUTPUT.  THIS OPTION IS DESELECTED BY DEFAULT.
00045  M00S00044.sechdr  +++|          SPACE  4,10
00046  M00S00045.sechdr  +++|***       DAYFILE MESSAGES.
00047  M00S00046.sechdr  +++|*
00048  M00S00047.sechdr  +++|*         * ERROR IN SECHDR PARAMETERS.* = *SECHDR* HAS ENCOUNTERED
00049  M00S00048.sechdr  +++|*         AN UNKNOWN PARAMETER.
00050  M00S00049.sechdr  +++|*
00051  M00S00050.sechdr  +++|*         * NNNNN LINES TRUNCATED.* = INFORMATIVE MESSAGE INDICATING
00052  M00S00051.sechdr  +++|*         NNNNN LINES HAD TO BE TRUNCATED WHEN FORMATTING THE FILE.
00053  M00S00052.sechdr  +++|*
00054  M00S00053.sechdr  +++|*         * NO FILE NAME SPECIFIED.* = *SECHDR* HAS FOUND THAT NO
00055  M00S00054.sechdr  +++|*         FILE NAME WAS SPECIFIED ON THE COMMAND CALL.
00056  M00S00055.sechdr  +++|*
00057  M00S00056.sechdr  +++|*         * UNABLE TO PROCESS TERMINAL FILE.* = THE SPECIFIED FILE IS
00058  M00S00057.sechdr  +++|*         ASSIGNED TO A TERMINAL.
00059  M00S00058.sechdr  +++|*
00060  M00S00059.sechdr  +++|*         * UNKNOWN OPTION - X.* = *SECHDR* HAS ENCOUNTERED AN UNKNOWN
00061  M00S00060.sechdr  +++|*         OPTION.
00062  M00S00061.sechdr  +++|          SPACE  4,10
00063  M00S00062.sechdr  +++|*         COMMON DECKS.
00064  M00S00063.sechdr  +++|
00065  M00S00064.sechdr  +++|
00066  M00S00065.sechdr  +++|*CALL     COMCMAC
00067  M00S00066.sechdr  +++|*CALL     COMCCMD
00068  M00S00067.sechdr  +++|*CALL     COMSMLS
00069  M00S00068.sechdr  +++|*CALL     COMSPFM
00070  M00S00069.sechdr  +++|          SPACE  4,10
00071  M00S00070.sechdr  +++|****      ASSEMBLY CONSTANTS.
00072  M00S00071.sechdr  +++|
00073  M00S00072.sechdr  +++|
00074  M00S00073.sechdr  +++| SSJ=     EQU    0
00075  M00S00074.sechdr  +++| FBUFL    EQU    1001B       FILE BUFFER LENGTH
00076  M00S00075.sechdr  +++| SBUFL    EQU    1001B       SCRATCH BUFFER LENGTH
00077  M00S00076.sechdr  +++| WBUFL    EQU    140D        WORKING BUFFER LENGTH
00078  M00S00077.sechdr  +++|****
00079  M00S00078.sechdr  +++|          SPACE  4,10
00080  M00S00079.sechdr  +++|          TITLE  FETS AND RESERVED LOCATIONS.
00081  M00S00080.sechdr  +++|          ORG    126B
00082  M00S00081.sechdr  +++|          SPACE  4,10
00083  M00S00082.sechdr  +++| FWA      BSS    0
00084  M00S00083.sechdr  +++|
00085  M00S00084.sechdr  +++|*         FETS.
00086  M00S00085.sechdr  +++|
00087  M00S00086.sechdr  +++|
00088  M00S00087.sechdr  +++| F        BSS    0           LOCAL FILE
00089  M00S00088.sechdr  +++| SECFILE  FILEB  FBUF,FBUFL,FET=7
00090  M00S00089.sechdr  +++|
00091  M00S00090.sechdr  +++| S        BSS    0           SCRATCH FILE
00092  M00S00091.sechdr  +++| ZZZZZG1  FILEB  SBUF,SBUFL,FET=7
00093  M00S00092.sechdr  +++|          SPACE  4,10
00094  M00S00093.sechdr  +++|*         GLOBAL STORAGE.
00095  M00S00094.sechdr  +++|
00096  M00S00095.sechdr  +++|
00097  M00S00096.sechdr  +++| ALVL     CON    0           ACCESS LEVEL NAME
00098  M00S00097.sechdr  +++| BCFL     CON    0           BACKCOPY FLAG
00099  M00S00098.sechdr  +++| BLKL     CON    1L          BLANK LINE
00100  M00S00099.sechdr  +++| BOPL     CON    1L2         BOTTOM OF PAGE LINE
00101  M00S00100.sechdr  +++| BPBL     CON    0           LENGTH OF ACCESS LEVEL NAME BUFFER
00102  M00S00101.sechdr  +++| BUNT     CON    1           BANNER UNIT
00103  M00S00102.sechdr  +++| EPWH     CON    0           EMPTY PAGE WITH HEADER FLAG
00104  M00S00103.sechdr  +++| FORM     CON    0           FORMATTED FILE
00105  M00S00104.sechdr  +++| LCNT     CON    0           LINES REMAINING
00106  M00S00105.sechdr  +++| LNPG     CON    0           LINES/PAGE
00107  M00S00106.sechdr  +++| LTCT     CON    0           LINES TRUNCATED COUNT
00108  M00S00107.sechdr  +++| PDEN     CON    0           PRINT DENSITY
00109  M00S00108.sechdr  +++| POPT     CON    0           PAGE HEAD/FOOT OPTION
00110  M00S00109.sechdr  +++|
00111  M00S00110.sechdr  +++|
00112  M00S00111.sechdr  +++|*         PAGE HEADING/FOOTING.
00113  M00S00112.sechdr  +++|
00114  M00S00113.sechdr  +++|
00115  M00S00114.sechdr  +++| FOOT     DATA   1L          PAGE FOOTING
00116  M00S00115.sechdr  +++|          DATA   40H          XXXXXXX             XXXXXXX
00117  M00S00116.sechdr  +++|          DATA   50H          XXXXXXX             XXXXXXX
00118  M00S00117.sechdr  +++|          DATA   40HXXXXXX              XXXXXXX
00119  M00S00118.sechdr  +++|          CON    0
00120  M00S00119.sechdr  +++|          DATA   1L
00121  M00S00120.sechdr  +++| FOOTL    EQU    *-FOOT      PAGE FOOTING LENGTH
00122  M00S00121.sechdr  +++|
00123  M00S00122.sechdr  +++| HEAD     DATA   1L1         PAGE HEADING
00124  M00S00123.sechdr  +++|          DATA   40H          XXXXXXX             XXXXXXX
00125  M00S00124.sechdr  +++|          DATA   50H          XXXXXXX             XXXXXXX
00126  M00S00125.sechdr  +++|          DATA   40HXXXXXX              XXXXXXX
00127  M00S00126.sechdr  +++|          CON    0
00128  M00S00127.sechdr  +++|          DATA   1L
00129  M00S00128.sechdr  +++| HEADL    EQU    *-HEAD      PAGE HEADING LENGTH
00130  M00S00129.sechdr  +++|
00131  M00S00130.sechdr  +++| SHFL     EQU    6           SECURITY HEADING/FOOTING LINE COUNT
00132  M00S00131.sechdr  +++|          TITLE  MAIN PROGRAM.
00133  M00S00132.sechdr  +++|          SPACE  4,10
00134  M00S00133.sechdr  +++|*         MAIN PROGRAM.
00135  M00S00134.sechdr  +++|
00136  M00S00135.sechdr  +++|
00137  M00S00136.sechdr  +++| SECHDR   SB1    1
00138  M00S00137.sechdr  +++|          RJ     PRS         PRESET
00139  M00S00138.sechdr  +++|          WRITEC S,PDEN      WRITE PRINT DENSITY CONTROL
00140  M00S00139.sechdr  +++|          SA1    BUNT
00141  M00S00140.sechdr  +++|          SX1    X1-1
00142  M00S00141.sechdr  +++|          PL     X1,SEC1     IF NO BANNER PAGE TO BE WRITTEN
00143  M00S00142.sechdr  +++|          RJ     CBP         CREATE BANNER PAGE
00144  M00S00143.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00145  M00S00144.sechdr  +++|          SX0    B0+         SET DATA READ
00146  M00S00145.sechdr  +++| SEC1     SA1    POPT
00147  M00S00146.sechdr  +++|          ZR     X1,SEC3     IF HEAD/FOOT OPTION NOT SET
00148  M00S00147.sechdr  +++|          SA1    FORM        CHECK IF FILE FORMATTED
00149  M00S00148.sechdr  +++|          ZR     X1,SEC2     IF FILE NOT FORMATTED
00150  M00S00149.sechdr  +++|          RJ     HFF         HEAD/FOOT PROCESSOR FOR FORMATTED FILE
00151  M00S00150.sechdr  +++|          EQ     SEC4        BACKCOPY FILE
00152  M00S00151.sechdr  +++|
00153  M00S00152.sechdr  +++| SEC2     RJ     HFU         HEAD/FOOT PROCESSOR FOR UNFORMATTED FILE
00154  M00S00153.sechdr  +++|          EQ     SEC4        BACKCOPY FILE
00155  M00S00154.sechdr  +++|
00156  M00S00155.sechdr  +++| SEC3     RJ     BPP         BANNER PAGE PROCESSOR
00157  M00S00156.sechdr  +++| SEC4     RJ     BCF         BACKCOPY FILE
00158  M00S00157.sechdr  +++|          ENDRUN
00159  M00S00158.sechdr  +++|          TITLE  SUBROUTINES.
00160  M00S00159.sechdr  +++| BCF      SPACE  4,10
00161  M00S00160.sechdr  +++|**        BCF - BACKCOPY FILE.
00162  M00S00161.sechdr  +++|*
00163  M00S00162.sechdr  +++|*         ENTRY  (BCFL) = BACKCOPY FLAG.
00164  M00S00163.sechdr  +++|*
00165  M00S00164.sechdr  +++|*         USES   X - 1.
00166  M00S00165.sechdr  +++|*                A - 1.
00167  M00S00166.sechdr  +++|*
00168  M00S00167.sechdr  +++|*         MACROS READ, READW, RECALL, RENAME, RETURN, REWIND, WRITEF,
00169  M00S00168.sechdr  +++|*                WRITER, WRITEW.
00170  M00S00169.sechdr  +++|
00171  M00S00170.sechdr  +++|
00172  M00S00171.sechdr  +++| BCF      SUBR               ENTRY/EXIT
00173  M00S00172.sechdr  +++|          REWIND F
00174  M00S00173.sechdr  +++|          REWIND S
00175  M00S00174.sechdr  +++|          SA1    BCFL        GET BACKCOPY FLAG
00176  M00S00175.sechdr  +++|          NZ     X1,BCF6     IF BACKCOPY NOT REQUIRED
00177  M00S00176.sechdr  +++| BCF1     READ   S
00178  M00S00177.sechdr  +++|          RECALL F
00179  M00S00178.sechdr  +++| BCF2     READW  S,WBUF,WBUFL
00180  M00S00179.sechdr  +++|          ZR     X1,BCF3     IF TRANSFER COMPLETE
00181  M00S00180.sechdr  +++|          NG     X1,BCF4     IF EOF OR EOI
00182  M00S00181.sechdr  +++|
00183  M00S00182.sechdr  +++|*         EOR ENCOUNTERED.
00184  M00S00183.sechdr  +++|
00185  M00S00184.sechdr  +++|          WRITEW F,WBUF,X1-WBUF  WRITE LAST PORTION OF RECORD
00186  M00S00185.sechdr  +++|          WRITER F
00187  M00S00186.sechdr  +++|          EQ     BCF1        READ NEXT RECORD
00188  M00S00187.sechdr  +++|
00189  M00S00188.sechdr  +++| BCF3     WRITEW F,WBUF,WBUFL
00190  M00S00189.sechdr  +++|          EQ     BCF2        TRANSFER MORE DATA
00191  M00S00190.sechdr  +++|
00192  M00S00191.sechdr  +++| BCF4     SX1    X1+1
00193  M00S00192.sechdr  +++|          NG     X1,BCF5     IF EOI ENCOUNTERED
00194  M00S00193.sechdr  +++|
00195  M00S00194.sechdr  +++|*         EOF ENCOUNTERED.
00196  M00S00195.sechdr  +++|
00197  M00S00196.sechdr  +++|          WRITEF F
00198  M00S00197.sechdr  +++|          EQ     BCF1        READ NEXT RECORD
00199  M00S00198.sechdr  +++|
00200  M00S00199.sechdr  +++|*         EOI ENCOUNTERED.
00201  M00S00200.sechdr  +++|
00202  M00S00201.sechdr  +++| BCF5     RETURN S           RETURN SCRATCH FILE
00203  M00S00202.sechdr  +++|          REWIND F           REWIND FILE
00204  M00S00203.sechdr  +++|          EQ     BCFX        RETURN
00205  M00S00204.sechdr  +++|
00206  M00S00205.sechdr  +++| BCF6     RENAME S,F
00207  M00S00206.sechdr  +++|          EQ     BCFX        RETURN
00208  M00S00207.sechdr  +++| BPP      SPACE  4,15
00209  M00S00208.sechdr  +++|**        BPP - BANNER PAGE PROCESSOR.
00210  M00S00209.sechdr  +++|*
00211  M00S00210.sechdr  +++|*         ENTRY  (BUNT) = BANNER UNIT VALUE.
00212  M00S00211.sechdr  +++|*                (X0) = 0 (DATA READ FLAG).
00213  M00S00212.sechdr  +++|*
00214  M00S00213.sechdr  +++|*         USES   X - 0, 1, 2, 5, 6, 7.
00215  M00S00214.sechdr  +++|*                A - 1, 2, 5, 6, 7.
00216  M00S00215.sechdr  +++|*
00217  M00S00216.sechdr  +++|*         CALLS  CLC, WBP.
00218  M00S00217.sechdr  +++|*
00219  M00S00218.sechdr  +++|*         MACROS READ, READS, RECALL, WRITEC, WRITEF, WRITER, WRITES.
00220  M00S00219.sechdr  +++|*
00221  M00S00220.sechdr  +++|*         DEFINE (X0) = 0 IF DATA READ.
00222  M00S00221.sechdr  +++|*                     = -1 IF NO DATA (EOR).
00223  M00S00222.sechdr  +++|*                     = -2 IF NO DATA (EOF).
00224  M00S00223.sechdr  +++|
00225  M00S00224.sechdr  +++| BPP      SUBR               ENTRY/EXIT
00226  M00S00225.sechdr  +++|
00227  M00S00226.sechdr  +++|*         READ FILE.
00228  M00S00227.sechdr  +++|
00229  M00S00228.sechdr  +++| BPP1     SX7    1R1         SET NEW PAGE FOR UNFORMATTED FILE
00230  M00S00229.sechdr  +++|          SA7    WBUFS
00231  M00S00230.sechdr  +++|          SA1    LNPG        FORCE NEW PAGE
00232  M00S00231.sechdr  +++|          BX6    X1
00233  M00S00232.sechdr  +++|          SA6    LCNT
00234  M00S00233.sechdr  +++|          READ   F
00235  M00S00234.sechdr  +++|          RECALL S
00236  M00S00235.sechdr  +++| BPP2     READS  F,WBUF,WBUFL
00237  M00S00236.sechdr  +++|          ZR     X1,BPP3     IF TRANSFER COMPLETE
00238  M00S00237.sechdr  +++|          SA5    BUNT        GET BANNER UNIT
00239  M00S00238.sechdr  +++|          SX5    X5+B1
00240  M00S00239.sechdr  +++|          NG     X1,BPP6     IF EOF OR EOI
00241  M00S00240.sechdr  +++|
00242  M00S00241.sechdr  +++|*         EOR ENCOUNTERED.
00243  M00S00242.sechdr  +++|
00244  M00S00243.sechdr  +++|          WRITER S
00245  M00S00244.sechdr  +++|          SX0    B0+         SET DATA (EOR) READ
00246  M00S00245.sechdr  +++|          SX1    X5-1
00247  M00S00246.sechdr  +++|          NG     X1,BPP1     IF BANNER UNIT NOT RECORD
00248  M00S00247.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00249  M00S00248.sechdr  +++|          SX0    -1          SET NO DATA (EOR)
00250  M00S00249.sechdr  +++|          EQ     BPP1        READ NEXT RECORD
00251  M00S00250.sechdr  +++|
00252  M00S00251.sechdr  +++|*         WRITE FILE LINE
00253  M00S00252.sechdr  +++|
00254  M00S00253.sechdr  +++| BPP3     SA2    FORM
00255  M00S00254.sechdr  +++|          SA1    WBUFS+X2    GET FIRST CHARACTER IN LINE
00256  M00S00255.sechdr  +++|          BX0    X0-X0       SET DATA READ
00257  M00S00256.sechdr  +++|          LX1    -6          LEFT JUSTIFY CHARACTER
00258  M00S00257.sechdr  +++|          RJ     CLC         CHECK LINE COUNT
00259  M00S00258.sechdr  +++|          NG     X2,BPP2     IF LINE SHOULD NOT BE WRITTEN
00260  M00S00259.sechdr  +++|          NZ     X2,BPP5     IF NOT END OF PAGE
00261  M00S00260.sechdr  +++|          ZR     X4,BPP5     IF LINE ALREADY HAS PAGE EJECT
00262  M00S00261.sechdr  +++| BPP4     WRITEC S,BOPL      SKIP TO BOTTOM OF PAGE
00263  M00S00262.sechdr  +++| BPP5     SA1    FORM        FORMAT OUTPUT IF FILE UNFORMATTED
00264  M00S00263.sechdr  +++|          SX1    X1+WBUFS
00265  M00S00264.sechdr  +++|          WRITES S,X1,WBUFL
00266  M00S00265.sechdr  +++|          SX6    1R          RESET FIRST CHARACTER BLANK
00267  M00S00266.sechdr  +++|          SA6    WBUFS
00268  M00S00267.sechdr  +++|          EQ     BPP2        TRANSFER MORE DATA
00269  M00S00268.sechdr  +++|
00270  M00S00269.sechdr  +++| BPP6     SX1    X1+1
00271  M00S00270.sechdr  +++|          NG     X1,BPP9     IF EOI ENCOUNTERED
00272  M00S00271.sechdr  +++|
00273  M00S00272.sechdr  +++|*         EOF ENCOUNTERED.
00274  M00S00273.sechdr  +++|
00275  M00S00274.sechdr  +++|          WRITEF S
00276  M00S00275.sechdr  +++|          ZR     X5,BPP7     IF BANNER UNIT FILE
00277  M00S00276.sechdr  +++|          SX1    X5-1
00278  M00S00277.sechdr  +++|          NZ     X1,BPP8     IF BANNER UNIT NOT RECORD
00279  M00S00278.sechdr  +++|          SX1    X0+1
00280  M00S00279.sechdr  +++|          ZR     X1,BPP8     IF NO DATA (EOR)
00281  M00S00280.sechdr  +++| BPP7     RJ     WBP         WRITE BANNER PAGE
00282  M00S00281.sechdr  +++| BPP8     SX0    -2          SET NO DATA (EOF)
00283  M00S00282.sechdr  +++|          EQ     BPP1        READ NEXT RECORD
00284  M00S00283.sechdr  +++|
00285  M00S00284.sechdr  +++|*         EOI ENCOUNTERED.
00286  M00S00285.sechdr  +++|
00287  M00S00286.sechdr  +++| BPP9     NG     X5,BPP10    IF BANNER AT BOI/EOI
00288  M00S00287.sechdr  +++|          NG     X0,BPPX     IF NO DATA READ SINCE LAST BANNER WRITTEN
00289  M00S00288.sechdr  +++| BPP10    RJ     WBP         WRITE BANNER PAGE
00290  M00S00289.sechdr  +++|          EQ     BPPX
00291  M00S00290.sechdr  +++| CBP      SPACE  4,15
00292  M00S00291.sechdr  +++|**        CBP - CREATE BANNER PAGE.
00293  M00S00292.sechdr  +++|*
00294  M00S00293.sechdr  +++|*         EXIT   (BPBL) = LENGTH OF ACCESS LEVEL NAME BUFFER.
00295  M00S00294.sechdr  +++|*
00296  M00S00295.sechdr  +++|*         USES   X - 0, 1, 2, 4, 6.
00297  M00S00296.sechdr  +++|*                A - 1, 2, 4, 6.
00298  M00S00297.sechdr  +++|*                B - 2.
00299  M00S00298.sechdr  +++|*
00300  M00S00299.sechdr  +++|*         CALLS  BAN.
00301  M00S00300.sechdr  +++|*
00302  M00S00301.sechdr  +++|*         MACROS DATE, USERNUM.
00303  M00S00302.sechdr  +++|
00304  M00S00303.sechdr  +++|
00305  M00S00304.sechdr  +++| CBP      SUBR               ENTRY/EXIT
00306  M00S00305.sechdr  +++|          SA1    F           GET FILE NAME
00307  M00S00306.sechdr  +++|          MX0    42
00308  M00S00307.sechdr  +++|          BX6    X0*X1
00309  M00S00308.sechdr  +++|          SA6    BPBA+2
00310  M00S00309.sechdr  +++|          DATE   BPBB+2      GET CURRENT DATE
00311  M00S00310.sechdr  +++|          SA1    BPBB+2      REMOVE LEADING SPACE
00312  M00S00311.sechdr  +++|          SB2    6
00313  M00S00312.sechdr  +++|          LX6    X1,B2
00314  M00S00313.sechdr  +++|          SA6    A1
00315  M00S00314.sechdr  +++|          USERNUM  BPBC+2    GET USER NAME
00316  M00S00315.sechdr  +++|          SA4    ALVL        GET ACCESS LEVEL NAME
00317  M00S00316.sechdr  +++|          SA2    BPB2
00318  M00S00317.sechdr  +++|          RJ     BAN         ENCODE BANNER MESSAGE
00319  M00S00318.sechdr  +++|          SX6    A2-BPB2     STORE LENGTH OF ACCESS LEVEL NAME BUFFER
00320  M00S00319.sechdr  +++|          SA6    BPBL
00321  M00S00320.sechdr  +++|          EQ     CBPX        RETURN
00322  M00S00321.sechdr  +++| CLC      SPACE  4,15
00323  M00S00322.sechdr  +++|**        CLC - CHECK LINE COUNT.
00324  M00S00323.sechdr  +++|*
00325  M00S00324.sechdr  +++|*         ENTRY  (X1) = FIRST CHARACTER OF LINE, LEFT JUSTIFIED.
00326  M00S00325.sechdr  +++|*
00327  M00S00326.sechdr  +++|*         EXIT   (X2) = 1, IF NOT END OF PAGE.
00328  M00S00327.sechdr  +++|*                     = 0, IF END OF PAGE.
00329  M00S00328.sechdr  +++|*                     = -1, IF LINE SHOULD NOT BE PRINTED.
00330  M00S00329.sechdr  +++|*                (X7) = LINES LEFT ON PAGE.
00331  M00S00330.sechdr  +++|*                (X5) = 0, IF PAGE EMPTY BEFORE READING THIS LINE.
00332  M00S00331.sechdr  +++|*                (X4) = 0, IF CHARACTER IS PAGE EJECT.
00333  M00S00332.sechdr  +++|*                     = 1, IF CHARACTER IS NOT PAGE EJECT.
00334  M00S00333.sechdr  +++|*
00335  M00S00334.sechdr  +++|*         USES   X - 1, 2, 3, 4, 5, 6, 7.
00336  M00S00335.sechdr  +++|*                A - 1, 2, 3, 4, 5, 6, 7.
00337  M00S00336.sechdr  +++|*                B - 2.
00338  M00S00337.sechdr  +++|*
00339  M00S00338.sechdr  +++|*         CALLS  RCC, SBP.
00340  M00S00339.sechdr  +++|*
00341  M00S00340.sechdr  +++|*         MACROS WRITEW.
00342  M00S00341.sechdr  +++|
00343  M00S00342.sechdr  +++|
00344  M00S00343.sechdr  +++| CLC10    SX3    1           FORCE LINE INCREMENT OF ONE
00345  M00S00344.sechdr  +++| CLC11    SA4    LCNT        UPDATE LINE COUNT
00346  M00S00345.sechdr  +++|          IX7    X4-X3
00347  M00S00346.sechdr  +++|          SA7    A4
00348  M00S00347.sechdr  +++|          SX2    B1+         SET NOT END OF PAGE
00349  M00S00348.sechdr  +++|          PL     X7,CLC13    IF NOT END OF PAGE
00350  M00S00349.sechdr  +++| CLC12    SA2    LNPG        RESET LINE COUNT
00351  M00S00350.sechdr  +++|          IX6    X2-X3
00352  M00S00351.sechdr  +++|          IX7    X7+X3       RESET LINES REMAINING ON PAGE
00353  M00S00352.sechdr  +++|          SA6    LCNT
00354  M00S00353.sechdr  +++|          SX2    B0+         SET END OF PAGE
00355  M00S00354.sechdr  +++| CLC13    SX4    B1+         SET NOT PAGE EJECT
00356  M00S00355.sechdr  +++|          SA5    CLCA        SET PAGE EMPTY STATUS
00357  M00S00356.sechdr  +++|
00358  M00S00357.sechdr  +++| CLC      SUBR
00359  M00S00358.sechdr  +++|          SA2    LNPG        SAVE PAGE EMPTY STATUS
00360  M00S00359.sechdr  +++|          SA3    LCNT
00361  M00S00360.sechdr  +++|          SA4    EPWH
00362  M00S00361.sechdr  +++|          IX6    X2-X3
00363  M00S00362.sechdr  +++|          IX6    X4+X6       ADD *EMPTY PAGE WITH HEADER* FLAG
00364  M00S00363.sechdr  +++|          SA6    CLCA
00365  M00S00364.sechdr  +++|          BX7    X7-X7       CLEAR FLAG
00366  M00S00365.sechdr  +++|          SA7    A4
00367  M00S00366.sechdr  +++|          MX6    6
00368  M00S00367.sechdr  +++|          SA3    BLKL        CHECK FOR CARRIAGE CONTROL
00369  M00S00368.sechdr  +++|          BX3    X1-X3
00370  M00S00369.sechdr  +++|          ZR     X3,CLC10    IF NO CARRIAGE CONTROL
00371  M00S00370.sechdr  +++|          SB2    TCCCL-1
00372  M00S00371.sechdr  +++| CLC1     SA3    TCCC+B2     SEARCH FOR CARRIAGE CONTROL CHARACTER
00373  M00S00372.sechdr  +++|          BX4    X6*X3
00374  M00S00373.sechdr  +++|          BX7    X4-X1
00375  M00S00374.sechdr  +++|          ZR     X7,CLC2     IF CHARACTER FOUND
00376  M00S00375.sechdr  +++|          SB2    B2-1
00377  M00S00376.sechdr  +++|          PL     B2,CLC1     IF MORE TABLE TO SEARCH
00378  M00S00377.sechdr  +++|          EQ     CLC10       IGNORE UNKNOWN CARRIAGE CONTROL CHARACTER
00379  M00S00378.sechdr  +++|
00380  M00S00379.sechdr  +++| CLC2     SX3    X3          EXTRACT LINE COUNT
00381  M00S00380.sechdr  +++|          SX2    -B1
00382  M00S00381.sechdr  +++|          NG     X3,CLCX     IF LINE TO BE IGNORED
00383  M00S00382.sechdr  +++|          SA1    LNPG        SET PAGE EMPTY STATUS
00384  M00S00383.sechdr  +++|          SA2    LCNT
00385  M00S00384.sechdr  +++|          LX4    6
00386  M00S00385.sechdr  +++|          SA5    CLCA
00387  M00S00386.sechdr  +++|          SX7    X4-1R2
00388  M00S00387.sechdr  +++|          ZR     X7,CLC6     IF CARRIAGE CONTROL IS *2*
00389  M00S00388.sechdr  +++|          SX7    X4-1R/
00390  M00S00389.sechdr  +++|          ZR     X7,CLC9     IF CARRIAGE CONTROL IS */*
00391  M00S00390.sechdr  +++|          SX7    X4-1R1
00392  M00S00391.sechdr  +++|          NZ     X7,CLC11    IF CARRIAGE CONTROL IS NOT *1*
00393  M00S00392.sechdr  +++|
00394  M00S00393.sechdr  +++|*         PROCESS PAGE EJECT.
00395  M00S00394.sechdr  +++|
00396  M00S00395.sechdr  +++| CLC3     BX7    X2          SET LINES LEFT ON PAGE
00397  M00S00396.sechdr  +++|          IX6    X1-X3       UPDATE LINE COUNT
00398  M00S00397.sechdr  +++|          SA6    LCNT
00399  M00S00398.sechdr  +++|          SA1    POPT
00400  M00S00399.sechdr  +++|          ZR     X1,CLC4     IF CARRIAGE CONTROL SHOULD BE LEFT ON
00401  M00S00400.sechdr  +++|          RJ     RCC         REMOVE CARRIAGE CONTROL CHARACTER
00402  M00S00401.sechdr  +++| CLC4     SX2    B0+         SET END OF PAGE
00403  M00S00402.sechdr  +++|          NZ     X5,CLC5     IF PAGE NOT EMPTY
00404  M00S00403.sechdr  +++|          SX2    B1          SET NOT END OF PAGE
00405  M00S00404.sechdr  +++| CLC5     BX4    X4-X4       SET PAGE EJECT
00406  M00S00405.sechdr  +++|          EQ     CLCX        RETURN
00407  M00S00406.sechdr  +++|
00408  M00S00407.sechdr  +++|*         PROCESS SKIP TO BOTTOM OF PAGE.
00409  M00S00408.sechdr  +++|
00410  M00S00409.sechdr  +++| CLC6     SA3    POPT
00411  M00S00410.sechdr  +++|          NZ     X3,CLC7     IF CARRIAGE CONTROL SHOULD BE REMOVED
00412  M00S00411.sechdr  +++|          BX7    X1          RESET LINE COUNT
00413  M00S00412.sechdr  +++|          SA7    LCNT
00414  M00S00413.sechdr  +++|          SX2    B1          SET NOT END OF PAGE
00415  M00S00414.sechdr  +++|          EQ     CLC13       SET NOT PAGE EJECT
00416  M00S00415.sechdr  +++|
00417  M00S00416.sechdr  +++| CLC7     SX7    X2-1
00418  M00S00417.sechdr  +++|          NZ     X5,CLC8     IF PAGE NOT EMPTY
00419  M00S00418.sechdr  +++|          WRITEW S,HEAD,HEADL  WRITE HEADER
00420  M00S00419.sechdr  +++|          SA1    LNPG
00421  M00S00420.sechdr  +++|          SX7    X1-1
00422  M00S00421.sechdr  +++| CLC8     RJ     SBP         SKIP TO BOTTOM OF PAGE
00423  M00S00422.sechdr  +++|          RJ     RCC         REMOVE CARRIAGE CONTROL CHARACTER
00424  M00S00423.sechdr  +++|          BX7    X7-X7       SET PAGE AT LAST LINE
00425  M00S00424.sechdr  +++|          SA7    LCNT
00426  M00S00425.sechdr  +++|          SX2    B1          SET NOT END OF PAGE
00427  M00S00426.sechdr  +++|          SX5    B1          INSURE NO HEADER WRITTEN
00428  M00S00427.sechdr  +++|          SX4    B1          SET NOT PAGE EJECT
00429  M00S00428.sechdr  +++|          EQ     CLCX        RETURN
00430  M00S00429.sechdr  +++|
00431  M00S00430.sechdr  +++|*         PROCESS SUPPRESS CARRIAGE ADVANCE AFTER PRINTING.
00432  M00S00431.sechdr  +++|
00433  M00S00432.sechdr  +++| CLC9     NZ     X2,CLC11    IF NOT END OF PAGE
00434  M00S00433.sechdr  +++|          SX7    B0+
00435  M00S00434.sechdr  +++|          SX6    B1          SET *EMPTY PAGE WITH HEADER* FLAG
00436  M00S00435.sechdr  +++|          SA6    EPWH
00437  M00S00436.sechdr  +++|          EQ     CLC12       FORCE END OF PAGE
00438  M00S00437.sechdr  +++|
00439  M00S00438.sechdr  +++|
00440  M00S00439.sechdr  +++| CLCA     CON    0           PAGE EMPTY STATUS
00441  M00S00440.sechdr  +++| TCCC     SPACE  4,10
00442  M00S00441.sechdr  +++|**        TABLE OF CARRIAGE CONTROL CHARACTERS.
00443  M00S00442.sechdr  +++|*
00444  M00S00443.sechdr  +++|*T,TCCC   6/ CC,36/ 0,18/ LC
Figure TCCC

0171829 LC 030535459 0 CC

00445  M00S00444.sechdr  +++|*
00446  M00S00445.sechdr  +++|*         CC = CHARACTER.
00447  M00S00446.sechdr  +++|*         LC = LINE COUNT TO ADD.
00448  M00S00447.sechdr  +++|
00449  M00S00448.sechdr  +++|
00450  M00S00449.sechdr  +++| TCCC     BSS    0
00451  M00S00450.sechdr  +++|          VFD    6/1L/,36/0,18/0
00452  M00S00451.sechdr  +++|          VFD    6/1L2,36/0,18/0
00453  M00S00452.sechdr  +++|          VFD    6/1L+,36/0,18/0
00454  M00S00453.sechdr  +++|          VFD    6/1L-,36/0,18/3
00455  M00S00454.sechdr  +++|          VFD    6/1L0,36/0,18/2
00456  M00S00455.sechdr  +++|          VFD    6/1LS,36/0,18/-1
00457  M00S00456.sechdr  +++|          VFD    6/1LT,36/0,18/-1
00458  M00S00457.sechdr  +++|          VFD    6/1L1,36/0,18/1
00459  M00S00458.sechdr  +++| TCCCL    EQU    *-TCCC
00460  M00S00459.sechdr  +++| HFF      SPACE  4,20
00461  M00S00460.sechdr  +++|**        HFF - OUTPUT HEAD AND FOOT SECURITY LINES FOR A
00462  M00S00461.sechdr  +++|*                FORMATTED FILE.
00463  M00S00462.sechdr  +++|*
00464  M00S00463.sechdr  +++|*         ENTRY  (BUNT) = BANNER UNIT VALUE.
00465  M00S00464.sechdr  +++|*                (X0) = 0 (DATA READ).
00466  M00S00465.sechdr  +++|*
00467  M00S00466.sechdr  +++|*         USES   X - 0, 1, 2, 5, 6, 7.
00468  M00S00467.sechdr  +++|*                A - 1, 2, 6.
00469  M00S00468.sechdr  +++|*
00470  M00S00469.sechdr  +++|*         CALLS  CLC, SBP, WBP.
00471  M00S00470.sechdr  +++|*
00472  M00S00471.sechdr  +++|*         MACROS READ, READC, RECALL, WRITEC, WRITEF, WRITER, WRITEW.
00473  M00S00472.sechdr  +++|*
00474  M00S00473.sechdr  +++|*         DEFINE (X0) = 0 IF DATA READ.
00475  M00S00474.sechdr  +++|*                     = -1 IF NO DATA (EOR).
00476  M00S00475.sechdr  +++|*                     = -2 IF NO DATA (EOF).
00477  M00S00476.sechdr  +++|
00478  M00S00477.sechdr  +++|
00479  M00S00478.sechdr  +++| HFF      SUBR               ENTRY/EXIT
00480  M00S00479.sechdr  +++|
00481  M00S00480.sechdr  +++|*         READ FILE.
00482  M00S00481.sechdr  +++|
00483  M00S00482.sechdr  +++| HFF1     SA1    LNPG        FORCE NEW PAGE
00484  M00S00483.sechdr  +++|          BX6    X1
00485  M00S00484.sechdr  +++|          BX7    X7-X7
00486  M00S00485.sechdr  +++|          SA6    LCNT
00487  M00S00486.sechdr  +++|          SA7    EPWH        CLEAR EMPTY PAGE WITH HEADER FLAG
00488  M00S00487.sechdr  +++|          READ   F
00489  M00S00488.sechdr  +++|          RECALL S
00490  M00S00489.sechdr  +++|
00491  M00S00490.sechdr  +++|*         READ FILE LINE.
00492  M00S00491.sechdr  +++|
00493  M00S00492.sechdr  +++| HFF2     READC  F,WBUF,WBUFL
00494  M00S00493.sechdr  +++|          ZR     X1,HFF4     IF TRANSFER COMPLETE
00495  M00S00494.sechdr  +++|          NG     X1,HFF8     IF EOF OR EOI
00496  M00S00495.sechdr  +++|
00497  M00S00496.sechdr  +++|*         END OF RECORD ENCOUNTERED.
00498  M00S00497.sechdr  +++|
00499  M00S00498.sechdr  +++|          SA2    LCNT        ENSURE FOOTING AT BOTTOM OF PAGE
00500  M00S00499.sechdr  +++|          SA1    LNPG
00501  M00S00500.sechdr  +++|          IX1    X1-X2
00502  M00S00501.sechdr  +++|          NZ     X1,HFF3     IF HEADING ALREADY WRITTEN
00503  M00S00502.sechdr  +++|          SA1    EPWH
00504  M00S00503.sechdr  +++|          NZ     X1,HFF3     IF HEADING ALREADY WRITTEN
00505  M00S00504.sechdr  +++|          WRITEW S,HEAD,HEADL  WRITE HEADING
00506  M00S00505.sechdr  +++|          SA2    LNPG
00507  M00S00506.sechdr  +++| HFF3     BX7    X2
00508  M00S00507.sechdr  +++|          RJ     SBP         SKIP TO BOTTOM OF PAGE
00509  M00S00508.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00510  M00S00509.sechdr  +++|          WRITER S
00511  M00S00510.sechdr  +++|          SX0    B0+         SET DATA (EOR) READ
00512  M00S00511.sechdr  +++|          SA1    BUNT
00513  M00S00512.sechdr  +++|          NZ     X1,HFF1     IF BANNER UNIT NOT RECORD
00514  M00S00513.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00515  M00S00514.sechdr  +++|          SX0    -1          SET NO DATA
00516  M00S00515.sechdr  +++|          EQ     HFF1        READ NEXT RECORD
00517  M00S00516.sechdr  +++|
00518  M00S00517.sechdr  +++|*         WRITE FILE LINE.
00519  M00S00518.sechdr  +++|
00520  M00S00519.sechdr  +++| HFF4     SX0    B0+         SET DATA READ
00521  M00S00520.sechdr  +++|          SA1    WBUF        GET FIRST CHARACTER IN LINE
00522  M00S00521.sechdr  +++|          MX2    6
00523  M00S00522.sechdr  +++|          BX1    X2*X1
00524  M00S00523.sechdr  +++|          RJ     CLC         CHECK LINE COUNT
00525  M00S00524.sechdr  +++|          NG     X2,HFF2     IF LINE SHOULD BE SKIPPED
00526  M00S00525.sechdr  +++|          ZR     X5,HFF6     IF HEADING NOT ALREADY WRITTEN
00527  M00S00526.sechdr  +++|          NZ     X2,HFF7     IF NOT END OF PAGE
00528  M00S00527.sechdr  +++|          RJ     SBP         SKIP TO BOTTOM OF PAGE
00529  M00S00528.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00530  M00S00529.sechdr  +++| HFF6     WRITEW S,HEAD,HEADL  WRITE HEADING
00531  M00S00530.sechdr  +++| HFF7     WRITEC S,WBUF      WRITE DATA LINE
00532  M00S00531.sechdr  +++|          EQ     HFF2        READ NEXT LINE
00533  M00S00532.sechdr  +++|
00534  M00S00533.sechdr  +++| HFF8     SX1    X1+1
00535  M00S00534.sechdr  +++|          NG     X1,HFF11    IF EOI ENCOUNTERED
00536  M00S00535.sechdr  +++|          WRITEF S
00537  M00S00536.sechdr  +++|          SA1    BUNT
00538  M00S00537.sechdr  +++|          SX1    X1+1
00539  M00S00538.sechdr  +++|          ZR     X1,HFF9     IF BANNER UNIT FILE
00540  M00S00539.sechdr  +++|          SX1    X1-1
00541  M00S00540.sechdr  +++|          NZ     X1,HFF10    IF BANNER UNIT NOT RECORD
00542  M00S00541.sechdr  +++|          SX1    X0+1
00543  M00S00542.sechdr  +++|          ZR     X1,HFF10
00544  M00S00543.sechdr  +++| HFF9     RJ     WBP         WRITE BANNER PAGE
00545  M00S00544.sechdr  +++| HFF10    SX0    -2          SET NO DATA (EOF)
00546  M00S00545.sechdr  +++|          EQ     HFF1        READ NEXT RECORD
00547  M00S00546.sechdr  +++|
00548  M00S00547.sechdr  +++| HFF11    SA1    BUNT
00549  M00S00548.sechdr  +++|          SX2    X1+2
00550  M00S00549.sechdr  +++|          ZR     X2,HFF12    IF BANNER AT BOI/EOI
00551  M00S00550.sechdr  +++|          NG     X0,HFFX     IF NO DATA READ SINCE LAST BANNER WRITTEN
00552  M00S00551.sechdr  +++|          SX2    X1-1
00553  M00S00552.sechdr  +++|          ZR     X2,HFFX     IF BANNER NOT TO BE WRITTEN
00554  M00S00553.sechdr  +++| HFF12    RJ     WBP         WRITE BANNER PAGE
00555  M00S00554.sechdr  +++|          EQ     HFFX        RETURN
00556  M00S00555.sechdr  +++| HFU      SPACE  4,20
00557  M00S00556.sechdr  +++|**        HFU - OUTPUT HEAD AND FOOT SECURITY LINES FOR AN
00558  M00S00557.sechdr  +++|*                UNFORMATTED FILE.
00559  M00S00558.sechdr  +++|*
00560  M00S00559.sechdr  +++|*         ENTRY  (BUNT) = BANNER UNIT VALUE.
00561  M00S00560.sechdr  +++|*
00562  M00S00561.sechdr  +++|*         USES   X - 0, 1, 2, 3, 5, 6, 7.
00563  M00S00562.sechdr  +++|*                A - 1, 2, 3, 5, 6, 7.
00564  M00S00563.sechdr  +++|*                B - 2, 5, 7.
00565  M00S00564.sechdr  +++|*
00566  M00S00565.sechdr  +++|*         CALLS  CDD, SBP, SNM, WBP.
00567  M00S00566.sechdr  +++|*
00568  M00S00567.sechdr  +++|*         MACROS MESSAGE, READ, READS, RECALL, WRITEF, WRITER, WRITES,
00569  M00S00568.sechdr  +++|*                WRITEW.
00570  M00S00569.sechdr  +++|*
00571  M00S00570.sechdr  +++|*         DEFINE (X0) = 0 IF DATA READ.
00572  M00S00571.sechdr  +++|*                     = -1 IF NO DATA (EOR).
00573  M00S00572.sechdr  +++|*                     = -2 IF NO DATA (EOF).
00574  M00S00573.sechdr  +++|
00575  M00S00574.sechdr  +++|
00576  M00S00575.sechdr  +++| HFU      SUBR               ENTRY/EXIT
00577  M00S00576.sechdr  +++|          SX6    1R          ENSURE FIRST CHARACTER BLANK
00578  M00S00577.sechdr  +++|          SA6    WBUFS
00579  M00S00578.sechdr  +++|
00580  M00S00579.sechdr  +++|*         READ FILE.
00581  M00S00580.sechdr  +++|
00582  M00S00581.sechdr  +++| HFU1     SA1    LNPG        FORCE NEW PAGE
00583  M00S00582.sechdr  +++|          BX6    X1
00584  M00S00583.sechdr  +++|          BX7    X7-X7
00585  M00S00584.sechdr  +++|          SA6    LCNT
00586  M00S00585.sechdr  +++|          SA7    EPWH        CLEAR EMPTY PAGE WITH HEADER FLAG
00587  M00S00586.sechdr  +++|          READ   F
00588  M00S00587.sechdr  +++|          RECALL S
00589  M00S00588.sechdr  +++|
00590  M00S00589.sechdr  +++|*         READ FILE LINE.
00591  M00S00590.sechdr  +++|
00592  M00S00591.sechdr  +++| HFU2     READS  F,WBUF,WBUFL
00593  M00S00592.sechdr  +++|          ZR     X1,HFU4     IF TRANSFER COMPLETE
00594  M00S00593.sechdr  +++|          NG     X1,HFU8     IF EOF OR EOI
00595  M00S00594.sechdr  +++|
00596  M00S00595.sechdr  +++|*         EOR ENCOUNTERED.
00597  M00S00596.sechdr  +++|
00598  M00S00597.sechdr  +++|          SA2    LCNT        ENSURE FOOTING AT BOTTOM PAGE
00599  M00S00598.sechdr  +++|          SA1    LNPG
00600  M00S00599.sechdr  +++|          IX1    X1-X2
00601  M00S00600.sechdr  +++|          NZ     X1,HFU3     IF HEADING ALREADY WRITTEN
00602  M00S00601.sechdr  +++|          SA1    EPWH
00603  M00S00602.sechdr  +++|          NZ     X1,HFU3     IF HEADING ALREADY WRITTEN
00604  M00S00603.sechdr  +++|          WRITEW S,HEAD,HEADL  WRITE HEADING
00605  M00S00604.sechdr  +++|          SA2    LNPG
00606  M00S00605.sechdr  +++| HFU3     BX7    X2
00607  M00S00606.sechdr  +++|          RJ     SBP         SKIP TO BOTTOM OF PAGE
00608  M00S00607.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00609  M00S00608.sechdr  +++|          WRITER S
00610  M00S00609.sechdr  +++|          SX0    B0+         SET DATA (EOR) READ
00611  M00S00610.sechdr  +++|          SA1    BUNT
00612  M00S00611.sechdr  +++|          NZ     X1,HFU1     IF NO BANNER PAGE
00613  M00S00612.sechdr  +++|          RJ     WBP         WRITE BANNER PAGE
00614  M00S00613.sechdr  +++|          SX0    -1          SET NO DATA
00615  M00S00614.sechdr  +++|          EQ     HFU1        READ NEXT RECORD
00616  M00S00615.sechdr  +++|
00617  M00S00616.sechdr  +++|*         WRITE FILE LINE.
00618  M00S00617.sechdr  +++|
00619  M00S00618.sechdr  +++| HFU4     SX0    B0+         SET DATA READ
00620  M00S00619.sechdr  +++|          SB7    WBUF+WBUFL  LWA+1 OF BUFFER
00621  M00S00620.sechdr  +++|          NE     B6,B7,HFU5  IF BUFFER NOT FULL
00622  M00S00621.sechdr  +++|          SA1    LTCT        INCREMENT TRUNCATION COUNT
00623  M00S00622.sechdr  +++|          SX3    B1
00624  M00S00623.sechdr  +++|          IX7    X1+X3
00625  M00S00624.sechdr  +++|          SA7    A1+
00626  M00S00625.sechdr  +++| HFU5     SA5    LCNT
00627  M00S00626.sechdr  +++|          SA2    LNPG
00628  M00S00627.sechdr  +++|          IX2    X5-X2
00629  M00S00628.sechdr  +++|          ZR     X2,HFU6     IF HEADING NOT WRITTEN YET
00630  M00S00629.sechdr  +++|          NZ     X5,HFU7     IF NOT END OF PAGE
00631  M00S00630.sechdr  +++|          WRITEW S,FOOT,FOOTL  WRITE FOOTING
00632  M00S00631.sechdr  +++|          SA5    LNPG        RESET LINE COUNT
00633  M00S00632.sechdr  +++| HFU6     WRITEW S,HEAD,HEADL  WRITE HEADING
00634  M00S00633.sechdr  +++| HFU7     WRITES S,WBUFS,WBUFL  WRITE DATA LINE
00635  M00S00634.sechdr  +++|          SX7    X5-1        UPDATE LINE COUNT
00636  M00S00635.sechdr  +++|          SA7    LCNT
00637  M00S00636.sechdr  +++|          EQ     HFU2        READ NEXT LINE
00638  M00S00637.sechdr  +++|
00639  M00S00638.sechdr  +++| HFU8     SX1    X1+1
00640  M00S00639.sechdr  +++|          NG     X1,HFU11    IF EOI ENCOUNTERED
00641  M00S00640.sechdr  +++|          WRITEF S
00642  M00S00641.sechdr  +++|          SA1    BUNT
00643  M00S00642.sechdr  +++|          SX1    X1+1
00644  M00S00643.sechdr  +++|          ZR     X1,HFU9     IF BANNER UNIT FILE
00645  M00S00644.sechdr  +++|          SX1    X1-1
00646  M00S00645.sechdr  +++|          NZ     X1,HFU10    IF BANNER UNIT NOT RECORD
00647  M00S00646.sechdr  +++|          SX1    X0+1
00648  M00S00647.sechdr  +++|          ZR     X1,HFU10    IF NO DATA (EOR)
00649  M00S00648.sechdr  +++| HFU9     RJ     WBP         WRITE BANNER PAGE
00650  M00S00649.sechdr  +++| HFU10    SX0    -2          SET NO DATA (EOF)
00651  M00S00650.sechdr  +++|          EQ     HFU1        READ NEXT RECORD
00652  M00S00651.sechdr  +++|
00653  M00S00652.sechdr  +++| HFU11    SA1    BUNT
00654  M00S00653.sechdr  +++|          SX2    X1+2
00655  M00S00654.sechdr  +++|          ZR     X2,HFU12    IF BANNER AT BOI/EOI
00656  M00S00655.sechdr  +++|          NG     X0,HFU13    IF NO DATA READ SINCE LAST BANNER WRITTEN
00657  M00S00656.sechdr  +++|          SX2    X1-1
00658  M00S00657.sechdr  +++|          ZR     X2,HFU13    IF BANNER NOT TO BE WRITTEN
00659  M00S00658.sechdr  +++| HFU12    RJ     WBP         WRITE BANNER PAGE
00660  M00S00659.sechdr  +++|
00661  M00S00660.sechdr  +++|*         ISSUE LINES TRUNCATED MESSAGE.
00662  M00S00661.sechdr  +++|
00663  M00S00662.sechdr  +++| HFU13    SA1    LTCT        GET TRUNCATION COUNT
00664  M00S00663.sechdr  +++|          ZR     X1,HFUX     IF NO LINES TRUNCATED
00665  M00S00664.sechdr  +++|          SX5    HFUA
00666  M00S00665.sechdr  +++|          SX2    X1-1
00667  M00S00666.sechdr  +++|          ZR     X2,HFU14    IF ONE LINE TRUNCATED
00668  M00S00667.sechdr  +++|          SX5    HFUB
00669  M00S00668.sechdr  +++|          RJ     CDD         CONVERT TO DECIMAL DISPLAY CODE
00670  M00S00669.sechdr  +++|          MX1    1           ENTER COUNT IN MESSAGE
00671  M00S00670.sechdr  +++|          SB2    B2-B1
00672  M00S00671.sechdr  +++|          AX1    B2
00673  M00S00672.sechdr  +++|          BX1    X1*X4
00674  M00S00673.sechdr  +++|          SB2    1RX
00675  M00S00674.sechdr  +++|          SB5    X5+
00676  M00S00675.sechdr  +++|          RJ     SNM         SET LINE COUNT IN MESSAGE
00677  M00S00676.sechdr  +++| HFU14    MESSAGE  X5,3      ISSUE LINES TRUNCATED MESSAGE
00678  M00S00677.sechdr  +++|          EQ     HFUX        RETURN
00679  M00S00678.sechdr  +++|
00680  M00S00679.sechdr  +++|
00681  M00S00680.sechdr  +++| HFUA     DATA   C* 1 LINE TRUNCATED.*
00682  M00S00681.sechdr  +++| HFUB     DATA   C* XXXXXXXXXX LINES TRUNCATED.*
00683  M00S00682.sechdr  +++| RCC      SPACE  4,10
00684  M00S00683.sechdr  +++|**        RCC - REMOVE CARRIAGE CONTROL CHARACTER.
00685  M00S00684.sechdr  +++|*
00686  M00S00685.sechdr  +++|*         ENTRY  (WBUF) = LINE OF FILE.
00687  M00S00686.sechdr  +++|*
00688  M00S00687.sechdr  +++|*         EXIT   CARRIAGE CONTROL (FIRST CHARACTER) REMOVED
00689  M00S00688.sechdr  +++|*                FROM SPECIFIED LINE OF FILE.
00690  M00S00689.sechdr  +++|*
00691  M00S00690.sechdr  +++|*         USES   X - 1, 2, 4, 6.
00692  M00S00691.sechdr  +++|*                A - 1, 4, 6.
00693  M00S00692.sechdr  +++|
00694  M00S00693.sechdr  +++|
00695  M00S00694.sechdr  +++| RCC      SUBR               ENTRY/EXIT
00696  M00S00695.sechdr  +++|          SA1    WBUF        REMOVE CARRIAGE CONTROL
00697  M00S00696.sechdr  +++|          MX2    6
00698  M00S00697.sechdr  +++|          BX1    -X2*X1
00699  M00S00698.sechdr  +++|          SA4    BLKL        FILL HOLE WITH BLANK
00700  M00S00699.sechdr  +++|          BX6    X1+X4
00701  M00S00700.sechdr  +++|          SA6    A1
00702  M00S00701.sechdr  +++|          EQ     RCCX        RETURN
00703  M00S00702.sechdr  +++| SBP      SPACE  4,10
00704  M00S00703.sechdr  +++|**        SBP - SKIP TO BOTTOM OF PAGE.
00705  M00S00704.sechdr  +++|*
00706  M00S00705.sechdr  +++|*         ENTRY  (X7) = NUMBER OF BLANK LINES TO WRITE.
00707  M00S00706.sechdr  +++|*
00708  M00S00707.sechdr  +++|*         USES   X - 7.
00709  M00S00708.sechdr  +++|*                B - 7.
00710  M00S00709.sechdr  +++|*
00711  M00S00710.sechdr  +++|*         MACROS WRITEC.
00712  M00S00711.sechdr  +++|
00713  M00S00712.sechdr  +++|
00714  M00S00713.sechdr  +++| SBP      SUBR               ENTRY/EXIT
00715  M00S00714.sechdr  +++|          SB7    X7          NUMBER OF BLANK LINES TO WRITE
00716  M00S00715.sechdr  +++|          SX7    X7-1
00717  M00S00716.sechdr  +++|          NG     X7,SBPX     IF NO BLANK LINES NEEDED
00718  M00S00717.sechdr  +++| SBP1     WRITEC S,BLKL      WRITE BLANK LINE
00719  M00S00718.sechdr  +++|          SB7    B7-1
00720  M00S00719.sechdr  +++|          NZ     B7,SBP1     IF MORE LINES TO WRITE
00721  M00S00720.sechdr  +++|          EQ     SBPX        RETURN
00722  M00S00721.sechdr  +++| WBP      SPACE  4,10
00723  M00S00722.sechdr  +++|**        WBP - WRITE BANNER PAGE.
00724  M00S00723.sechdr  +++|*
00725  M00S00724.sechdr  +++|*         USES   X - 1.
00726  M00S00725.sechdr  +++|*                A - 1.
00727  M00S00726.sechdr  +++|*
00728  M00S00727.sechdr  +++|*         MACROS WRITER, WRITEW.
00729  M00S00728.sechdr  +++|
00730  M00S00729.sechdr  +++|
00731  M00S00730.sechdr  +++| WBP      SUBR               ENTRY/EXIT
00732  M00S00731.sechdr  +++|          WRITEW S,BPB1,BPB1L
00733  M00S00732.sechdr  +++|          SA1    BPBL        GET BUFFER LENGTH
00734  M00S00733.sechdr  +++|          WRITEW S,BPB2,X1
00735  M00S00734.sechdr  +++|          WRITER S
00736  M00S00735.sechdr  +++|          EQ     WBPX        RETURN
00737  M00S00736.sechdr  +++|          SPACE  4,10
00738  M00S00737.sechdr  +++|*         COMMON DECKS.
00739  M00S00738.sechdr  +++|
00740  M00S00739.sechdr  +++|
00741  M00S00740.sechdr  +++|*CALL     COMCARG
00742  M00S00741.sechdr  +++|*CALL     COMCBAN
00743  M00S00742.sechdr  +++|*CALL     COMCCDD
00744  M00S00743.sechdr  +++|*CALL     COMCCIO
00745  M00S00744.sechdr  +++|*CALL     COMCCPM
00746  M00S00745.sechdr  +++|*CALL     COMCLFM
00747  M00S00746.sechdr  +++|*CALL     COMCRDC
00748  M00S00747.sechdr  +++|*CALL     COMCRDS
00749  M00S00748.sechdr  +++|*CALL     COMCRDW
00750  M00S00749.sechdr  +++|*CALL     COMCSFN
00751  M00S00750.sechdr  +++|*CALL     COMCSNM
00752  M00S00751.sechdr  +++|*CALL     COMCSYS
00753  M00S00752.sechdr  +++|*CALL     COMCWTC
00754  M00S00753.sechdr  +++|*CALL     COMCWTS
00755  M00S00754.sechdr  +++|*CALL     COMCWTW
00756  M00S00755.sechdr  +++|*CALL     COMCVLC
00757  M00S00756.sechdr  +++|*CALL     COMTBAN
00758  M00S00757.sechdr  +++|          TITLE  BUFFER AREA.
00759  M00S00758.sechdr  +++|          SPACE  4,10
00760  M00S00759.sechdr  +++|*         BUFFERS.
00761  M00S00760.sechdr  +++|
00762  M00S00761.sechdr  +++|          USE    LITERALS
00763  M00S00762.sechdr  +++|
00764  M00S00763.sechdr  +++|
00765  M00S00764.sechdr  +++| BPB1     BSS    0           BANNER PAGE HEADER BUFFER
00766  M00S00765.sechdr  +++|          DATA   40H1
00767  M00S00766.sechdr  +++| BPBA     DATA   28H   FILE NAME      =
00768  M00S00767.sechdr  +++|          DATA   1L
00769  M00S00768.sechdr  +++|          DATA   40H
00770  M00S00769.sechdr  +++| BPBB     DATA   30H   DATE PRINTED   =
00771  M00S00770.sechdr  +++|          DATA   1L
00772  M00S00771.sechdr  +++|          DATA   1L
00773  M00S00772.sechdr  +++|          DATA   40H
00774  M00S00773.sechdr  +++| BPBC     DATA   30H   USER NAME      =
00775  M00S00774.sechdr  +++|          DATA   1L
00776  M00S00775.sechdr  +++|          DUP    10,1
00777  M00S00776.sechdr  +++|          DATA   1L
00778  M00S00777.sechdr  +++| BPB1L    EQU    *-BPB1
00779  M00S00778.sechdr  +++|          SPACE  4,10
00780  M00S00779.sechdr  +++| BPB2     BSS    0           ACCESS LEVEL NAME BUFFER
00781  M00S00780.sechdr  +++|          BSSZ   401
00782  M00S00781.sechdr  +++|          SPACE  4,10
00783  M00S00782.sechdr  +++| FBUF     EQU    *           SECURED FILE BUFFER
00784  M00S00783.sechdr  +++| SBUF     EQU    FBUF+FBUFL  SCRATCH FILE BUFFER
00785  M00S00784.sechdr  +++| WBUFS    EQU    SBUF+SBUFL  SHIFTED WORKING BUFFER
00786  M00S00785.sechdr  +++| WBUF     EQU    WBUFS+1     WORKING BUFFER
00787  M00S00786.sechdr  +++| RFL=     EQU    WBUF+WBUFL+4  SET *SECHDR* FL
00788  M00S00787.sechdr  +++|          TITLE  PRESET.
00789  M00S00788.sechdr  +++| PRS      SPACE  4,20
00790  M00S00789.sechdr  +++|**        PRS - PRESET.
00791  M00S00790.sechdr  +++|*
00792  M00S00791.sechdr  +++|*         EXIT   ARGUMENTS PROCESSED.
00793  M00S00792.sechdr  +++|*                (BUNT) = 1 IF NO BANNER PAGE TO BE WRITTEN.
00794  M00S00793.sechdr  +++|*                       = 0 IF BANNER UNIT IS RECORD.
00795  M00S00794.sechdr  +++|*                       = -1 IF BANNER UNIT IS FILE.
00796  M00S00795.sechdr  +++|*                       = -2 IF BANNER AT BOI/EOI.
00797  M00S00796.sechdr  +++|*                (POPT) = 1 IF HEAD/FOOT TO BE WRITTEN.
00798  M00S00797.sechdr  +++|*                       = 0 IF NO HEAD/FOOT TO BE WRITTEN.
00799  M00S00798.sechdr  +++|*                (BCFL) = 0 IF BACKCOPY NEEDS TO BE PERFORMED.
00800  M00S00799.sechdr  +++|*
00801  M00S00800.sechdr  +++|*         USES   X - ALL.
00802  M00S00801.sechdr  +++|*                A - 1, 2, 4, 6, 7.
00803  M00S00802.sechdr  +++|*                B - 2, 4, 5.
00804  M00S00803.sechdr  +++|*
00805  M00S00804.sechdr  +++|*         CALLS  ARG, SFN.
00806  M00S00805.sechdr  +++|*
00807  M00S00806.sechdr  +++|*         MACROS ABORT, FILINFO, GETPP, MESSAGE, REQUEST, RETURN,
00808  M00S00807.sechdr  +++|*                REWIND, SETFET, STATUS.
00809  M00S00808.sechdr  +++|
00810  M00S00809.sechdr  +++|
00811  M00S00810.sechdr  +++| PRS      SUBR               ENTRY/EXIT
00812  M00S00811.sechdr  +++|
00813  M00S00812.sechdr  +++|*         SET FILE NAME.
00814  M00S00813.sechdr  +++|
00815  M00S00814.sechdr  +++|          SA1    ARGR
00816  M00S00815.sechdr  +++|          SX5    ERFN        * NO FILE NAME SPECIFIED.*
00817  M00S00816.sechdr  +++|          ZR     X1,PRS9     IF NO ARGUMENTS
00818  M00S00817.sechdr  +++|          MX0    42
00819  M00S00818.sechdr  +++|          BX6    X0*X1
00820  M00S00819.sechdr  +++|          ZR     X6,PRS9     IF NULL FILE NAME
00821  M00S00820.sechdr  +++|          SA1    FIPB        SET FILE NAME IN *FILINFO* BLOCK
00822  M00S00821.sechdr  +++|          BX7    X1+X6
00823  M00S00822.sechdr  +++|          SA7    A1
00824  M00S00823.sechdr  +++|          SA2    F           SET FILE NAME IN FET
00825  M00S00824.sechdr  +++|          BX3    -X0*X2
00826  M00S00825.sechdr  +++|          BX6    X3+X6
00827  M00S00826.sechdr  +++|          SA6    A2+
00828  M00S00827.sechdr  +++|
00829  M00S00828.sechdr  +++|*         SAVE FILE ACCESS LEVEL.
00830  M00S00829.sechdr  +++|
00831  M00S00830.sechdr  +++|          SA1    F+1         SET BIT TO RETURN FILE ACCESS LEVEL
00832  M00S00831.sechdr  +++|          SX0    B1
00833  M00S00832.sechdr  +++|          LX0    39
00834  M00S00833.sechdr  +++|          BX6    X0+X1
00835  M00S00834.sechdr  +++|          SA6    A1
00836  M00S00835.sechdr  +++|          STATUS F,P
00837  M00S00836.sechdr  +++|          SA1    F+CFAL      GET ACCESS LEVEL
00838  M00S00837.sechdr  +++|          LX1    -36
00839  M00S00838.sechdr  +++|          MX0    -3
00840  M00S00839.sechdr  +++|          BX6    -X0*X1
00841  M00S00840.sechdr  +++|          SA6    PRSB
00842  M00S00841.sechdr  +++|          SA2    TALV+X6     OBTAIN EQUIVALENT TEXT
00843  M00S00842.sechdr  +++|          MX0    42
00844  M00S00843.sechdr  +++|          BX1    X0*X2
00845  M00S00844.sechdr  +++|          RJ     SFN
00846  M00S00845.sechdr  +++|          SA6    HEAD+2      SET HEADLINE
00847  M00S00846.sechdr  +++|          SA6    HEAD+4
00848  M00S00847.sechdr  +++|          SA6    HEAD+6
00849  M00S00848.sechdr  +++|          SA6    HEAD+8
00850  M00S00849.sechdr  +++|          SA6    HEAD+10
00851  M00S00850.sechdr  +++|          SA6    HEAD+12
00852  M00S00851.sechdr  +++|          SA6    FOOT+2      SET FOOTLINE
00853  M00S00852.sechdr  +++|          SA6    FOOT+4
00854  M00S00853.sechdr  +++|          SA6    FOOT+6
00855  M00S00854.sechdr  +++|          SA6    FOOT+8
00856  M00S00855.sechdr  +++|          SA6    FOOT+10
00857  M00S00856.sechdr  +++|          SA6    FOOT+12
00858  M00S00857.sechdr  +++|          SA6    ALVL
00859  M00S00858.sechdr  +++|
00860  M00S00859.sechdr  +++|*         CHECK FILE TYPE AND DEVICE TYPE.
00861  M00S00860.sechdr  +++|
00862  M00S00861.sechdr  +++|          FILINFO  FIPB      GET FILE INFORMATION
00863  M00S00862.sechdr  +++|          SA1    FIPB+1
00864  M00S00863.sechdr  +++|          MX0    -6          CHECK FILE TYPE
00865  M00S00864.sechdr  +++|          BX2    -X0*X1
00866  M00S00865.sechdr  +++|          SX6    X2-4        (X6) = 0 IF DIRECT ACCESS FILE
00867  M00S00866.sechdr  +++|          LX1    59-16
00868  M00S00867.sechdr  +++|          SX5    ERTF        * UNABLE TO PROCESS TERMINAL FILE.*
00869  M00S00868.sechdr  +++|          NG     X1,PRS9     IF FILE ASSIGNED TO TERMINAL
00870  M00S00869.sechdr  +++|          LX1    59-15-59+16 CHECK DEVICE TYPE
00871  M00S00870.sechdr  +++|          NG     X1,PRS1     IF FILE ON MASS STORAGE
00872  M00S00871.sechdr  +++|          BX7    X7-X7       CLEAR RANDOM INDEX
00873  M00S00872.sechdr  +++|          SA7    F+CFCN
00874  M00S00873.sechdr  +++|          BX6    X6-X6
00875  M00S00874.sechdr  +++| PRS1     SA6    BCFL        SET BACKCOPY FLAG
00876  M00S00875.sechdr  +++|
00877  M00S00876.sechdr  +++|*         PROCESS ARGUMENTS.
00878  M00S00877.sechdr  +++|
00879  M00S00878.sechdr  +++|          SA4    ACTR
00880  M00S00879.sechdr  +++|          SB4    X4-1        SET ARGUMENT COUNT
00881  M00S00880.sechdr  +++|          SA4    ARGR+1      SET FIRST ARGUMENT
00882  M00S00881.sechdr  +++|          SB5    TARG        SET ARGUMENT TABLE FWA
00883  M00S00882.sechdr  +++|          RJ     ARG         PROCESS ARGUMENTS
00884  M00S00883.sechdr  +++|          SX5    ERPR        * ERROR IN SECHDR PARAMETERS.*
00885  M00S00884.sechdr  +++|          NZ     X1,PRS9     IF ARGUMENT ERROR
00886  M00S00885.sechdr  +++|
00887  M00S00886.sechdr  +++|*         PROCESS *OP* OPTIONS.
00888  M00S00887.sechdr  +++|
00889  M00S00888.sechdr  +++|          SA1    OP          CHECK OPTIONS
00890  M00S00889.sechdr  +++|          MX0    6
00891  M00S00890.sechdr  +++|          NZ     X1,PRS2     IF NOT DEFAULT OPTION
00892  M00S00891.sechdr  +++|          SA1    DFOP
00893  M00S00892.sechdr  +++| PRS2     BX2    X0*X1
00894  M00S00893.sechdr  +++|          ZR     X2,PRS5     IF NO MORE OPTIONS SPECIFIED
00895  M00S00894.sechdr  +++|          LX1    6           POSITION NEXT OPTION
00896  M00S00895.sechdr  +++|
00897  M00S00896.sechdr  +++|*         CHECK IF LEGAL OPTION.
00898  M00S00897.sechdr  +++|
00899  M00S00898.sechdr  +++|          SA4    TOPT
00900  M00S00899.sechdr  +++| PRS3     BX3    X0*X4       CHECK OPTION
00901  M00S00900.sechdr  +++|          IX3    X3-X2
00902  M00S00901.sechdr  +++|          ZR     X3,PRS4     IF LEGAL OPTION
00903  M00S00902.sechdr  +++|          SA4    A4+B1
00904  M00S00903.sechdr  +++|          NZ     X4,PRS3     IF MORE OPTIONS TO CHECK
00905  M00S00904.sechdr  +++|          SA1    EROP+1      SET UNKNOWN OPTION IN MESSAGE
00906  M00S00905.sechdr  +++|          MX0    -6
00907  M00S00906.sechdr  +++|          LX0    6
00908  M00S00907.sechdr  +++|          BX3    X0*X1
00909  M00S00908.sechdr  +++|          LX2    12
00910  M00S00909.sechdr  +++|          BX6    X3+X2
00911  M00S00910.sechdr  +++|          SA6    A1
00912  M00S00911.sechdr  +++|          SX5    EROP        * UNKNOWN OPTION - X.*
00913  M00S00912.sechdr  +++|          EQ     PRS9        PROCESS ERROR
00914  M00S00913.sechdr  +++|
00915  M00S00914.sechdr  +++|*         SET BIT IN OPTION TABLE.
00916  M00S00915.sechdr  +++|
00917  M00S00916.sechdr  +++| PRS4     LX4    59-0
00918  M00S00917.sechdr  +++|          NG     X4,PRS2     IF OPTION PREVIOUSLY SPECIFIED
00919  M00S00918.sechdr  +++|          LX4    0-59
00920  M00S00919.sechdr  +++|          SX6    B1+
00921  M00S00920.sechdr  +++|          BX6    X6+X4
00922  M00S00921.sechdr  +++|          SA6    A4
00923  M00S00922.sechdr  +++|          EQ     PRS2        CHECK REMAINING OPTIONS
00924  M00S00923.sechdr  +++|
00925  M00S00924.sechdr  +++|*         CHECK IF B, F, OR R OPTION SELECTED.
00926  M00S00925.sechdr  +++|
00927  M00S00926.sechdr  +++| PRS5     SA1    TOPT-1
00928  M00S00927.sechdr  +++|          SB2    B1+B1
00929  M00S00928.sechdr  +++|          MX0    -1
00930  M00S00929.sechdr  +++| PRS6     SA1    A1+B1       CHECK NEXT OPTION
00931  M00S00930.sechdr  +++|          NG     B2,PRS7     IF END OF OPTIONS TO CHECK
00932  M00S00931.sechdr  +++|          SB2    B2-B1
00933  M00S00932.sechdr  +++|          BX2    -X0*X1
00934  M00S00933.sechdr  +++|          ZR     X2,PRS6     IF OPTION NOT SET
00935  M00S00934.sechdr  +++|          SX6    B2-B1
00936  M00S00935.sechdr  +++|          SA6    BUNT        STORE BANNER UNIT
00937  M00S00936.sechdr  +++|
00938  M00S00937.sechdr  +++|*         SAVE P OPTION.
00939  M00S00938.sechdr  +++|
00940  M00S00939.sechdr  +++| PRS7     SA1    TOPP
00941  M00S00940.sechdr  +++|          BX6    -X0*X1
00942  M00S00941.sechdr  +++|          SA6    POPT
00943  M00S00942.sechdr  +++|          REWIND F,R
00944  M00S00943.sechdr  +++|          RETURN S,R
00945  M00S00944.sechdr  +++|
00946  M00S00945.sechdr  +++|*         CREATE SCRATCH FILE WITH SAME ACCESS LEVEL.
00947  M00S00946.sechdr  +++|
00948  M00S00947.sechdr  +++|          SA1    S+1         SET FILE ACCESS LEVEL BIT
00949  M00S00948.sechdr  +++|          MX0    1
00950  M00S00949.sechdr  +++|          LX0    39-59
00951  M00S00950.sechdr  +++|          BX6    X0+X1
00952  M00S00951.sechdr  +++|          SA6    A1
00953  M00S00952.sechdr  +++|          SA2    S+CFAL
00954  M00S00953.sechdr  +++|          MX0    -3
00955  M00S00954.sechdr  +++|          LX0    36
00956  M00S00955.sechdr  +++|          SA1    PRSB        GET ACCESS LEVEL OF OLD FILE
00957  M00S00956.sechdr  +++|          BX2    X0*X2       CLEAR ACCESS LEVEL FIELD
00958  M00S00957.sechdr  +++|          LX1    36
00959  M00S00958.sechdr  +++|          BX6    X1+X2       MERGE NEW ACCESS LEVEL
00960  M00S00959.sechdr  +++|          SA6    A2
00961  M00S00960.sechdr  +++|          SETFET S,(DTY=PRSA)  REQUEST MASS STORAGE RESIDENCE
00962  M00S00961.sechdr  +++|          REQUEST  S,U,N     REQUEST FILE WITH NO DAYFILE MESSAGE
00963  M00S00962.sechdr  +++|          GETPP  PRSC,LNPG,PDEN  GET PAGE INFORMATION
00964  M00S00963.sechdr  +++|          SA1    POPT
00965  M00S00964.sechdr  +++|          SX3    1
00966  M00S00965.sechdr  +++|          SA2    LNPG        SET PAGE SIZE
00967  M00S00966.sechdr  +++|          ZR     X1,PRS8     IF NO HEADERS REQUESTED
00968  M00S00967.sechdr  +++|          SX3    SHFL+1      ALLOW ROOM FOR HEADERS
00969  M00S00968.sechdr  +++| PRS8     IX6    X2-X3
00970  M00S00969.sechdr  +++|          SA6    A2
00971  M00S00970.sechdr  +++|          EQ     PRSX        RETURN
00972  M00S00971.sechdr  +++|
00973  M00S00972.sechdr  +++|*         PROCESS ERRORS.
00974  M00S00973.sechdr  +++|
00975  M00S00974.sechdr  +++| PRS9     MESSAGE  X5        ISSUE ERROR MESSAGE
00976  M00S00975.sechdr  +++|          ABORT
00977  M00S00976.sechdr  +++|
00978  M00S00977.sechdr  +++| PRSA     CON    2RMS        MASS STORAGE DEVICE RESIDENCE
00979  M00S00978.sechdr  +++| PRSB     CON    0           ACCESS LEVEL
00980  M00S00979.sechdr  +++| PRSC     BSSZ   2           *GETPP* BUFFER
00981  M00S00980.sechdr  +++|
00982  M00S00981.sechdr  +++|*         ARGUMENT TABLE.
00983  M00S00982.sechdr  +++|
00984  M00S00983.sechdr  +++| TARG     BSS    0
00985  M00S00984.sechdr  +++| FF       ARG    -NZ,FORM
00986  M00S00985.sechdr  +++| OP       ARG    OP,OP
00987  M00S00986.sechdr  +++|          ARG
00988  M00S00987.sechdr  +++|
00989  M00S00988.sechdr  +++|
00990  M00S00989.sechdr  +++|*         OPTION TABLE.
00991  M00S00990.sechdr  +++|*         THE OPTIONS IN THIS TABLE MUST REMAIN IN THIS ORDER.
00992  M00S00991.sechdr  +++|
00993  M00S00992.sechdr  +++| TOPT     BSS    0
00994  M00S00993.sechdr  +++|          DATA   1LR
00995  M00S00994.sechdr  +++|          DATA   1LF
00996  M00S00995.sechdr  +++| DFOP     DATA   1LB
00997  M00S00996.sechdr  +++| TOPP     DATA   1LP
00998  M00S00997.sechdr  +++|          CON    0           END OF OPTION TABLE
00999  M00S00998.sechdr  +++|
01000  M00S00999.sechdr  +++|
01001  M00S01000.sechdr  +++|*         CONSTANTS.
01002  M00S01001.sechdr  +++|
01003  M00S01002.sechdr  +++| NZ       CON    1           NON-ZERO
01004  M00S01003.sechdr  +++| OP       CON    0           OPTION
01005  M00S01004.sechdr  +++|
01006  M00S01005.sechdr  +++|*         PARAMETER BLOCK.
01007  M00S01006.sechdr  +++|
01008  M00S01007.sechdr  +++| FIPB     BSS    0           *FILINFO* PARAMETER BLOCK
01009  M00S01008.sechdr  +++|          VFD    42/0,6/5,12/1
01010  M00S01009.sechdr  +++|          BSSZ   4
01011  M00S01010.sechdr  +++|
01012  M00S01011.sechdr  +++|*         ERROR MESSAGES TO DAYFILE.
01013  M00S01012.sechdr  +++|
01014  M00S01013.sechdr  +++| ERFN     DATA   C* NO FILE NAME SPECIFIED.*
01015  M00S01014.sechdr  +++| EROP     DATA   C* UNKNOWN OPTION - X.*
01016  M00S01015.sechdr  +++| ERPR     DATA   C* ERROR IN SECHDR PARAMETERS.*
01017  M00S01016.sechdr  +++| ERTF     DATA   C* UNABLE TO PROCESS TERMINAL FILE.*
01018  M00S01017.sechdr  +++|          SPACE  4
01019  M00S01018.sechdr  +++|          END    SECHDR
cdc/nos2.source/opl.opl871/deck/sechdr.txt ยท Last modified: (external edit)