Deck IEDIT

6 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.iedit   +++|          IDENT  IEDIT,FWA,IEDIT
00002  M01S00002.iedit   +++|          ABS
00003  M01S00003.iedit   +++|          SST
00004  M01S00004.iedit   +++|          ENTRY  IEDIT
00005  M01S00005.iedit   +++|          ENTRY  MFL=
00006  M01S00006.iedit   +++|          ENTRY  CLB=
00007  M01S00007.iedit   +++|          ENTRY  SSM=
00008  M01S00008.iedit   +++|          SYSCOM B1          DEFINE (B1) = 1
00009  M01S00009.iedit   +++|          LIST   F
00010  M01S00010.iedit   +++|          TITLE  IEDIT - IN-LINE EDITOR.
00011  M01S00011.iedit   +++|          SPACE  4,10
00012  M01S00012.iedit   +++|*COMMENT  IEDIT - IN-LINE EDITOR.
Line S00013 Modification History
M01 (Added by) iedit
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00013  M02S00013.281l803 ---|         COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1981.
00014  M01S00001.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00015  M01S00014.iedit   +++|          SPACE  4,10
00016  M01S00015.iedit   +++|*****     IEDIT - IN-LINE EDITOR.
00017  M01S00016.iedit   +++|*
00018  M01S00017.iedit   +++|*         J. W. YOCUM.       79/12/17.
00019  M01S00018.iedit   +++|*         C. S. MEAGHER.     80/04/22.
00020  M01S00019.iedit   +++|*         S. P. BOOTH.       80/05/31.
00021  M01S00020.iedit   +++|*         K. F. REHM.        81/08/10.
00022  M01S00021.iedit   +++|*         S. D. PAINTER.     81/08/10.
00023  M01S00022.iedit   +++|          SPACE  4,10
00024  M01S00023.iedit   +++|***       *IEDIT* IS A *CPU* PROGRAM WHICH IS CALLED BY *IAF*
00025  M01S00024.iedit   +++|*         TO PERFORM AN EDITING FUNCTION ON A LINE NUMBERED FILE.
00026  M01S00025.iedit   +++|*         IT IS DESIGNED TO BE EXECUTED THROUGH THE *IAF* INTERFACE.
00027  M01S00026.iedit   +++|*         THE EDIT COMMAND IS PLACED INTO THE COMMAND LINE BUFFER,
00028  M01S00027.iedit   +++|*         THROUGH THE USE OF THE *CLB=* ENTRY POINT.
00029  M01S00028.iedit   +++|          SPACE  4,10
Line S00029 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00030  M02S00029.v23l617 ---|***       CONTROL STATEMENT CALL.
00031  M01S00001.v23l617 +++|***       COMMAND FORMAT.
00032  M01S00030.iedit   +++|*
00033  M01S00031.iedit   +++|*
00034  M01S00032.iedit   +++|*         IEDIT (FN=LFN,OP=OPTIONS,CS=CHARTYPE)
00035  M01S00033.iedit   +++|*
00036  M01S00034.iedit   +++|*                LFN         NAME OF EDIT FILE. THIS PARAMETER
00037  M01S00035.iedit   +++|*                            IS REQUIRED.
00038  M01S00036.iedit   +++|*
00039  M01S00037.iedit   +++|*                OPTIONS     B, F, L   (ANY COMBINATION MAY BE USED).
00040  M01S00038.iedit   +++|*
00041  M01S00039.iedit   +++|*                            B - BASIC SUBSYSTEM FLAG INDICATING BASIC
00042  M01S00040.iedit   +++|*                                RESEQUENCING SHOULD BE PERFORMED AS
00043  M01S00041.iedit   +++|*                                REQUIRED (OMITTED WHEN TERMINAL IS NOT
00044  M01S00042.iedit   +++|*                                IN BASIC SUBSYSTEM).
00045  M01S00043.iedit   +++|*
00046  M01S00044.iedit   +++|*                            F - FORTRAN SUBSYSTEM FLAG INDICATING
00047  M01S00045.iedit   +++|*                                TERMINAL IS IN FORTRAN SUBSYSTEM
00048  M01S00046.iedit   +++|*                                (OMITTED WHEN TERMINAL IS NOT IN
00049  M01S00047.iedit   +++|*                                FORTRAN SUBSYSTEM).
00050  M01S00048.iedit   +++|*
00051  M01S00049.iedit   +++|*                            L - LIST FLAG. IF PRESENT, ALL LINES
00052  M01S00050.iedit   +++|*                                CHANGED WILL BE ECHOED TO THE
00053  M01S00051.iedit   +++|*                                TERMINAL.
00054  M01S00052.iedit   +++|*                                IF OMITTED CHANGED LINES ARE NOT
00055  M01S00053.iedit   +++|*                                ECHOED. (TERMINAL USER MAY SUSPEND
00056  M01S00054.iedit   +++|*                                ECHO CAPABILITIES BY ENTERING A USER
00057  M01S00055.iedit   +++|*                                BREAK.)
00058  M01S00056.iedit   +++|*
00059  M01S00057.iedit   +++|*
00060  M01S00058.iedit   +++|*                CHARTYPE    CHARACTER TYPE DEFINITION
00061  M01S00059.iedit   +++|*                            NORMAL - DISPLAY CODE. ( DEFAULT )
00062  M01S00060.iedit   +++|*                            ASCII  - 6/12 ASCII.
00063  M01S00061.iedit   +++|          SPACE  4,10
00064  M01S00001.iedit2  +++|***       ERROR MESSAGES.
00065  M01S00002.iedit2  +++|*
00066  M01S00003.iedit2  +++|*         THE FOLLOWING ERROR MESSAGES WILL BE ISSUED WHEN AN ERROR
00067  M01S00004.iedit2  +++|*         IS ENCOUNTERED, CAUSING *IEDIT* TO ABORT WITHOUT EXECUTING
00068  M01S00005.iedit2  +++|*         THE COMMAND.
00069  M01S00006.iedit2  +++|*
00070  M01S00007.iedit2  +++|*         *BUFFER SPACE ERROR (TOV).* - INTERNAL ERROR.
00071  M01S00008.iedit2  +++|*
00072  M01S00009.iedit2  +++|*         *COMMAND ARGUMENT ERROR.* - AN INCORRECT PARAMETER
00073  M01S00010.iedit2  +++|*                WAS ENTERED ON THE COMMAND.
00074  M01S00011.iedit2  +++|*
00075  M01S00012.iedit2  +++|*         *COMMAND NOT PROCESSED DUE TO OVERLAP.* - YOU HAVE SPECIFIED
00076  M01S00013.iedit2  +++|*                THAT THE SELECTED EDIT COMMAND SHOULD NOT BE
00077  M01S00014.iedit2  +++|*                PROCESSED DUE TO OVERLAPPING LINE NUMBERS.
00078  M01S00015.iedit2  +++|*
00079  M01S00016.iedit2  +++|*         *DUPLICATE FILE NAME.* - A DUPLICATE FILE NAME WAS
00080  M01S00017.iedit2  +++|*                ENCOUNTERED ON A SINGLE DIRECTIVE.
00081  M01S00018.iedit2  +++|*
00082  M01S00019.iedit2  +++|*         *EMPTY FILE (SSF).* - INTERNAL ERROR.
00083  M01S00020.iedit2  +++|*
00084  M01S00021.iedit2  +++|*         *FILE NAME ERROR.* - THE FILE NAME SPECIFIED CONTAINS MORE
00085  M01S00022.iedit2  +++|*                THAN SEVEN CHARACTERS OR NON-ALPHANUMERIC CHARACTERS.
00086  M01S00023.iedit2  +++|*
00087  M01S00024.iedit2  +++|*         *INCORRECT SYNTAX.* - A REQUIRED PARAMETER IS MISSING,
00088  M01S00025.iedit2  +++|*                PARAMETERS ARE GIVEN IN THE WRONG ORDER, OR AN
00089  M01S00026.iedit2  +++|*                INCORRECT SEPARATOR HAS BEEN ENCOUNTERED.
00090  M01S00027.iedit2  +++|*
00091  M01S00028.iedit2  +++|*         *LINE NUMBER INCREMENT ERROR.* - THE LINE NUMBER INCREMENT
00092  M01S00029.iedit2  +++|*                SPECIFIED IS LESS THAN ONE OR GREATER THAN 4095.
00093  M01S00030.iedit2  +++|*
00094  M01S00031.iedit2  +++|*         *LINE NUMBER LIMIT EXCEEDED.* - AN ATTEMPT TO MOVE,
00095  M01S00032.iedit2  +++|*                DUPLICATE,  OR READ A GROUP OF LINES IN THE EDIT FILE
00096  M01S00033.iedit2  +++|*                REQUIRED A LINE NUMBER GREATER THAN 99999 TO BE
00097  M01S00034.iedit2  +++|*                ASSIGNED.
00098  M01S00035.iedit2  +++|*
00099  M01S00036.iedit2  +++|*         *LINE NUMBER OVERLAP ERROR.* - TWO OR MORE LINE RANGES HAVE
00100  M01S00037.iedit2  +++|*                AT LEAST ONE LINE NUMBER IN COMMON.
00101  M01S00038.iedit2  +++|*
00102  M01S00039.iedit2  +++|*         *LINE RANGE ERROR.* - AN INCORRECT LINE NUMBER WAS SPECIFIED
00103  M01S00040.iedit2  +++|*                IN A LINE RANGE.
00104  M01S00041.iedit2  +++|*
00105  M01S00042.iedit2  +++|*         *NO LINE NUMBER ON LINE.* - EITHER THE PRIMARY FILE OR A
00106  M01S00043.iedit2  +++|*                SEQUENCED READ FILE CONTAINS A LINE WITHOUT A LINE
00107  M01S00044.iedit2  +++|*                NUMBER.
00108  M01S00045.iedit2  +++|*
00109  M01S00046.iedit2  +++|*         *NO LINES FOUND.* - NO LINE IN THE EDIT FILE MEETS THE
00110  M01S00047.iedit2  +++|*                CRITERIA SPECIFIED BY THE EDIT COMMAND.
00111  M01S00048.iedit2  +++|*
00112  M01S00049.iedit2  +++|*         *NO READ/DESTINATION FILE SPECIFIED.* - NO READ OR
00113  M01S00050.iedit2  +++|*                DESTINATION FILE WAS SPECIFIED IN THE EDIT COMMAND.
00114  M01S00051.iedit2  +++|*
00115  M01S00052.iedit2  +++|*         *NON-EXISTENT EDIT VERB SPECIFIED.* - INTERNAL ERROR.
00116  M01S00053.iedit2  +++|*
00117  M01S00054.iedit2  +++|*         *READ FILE EMPTY.* - THE READ FILE SPECIFIED DOES NOT EXIST
00118  M01S00055.iedit2  +++|*                OR CONTAINS NO DATA.
00119  M01S00056.iedit2  +++|*
00120  M01S00057.iedit2  +++|*         *RESERVED FILE NAME.* - A RESERVED FILE NAME WAS INCORRECTLY
00121  M01S00058.iedit2  +++|*                USED.
00122  M01S00059.iedit2  +++|*
00123  M01S00060.iedit2  +++|*         *TOO SMALL BUFFER SPACE.* - INTERNAL ERROR.
00124  M01S00061.iedit2  +++|*
00125  M01S00062.iedit2  +++|*         THE FOLLOWING MESSAGES ARE ISSUED TO NOTIFY THE USER OF AN
00126  M01S00063.iedit2  +++|*         UNUSUAL CONDITION.  THE *IEDIT* COMMAND IS PROCESSED TO
00127  M01S00064.iedit2  +++|*         COMPLETION.
00128  M01S00065.iedit2  +++|*
00129  M01S00066.iedit2  +++|*         *NO CLOSING DELIMITER FOUND.* - NO CLOSING DELIMITER WAS
00130  M01S00067.iedit2  +++|*                FOUND ON A STRING.  A STRING IS CONSIDERED TO END
00131  M01S00068.iedit2  +++|*                AFTER THE LAST NON BLANK CHARACTER.
00132  M01S00069.iedit2  +++|*
00133  M01S00070.iedit2  +++|*         *ZZZZZ LINES TRUNCATED ON FILE QQQQQQQ.* - ZZZZZ LINES WERE
00134  M01S00071.iedit2  +++|*                TRUNCATED ON FILE QQQQQQQ.
00135  M01S00072.iedit2  +++|
00136  M01S00073.iedit2  +++|
00137  M01S00062.iedit   +++|*         ESTABLISH QUAL BLOCK ORDER.
00138  M01S00063.iedit   +++|
00139  M01S00064.iedit   +++|          QUAL   IEDIT1
00140  M01S00065.iedit   +++|          QUAL   COMCBLP
00141  M01S00066.iedit   +++|          QUAL   COMCSNF
00142  M01S00067.iedit   +++|          QUAL   MACRO$
00143  M01S00068.iedit   +++|          QUAL
00144  M01S00069.iedit   +++|          TITLE  MACRO DEFINITIONS.
00145  M01S00070.iedit   +++| DAC      SPACE  4,15
00146  M01S00071.iedit   +++|**        DAC - DECLARE ATTRIBUTES FOR CHARACTER POSITION.
00147  M01S00072.iedit   +++|*
00148  M01S00073.iedit   +++|*         DAC GENERATES A WORD WHICH STORES ATTRIBUTES FOR TWO
00149  M01S00074.iedit   +++|*         CHARACTERS.  THE HIGH 30 BITS HOLD THE CHARACTER ATTRIBUTES
00150  M01S00075.iedit   +++|*         FOR AN ASCII 6/12 CHARACTER.  THE LOW 30 BITS HOLD THE SAME
00151  M01S00076.iedit   +++|*         DATA FOR AN ASCII8 CHARACTER.  EACH HALF ALSO CONTAINS THE
00152  M01S00077.iedit   +++|*         DISPLAY CODE EQUIVALENT OF ITS CHARACTER IF ONE EXISTS.
00153  M01S00078.iedit   +++|*
00154  M01S00079.iedit   +++|*         DAC    DI,DC,DA,AI,AC,AA
00155  M01S00080.iedit   +++|*
00156  M01S00081.iedit   +++|*         ENTRY  DI - IF SPECIFIED, NO DISPLAY CODE EQUIVALENT OF
00157  M01S00082.iedit   +++|*                     ASCII 6/12 CHARACTER.
00158  M01S00083.iedit   +++|*                DC - DISPLAY CODE EQUIVALENT OF 6/12 ASCII
00159  M01S00084.iedit   +++|*                     CHARACTER.
00160  M01S00085.iedit   +++|*                DA - ATTRIBUTES FOR ASCII 6/12 CHARACTER.
00161  M01S00086.iedit   +++|*                AI - IF SPECIFIED, NO DISPLAY CODE EQUIVALENT OF
00162  M01S00087.iedit   +++|*                     ASCII8 CHARACTER.
00163  M01S00088.iedit   +++|*                AC - DISPLAY CODE EQUIVALENT OF ASCII8 CHARACTER.
00164  M01S00089.iedit   +++|*                AA - ATTRIBUTES FOR ASCII8 CHARACTER.
00165  M01S00090.iedit   +++|*
00166  M01S00091.iedit   +++|*         EXIT   ENTRIES GENERATED IN THE FOLLOWING FORMAT -
00167  M01S00092.iedit   +++|*
00168  M01S00093.iedit   +++|*T  1/DI,NBIC/DC,DIST/0,MXNA/DA,1/AI,NBIC/AC,DIST/0,MXNA/AA
Figure 1/DI,N

Bitfield Rendering Failure
======== ========= =======
The field description 
[
{ "name": "AA", "bits": MXNA, "type": 0 },
{ "name": "0", "bits": DIST, "type": 6 },
{ "name": "AC", "bits": NBIC, "type": 5 },
{ "name": "AI", "bits": 1, "type": 4 },
{ "name": "DA", "bits": MXNA, "type": 3 },
{ "name": "0", "bits": DIST, "type": 2 },
{ "name": "DC", "bits": BIC, "type": 1 }
]


 is invalid.

Please check your syntax and try again.

00169  M01S00094.iedit   +++|*
00170  M01S00095.iedit   +++|*                WHERE -
00171  M01S00096.iedit   +++|*                NBIC - NUMBER OF BITS IN DISPLAY CODE CHARACTER.
00172  M01S00097.iedit   +++|*                MXNA - MAXIMUM NUMBER OF ATTRIBUTES PER CHARACTER.
00173  M01S00098.iedit   +++|*                DIST - PROPER NUMBER OF BITS TO ENSURE THAT CHARACTER
00174  M01S00099.iedit   +++|*                       DATA FITS EXACTLY IN 30 BITS.
00175  M01S00100.iedit   +++|*
00176  M01S00101.iedit   +++|
00177  M01S00102.iedit   +++|
00178  M01S00103.iedit   +++|          PURGMAC DAC
00179  M01S00104.iedit   +++| DAC      MACRO  DI,DC,DA,AI,AC,AA
00180  M01S00105.iedit   +++|          MACREF DAC
00181  M01S00106.iedit   +++| DIST     EQU    30-1-NBIC-MXNA
00182  M01S00107.iedit   +++| .A       IFC    EQ,*DA**
00183  M01S00108.iedit   +++|          VFD    30/7777777777B
00184  M01S00109.iedit   +++| .A       ELSE
00185  M01S00110.iedit   +++| .B       IFC    NE,*DI**
00186  M01S00111.iedit   +++|          VFD    1/1,NBIC/0,DIST/0,MXNA/DA
00187  M01S00112.iedit   +++| .B       ELSE
00188  M01S00113.iedit   +++|          VFD    1/0,NBIC/DC_B,DIST/0,MXNA/DA
00189  M01S00114.iedit   +++| .B       ENDIF
00190  M01S00115.iedit   +++| .A       ENDIF
00191  M01S00116.iedit   +++| .A       IFC    EQ,*AA**
00192  M01S00117.iedit   +++|          VFD    30/7777777777B
00193  M01S00118.iedit   +++| .A       ELSE
00194  M01S00119.iedit   +++| .B       IFC    NE,*AI**
00195  M01S00120.iedit   +++|          VFD    1/1,NBIC/0,DIST/0,MXNA/AA
00196  M01S00121.iedit   +++| .B       ELSE
00197  M01S00122.iedit   +++|          VFD    1/0,NBIC/AC_B,DIST/0,MXNA/AA
00198  M01S00123.iedit   +++| .B       ENDIF
00199  M01S00124.iedit   +++| .A       ENDIF
00200  M01S00125.iedit   +++| DAC      ENDM
00201  M01S00126.iedit   +++| FIELD    SPACE  4,20
00202  M01S00127.iedit   +++|**        FIELD - DEFINE FIELDS.
00203  M01S00128.iedit   +++|*
00204  M01S00129.iedit   +++|*         TAGS ARE GENERATED TO GIVE THE WORD LOCATION, BIT
00205  M01S00130.iedit   +++|*         LOCATION, AND NUMBER OF BITS IN FIELD.
00206  M01S00131.iedit   +++|*
00207  M01S00132.iedit   +++|*         ENTRY  TAG FIELD WP,LB,RP
00208  M01S00133.iedit   +++|*         TAG =  NAME OF FIELD (1-6 LEGAL COMPASS CHARACTERS)
00209  M01S00134.iedit   +++|*             =  *, USE CURRENT VALUE OF PSEUDO ORG COUNTER ORLOC1$
00210  M01S00135.iedit   +++|*         LB  =  LEFT-MOST BIT POSITION WITHIN A WORD (BIT 59 BEING
00211  M01S00136.iedit   +++|*                SIGN BIT).
00212  M01S00137.iedit   +++|*         RB  =  RIGHT-MOST BIT POSITION WITHIN A WORD.
00213  M01S00138.iedit   +++|*
00214  M01S00139.iedit   +++|*         EXIT   TAGW = WORD LOCATION OF FIELD.
00215  M01S00140.iedit   +++|*                TAGS = LEFT BIT POSITION OF FIELD.
00216  M01S00141.iedit   +++|*                TAGN = NUMBER OF BITS IN FIELD.
00217  M01S00142.iedit   +++|
00218  M01S00143.iedit   +++|
00219  M01S00144.iedit   +++|          PURGMAC FIELD
00220  M01S00145.iedit   +++|
00221  M01S00146.iedit   +++|          MACRO  FIELD,TAG,WP,LB,RB
00222  M01S00147.iedit   +++|          MACREF FIELD
00223  M01S00148.iedit   +++|          IFC    NE,/WP//,4
00224  M01S00149.iedit   +++|          IFC    EQ,/WP/*/,2
00225  M01S00150.iedit   +++| _TAG_W   EQU    ORLOC1$
00226  M01S00151.iedit   +++|          SKIP   1
00227  M01S00152.iedit   +++| _TAG_W   EQU    WP
00228  M01S00153.iedit   +++| _TAG_S   EQU    LB
00229  M01S00154.iedit   +++| _TAG_N   EQU    LB-RB+1
00230  M01S00155.iedit   +++|          ENDM
00231  M01S00156.iedit   +++|          BASE   *
00232  M01S00157.iedit   +++|          ENDX
00233  M01S00158.iedit   +++| MXB      SPACE  4,15
00234  M01S00159.iedit   +++|**        MXB - MASK WITH B REGISTER
00235  M01S00160.iedit   +++|*
00236  M01S00161.iedit   +++|*         ENTRY  I - X REGISTER TO PLACE MASK IN.
00237  M01S00162.iedit   +++|*                J - B REGISTER SPECIFING SIZE OF MASK.
00238  M01S00163.iedit   +++|*                            0 .LE. (B(J)) .LE. 60.
00239  M01S00164.iedit   +++|*
00240  M01S00165.iedit   +++|*         EXIT   MX(I) CONTAINS MASK OF SIZE SPECIFIED IN B(J).
00241  M01S00166.iedit   +++|*                B(J) SAME AS ON ENTRY.
00242  M01S00167.iedit   +++|*
00243  M01S00168.iedit   +++|*         MXB PROVIDES A MASK INSTRUCTION USING A B REGISTER.
00244  M01S00169.iedit   +++|*              RESTRICTION - 0 .LE. (B) .LE. 60
00245  M01S00170.iedit   +++|
00246  M01S00171.iedit   +++|
00247  M01S00172.iedit   +++| MXB      OPDEF  I,J
00248  M01S00173.iedit   +++|          BX.I   X.I-X.I     CLEAR X REGISTER
00249  M01S00174.iedit   +++|          SB.J   B.J-B1
00250  M01S00175.iedit   +++|          PX.I   X.I,B.J
00251  M01S00176.iedit   +++|          AX.I   58
00252  M01S00177.iedit   +++|          LX.I   59-0
00253  M01S00178.iedit   +++|          AX.I   B.J         A BIT MASK
00254  M01S00179.iedit   +++|          SB.J   B.J+B1      RESTORE BJ
00255  M01S00180.iedit   +++|          ENDM
00256  M01S00181.iedit   +++| OVLDEF  SPACE  4,10
00257  M01S00182.iedit   +++|**        OVLDEF - DEFINE IEDIT OVERLAY.
00258  M01S00183.iedit   +++|*
00259  M01S00184.iedit   +++|*         OVLDEF   LA,EA,LEVEL,TITLE
00260  M01S00185.iedit   +++|*
00261  M01S00186.iedit   +++|*         LA    = LOAD ADDRESS.
00262  M01S00187.iedit   +++|*         EA    = ENTRY ADDRESS.
00263  M01S00188.iedit   +++|*         LEVEL = LEVEL OF OVERLAY.
00264  M01S00189.iedit   +++|*         TITLE = TITLE OF OVERLAY.
00265  M01S00190.iedit   +++|
00266  M01S00191.iedit   +++|
00267  M01S00192.iedit   +++|          PURGMAC OVLDEF
00268  M01S00193.iedit   +++|
00269  M01S00194.iedit   +++| OVLDEF   MACRO  LA,EA,LVL,TEXT
00270  M01S00195.iedit   +++|          MACREF OVLDEF
00271  M01S00196.iedit   +++|          QUAL IEDIT_LVL
00272  M01S00197.iedit   +++|          TTL IEDIT_LVL - TEXT
00273  M01S00198.iedit   +++|          TITLE
00274  M01S00199.iedit   +++|          IDENT IEDIT_LVL,LA,EA,LVL,0
00275  M01S00200.iedit   +++|*COMMENT  IEDIT - TEXT
Line S00201 Modification History
M01 (Added by) iedit
M02 (Updated by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00276  M02S00201.281l803 ---|          COMMENT COPYRIGHT CONTROL DATA CORPORATION. 1981.
00277  M01S00002.281l803 +++|          COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00278  M01S00202.iedit   +++|          ORG LA
00279  M01S00203.iedit   +++|          ENDM   OVLDEF
00280  M01S00204.iedit   +++| VERB     SPACE  4,40
00281  M01S00205.iedit   +++|**        VERB  - DECLARE VERB.
00282  M01S00206.iedit   +++|*
00283  M01S00207.iedit   +++|*         VERB   V,AL,P,FP   DECLARE VERB
00284  M01S00208.iedit   +++|*         VERB               DECLARE END OF VERB DECLARATIONS.
00285  M01S00209.iedit   +++|*
00286  M01S00210.iedit   +++|*         ENTRY  V - IEDIT VERB.
00287  M01S00211.iedit   +++|*                AL - * IF ALL ABBREVIATIONS OF THE VERB ARE TO BE
00288  M01S00212.iedit   +++|*                    GENERATED;  OTHERWISE NULL(OR ANY OTHER SYMBOL).
00289  M01S00213.iedit   +++|*                P - ORDERED LIST OF PROCESSOR DESCRIPTORS IN THE FORM
00290  M01S00214.iedit   +++|*                    (AD,CON) -
00291  M01S00215.iedit   +++|*                        AD - ENTRY ADDRESS OF PROCESSOR.
00292  M01S00216.iedit   +++|*                        CON - R, IF SYNTACTIC ELEMENT REQUIRED.
00293  M01S00217.iedit   +++|*                              O, IF SYNTACTIC ELEMENT IS OPTIONAL
00294  M01S00218.iedit   +++|*                                    (0 OR 1 OCCURRENCES).
00295  M01S00219.iedit   +++|*                              A, IF ALTERNATE SYNTAX FOR COMMAND
00296  M01S00220.iedit   +++|*                                    FOLLOWS.
00297  M01S00221.iedit   +++|*                FP - FUNCTION PROCESSOR NUMBER.
00298  M01S00222.iedit   +++|*
00299  M01S00223.iedit   +++|*         EXIT   ENTRIES GENERATED ARE OF THREE TYPES, TYPE1, TYPE2
00300  M01S00224.iedit   +++|*                            AND TYPE3.
00301  M01S00225.iedit   +++|*T TYPE1  42/CV,6/0,6/P,6/V
Figure TYPE1

0561112171829VP0CV3059CV

00302  M01S00226.iedit   +++|*T,TYPE2  2/OP,40/OFFSET,18/ADR
Figure TYPE2

0171829ADROFFSET30575859OFFSETOP

00303  M01S00227.iedit   +++|*T,TYPE3  2/0,1/1,39/0,18/FP
Figure TYPE3

0171829FP03056575859010

00304  M01S00228.iedit   +++|*                WHERE -
00305  M01S00229.iedit   +++|*                 CV - V OR ALLOWED ABBREVIATION OF V IN DISPLAY CODE.
00306  M01S00230.iedit   +++|*                 P - NUMBER OF WORDS INCREMENT TO START OF LIST
00307  M01S00231.iedit   +++|*                      OF PROCESSORS.
00308  M01S00232.iedit   +++|*                 V - NUMBER OF WORDS INCREMENT TO NEXT VERB.
00309  M01S00233.iedit   +++|*                 OP - 1, IF PROCESSOR RECOGNITION OF AN ELEMENT IS
00310  M01S00234.iedit   +++|*                             OPTIONAL.   I.E. 0 OR 1 OCCURRENCES ARE
00311  M01S00235.iedit   +++|*                             TO BE ACCEPTED.
00312  M01S00236.iedit   +++|*                    - 2 IF PROCESSOR MUST PROCESS AN OCCURENCE OF
00313  M01S00237.iedit   +++|*                             THE SYNTACTIC ELEMENT
00314  M01S00238.iedit   +++|*                             ( I.E. THIS FUNCTION IS REQUIRED).
00315  M01S00239.iedit   +++|*                 OFFSET - OFFSET TO ALTERNATE SYNTAX FROM
00316  M01S00240.iedit   +++|*                             START OF TABLE.
00317  M01S00241.iedit   +++|*                 ADR - ENTRY ADDRESS OF SYNTAX PROCESSOR.
00318  M01S00242.iedit   +++|*
00319  M01S00243.iedit   +++|*         MACROS DSUB.
00320  M01S00244.iedit   +++|
00321  M01S00245.iedit   +++|
00322  M01S00246.iedit   +++|          PURGMAC VERB
00323  M01S00247.iedit   +++|
00324  M01S00248.iedit   +++| VERB     MACRO  V,AL,P,FP
00325  M01S00249.iedit   +++|          LOCAL  S,L,NM1,R,CV,LIST
00326  M01S00250.iedit   +++|          MACREF VERB
00327  M01S00251.iedit   +++|
00328  M01S00252.iedit   +++| .A       IFC    NE,$_V_AL_P_$$
00329  M01S00253.iedit   +++|
00330  M01S00254.iedit   +++| S        MICRO  1,,$V$
00331  M01S00255.iedit   +++| L        MICCNT S
00332  M01S00256.iedit   +++| .B       IFLT   L,3
Line S00257 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00333  M02S00257.v23l617 ---|          ERR                ILLEGAL VERB SPECIFIED
00334  M01S00002.v23l617 +++|          ERR                INCORRECT VERB SPECIFIED
00335  M01S00258.iedit   +++| .B       ENDIF
00336  M01S00259.iedit   +++|
00337  M01S00260.iedit   +++| .B       IFC    EQ,$AL$*$
00338  M01S00261.iedit   +++| R        SET    L-3+1       REPETITION COUNT
00339  M01S00262.iedit   +++| .B       ELSE
00340  M01S00263.iedit   +++| R        SET    1
00341  M01S00264.iedit   +++| .B       ENDIF
00342  M01S00265.iedit   +++|
00343  M01S00266.iedit   +++| VERB     DUP    R
00344  M01S00267.iedit   +++| .B       IF     -DEF,VERBA
00345  M01S00268.iedit   +++| N1       SET    1
00346  M01S00269.iedit   +++| LASTNM1  MICRO  1,,$VERBA$
00347  M01S00270.iedit   +++| .B       ELSE
00348  M01S00271.iedit   +++| N1       SET    N1+1
00349  M01S00272.iedit   +++| .B       ENDIF
00350  M01S00273.iedit   +++| NM1      MICRO  N1,1,$BCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$
00351  M01S00274.iedit   +++| CV       MICRO  1,L,$"S"$
00352  M01S00275.iedit   +++| "LASTNM1" VFD   TDVNN/0L_"CV",TDXXN/0,TDISN/LIST-*,TDIVN/VERB_"NM1"-*
00353  M01S00276.iedit   +++| LASTNM1  MICRO  1,,$VERB_"NM1"$
00354  M01S00277.iedit   +++| L        SET    L-1
00355  M01S00278.iedit   +++| VERB     ENDD
00356  M01S00279.iedit   +++|
00357  M01S00280.iedit   +++| N2       SET    1
00358  M01S00281.iedit   +++| NM2      MICRO  N2,1,$1234567890$
00359  M01S00282.iedit   +++| ALTM     MICRO  1,,$."NM1"_"NM2"$
00360  M01S00283.iedit   +++|
00361  M01S00284.iedit   +++|LIST      BSS    0
00362  M01S00285.iedit   +++|          IRP    P
00363  M01S00286.iedit   +++| NWDS     SET    *
00364  M01S00287.iedit   +++|          DSUB   P,"ALTM"
00365  M01S00288.iedit   +++| .B       IFEQ   *-NWDS,0
00366  M01S00289.iedit   +++|          VFD    TDRQN/0
00367  M01S00290.iedit   +++|          VFD    TDOPN/0
00368  M01S00291.iedit   +++|          VFD    TDFPN/1
00369  M01S00292.iedit   +++|          VFD    TDRSN/0
00370  M01S00293.iedit   +++|          VFD    TDASN/0
00371  M01S00294.iedit   +++|          VFD    TDSAN/FP
00372  M01S00295.iedit   +++| "ALTM"   BSS    0
00373  M01S00296.iedit   +++| N2       SET    N2+1
00374  M01S00297.iedit   +++| NM2      MICRO  N2,1,$1234567890$
00375  M01S00298.iedit   +++| ALTM     MICRO  1,,$."NM1"_"NM2"$
00376  M01S00299.iedit   +++| .B       ENDIF
00377  M01S00300.iedit   +++|          IRP
00378  M01S00301.iedit   +++| "ALTM"   EQU    0
00379  M01S00302.iedit   +++|          VFD    TDRQN/0
00380  M01S00303.iedit   +++|          VFD    TDOPN/0
00381  M01S00304.iedit   +++|          VFD    TDFPN/1
00382  M01S00305.iedit   +++|          VFD    TDRSN/0
00383  M01S00306.iedit   +++|          VFD    TDASN/0
00384  M01S00307.iedit   +++|          VFD    TDSAN/FP
00385  M01S00308.iedit   +++|
00386  M01S00309.iedit   +++| .A      ELSE
00387  M01S00310.iedit   +++|
00388  M01S00311.iedit   +++| "LASTNM1"  BSSZ  1
00389  M01S00312.iedit   +++| .A      ENDIF
00390  M01S00313.iedit   +++| VERB    ENDM
00391  M01S00314.iedit   +++| DSUB     SPACE  4,10
00392  M01S00315.iedit   +++|**        DSUB - DECLARE SUBROUTINE (HELPER MACRO).
00393  M01S00316.iedit   +++|*
00394  M01S00317.iedit   +++|
00395  M01S00318.iedit   +++|
00396  M01S00319.iedit   +++|          PURGMAC DSUB
00397  M01S00320.iedit   +++|
00398  M01S00321.iedit   +++| DSUB     MACRO  AD,C,ALT
00399  M01S00322.iedit   +++|          LOCAL  F
00400  M01S00323.iedit   +++|          MACREF DSUB
00401  M01S00324.iedit   +++|
00402  M01S00325.iedit   +++| .A       IFC    NE,$AD$$
00403  M01S00326.iedit   +++| F        EQU    *
00404  M01S00327.iedit   +++| .B       IFC    EQ,$C$R$
00405  M01S00328.iedit   +++|          VFD    TDRQN/1
00406  M01S00329.iedit   +++|          VFD    TDOPN/0
00407  M01S00330.iedit   +++|          VFD    TDFPN/0
00408  M01S00331.iedit   +++|          VFD    TDRSN/0
00409  M01S00332.iedit   +++|          VFD    TDASN/ALT
00410  M01S00333.iedit   +++|          VFD    TDSAN/AD
00411  M01S00334.iedit   +++| .B       ENDIF
00412  M01S00335.iedit   +++| .B       IFC    EQ,$C$O$
00413  M01S00336.iedit   +++|          VFD    TDRQN/0
00414  M01S00337.iedit   +++|          VFD    TDOPN/1
00415  M01S00338.iedit   +++|          VFD    TDFPN/0
00416  M01S00339.iedit   +++|          VFD    TDRSN/0
00417  M01S00340.iedit   +++|          VFD    TDASN/ALT
00418  M01S00341.iedit   +++|          VFD    TDSAN/AD
00419  M01S00342.iedit   +++| .B       ENDIF
00420  M01S00343.iedit   +++| .B       IFEQ   F-*,0
00421  M01S00344.iedit   +++|          ERR                SECOND PARAMETER WRONG
00422  M01S00345.iedit   +++| .B       ENDIF
00423  M01S00346.iedit   +++| .A       ELSE
00424  M01S00347.iedit   +++| .B       IFC    NE,$C$A$
00425  M01S00348.iedit   +++|          ERR
00426  M01S00349.iedit   +++| .B       ENDIF
00427  M01S00350.iedit   +++| .A       ENDIF
00428  M01S00351.iedit   +++| DSUB     ENDM
00429  M01S00352.iedit   +++|          TITLE  COMMON DECKS.
00430  M01S00353.iedit   +++|**        DEFINITION COMMON DECKS.
00431  M01S00354.iedit   +++|*
00432  M01S00355.iedit   +++|*CALL     COMCMAC
00433  M01S00356.iedit   +++|*CALL     COMCCMD
00434  M01S00357.iedit   +++|*CALL     COMCMTM
00435  M01S00358.iedit   +++|          TITLE  WORKING STORAGE.
00436  M01S00359.iedit   +++|          ORG    111B
00437  M01S00360.iedit   +++| FWA      BSS    0
00438  M01S00361.iedit   +++|
00439  M01S00362.iedit   +++|**        ASSEMBLY CONSTANTS.
00440  M01S00363.iedit   +++|
00441  M01S00364.iedit   +++| CLRL1    EQU    1           CLEAR LINE 1 OF CONTROL POINT
00442  M01S00365.iedit   +++| EC1      EQU    74B         ESCAPE CODE 1
00443  M01S00366.iedit   +++| EC2      EQU    76B         ESCAPE CODE 2
00444  M01S00367.iedit   +++| LBINC    EQU    250         LINE BUFFER TABLE INCREMENT
00445  M01S00368.iedit   +++| LNTINC   EQU    50          LINE NUMBER TABLE INCREMENT
00446  M01S00369.iedit   +++| MINCR    EQU    2000B       MEMORY INCREMENT
00447  M01S00370.iedit   +++| SNF$     SET    0           SNF WILL RETURN NUMBER OF SORTED LINES
00448  M01S00371.iedit   +++| TRIM     SET    0           TRIM MODE DESELECTED
00449  M01S00372.iedit   +++| USBL$    SET    1
00450  M01S00373.iedit   +++| USBA$    SET    1
00451  M01S00374.iedit   +++| RDX$     SET    1           SUPPRESS HALF-BUFFER CIO THRESHOLD
00452  M01S00375.iedit   +++| WTX$     SET    1           SUPPRESS HALF-BUFFER CIO THRESHOLD
00453  M01S00376.iedit   +++| MXWL     EQU    32D         MAXIMUM CM WORDS IN LINE
00454  M01S00377.iedit   +++| MXCIL    EQU    MXWL*10D/2  MAXIMUM CHARACTERS IN LINE
00455  M01S00378.iedit   +++| MXIC     EQU    4095        MAXIMUM INCREMENT SIZE
00456  M01S00379.iedit   +++| MXLN     EQU    99999       MAXIMUM LINE NUMBER
00457  M01S00380.iedit   +++| MXWS     EQU    7           MAXIMUM WORD SIZE IS SEVEN CHARACTERS
00458  M01S00381.iedit   +++| NBIC     EQU    6           NUMBER OF BITS IN CHARACTER
00459  M01S00382.iedit   +++| NUMD     EQU    5           MAXIMUM DIGITS IN LINE NUMBER
00460  M01S00383.iedit   +++| NWIF     EQU    7           NUMBER OF WORDS IN FET
00461  M01S00384.iedit   +++|
00462  M01S00385.iedit   +++|*         THE MAIN AND LINE BUFFERS EACH CONTAIN THREE EXTRA
00463  M01S00386.iedit   +++|*         WORDS TO ALLOW *COMCSNF* TO SPLIT EACH BUFFER IN HALF
00464  M01S00387.iedit   +++|*         AND STILL HAVE TWO EXTRA WORDS IN THE SECOND HALF.
00465  M01S00388.iedit   +++|*         FOR MORE INFORMATION SEE *COMCSNF*.
00466  M01S00389.iedit   +++|
00467  M01S00390.iedit   +++| EBSZ     EQU    4004B       MAIN BUFFER SIZE
00468  M01S00391.iedit   +++| LNTSZ    EQU    201B        LINE NUMBER TABLE SIZE
00469  M01S00392.iedit   +++| LBSZ     EQU    1404B       LINE BUFFER SIZE
00470  M01S00393.iedit   +++| SCRASZ   EQU    1401B       FIRST SCRATCH BUFFER SIZE
00471  M01S00394.iedit   +++| SCRBSZ   EQU    1401B       SECOND SCRATCH BUFFER SIZE
00472  M01S00395.iedit   +++| SCRCSZ   EQU    4401B       SEQUENTIAL FILE-REBUILD BUFFER SIZE
00473  M01S00396.iedit   +++| OTSZ     EQU    1001B       OUTPUT BUFFER SIZE
00474  M01S00397.iedit   +++| INSZ     EQU    101B        INPUT/CLB= BUFFER SIZE
00475  M01S00398.iedit   +++| BUFL     EQU    EBSZ+LNTSZ+LBSZ+SCRASZ+SCRBSZ
00476  M01S00399.iedit   +++| BUFL2    EQU    EBSZ+SCRCSZ
00477  M01S00400.iedit   +++|
Line S00401 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00478  M02S00401.v23l617 ---|**        CONTROL STATEMENT PARAMETERS.
00479  M01S00003.v23l617 +++|**        COMMAND PARAMETERS.
00480  M01S00402.iedit   +++|
00481  M01S00403.iedit   +++| EFN      CON    0           EDIT FILE NAME
00482  M01S00404.iedit   +++| BOP      CON    0           B OPTION
00483  M01S00405.iedit   +++| LOP      CON    0           L OPTION
00484  M01S00406.iedit   +++| FOP      CON    0           F OPTION
00485  M01S00407.iedit   +++|
00486  M01S00408.iedit   +++|**        VARIABLES SET BY PRESET.
00487  M01S00409.iedit   +++|
00488  M01S00410.iedit   +++| BLNK     CON    0           SET TO A BLANK IN CURRENT CHARACTER SET
00489  M01S00411.iedit   +++| CSTI     CON    0           CHARACTER SET TYPE INDICATOR
00490  M01S00412.iedit   +++| FILEN    CON    0           FILE NAME OF SECONDARY FILE
00491  M01S00413.iedit   +++| FLNGTH   CON    0           LENGTH OF ORIGINAL EDIT FILE
00492  M01S00414.iedit   +++| FNUM     CON    0           FUNCTION NUMBER
00493  M01S00415.iedit   +++| INCR     CON    1           RESEQUENCING INCREMENT
00494  M01S00416.iedit   +++| LNIA     CON    MXLN+1      LINE NUMBER TO INSERT AFTER
00495  M01S00417.iedit   +++| LSTFIL   CON    0           LIST OPTION
00496  M01S00418.iedit   +++| MSTAT    VFD    30/-1,30/0  MEMORY STATUS WORD
00497  M01S00419.iedit   +++| NCIS     CON    0           NUMBER OF CHARACTERS IN SEARCH STRING
00498  M01S00420.iedit   +++| NCIR     CON    0           NUMBER OF CHARACTERS IN REPLACEMENT STRING
00499  M01S00421.iedit   +++| NELR     CON    0           NUMBER OF ENTRIES IN LINE RANGE TABLE
00500  M01S00422.iedit   +++|
00501  M01S00423.iedit   +++|**        VARIABLES SET BY LINE SELECT/PROCESSING PHASE.
00502  M01S00424.iedit   +++|
00503  M01S00425.iedit   +++| APPFLG   CON    0           CHANGE RECORDS APPENDED FLAG
00504  M01S00426.iedit   +++| CMAX     CON    0           MAXIMUM AMOUNT OF MEMORY AVAILABLE
00505  M01S00427.iedit   +++| CMEM     CON    0           CURRENT AMOUNT OF MEMORY BEING USED
00506  M01S00428.iedit   +++| DYNST    CON    0           AMOUNT OF DYNAMIC STORAGE
00507  M01S00429.iedit   +++| FLAGS    CON    0           *LNTBUF* ENTRY FLAGS
00508  M01S00430.iedit   +++| FNAI     CON    MXLN+1      FIRST LINE NUMBER AFTER INSERTION
00509  M01S00431.iedit   +++| INTFLG   CON    0           SET IF NOT INTERRUPTIBLE
00510  M01S00432.iedit   +++| LSRA     CON    0           NUMBER TO ASSIGN TO FIRST INSERTED LINE
00511  M01S00433.iedit   +++| LTFILE   CON    0           *LNT* FILE FLAG
00512  M01S00434.iedit   +++| LBFILE   CON    0           LINE BUFFER FULL FLAG
00513  M01S00435.iedit   +++| LBFET    CON    E           FET ADDRESS OF CURRENT LINE BUFFER
00514  M01S00436.iedit   +++| LB2FET   CON    L           FET ADDRESS OF SCRATCH LINE BUFFER
00515  M01S00437.iedit   +++| LTFET    CON    LNT1        FET ADDRESS OF SORT/MERGED *LNT* FILE
00516  M01S00438.iedit   +++| LT2FET   CON    LNT2        FET ADDRESS OF A FREE SCRATCH BUFFER
00517  M01S00439.iedit   +++| NBLN     CON    0           NEW BINARY LINE NUMBER
00518  M01S00440.iedit   +++| NCOL     CON    0           NUMBER OF CHARACTERS ON A LINE
00519  M01S00441.iedit   +++| NMLS     CON    0           NUMBER *LNT* ENTRIES CURRENTLY IN BUFFER
00520  M01S00442.iedit   +++| NNOL     CON    0           NUMBER OF NON-OVERLAPPED LINES
00521  M01S00443.iedit   +++| NTBL     CON    0           NUMBER OF TRAILING BLANKS IN LINE
00522  M01S00444.iedit   +++| NTL      CON    0           NUMBER OF TRUNCATED LINES
00523  M01S00445.iedit   +++| OBLN     CON    -1          OLD BINARY LINE NUMBER
00524  M01S00446.iedit   +++| OLLE     CON    0           OVERLAPPED LINES LINE RANGE TABLE ENTRY
00525  M01S00447.iedit   +++| OVLPFG   CON    0           OVERLAP PROCESSING FLAG
00526  M01S00448.iedit   +++| OUT      DATA   C*OUTPUT*   FILE NAME TO WRITE TO
00527  M01S00449.iedit   +++| SCRFIL   CON    0           SCRATCH BUFFER FLAG
00528  M01S00450.iedit   +++| TRNC     CON    0           TRUNCATED LINE FLAG
00529  M01S00451.iedit   +++| UNRF     CON    0           UNNUMBERED *READ* FILE FLAG
00530  M01S00452.iedit   +++|          SPACE  4,15
00531  M01S00453.iedit   +++|**        TABLE OF FUNCTION NUMBERS.
00532  M01S00454.iedit   +++|
00533  M01S00455.iedit   +++| TOFN     BSS    0           BEGINNING OF FUNCTION TABLE
00534  M01S00456.iedit   +++|          LOC    1
00535  M01S00457.iedit   +++|
00536  M01S00458.iedit   +++| FNDU     VFD    18/EFN,42/0    DUP
00537  M01S00459.iedit   +++| FNMO     VFD    18/EFN,42/0    MOVE
00538  M01S00460.iedit   +++| FNRE     VFD    18/EFN,42/0    READ
00539  M01S00461.iedit   +++| MXIL     EQU    *-1              MAXIMUM FUNCTION TO CAUSE OVERLAP
00540  M01S00462.iedit   +++|
00541  M01S00463.iedit   +++| FNAL     VFD    18/EFN,42/0    ALTER
00542  M01S00464.iedit   +++| FNDE     VFD    18/EFN,42/0    DELETE
00543  M01S00465.iedit   +++| FNLI     VFD    18/OUT,42/0    LIST/LNH
00544  M01S00466.iedit   +++| MXNW     EQU    *-1              MAXIMUM NON-*WRITE(N)* FUNCTION
00545  M01S00467.iedit   +++|
00546  M01S00468.iedit   +++| FNWR     VFD    18/FILEN,42/0  WRITE
00547  M01S00469.iedit   +++| FNWN     VFD    18/FILEN,42/0  WRITEN
00548  M01S00470.iedit   +++|          LOC    *O
00549  M01S00471.iedit   +++|          SPACE  4
00550  M01S00472.iedit   +++|**        TABLE OF SCRATCH FILES.
00551  M01S00473.iedit   +++|
00552  M01S00474.iedit   +++| TSF      BSS    0
00553  M01S00475.iedit   +++|          VFD    42/0LZZZZZG0,18/0     LINE BUFFER FILES
00554  M01S00476.iedit   +++|          VFD    42/0LZZZZZG1,18/0
00555  M01S00477.iedit   +++|          VFD    42/0LZZZZZG2,18/0     LINE NUMBER TABLE FILES
00556  M01S00478.iedit   +++|          VFD    42/0LZZZZZG3,18/0
00557  M01S00479.iedit   +++|          VFD    42/0LZZZZZG4,18/0     SORT FILES
00558  M01S00480.iedit   +++|          VFD    42/0LZZZZZG5,18/0
00559  M01S00481.iedit   +++|          VFD    42/0LZZZZZG6,18/0     DELETED LINE NUMBER FILE
00560  M01S00482.iedit   +++|          VFD    42/0LZZZZZG7,18/0     TRUNCATED LINE FILE
00561  M01S00483.iedit   +++|          CON    0
00562  M01S00484.iedit   +++|          SPACE  4,5
00563  M01S00485.iedit   +++|**        *FILINFO* PARAMETER BLOCK.
00564  M01S00486.iedit   +++|
00565  M01S00487.iedit   +++| FIPB     VFD    42/0,6/5,12/1
00566  M01S00488.iedit   +++|          BSSZ   4
00567  M01S00489.iedit   +++|          SPACE  4,5
00568  M01S00490.iedit   +++|**        *LOF* PARAMETER BLOCK.
00569  M01S00491.iedit   +++|
00570  M01S00492.iedit   +++| LOFPRM   VFD    12/0,18/PRMW2,30/0
00571  M01S00493.iedit   +++| PRMW2    VFD    42/0,18/3
00572  M01S00494.iedit   +++|          VFD    42/0LOUTPUT,18/O
00573  M01S00495.iedit   +++|          VFD    60/0
00574  M01S00496.iedit   +++|          SPACE  4,5
00575  M01S00497.iedit   +++|**        *REPRIEVE* PARAMETER BLOCK.
00576  M01S00498.iedit   +++|
00577  M01S00499.iedit   +++| RPB      BSS    0
00578  M01S00500.iedit   +++|          VFD    36/0,12/RPBL,12/0
00579  M01S00501.iedit   +++|          VFD    30/0,30/PIT
00580  M01S00502.iedit   +++|          BSSZ   7
00581  M01S00503.iedit   +++|          BSSZ   16          EXCHANGE PACKAGE
00582  M01S00504.iedit   +++| RPBL     EQU    *-RPB
00583  M01S00505.iedit   +++|          TITLE  TABLES.
00584  M01S00506.iedit   +++|          SPACE  4,10
00585  M01S00507.iedit   +++|**        FIELD DEFINITIONS FOR VERB TABLE.
00586  M01S00508.iedit   +++|
00587  M01S00509.iedit   +++|
00588  M01S00510.iedit   +++| TDVN     FIELD  ,59,18      VERB NAME
00589  M01S00511.iedit   +++| TDXX     FIELD  ,17,12      RESERVED FOR CDC
00590  M01S00512.iedit   +++| TDIS     FIELD  ,11,6       INCREMENT TO START OF PROCESSES FOR VERB
00591  M01S00513.iedit   +++| TDIV     FIELD  ,5,0        INCREMENT TO NEXT VERB
00592  M01S00514.iedit   +++| TDRQ     FIELD  ,59,59      REQUIRED ATTRIBUTE  (SET IF YES)
00593  M01S00515.iedit   +++| TDOP     FIELD  ,58,58      OPTIONAL
00594  M01S00516.iedit   +++| TDFP     FIELD  ,57,57      SET IF AT END OF PROCESSORS FOR VERB
00595  M01S00517.iedit   +++| TDRS     FIELD  ,56,36      RESERVED FOR CDC
00596  M01S00518.iedit   +++| TDAS     FIELD  ,35,18      OFFSET TO FWA OF ALTERNATE SYNTAX
00597  M01S00519.iedit   +++| TDSA     FIELD  ,17,0       SUBROUTINE ADDRESS TO PROCESS
00598  M01S00520.iedit   +++|
00599  M01S00521.iedit   +++|**        CHARACTER ATTRIBUTE BIT LOCATIONS.
00600  M01S00522.iedit   +++|
00601  M01S00523.iedit   +++|
00602  M01S00524.iedit   +++| LETA     EQU    1S0         LETTER ATTRIBUTE
00603  M01S00525.iedit   +++| DIGA     EQU    1S1         DIGIT (NUMBER) ATTRIBUTE
00604  M01S00526.iedit   +++| DLMA     EQU    1S2         DELIMITER ATTRIBUTE
00605  M01S00527.iedit   +++| CHAA     EQU    1S3         CHARACTER ATTRIBUTE
00606  M01S00528.iedit   +++| SEPA     EQU    1S4         SEPARATOR ATTRIBUTE
00607  M01S00529.iedit   +++| TERA     EQU    1S5         TERMINATOR ATTRIBUTE
00608  M01S00530.iedit   +++| MXNA     EQU    6           MAXIMUM NUMBER OF ATTRIBUTES PER CHARACTER
00609  M01S00531.iedit   +++| SEDE     EQU    SEPA+DLMA
00610  M01S00532.iedit   +++| *LNT*    SPACE  4,10        ATTRIBUTE BIT LOCATIONS DEFINED
00611  M01S00533.iedit   +++|**        THE *LNT* CONSISTS OF ONE WORD ENTRIES EITHER IN A BUFFER
00612  M01S00534.iedit   +++|*         OR WRITTEN OUT TO A LOCAL DISK FILE.  THE FORMAT OF A
00613  M01S00535.iedit   +++|*         *LNT* ENTRY IS -
00614  M01S00536.iedit   +++|*
00615  M01S00537.iedit   +++|*T        18/NLN, 18/OLN, 1/O, 23/
Figure

022232429OOLN30414259OLNNLN

00616  M01S00538.iedit   +++|*
00617  M01S00539.iedit   +++|*         NLN = NEW LINE NUMBER.
00618  M01S00540.iedit   +++|*         OLN = OLD LINE NUMBER.
00619  M01S00541.iedit   +++|*         O   = OVERLAP PROCESSING FLAG.
00620  M01S00542.iedit   +++|
00621  M01S00543.iedit   +++|
00622  M01S00544.iedit   +++| FOVL     EQU    23          OVERLAPPED LINE FLAG
00623  M01S00545.iedit   +++| BUFFERS  SPACE  4,10
00624  M01S00546.iedit   +++|**        BUFFER DEFINITIONS.
00625  M01S00547.iedit   +++|
00626  M01S00548.iedit   +++| LRT      BSS    MXWL+1      LINE RANGE TABLE
00627  M01S00549.iedit   +++| CLIN     BSS    0           CURRENT EDIT FILE LINE BEING WORKED
00628  M01S00550.iedit   +++| USBB     BSS    MXCIL+1     STRING BUFFER USED BY *USB*
00629  M01S00551.iedit   +++| INBUF    BSS    INSZ        INPUT BUFFER
00630  M01S00552.iedit   +++| OTBUF    BSS    OTSZ        OUTPUT BUFFER
00631  M01S00553.iedit   +++| PCKDBF   BSSZ   MXWL+1      PACKED LINE BUFFER
00632  M01S00554.iedit   +++| RBUF     BSSZ   MXCIL       REPLACEMENT BUFFER
00633  M01S00555.iedit   +++| SBUF     BSSZ   MXCIL       SEARCH STRING BUFFER
00634  M01S00556.iedit   +++| TRBUF    BSS    204B        TRUNCATED LINE BUFFER
00635  M01S00557.iedit   +++| EFBUF    TABLE              EDIT FILE BUFFER
00636  M01S00558.iedit   +++| SCRBA    TABLE              SCRATCH 1 / REBUILD BUFFER
00637  M01S00559.iedit   +++| SCRBB    TABLE              SCRATCH BUFFER 2
00638  M01S00560.iedit   +++| LNBUF    TABLE              LINE BUFFER
00639  M01S00561.iedit   +++| LNTBUF   TABLE              LINE NUMBER TABLE BUFFER
00640  M01S00562.iedit   +++|          SPACE  4,10        INTERFACE FILE FETS
00641  M01S00563.iedit   +++|**        FET DEFINITIONS.
00642  M01S00564.iedit   +++|
00643  M01S00565.iedit   +++| E        BSS    0           EDIT FILE BUFFER
00644  M01S00566.iedit   +++| EFB      FILEB  0,0,(FET=NWIF)
00645  M01S00567.iedit   +++|
00646  M01S00568.iedit   +++| I        BSS    0           INPUT BUFFER
00647  M01S00569.iedit   +++| INPUT    FILEB  INBUF,INSZ,(FET=NWIF)
00648  M01S00570.iedit   +++|
00649  M01S00571.iedit   +++| O        BSS    0           OUTPUT BUFFER
00650  M01S00572.iedit   +++| OUTPUT   FILEB  OTBUF,OTSZ,(FET=NWIF)
00651  M01S00573.iedit   +++|
00652  M01S00574.iedit   +++| L        BSS    0           LINE BUFFER FILE
00653  M01S00575.iedit   +++| ZZZZZG0  FILEB  0,0,(FET=NWIF)
00654  M01S00576.iedit   +++|
00655  M01S00577.iedit   +++| LNT1     BSS    0           LINE NUMBER TABLE FILE
00656  M01S00578.iedit   +++| ZZZZZG2  FILEB  0,0,(FET=NWIF)
00657  M01S00579.iedit   +++|
00658  M01S00580.iedit   +++| LNT2     BSS    0           *LNT* SCRATCH FILE
00659  M01S00581.iedit   +++| ZZZZZG3  FILEB  0,0,(FET=NWIF)
00660  M01S00582.iedit   +++|
00661  M01S00583.iedit   +++| SCR      BSS    0           SCRATCH FILE 0
00662  M01S00584.iedit   +++| ZZZZZG4  FILEB  0,0,(FET=NWIF)
00663  M01S00585.iedit   +++|
00664  M01S00586.iedit   +++| SCR1     BSS    0           SCRATCH FILE 1
00665  M01S00587.iedit   +++| ZZZZZG5  FILEB  0,0,(FET=NWIF)
00666  M01S00588.iedit   +++|
00667  M01S00589.iedit   +++| TRNCFET  BSS    0           TRUNCATED LINE BUFFER
00668  M01S00590.iedit   +++| ZZZZZG7  FILEB  TRBUF,204B,(FET=NWIF)
00669  M01S00591.iedit   +++|          TITLE  MAIN PROGRAM.
00670  M01S00592.iedit   +++| MAIN     SPACE  4,20
00671  M01S00593.iedit   +++|**        IED - MAIN LOOP OF PROGRAM.
00672  M01S00594.iedit   +++|*
00673  M01S00595.iedit   +++|*         ENTRY  NONE.
00674  M01S00596.iedit   +++|*
00675  M01S00597.iedit   +++|*         EXIT   *IEDIT* PROCESSING COMPLETED.
00676  M01S00598.iedit   +++|*                TO *ERR* - IF A FATAL ERROR IS DETECTED.
00677  M01S00599.iedit   +++|*
00678  M01S00600.iedit   +++|*         USES   X - 0, 1, 2, 3, 5, 6.
00679  M01S00601.iedit   +++|*                A - 1, 2, 3, 6.
00680  M01S00602.iedit   +++|*                B - 2, 5.
00681  M01S00603.iedit   +++|*
00682  M01S00604.iedit   +++|*         CALLS  ABS, CDD, ERT, MRD, PRS, PSC, RSF, SFI, SNM.
00683  M01S00605.iedit   +++|*
00684  M01S00606.iedit   +++|*         MACROS ENDRUN, FILINFO, RETURN, SYSTEM, WRITEC, WRITER.
00685  M01S00607.iedit   +++|
00686  M01S00608.iedit   +++|
00687  M01S00609.iedit   +++| IEDIT    BSS    0           ENTRY
00688  M01S00610.iedit   +++|          RJ     PRS
00689  M01S00611.iedit   +++|          SA1    EFBUF       ALLOCATE SPACE FOR MAIN BUFFER
00690  M01S00612.iedit   +++|          SX2    EBSZ
00691  M01S00613.iedit   +++|          RJ     ABS
00692  M01S00614.iedit   +++|          NG     X6,IED9     IF NOT ENOUGH ROOM FOR MAIN BUFFER
00693  M01S00615.iedit   +++|          SA1    SCRBA       ALLOCATE SPACE FOR SCRATCH/REBUILD
00694  M01S00616.iedit   +++|          SX2    SCRASZ
00695  M01S00617.iedit   +++|          SA3    FNUM
00696  M01S00618.iedit   +++|          SX3    X3-MXIL-1
00697  M01S00619.iedit   +++|          NG     X3,IED1     IF NON-SEQUENTIAL COMMAND
00698  M01S00620.iedit   +++|          SX2    SCRCSZ
00699  M01S00621.iedit   +++|          RJ     ABS
00700  M01S00622.iedit   +++|          NG     X6,IED9     IF NOT ENOUGH SPACE FOR SEQUENTIAL COMMAND
00701  M01S00623.iedit   +++|          EQ     IED2        PROCESS SEQUENTIAL COMMAND
00702  M01S00624.iedit   +++|
00703  M01S00625.iedit   +++| IED1     RJ     ABS
00704  M01S00626.iedit   +++|          NG     X6,IED9     IF NOT ENOUGH SPACE FOR SCRATCH BUFFER
00705  M01S00627.iedit   +++|          SA1    SCRBB       ALLOCATE SECOND SCRATCH BUFFER
00706  M01S00628.iedit   +++|          SX2    SCRBSZ
00707  M01S00629.iedit   +++|          RJ     ABS
00708  M01S00630.iedit   +++|          NG     X6,IED9     IF NOT ENOUGH SPACE FOR *SCRBB*
00709  M01S00631.iedit   +++|          SA1    LNBUF       ALLOCATE SPACE FOR LINE BUFFER
00710  M01S00632.iedit   +++|          SX2    LBSZ
00711  M01S00633.iedit   +++|          RJ     ABS
00712  M01S00634.iedit   +++|          NG     X6,IED9     IF NOT ENOUGH SPACE FOR *LBUF*
00713  M01S00635.iedit   +++|          SA1    BOP
00714  M01S00636.iedit   +++|          ZR     X1,IED2     IF *LNT* NOT NEEDED
00715  M01S00637.iedit   +++|          SA1    LNTBUF
00716  M01S00638.iedit   +++|          SX2    LNTSZ
00717  M01S00639.iedit   +++|          RJ     ABS         ALLOCATE BUFFER
00718  M01S00640.iedit   +++|          NG     X6,IED9     IF NOT ENOUGH ROOM FOR *LNT*
00719  M01S00641.iedit   +++| IED2     RJ     SFI         UPDATE FET POINTERS FOR ALLOCATED TABLES
00720  M01S00642.iedit   +++|          SA1    EFN
00721  M01S00643.iedit   +++|          SA2    FIPB
00722  M01S00644.iedit   +++|          MX3    42
00723  M01S00645.iedit   +++|          BX1    X1*X3
00724  M01S00646.iedit   +++|          BX2    -X3*X2
00725  M01S00647.iedit   +++|          BX6    X1+X2
00726  M01S00648.iedit   +++|          SA6    A2
00727  M01S00649.iedit   +++|          FILINFO  FIPB      GET LENGTH OF EDIT FILE
00728  M01S00650.iedit   +++|          SA2    FIPB+3
00729  M01S00651.iedit   +++|          MX3    24
00730  M01S00652.iedit   +++|          BX6    X2*X3
00731  M01S00653.iedit   +++|          LX6    24
00732  M01S00654.iedit   +++|          SA6    FLNGTH
00733  M01S00655.iedit   +++|          SA1    FNUM
00734  M01S00656.iedit   +++|          SX2    X1-MXIL-1
00735  M01S00657.iedit   +++|          PL     X2,IED3     IF A SEQUENTIAL COMMAND
00736  M01S00658.iedit   +++|          SX7    B0+
00737  M01S00659.iedit   +++|          RJ     RSF         REWIND SCRATCH FILES
00738  M01S00660.iedit   +++|          RJ     MRD         PROCESS A *MOVE*, *READ*, OR *DUP*
00739  M01S00661.iedit   +++|          EQ     IED4        POST PROCESS COMMAND
00740  M01S00662.iedit   +++|
00741  M01S00663.iedit   +++| IED3     RJ     PSC         PROCESS A SEQUENTIAL COMMAND
00742  M01S00664.iedit   +++| IED4     SA1    NTL
00743  M01S00665.iedit   +++|          ZR     X1,IED6     IF NO TRUNCATED LINES
00744  M01S00666.iedit   +++|          RJ     CDD         REPORT TRUNCATIONS
00745  M01S00667.iedit   +++|          MX0    B2          DELETE TRAILING SPACES
00746  M01S00668.iedit   +++|          BX1    X0*X4
00747  M01S00669.iedit   +++|          SB2    1RZ
00748  M01S00670.iedit   +++|          SB5    ERRLTF
00749  M01S00671.iedit   +++|          RJ     SNM         SET NAME IN MESSAGE
00750  M01S00672.iedit   +++|          SB5    ERRLTF
00751  M01S00673.iedit   +++|          SB2    1RQ
00752  M01S00674.iedit   +++|          SA2    FNUM
00753  M01S00675.iedit   +++|          SA1    X2+TOFN-1
00754  M01S00676.iedit   +++|          LX1    18
00755  M01S00677.iedit   +++|          SA1    X1
00756  M01S00678.iedit   +++|          RJ     SNM         SET NAME IN MESSAGE
Line S00679 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
00757  M02S00679.iedit2  ---|          WRITEC O,ERRLTF
00758  M01S00074.iedit2  +++|          WRITEC O,ERRLTF    *ZZZZZ LINES TRUNCATED ON FILE QQQQQQQ.*
00759  M01S00680.iedit   +++|          SA3    TRNCFET     PREPARE TO PRINT TRUNCATED NUMBERS
00760  M01S00681.iedit   +++|          MX2    42
00761  M01S00682.iedit   +++|          BX3    -X2*X3
00762  M01S00683.iedit   +++|          SX2    A3
00763  M01S00684.iedit   +++|          SX3    X3-3
00764  M01S00685.iedit   +++|          ZR     X3,IED5     IF BUFFER NEVER WRITTEN TO DISK
00765  M01S00686.iedit   +++|          SX3    B1+         INDICATE ON-DISK STATUS
00766  M01S00687.iedit   +++|          RJ     ERT
00767  M01S00688.iedit   +++|          RETURN TRNCFET
00768  M01S00689.iedit   +++|          EQ     IED6        PERFORM FINAL PROCESSING
00769  M01S00690.iedit   +++|
00770  M01S00691.iedit   +++| IED5     RJ     ERT         ECHO RECORD TO TERMINAL
00771  M01S00692.iedit   +++| IED6     SA1    FNUM
00772  M01S00693.iedit   +++|          SX1    X1-MXIL-1
00773  M01S00694.iedit   +++|          PL     X1,IED8     IF SEQUENTIAL COMMAND
00774  M01S00695.iedit   +++|          SA1    APPFLG      SET SORT FLAG IN TERMINAL TABLE
00775  M01S00696.iedit   +++|          ZR     X1,IED7     IF SORT STATUS DID NOT CHANGE
00776  M01S00697.iedit   +++|          SYSTEM TLX,R,X1,1000B
00777  M01S00698.iedit   +++| IED7     SX7    B1
00778  M01S00699.iedit   +++|          RJ     RSF         RETURN SCRATCH FILES
00779  M01S00700.iedit   +++| IED8     WRITER O
00780  M01S00701.iedit   +++|          ENDRUN
00781  M01S00702.iedit   +++|
00782  M01S00703.iedit   +++| IED9     SX5    ERRNES      *NOT ENOUGH BUFFER SPACE AVAILABLE.*
00783  M01S00704.iedit   +++|          EQ     ERR         EXIT TO ERROR PROCESSOR
00784  M01S00705.iedit   +++|          TITLE  FUNCTION PROCESSORS.
00785  M01S00706.iedit   +++| MRD      SPACE  4,15
00786  M01S00707.iedit   +++|**        MRD - *MOVE*, *READ*, AND *DUP* FUNCTION PROCESSOR.
00787  M01S00708.iedit   +++|*
00788  M01S00709.iedit   +++|*         ENTRY  (FILEN) = NAME OF *READ* FILE IF *READ* COMMAND.
00789  M01S00710.iedit   +++|*
00790  M01S00711.iedit   +++|*         EXIT   CHANGE RECORDS APPENDED TO END OF EDIT FILE.
00791  M01S00712.iedit   +++|*
00792  M01S00713.iedit   +++|*         USES   X - 1, 2, 3, 5, 6, 7.
00793  M01S00714.iedit   +++|*                A - 1, 2, 3, 5, 6, 7.
00794  M01S00715.iedit   +++|*
00795  M01S00716.iedit   +++|*         CALLS  AEC, CBR, PLO, RLN, SLF, SLN, SLT.
00796  M01S00717.iedit   +++|*
00797  M01S00718.iedit   +++|*         NOTES  ALL LINES FROM THE *READ* FILE ARE IMPLICITLY
00798  M01S00719.iedit   +++|*                SELECTED FOR INSERTION INTO THE EDIT FILE.
00799  M01S00720.iedit   +++|
00800  M01S00721.iedit   +++|
00801  M01S00722.iedit   +++| MRD      SUBR               ENTRY/EXIT
00802  M01S00723.iedit   +++|          RJ     SLF         SELECT LINES FROM FILE
00803  M01S00724.iedit   +++|          SA1    FNUM
00804  M01S00725.iedit   +++|          SX1    X1-FNRE
00805  M01S00726.iedit   +++|          NZ     X1,MRD1     IF NOT A *READ* COMMAND
00806  M01S00727.iedit   +++|          SX2    L           SET *READ* FILE NAME INTO FET *L*
00807  M01S00728.iedit   +++|          SA5    FILEN
00808  M01S00729.iedit   +++|          RJ     SLN
00809  M01S00730.iedit   +++|          SX7    B1+
00810  M01S00731.iedit   +++|          SA7    LBFILE
00811  M01S00732.iedit   +++| MRD1     SA5    TSF+6
00812  M01S00733.iedit   +++|          SX2    SCR1
00813  M01S00734.iedit   +++|          RJ     SLN         RESTORE *ZZZZZG6* INTO FET *SCR1*
00814  M01S00735.iedit   +++|          SX5    B0+
00815  M01S00736.iedit   +++|          RJ     SBE         SET *SCR1* EMPTY
00816  M01S00737.iedit   +++|          SX7    B0+
00817  M01S00738.iedit   +++|          RJ     RLN         REPLACE LINE NUMBER ON LINE
00818  M01S00739.iedit   +++|          SA2    FNUM
00819  M01S00740.iedit   +++|          SX2    X2-FNRE
00820  M01S00741.iedit   +++|          NZ     X2,MRD2     IF NOT A *READ* COMMAND
00821  M01S00742.iedit   +++|          SX2    L           SET *ZZZZZG0* INTO FET *L*
00822  M01S00743.iedit   +++|          SA5    TSF+0
00823  M01S00744.iedit   +++|          RJ     SLN
00824  M01S00745.iedit   +++| MRD2     RJ     PLO         PROCESS LINE OVERLAP
00825  M01S00746.iedit   +++|          SA1    BOP
00826  M01S00747.iedit   +++|          ZR     X1,MRD3     IF NOT IN *BASIC* SUBSYSTEM
00827  M01S00748.iedit   +++|          SA1    UNRF        CHECK FOR AN UNNUMBERED *READ* FILE
00828  M01S00749.iedit   +++|          SA2    OVLPFG      CHECK FOR NO OVERLAPPED LINES
00829  M01S00750.iedit   +++|          BX1    -X2*X1
00830  M01S00751.iedit   +++|          NZ     X1,MRD3     IF BOTH CONDITIONS TRUE
00831  M01S00752.iedit   +++|          RJ     SLT         SORT LINE NUMBER TABLE
00832  M01S00753.iedit   +++|          RJ     CBR         CALL *BASIC* RESEQUENCER
00833  M01S00754.iedit   +++| MRD3     SA1    SCRFIL
00834  M01S00755.iedit   +++|          ZR     X1,MRD4     IF NOTHING WRITTEN TO DELETED LINES FILE
00835  M01S00756.iedit   +++|          SX2    SCR
00836  M01S00757.iedit   +++|          SA5    TSF+6
00837  M01S00758.iedit   +++|          RJ     SLN         PUT DELETED LINES RECORD FILE NAME IN FET
00838  M01S00759.iedit   +++|          SA5    EFN
00839  M01S00760.iedit   +++|          SX3    B1
00840  M01S00761.iedit   +++|          SX6    B0
00841  M01S00762.iedit   +++|          SA6    LSTFIL
00842  M01S00763.iedit   +++|          RJ     AEC         APPEND LINE NUMBERS TO EDIT FILE
00843  M01S00764.iedit   +++|          SA1    LOP
00844  M01S00765.iedit   +++|          SX6    X1+
00845  M01S00766.iedit   +++|          SA6    LSTFIL
00846  M01S00767.iedit   +++| MRD4     SA5    EFN
00847  M01S00768.iedit   +++|          SA2    LBFET
00848  M01S00769.iedit   +++|          SA3    LBFILE
00849  M01S00770.iedit   +++|          RJ     AEC         APPEND AND ECHO RECORD
00850  M01S00771.iedit   +++|          EQ     MRDX        RETURN
00851  M01S00772.iedit   +++|          TITLE  SUBROUTINES.
00852  M01S00773.iedit   +++| ABL      SPACE  4,10
00853  M01S00774.iedit   +++|**        ABL - ADD BLANKS TO LINE.
00854  M01S00775.iedit   +++|*
00855  M01S00776.iedit   +++|*         ENTRY  (X2) = NUMBER OF DIGITS IN LINE NUMBER.
00856  M01S00777.iedit   +++|*                (NCOL) = NUMBER OF CHARACTERS IN LINE.
00857  M01S00778.iedit   +++|*                (BLNK) = BLANK CHARACTER TO BE APPENDED.
00858  M01S00779.iedit   +++|*                CLIN = ADDRESS OF THE BEGINNING OF THE LINE.
00859  M01S00780.iedit   +++|*
00860  M01S00781.iedit   +++|*         EXIT   (NCOL) = X7 = NUMBER OF CHARACTERS IN LINE.
00861  M01S00782.iedit   +++|*                PROPER NUMBER OF BLANKS APPENDED TO LINE, NOT
00862  M01S00783.iedit   +++|*                TO EXCEED *MXCIL*.
00863  M01S00784.iedit   +++|*
00864  M01S00785.iedit   +++|*         USES   X - 1, 2, 3, 4, 6, 7.
00865  M01S00786.iedit   +++|*                A - 1, 3, 4, 6, 7.
00866  M01S00787.iedit   +++|
00867  M01S00788.iedit   +++|
00868  M01S00789.iedit   +++| ABL      SUBR               ENTRY/EXIT
00869  M01S00790.iedit   +++|          SA1    NCOL
00870  M01S00791.iedit   +++|          SA4    BLNK
00871  M01S00792.iedit   +++| ABL1     SA3    X1+CLIN-1
00872  M01S00793.iedit   +++|          SX1    X1-1
00873  M01S00794.iedit   +++|          BX3    X3-X4
00874  M01S00795.iedit   +++|          ZR     X3,ABL1     IF CHARACTER A BLANK
00875  M01S00796.iedit   +++|          SX7    X1+B1
00876  M01S00797.iedit   +++|          SX1    MXCIL
00877  M01S00798.iedit   +++|          SA3    X7+CLIN-1
00878  M01S00799.iedit   +++|          BX6    X4
00879  M01S00800.iedit   +++|          IX4    X7-X1
00880  M01S00801.iedit   +++|          PL     X4,ABL4     IF LINE HAS REACHED *MXCIL*
00881  M01S00802.iedit   +++|          NZ     X3,ABL2     IF LINE DOES NOT END IN A COLON
00882  M01S00803.iedit   +++|          SA6    X7+CLIN     ADD A BLANK AFTER THE COLON
00883  M01S00804.iedit   +++|          SX7    X7+B1       UPDATE *NCOL*
00884  M01S00805.iedit   +++|          IX4    X7-X1
00885  M01S00806.iedit   +++|          PL     X4,ABL4     IF LINE HAS REACHED *MXCIL*
00886  M01S00807.iedit   +++| ABL2     IX2    X2-X7
00887  M01S00808.iedit   +++|          NZ     X2,ABL3     IF LINE CONTAINS MORE THAN A LINE NUMBER
00888  M01S00809.iedit   +++|          SA6    X7+CLIN
00889  M01S00810.iedit   +++|          SX7    X7+2
00890  M01S00811.iedit   +++|          SA6    A6+1
00891  M01S00812.iedit   +++| ABL3     BX2    X7
00892  M01S00813.iedit   +++|          LX2    59-0
00893  M01S00814.iedit   +++|          PL     X2,ABL4     IF LINE HAS AN EVEN NUMBER OF CHARACTERS
00894  M01S00815.iedit   +++|          SA6    X7+CLIN
00895  M01S00816.iedit   +++|          SX7    X7+1
00896  M01S00817.iedit   +++| ABL4     SA7    NCOL
00897  M01S00818.iedit   +++|          EQ     ABLX        RETURN
00898  M01S00819.iedit   +++| ABS      SPACE  4,20
00899  M01S00820.iedit   +++|**        ABS - ALLOCATE BUFFER SPACE.
00900  M01S00821.iedit   +++|*
00901  M01S00822.iedit   +++|*         ENTRY  (A1) = TABLE NUMBER BEING ALLOCATED.
00902  M01S00823.iedit   +++|*                (X2) = WORD COUNT (+ OR -) TO BE ALLOCATED.
00903  M01S00824.iedit   +++|*                (DYNST) = AMOUNT OF DYNAMIC STORAGE LEFT.
00904  M01S00825.iedit   +++|*
00905  M01S00826.iedit   +++|*         EXIT   (DYNST) = AMOUNT OF DYNAMIC STORAGE LEFT.
00906  M01S00827.iedit   +++|*                (X6) .LT. 0, IF NOT ENOUGH MEMORY AVAILABLE.
00907  M01S00828.iedit   +++|*
00908  M01S00829.iedit   +++|*         USES   X - 1, 2, 3, 6, 7.
00909  M01S00830.iedit   +++|*                A - 0, 1, 2, 3, 6, 7.
00910  M01S00831.iedit   +++|*
00911  M01S00832.iedit   +++|*         CALLS  RAF.
00912  M01S00833.iedit   +++|*
00913  M01S00834.iedit   +++|*         MACROS ALLOC, MEMORY.
00914  M01S00835.iedit   +++|*
00915  M01S00836.iedit   +++|*         NOTES  THERE MUST BE NO *CIO* ACTIVITY (ALL FETS MUST BE
00916  M01S00837.iedit   +++|*                *RECALLED*) BEFORE CALLING *ALLOC*.
00917  M01S00838.iedit   +++|
00918  M01S00839.iedit   +++|
00919  M01S00840.iedit   +++| ABS3     BX6    X1
00920  M01S00841.iedit   +++|          SA6    CMEM
00921  M01S00842.iedit   +++|          SX6    -B1
00922  M01S00843.iedit   +++|
00923  M01S00844.iedit   +++| ABS      SUBR               ENTRY/EXIT
00924  M01S00845.iedit   +++|          SX6    A1          SAVE ENTRY CONDITIONS
00925  M01S00846.iedit   +++|          SX7    X2
00926  M01S00847.iedit   +++|          SA6    ABSA
00927  M01S00848.iedit   +++|          SA7    ABSB
00928  M01S00849.iedit   +++|          RJ     RAF         RECALL ALL FETS
00929  M01S00850.iedit   +++| ABS1     SA2    ABSA        RESTORE ENTRY CONDITIONS
00930  M01S00851.iedit   +++|          SA1    ABSB
00931  M01S00852.iedit   +++|          SA0    X2
00932  M01S00853.iedit   +++|          SA3    DYNST       AMOUNT OF DYNAMIC STORAGE LEFT
00933  M01S00854.iedit   +++|          IX6    X3-X1
00934  M01S00855.iedit   +++|          NG     X6,ABS2     IF NOT ENOUGH DYNAMIC STORAGE
00935  M01S00856.iedit   +++|          SA6    DYNST
00936  M01S00857.iedit   +++|          ALLOC  A0,X1
00937  M01S00858.iedit   +++|          BX6    X6-X6       INDICATE SUCCESSFUL REALLOCATION
00938  M01S00859.iedit   +++|          EQ     ABSX        RETURN
00939  M01S00860.iedit   +++|
00940  M01S00861.iedit   +++|*         SET UP MEMORY REQUEST.
00941  M01S00862.iedit   +++|
00942  M01S00863.iedit   +++| ABS2     SA1    CMEM        GET CURRENT MEMORY
00943  M01S00864.iedit   +++|          SX3    MINCR
00944  M01S00865.iedit   +++|          IX2    X1+X3
00945  M01S00866.iedit   +++|          SA3    CMAX
00946  M01S00867.iedit   +++|          IX6    X3-X2
00947  M01S00868.iedit   +++|          NG     X6,ABSX     IF REQUEST WOULD EXCEED VALIDATION LIMITS
00948  M01S00869.iedit   +++|          BX6    X2
00949  M01S00870.iedit   +++|          SA6    A1          UPDATE *CMEM*
00950  M01S00871.iedit   +++|          LX6    30-0
00951  M01S00872.iedit   +++|          SA6    MSTAT
00952  M01S00873.iedit   +++|          MEMORY CM,MSTAT,R,,NA  REQUEST ADDITIONAL MEMORY
00953  M01S00874.iedit   +++|          SA1    MSTAT
00954  M01S00875.iedit   +++|          SA2    CMEM
00955  M01S00876.iedit   +++|          AX1    30
00956  M01S00877.iedit   +++|          BX2    X1-X2
00957  M01S00878.iedit   +++|          NZ     X2,ABS3     IF REQUEST NOT HONORED
00958  M01S00879.iedit   +++|          SA3    F.TEND      UPDATE LWA OF TABLE
00959  M01S00880.iedit   +++|          SX2    MINCR
00960  M01S00881.iedit   +++|          SA1    DYNST
00961  M01S00882.iedit   +++|          IX6    X3+X2
00962  M01S00883.iedit   +++|          IX7    X1+X2
00963  M01S00884.iedit   +++|          SA6    A3
00964  M01S00885.iedit   +++|          SA7    A1
00965  M01S00886.iedit   +++|          EQ     ABS1        ALLOCATE SPACE FOR TABLE
00966  M01S00887.iedit   +++|
00967  M01S00888.iedit   +++| ABSA     CON    0           ENTRY CONDITIONS
00968  M01S00889.iedit   +++| ABSB     CON    0
00969  M01S00890.iedit   +++| AEC      SPACE  4,20
00970  M01S00891.iedit   +++|**        AEC - APPEND AND ECHO CHANGE RECORD.
00971  M01S00892.iedit   +++|*
00972  M01S00893.iedit   +++|*         ENTRY  (X5) = NAME OF THE FILE TO APPEND TO.
00973  M01S00894.iedit   +++|*                (X2) = FET ADDRESS OF BUFFER CONTAINING RECORD.
00974  M01S00895.iedit   +++|*                (X3) = 0, IF CHANGE RECORD IS BUFFER RESIDENT.
00975  M01S00896.iedit   +++|*                       1, IF CHANGE RECORD IS DISK RESIDENT.
00976  M01S00897.iedit   +++|*                (LSTFIL) = 0, IF LIST OPTION IS OFF.
00977  M01S00898.iedit   +++|*                           1, IF LIST OPTION IS ON.
00978  M01S00899.iedit   +++|*
00979  M01S00900.iedit   +++|*         EXIT   (X2) = UNCHANGED.
00980  M01S00901.iedit   +++|*                RECORD APPENDED TO FILE AND ECHOED TO TERMINAL.
00981  M01S00902.iedit   +++|*
00982  M01S00903.iedit   +++|*         USES   X - 1, 2, 3, 5, 6, 7.
00983  M01S00904.iedit   +++|*                A - 1, 2, 3, 5, 6, 7.
00984  M01S00905.iedit   +++|*
00985  M01S00906.iedit   +++|*         CALLS  CBO, SBE, SLN.
00986  M01S00907.iedit   +++|*
00987  M01S00908.iedit   +++|*         MACROS READEI, REWIND, WRITE, WRITER.
00988  M01S00909.iedit   +++|
00989  M01S00910.iedit   +++|
00990  M01S00911.iedit   +++| AEC      SUBR               ENTRY/EXIT
00991  M01S00912.iedit   +++|          BX7    X2
00992  M01S00913.iedit   +++|          BX6    X5
00993  M01S00914.iedit   +++|          SA7    AECC
00994  M01S00915.iedit   +++|          SA6    A7-B1       SAVE APPENDED FILE NAME
00995  M01S00916.iedit   +++|          SA1    X2+3        *OUT* WILL BE FIRST CBO PARAMETER
00996  M01S00917.iedit   +++|          BX6    X1
00997  M01S00918.iedit   +++|          SA6    AECD
00998  M01S00919.iedit   +++|          ZR     X3,AEC4     IF RECORD IS BUFFER RESIDENT
00999  M01S00920.iedit   +++|          MX3    42
01000  M01S00921.iedit   +++|          SA1    X2
01001  M01S00922.iedit   +++|          BX6    X1*X3
01002  M01S00923.iedit   +++|          SA6    AECA        STORE ORIGINAL FILE NAME
01003  M01S00924.iedit   +++|          REWIND X2,R
01004  M01S00925.iedit   +++|          SA1    X2+3        *OUT* WILL BE FIRST CBO PARAMETER
01005  M01S00926.iedit   +++|          BX6    X1
01006  M01S00927.iedit   +++|          SA6    AECD
01007  M01S00928.iedit   +++| AEC1     READEI X2,R
01008  M01S00929.iedit   +++|          SA1    LSTFIL
01009  M01S00930.iedit   +++|          NZ     X1,AEC2     IF LIST OPTION IS ON
01010  M01S00931.iedit   +++|          SX2    O
01011  M01S00932.iedit   +++|          SX5    B0
01012  M01S00933.iedit   +++|          RJ     SBE         SET *OUTPUT* BUFFER EMPTY
01013  M01S00934.iedit   +++|          SA2    AECC
01014  M01S00935.iedit   +++| AEC2     SA1    X2
01015  M01S00936.iedit   +++|          LX1    59-9
01016  M01S00937.iedit   +++|          NG     X1,AEC4     IF LAST BUFFER OF DATA
01017  M01S00938.iedit   +++|          SA5    AECB
01018  M01S00939.iedit   +++|          RJ     SLN         PUT APPENDED FILE NAME IN FET
01019  M01S00940.iedit   +++|          SA1    LSTFIL
01020  M01S00941.iedit   +++|          ZR     X1,AEC3     IF LINES NOT TO BE ECHOED TO TERMINAL
01021  M01S00942.iedit   +++|          SA3    AECD
01022  M01S00943.iedit   +++|          RJ     CBO         COPY BUFFER TO OUTPUT FROM (X3)
01023  M01S00944.iedit   +++|          BX6    X3          SAVE UPDATED CBO PARAMETER
01024  M01S00945.iedit   +++|          SA6    AECD
01025  M01S00946.iedit   +++|          SA2    AECC
01026  M01S00947.iedit   +++| AEC3     SX6    B1+
01027  M01S00948.iedit   +++|          SA6    APPFLG
01028  M01S00949.iedit   +++|          WRITE  X2,R        APPEND LINES TO FILE
01029  M01S00950.iedit   +++|          SA5    AECA
01030  M01S00951.iedit   +++|          RJ     SLN         PUT ORIGINAL FILE NAME BACK IN FET
01031  M01S00952.iedit   +++|          EQ     AEC1        READ IN NEXT SEGMENT
01032  M01S00953.iedit   +++|
01033  M01S00954.iedit   +++| AEC4     SA2    AECC
01034  M01S00955.iedit   +++|          SA5    AECB
01035  M01S00956.iedit   +++|          RJ     SLN         PUT APPENDED FILE NAME IN FET
01036  M01S00957.iedit   +++|          SA1    LSTFIL
01037  M01S00958.iedit   +++|          ZR     X1,AEC5     IF LINES NOT TO BE ECHOED TO TERMINAL
01038  M01S00959.iedit   +++|          SA3    AECD
01039  M01S00960.iedit   +++|          RJ     CBO         COPY BUFFER TO OUTPUT
01040  M01S00961.iedit   +++| AEC5     SX6    B1+
01041  M01S00962.iedit   +++|          SA6    APPFLG
01042  M01S00963.iedit   +++|          WRITER X2,R        FLUSH BUFFER TO APPENDED FILE
01043  M01S00964.iedit   +++|          EQ     AECX        RETURN
01044  M01S00965.iedit   +++|
01045  M01S00966.iedit   +++| AECA     CON    0           ORIGINAL FILE NAME
01046  M01S00967.iedit   +++| AECB     CON    0           FILE NAME OF FILE TO APPEND TO
01047  M01S00968.iedit   +++| AECC     CON    0           FET ADDRESS
01048  M01S00969.iedit   +++| AECD     CON    0           CBO START POINTER
01049  M01S00970.iedit   +++| CBO      SPACE  4,15
01050  M01S00971.iedit   +++|**        CBO - COPY BUFFER TO OUTPUT.
01051  M01S00972.iedit   +++|*
01052  M01S00973.iedit   +++|*         ENTRY  (X2) = FET WHOSE BUFFER IS TO BE PRINTED.
01053  M01S00974.iedit   +++|*                (X3) = FIRST LOCATION TO TRANSMIT, INITIALLY *OUT*.
01054  M01S00975.iedit   +++|*
01055  M01S00976.iedit   +++|*         EXIT   (X2) = UNCHANGED.
01056  M01S00977.iedit   +++|*                (X3) = LAST LOCATION TRANSMITTED + 1.
01057  M01S00978.iedit   +++|*
01058  M01S00979.iedit   +++|*         USES   X - 1, 2, 3, 4, 6.
01059  M01S00980.iedit   +++|*                A - 1, 2, 3, 4, 6.
01060  M01S00981.iedit   +++|*                B - 6, 7.
01061  M01S00982.iedit   +++|*
01062  M01S00983.iedit   +++|*         CALLS  WTO.
01063  M01S00984.iedit   +++|
01064  M01S00985.iedit   +++|
01065  M01S00986.iedit   +++| CBO      SUBR               ENTRY/EXIT
01066  M01S00987.iedit   +++|          BX6    X2
01067  M01S00988.iedit   +++|          SA6    CBOA        SAVE FET ADDRESS
01068  M01S00989.iedit   +++|          SA1    X2+B1       FIRST
01069  M01S00990.iedit   +++|          SA4    X2+4        LIMIT
01070  M01S00991.iedit   +++|          SA2    A1+B1       IN
01071  M01S00992.iedit   +++|          SB6    X3          FIRST LOCATION TO OUTPUT
01072  M01S00993.iedit   +++|          SB7    X2+         *IN* POINTER
01073  M01S00994.iedit   +++|          SB7    B7-B6
01074  M01S00995.iedit   +++|          ZR     B7,CBO2     IF BUFFER EMPTY
01075  M01S00996.iedit   +++|          NG     B7,CBO1     IF BUFFER WRAPS AROUND
01076  M01S00997.iedit   +++|          RJ     WTO
01077  M01S00998.iedit   +++|          EQ     CBO2        EXIT
01078  M01S00999.iedit   +++|
01079  M01S01000.iedit   +++|*         PROCESS BUFFER WRAPAROUND.
01080  M01S01001.iedit   +++|
01081  M01S01002.iedit   +++| CBO1     SB7    X4          LIMIT
01082  M01S01003.iedit   +++|          SB7    B7-B6       COPY FIRST PART OF DATA
01083  M01S01004.iedit   +++|          RJ     WTO
01084  M01S01005.iedit   +++|          SA2    CBOA
01085  M01S01006.iedit   +++|          SA1    X2+B1       FIRST
01086  M01S01007.iedit   +++|          SA2    A1+B1       IN
01087  M01S01008.iedit   +++|          SB6    X1
01088  M01S01009.iedit   +++|          SB7    X2
01089  M01S01010.iedit   +++|          SB7    B7-B6       COPY SECOND PART OF DATA
01090  M01S01011.iedit   +++|          RJ     WTO
01091  M01S01012.iedit   +++| CBO2     SA2    CBOA        RESTORE FET ADDRESS
01092  M01S01013.iedit   +++|          SA3    X2+2
01093  M01S01014.iedit   +++|          EQ     CBOX        RETURN
01094  M01S01015.iedit   +++|
01095  M01S01016.iedit   +++| CBOA     CON    0           FET ADDRESS OF BUFFER TO OUTPUT
01096  M01S01017.iedit   +++| CBR      SPACE  4,15
01097  M01S01018.iedit   +++|**        CBR - CALL *BASIC* RESEQUENCER.
01098  M01S01019.iedit   +++|*
01099  M01S01020.iedit   +++|*         EXIT   *BASIC* RESEQUENCING COMPLETED.
01100  M01S01021.iedit   +++|*
01101  M01S01022.iedit   +++|*         USES   X - 0, 1, 2, 3, 6, 7.
01102  M01S01023.iedit   +++|*                A - 1, 2, 3.
01103  M01S01024.iedit   +++|*
01104  M01S01025.iedit   +++|*         CALLS  OVL=, PBR.
01105  M01S01026.iedit   +++|
01106  M01S01027.iedit   +++|
01107  M01S01028.iedit   +++| CBR      SUBR               ENTRY/EXIT
01108  M01S01029.iedit   +++|          SA1    =0LIEDIT1
01109  M01S01030.iedit   +++|          SA2    ACTR        GET FILE NAME
01110  M01S01031.iedit   +++|          SA3    LWPR        GET FILE/SYSTEM LOAD FLAG
01111  M01S01032.iedit   +++|          SX6    B1+
01112  M01S01033.iedit   +++|          SX0    B1
01113  M01S01034.iedit   +++|          MX7    42
01114  M01S01035.iedit   +++|          LX3    59-18
01115  M01S01036.iedit   +++|          LX0    12-0
01116  M01S01037.iedit   +++|          NG     X3,CBR1     IF LOADED FROM SYSTEM
01117  M01S01038.iedit   +++|          BX1    X2*X7
01118  M01S01039.iedit   +++|          SX6    B0
01119  M01S01040.iedit   +++| CBR1     BX6    X0+X6
01120  M01S01041.iedit   +++|          SX2    B0
01121  M01S01042.iedit   +++|          RJ     OVL=        LOAD THE *BASIC* OVERLAY
01122  M01S01043.iedit   +++|          RJ     /IEDIT1/PBR
01123  M01S01044.iedit   +++|          EQ     CBRX        RETURN
01124  M01S01045.iedit   +++| CLN      SPACE  4,20
01125  M01S01046.iedit   +++|**        CLN - CHECK IF LINE NUMBER IS IN LINE RANGE TABLE.
01126  M01S01047.iedit   +++|*
01127  M01S01048.iedit   +++|*         ENTRY  ((A5)) = (X5) = PACKED LINE NUMBER TO BE EVALUATED.
01128  M01S01049.iedit   +++|*
01129  M01S01050.iedit   +++|*         EXIT   (X4) = 0, IF LINE NUMBER NOT IN *LRT*
01130  M01S01051.iedit   +++|*                       .NE. 0, IF LINE NUMBER IS IN *LRT*.
01131  M01S01052.iedit   +++|*                (X3) = 0, IF LINE NOT FOLLOWED BY AT LEAST TWO
01132  M01S01053.iedit   +++|*                       BLANKS OR A NON-BLANK CHARACTER.
01133  M01S01054.iedit   +++|*                (X6) = LINE NUMBER OF LINE IN BINARY FORM.
01134  M01S01055.iedit   +++|*                (X7) = NUMBER OF DIGITS IN LINE NUMBER.
01135  M01S01056.iedit   +++|*
01136  M01S01057.iedit   +++|*         USES   X - 1, 4, 5.
01137  M01S01058.iedit   +++|*                A - 5.
01138  M01S01059.iedit   +++|*                B - 3, 4, 5.
01139  M01S01060.iedit   +++|*
01140  M01S01061.iedit   +++|*         CALLS  VPL.
01141  M01S01062.iedit   +++|*
01142  M01S01063.iedit   +++|*         NOTES  IF *LRT* (LINE RANGE TABLE) IS EMPTY, ALL LINES
01143  M01S01064.iedit   +++|*                ARE ASSUMED TO HAVE BEEN SELECTED.
01144  M01S01065.iedit   +++|
01145  M01S01066.iedit   +++|
01146  M01S01067.iedit   +++| CLN      SUBR               ENTRY/EXIT
01147  M01S01068.iedit   +++|          RJ     VPL         GET LINE NUMBER
01148  M01S01069.iedit   +++|          SX5    ERRNLN      *NO LINE NUMBER ON LINE.*
01149  M01S01070.iedit   +++|          ZR     X7,ERR      IF NO LINE NUMBER ON LINE
01150  M01S01071.iedit   +++|          SA5    NELR
01151  M01S01072.iedit   +++|          MX4    1
01152  M01S01073.iedit   +++|          SB5    X6
01153  M01S01074.iedit   +++|          ZR     X5,CLNX     IF NO LINE NUMBERS IN *LRT*
01154  M01S01075.iedit   +++|          SA5    LRT-1       INITIALIZE POINTER TO BEFORE *LRT*
01155  M01S01076.iedit   +++| CLN1     SA5    A5+B1       CHECK *LRT* ENTRY
01156  M01S01077.iedit   +++|          SB4    X5          CHECK LOW ORDER VALUE
01157  M01S01078.iedit   +++|          LT     B5,B4,CLN2  IF LINE NUMBER NOT IN TABLE
01158  M01S01079.iedit   +++|          SB3    -18         SET HIGH ORDER VALUE
01159  M01S01080.iedit   +++|          LX1    X5,B3
01160  M01S01081.iedit   +++|          SB3    X1
01161  M01S01082.iedit   +++|          LE     B5,B3,CLNX  IF LINE NUMBER IN *LRT*
01162  M01S01083.iedit   +++|          PL     X5,CLN1     IF NOT AT END OF *LRT*
01163  M01S01084.iedit   +++| CLN2     SX4    B0+         NUMBER NOT IN *LRT*
01164  M01S01085.iedit   +++|          EQ     CLNX        RETURN
01165  M01S01086.iedit   +++| CNL      SPACE  4,15
01166  M01S01087.iedit   +++|**        CNL - CONVERT AND NORMALIZE LINE NUMBER.
01167  M01S01088.iedit   +++|*
01168  M01S01089.iedit   +++|*         ENTRY  (X1) = LINE NUMBER, RIGHT JUSTIFIED, IN BINARY.
01169  M01S01090.iedit   +++|*
01170  M01S01091.iedit   +++|*         EXIT   (X6) = LINE NUMBER IN DISPLAY CODE.
01171  M01S01092.iedit   +++|*
01172  M01S01093.iedit   +++|*         USES   X - 1, 4, 6.
01173  M01S01094.iedit   +++|*
01174  M01S01095.iedit   +++|*         CALLS  CDD.
01175  M01S01096.iedit   +++|
01176  M01S01097.iedit   +++|
01177  M01S01098.iedit   +++| CNL      SUBR               ENTRY/EXIT
01178  M01S01099.iedit   +++|          SX4    100000
01179  M01S01100.iedit   +++|          IX1    X1+X4       ENSURE LEADING ZEROES
01180  M01S01101.iedit   +++|          RJ     CDD         CONVERT TO DECIMAL DISPLAY CODE
01181  M01S01102.iedit   +++|          MX6    NBIC*NUMD
01182  M01S01103.iedit   +++|          LX4    NBIC        TRUNCATE LEADING *1* DIGIT
01183  M01S01104.iedit   +++|          BX6    X4*X6
01184  M01S01105.iedit   +++|          EQ     CNLX        RETURN
01185  M01S01106.iedit   +++| ERT      SPACE  4,20
01186  M01S01107.iedit   +++|**        ERT - ECHO RECORD TO TERMINAL.
01187  M01S01108.iedit   +++|*
01188  M01S01109.iedit   +++|*         ENTRY  (X2) = FET ADDRESS OF BUFFER CONTAINING RECORD.
01189  M01S01110.iedit   +++|*                (X3) = 0, IF RECORD IS BUFFER RESIDENT.
01190  M01S01111.iedit   +++|*                       1, IF RECORD IS DISK RESIDENT.
01191  M01S01112.iedit   +++|*                (LSTFIL) = 0, IF LIST OPTION IS OFF.
01192  M01S01113.iedit   +++|*                           1, IF LIST OPTION IS ON.
01193  M01S01114.iedit   +++|*
01194  M01S01115.iedit   +++|*         USES   X - 1, 3, 5, 6.
01195  M01S01116.iedit   +++|*                A - 1, 3, 6.
01196  M01S01117.iedit   +++|*
01197  M01S01118.iedit   +++|*         CALLS  CBO, SBE.
01198  M01S01119.iedit   +++|*
01199  M01S01120.iedit   +++|*         MACROS READEI, REWIND.
01200  M01S01121.iedit   +++|
01201  M01S01122.iedit   +++|
01202  M01S01123.iedit   +++| ERT      SUBR               ENTRY/EXIT
01203  M01S01124.iedit   +++|          SA1    LSTFIL
01204  M01S01125.iedit   +++|          ZR     X1,ERTX     IF LIST OPTION IS OFF
01205  M01S01126.iedit   +++|          ZR     X3,ERT2     IF RECORD IS BUFFER RESIDENT
01206  M01S01127.iedit   +++|          MX3    42
01207  M01S01128.iedit   +++|          SA1    X2
01208  M01S01129.iedit   +++|          BX6    X1*X3
01209  M01S01130.iedit   +++|          SA6    ERTA        SAVE ORIGINAL FILE NAME
01210  M01S01131.iedit   +++|          REWIND X2
01211  M01S01132.iedit   +++| ERT1     READEI X2,R
01212  M01S01133.iedit   +++|          SA1    LSTFIL
01213  M01S01134.iedit   +++|          ZR     X1,ERTX     IF LINES NOT TO BE ECHOED
01214  M01S01135.iedit   +++|          SA1    X2
01215  M01S01136.iedit   +++|          LX1    59-9
01216  M01S01137.iedit   +++|          NG     X1,ERT2     IF LAST BUFFER OF DATA
01217  M01S01138.iedit   +++|          SA3    X2+3        COPY BUFFER TO OUTPUT
01218  M01S01139.iedit   +++|          RJ     CBO
01219  M01S01140.iedit   +++|          SX5    B0+
01220  M01S01141.iedit   +++|          RJ     SBE
01221  M01S01142.iedit   +++|          EQ     ERT1        READ IN NEXT SEGMENT
01222  M01S01143.iedit   +++|
01223  M01S01144.iedit   +++| ERT2     SA3    X2+3        COPY BUFFER TO OUTPUT
01224  M01S01145.iedit   +++|          RJ     CBO
01225  M01S01146.iedit   +++|          EQ     ERTX        RETURN
01226  M01S01147.iedit   +++|
01227  M01S01148.iedit   +++| ERTA     CON    0           ORIGINAL FILE NAME
01228  M01S01149.iedit   +++| ERR      SPACE  4,10
01229  M01S01150.iedit   +++|**        ERR - ERROR PROCESSOR.
01230  M01S01151.iedit   +++|*
01231  M01S01152.iedit   +++|*         ENTRY  (X5) = FWA OF ERROR MESSAGE.
01232  M01S01153.iedit   +++|*
01233  M01S01154.iedit   +++|*         EXIT   ABORTS AFTER ISSUING APPROPRIATE MESSAGE.
01234  M01S01155.iedit   +++|*
01235  M01S01156.iedit   +++|*         USES   X - 1.
01236  M01S01157.iedit   +++|*                A - 1.
01237  M01S01158.iedit   +++|*
01238  M01S01159.iedit   +++|*         CALLS  RSF.
01239  M01S01160.iedit   +++|*
01240  M01S01161.iedit   +++|*         MACROS ABORT, SYSTEM, WRITEC.
01241  M01S01162.iedit   +++|
01242  M01S01163.iedit   +++|
01243  M01S01164.iedit   +++| ERR      BSS    0           ENTRY
01244  M01S01165.iedit   +++|          ZR     X5,ERR1     IF NO MESSAGE TO ISSUE
01245  M01S01166.iedit   +++|          WRITEC O,X5
01246  M01S01167.iedit   +++| ERR1     SA1    APPFLG
01247  M01S01168.iedit   +++|          ZR     X1,ERR2     IF SORT STATUS DID NOT CHANGE
01248  M01S01169.iedit   +++|          SYSTEM TLX,R,X1,1000B
01249  M01S01170.iedit   +++| ERR2     RJ     RAF         RECALL ALL FETS
01250  M01S01171.iedit   +++|          SX7    B1+
01251  M01S01172.iedit   +++|          RJ     RSF         RETURN SCRATCH FILES
01252  M01S01173.iedit   +++|          ABORT
01253  M01S01174.iedit   +++|
01254  M01S01175.iedit   +++|
01255  M01S01176.iedit   +++|**        FATAL ERRORS - ERRORS WHICH WHEN ENCOUNTERED CAUSE *IEDIT*
01256  M01S01177.iedit   +++|*         TO ABORT WITHOUT EXECUTING THE COMMAND.
01257  M01S01178.iedit   +++|
01258  M01S01179.iedit   +++|
01259  M01S01180.iedit   +++| ERRBSE   DATA   C*BUFFER SPACE ERROR (TOV).*
01260  M01S01181.iedit   +++| ERRCNP   DATA   C*COMMAND NOT PROCESSED DUE TO OVERLAP.*
Line S01182 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01261  M02S01182.v23l617 ---| ERRCSE   DATA   C*CONTROL STATEMENT ARGUMENT ERROR.*
01262  M01S00004.v23l617 +++| ERRCSE   DATA   C*COMMAND ARGUMENT ERROR.*
01263  M01S01183.iedit   +++| ERRDFN   DATA   C*DUPLICATE FILE NAME.*
01264  M01S01184.iedit   +++| ERREEF   DATA   C*EMPTY FILE (SSF).*
01265  M01S01185.iedit   +++| ERREIE   DATA   C*LINE NUMBER OVERLAP ERROR.*
01266  M01S01186.iedit   +++| ERREIF   DATA   C*FILE NAME ERROR.*
01267  M01S01187.iedit   +++| ERREII   DATA   C*LINE NUMBER INCREMENT ERROR.*
Line S01188 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01268  M02S01188.v23l617 ---| ERREIS   DATA   C*INVALID SYNTAX.*
01269  M01S00005.v23l617 +++| ERREIS   DATA   C*INCORRECT SYNTAX.*
01270  M01S01189.iedit   +++| ERRELR   DATA   C*LINE RANGE ERROR.*
01271  M01S01190.iedit   +++| ERRNES   DATA   C*TOO SMALL BUFFER SPACE.*
01272  M01S01191.iedit   +++| ERRNIV   DATA   C*NON-EXISTENT EDIT VERB SPECIFIED.*
01273  M01S01192.iedit   +++| ERRNLF   DATA   C*NO LINES FOUND.*
01274  M01S01193.iedit   +++| ERRNLN   DATA   C*NO LINE NUMBER ON LINE.*
01275  M01S01194.iedit   +++| ERRNRF   DATA   C*READ FILE EMPTY.*
01276  M01S01195.iedit   +++| ERRNRS   DATA   C*NO READ/DESTINATION FILE SPECIFIED.*
01277  M01S01196.iedit   +++| ERRNTL   DATA   C*LINE NUMBER LIMIT EXCEEDED.*
01278  M01S01197.iedit   +++| ERRRFN   DATA   C*RESERVED FILE NAME.*
01279  M01S01198.iedit   +++|
01280  M01S01199.iedit   +++|
01281  M01S01200.iedit   +++|**        INFORMATIVE MESSAGES - ISSUED TO NOTIFY THE USER OF AN
01282  M01S01201.iedit   +++|*         UNUSUAL CONDITION.  THE *IEDIT* COMMAND IS PROCESSED TO
01283  M01S01202.iedit   +++|*         COMPLETION.
01284  M01S01203.iedit   +++|
01285  M01S01204.iedit   +++|
01286  M01S01205.iedit   +++| ERRLTF   DATA   C*ZZZZZ LINES TRUNCATED ON FILE QQQQQQQ.*
01287  M01S01206.iedit   +++| ERRNDF   DATA   C*NO CLOSING DELIMITER FOUND.*
01288  M01S01207.iedit   +++| MLB      SPACE  4,20
01289  M01S01208.iedit   +++|**        MLB - MANAGE LINE BUFFER.
01290  M01S01209.iedit   +++|*
01291  M01S01210.iedit   +++|*         ENTRY  (X2) = ADDRESS OF LINE TO ADD TO INPUT BUFFER.
01292  M01S01211.iedit   +++|*                       .LT. 0, IF LINE IS IN CHARACTER BUFFER.
01293  M01S01212.iedit   +++|*                (B3) = ADDRESS OF FET TO ADD LINE TO.
01294  M01S01213.iedit   +++|*                (NCOL) = NUMBER OF CHARACTERS TO BE WRITTEN.
01295  M01S01214.iedit   +++|*
01296  M01S01215.iedit   +++|*         EXIT   LINE ADDED TO LINE BUFFER.
01297  M01S01216.iedit   +++|*
01298  M01S01217.iedit   +++|*         USES   X - 1, 2, 3, 6, 7.
01299  M01S01218.iedit   +++|*                A - 1, 2, 3, 6, 7.
01300  M01S01219.iedit   +++|*                B - 2, 4.
01301  M01S01220.iedit   +++|*
01302  M01S01221.iedit   +++|*         CALLS  ABS, PLB, SFI.
01303  M01S01222.iedit   +++|*
01304  M01S01223.iedit   +++|*         MACROS WRITER.
01305  M01S01224.iedit   +++|
01306  M01S01225.iedit   +++|
01307  M01S01226.iedit   +++| MLB      SUBR               ENTRY/EXIT
01308  M01S01227.iedit   +++|          SX6    B3          SAVE FET ADDRESS
01309  M01S01228.iedit   +++|          BX7    X2
01310  M01S01229.iedit   +++|          SA6    MLBB
01311  M01S01230.iedit   +++|          SA7    MLBA
01312  M01S01231.iedit   +++|          SX3    MXWL+1      MAXIMUM WORDS IN A LINE
01313  M01S01232.iedit   +++|          MX6    -18
01314  M01S01233.iedit   +++|          SA1    B3+2        GET *IN* POINTER
01315  M01S01234.iedit   +++|          BX1    -X6*X1
01316  M01S01235.iedit   +++|          IX1    X1+X3
01317  M01S01236.iedit   +++|          SA2    B3+4        GET *LIMIT*
01318  M01S01237.iedit   +++|          BX2    -X6*X2
01319  M01S01238.iedit   +++|          SX2    X2-1
01320  M01S01239.iedit   +++|          IX2    X1-X2
01321  M01S01240.iedit   +++|          SB2    X2
01322  M01S01241.iedit   +++|          LT     B2,MLB2     IF ENOUGH ROOM LEFT IN BUFFER
01323  M01S01242.iedit   +++|          SB2    L
01324  M01S01243.iedit   +++|          NE     B2,B3,MLB1  IF NOT *LNBUF*
01325  M01S01244.iedit   +++|          SA1    LBFILE
01326  M01S01245.iedit   +++|          NZ     X1,MLB1     IF BUFFER PREVIOUSLY WRITTEN OUT
01327  M01S01246.iedit   +++|          SA1    LNBUF
01328  M01S01247.iedit   +++|          SX2    LBINC
01329  M01S01248.iedit   +++|          RJ     ABS         ALLOCATE MORE LINEBUF SPACE
01330  M01S01249.iedit   +++|          NZ     X6,MLB1     IF NOT ENOUGH DYNAMIC STORAGE LEFT
01331  M01S01250.iedit   +++|          RJ     SFI         UPDATE FET POINTERS FOR ALLOCATED BUFFERS
01332  M01S01251.iedit   +++|          EQ     MLB2        BUFFER HAS SPACE ENOUGH FOR THE LINE
01333  M01S01252.iedit   +++|
01334  M01S01253.iedit   +++| MLB1     SX7    B1          SET LINE BUFFER FULL FLAG
01335  M01S01254.iedit   +++|          SA7    LBFILE
01336  M01S01255.iedit   +++|          WRITER B3,R        WRITE LINE BUFFER TO FILE
01337  M01S01256.iedit   +++|          SA1    B3+B1       SET LINE BUFFER TO EMPTY
01338  M01S01257.iedit   +++|          SX6    X1
01339  M01S01258.iedit   +++|          SA6    A1+B1
01340  M01S01259.iedit   +++|          SA6    A6+B1
01341  M01S01260.iedit   +++| MLB2     SA3    MLBA        RESTORE ADDRESS OF LINE TO INSERT
01342  M01S01261.iedit   +++|          SA2    MLBB        RESTORE FET ADDRESS
01343  M01S01262.iedit   +++|          SA1    X2+2        SET *IN* POINTER
01344  M01S01263.iedit   +++|          NG     X3,MLB4     IF LINE IS UNPACKED
01345  M01S01264.iedit   +++|          SA3    X3          GET FIRST WORD OF LINE TO BE MOVED
01346  M01S01265.iedit   +++|          SX7    X1
01347  M01S01266.iedit   +++|          MX1    -12
01348  M01S01267.iedit   +++| MLB3     BX6    X3
01349  M01S01268.iedit   +++|          SA6    X7+         MOVE WORD
01350  M01S01269.iedit   +++|          SX7    X7+B1
01351  M01S01270.iedit   +++|          SA3    A3+B1       GET NEXT WORD
01352  M01S01271.iedit   +++|          BX6    -X1*X6
01353  M01S01272.iedit   +++|          NZ     X6,MLB3     IF NOT END OF LINE
01354  M01S01273.iedit   +++|          SA7    X2+2        UPDATE THE *IN* POINTER
01355  M01S01274.iedit   +++|          EQ     MLBX        RETURN
01356  M01S01275.iedit   +++|
01357  M01S01276.iedit   +++| MLB4     SA3    NCOL        NUMBER OF CHARACTERS IN LINE
01358  M01S01277.iedit   +++|          SA1    MLBB
01359  M01S01278.iedit   +++|          SB2    60
01360  M01S01279.iedit   +++|          SB4    X3+
01361  M01S01280.iedit   +++|          SA1    X1+2        SET UP PARAMETERS FOR *PLB*
01362  M01S01281.iedit   +++|          SA2    CLIN
01363  M01S01282.iedit   +++|          SA1    X1
01364  M01S01283.iedit   +++|          RJ     PLB         PACK THE LINE INTO THE LINE BUFFER
01365  M01S01284.iedit   +++|          SX7    A1+1
01366  M01S01285.iedit   +++|          SA2    MLBB
01367  M01S01286.iedit   +++|          SA7    X2+2        UPDATE THE *IN* POINTER
01368  M01S01287.iedit   +++|          EQ     MLBX        RETURN
01369  M01S01288.iedit   +++|
01370  M01S01289.iedit   +++| MLBA     CON    0           ADDRESS OF LINE TO INSERT
01371  M01S01290.iedit   +++| MLBB     CON    0           FET ADDRESS
01372  M01S01291.iedit   +++| PIT      SPACE  4,25
01373  M01S01292.iedit   +++|**        PIT - PROCESS TERMINAL INTERRUPT.
01374  M01S01293.iedit   +++|*
01375  M01S01294.iedit   +++|*         ENTRY  OPERATING SYSTEM HAS DETECTED A USER BREAK 1 OR USER
01376  M01S01295.iedit   +++|*                BREAK 2.
01377  M01S01296.iedit   +++|*
01378  M01S01297.iedit   +++|*         EXIT   IF USER BREAK 1 OCCURRED, CHANGED RECORDS WILL NO
01379  M01S01298.iedit   +++|*                LONGER BE ECHOED TO THE OUTPUT FILE.
01380  M01S01299.iedit   +++|*
01381  M01S01300.iedit   +++|*                IF USER BREAK 2 OCCURRED, *IEDIT* PROCESSING WILL
01382  M01S01301.iedit   +++|*                TERMINATE AFTER RESTORING THE EDIT FILE TO ITS
01383  M01S01302.iedit   +++|*                ORIGINAL CONDITION IF NECESSARY.  THE COMPLETE
01384  M01S01303.iedit   +++|*                BIT IN THE INPUT FET MUST ALSO BE SET SINCE AN
01385  M01S01304.iedit   +++|*                INPUT REQUEST MAY HAVE BEEN LEFT PENDING AT
01386  M01S01305.iedit   +++|*                AT THE TIME OF THE INTERRUPT.
01387  M01S01306.iedit   +++|*
01388  M01S01307.iedit   +++|*         USES   X - 1, 2, 3, 5, 6, 7.
01389  M01S01308.iedit   +++|*                A - 1, 3, 5, 6, 7.
01390  M01S01309.iedit   +++|*
01391  M01S01310.iedit   +++|*         CALLS  SBE, SLN.
01392  M01S01311.iedit   +++|*
01393  M01S01312.iedit   +++|*         MACROS REPRIEVE, RPHR, WRITEF.
01394  M01S01313.iedit   +++|
01395  M01S01314.iedit   +++|
01396  M01S01315.iedit   +++| PIT      BSS    0           ENTRY
01397  M01S01316.iedit   +++|          SA1    INTFLG
01398  M01S01317.iedit   +++|          SX6    B1          SET *NOT INTERRRUPTIBLE*
01399  M01S01318.iedit   +++|          SA6    A1
01400  M01S01319.iedit   +++|          NZ     X1,PIT3     IF NOT INTERRUPTIBLE
01401  M01S01320.iedit   +++|          SA1    RPB+7       CHECK WHICH USER BREAK OCCURED
01402  M01S01321.iedit   +++|          MX2    -12
01403  M01S01322.iedit   +++|          BX2    -X2*X1
01404  M01S01323.iedit   +++|          SX2    X2-TIET
01405  M01S01324.iedit   +++|          SX6    B0+
01406  M01S01325.iedit   +++|          ZR     X2,PIT2     IF USER BREAK ONE
01407  M01S01326.iedit   +++|          SA1    APPFLG
01408  M01S01327.iedit   +++|          ZR     X1,PIT1     IF NOTHING APPENDED TO EDIT FILE
01409  M01S01328.iedit   +++|          SX2    E           SET FET ADDRESS
01410  M01S01329.iedit   +++|          SA5    EFN
01411  M01S01330.iedit   +++|          SA6    A1          CLEAR APPEND FLAG
01412  M01S01331.iedit   +++|          RJ     SLN         SET EDIT FILE NAME INTO FET
01413  M01S01332.iedit   +++|          BX5    X5-X5
01414  M01S01333.iedit   +++|          RJ     SBE         SET EDIT BUFFER TO EMPTY
01415  M01S01334.iedit   +++|          SA1    FLNGTH
01416  M01S01335.iedit   +++|          MX6    1           SET *RANDOM* BIT IN FET
01417  M01S01336.iedit   +++|          SA3    X2+B1       FET+1
01418  M01S01337.iedit   +++|          LX6    47-59
01419  M01S01338.iedit   +++|          BX7    X6+X3
01420  M01S01339.iedit   +++|          BX6    X1          LOAD LAST SECTOR OF ORIGINAL FILE
01421  M01S01340.iedit   +++|          SA7    A3
01422  M01S01341.iedit   +++|          SA6    X2+6
01423  M01S01342.iedit   +++|          RPHR   X2          SET FET FOR *WRITEF*
01424  M01S01343.iedit   +++|          BX5    X5-X5
01425  M01S01344.iedit   +++|          RJ     SBE         SET BUFFER EMPTY
01426  M01S01345.iedit   +++|          WRITEF X2,R        WRITE *EOF* AFTER LAST ORIGINAL SECTOR
01427  M01S01346.iedit   +++| PIT1     SA1    I           SET COMPLETE BIT IN INPUT FET
01428  M01S01347.iedit   +++|          SX7    B1
01429  M01S01348.iedit   +++|          BX7    X1+X7
01430  M01S01349.iedit   +++|          SA7    A1
01431  M01S01350.iedit   +++|          SX5    B0          SET NO MESSAGE TO ISSUE
01432  M01S01351.iedit   +++|          EQ     ERR         EXIT TO ERROR PROCESSOR
01433  M01S01352.iedit   +++|
01434  M01S01353.iedit   +++| PIT2     SA6    LOP         TURN OFF LIST OPTION
01435  M01S01354.iedit   +++|          SA6    LSTFIL
01436  M01S01355.iedit   +++| PIT3     REPRIEVE  RPB,RESUME,200B  RESUME PRIOR EXECUTION
01437  M01S01356.iedit   +++| PLB      SPACE  4,15
01438  M01S01357.iedit   +++|**        PLB - PACK LINE INTO A BUFFER.
01439  M01S01358.iedit   +++|*
01440  M01S01359.iedit   +++|*         ENTRY  ((A1)) = (X1) = WORD TO START PACKING IN.
01441  M01S01360.iedit   +++|*                (A2) = ADDRESS OF STRING BUFFER TO PACK.
01442  M01S01361.iedit   +++|*                (B2) = FIRST FREE BIT IN WORD.
01443  M01S01362.iedit   +++|*                (B4) = LENGTH OF STRING TO PACK.
01444  M01S01363.iedit   +++|*                (CSTI) = CHARACTER SET IN USE.
01445  M01S01364.iedit   +++|*
01446  M01S01365.iedit   +++|*         EXIT   ((A1)) = LAST WORD PACKED.
01447  M01S01366.iedit   +++|*
01448  M01S01367.iedit   +++|*         USES   X - 1, 2, 3, 4, 5, 7.
01449  M01S01368.iedit   +++|*                A - 1, 2, 3, 7.
01450  M01S01369.iedit   +++|*                B - 2, 3, 4, 5, 6, 7.
01451  M01S01370.iedit   +++|
01452  M01S01371.iedit   +++|
01453  M01S01372.iedit   +++| PLB5     LX7    B2          LEFT ADJUST FINAL PACKED WORD
01454  M01S01373.iedit   +++|          SA7    A1+B7       STORE PACKED WORD
01455  M01S01374.iedit   +++|          SA1    A7+
01456  M01S01375.iedit   +++|          SB5    12
01457  M01S01376.iedit   +++|          GE     B2,B5,PLBX  IF EOL GUARANTEED IN LAST WORD
01458  M01S01377.iedit   +++|          SA1    A1+B1
01459  M01S01378.iedit   +++|          SX7    B0+
01460  M01S01379.iedit   +++|          SA7    A1
01461  M01S01380.iedit   +++|
01462  M01S01381.iedit   +++| PLB      SUBR
01463  M01S01382.iedit   +++|          MX4    54
01464  M01S01383.iedit   +++|          SA3    CSTI
01465  M01S01384.iedit   +++|          SB6    X3
01466  M01S01385.iedit   +++|          SB5    12
01467  M01S01386.iedit   +++|          GT     B6,PLB1     IF *ASCII8* CHARACTER SET
01468  M01S01387.iedit   +++|          SB5    6
01469  M01S01388.iedit   +++|          SX3    X3+1
01470  M01S01389.iedit   +++| PLB1     NZ     B2,PLB2     IF ROOM LEFT IN CURRENT WORD
01471  M01S01390.iedit   +++|          SB2    60
01472  M01S01391.iedit   +++|          SA1    A1+1
01473  M01S01392.iedit   +++| PLB2     SB7    B0+
01474  M01S01393.iedit   +++|          SB3    60
01475  M01S01394.iedit   +++|          SB3    B3-B2
01476  M01S01395.iedit   +++|          LX7    X1,B3       ADJUST FIRST WORD FOR ADDING CHARACTERS
01477  M01S01396.iedit   +++|          SA2    A2-1
01478  M01S01397.iedit   +++|          NZ     B3,PLB3     IF FIRST WORD PARTIALLY FILLED
01479  M01S01398.iedit   +++|          SX7    B0+
01480  M01S01399.iedit   +++| PLB3     ZR     B4,PLB5     IF ALL CHARACTERS HAVE BEEN PACKED
01481  M01S01400.iedit   +++|          SA2    A2+B1       GET NEXT CHARACTER
01482  M01S01401.iedit   +++|          BX5    X4*X2
01483  M01S01402.iedit   +++|          NZ     X3,PLB4     IF NOT *ASCII* CHARACTER SET
01484  M01S01403.iedit   +++|          ZR     X5,PLB4     IF NOT A TWELVE BIT CHARACTER
01485  M01S01404.iedit   +++|          AX5    6
01486  M01S01405.iedit   +++|          LX7    X7,B5
01487  M01S01406.iedit   +++|          BX7    X7+X5       PACK ESCAPE PART OF CHARACTER
01488  M01S01407.iedit   +++|          SB2    B2-B5
01489  M01S01408.iedit   +++|          BX2    -X4*X2      GET LOW SIX BITS OF CHARACTER
01490  M01S01409.iedit   +++|          GT     B2,PLB4     IF ROOM LEFT FOR CHARACTER
01491  M01S01410.iedit   +++|          SA7    A1+B7
01492  M01S01411.iedit   +++|          SB7    B7+B1
01493  M01S01412.iedit   +++|          SX7    B0
01494  M01S01413.iedit   +++|          SB2    60
01495  M01S01414.iedit   +++| PLB4     LX7    X7,B5
01496  M01S01415.iedit   +++|          BX7    X7+X2       ADD NEW CHARACTER
01497  M01S01416.iedit   +++|          SB2    B2-B5
01498  M01S01417.iedit   +++|          SB4    B4-B1
01499  M01S01418.iedit   +++|          GT     B2,PLB3     IF ROOM LEFT FOR MORE CHARACTERS
01500  M01S01419.iedit   +++|          SA7    A1+B7       STORE PACKED WORD
01501  M01S01420.iedit   +++|          SB7    B7+B1
01502  M01S01421.iedit   +++|          SX7    B0+
01503  M01S01422.iedit   +++|          SB2    60
01504  M01S01423.iedit   +++|          EQ     PLB3        CONTINUE WITH NEXT CHARACTER
01505  M01S01424.iedit   +++| RAF      SPACE  4,10
01506  M01S01425.iedit   +++|**        RAF - RECALL ALL FETS.
01507  M01S01426.iedit   +++|*
01508  M01S01427.iedit   +++|*         EXIT   ALL FETS RECALLED.
01509  M01S01428.iedit   +++|*
01510  M01S01429.iedit   +++|*         MACROS RECALL.
01511  M01S01430.iedit   +++|
01512  M01S01431.iedit   +++|
01513  M01S01432.iedit   +++| RAF      SUBR               ENTRY/EXIT
01514  M01S01433.iedit   +++|          RECALL E           RECALL ALL FETS
01515  M01S01434.iedit   +++|          RECALL L
01516  M01S01435.iedit   +++|          RECALL LNT1
01517  M01S01436.iedit   +++|          RECALL LNT2
01518  M01S01437.iedit   +++|          RECALL SCR
01519  M01S01438.iedit   +++|          RECALL SCR1
01520  M01S01439.iedit   +++|          EQ     RAFX        RETURN
01521  M01S01440.iedit   +++| RSF      SPACE  4,10
01522  M01S01441.iedit   +++|**        RSF - REWIND/RETURN SCRATCH FILES.
01523  M01S01442.iedit   +++|*
01524  M01S01443.iedit   +++|*         ENTRY  (X7) = 0, REWIND ALL SCRATCH FILES.
01525  M01S01444.iedit   +++|*                     = 1, RETURN ALL SCRATCH FILES.
01526  M01S01445.iedit   +++|*
01527  M01S01446.iedit   +++|*         EXIT   SCRATCH FILES REWOUND/RETURNED.
01528  M01S01447.iedit   +++|*                *READ* FILE REWOUND IF PRESENT.
01529  M01S01448.iedit   +++|*
01530  M01S01449.iedit   +++|*         USES   X - 1, 2, 5, 7.
01531  M01S01450.iedit   +++|*                A - 1, 5, 7.
01532  M01S01451.iedit   +++|*
01533  M01S01452.iedit   +++|*         CALLS  SLN.
01534  M01S01453.iedit   +++|*
01535  M01S01454.iedit   +++|*         MACROS RETURN, REWIND.
01536  M01S01455.iedit   +++|
01537  M01S01456.iedit   +++|
01538  M01S01457.iedit   +++| RSF      SUBR               ENTRY/EXIT
01539  M01S01458.iedit   +++|          SA7    RSFC        SAVE REWIND/RETURN FLAG
01540  M01S01459.iedit   +++|          SX7    TSF
01541  M01S01460.iedit   +++|          SA7    RSFA        STORE ADDRESS OF FILE NAMES
01542  M01S01461.iedit   +++|          SA1    I
01543  M01S01462.iedit   +++|          BX7    X1
01544  M01S01463.iedit   +++|          SX2    A1
01545  M01S01464.iedit   +++|          SA7    RSFB        PRESERVE THE ORIGINAL FILE NAME
01546  M01S01465.iedit   +++| RSF1     SA5    RSFA
01547  M01S01466.iedit   +++|          SA5    X5          LOAD NEXT FILE NAME
01548  M01S01467.iedit   +++|          ZR     X5,RSF3     IF END OF TABLE
01549  M01S01468.iedit   +++|          SX7    A5+1
01550  M01S01469.iedit   +++|          SA7    RSFA
01551  M01S01470.iedit   +++|          RJ     SLN         SET SCRATCH FILE NAME INTO FET
01552  M01S01471.iedit   +++|          SA1    RSFC
01553  M01S01472.iedit   +++|          ZR     X1,RSF2     IF REWIND RATHER THAN RETURN
01554  M01S01473.iedit   +++|          RETURN X2
01555  M01S01474.iedit   +++|          EQ     RSF1        GET NEXT FILE NAME
01556  M01S01475.iedit   +++|
01557  M01S01476.iedit   +++| RSF2     REWIND X2,R
01558  M01S01477.iedit   +++|          EQ     RSF1        GET NEXT FILE NAME
01559  M01S01478.iedit   +++|
01560  M01S01479.iedit   +++| RSF3     SA1    FNUM
01561  M01S01480.iedit   +++|          SX1    X1-FNRE
01562  M01S01481.iedit   +++|          NZ     X1,RSF4     IF NO *READ* FILE EXISTS
01563  M01S01482.iedit   +++|          SA5    FILEN
01564  M01S01483.iedit   +++|          RJ     SLN         SET *READ* FILE NAME INTO FET
01565  M01S01484.iedit   +++|          REWIND X2
01566  M01S01485.iedit   +++| RSF4     SA5    RSFB        RESTORE ORIGINAL FET NAME
01567  M01S01486.iedit   +++|          RJ     SLN
01568  M01S01487.iedit   +++|          EQ     RSFX        RETURN
01569  M01S01488.iedit   +++|
01570  M01S01489.iedit   +++| RSFA     CON    0           ADDRESS OF FILE NAMES
01571  M01S01490.iedit   +++| RSFB     CON    0           ORIGINAL FET NAME
01572  M01S01491.iedit   +++| RSFC     CON    0           REWIND/RETURN FLAG
01573  M01S01492.iedit   +++| SBE      SPACE  4,10
01574  M01S01493.iedit   +++|**        SBE - SET BUFFER EMPTY.
01575  M01S01494.iedit   +++|*
01576  M01S01495.iedit   +++|*         ENTRY  (X2) = FET ADDRESS OF BUFFER.
01577  M01S01496.iedit   +++|*                (X5) .NE. 0, IF FILE IS TO BE REWOUND.
01578  M01S01497.iedit   +++|*
01579  M01S01498.iedit   +++|*         EXIT   BUFFER IS SET TO EMPTY.
01580  M01S01499.iedit   +++|*
01581  M01S01500.iedit   +++|*         USES   X - 0, 3, 6.
01582  M01S01501.iedit   +++|*                A - 3, 6.
01583  M01S01502.iedit   +++|*
01584  M01S01503.iedit   +++|*         MACROS RECALL, REWIND.
01585  M01S01504.iedit   +++|
01586  M01S01505.iedit   +++|
01587  M01S01506.iedit   +++| SBE      SUBR               ENTRY/EXIT
01588  M01S01507.iedit   +++|          ZR     X5,SBE1     IF NO REWIND SPECIFIED
01589  M01S01508.iedit   +++|          REWIND X2,R
01590  M01S01509.iedit   +++|          EQ     SBEX        RETURN
01591  M01S01510.iedit   +++|
01592  M01S01511.iedit   +++| SBE1     RECALL X2
01593  M01S01512.iedit   +++|          MX0    -18         SET FIRST=IN=OUT
01594  M01S01513.iedit   +++|          SA3    X2+B1
01595  M01S01514.iedit   +++|          BX6    -X0*X3
01596  M01S01515.iedit   +++|          SA6    A3+B1
01597  M01S01516.iedit   +++|          SA6    A6+B1
01598  M01S01517.iedit   +++|          EQ     SBEX        RETURN
01599  M01S01518.iedit   +++| SFI      SPACE  4,15
01600  M01S01519.iedit   +++|**        SFI - SET FET INFORMATION.
01601  M01S01520.iedit   +++|*
01602  M01S01521.iedit   +++|*         ENTRY  FWA OF EACH MANAGED TABLE.
01603  M01S01522.iedit   +++|*                LENGTH OF EACH MANGED TABLE.
01604  M01S01523.iedit   +++|*
01605  M01S01524.iedit   +++|*         EXIT   FETS WILL BE SET ACCORDING TO FWA AND LENGTH OF
01606  M01S01525.iedit   +++|*                BUFFERS AS DETERMINED BY MANAGED TABLE PROCESSORS.
01607  M01S01526.iedit   +++|*
01608  M01S01527.iedit   +++|*         USES   X - 1, 2, 4.
01609  M01S01528.iedit   +++|*                A - 2, 4.
01610  M01S01529.iedit   +++|*
01611  M01S01530.iedit   +++|*         CALLS  SFP.
01612  M01S01531.iedit   +++|
01613  M01S01532.iedit   +++|
01614  M01S01533.iedit   +++| SFI      SUBR               ENTRY/EXIT
01615  M01S01534.iedit   +++|          SA4    F.EFBUF
01616  M01S01535.iedit   +++|          SX1    E
01617  M01S01536.iedit   +++|          SA2    L.EFBUF
01618  M01S01537.iedit   +++|          RJ     SFP
01619  M01S01538.iedit   +++|          SA4    F.LNBUF
01620  M01S01539.iedit   +++|          SX1    L
01621  M01S01540.iedit   +++|          SA2    L.LNBUF
01622  M01S01541.iedit   +++|          RJ     SFP
01623  M01S01542.iedit   +++|          SA4    F.SCRBA
01624  M01S01543.iedit   +++|          SX1    LNT1
01625  M01S01544.iedit   +++|          SA2    L.SCRBA
01626  M01S01545.iedit   +++|          RJ     SFP
01627  M01S01546.iedit   +++|          SA4    F.SCRBB
01628  M01S01547.iedit   +++|          SX1    LNT2
01629  M01S01548.iedit   +++|          SA2    L.SCRBB
01630  M01S01549.iedit   +++|          RJ     SFP
01631  M01S01550.iedit   +++|          SA4    F.SCRBA
01632  M01S01551.iedit   +++|          SX1    SCR
01633  M01S01552.iedit   +++|          SA2    L.SCRBA
01634  M01S01553.iedit   +++|          RJ     SFP
01635  M01S01554.iedit   +++|          SA4    F.SCRBB
01636  M01S01555.iedit   +++|          SX1    SCR1
01637  M01S01556.iedit   +++|          SA2    L.SCRBB
01638  M01S01557.iedit   +++|          RJ     SFP
01639  M01S01558.iedit   +++|          EQ     SFIX        RETURN
01640  M01S01559.iedit   +++| SFP      SPACE  4,15
01641  M01S01560.iedit   +++|**        SFP - SET FET POINTERS.
01642  M01S01561.iedit   +++|*
01643  M01S01562.iedit   +++|*         ENTRY   (X1) = FWA OF FET TO BE SET.
01644  M01S01563.iedit   +++|*                 (X2) = BUFFER LENGTH TO BE USED IN THIS FET.
01645  M01S01564.iedit   +++|*                 (X4) = FIRST WORD ADDRESS OF BUFFER.
01646  M01S01565.iedit   +++|*
01647  M01S01566.iedit   +++|*         EXIT   FET POINTERS ARE RESET.  INITIALLY A FET IS SET
01648  M01S01567.iedit   +++|*                TO EMPTY (FIRST=IN=OUT).
01649  M01S01568.iedit   +++|*
01650  M01S01569.iedit   +++|*         USES    X - 0, 2, 3, 5, 6, 7.
01651  M01S01570.iedit   +++|*                 A - 3, 5, 6.
01652  M01S01571.iedit   +++|*                 B - 2.
01653  M01S01572.iedit   +++|
01654  M01S01573.iedit   +++|
01655  M01S01574.iedit   +++| SFP      SUBR               ENTRY/EXIT
01656  M01S01575.iedit   +++|          SA3    X1+B1       CHECK *FIRST* POINTER
01657  M01S01576.iedit   +++|          MX0    -18
01658  M01S01577.iedit   +++|          BX5    -X0*X3
01659  M01S01578.iedit   +++|          IX7    X4-X5       CALCULATE MOVEMENT OF TABLE
01660  M01S01579.iedit   +++|          BX3    X3*X0       SET *FIRST* POINTER
01661  M01S01580.iedit   +++|          BX6    X3+X4
01662  M01S01581.iedit   +++|          SA6    A3
01663  M01S01582.iedit   +++|          SA5    A3+B1       UPDATE *IN* POINTER
01664  M01S01583.iedit   +++|          BX5    -X0*X5
01665  M01S01584.iedit   +++|          ZR     X5,SFP1     IF *IN* POINTER HAS NOT BEEN SET
01666  M01S01585.iedit   +++|
01667  M01S01586.iedit   +++|*         RESET FET POINTERS
01668  M01S01587.iedit   +++|
01669  M01S01588.iedit   +++|          SB2    X7          MOVEMENT OF TABLE
01670  M01S01589.iedit   +++|          SX6    X5+B2       NEW *IN* POINTER
01671  M01S01590.iedit   +++|          SA6    A3+B1
01672  M01S01591.iedit   +++|          SA3    X1+3        RETRIEVE *OUT* POINTER
01673  M01S01592.iedit   +++|          BX6    -X0*X3
01674  M01S01593.iedit   +++|          SX6    X6+B2       SET NEW *OUT* POINTER
01675  M01S01594.iedit   +++|          SA6    A6+1
01676  M01S01595.iedit   +++|          EQ     SFP2        SET *LIMIT* POINTER
01677  M01S01596.iedit   +++|
01678  M01S01597.iedit   +++| SFP1     BX6    -X0*X6      SET *IN* POINTER IN FET TO *FIRST*
01679  M01S01598.iedit   +++|          SA6    A6+B1
01680  M01S01599.iedit   +++|          SA6    A6+1        SET *OUT* POINTER IN FET TO *FIRST*
01681  M01S01600.iedit   +++| SFP2     SA3    A6+B1       SET *LIMIT* POINTER IN FET
01682  M01S01601.iedit   +++|          BX3    X0*X3
01683  M01S01602.iedit   +++|          SX2    X2+B1
01684  M01S01603.iedit   +++|          IX2    X2+X4
01685  M01S01604.iedit   +++|          BX6    X2+X3
01686  M01S01605.iedit   +++|          SA6    A3
01687  M01S01606.iedit   +++|          EQ     SFPX        RETURN
01688  M01S01607.iedit   +++| SLN      SPACE  4,15
01689  M01S01608.iedit   +++|**        SLN - SET LOCAL FILE NAME.
01690  M01S01609.iedit   +++|*
01691  M01S01610.iedit   +++|*         ENTRY  (X2) = FET ADDRESS.
01692  M01S01611.iedit   +++|*                (X5) = FILE NAME TO PUT IN FET.
01693  M01S01612.iedit   +++|*
01694  M01S01613.iedit   +++|*         EXIT   FILE NAME HAS BEEN INSERTED IN THE SPECFIED FET.
01695  M01S01614.iedit   +++|*                (X2) = FET ADDRESS.
01696  M01S01615.iedit   +++|*                (X5) = FET+0 WITH ORIGINAL FILE NAME AFTER *RECALL*.
01697  M01S01616.iedit   +++|*
01698  M01S01617.iedit   +++|*         USES   X - 3, 5, 7.
01699  M01S01618.iedit   +++|*                A - 5, 7.
01700  M01S01619.iedit   +++|*
01701  M01S01620.iedit   +++|*         MACROS RECALL.
01702  M01S01621.iedit   +++|
01703  M01S01622.iedit   +++|
01704  M01S01623.iedit   +++| SLN      SUBR               ENTRY/EXIT
01705  M01S01624.iedit   +++|          RECALL X2
01706  M01S01625.iedit   +++|          SX3    B1
01707  M01S01626.iedit   +++|          BX7    X3+X5
01708  M01S01627.iedit   +++|          SA5    X2
01709  M01S01628.iedit   +++|          SA7    X2
01710  M01S01629.iedit   +++|          EQ     SLNX        RETURN
01711  M01S01630.iedit   +++| SSF      SPACE  4,15
01712  M01S01631.iedit   +++|**        SSF - SORT SELECTED FILE.
01713  M01S01632.iedit   +++|*
01714  M01S01633.iedit   +++|*         ENTRY  (B2) = FET ADDRESS OF FILE TO BE SORTED.
01715  M01S01634.iedit   +++|*
01716  M01S01635.iedit   +++|*         EXIT   (X2) = FET ADDRESS OF SORTED FILE.
01717  M01S01636.iedit   +++|*                (X6) = NUMBER OF LINES IN SORTED FILE.
01718  M01S01637.iedit   +++|*
01719  M01S01638.iedit   +++|*         USES   X - 1, 2, 4, 5, 6, 7.
01720  M01S01639.iedit   +++|*                A - 1, 2, 5, 6.
01721  M01S01640.iedit   +++|*
01722  M01S01641.iedit   +++|*         CALLS  SLN, SNF.
01723  M01S01642.iedit   +++|*
01724  M01S01643.iedit   +++|*         MACROS FILINFO.
01725  M01S01644.iedit   +++|
01726  M01S01645.iedit   +++|
01727  M01S01646.iedit   +++| SSF      SUBR               ENTRY/EXIT
01728  M01S01647.iedit   +++|          SX6    B2+         ADDRESS OF FET OF FILE TO SORT
01729  M01S01648.iedit   +++|          SA6    SSFA
01730  M01S01649.iedit   +++|          SA5    TSF+4       RESET SCRATCH FILE NAME
01731  M01S01650.iedit   +++|          SX2    SCR
01732  M01S01651.iedit   +++|          RJ     SLN
01733  M01S01652.iedit   +++|          SA5    TSF+5       RESET SCRATCH FILE NAME
01734  M01S01653.iedit   +++|          SX2    SCR1
01735  M01S01654.iedit   +++|          RJ     SLN
01736  M01S01655.iedit   +++|          SX1    B1+         INDIRECT ACCESS FILES BEING WORKED WITH
01737  M01S01656.iedit   +++|          SX6    NUMD        NUMBER OF DIGITS TO SORT ON
01738  M01S01657.iedit   +++|          SA5    CSTI        CHARACTER TYPE FOR *COMCSNF*
01739  M01S01658.iedit   +++|          SX4    X5-1
01740  M01S01659.iedit   +++|          ZR     X4,SSF1     IF CHARACTER SET IS ASCII8
01741  M01S01660.iedit   +++|          SX5    B0+
01742  M01S01661.iedit   +++| SSF1     BX7    X5
01743  M01S01662.iedit   +++|          SA2    SSFA        EDIT FILE FET ADDRESS FOR *COMCSNF*
01744  M01S01663.iedit   +++|          RJ     SNF         SORT LINE NUMBERED FILE
01745  M01S01664.iedit   +++|          ZR     X1,SSF2     IF SORT SUCCESSFUL
Line S01665 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
01746  M02S01665.iedit2  ---|          SX5    ERRNLN
01747  M01S00075.iedit2  +++|          SX5    ERRNLN      *NO LINE NUMBER ON LINE.*
01748  M01S01666.iedit   +++|          ZR     B2,ERR      IF NO LINE NUMBER
Line S01667 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
01749  M02S01667.iedit2  ---|          SX5    ERREEF
01750  M01S00076.iedit2  +++|          SX5    ERREEF      *EMPTY FILE (SSF).*
01751  M01S01668.iedit   +++|          NG     B2,ERR      IF SORT FILE EMPTY
Line S01669 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
01752  M02S01669.iedit2  ---|          SX5    ERRNES
01753  M01S00077.iedit2  +++|          SX5    ERRNES      *TOO SMALL BUFFER SPACE.*
01754  M01S01670.iedit   +++|          EQ     ERR         NOT ENOUGH BUFFER SPACE AVAILABLE
01755  M01S01671.iedit   +++|
01756  M01S01672.iedit   +++| SSF2     SA1    EFN         GET EDIT FILE NAME
01757  M01S01673.iedit   +++|          SA5    SSFA        GET SORT FILE NAME
01758  M01S01674.iedit   +++|          SA5    X5
01759  M01S01675.iedit   +++|          MX4    42
01760  M01S01676.iedit   +++|          BX5    X5*X4
01761  M01S01677.iedit   +++|          BX1    X5-X1
01762  M01S01678.iedit   +++|          NZ     X1,SSFX     IF NOT SORTING EDIT FILE
01763  M01S01679.iedit   +++|          SA6    SSFB        SAVE NUMBER OF LINES
01764  M01S01680.iedit   +++|          SA1    EFN
01765  M01S01681.iedit   +++|          SA2    FIPB
01766  M01S01682.iedit   +++|          BX1    X1*X4
01767  M01S01683.iedit   +++|          BX2    -X4*X2
01768  M01S01684.iedit   +++|          BX6    X1+X2
01769  M01S01685.iedit   +++|          SA6    A2
01770  M01S01686.iedit   +++|          FILINFO  FIPB      GET NEW LENGTH OF EDIT FILE
01771  M01S01687.iedit   +++|          SA2    FIPB+3
01772  M01S01688.iedit   +++|          MX4    24
01773  M01S01689.iedit   +++|          BX6    X2*X4
01774  M01S01690.iedit   +++|          LX6    24
01775  M01S01691.iedit   +++|          SA2    SSFA
01776  M01S01692.iedit   +++|          SA6    FLNGTH
01777  M01S01693.iedit   +++|          SA1    SSFB
01778  M01S01694.iedit   +++|          BX6    X1
01779  M01S01695.iedit   +++|          EQ     SSFX        RETURN
01780  M01S01696.iedit   +++|
01781  M01S01697.iedit   +++| SSFA     CON    0           FET ADDRESS OF FILE TO SORT
01782  M01S01698.iedit   +++| SSFB     CON    0           NUMBER OF LINES IN FILE
01783  M01S01699.iedit   +++| TOV      SPACE  4,20
01784  M01S01700.iedit   +++|**        TOV -  TABLE OVERFLOW.
01785  M01S01701.iedit   +++|*
01786  M01S01702.iedit   +++|*         THIS ROUTINE IS REQUIRED BY THE MANAGED TABLE PROCESSORS
01787  M01S01703.iedit   +++|*         AND IS USED WHEN TABLES BECOME LARGER THAN THE
01788  M01S01704.iedit   +++|*         CURRENT FIELD LENGTH.  BECAUSE OF CODE IN *ABS* WHICH
01789  M01S01705.iedit   +++|*         INCREASES THE FIELD LENGTH WHEN NECESSARY, THIS ROUTINE
01790  M01S01706.iedit   +++|*         SHOULD NEVER BE CALLED.
01791  M01S01707.iedit   +++|*
01792  M01S01708.iedit   +++|*         ENTRY  THE CURRENT FIELD LENGTH IS NOT LARGE ENOUGH
01793  M01S01709.iedit   +++|*                TO HANDLE THE INCREASE OF A TABLE THAT WAS REQUESTED.
01794  M01S01710.iedit   +++|*
01795  M01S01711.iedit   +++|*         EXIT   TO *ERR*.
01796  M01S01712.iedit   +++|*
01797  M01S01713.iedit   +++|*         USES   X - 5.
01798  M01S01714.iedit   +++|
01799  M01S01715.iedit   +++|
01800  M01S01716.iedit   +++| TOV      BSS    0           ENTRY
Line S01717 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
01801  M02S01717.iedit2  ---|          SX5    ERRBSE
01802  M01S00078.iedit2  +++|          SX5    ERRBSE      *BUFFER SPACE ERROR (TOV).*
01803  M01S01718.iedit   +++|          EQ     ERR         ISSUE ERROR MESSAGE AND ABORT
01804  M01S01719.iedit   +++| VPL      SPACE  4,15
01805  M01S01720.iedit   +++|**        VPL - EVALUATE PACKED LINE NUMBER.
01806  M01S01721.iedit   +++|*
01807  M01S01722.iedit   +++|*         ENTRY  ((A5)) = (X5) = PACKED WORD TO BE EVALUATED.
01808  M01S01723.iedit   +++|*                (CSTI) = CHARACTER SET.
01809  M01S01724.iedit   +++|*
01810  M01S01725.iedit   +++|*         EXIT   (X6) = LINE NUMBER IN BINARY FORM.
01811  M01S01726.iedit   +++|*                (X7) = NUMBER OF DIGITS IN LINE NUMBER.
01812  M01S01727.iedit   +++|*                (X3) = 0, IF LINE NOT FOLLOWED BY AT LEAST TWO
01813  M01S01728.iedit   +++|*                       BLANKS OR ONE NON-BLANK CHARACTER.
01814  M01S01729.iedit   +++|*
01815  M01S01730.iedit   +++|*         USES   X - ALL.
01816  M01S01731.iedit   +++|*                A - 2, 5.
01817  M01S01732.iedit   +++|*                B - 3, 4, 5, 6, 7.
01818  M01S01733.iedit   +++|
01819  M01S01734.iedit   +++|
01820  M01S01735.iedit   +++| VPL      SUBR               ENTRY/EXIT
01821  M01S01736.iedit   +++|          SA2    CSTI        GET CHARACTER SET
01822  M01S01737.iedit   +++|          SX1    10D
01823  M01S01738.iedit   +++|          SB5    60
01824  M01S01739.iedit   +++|          SX0    NUMD
01825  M01S01740.iedit   +++|          SB6    60B         ZERO IN *ASCII8*
01826  M01S01741.iedit   +++|          SB7    71B         NINE IN *ASCII8*
01827  M01S01742.iedit   +++|          SX2    X2-1
01828  M01S01743.iedit   +++|          SB3    12
01829  M01S01744.iedit   +++|          SX6    B0          INITIALIZE LINE NUMBER TO ZERO
01830  M01S01745.iedit   +++|          MX3    -12
01831  M01S01746.iedit   +++|          PL     X2,VPL1     IF *ASCII8* CHARACTER SET
01832  M01S01747.iedit   +++|          SB6    1R0
01833  M01S01748.iedit   +++|          SB7    1R9
01834  M01S01749.iedit   +++|          SB3    6
01835  M01S01750.iedit   +++|          MX3    -6
01836  M01S01751.iedit   +++| VPL1     NZ     B5,VPL2     IF MORE CHARACTERS REMAIN IN WORD
01837  M01S01752.iedit   +++|          SB5    60
01838  M01S01753.iedit   +++|          SA5    A5+1
01839  M01S01754.iedit   +++| VPL2     LX5    X5,B3
01840  M01S01755.iedit   +++|          BX4    -X3*X5      GET NEXT CHARACTER
01841  M01S01756.iedit   +++|          BX5    X3*X5       ISOLATE CHARACTER
01842  M01S01757.iedit   +++|          SB5    B5-B3
01843  M01S01758.iedit   +++|          ZR     X4,VPL3     IF COLON OR EOL FOUND
01844  M01S01759.iedit   +++|          ZR     X0,VPL3     IF *NUMD* DIGITS FOUND
01845  M01S01760.iedit   +++|          SB4    X4+
01846  M01S01761.iedit   +++|          LT     B4,B6,VPL3  IF ALPHABETIC CHARACTER
01847  M01S01762.iedit   +++|          GT     B4,B7,VPL3  IF NOT DIGIT
01848  M01S01763.iedit   +++|          SB4    B4-B6       CONVERT DIGIT TO BINARY
01849  M01S01764.iedit   +++|          IX6    X6*X1
01850  M01S01765.iedit   +++|          SX0    X0-1
01851  M01S01766.iedit   +++|          SX6    X6+B4       ADD DIGIT TO RUNNING TOTAL
01852  M01S01767.iedit   +++|          EQ     VPL1        PROCESS NEXT CHARACTER
01853  M01S01768.iedit   +++|
01854  M01S01769.iedit   +++| VPL3     SX1    NUMD
01855  M01S01770.iedit   +++|          SA2    BLNK
01856  M01S01771.iedit   +++|          IX7    X1-X0
01857  M01S01772.iedit   +++|          ZR     X4,VPL5     IF COLON OF EOL FOUND
01858  M01S01773.iedit   +++|          IX4    X4-X2
01859  M01S01774.iedit   +++|          NZ     X4,VPLX     IF NOT BLANK CHARACTER
01860  M01S01775.iedit   +++|          NZ     B5,VPL4     IF MORE CHARACTERS LEFT IN WORD
01861  M01S01776.iedit   +++|          SB5    60
01862  M01S01777.iedit   +++|          SA5    A5+1
01863  M01S01778.iedit   +++| VPL4     LX5    X5,B3
01864  M01S01779.iedit   +++|          BX4    -X3*X5      GET NEXT CHARACTER
01865  M01S01780.iedit   +++|          BX5    X3*X5
01866  M01S01781.iedit   +++|          SB5    B5-B3
01867  M01S01782.iedit   +++|          NZ     X4,VPLX     IF AT LEAST TWO CHARACTERS AFTER NUMBER
01868  M01S01783.iedit   +++| VPL5     NZ     B5,VPL6     IF MORE CHARACTERS LEFT IN WORD
01869  M01S01784.iedit   +++|          SB5    60
01870  M01S01785.iedit   +++|          SA5    A5+1
01871  M01S01786.iedit   +++| VPL6     NZ     X5,VPLX     IF CHARACTERS FOLLOW LINE NUMBER
01872  M01S01787.iedit   +++|          SB6    12
01873  M01S01788.iedit   +++|          GE     B5,B6,VPL7  IF ZERO BYTE IN BOTTOM OF WORD
01874  M01S01789.iedit   +++|          SA5    A5+1
01875  M01S01790.iedit   +++|          NZ     X5,VPLX     IF NEXT WORD CONTAINS A CHARACTER
01876  M01S01791.iedit   +++| VPL7     SX3    B0          A LINE TO BE DELETED
01877  M01S01792.iedit   +++|          EQ     VPLX        RETURN
01878  M01S01793.iedit   +++| WTL      SPACE  4,15
01879  M01S01794.iedit   +++|**        WTL - WRITE TRUNCATED LINE.
01880  M01S01795.iedit   +++|*
01881  M01S01796.iedit   +++|*         ENTRY  (X1) = BINARY LINE NUMBER OF TRUNCATED LINE.
01882  M01S01797.iedit   +++|*
01883  M01S01798.iedit   +++|*         EXIT   LINE NUMBER OF TRUNCATED LINE WILL BE WRITTEN
01884  M01S01799.iedit   +++|*                TO A SCRATCH FILE.
01885  M01S01800.iedit   +++|*
01886  M01S01801.iedit   +++|*         USES   X - 1, 6.
01887  M01S01802.iedit   +++|*                A - 1, 6.
01888  M01S01803.iedit   +++|*
01889  M01S01804.iedit   +++|*         CALLS  CNL.
01890  M01S01805.iedit   +++|*
01891  M01S01806.iedit   +++|*         MACROS WRITEO.
01892  M01S01807.iedit   +++|
01893  M01S01808.iedit   +++|
01894  M01S01809.iedit   +++| WTL      SUBR               ENTRY/EXIT
01895  M01S01810.iedit   +++|          RJ     CNL         CONVERT LINE NUMBER TO DISPLAY
01896  M01S01811.iedit   +++|          SX1    2R          PAD BLANKS TO ALLOW SORTING
01897  M01S01812.iedit   +++|          LX1    18
01898  M01S01813.iedit   +++|          BX6    X1+X6
01899  M01S01814.iedit   +++|          WRITEO TRNCFET
01900  M01S01815.iedit   +++|          SA1    NTL
01901  M01S01816.iedit   +++|          SX6    X1+B1
01902  M01S01817.iedit   +++|          SA6    A1
01903  M01S01818.iedit   +++|          EQ     WTLX        RETURN
01904  M01S01819.iedit   +++| WTO      SPACE  4,25
01905  M01S01820.iedit   +++|**        WTO - WRITE DATA TO OUTPUT.
01906  M01S01821.iedit   +++|*
01907  M01S01822.iedit   +++|*         ENTRY  (B6) = FWA OF DATA TO WRITE OUT.
01908  M01S01823.iedit   +++|*                (B7) = LENGTH OF DATA IN WORDS.
01909  M01S01824.iedit   +++|*
01910  M01S01825.iedit   +++|*         EXIT   DATA WRITTEN TO *OUTPUT*.
01911  M01S01826.iedit   +++|*
01912  M01S01827.iedit   +++|*         USES   X - 1, 6.
01913  M01S01828.iedit   +++|*                A - 1, 6.
01914  M01S01829.iedit   +++|*                B - 7.
01915  M01S01830.iedit   +++|*
01916  M01S01831.iedit   +++|*         MACROS WRITEW.
01917  M01S01832.iedit   +++|*
01918  M01S01833.iedit   +++|*         NOTES  *WTO* IS EQUIVALENT TO *WRITEW O,B6,B7* EXCEPT
01919  M01S01834.iedit   +++|*                THAT THE WRITE WILL NOT BE PERFORMED IF THE
01920  M01S01835.iedit   +++|*                LIST FLAG HAS BEEN CLEARED (THIS MAY HAPPEN AT
01921  M01S01836.iedit   +++|*                ANY TIME DUE TO A *USER BREAK ONE*).  NOTE THAT
01922  M01S01837.iedit   +++|*                *B6* IS UPDATED BY *COMCWTW*.
01923  M01S01838.iedit   +++|
01924  M01S01839.iedit   +++| WTO      SUBR               ENTRY/EXIT
01925  M01S01840.iedit   +++| WTO1     SA1    LSTFIL
01926  M01S01841.iedit   +++|          ZR     X1,WTOX     IF LISTING DISABLED (USER BREAK 1)
01927  M01S01842.iedit   +++|          SX6    B7
01928  M01S01843.iedit   +++|          SA6    WTOA        SAVE NUMBER OF WORDS TO WRITE
01929  M01S01844.iedit   +++|          SX6    X6-100B
01930  M01S01845.iedit   +++|          NG     X6,WTO2     IF LESS THAN 100B WORDS LEFT TO WRITE
01931  M01S01846.iedit   +++|          WRITEW O,B6,100B
01932  M01S01847.iedit   +++|          SA1    WTOA        DECREMENT NUMBER OF WORDS TO WRITE
01933  M01S01848.iedit   +++|          SB7    X1-100B
01934  M01S01849.iedit   +++|          EQ     WTO1        PROCESS THE NEXT BLOCK OF DATA
01935  M01S01850.iedit   +++|
01936  M01S01851.iedit   +++| WTO2     WRITEW O,B6,B7
01937  M01S01852.iedit   +++|          EQ     WTOX        RETURN
01938  M01S01853.iedit   +++|
01939  M01S01854.iedit   +++| WTOA     CON    0           NUMBER OF WORDS TO WRITE
01940  M01S01855.iedit   +++|          TITLE  COMMON DECKS.
01941  M01S01856.iedit   +++|          SPACE  4,10
01942  M01S01857.iedit   +++|**        EXECUTABLE COMMON DECKS.
01943  M01S01858.iedit   +++|
01944  M01S01859.iedit   +++|*CALL     COMCCDD
01945  M01S01860.iedit   +++|*CALL     COMCCIO
01946  M01S01861.iedit   +++|*CALL     COMCCPM
01947  M01S01862.iedit   +++|*CALL     COMCDXB
01948  M01S01863.iedit   +++|*CALL     COMCLFM
01949  M01S01864.iedit   +++|*CALL     COMCMTP
01950  M01S01865.iedit   +++|*CALL     COMCMVE
01951  M01S01866.iedit   +++|*CALL     COMCOVL
01952  M01S01867.iedit   +++|*CALL     COMCRDC
01953  M01S01868.iedit   +++|*CALL     COMCRDO
01954  M01S01869.iedit   +++|*CALL     COMCRDW
01955  M01S01870.iedit   +++|          LIST   X
01956  M01S01871.iedit   +++|*CALL     COMCSNF
01957  M01S01872.iedit   +++|          LIST   -X
01958  M01S01873.iedit   +++|*CALL     COMCSNM
01959  M01S01874.iedit   +++|*CALL     COMCSST
01960  M01S01875.iedit   +++|*CALL     COMCSYS
01961  M01S01876.iedit   +++|*CALL     COMCUSB
01962  M01S01877.iedit   +++|*CALL     COMCWTC
01963  M01S01878.iedit   +++|*CALL     COMCWTW
01964  M01S01879.iedit   +++|*CALL     COMCWTO
01965  M01S01880.iedit   +++|          USE    LITERALS
01966  M01S01881.iedit   +++| OVLY     EQU    *
01967  M01S01882.iedit   +++|          TITLE  OVERLAYABLE FUNCTION PROCESSORS.
01968  M01S01883.iedit   +++| PSC      SPACE  4,15
01969  M01S01884.iedit   +++|**        PSC - PROCESS SEQUENTIAL COMMANDS.
01970  M01S01885.iedit   +++|*
01971  M01S01886.iedit   +++|*         *PSC* PROCESSES THE CLASS OF COMMANDS WHICH READ A CLEAN
01972  M01S01887.iedit   +++|*         SOURCE FILE AND POTENTIALLY WRITE A NEW CLEAN FILE.
01973  M01S01888.iedit   +++|*
01974  M01S01889.iedit   +++|*         EXIT   EDIT FILE REWRITTEN IF NECESSARY AND LINES ECHOED
01975  M01S01890.iedit   +++|*                TO THE TERMINAL.
01976  M01S01891.iedit   +++|*
01977  M01S01892.iedit   +++|*         USES   X - ALL.
01978  M01S01893.iedit   +++|*                A - 1, 2, 3, 4, 5, 6, 7.
01979  M01S01894.iedit   +++|*                B - 2, 3, 4, 5, 6, 7.
01980  M01S01895.iedit   +++|*
01981  M01S01896.iedit   +++|*         CALLS  ABL, CLN, CSL, FSL, PLB, PWN, SLN, USB, WTL.
01982  M01S01897.iedit   +++|*
01983  M01S01898.iedit   +++|*         MACROS READC, READEI, READO, RENAME, WRITEC, WRITER.
01984  M01S01899.iedit   +++|
01985  M01S01900.iedit   +++|
01986  M01S01901.iedit   +++| PSC      SUBR               ENTRY/EXIT
01987  M01S01902.iedit   +++|          SA1    FNUM
01988  M01S01903.iedit   +++|          SX1    X1-MXNW-1
01989  M01S01904.iedit   +++|          NG     X1,PSC1     IF NOT A *WRITE* OR *WRITEN* FUNCTION
01990  M01S01905.iedit   +++|          SA5    FILEN       SET *WRITE(N)* FILE NAME INTO FET
01991  M01S01906.iedit   +++|          SX2    SCR
01992  M01S01907.iedit   +++|          RJ     SLN
01993  M01S01908.iedit   +++|          EQ     PSC2        AVOID REWIND OF *WRITE(N)* FILE
01994  M01S01909.iedit   +++|
01995  M01S01910.iedit   +++| PSC1     REWIND SCR
01996  M01S01911.iedit   +++| PSC2     READEI E
01997  M01S01912.iedit   +++|          REWIND TRNCFET
01998  M01S01913.iedit   +++|
01999  M01S01914.iedit   +++|*         COUNT NUMBER OF TRAILING BLANKS IN SEARCH STRING AND
02000  M01S01915.iedit   +++|*         PUT COUNT IN *PSCB*.
02001  M01S01916.iedit   +++|
02002  M01S01917.iedit   +++|          SA5    NCIS
02003  M01S01918.iedit   +++|          SA4    BLNK
02004  M01S01919.iedit   +++|          SB6    X5+
02005  M01S01920.iedit   +++| PSC3     ZR     B6,PSC4     IF NO SEARCH STRING
02006  M01S01921.iedit   +++|          SA3    B6+SBUF-1
02007  M01S01922.iedit   +++|          BX3    X3-X4
02008  M01S01923.iedit   +++|          NZ     X3,PSC4     IF CHARACTER NOT A BLANK
02009  M01S01924.iedit   +++|          SB6    B6-B1
02010  M01S01925.iedit   +++|          EQ     PSC3        CHECK NEXT CHARACTER
02011  M01S01926.iedit   +++|
02012  M01S01927.iedit   +++| PSC4     SB6    -B6
02013  M01S01928.iedit   +++|          SX6    X5+B6
02014  M01S01929.iedit   +++|          SA6    PSCB
02015  M01S01930.iedit   +++|
02016  M01S01931.iedit   +++|*         THIS MARKS THE BEGINNING OF THE MAIN LOOP.
02017  M01S01932.iedit   +++|*         CLEAR ALL FLAGS AND READ A LINE INTO THE WORKING BUFFER.
02018  M01S01933.iedit   +++|
02019  M01S01934.iedit   +++| PSC5     SX7    B0+
02020  M01S01935.iedit   +++|          SA7    TRNC
02021  M01S01936.iedit   +++|          READC  E,PCKDBF,MXWL+1
02022  M01S01937.iedit   +++|          NZ     X1,PSC28    IF END OF EDIT FILE REACHED
02023  M01S01938.iedit   +++|          BX6    X4
02024  M01S01939.iedit   +++| PSC6     MX0    -12
02025  M01S01940.iedit   +++|          BX6    -X0*X6
02026  M01S01941.iedit   +++|          ZR     X6,PSC7     IF NO MORE WORDS IN LINE
02027  M01S01942.iedit   +++|          READO  X2
Proceed to Part 1