User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:iedit.001

Deck IEDIT Part 001

6 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
02028  M01S01943.iedit   +++|          EQ     PSC6        CHECK FOR END OF LINE
02029  M01S01944.iedit   +++|
02030  M01S01945.iedit   +++|*         CRACK THE LINE NUMBER AND STORE ITS VALUE AND LENGTH.
02031  M01S01946.iedit   +++|
02032  M01S01947.iedit   +++| PSC7     SA5    PCKDBF      CHECK LINE NUMBER
02033  M01S01948.iedit   +++|          RJ     CLN
Line S01949 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit3
Seq #  *Modification Id* Act 
----------------------------+
02034  M02S01949.iedit3  ---|          ZR     X3,PSC5     IF LINE IS TO BE IGNORED
02035  M01S01950.iedit   +++|          SA7    PSCA
02036  M01S01951.iedit   +++|          SA6    OBLN
02037  M01S01952.iedit   +++|          SA6    NBLN
02038  M01S01953.iedit   +++|          BX0    X4          SAVE THE LINE SELECT PARAMETER
02039  M01S01954.iedit   +++|
02040  M01S01955.iedit   +++|*         UNPACK THE LINE INTO *CLIN* AND CHECK FOR TRUNCATION.
02041  M01S01956.iedit   +++|
02042  M01S01957.iedit   +++|          SB2    PCKDBF
02043  M01S01958.iedit   +++|          SA1    CSTI
02044  M01S01959.iedit   +++|          SB6    MXCIL+1
02045  M01S01960.iedit   +++|          SB3    X1+
02046  M01S01961.iedit   +++|          RJ     USB         UNPACK LINE INTO STRING BUFFER
02047  M01S01962.iedit   +++|          SB4    B7-B6
02048  M01S01963.iedit   +++|          SB4    B4+B1
02049  M01S01964.iedit   +++|
02050  M01S01965.iedit   +++|*         FIND THE LAST NON-BLANK CHARACTER.
02051  M01S01966.iedit   +++|
02052  M01S01967.iedit   +++|          SA4    BLNK
02053  M01S01968.iedit   +++|          SB2    MXCIL
02054  M01S01969.iedit   +++|          GE     B2,B4,PSC8  IF LINE NOT TOO LONG
02055  M01S01970.iedit   +++|          SX7    B2
02056  M01S01971.iedit   +++|          SA7    NCOL
02057  M01S01972.iedit   +++|          SX7    B1
02058  M01S01973.iedit   +++|          SA7    TRNC
02059  M01S01974.iedit   +++|          EQ     PSC10       TRUNCATE FLAG IS SET
02060  M01S01975.iedit   +++|
02061  M01S01976.iedit   +++| PSC8     SA3    B4+CLIN-1
Line S01977 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit3
Seq #  *Modification Id* Act 
----------------------------+
02062  M02S01977.iedit3  ---|          BX3    X3-X4
Line S01978 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit3
Seq #  *Modification Id* Act 
----------------------------+
02063  M02S01978.iedit3  ---|          NZ     X3,PSC9     IF CHARACTER IS NOT A BLANK
02064  M01S00001.iedit3  +++|          BX7    X3-X4
02065  M01S00002.iedit3  +++|          NZ     X7,PSC8.1   IF CHARACTER IS NOT A BLANK
02066  M01S01979.iedit   +++|          SB4    B4-1
02067  M01S01980.iedit   +++|          EQ     PSC8        CHECK NEXT CHARACTER
02068  M01S01981.iedit   +++|
02069  M01S00003.iedit3  +++|
02070  M01S00004.iedit3  +++| PSC8.1   NZ     X3,PSC9     IF NOT A 64 CHARACTER SET COLON
02071  M01S00005.iedit3  +++|          GE     B4,B2,PSC9  IF ALREADY AT END OF LINE
02072  M01S00006.iedit3  +++|          SB4    B4+1        INSURE A BLANK AFTER THE COLON
02073  M01S01982.iedit   +++| PSC9     SX7    B4+
02074  M01S01983.iedit   +++|          SA7    NCOL
02075  M01S01984.iedit   +++|
02076  M01S01985.iedit   +++|*         PERFORM ANY CHARACTER STRING REPLACEMENT
02077  M01S01986.iedit   +++|*         NECESSARY FOR THE *ALTER* COMMAND.
02078  M01S01987.iedit   +++|
02079  M01S01988.iedit   +++| PSC10    ZR     X0,PSC27    IF LINE NOT SELECTED
02080  M01S01989.iedit   +++|          SA5    NCIS
02081  M01S01990.iedit   +++|          NZ     X5,PSC13    IF NON-NULL SEARCH STRING
02082  M01S01991.iedit   +++|          SA2    NCIR
02083  M01S01992.iedit   +++|          ZR     X2,PSC22    IF REPLACEMENT STRING ALSO NULL
02084  M01S01993.iedit   +++|
02085  M01S01994.iedit   +++|*         PROCESS THE *ALTER* COMMAND FORMAT IN
02086  M01S01995.iedit   +++|*         WHICH A REPLACEMENT STRING IS SPECIFIED,
02087  M01S01996.iedit   +++|*         BUT A SEARCH STRING IS NOT.
02088  M01S01997.iedit   +++|*         (ALTER,//STRING2/)
02089  M01S01998.iedit   +++|
02090  M01S01999.iedit   +++|          SA1    NCOL
02091  M01S02000.iedit   +++|          SB3    MXCIL       MAXIMUM NUMBER OF CHARACTERS PER LINE
02092  M01S02001.iedit   +++|          SB4    X2          LENGTH OF REPLACEMENT STRING
02093  M01S02002.iedit   +++|          SB2    X1          CURRENT NUMBER OF CHARACTERS IN LINE
02094  M01S02003.iedit   +++|          SB5    B0+
02095  M01S02004.iedit   +++| PSC11    GE     B2,B3,PSC12 IF NEW LINE IS TOO LONG
02096  M01S02005.iedit   +++|          SA1    B5+RBUF
02097  M01S02006.iedit   +++|          SB5    B5+B1
02098  M01S02007.iedit   +++|          BX7    X1
02099  M01S02008.iedit   +++|          SA7    B2+CLIN
02100  M01S02009.iedit   +++|          SB2    B2+B1
02101  M01S02010.iedit   +++|          LT     B5,B4,PSC11 IF MORE CHARACTERS ARE TO BE ADDED
02102  M01S02011.iedit   +++|          SX7    B2
02103  M01S02012.iedit   +++|          SA7    NCOL
02104  M01S02013.iedit   +++|          EQ     PSC22       COMPLETE PROCESSING SELECTED LINE
02105  M01S02014.iedit   +++|
02106  M01S02015.iedit   +++| PSC12    SX6    B1
02107  M01S02016.iedit   +++|          SX7    B3
02108  M01S02017.iedit   +++|          SA6    TRNC
02109  M01S02018.iedit   +++|          SA7    NCOL
02110  M01S02019.iedit   +++|          EQ     PSC22       COMPLETE PROCESSING SELECTED LINE
02111  M01S02020.iedit   +++|
02112  M01S02021.iedit   +++|*         PROCESS THE *ALTER* COMMAND FORMAT IN WHICH THE SEARCH
02113  M01S02022.iedit   +++|*         STRING IS SPECIFIED.
02114  M01S02023.iedit   +++|*         (ALTER,/STRING1/STRING2/ OR ALTER,/STRING1//)
02115  M01S02024.iedit   +++|
02116  M01S02025.iedit   +++| PSC13    BSS    0
02117  M01S02026.iedit   +++| .TRIM    IFEQ   TRIM,0
02118  M01S02027.iedit   +++|          SA2    PSCB
02119  M01S02028.iedit   +++|          ZR     X2,PSC16    IF NO TRAILING BLANKS IN SEARCH STRING
02120  M01S02029.iedit   +++|          IFEQ   TRIM,0
02121  M01S02030.iedit   +++|          SA1    NCOL
02122  M01S02031.iedit   +++|          SA3    BLNK
02123  M01S02032.iedit   +++|          SB3    MXCIL
Line S02033 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit3
Seq #  *Modification Id* Act 
----------------------------+
02124  M02S02033.iedit3  ---|          SB2    X1
02125  M01S00007.iedit3  +++|          SB2    X1+
02126  M01S02034.iedit   +++|          BX7    X3
02127  M01S00008.iedit3  +++|          SA1    B2+CLIN-1   GET LAST CHARACTER
02128  M01S00009.iedit3  +++|          BX1    X1-X3
02129  M01S00010.iedit3  +++|          NZ     X1,PSC14    IF NOT A BLANK PROTECTING A COLON
02130  M01S00011.iedit3  +++|          SB2    B2-1        POINT TO THE COLON
02131  M01S02035.iedit   +++| PSC14    EQ     B2,B3,PSC15 IF NO MORE ROOM IN STRING BUFFER
02132  M01S02036.iedit   +++|          SA7    B2+CLIN
02133  M01S02037.iedit   +++|          SB2    B2+1
02134  M01S02038.iedit   +++|          SX2    X2-1
02135  M01S02039.iedit   +++|          NZ     X2,PSC14    IF ALL BLANKS NOT YET ADDED
02136  M01S02040.iedit   +++| PSC15    SX7    B2+
02137  M01S02041.iedit   +++|          SA7    NCOL
02138  M01S02042.iedit   +++| .TRIM    ENDIF
02139  M01S02043.iedit   +++|
02140  M01S02044.iedit   +++|*         STORE THE NUMBER OF TRAILING BLANKS IN LINE INTO *NTBL*.
02141  M01S02045.iedit   +++|*         CHECK FOR SEARCH STRING PRESENT IN LINE.
02142  M01S02046.iedit   +++|
02143  M01S02047.iedit   +++| PSC16    SA1    NCOL
02144  M01S02048.iedit   +++|          SA2    PSCA
02145  M01S02049.iedit   +++|          SX4    MXCIL
02146  M01S02050.iedit   +++|          IX6    X4-X1
02147  M01S02051.iedit   +++|          BX7    X2
02148  M01S02052.iedit   +++|          SA6    NTBL
02149  M01S02053.iedit   +++|          SB6    X1+
02150  M01S02054.iedit   +++|          RJ     FSL         FIND STRING IN LINE
02151  M01S02055.iedit   +++|          NG     X4,PSC27    IF STRING NOT FOUND, DE-SELECT
02152  M01S02056.iedit   +++|
02153  M01S02057.iedit   +++|*         REPLACE ALL OCCURENCES OF SEARCH STRING IN LINE
02154  M01S02058.iedit   +++|*         WITH THE REPLACEMENT STRING.
02155  M01S02059.iedit   +++|
02156  M01S02060.iedit   +++|          SA1    FNUM
02157  M01S02061.iedit   +++|          SX1    X1-FNAL
02158  M01S02062.iedit   +++|          NZ     X1,PSC22    IF FUNCTION NOT *ALTER*
02159  M01S02063.iedit   +++| PSC17    RJ     CSL         CHANGE STRING IN LINE
02160  M01S02064.iedit   +++|          SA5    NCIR
02161  M01S02065.iedit   +++|          IX7    X4+X5
02162  M01S02066.iedit   +++|          SA4    NCOL
02163  M01S02067.iedit   +++|          SB6    X4+
02164  M01S02068.iedit   +++|          RJ     FSL
02165  M01S02069.iedit   +++|          PL     X4,PSC17    IF ANOTHER SEARCH STRING OCCURENCE FOUND
02166  M01S02070.iedit   +++|          SA2    NCIS
02167  M01S02071.iedit   +++|          SA1    PSCB
02168  M01S02072.iedit   +++|          IX1    X1-X2
02169  M01S02073.iedit   +++|          NZ     X1,PSC22    IF SEARCH STRING IS NOT ALL BLANKS
02170  M01S02074.iedit   +++|
02171  M01S02075.iedit   +++|*         PROCESS THE SPECIAL CASE WHERE THE USER SPECIFIED
02172  M01S02076.iedit   +++|*         AN ALL BLANK SEARCH STRING IN AN *ALTER* COMMAND.
02173  M01S02077.iedit   +++|*         (ALTER,/      /STRING2/)
02174  M01S02078.iedit   +++|
02175  M01S02079.iedit   +++| .TRIM    IFEQ   TRIM,0
02176  M01S02080.iedit   +++|          SA3    NCOL
02177  M01S02081.iedit   +++|          SB7    X3+         CURRENT NUMBER OF CHARACTERS IN LINE
02178  M01S02082.iedit   +++|          SA1    NTBL
02179  M01S02083.iedit   +++|          SA4    NCIR
02180  M01S02084.iedit   +++|          SB2    X1          ORIGINAL NUMBER OF TRAILING BLANKS
02181  M01S02085.iedit   +++|          SB3    X2          NUMBER OF CHARACTERS IN SEARCH STRING
02182  M01S02086.iedit   +++|          SB6    MXCIL
02183  M01S02087.iedit   +++|          SB4    X4+         NUMBER OF CHARACTERS IN REPLACEMENT STRING
02184  M01S02088.iedit   +++| PSC18    LT     B2,B3,PSC21 IF LESS THAN *NCIS* BLANKS REMAIN
02185  M01S02089.iedit   +++|          SB2    B2-B3
02186  M01S02090.iedit   +++|          SB5    B0
02187  M01S02091.iedit   +++| PSC19    EQ     B5,B4,PSC18 IF ENTIRE REPLACE STRING ADDED
02188  M01S02092.iedit   +++|          EQ     B7,B6,PSC20 IF NEW LINE IS TOO LONG
02189  M01S02093.iedit   +++|          SA1    B5+RBUF
02190  M01S02094.iedit   +++|          SX7    X1+
02191  M01S02095.iedit   +++|          SA7    B7+CLIN
02192  M01S02096.iedit   +++|          SB7    B7+B1
02193  M01S02097.iedit   +++|          SB5    B5+B1
02194  M01S02098.iedit   +++|          EQ     PSC19       ADD THE NEXT CHARACTER
02195  M01S02099.iedit   +++|
02196  M01S02100.iedit   +++| PSC20    SX7    B1+
02197  M01S02101.iedit   +++|          SA7    TRNC
02198  M01S02102.iedit   +++| PSC21    SX7    B7+
02199  M01S02103.iedit   +++|          SA7    NCOL
02200  M01S02104.iedit   +++| .TRIM    ENDIF
02201  M01S02105.iedit   +++|
02202  M01S02106.iedit   +++|*         PROCESS SELECTED LINES.  THE FOLLOWING CODE REPACKS,
02203  M01S02107.iedit   +++|*         ECHOS TO OUTPUT, AND COPIES THE POTENTIALLY ALTERED
02204  M01S02108.iedit   +++|*         LINE TO THE NEW SOURCE FILE.
02205  M01S02109.iedit   +++|
02206  M01S02110.iedit   +++| PSC22    SA1    NMLS
02207  M01S02111.iedit   +++|          SX6    X1+B1
02208  M01S02112.iedit   +++|          SA6    A1
02209  M01S02113.iedit   +++|          SA1    FNUM
02210  M01S02114.iedit   +++|          SX1    X1-FNAL
02211  M01S02115.iedit   +++|          NZ     X1,PSC23    IF NOT AN *ALTER* COMMAND
02212  M01S02116.iedit   +++|          SA2    PSCA        ADD BLANKS AND REPACK
02213  M01S02117.iedit   +++|          RJ     ABL
02214  M01S02118.iedit   +++|          SB2    60
02215  M01S02119.iedit   +++|          SA1    PCKDBF
02216  M01S02120.iedit   +++|          SA2    CLIN
02217  M01S02121.iedit   +++|          SA3    NCOL
02218  M01S02122.iedit   +++|          SB4    X3
02219  M01S02123.iedit   +++|          RJ     PLB
02220  M01S02124.iedit   +++| PSC23    SA1    FNUM
02221  M01S02125.iedit   +++|          SX1    X1-MXNW-1
02222  M01S02126.iedit   +++|          PL     X1,PSC24    IF A *WRITE(N)* FUNCTION
02223  M01S02127.iedit   +++|          SA1    LOP
02224  M01S02128.iedit   +++|          ZR     X1,PSC24    IF LIST FLAG NOT SET
02225  M01S02129.iedit   +++|          WRITEC O,PCKDBF    ECHO SELECTED LINES
02226  M01S02130.iedit   +++| PSC24    SA1    FNUM
02227  M01S02131.iedit   +++|          SX2    X1-FNLI
02228  M01S02132.iedit   +++|          ZR     X2,PSC26    IF A *LIST* COMMAND
02229  M01S02133.iedit   +++|          SX2    X1-FNDE
02230  M01S02134.iedit   +++|          ZR     X2,PSC26    IF A *DELETE* COMMAND
02231  M01S02135.iedit   +++|          SX1    X1-FNWN
02232  M01S02136.iedit   +++|          NZ     X1,PSC25    IF NOT A *WRITE(N)* COMMAND
02233  M01S02137.iedit   +++|          SA1    PSCA
02234  M01S02138.iedit   +++|          RJ     PWN         SHIFT TEXT FOR *WRITEN*
02235  M01S02139.iedit   +++| PSC25    WRITEC SCR,PCKDBF  BUILD NEW FILE
02236  M01S02140.iedit   +++| PSC26    SA1    TRNC
02237  M01S02141.iedit   +++|          ZR     X1,PSC5     IF LINE NOT TRUNCATED
02238  M01S02142.iedit   +++|          SA1    OBLN
02239  M01S02143.iedit   +++|          RJ     WTL
02240  M01S02144.iedit   +++|          EQ     PSC5        PROCESS NEXT LINE
02241  M01S02145.iedit   +++|
02242  M01S02146.iedit   +++|*         PROCESS UNSELECTED LINES.
02243  M01S02147.iedit   +++|*         THE FOLLOWING CODE SUPPRESSES PACKING AND ECHOING AND
02244  M01S02148.iedit   +++|*         AS SUCH IS FOR THE SIMPLE COPYING OF UNSELECTED LINES.
02245  M01S02149.iedit   +++|
02246  M01S02150.iedit   +++| PSC27    SA1    FNUM
02247  M01S02151.iedit   +++|          SX2    X1-FNAL
02248  M01S02152.iedit   +++|          ZR     X2,PSC25    IF AN *ALTER* COMMAND
02249  M01S02153.iedit   +++|          SX2    X1-FNDE
02250  M01S02154.iedit   +++|          ZR     X2,PSC25    IF A *DELETE* COMMAND
02251  M01S02155.iedit   +++|          EQ     PSC5        PROCESS NEXT LINE
02252  M01S02156.iedit   +++|
02253  M01S02157.iedit   +++|*         FINISH UP AFTER SCAN OF EDIT FILE IS COMPLETED.
02254  M01S02158.iedit   +++|
02255  M01S02159.iedit   +++| PSC28    SA2    NMLS
02256  M01S02160.iedit   +++|          SA1    FNUM
02257  M01S02161.iedit   +++|          NZ     X2,PSC29    IF AT LEAST ONE LINE WAS SELECTED
02258  M01S02162.iedit   +++|          SX2    X1-FNLI
02259  M01S02163.iedit   +++|          SX5    ERRNLF      *NO LINES FOUND.*
02260  M01S02164.iedit   +++|          NZ     X2,ERR      IF NOT A *LIST* COMMAND
02261  M01S02165.iedit   +++|          SX5    B0+
02262  M01S02166.iedit   +++|          EQ     ERR         NO LINES FOUND AND A *LIST* COMMAND
02263  M01S02167.iedit   +++|
02264  M01S02168.iedit   +++|*         FLUSH TRUNCATED LINES IF NECESSARY
02265  M01S02169.iedit   +++|
02266  M01S02170.iedit   +++| PSC29    SA3    TRNCFET     CHECK FET STATUS
02267  M01S02171.iedit   +++|          MX2    -18
02268  M01S02172.iedit   +++|          BX3    -X2*X3
02269  M01S02173.iedit   +++|          SX2    A3+
02270  M01S02174.iedit   +++|          SX3    X3-3
02271  M01S02175.iedit   +++|          ZR     X3,PSC30    IF BUFFER NEVER WRITTEN TO DISK
02272  M01S02176.iedit   +++|          WRITER X2
02273  M01S02177.iedit   +++| PSC30    SA1    FNUM
02274  M01S02178.iedit   +++|          SX2    X1-FNLI
02275  M01S02179.iedit   +++|          ZR     X2,PSCX     IF A *LIST* COMMAND
02276  M01S02180.iedit   +++|          WRITER SCR         COMPLETE *ALTER*, *DELETE*, OR *WRITE(N)*
02277  M01S02181.iedit   +++|          SA1    FNUM
02278  M01S02182.iedit   +++|          SX1    X1-MXNW-1
02279  M01S02183.iedit   +++|          PL     X1,PSCX     IF A *WRITE(N)* COMMAND
02280  M01S02184.iedit   +++|          RENAME SCR,E       COMPLETE *ALTER* OR *DELETE*
02281  M01S02185.iedit   +++|          EQ     PSCX        RETURN
02282  M01S02186.iedit   +++|
02283  M01S02187.iedit   +++| PSCA     CON    0           NUMBER OF DIGITS IN LINE NUMBER
02284  M01S02188.iedit   +++| PSCB     CON    0           NUMBER OF TRAILING BLANKS IN SEARCH STRING
02285  M01S02189.iedit   +++|          TITLE  OVERLAYABLE SUBROUTINES.
02286  M01S02190.iedit   +++| CSL      SPACE  4,25
02287  M01S02191.iedit   +++|**        CSL - CHANGE STRING IN LINE.
02288  M01S02192.iedit   +++|*
02289  M01S02193.iedit   +++|*         *CSL* CHANGES A STRING IN A LINE TO ANOTHER
02290  M01S02194.iedit   +++|*                STRING OF CHARACTERS.
02291  M01S02195.iedit   +++|*
02292  M01S02196.iedit   +++|*         ENTRY  (NCOL) = NUMBER OF CHARACTERS ON LINE.
02293  M01S02197.iedit   +++|*                (CLIN) = FWA OF UNPACKED LINE.
02294  M01S02198.iedit   +++|*                (RBUF) = FWA OF REPLACEMENT BUFFER.
02295  M01S02199.iedit   +++|*                (X4) = CHARACTER POSITION WHERE SEARCH STRING WAS
02296  M01S02200.iedit   +++|*                       FOUND.
02297  M01S02201.iedit   +++|*
02298  M01S02202.iedit   +++|*         EXIT   (X4) = CHARACTER POSITION POINTER.
02299  M01S02203.iedit   +++|*                *CLIN* CHANGED TO INCLUDE THE STRING TO REPLACE
02300  M01S02204.iedit   +++|*                       WITH THE NEW STRING.
02301  M01S02205.iedit   +++|*                (NCOL) CHANGED TO REFLECT NEW LENGTH OF LINE
02302  M01S02206.iedit   +++|*                       AFTER CHANGE HAS BEEN MADE.
02303  M01S02207.iedit   +++|*
02304  M01S02208.iedit   +++|*         USES   X - 1, 2, 3, 4, 5, 6, 7.
02305  M01S02209.iedit   +++|*                A - 1, 4, 5, 7.
02306  M01S02210.iedit   +++|*                B - 3, 5, 6.
02307  M01S02211.iedit   +++|*
02308  M01S02212.iedit   +++|*         MACROS MOVE.
02309  M01S02213.iedit   +++|
02310  M01S02214.iedit   +++|
02311  M01S02215.iedit   +++| CSL      SUBR               ENTRY/EXIT
02312  M01S02216.iedit   +++|          SA5    NCIS        FIND DIFFERENCE IN STRING LENGTHS
02313  M01S02217.iedit   +++|          SA1    NCIR
02314  M01S02218.iedit   +++|          SX7    X4
02315  M01S02219.iedit   +++|          IX3    X1-X5       NUMBER OF CHARACTERS TO INCREASE HOLE BY
02316  M01S02220.iedit   +++|          SA7    CSLA
02317  M01S02221.iedit   +++|          SX2    CLIN+X4     FIND BEGINNING OF SEARCH STRING
02318  M01S02222.iedit   +++|          SA4    NCOL
02319  M01S02223.iedit   +++|          IX7    X4+X3       COMPUTED LENGTH OF NEW STRING
02320  M01S02224.iedit   +++|          SA7    A4          UPDATE *NCOL* TO ITS NEW LENGTH
02321  M01S02225.iedit   +++|          ZR     X3,CSL2     IF STRINGS ARE SAME SIZE
02322  M01S02226.iedit   +++|          IX2    X2+X5       GET STARTING ADDRESS FOR MOVE
02323  M01S02227.iedit   +++|          SX4    X4+CLIN     ENDING ADDRESS OF OLD LINE PLUS ONE
02324  M01S02228.iedit   +++|          IX3    X2+X3       DESTINATION ADDRESS FOR MOVE
02325  M01S02229.iedit   +++|          IX1    X4-X2       COMPUTE LENGTH OF STRING TO MOVE
02326  M01S02230.iedit   +++|          SB5    X7-MXCIL-1
02327  M01S02231.iedit   +++|          SX7    B1
02328  M01S02232.iedit   +++|          NG     B5,CSL1     IF NO TRUNCATION
02329  M01S02233.iedit   +++|          SA7    TRNC
02330  M01S02234.iedit   +++|          SX7    MXCIL
02331  M01S02235.iedit   +++|          SX6    X3-CLIN-MXCIL
02332  M01S02236.iedit   +++|          SA7    NCOL        CORRECT LENGTH OF NEW LINE TO *MXCIL*
02333  M01S02237.iedit   +++|          PL     X6,CSL2     IF DESTINATION ADDRESS BEYOND *MXCIL*
02334  M01S02238.iedit   +++|          SX4    X7-MXCIL    AMOUNT OF TRUNCATION
02335  M01S02239.iedit   +++|          IX1    X1-X4       ADJUST NUMBER OF CHARACTERS TO MOVE
02336  M01S02240.iedit   +++|
02337  M01S02241.iedit   +++|*         ADJUST SEARCH STRING HOLE TO FIT REPLACEMENT STRING.
02338  M01S02242.iedit   +++|
02339  M01S02243.iedit   +++| CSL1     MOVE   X1,X2,X3
02340  M01S02244.iedit   +++|
02341  M01S02245.iedit   +++|*         MOVE REPLACEMENT STRING TO SEARCH STRING HOLE.
02342  M01S02246.iedit   +++|
02343  M01S02247.iedit   +++| CSL2     SA4    CSLA
02344  M01S02248.iedit   +++|          SA5    NCIR
02345  M01S02249.iedit   +++|          SB5    CLIN+X4     ADDR TO START REPLACEMENT
02346  M01S02250.iedit   +++|          SB6    MXCIL+1
02347  M01S02251.iedit   +++|          SB3    X4
02348  M01S02252.iedit   +++|          SB6    B6-B3
02349  M01S02253.iedit   +++|          SB3    X5+
02350  M01S02254.iedit   +++|          LE     B3,B6,CSL3  IF ROOM FOR ENTIRE REPLACEMENT STRING
02351  M01S02255.iedit   +++|          SB3    B6+
02352  M01S02256.iedit   +++| CSL3     SB6    B0+         CHARACTER REPLACEMENT COUNT
02353  M01S02257.iedit   +++|          SA1    RBUF-1
02354  M01S02258.iedit   +++| CSL4     GE     B6,B3,CSLX  IF DONE MOVING STRING, RETURN
02355  M01S02259.iedit   +++|          SA1    A1+B1       GET NEXT CHARACTER
02356  M01S02260.iedit   +++|          SX7    X1
02357  M01S02261.iedit   +++|          SA7    B5+B6
02358  M01S02262.iedit   +++|          SB6    B6+B1
02359  M01S02263.iedit   +++|          EQ     CSL4        MOVE NEXT CHARACTER
02360  M01S02264.iedit   +++|
02361  M01S02265.iedit   +++| CSLA     CON    0           SEARCH STRING POSITION
02362  M01S02266.iedit   +++| FSL      SPACE  4,20
02363  M01S02267.iedit   +++|**        FSL - FIND STRING IN LINE.
02364  M01S02268.iedit   +++|*
02365  M01S02269.iedit   +++|*         ENTRY  (CLIN) = FIRST CHARACTER OF LINE
02366  M01S02270.iedit   +++|*                       (LINE UNPACKED - 1 CHARACTER PER WORD).
02367  M01S02271.iedit   +++|*                (X7) = NUMBER OF CHARACTERS ON LINE TO SKIP
02368  M01S02272.iedit   +++|*                       OVER BEFORE STARTING SEARCH.
02369  M01S02273.iedit   +++|*                (B6) = COUNT OF CHARACTERS IN LINE.
02370  M01S02274.iedit   +++|*                (SBUF) = UNPACKED SEARCH STRING.
02371  M01S02275.iedit   +++|*                (NCIS) = NUMBER OF CHARACTERS IN SEARCH STRING.
02372  M01S02276.iedit   +++|*
02373  M01S02277.iedit   +++|*         EXIT   (X4) = CHARACTER POSITION IN LINE WHERE
02374  M01S02278.iedit   +++|*                       MATCH WAS FOUND.
02375  M01S02279.iedit   +++|*                       .LT. 0, IF CHARACTER STRING NOT IN LINE.
02376  M01S02280.iedit   +++|*
02377  M01S02281.iedit   +++|*         USES   X - 1, 4, 5, 7.
02378  M01S02282.iedit   +++|*                A - 1, 5.
02379  M01S02283.iedit   +++|*                B - 2, 3, 4, 7.
02380  M01S02284.iedit   +++|
02381  M01S02285.iedit   +++|
02382  M01S02286.iedit   +++| FSL      SUBR               ENTRY/EXIT
02383  M01S02287.iedit   +++|          MX4    1
02384  M01S02288.iedit   +++|          SA5    NCIS        NUMBER OF CHARACTERS IN SEARCH STRING
02385  M01S02289.iedit   +++|          SB4    X7          OFFSET TO START SEARCH AT
02386  M01S02290.iedit   +++|          SB3    X5+
02387  M01S02291.iedit   +++|          SB7    B6-B3
02388  M01S02292.iedit   +++|          SB2    B0+         COUNT OF CHARACTERS FOUND
02389  M01S02293.iedit   +++|          GT     B4,B7,FSLX  IF ALREADY AT END OF LINE
02390  M01S02294.iedit   +++| FSL1     SA5    CLIN+B4     GET CHARACTER FROM LINE
02391  M01S02295.iedit   +++|          SA1    SBUF+B2     GET CHARACTER FROM *SBUF*
02392  M01S02296.iedit   +++|          BX5    X5-X1
02393  M01S02297.iedit   +++|          SB4    B4+B1       INCREMENT OFFSET OF *CLIN*
02394  M01S02298.iedit   +++|          ZR     X5,FSL2     IF CHARACTERS MATCH
02395  M01S02299.iedit   +++|          SB4    X7+B1
02396  M01S02300.iedit   +++|          SB2    B0+         RESET COUNT OF CHARACTERS FOUND
02397  M01S02301.iedit   +++|          SX7    B4
02398  M01S02302.iedit   +++|          LE     B4,B7,FSL1  IF NOT AT END OF LINE
02399  M01S02303.iedit   +++|          EQ     FSLX        RETURN
02400  M01S02304.iedit   +++|
02401  M01S02305.iedit   +++| FSL2     SB2    B2+B1       INCREMENT COUNT OF CHARACTERS FOUND
02402  M01S02306.iedit   +++|          NE     B2,B3,FSL1  IF MORE CHARACTERS TO MATCH
02403  M01S02307.iedit   +++|          SX4    B4-B3
02404  M01S02308.iedit   +++|          EQ     FSLX        RETURN - MATCH SUCCESSFUL
02405  M01S02309.iedit   +++| ICE      SPACE  4,10
02406  M01S02310.iedit   +++|**        ICE - INDEXED CODE EXECUTION.
02407  M01S02311.iedit   +++|*
02408  M01S02312.iedit   +++|*         ENTRY  (B7) = SUBROUTINE ADDRESS.
02409  M01S02313.iedit   +++|*
02410  M01S02314.iedit   +++|*         EXIT   TO SUBROUTINE WITH RETURN ADDRESS SET.
02411  M01S02315.iedit   +++|*
02412  M01S02316.iedit   +++|*         USES   X - 2, 7.
02413  M01S02317.iedit   +++|*                A - 2, 7.
02414  M01S02318.iedit   +++|
02415  M01S02319.iedit   +++|
02416  M01S02320.iedit   +++| ICE      SUBR               ENTRY/ EXIT
02417  M01S02321.iedit   +++|          SA2    ICEX        SET RETURN ADDRESS
02418  M01S02322.iedit   +++|          BX7    X2
02419  M01S02323.iedit   +++|          SA7    B7
02420  M01S02324.iedit   +++|          JP     B7+1        JUMP TO SUBROUTINE
02421  M01S02325.iedit   +++| MLT      SPACE  4,20
02422  M01S02326.iedit   +++|**        MLT - MANAGE LINE NUMBER TABLE.
02423  M01S02327.iedit   +++|*
02424  M01S02328.iedit   +++|*         ENTRY  (FLAGS) = FLAGS FOR *LNT* ENTRY.
02425  M01S02329.iedit   +++|*                (OBLN) = OLD BINARY LINE NUMBER.
02426  M01S02330.iedit   +++|*                (NBLN) = NEW BINARY LINE NUMBER.
02427  M01S02331.iedit   +++|*
02428  M01S02332.iedit   +++|*         EXIT   AN ENTRY IS MADE TO THE LINE NUMBER TABLE.
02429  M01S02333.iedit   +++|*                IF *LNT* BUFFER IS FULL, THE *LNT* IS FLUSHED TO
02430  M01S02334.iedit   +++|*                *ZZZZZG2* AND *NMLS* IS RESET TO ZERO BEFORE ADDING
02431  M01S02335.iedit   +++|*                THE NEW ENTRY.
02432  M01S02336.iedit   +++|*
02433  M01S02337.iedit   +++|*         USES   X - 1, 2, 3, 5, 7.
02434  M01S02338.iedit   +++|*                A - 1, 2, 3, 5, 7.
02435  M01S02339.iedit   +++|*                B - 2.
02436  M01S02340.iedit   +++|*
02437  M01S02341.iedit   +++|*         CALLS  ABS, SFI.
02438  M01S02342.iedit   +++|*
02439  M01S02343.iedit   +++|*         MACROS WRITEW.
02440  M01S02344.iedit   +++|
02441  M01S02345.iedit   +++|
02442  M01S02346.iedit   +++| MLT      SUBR               ENTRY/EXIT
02443  M01S02347.iedit   +++|          SA1    NMLS
02444  M01S02348.iedit   +++|          SA3    L.LNTBUF
02445  M01S02349.iedit   +++|          SX1    X1+B1
02446  M01S02350.iedit   +++|          IX3    X3-X1
02447  M01S02351.iedit   +++|          PL     X3,MLT2     IF BUFFER NOT FULL
02448  M01S02352.iedit   +++|          SA1    LNTBUF
02449  M01S02353.iedit   +++|          SX2    LNTINC
02450  M01S02354.iedit   +++|          RJ     ABS         TRY TO ALLOCATE MORE SPACE
02451  M01S02355.iedit   +++|          NZ     X6,MLT1     IF NOT ENOUGH SPACE LEFT
02452  M01S02356.iedit   +++|          RJ     SFI         UPDATE FET POINTERS FOR ALLOCATED BUFFER
02453  M01S02357.iedit   +++|          EQ     MLT2        PROCESS *LNT*
02454  M01S02358.iedit   +++|
02455  M01S02359.iedit   +++| MLT1     SX7    B1+
02456  M01S02360.iedit   +++|          SA7    LTFILE
02457  M01S02361.iedit   +++|          SX2    LNT1
02458  M01S02362.iedit   +++|          SA1    F.LNTBUF
02459  M01S02363.iedit   +++|          SA3    NMLS
02460  M01S02364.iedit   +++|          WRITEW X2,X1,X3    WRITE *LNT* OUT TO FILE
02461  M01S02365.iedit   +++|          SX7    B0+
02462  M01S02366.iedit   +++|          SA7    NMLS
02463  M01S02367.iedit   +++| MLT2     SA3    NBLN        NEW BINARY LINE NUMBER
02464  M01S02368.iedit   +++|          SB2    59-17       ALIGN NEW LINE NUMBER
02465  M01S02369.iedit   +++|          SA1    NMLS        NUMBER OF LINES SELECTED
02466  M01S02370.iedit   +++|          SA2    OBLN
02467  M01S02371.iedit   +++|          LX7    X3,B2
02468  M01S02372.iedit   +++|          LX2    41-17       ALIGN OLD LINE NUMBER
02469  M01S02373.iedit   +++|          BX7    X7+X2
02470  M01S02374.iedit   +++|          SA5    FLAGS
02471  M01S02375.iedit   +++|          BX7    X5+X7
02472  M01S02376.iedit   +++|          SA5    F.LNTBUF
02473  M01S02377.iedit   +++|          IX5    X5+X1
02474  M01S02378.iedit   +++|          SA7    X5+
02475  M01S02379.iedit   +++|          SX7    X1+1        UPDATE NUMBER OF LINES SELECTED
02476  M01S02380.iedit   +++|          SA7    NMLS
02477  M01S02381.iedit   +++|          EQ     MLTX        RETURN
02478  M01S02382.iedit   +++| PLO      SPACE  4,25
02479  M01S02383.iedit   +++|**        PLO - PROCESS LINE OVERLAP.
02480  M01S02384.iedit   +++|*
02481  M01S02385.iedit   +++|*         ENTRY  SEE EXIT CONDITIONS FOR *RLN*.
02482  M01S02386.iedit   +++|*
02483  M01S02387.iedit   +++|*         EXIT   (LBFILE) = 0, ALL SELECTED AND OVERLAPPED LINES ARE
02484  M01S02388.iedit   +++|*                              RESEQUENCED AND IN *EFBUF*.
02485  M01S02389.iedit   +++|*                           1, ALL SELECTED AND OVERLAPPED LINES ARE
02486  M01S02390.iedit   +++|*                              RESEQUENCED AND WRITTEN TO *ZZZZZG1*.
02487  M01S02391.iedit   +++|*                (LTFILE) = 0, ALL *LNT* ENTRIES ARE IN *LNTBUF*, IF
02488  M01S02392.iedit   +++|*                              ANY EXIST.
02489  M01S02393.iedit   +++|*                           1, ALL *LNT* ENTRIES ARE WRITTEN TO FILE
02490  M01S02394.iedit   +++|*                              *ZZZZZG2*.
02491  M01S02395.iedit   +++|*                (SCRFIL) = 0, NO LINES HAVE BEEN DELETED FROM THEIR
02492  M01S02396.iedit   +++|*                              ORIGINAL POSITIONS.
02493  M01S02397.iedit   +++|*                           1, THE LINE NUMBERS OF LINES TO BE DELETED
02494  M01S02398.iedit   +++|*                              FROM THEIR ORIGINAL POSITIONS ARE
02495  M01S02399.iedit   +++|*                              WRITTEN TO FILE *ZZZZZG6*.
02496  M01S02400.iedit   +++|*
02497  M01S02401.iedit   +++|*         USES   X - 0, 1, 2, 3, 5, 6, 7.
02498  M01S02402.iedit   +++|*                A - 1, 2, 3, 5, 6, 7.
02499  M01S02403.iedit   +++|*                B - 2, 3, 4, 5, 6.
02500  M01S02404.iedit   +++|*
02501  M01S02405.iedit   +++|*         CALLS  CDD, CLN, MLB, RLN, SLN, SNM, USB.
02502  M01S02406.iedit   +++|*
02503  M01S02407.iedit   +++|*         MACROS READ, READC, READEI, READO, REWIND, SKIPEI, WRITEC,
02504  M01S02408.iedit   +++|*                WRITER, WRITEW.
02505  M01S02409.iedit   +++|
02506  M01S02410.iedit   +++|
02507  M01S02411.iedit   +++| PLO      SUBR               ENTRY/EXIT
02508  M01S02412.iedit   +++|          SA3    INCR
02509  M01S02413.iedit   +++|          SA2    NBLN
02510  M01S02414.iedit   +++|          SA1    FNAI
02511  M01S02415.iedit   +++|          BX6    X2
02512  M01S02416.iedit   +++|          IX2    X2-X1
02513  M01S02417.iedit   +++|          SA6    PLOA        SET BOUNDARY FOR OVERLAP CHECKING
02514  M01S02418.iedit   +++|          NG     X2,PLO16    IF NO LINE OVERLAP
02515  M01S02419.iedit   +++|          RJ     CDD
02516  M01S02420.iedit   +++|          MX2    B2
02517  M01S02421.iedit   +++|          BX1    X2*X4
02518  M01S02422.iedit   +++|          SB2    1RQ
02519  M01S02423.iedit   +++|          SB5    PLOD
02520  M01S02424.iedit   +++|          RJ     SNM         SET NAME IN MESSAGE
02521  M01S02425.iedit   +++|
02522  M01S02426.iedit   +++|*         QUERY USER WITH REGARD TO STOPPING.
02523  M01S02427.iedit   +++|
02524  M01S02428.iedit   +++|          WRITEC O,PLOD
02525  M01S02429.iedit   +++| PLO1     WRITEC O,PLOE
02526  M01S02430.iedit   +++|          READ   I           READ IN REPLY
02527  M01S02431.iedit   +++|          READC  I,PCKDBF,MXWL+1  READ REPLY INTO BUFFER
02528  M01S02432.iedit   +++|          NZ     X1,PLO1     IF UNEXPECTED RESPONSE
02529  M01S02433.iedit   +++|          SA2    CSTI
02530  M01S02434.iedit   +++|          SB2    PCKDBF
02531  M01S02435.iedit   +++|          SB6    MXCIL+1
02532  M01S02436.iedit   +++|          SB3    X2
02533  M01S02437.iedit   +++|          RJ     USB         UNPACK REPLY, ONE CHARACTER PER WORD
02534  M01S02438.iedit   +++|          SB4    B7-B6
02535  M01S02439.iedit   +++|          SA2    BLNK
02536  M01S02440.iedit   +++| PLO2     SA3    B4+CLIN     GET NEXT CHARACTER
02537  M01S02441.iedit   +++|          BX3    X3-X2
02538  M01S02442.iedit   +++|          NZ     X3,PLO3     IF CHARACTER NOT A BLANK
02539  M01S02443.iedit   +++|          SB4    B4-1
02540  M01S02444.iedit   +++|          PL     B4,PLO2     IF MORE CHARACTERS TO CHECK
02541  M01S02445.iedit   +++| PLO3     NZ     B4,PLO1     IF MORE THAN ONE CHARACTER
02542  M01S02446.iedit   +++|          SA5    CLIN
02543  M01S02447.iedit   +++|          SA1    CSTI        GET THE CHARACTER SET
02544  M01S02448.iedit   +++|          SA2    X1+PLOB+1   CHECK FOR *Y*
02545  M01S02449.iedit   +++|          SX3    X2
02546  M01S02450.iedit   +++|          BX3    X3-X5
02547  M01S02451.iedit   +++|          ZR     X3,PLO5     IF UPPER CASE *Y*
02548  M01S02452.iedit   +++|          AX2    18
02549  M01S02453.iedit   +++|          BX3    X2-X5
02550  M01S02454.iedit   +++|          ZR     X3,PLO5     IF LOWER CASE *Y*
02551  M01S02455.iedit   +++|          SA2    X1+PLOC+1   CHECK FOR *N*
02552  M01S02456.iedit   +++|          SX3    X2
02553  M01S02457.iedit   +++|          BX3    X3-X5
02554  M01S02458.iedit   +++|          ZR     X3,PLO4     IF UPPER CASE *N*
02555  M01S02459.iedit   +++|          AX2    18
02556  M01S02460.iedit   +++|          BX3    X2-X5
02557  M01S02461.iedit   +++|          NZ     X3,PLO1     IF NOT LOWER CASE *N*
02558  M01S02462.iedit   +++| PLO4     SX5    ERRCNP      *COMMAND NOT PROCESSED DUE TO OVERLAP.*
02559  M01S02463.iedit   +++|          EQ     ERR         TERMINATE IEDIT PROCESSING
02560  M01S02464.iedit   +++|
02561  M01S02465.iedit   +++| PLO5     SX6    B1+
02562  M01S02466.iedit   +++|          SA6    OVLPFG
02563  M01S02467.iedit   +++|          WRITER E,R         FLUSH *EFBUF* TO *ZZZZZG1*
02564  M01S02468.iedit   +++|          SX6    B0+
02565  M01S02469.iedit   +++|          SA6    LBFILE
02566  M01S02470.iedit   +++|          SX2    L
02567  M01S02471.iedit   +++|          SA5    TSF+0
02568  M01S02472.iedit   +++|          RJ     SLN         PUT *ZZZZZG0* IN LINE BUFFER FET
02569  M01S02473.iedit   +++|          REWIND X2
02570  M01S02474.iedit   +++|          SA5    EFN         SET EDIT FILE NAME
02571  M01S02475.iedit   +++|          SX2    E
02572  M01S02476.iedit   +++|          RJ     SLN
02573  M01S02477.iedit   +++|          REWIND X2,R
02574  M01S02478.iedit   +++|          READEI X2
02575  M01S02479.iedit   +++| PLO6     READC  E,PCKDBF,MXWL+1  SET LINE INTO BUFFER
02576  M01S02480.iedit   +++|          NZ     X1,PLO10    IF EOI ENCOUNTERED
02577  M01S02481.iedit   +++|          BX6    X4
02578  M01S02482.iedit   +++|          EQ     PLO8        CHECK FOR END OF LINE
02579  M01S02483.iedit   +++|
02580  M01S02484.iedit   +++| PLO7     READO  X2
02581  M01S02485.iedit   +++| PLO8     MX0    -12
02582  M01S02486.iedit   +++|          BX6    -X0*X6
02583  M01S02487.iedit   +++|          NZ     X6,PLO7     IF NOT END OF LINE
02584  M01S02488.iedit   +++|          SA5    PCKDBF
02585  M01S02489.iedit   +++|          RJ     CLN         EVALUATE THE LINE NUMBER
02586  M01S02490.iedit   +++|          SA2    FNAI
02587  M01S02491.iedit   +++|          IX2    X6-X2
02588  M01S02492.iedit   +++|          NG     X2,PLO6     IF NOT POSITIONED AT OVERLAP POINT
02589  M01S02493.iedit   +++|          SA1    FNUM
02590  M01S02494.iedit   +++|          SX1    X1-FNMO
02591  M01S02495.iedit   +++|          NZ     X1,PLO9     IF NOT A *MOVE* FUNCTION
02592  M01S02496.iedit   +++|          NZ     X4,PLO6     IF LINE IS TO BE DELETED
02593  M01S02497.iedit   +++| PLO9     SA1    PLOA
02594  M01S02498.iedit   +++|          IX2    X1-X6
02595  M01S02499.iedit   +++|          NG     X2,PLO10    IF NO MORE OVERLAP
02596  M01S02500.iedit   +++|          SA2    INCR
02597  M01S02501.iedit   +++|          IX6    X1+X2
02598  M01S02502.iedit   +++|          SA6    PLOA        UPDATE OVERLAP BOUNDARY
02599  M01S02503.iedit   +++|          SX2    PCKDBF
02600  M01S02504.iedit   +++|          SB3    L
02601  M01S02505.iedit   +++|          RJ     MLB         INSTALL OVERLAP LINE INTO BUFFER
02602  M01S02506.iedit   +++|          EQ     PLO6        GET NEXT LINE
02603  M01S02507.iedit   +++|
02604  M01S02508.iedit   +++| PLO10    SKIPEI E
02605  M01S02509.iedit   +++|          SA1    LBFILE
02606  M01S02510.iedit   +++|          ZR     X1,PLO11    IF LINE BUFFER NOT ON FILE
02607  M01S02511.iedit   +++|          WRITER L
02608  M01S02512.iedit   +++|          REWIND X2
02609  M01S02513.iedit   +++| PLO11    SX7    B1+
02610  M01S02514.iedit   +++|          RJ     RLN         REPLACE OVERLAPPED LINE NUMBERS
02611  M01S02515.iedit   +++|          SX7    B1+
02612  M01S02516.iedit   +++|          SA7    LBFILE
02613  M01S02517.iedit   +++| PLO12    WRITER E,R         WRITE LINES TO *ZZZZZG1*
02614  M01S02518.iedit   +++| PLO13    SA1    SCRFIL
02615  M01S02519.iedit   +++|          ZR     X1,PLO14    IF NO LINES DELETED FROM ORIGINAL POSITION
02616  M01S02520.iedit   +++|          WRITER SCR1,R      WRITE DELETED LINES TO *ZZZZZG6*
02617  M01S02521.iedit   +++|
02618  M01S02522.iedit   +++|*         FLUSH TRUNCATED LINES IF NECESSARY
02619  M01S02523.iedit   +++|
02620  M01S02524.iedit   +++| PLO14    SA3    TRNCFET     CHECK FET STATUS
02621  M01S02525.iedit   +++|          MX2    -18
02622  M01S02526.iedit   +++|          BX3    -X2*X3
02623  M01S02527.iedit   +++|          SX2    A3+
02624  M01S02528.iedit   +++|          SX3    X3-3
02625  M01S02529.iedit   +++|          ZR     X3,PLO15    IF BUFFER NEVER WRITTEN TO DISK
02626  M01S02530.iedit   +++|          WRITER X2
02627  M01S02531.iedit   +++| PLO15    SA1    BOP
02628  M01S02532.iedit   +++|          ZR     X1,PLOX     IF NO *LNT* WAS GENERATED
02629  M01S02533.iedit   +++|          SA1    LTFILE
02630  M01S02534.iedit   +++|          ZR     X1,PLOX     IF *LNT* ENTIRELY IN BUFFER
02631  M01S02535.iedit   +++|          SX2    LNT1
02632  M01S02536.iedit   +++|          SA1    F.LNTBUF
02633  M01S02537.iedit   +++|          SA3    NMLS
02634  M01S02538.iedit   +++|          WRITEW X2,X1,X3    WRITE REMAINDER OF *LNT* TO DISK
02635  M01S02539.iedit   +++|          WRITER X2,R
02636  M01S02540.iedit   +++|          EQ     PLOX        RETURN
02637  M01S02541.iedit   +++|
02638  M01S02542.iedit   +++| PLO16    SA1    LBFILE
02639  M01S02543.iedit   +++|          ZR     X1,PLO13    IF NO NEED TO WRITE OUT SELECTED LINES
02640  M01S02544.iedit   +++|          EQ     PLO12       WRITE LINES TO *ZZZZZG1*
02641  M01S02545.iedit   +++|
02642  M01S02546.iedit   +++| PLOA     CON    0           LINE WITH WHICH RESEQUENCING BEGINS
02643  M01S02547.iedit   +++|
02644  M01S02548.iedit   +++| PLOB     BSS    0           TABLE OF *YES* RESPONSES
02645  M01S02549.iedit   +++|          VFD    24/0,18/7631B,18/1RY  *ASCII*
02646  M01S02550.iedit   +++|          VFD    24/0,18/1RY,18/1RY    *NORMAL*
02647  M01S02551.iedit   +++|          VFD    24/0,18/171B,18/131B  *ASCII8*
02648  M01S02552.iedit   +++|
02649  M01S02553.iedit   +++| PLOC     BSS    0           TABLE OF *NO* RESPONSES
02650  M01S02554.iedit   +++|          VFD    24/0,18/7616B,18/1RN  *ASCII*
02651  M01S02555.iedit   +++|          VFD    24/0,18/1RN,18/1RN    *NORMAL*
02652  M01S02556.iedit   +++|          VFD    24/0,18/156B,18/116B  *ASCII8
02653  M01S02557.iedit   +++|
02654  M01S02558.iedit   +++| PLOD     BSS    0
02655  M01S02559.iedit   +++|          DATA   C*INSERT LINES OVERLAP EXISTING LINES, AT QQQQQ.*
02656  M01S02560.iedit   +++| PLOE     DATA   C*ENTER Y TO CONTINUE OR N TO STOP*
02657  M01S02561.iedit   +++| PWN      SPACE  4,20
02658  M01S02562.iedit   +++|**        PWN - PROCESS *WRITEN*.
02659  M01S02563.iedit   +++|*
02660  M01S02564.iedit   +++|*         *PWN* PACKS THE LINE IN THE STRING BUFFER INTO *PCKDBF*
02661  M01S02565.iedit   +++|*         AFTER STRIPPING OFF THE LINE NUMBER.  IF THE FORTRAN
02662  M01S02566.iedit   +++|*         OPTION IS NOT SELECTED, A BLANK IS ALSO STRIPPED OFF.
02663  M01S02567.iedit   +++|*
02664  M01S02568.iedit   +++|*         ENTRY  CLIN = ADDRESS OF UNPACKED LINE.
02665  M01S02569.iedit   +++|*                (FOP) = FORTRAN OPTION.
02666  M01S02570.iedit   +++|*                (X1) = NUMBER OF LINE NUMBER DIGITS.
02667  M01S02571.iedit   +++|*
02668  M01S02572.iedit   +++|*         EXIT   PCKDBF  CONTAINS SHIFTED, PACKED LINE.
02669  M01S02573.iedit   +++|*
02670  M01S02574.iedit   +++|*         USES   X - 1, 2, 3.
02671  M01S02575.iedit   +++|*                A - 1, 2, 3.
02672  M01S02576.iedit   +++|*                B - 2, 4.
02673  M01S02577.iedit   +++|*
02674  M01S02578.iedit   +++|*         CALLS  PLB.
02675  M01S02579.iedit   +++|
02676  M01S02580.iedit   +++|
02677  M01S02581.iedit   +++| PWN      SUBR               ENTRY/EXIT
02678  M01S02582.iedit   +++|          SA3    FOP
02679  M01S02583.iedit   +++|          NZ     X3,PWN1     IF FORTRAN SUBSYSTEM
02680  M01S00001.iedit1  +++|          SA3    NCOL
02681  M01S00002.iedit1  +++|          IX3    X3-X1
02682  M01S00003.iedit1  +++|          ZR     X3,PWN1     IF LINE CONSISTS OF A LINE NUMBER ONLY
02683  M01S02584.iedit   +++|          SA3    X1+CLIN
02684  M01S02585.iedit   +++|          SA2    BLNK
02685  M01S02586.iedit   +++|          BX2    X2-X3
02686  M01S02587.iedit   +++|          NZ     X2,PWN1     IF NOT BLANK
02687  M01S02588.iedit   +++|          SX1    X1+B1       INCREMENT STRIPOFF COUNT
02688  M01S02589.iedit   +++| PWN1     SA3    NCOL
02689  M01S02590.iedit   +++|          SA2    X1+CLIN     FIRST USABLE CHARACTER
02690  M01S02591.iedit   +++|          SB2    60          PACK LINE INTO BUFFER
02691  M01S02592.iedit   +++|          IX3    X3-X1
02692  M01S02593.iedit   +++|          SB4    X3
02693  M01S02594.iedit   +++|          SA1    PCKDBF
02694  M01S02595.iedit   +++|          RJ     PLB
02695  M01S02596.iedit   +++|          EQ     PWNX        RETURN
02696  M01S02597.iedit   +++| RLN      SPACE  4,25
02697  M01S02598.iedit   +++|**        RLN - REPLACE LINE NUMBER.
02698  M01S02599.iedit   +++|*
02699  M01S02600.iedit   +++|*         ENTRY  (X7) = 0, IF USER SELECTED LINES TO BE RENUMBERED.
02700  M01S02601.iedit   +++|*                       .NE. 0, IF OVERLAPPED LINES TO BE RENUMBERED.
02701  M01S02602.iedit   +++|*                (LBFILE) = 0, ALL LINES TO BE RESEQUENCED ARE IN
02702  M01S02603.iedit   +++|*                              *LNBUF*.
02703  M01S02604.iedit   +++|*                           1, LINES TO BE RESEQUENCED MUST BE READ
02704  M01S02605.iedit   +++|*                              FROM THE FILE POINTED TO BY FET *L*
02705  M01S02606.iedit   +++|*                              (*ZZZZZG0* OR THE *READ* FILE).
02706  M01S02607.iedit   +++|*         EXIT   (LBFILE) = 0, ALL RESEQUENCED LINES ARE IN *EFBUF*.
02707  M01S02608.iedit   +++|*                           1, AT LEAST SOME OF THE RESEQUENCED LINES
02708  M01S02609.iedit   +++|*                              HAVE BEEN WRITTEN TO FILE *ZZZZZG1*
02709  M01S02610.iedit   +++|*                              USING FET *E*.
02710  M01S02611.iedit   +++|*                (LTFILE) = 0, ALL *LNT* ENTRIES ARE IN *LNTBUF, IF
02711  M01S02612.iedit   +++|*                              ANY EXIST.
02712  M01S02613.iedit   +++|*                           1, AT LEAST SOME OF THE *LNT* ENTRIES HAVE
02713  M01S02614.iedit   +++|*                              BEEN WRITTEN TO FILE *ZZZZZG2* USING
02714  M01S02615.iedit   +++|*                              FET *LNT1*.
02715  M01S02616.iedit   +++|*                (SCRFIL) = 0, NO LINES HAVE BEEN DELETED FROM THEIR
02716  M01S02617.iedit   +++|*                              ORIGINAL POSITIONS.
02717  M01S02618.iedit   +++|*                           1, THE LINE NUMBERS OF LINES TO BE DELETED
02718  M01S02619.iedit   +++|*                              FROM THEIR ORIGINAL POSITIONS HAVE BEEN
02719  M01S02620.iedit   +++|*                              WRITTEN INTO *SCRBB* USING FET *SCR1*.
02720  M01S02621.iedit   +++|*                              SOME OF THE ENTRIES MAY HAVE BEEN
02721  M01S02622.iedit   +++|*                              FLUSHED TO FILE *ZZZZZG6*.
02722  M01S02623.iedit   +++|*
02723  M01S02624.iedit   +++|*         USES   X - ALL.
02724  M01S02625.iedit   +++|*                A - 1, 2, 3, 4, 5, 6, 7.
02725  M01S02626.iedit   +++|*                B - 2, 3, 4, 5, 6.
02726  M01S02627.iedit   +++|*
02727  M01S02628.iedit   +++|*         CALLS  ABL, CNL, MLB, MLT, SBE, SLN, USB, VPL, WTL.
02728  M01S02629.iedit   +++|*
02729  M01S02630.iedit   +++|*         MACROS MOVE, READC, READEI, READO, WRITEO.
02730  M01S02631.iedit   +++|
02731  M01S02632.iedit   +++|
02732  M01S02633.iedit   +++| RLN      SUBR               ENTRY/EXIT
02733  M01S02634.iedit   +++|          SA7    RLNA
02734  M01S02635.iedit   +++|          SX6    B0+
02735  M01S02636.iedit   +++|          SA6    RLNB        INITIALIZE NUMBER OF CHAR TO MOVE
02736  M01S02637.iedit   +++|          SA5    TSF+1
02737  M01S02638.iedit   +++|          SX2    E
02738  M01S02639.iedit   +++|          RJ     SLN
02739  M01S02640.iedit   +++|          SX5    B0+
02740  M01S02641.iedit   +++|          RJ     SBE         SET *EFBUF* TO EMPTY
02741  M01S02642.iedit   +++|          SA3    LBFILE
02742  M01S02643.iedit   +++|          NZ     X3,RLN1     IF LINE BUFFER ON FILE
02743  M01S02644.iedit   +++|          SA5    L           SET EOI STATUS INTO FET
02744  M01S02645.iedit   +++|          SX6    741031B
02745  M01S02646.iedit   +++|          MX4    42
02746  M01S02647.iedit   +++|          BX6    -X4*X6
02747  M01S02648.iedit   +++|          BX5    X4*X5
02748  M01S02649.iedit   +++|          BX6    X5+X6
02749  M01S02650.iedit   +++|          SA6    A5+
02750  M01S02651.iedit   +++|          EQ     RLN2        DO NOT READ FILE
02751  M01S02652.iedit   +++|
02752  M01S02653.iedit   +++| RLN1     READEI L
02753  M01S02654.iedit   +++|          SX6    B0+
02754  M01S02655.iedit   +++|          SA6    LBFILE      RESET *LBFILE* TO ZERO
02755  M01S02656.iedit   +++| RLN2     SX2    L
02756  M01S02657.iedit   +++|          SX6    B0+
02757  M01S02658.iedit   +++|          SA6    FLAGS
02758  M01S02659.iedit   +++|          SA6    TRNC
02759  M01S02660.iedit   +++|          READC  X2,PCKDBF,MXWL+1
02760  M01S02661.iedit   +++|          NZ     X1,RLN21    IF EOI ENCOUNTERED
02761  M01S02662.iedit   +++|          BX6    X4
02762  M01S02663.iedit   +++| RLN3     MX0    -12
02763  M01S02664.iedit   +++|          BX6    -X0*X6
02764  M01S02665.iedit   +++|          ZR     X6,RLN4     IF EOL ENCOUNTERED
02765  M01S02666.iedit   +++|          READO  X2
02766  M01S02667.iedit   +++|          EQ     RLN3        CHECK FOR END OF LINE
02767  M01S02668.iedit   +++|
02768  M01S02669.iedit   +++|*         GET THE LINE NUMBER.
02769  M01S02670.iedit   +++|
02770  M01S02671.iedit   +++| RLN4     SA5    PCKDBF
02771  M01S02672.iedit   +++|          RJ     VPL         EVALUATE THE PACKED LINE NUMBER
02772  M01S02673.iedit   +++|          SA6    OBLN
02773  M01S02674.iedit   +++|          SA7    RLNC
02774  M01S02675.iedit   +++|          ZR     X3,RLN2     IF A DELETED LINE FOUND ON THE *READ* FILE
02775  M01S02676.iedit   +++|
02776  M01S02677.iedit   +++|*         IF THE FIRST LINE IN THE FILE, THEN CHECK FOR A
02777  M01S02678.iedit   +++|*         LINE NUMBER.
02778  M01S02679.iedit   +++|
02779  M01S02680.iedit   +++|          SA2    RLNB
02780  M01S02681.iedit   +++|          NZ     X2,RLN7     IF NOT THE FIRST LINE IN THE FILE
02781  M01S02682.iedit   +++|          SA3    RLNA
02782  M01S02683.iedit   +++|          ZR     X3,RLN5     IF NOT OVERLAPPED LINES
02783  M01S02684.iedit   +++|          SA6    OLLE        STORE LOWER BOUNDARY FOR OVERLAPPED LINES
02784  M01S02685.iedit   +++| RLN5     BX3    X7
02785  M01S02686.iedit   +++|          MX7    1
02786  M01S02687.iedit   +++|          NZ     X3,RLN6     IF LINE NUMBER PRESENT
02787  M01S02688.iedit   +++|          SX6    B1+         SET UNNUMBERED *READ* FILE FLAG
02788  M01S02689.iedit   +++|          SA6    UNRF
02789  M01S02690.iedit   +++|          SX7    NUMD
02790  M01S02691.iedit   +++|          SA2    FOP
02791  M01S02692.iedit   +++|          SX7    X7+CLIN
02792  M01S02693.iedit   +++|          NZ     X2,RLN6     IF FORTRAN SUBSYSTEM
02793  M01S02694.iedit   +++|          SX7    X7+1
02794  M01S02695.iedit   +++| RLN6     SA7    RLNB
02795  M01S02696.iedit   +++|
02796  M01S02697.iedit   +++|*         UNPACK THE LINE AND SET THE TRUNCATE BIT IF NECESSARY.
02797  M01S02698.iedit   +++|
02798  M01S02699.iedit   +++| RLN7     SB2    PCKDBF
02799  M01S02700.iedit   +++|          SA2    CSTI
02800  M01S02701.iedit   +++|          SB6    MXCIL+1
02801  M01S02702.iedit   +++|          SB3    X2+
02802  M01S02703.iedit   +++|          RJ     USB         UNPACK LINE INTO STRING BUFFER
02803  M01S02704.iedit   +++|          SB4    B7-B6
02804  M01S02705.iedit   +++|          SB4    B4+B1
02805  M01S02706.iedit   +++|
02806  M01S02707.iedit   +++|*         FIND THE LAST NON-BLANK CHARACTER.
02807  M01S02708.iedit   +++|
02808  M01S02709.iedit   +++|          SB2    MXCIL
02809  M01S02710.iedit   +++|          SA4    BLNK
02810  M01S02711.iedit   +++|          GE     B2,B4,RLN8  IF LINE NOT TOO LONG
02811  M01S02712.iedit   +++|          SB4    MXCIL
02812  M01S02713.iedit   +++|          SX7    B1
02813  M01S02714.iedit   +++|          SA7    TRNC        FLAG LINE AS TRUNCATED
02814  M01S02715.iedit   +++|          EQ     RLN9        SET NUMBER OF CHARACTERS IN LINE
02815  M01S02716.iedit   +++|
02816  M01S02717.iedit   +++| RLN8     SA3    B4+CLIN-1
02817  M01S02718.iedit   +++|          BX3    X3-X4
02818  M01S02719.iedit   +++|          NZ     X3,RLN9     IF CHARACTER NOT A BLANK
02819  M01S02720.iedit   +++|          SB4    B4-1
02820  M01S02721.iedit   +++|          EQ     RLN8        CHECK THE NEXT CHARACTER
02821  M01S02722.iedit   +++|
02822  M01S02723.iedit   +++| RLN9     SX7    B4+
02823  M01S02724.iedit   +++|          SA7    NCOL
02824  M01S02725.iedit   +++|
02825  M01S02726.iedit   +++|*         IF FUNCTION IS A *MOVE* COMMAND OR THE LINE IS AN OVERLAP
02826  M01S02727.iedit   +++|*         LINE, THEN INSTALL THE DELETED LINE NUMBER IN (SCR1).
02827  M01S02728.iedit   +++|
02828  M01S02729.iedit   +++|          SA3    RLNA
02829  M01S02730.iedit   +++|          SA1    FNUM
02830  M01S02731.iedit   +++|          SX2    X1-FNMO
02831  M01S02732.iedit   +++|          NZ     X3,RLN10    IF AN OVERLAPPED LINE
02832  M01S02733.iedit   +++|          NZ     X2,RLN11    IF NOT A *MOVE* COMMAND
02833  M01S02734.iedit   +++| RLN10    SA1    PCKDBF
02834  M01S02735.iedit   +++|          SA2    RLNC
02835  M01S02736.iedit   +++|          SX6    6           CALCULATE MASK SIZE
02836  M01S02737.iedit   +++|          IX2    X2*X6
02837  M01S02738.iedit   +++|          SB4    X2
02838  M01S02739.iedit   +++|          MX2    B4          FORM MASK INTO (X2)
02839  M01S02740.iedit   +++|          BX6    X2*X1
02840  M01S02741.iedit   +++|          WRITEO SCR1        WRITE LINE NUMBER TO SCRATCH FILE
02841  M01S02742.iedit   +++|          SX6    B1+
02842  M01S02743.iedit   +++|          SA6    SCRFIL
02843  M01S02744.iedit   +++|
02844  M01S02745.iedit   +++|*         GET NEW LINE NUMBER FOR LINE AND CHECK IF NEW LINE
02845  M01S02746.iedit   +++|*         NUMBER VALUE WOULD BE TOO LARGE.
02846  M01S02747.iedit   +++|
02847  M01S02748.iedit   +++| RLN11    SA1    LSRA        SET VALUE (BINARY) OF NEW LINE NUMBER
02848  M01S02749.iedit   +++|          SA2    INCR
02849  M01S02750.iedit   +++|          IX7    X1+X2       INCREMENT FOR NEXT LINE NUMBER
02850  M01S02751.iedit   +++|          SX4    MXLN+1
02851  M01S02752.iedit   +++|          SA7    A1
02852  M01S02753.iedit   +++|          IX7    X1-X4       COMPARE WITH LARGEST POSSIBLE NUMBER
Line S02754 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
02853  M02S02754.iedit2  ---|          SX5    ERRNTL
02854  M01S00079.iedit2  +++|          SX5    ERRNTL      *LINE NUMBER LIMIT EXCEEDED.*
02855  M01S02755.iedit   +++|          PL     X7,ERR      IF NUMBER TOO LARGE, ISSUE ERROR MESSAGE
02856  M01S02756.iedit   +++|          SX7    X1+
02857  M01S02757.iedit   +++|          SA7    NBLN
02858  M01S02758.iedit   +++|
02859  M01S02759.iedit   +++|*         CONVERT NEW LINE NUMBER TO DISPLAY CODE.
02860  M01S02760.iedit   +++|
02861  M01S02761.iedit   +++|          RJ     CNL         CONVERT AND NORMALIZE LINE NUMBER
02862  M01S02762.iedit   +++|          SA6    RLND        SAVE LINE NUMBER
02863  M01S02763.iedit   +++|
02864  M01S02764.iedit   +++|*         MOVE LINE OVER IF NECESSARY.
02865  M01S02765.iedit   +++|
02866  M01S02766.iedit   +++|          SX2    CLIN
02867  M01S02767.iedit   +++|          SA3    RLNB
02868  M01S02768.iedit   +++|          PL     X3,RLN12    IF NO LINE NUMBERS ON LINES
02869  M01S02769.iedit   +++|          SA1    NCOL
02870  M01S02770.iedit   +++|          SA2    RLNC        NUMBER OF CHARACTERS IN OLD LINE NUMBER
Line S02771 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
02871  M02S02771.iedit2  ---|          SX5    ERRNLN
02872  M01S00080.iedit2  +++|          SX5    ERRNLN      *NO LINE NUMBER ON LINE.*
02873  M01S02772.iedit   +++|          ZR     X2,ERR      IF NO LINE NUMBER PRESENT
02874  M01S02773.iedit   +++|          SX3    NUMD+CLIN
02875  M01S02774.iedit   +++|          SX2    X2+CLIN
02876  M01S02775.iedit   +++| RLN12    IX1    X3-X2
02877  M01S02776.iedit   +++|          ZR     X1,RLN14    IF LINE NUMBERS ARE THE SAME LENGTH
02878  M01S02777.iedit   +++|          SA4    NCOL
02879  M01S02778.iedit   +++|          SB3    MXCIL+1
02880  M01S02779.iedit   +++|          IX7    X4+X1
02881  M01S02780.iedit   +++|          SB2    X7
02882  M01S02781.iedit   +++|          GT     B3,B2,RLN13 IF LINE WILL NOT BE TRUNCATED
02883  M01S02782.iedit   +++|          SX6    B1+
02884  M01S02783.iedit   +++|          SA6    TRNC
02885  M01S02784.iedit   +++|          SX7    MXCIL
02886  M01S02785.iedit   +++| RLN13    SA7    NCOL        UPDATE LENGTH OF MOVED LINE
02887  M01S02786.iedit   +++|          SX7    X7+CLIN     COMPUTE STRING LENGTH TO MOVE
02888  M01S02787.iedit   +++|          IX1    X7-X3
02889  M01S02788.iedit   +++|          ZR     X1,RLN14    IF NO CHARACTERS TO MOVE
02890  M01S02789.iedit   +++|          MOVE   X1,X2,X3    MOVE LINE OVER
02891  M01S02790.iedit   +++|
02892  M01S02791.iedit   +++|*         REPLACE LINE NUMBER ON LINE WITH NEW NUMBER.
02893  M01S02792.iedit   +++|
02894  M01S02793.iedit   +++| RLN14    SA1    RLND
02895  M01S02794.iedit   +++|          SA2    CSTI
02896  M01S02795.iedit   +++|          MX0    -NBIC
02897  M01S02796.iedit   +++|          SB4    B0
02898  M01S02797.iedit   +++|          SB5    30
02899  M01S02798.iedit   +++|          SB2    X2+
02900  M01S02799.iedit   +++|          SB3    B0+
02901  M01S02800.iedit   +++| RLN15    SB4    B4+6
02902  M01S02801.iedit   +++|          LX6    X1,B4
02903  M01S02802.iedit   +++|          BX6    -X0*X6
02904  M01S02803.iedit   +++|          LE     B2,RLN16    IF NOT *ASCII8* CHARACTER SET
02905  M01S02804.iedit   +++|          SX6    X6+25B      CONVERT CHARACTER TO *ASCII8*
02906  M01S02805.iedit   +++| RLN16    SA6    CLIN+B3
02907  M01S02806.iedit   +++|          SB3    B3+1
02908  M01S02807.iedit   +++|          NE     B4,B5,RLN15 IF NOT THROUGH INSERTING LINE NUMBER
02909  M01S02808.iedit   +++|          SA4    BLNK
02910  M01S02809.iedit   +++|          SA2    FOP
02911  M01S02810.iedit   +++|          SA1    RLNB
02912  M01S02811.iedit   +++|          NZ     X2,RLN17    IF BLANK NOT TO FOLLOW LINE NUMBER
02913  M01S02812.iedit   +++|          NG     X1,RLN17    IF REPLACING EXISTING LINE NUMBER
02914  M01S02813.iedit   +++|          SX7    X4+
02915  M01S02814.iedit   +++|          SA7    B3+CLIN
02916  M01S02815.iedit   +++|
02917  M01S02816.iedit   +++|*         ADD PROPER NUMBER OF TRAILING BLANKS TO LINE AND
02918  M01S02817.iedit   +++|*         INSTALL LINE WITH NEW LINE NUMBER INTO *EFBUF*.
02919  M01S02818.iedit   +++|
02920  M01S02819.iedit   +++| RLN17    SX2    NUMD
02921  M01S02820.iedit   +++|          RJ     ABL
02922  M01S02821.iedit   +++|          SB3    E
02923  M01S02822.iedit   +++|          MX2    1           LINE IS IN CHARACTER BUFFER
02924  M01S02823.iedit   +++|          RJ     MLB         PUT LINE INTO *EFBUF*
02925  M01S02824.iedit   +++|          SA2    TRNC
02926  M01S02825.iedit   +++|          ZR     X2,RLN18    IF LINE WAS NOT TRUNCATED
02927  M01S02826.iedit   +++|          SA1    NBLN
02928  M01S02827.iedit   +++|          RJ     WTL         WRITE TRUNCATED LINE NUMBER
02929  M01S02828.iedit   +++| RLN18    SA2    RLNA
02930  M01S02829.iedit   +++|          ZR     X2,RLN20    IF NOT AN OVERLAP LINE
02931  M01S02830.iedit   +++|          SA2    FLAGS
02932  M01S02831.iedit   +++|          SX1    B1+
02933  M01S02832.iedit   +++|          LX1    FOVL-0
02934  M01S02833.iedit   +++|          BX6    X1+X2
02935  M01S02834.iedit   +++|          SA6    A2+         SET OVERLAP BIT
02936  M01S02835.iedit   +++| RLN19    SA2    BOP
02937  M01S02836.iedit   +++|          ZR     X2,RLN2     IF *LNT* NOT NEEDED
02938  M01S02837.iedit   +++|          RJ     MLT         BUILD *LNT* ENTRY
02939  M01S02838.iedit   +++|          EQ     RLN2        PROCESS NEXT LINE
02940  M01S02839.iedit   +++|
02941  M01S02840.iedit   +++| RLN20    SA1    NNOL
02942  M01S02841.iedit   +++|          SX6    X1+B1
02943  M01S02842.iedit   +++|          SA6    A1          INCREMENT NUMBER OF NON-OVERLAPPED LINES
02944  M01S02843.iedit   +++|          SA1    FNUM
02945  M01S02844.iedit   +++|          SX1    X1-FNRE
02946  M01S02845.iedit   +++|          NZ     X1,RLN19    IF NOT A *READ* FUNCTION
02947  M01S02846.iedit   +++|          SA1    RLNB
02948  M01S02847.iedit   +++|          NG     X1,RLN19    IF *READ* FILE HAD LINE NUMBERS
02949  M01S02848.iedit   +++|          EQ     RLN2        PROCESS NEXT LINE
02950  M01S02849.iedit   +++|
02951  M01S02850.iedit   +++| RLN21    SA1    RLNA
02952  M01S02851.iedit   +++|          ZR     X1,RLNX     IF NOT PROCESSING OVERLAPPED LINES
02953  M01S02852.iedit   +++|          SA1    OBLN
02954  M01S02853.iedit   +++|          SA2    OLLE
02955  M01S02854.iedit   +++|          LX1    18
02956  M01S02855.iedit   +++|          MX3    1
02957  M01S02856.iedit   +++|          BX6    X1+X2       ADD UPPER BOUNDARY FOR OVERLAPPED LINES
02958  M01S02857.iedit   +++|          BX6    X3+X6       SET END OF LINE RANGE TABLE
02959  M01S02858.iedit   +++|          SA6    A2
02960  M01S02859.iedit   +++|          EQ     RLNX        RETURN
02961  M01S02860.iedit   +++|
02962  M01S02861.iedit   +++| RLNA     CON    0           OVERLAP PARAMETER
02963  M01S02862.iedit   +++| RLNB     CON    0           NUMBER OF CHARACTERS TO MOVE LINES OVER
02964  M01S02863.iedit   +++| RLNC     CON    0           NUMBER OF CHAR IN ORIGINAL LINE NUMBER
02965  M01S02864.iedit   +++| RLND     CON    0           NEW LINE NUMBER IN DISPLAY CODE
02966  M01S02865.iedit   +++| SLF      SPACE  4,25
02967  M01S02866.iedit   +++|**        SLF - SELECT LINES FROM FILE.
02968  M01S02867.iedit   +++|*
02969  M01S02868.iedit   +++|*         *SLF* SELECTS ALL LINES FROM THE EDIT FILE WHICH
02970  M01S02869.iedit   +++|*         SATISFY THE USER SPECIFIED CRITERIA.
02971  M01S02870.iedit   +++|*
02972  M01S02871.iedit   +++|*         ENTRY  E      = FET POINTING TO THE EDIT FILE.
02973  M01S02872.iedit   +++|*                (LNIA) = LINE NUMBER SPECIFIED BY THE USER AFTER
02974  M01S02873.iedit   +++|*                         WHICH SELECTED LINES ARE TO BE INSERTED.
02975  M01S02874.iedit   +++|*
02976  M01S02875.iedit   +++|*         EXIT   (LBFILE) = 0, ALL SELECTED LINES ARE IN *LNBUF*.
02977  M01S02876.iedit   +++|*                           1, ALL SELECTED LINES HAVE BEEN WRITTEN TO
02978  M01S02877.iedit   +++|*                              FILE *ZZZZZG0* USING FET *L*. THE FILE
02979  M01S02878.iedit   +++|*                              IS LEFT REWOUND.
02980  M01S02879.iedit   +++|*                (FNAI) = FIRST LINE NUMBER FOLLOWING USER SPECIFIED
02981  M01S02880.iedit   +++|*                         INSERT POINT.
02982  M01S02881.iedit   +++|*                (LSRA) = LINE NUMBER TO BE ASSIGNED TO THE
02983  M01S02882.iedit   +++|*                            FIRST INSERTED LINE.
02984  M01S02883.iedit   +++|*
02985  M01S02884.iedit   +++|*         USES   X - 0, 1, 2, 3, 5, 6, 7.
02986  M01S02885.iedit   +++|*                A - 1, 2, 3, 5, 6, 7.
02987  M01S02886.iedit   +++|*                B - 2, 3, 5, 7.
02988  M01S02887.iedit   +++|*
02989  M01S02888.iedit   +++|*         CALLS  CLN, MLB, SBE, SSF.
02990  M01S02889.iedit   +++|*
02991  M01S02890.iedit   +++|*         MACROS READEI, READC, READO, REWIND, WRITER.
02992  M01S02891.iedit   +++|
02993  M01S02892.iedit   +++|
02994  M01S02893.iedit   +++| SLF      SUBR               ENTRY/EXIT
02995  M01S02894.iedit   +++| SLF1     READEI E
02996  M01S02895.iedit   +++|
02997  M01S02896.iedit   +++|*         THIS MARKS THE BEGINNING OF THE MAIN LOOP.
02998  M01S02897.iedit   +++|*         CLEAR ALL FLAGS AND READ A LINE INTO THE WORKING BUFFER.
02999  M01S02898.iedit   +++|
03000  M01S02899.iedit   +++| SLF2     READC  E,PCKDBF,MXWL+1
03001  M01S02900.iedit   +++|          NZ     X1,SLF8     IF EOI ENCOUNTERED
03002  M01S02901.iedit   +++|          BX6    X4
03003  M01S02902.iedit   +++| SLF3     MX0    -12
03004  M01S02903.iedit   +++|          BX6    -X0*X6
03005  M01S02904.iedit   +++|          ZR     X6,SLF4     IF END OF LINE ENCOUNTERED
03006  M01S02905.iedit   +++|          READO  X2
03007  M01S02906.iedit   +++|          EQ     SLF3        CHECK FOR END OF LINE
03008  M01S02907.iedit   +++|
03009  M01S02908.iedit   +++|*         CRACK THE LINE NUMBER AND STORE ITS VALUE AND LENGTH.
03010  M01S02909.iedit   +++|
03011  M01S02910.iedit   +++| SLF4     SA5    PCKDBF
03012  M01S02911.iedit   +++|          RJ     CLN
03013  M01S02912.iedit   +++|          SA2    OBLN
03014  M01S02913.iedit   +++|          IX2    X2-X6
03015  M01S02914.iedit   +++|          PL     X2,SLF9     IF NUMBER .LT. PREVIOUS LINE NUMBER
03016  M01S02915.iedit   +++|          ZR     X3,SLF9     IF LINE A NUMBER ONLY
03017  M01S02916.iedit   +++|          SA6    OBLN
03018  M01S02917.iedit   +++|          SA6    NBLN
03019  M01S02918.iedit   +++|          SA1    FNUM
03020  M01S02919.iedit   +++|          SX2    X1-FNMO
03021  M01S02920.iedit   +++|          NZ     X2,SLF5     IF A *READ* OR *DUP* FUNCTION
03022  M01S02921.iedit   +++|          NZ     X4,SLF7     IF LINE SELECTED BY *MOVE* COMMAND
03023  M01S02922.iedit   +++|
03024  M01S02923.iedit   +++|*         IF NECESSARY, UPDATE THE LAST LINE NUMBER IN THE FILE.
03025  M01S02924.iedit   +++|
03026  M01S02925.iedit   +++| SLF5     SA5    LNIA
03027  M01S02926.iedit   +++|          SX2    X5-MXLN-1
03028  M01S02927.iedit   +++|          NG     X2,SLF6     IF USER SPECIFIED A LINE NUMBER
03029  M01S02928.iedit   +++|          SA6    SLFB
03030  M01S02929.iedit   +++|          EQ     SLF7        CHECK IF LINE IS SELECTED
03031  M01S02930.iedit   +++|
03032  M01S02931.iedit   +++|*         IF NECESSARY, UPDATE THE FIRST LINE NUMBER AFTER
03033  M01S02932.iedit   +++|*         THE INSERT POINT.
03034  M01S02933.iedit   +++|
03035  M01S02934.iedit   +++| SLF6     SA3    FNAI
03036  M01S02935.iedit   +++|          SB3    X6+
03037  M01S02936.iedit   +++|          SB5    X5          GET LINE NUMBER TO INSERT AFTER
03038  M01S02937.iedit   +++|          SB7    X3          GET FIRST LINE NUMBER AFTER INSERT POINT
03039  M01S02938.iedit   +++|          GE     B5,B3,SLF7  IF CURRENT LINE BEFORE INSERT POINT
03040  M01S02939.iedit   +++|          LT     B7,B3,SLF7  IF CURRENT LINE BEYOND INSERT POINT
03041  M01S02940.iedit   +++|          SA6    FNAI
03042  M01S02941.iedit   +++|
03043  M01S02942.iedit   +++|*         IF LINE IS SELECTED BASED UPON ITS LINE NUMBER,
03044  M01S02943.iedit   +++|*         PUT THE LINE IN *LNBUF*.
03045  M01S02944.iedit   +++|
03046  M01S02945.iedit   +++| SLF7     SA1    FNUM
03047  M01S02946.iedit   +++|          SX1    X1-FNRE
03048  M01S02947.iedit   +++|          ZR     X1,SLF2     IF *READ*, PROCESS NEXT LINE
03049  M01S02948.iedit   +++|          ZR     X4,SLF2     IF LINE NOT SELECTED
03050  M01S02949.iedit   +++|          SX7    B1+
03051  M01S02950.iedit   +++|          SA7    SLFA        A LINE WAS FOUND
03052  M01S02951.iedit   +++|          SX2    PCKDBF
03053  M01S02952.iedit   +++|          SB3    L
03054  M01S02953.iedit   +++|          RJ     MLB         ADD LINE TO LINE BUFFER
03055  M01S02954.iedit   +++|          EQ     SLF2        PROCESS THE NEXT LINE
03056  M01S02955.iedit   +++|
03057  M01S02956.iedit   +++|*         FINISH UP AFTER SCAN OF EDIT FILE IS COMPLETED.
03058  M01S02957.iedit   +++|
03059  M01S02958.iedit   +++| SLF8     SA1    FNUM
03060  M01S02959.iedit   +++|          SX1    X1-FNRE
03061  M01S02960.iedit   +++|          ZR     X1,SLF10    IF A *READ* FUNCTION
03062  M01S02961.iedit   +++|          SA1    SLFA
03063  M01S02962.iedit   +++|          NZ     X1,SLF10    IF AT LEAST ONE LINE SELECTED
Line S02963 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03064  M02S02963.iedit2  ---|          SX5    ERRNLF
03065  M01S00081.iedit2  +++|          SX5    ERRNLF      *NO LINES FOUND.*
03066  M01S02964.iedit   +++|          EQ     ERR         NO LINES FOUND
03067  M01S02965.iedit   +++|
03068  M01S02966.iedit   +++|*         SORT EDIT FILE WHEN NECESSARY.
03069  M01S02967.iedit   +++|
03070  M01S02968.iedit   +++| SLF9     SX2    L
03071  M01S02969.iedit   +++|          SA5    LBFILE
03072  M01S02970.iedit   +++|          RJ     SBE
03073  M01S02971.iedit   +++|          SX6    B0+
03074  M01S02972.iedit   +++|          SA6    LBFILE
03075  M01S02973.iedit   +++|          SA6    SLFA
03076  M01S02974.iedit   +++|          SX7    -1
03077  M01S02975.iedit   +++|          SA7    SLFB
03078  M01S02976.iedit   +++|          SA7    OBLN
03079  M01S02977.iedit   +++|          SX6    MXLN+1
03080  M01S02978.iedit   +++|          SA6    FNAI
03081  M01S02979.iedit   +++|          SB2    E
03082  M01S02980.iedit   +++|          RJ     SSF         SORT THE EDIT FILE
03083  M01S02981.iedit   +++|          EQ     SLF1        BEGIN SELECTION PHASE AGAIN
03084  M01S02982.iedit   +++|
03085  M01S02983.iedit   +++|*         IF NECESSARY, UPDATE THE LINE NUMBER TO INSERT AFTER.
03086  M01S02984.iedit   +++|*         DETERMINE THE LINE NUMBER TO START RESEQUENCING AT.
03087  M01S02985.iedit   +++|
03088  M01S02986.iedit   +++| SLF10    SA1    LNIA
03089  M01S02987.iedit   +++|          SX2    X1-MXLN-1
03090  M01S02988.iedit   +++|          NZ     X2,SLF11    IF INSERT POINT WAS SPECIFIED BY USER
03091  M01S02989.iedit   +++|          SA1    SLFB
03092  M01S02990.iedit   +++|          SX7    X1+
03093  M01S02991.iedit   +++|          SA7    LNIA
03094  M01S02992.iedit   +++| SLF11    SA2    INCR
03095  M01S02993.iedit   +++|          IX7    X1+X2
03096  M01S02994.iedit   +++|          SA7    LSRA
03097  M01S02995.iedit   +++|          SA1    LBFILE
03098  M01S02996.iedit   +++|          ZR     X1,SLFX     IF LINE BUFFER NOT WRITTEN TO FILE
03099  M01S02997.iedit   +++|          WRITER L           WRITE REST OF *LBUF* OUT TO FILE
03100  M01S02998.iedit   +++|          REWIND X2
03101  M01S02999.iedit   +++|          EQ     SLFX        RETURN
03102  M01S03000.iedit   +++|
03103  M01S03001.iedit   +++| SLFA     CON    0           LINES SELECTED FLAG
03104  M01S03002.iedit   +++| SLFB     CON    -1          LARGEST LINE NUMBER IN THE FILE
03105  M01S03003.iedit   +++| SLE      SPACE  4,15
03106  M01S03004.iedit   +++|**        SLE - SORT *LNT* ENTRIES.
03107  M01S03005.iedit   +++|*
03108  M01S03006.iedit   +++|*         ENTRY  (X1) = NUMBER OF ENTRIES TO SORT.
03109  M01S03007.iedit   +++|*                (B7) = FWA OF *LNT*
03110  M01S03008.iedit   +++|*
03111  M01S03009.iedit   +++|*         EXIT   *LNT* SORTED.
03112  M01S03010.iedit   +++|*
03113  M01S03011.iedit   +++|*         USES   X - 0, 1, 2, 3, 4, 6.
03114  M01S03012.iedit   +++|*                A - 1, 2, 6.
03115  M01S03013.iedit   +++|*                B - 5, 6.
03116  M01S03014.iedit   +++|
03117  M01S03015.iedit   +++|
03118  M01S03016.iedit   +++| SLE      SUBR               ENTRY/EXIT
03119  M01S03017.iedit   +++|          MX0    18
03120  M01S03018.iedit   +++|          LX0    -18
03121  M01S03019.iedit   +++|          SB5    X1+B7       LWA+1
03122  M01S03020.iedit   +++|          SB6    X1
03123  M01S03021.iedit   +++|          LE     B6,B1,SLEX  IF NOT AT LEAST TWO ENTRIES
03124  M01S03022.iedit   +++|          SA2    B7+         GET FIRST ENTRY
03125  M01S03023.iedit   +++|          SA1    A2+B1       GET SECOND ENTRY
03126  M01S03024.iedit   +++|          BX3    X0*X1
03127  M01S03025.iedit   +++| SLE1     BX4    X0*X2
03128  M01S03026.iedit   +++|          IX4    X3-X4
03129  M01S03027.iedit   +++|          PL     X4,SLE2     IF PROPER INSERT POINT FOUND
03130  M01S03028.iedit   +++|          BX6    X2
03131  M01S03029.iedit   +++|          SA6    A2+1
03132  M01S03030.iedit   +++|          SA2    A2-B1
03133  M01S03031.iedit   +++|          SB6    A2-B7
03134  M01S03032.iedit   +++|          PL     B6,SLE1     IF MORE ENTRIES TO CHECK
03135  M01S03033.iedit   +++| SLE2     BX6    X1
03136  M01S03034.iedit   +++|          SA6    A2+B1       PLACE ENTRY IN ITS PROPER SLOT
03137  M01S03035.iedit   +++|          SA1    A1+B1
03138  M01S03036.iedit   +++|          BX3    X0*X1
03139  M01S03037.iedit   +++|          SA2    A1-B1
03140  M01S03038.iedit   +++|          SB6    A1-B5
03141  M01S03039.iedit   +++|          NG     B6,SLE1     IF MORE ENTRIES TO SORT
03142  M01S03040.iedit   +++|          EQ     SLEX        EXIT
03143  M01S03041.iedit   +++| SLT      SPACE  4,20
03144  M01S03042.iedit   +++|**        SLT - SORT LINE NUMBER TABLE.
03145  M01S03043.iedit   +++|*
03146  M01S03044.iedit   +++|*         *SLT* SORTS THE *LNT* INTO ASCENDING ORDER
03147  M01S03045.iedit   +++|*         BASED UPON THE OLD LINE NUMBER FIELD.
03148  M01S03046.iedit   +++|*
03149  M01S03047.iedit   +++|*         ENTRY  (LTFILE) = 0, IF *LNT* IS NOT WRITTEN TO DISK.
03150  M01S03048.iedit   +++|*                           1, IF *LNT* IS WRITTEN TO DISK.
03151  M01S03049.iedit   +++|*
03152  M01S03050.iedit   +++|*         EXIT   *LNT* IS SORTED.
03153  M01S03051.iedit   +++|*
03154  M01S03052.iedit   +++|*         USES   X - 1, 2, 5.
03155  M01S03053.iedit   +++|*                A - 1, 2, 5.
03156  M01S03054.iedit   +++|*                B - 7.
03157  M01S03055.iedit   +++|*
03158  M01S03056.iedit   +++|*         CALLS  SBE, SLE, SLN, SMT.
03159  M01S03057.iedit   +++|*
03160  M01S03058.iedit   +++|*         MACROS READEI, RENAME, REWIND.
03161  M01S03059.iedit   +++|
03162  M01S03060.iedit   +++|
03163  M01S03061.iedit   +++| SLT1     SA5    TSF+2       PUT *ZZZZZG2* INTO FET *L*
03164  M01S03062.iedit   +++|          SX2    L
03165  M01S03063.iedit   +++|          RJ     SLN
03166  M01S03064.iedit   +++|          RENAME X2,TSF+4    RENAME *ZZZZZG2* TO *ZZZZZG4*
03167  M01S03065.iedit   +++|          REWIND X2,R
03168  M01S03066.iedit   +++| SLT2     READEI X2          READ A SEGMENT INTO *LNBUF*
03169  M01S03067.iedit   +++|          SA2    X2+B1
03170  M01S03068.iedit   +++|          SX2    X2
03171  M01S03069.iedit   +++|          SA1    A2+B1       GET *IN*
03172  M01S03070.iedit   +++|          IX1    X1-X2
03173  M01S03071.iedit   +++|          RJ     SMT         MERGE SEGMENT WITH NEW *LNT* FILE
03174  M01S03072.iedit   +++|          SX2    L
03175  M01S03073.iedit   +++|          SX5    B0+
03176  M01S03074.iedit   +++|          RJ     SBE
03177  M01S03075.iedit   +++|          SA1    X2
03178  M01S03076.iedit   +++|          LX1    59-9
03179  M01S03077.iedit   +++|          PL     X1,SLT2     IF MORE ENTRIES TO PROCESS
03180  M01S03078.iedit   +++|          SA5    TSF+0
03181  M01S03079.iedit   +++|          RJ     SLN         RESTORE *ZZZZZG0* INTO FET *L*
03182  M01S03080.iedit   +++|
03183  M01S03081.iedit   +++| SLT      SUBR               ENTRY/EXIT
03184  M01S03082.iedit   +++|          SA1    LTFILE
03185  M01S03083.iedit   +++|          NZ     X1,SLT1     IF *LNT* WRITTEN TO MASS STORAGE
03186  M01S03084.iedit   +++|          SA2    F.LNTBUF
03187  M01S03085.iedit   +++|          SA1    NMLS
03188  M01S03086.iedit   +++|          SB7    X2+
03189  M01S03087.iedit   +++|          RJ     SLE         SORT *LNT*
03190  M01S03088.iedit   +++|          EQ     SLTX        RETURN
03191  M01S03089.iedit   +++| SMT      SPACE  4,25
03192  M01S03090.iedit   +++|**        SMT - SORT AND MERGE LINE NUMBER TABLE.
03193  M01S03091.iedit   +++|*
03194  M01S03092.iedit   +++|*         WHEN THE LINE NUMBER TABLE BECOMES FULL, IT IS
03195  M01S03093.iedit   +++|*         SORTED AND MERGED WITH THE LINE NUMBER TABLE SCRATCH
03196  M01S03094.iedit   +++|*         FILE.
03197  M01S03095.iedit   +++|*
03198  M01S03096.iedit   +++|*         ENTRY  (X1) = NUMBER OF ENTRIES IN TABLE.
03199  M01S03097.iedit   +++|*                (X2) = FWA OF TABLE TO BE SORT/MERGED.
03200  M01S03098.iedit   +++|*                (LTFET) = FET ADDRESS OF SORT/MERGED *LNT* FILE.
03201  M01S03099.iedit   +++|*                (LT2FET) = FET ADDRESS OF SCRATCH FILE.
03202  M01S03100.iedit   +++|*
03203  M01S03101.iedit   +++|*         EXIT   (LTFET) = FET ADDRESS OF SORTED *LNT* FILE.
03204  M01S03102.iedit   +++|*                (LT2FET) = FET ADDRESS OF SCRATCH FILE.
03205  M01S03103.iedit   +++|*
03206  M01S03104.iedit   +++|*         USES   X - ALL.
03207  M01S03105.iedit   +++|*                A - 1, 2, 4, 5, 6, 7.
03208  M01S03106.iedit   +++|*                B - 6, 7.
03209  M01S03107.iedit   +++|*
03210  M01S03108.iedit   +++|*         CALLS  SLE.
03211  M01S03109.iedit   +++|*
03212  M01S03110.iedit   +++|*         MACROS READEI, READO, REWIND, WRITEO, WRITER.
03213  M01S03111.iedit   +++|
03214  M01S03112.iedit   +++|
03215  M01S03113.iedit   +++| SMT      SUBR               ENTRY/EXIT
03216  M01S03114.iedit   +++|          ZR     X1,SMTX     IF NO ENTRIES IN TABLE
03217  M01S03115.iedit   +++|          SX6    X2
03218  M01S03116.iedit   +++|          SX7    X1
03219  M01S03117.iedit   +++|          SA6    SMTA        STORE FWA OF TABLE
03220  M01S03118.iedit   +++|          SA7    SMTB        STORE NUMBER OF TABLE ENTRIES
03221  M01S03119.iedit   +++|          SA2    LT2FET
03222  M01S03120.iedit   +++|          REWIND X2,R
03223  M01S03121.iedit   +++|          SA2    LTFET
03224  M01S03122.iedit   +++|          REWIND X2,R
03225  M01S03123.iedit   +++|          READEI X2          PREPARE THE TWO FILES
03226  M01S03124.iedit   +++|          SA2    SMTA
03227  M01S03125.iedit   +++|          SA1    SMTB
03228  M01S03126.iedit   +++|          SB7    X2          FWA OF TABLE
03229  M01S03127.iedit   +++|          IX6    X1+X2
03230  M01S03128.iedit   +++|          SA6    SMTB        LWA+1 OF TABLE
03231  M01S03129.iedit   +++|          RJ     SLE         SORT THE *LNT*
03232  M01S03130.iedit   +++|          MX0    18
03233  M01S03131.iedit   +++|          LX0    -18
03234  M01S03132.iedit   +++|          SA1    SMTA
03235  M01S03133.iedit   +++|          SA5    X1          GET THE FIRST TABLE ENTRY
03236  M01S03134.iedit   +++|          SA2    LTFET
03237  M01S03135.iedit   +++|          READO  X2
03238  M01S03136.iedit   +++|          NZ     X1,SMT4     IF NO ENTRIES ON THE FILE
03239  M01S03137.iedit   +++| SMT1     BX3    X0*X5
03240  M01S03138.iedit   +++|          BX4    X0*X6
03241  M01S03139.iedit   +++|          IX3    X3-X4       COMPARE THE TWO ENTRIES
03242  M01S03140.iedit   +++|          PL     X3,SMT3     IF TABLE ENTRY .GE. THAN FILE ENTRY
03243  M01S03141.iedit   +++|          BX5    X5-X6
03244  M01S03142.iedit   +++|          BX6    X5-X6
03245  M01S03143.iedit   +++|          BX5    X5-X6       REVERSE X5 AND X6
03246  M01S03144.iedit   +++|          SA2    LT2FET
03247  M01S03145.iedit   +++|          WRITEO X2          WRITE TABLE ENTRY TO NEW FILE
03248  M01S03146.iedit   +++|          BX6    X5
03249  M01S03147.iedit   +++|          SA5    A5+B1       GET NEXT TABLE ENTRY
03250  M01S03148.iedit   +++|          SA4    SMTB
03251  M01S03149.iedit   +++|          SB6    A5
03252  M01S03150.iedit   +++|          SB7    X4
03253  M01S03151.iedit   +++|          GT     B7,B6,SMT1  IF A VALID TABLE ENTRY
03254  M01S03152.iedit   +++| SMT2     SA2    LT2FET      EMPTY *LNT* FILE TO NEW FILE
03255  M01S03153.iedit   +++|          WRITEO X2
03256  M01S03154.iedit   +++|          SA2    LTFET
03257  M01S03155.iedit   +++|          READO  X2
03258  M01S03156.iedit   +++|          ZR     X1,SMT2     IF ENTRIES REMAINING ON FILE
03259  M01S03157.iedit   +++|          EQ     SMT5        FINISH THE SORT
03260  M01S03158.iedit   +++|
03261  M01S03159.iedit   +++| SMT3     SA2    LT2FET      WRITE FILE ENTRY TO NEW FILE
03262  M01S03160.iedit   +++|          WRITEO X2
03263  M01S03161.iedit   +++|          SA2    LTFET
03264  M01S03162.iedit   +++|          READO  X2
03265  M01S03163.iedit   +++|          ZR     X1,SMT1     IF MORE ENTRIES ON FILE
03266  M01S03164.iedit   +++| SMT4     BX6    X5          EMPTY THE LINE NUMBER TABLE TO FILE
03267  M01S03165.iedit   +++|          SA2    LT2FET
03268  M01S03166.iedit   +++|          WRITEO X2          WRITE TABLE ENTRY TO FILE
03269  M01S03167.iedit   +++|          SA5    A5+B1
03270  M01S03168.iedit   +++|          SA4    SMTB
03271  M01S03169.iedit   +++|          SB6    A5
03272  M01S03170.iedit   +++|          SB7    X4
03273  M01S03171.iedit   +++|          GT     B7,B6,SMT4  IF ENTRIES REMAINING IN TABLE
03274  M01S03172.iedit   +++| SMT5     SA2    LT2FET
03275  M01S03173.iedit   +++|          WRITER X2          FLUSH BUFFER TO FILE
03276  M01S03174.iedit   +++|          SA1    LTFET
03277  M01S03175.iedit   +++|          SA2    LT2FET
03278  M01S03176.iedit   +++|          BX6    X1
03279  M01S03177.iedit   +++|          BX7    X2
03280  M01S03178.iedit   +++|          SA6    A2
03281  M01S03179.iedit   +++|          SA7    A1          SWITCH (LTFET) AND (LT2FET)
03282  M01S03180.iedit   +++|          EQ     SMTX        RETURN
03283  M01S03181.iedit   +++|
03284  M01S03182.iedit   +++| SMTA     CON    0           FWA OF TABLE
03285  M01S03183.iedit   +++| SMTB     CON    0           LWA OF TABLE
03286  M01S03184.iedit   +++|          TITLE  MEMORY ALLOCATION.
03287  M01S03185.iedit   +++|          SPACE  4,10
03288  M01S03186.iedit   +++| MEM      EQU    *           MANAGED TABLES START ADDRESS
03289  M01S03187.iedit   +++|          TITLE  PRESET.
03290  M01S03188.iedit   +++| PRS      SPACE  4,55
03291  M01S03189.iedit   +++|**        PRS - PRESET ARGUMENT PROCESSING.
03292  M01S03190.iedit   +++|*
Line S03191 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
M03 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03293  M03S03191.iedit2  ---|*         *PRS* ANALYZES THE CONTROL STATEMENT AND COMMAND LINE
Line S00006 Modification History
M01 (Added by) v23l617
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03294  M02S00006.iedit2  ---|*         *PRS* ANALYZES THE COMMAND AND COMMAND LINE
Line S03192 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03295  M02S03192.iedit2  ---|*         BUFFER.  THE FOLLOWING INFORMATION IS EXTRACTED AND
Line S03193 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03296  M02S03193.iedit2  ---|*         STORED.
03297  M01S00082.iedit2  +++|*         *PRS* ANALYZES THE COMMAND AND COMMAND LINE BUFFER.  THE
03298  M01S00083.iedit2  +++|*         FOLLOWING INFORMATION IS EXTRACTED AND STORED.
03299  M01S03194.iedit   +++|*                1. FILE NAME IN EFN  (FOR EDIT FILE NAME)
03300  M01S03195.iedit   +++|*                2. FLAGS DENOTING OPTIONS SPECIFIED
03301  M01S03196.iedit   +++|*                3. CHARACTER SET TYPE SPECIFIED
03302  M01S03197.iedit   +++|*                4. INFORMATION EXTRACTED FROM COMMAND LINE BUFFER
03303  M01S03198.iedit   +++|*
03304  M01S03199.iedit   +++|*         CELLS FOR THE SPECIFIED OPTIONS ARE SET OR LEFT ZERO
03305  M01S03200.iedit   +++|*         DEPENDING ON THEIR PRESENCES OR ABSENCE, RESPECTIVELY
03306  M01S03201.iedit   +++|*         IN *COPT*.  THESE FLAGS ARE SET IN THE FOLLOWING
03307  M01S03202.iedit   +++|*         LOCATIONS -
03308  M01S03203.iedit   +++|*                BOP  = FOR B OPTION (BASIC SUB-SYSTEM)
03309  M01S03204.iedit   +++|*                LOP  = FOR L OPTION (LIST OPTION)
03310  M01S03205.iedit   +++|*                FOP  = FOR F OPTION (FORTRAN SUB-SYSTEM)
03311  M01S03206.iedit   +++|*
Line S03207 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
M03 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03312  M03S03207.iedit2  ---|*         AFTER THE BREAKING UP AND STORING OF THE CONTROL STATEMENT
Line S00007 Modification History
M01 (Added by) v23l617
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03313  M02S00007.iedit2  ---|*         AFTER THE BREAKING UP AND STORING OF THE COMMAND
Line S03208 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03314  M02S03208.iedit2  ---|*         *FVT* IS EXECUTED TO FIND VERB IN TABLE (I.E. MATCH
Line S03209 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03315  M02S03209.iedit2  ---|*         THE VERB IN THE COMMAND LINE TO A VERB IN THE
Line S03210 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03316  M02S03210.iedit2  ---|*         TABLE OF DEFINED VERBS (TDVB))
Line S03211 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03317  M02S03211.iedit2  ---|*         WHEN A MATCH IS FOUND, *PVA* IS CALLED TO
Line S03212 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03318  M02S03212.iedit2  ---|*         PROCESS THE VERB ARGUMENTS. THIS ROUTINE
Line S03213 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03319  M02S03213.iedit2  ---|*         EXECUTES THE ROUTINES ASSOCIATED -VIA TDVB- WITH
Line S03214 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03320  M02S03214.iedit2  ---|*         THE VERB.
03321  M01S00084.iedit2  +++|*         AFTER THE BREAKING UP AND STORING OF THE COMMAND, *FVT* IS
03322  M01S00085.iedit2  +++|*         EXECUTED TO FIND VERB IN TABLE (I.E. MATCH THE VERB IN THE
03323  M01S00086.iedit2  +++|*         COMMAND LINE TO A VERB IN THE TABLE OF DEFINED VERBS (TDVB)).
03324  M01S00087.iedit2  +++|*         WHEN A MATCH IS FOUND, *PVA* IS CALLED TO PROCESS THE VERB
03325  M01S00088.iedit2  +++|*         ARGUMENTS.  THIS ROUTINE EXECUTES THE ROUTINES ASSOCIATED
03326  M01S00089.iedit2  +++|*         -VIA TDVB- WITH THE VERB.
03327  M01S03215.iedit   +++|*
Line S03216 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
M03 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03328  M03S03216.iedit2  ---|*         ENTRY  CONTROL STATEMENT STARTING IN RA+2 IN NORMAL DISPLAY
Line S00008 Modification History
M01 (Added by) v23l617
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03329  M02S00008.iedit2  ---|*         ENTRY  COMMAND STARTING IN RA+2 IN NORMAL DISPLAY
Line S03217 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03330  M02S03217.iedit2  ---|*                            CODE, IN STANDARD SYSTEM FORMAT.
03331  M01S00090.iedit2  +++|*         ENTRY  COMMAND STARTING IN RA+2 IN NORMAL DISPLAY CODE, IN
03332  M01S00091.iedit2  +++|*                         STANDARD SYSTEM FORMAT.
03333  M01S03218.iedit   +++|*                (CLB=) = FWA OF FET FOR COMMAND TO BE PROCESSED
03334  M01S03219.iedit   +++|*                         BY IEDIT.
03335  M01S03220.iedit   +++|*                (I) = FWA OF FET FOR INPUT FILE
03336  M01S03221.iedit   +++|*                     (WHICH CONTAINS THE FILE TO EDIT).
03337  M01S03222.iedit   +++|*
Line S03223 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
M03 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03338  M03S03223.iedit2  ---|*         EXIT   IEDIT CONTROL STATEMENT ANALYZED, INFORMATION
Line S00009 Modification History
M01 (Added by) v23l617
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03339  M02S00009.iedit2  ---|*         EXIT   IEDIT COMMAND ANALYZED, INFORMATION
Line S03224 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03340  M02S03224.iedit2  ---|*                            EXTRACTED AND STORED.
03341  M01S00092.iedit2  +++|*         EXIT   *IEDIT* COMMAND ANALYZED, INFORMATION EXTRACTED
03342  M01S00093.iedit2  +++|*                            AND STORED.
03343  M01S03225.iedit   +++|*                COMMAND LINE BUFFER INFORMATION EXTRACTED AND
03344  M01S03226.iedit   +++|*                            STORED IN APPROPRIATE CELLS AND TABLES.
03345  M01S03227.iedit   +++|*                FUNCTION TO BE PERFORMED ESTABLISHED
03346  M01S03228.iedit   +++|*                            (FUNCTION NUMBER RETURNED IN FNUM).
03347  M01S03229.iedit   +++|*                TO ERR - IF A FATAL ERROR CONDITION IS DETECTED.
03348  M01S03230.iedit   +++|*
03349  M01S03231.iedit   +++|*         USES   X - ALL.
03350  M01S03232.iedit   +++|*                A - 1, 2, 3, 4, 5, 6, 7.
03351  M01S03233.iedit   +++|*                B - 1, 2, 3, 4, 5, 6, 7.
03352  M01S03234.iedit   +++|*
03353  M01S03235.iedit   +++|*         CALLS  ARG, FVT, PVA, SST, USB.
03354  M01S03236.iedit   +++|*
03355  M01S03237.iedit   +++|*         MACROS FILINFO, MEMORY, MESSAGE, READ, REPRIEVE, SETLOF.
03356  M01S03238.iedit   +++|
03357  M01S03239.iedit   +++|
03358  M01S03240.iedit   +++| PRS      SUBR               ENTRY/EXIT
03359  M01S03241.iedit   +++|          MX6    1
03360  M01S03242.iedit   +++|          SA2    O+1         SET *FLUSH* BIT
03361  M01S03243.iedit   +++|          LX6    36-59
03362  M01S03244.iedit   +++|          SB1    1
03363  M01S03245.iedit   +++|          BX6    X6+X2
03364  M01S03246.iedit   +++|          SA6    A2
03365  M01S03247.iedit   +++|          SETLOF LOFPRM
03366  M01S03248.iedit   +++|          SA1    ACTR        SET UP FOR CALL TO *ARG*
03367  M01S03249.iedit   +++|          SA4    ARGR
03368  M01S03250.iedit   +++|          SB5    PRSA
03369  M01S03251.iedit   +++|          SB4    X1
03370  M01S03252.iedit   +++|          RJ     ARG         PROCESS ARGUMENTS
Line S03253 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03371  M02S03253.iedit2  ---|          SX5    ERRCSE
03372  M01S00094.iedit2  +++|          SX5    ERRCSE      *COMMAND ARGUMENT ERROR.*
03373  M01S03254.iedit   +++|          NZ     X1,ERR      IF ARGUMENT ERROR
03374  M01S03255.iedit   +++|          SA1    COPT        PROCESS *OP* LIST
03375  M01S03256.iedit   +++|          ZR     X1,PRS5     IF NO OPTIONS SPECIFIED
Line S03257 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03376  M02S03257.v23l617 ---|          MX0    60-18       CHECK FOR ILLEGAL *OP=*
03377  M01S00010.v23l617 +++|          MX0    60-18       CHECK FOR INCORRECT *OP=*
03378  M01S03258.iedit   +++|          BX7    X1*X0       ERROR IF 60-18 ALL ZEROES
Line S03259 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03379  M02S03259.iedit2  ---|          SX5    ERRCSE      SET ERROR MESSAGE
03380  M01S00095.iedit2  +++|          SX5    ERRCSE      *COMMAND ARGUMENT ERROR.*
Line S03260 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03381  M02S03260.v23l617 ---|          ZR     X7,ERR      IF ILLEGAL *OP=* PASSED
03382  M01S00011.v23l617 +++|          ZR     X7,ERR      IF INCORRECT *OP=* PASSED
03383  M01S03261.iedit   +++|
03384  M01S03262.iedit   +++|*         PROCESS *OP* PARAMETER CHECKING FOR VALIDITY.
03385  M01S03263.iedit   +++|
03386  M01S03264.iedit   +++|          SX7    B1          SET FOR USE AS FLAG
03387  M01S03265.iedit   +++|          MX0    6           MASK FOR OPTION
03388  M01S03266.iedit   +++| PRS1     BX2    X0*X1
03389  M01S03267.iedit   +++|          LX2    5-59        RIGHT JUSTIFY OPTION
03390  M01S03268.iedit   +++|          ZR     X2,PRS5     IF DONE CRACKING *OP*
03391  M01S03269.iedit   +++|          SB5    X2+         SET CURRENT *OP* BEING COMPARED
03392  M01S03270.iedit   +++|          SB2    1RB
03393  M01S03271.iedit   +++|          EQ     B2,B5,PRS2  IF *B* PARAMETER SET
03394  M01S03272.iedit   +++|          SB2    1RL
03395  M01S03273.iedit   +++|          EQ     B2,B5,PRS3  IF *L* PARAMETER SET
03396  M01S03274.iedit   +++|          SB2    1RF
03397  M01S03275.iedit   +++|          EQ     B2,B5,PRS4  IF *F* PARAMETER SET
Line S03276 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03398  M02S03276.iedit2  ---|          SX5    ERRCSE
03399  M01S00096.iedit2  +++|          SX5    ERRCSE      *COMMAND ARGUMENT ERROR.*
Line S03277 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03400  M02S03277.v23l617 ---|          EQ     ERR         *ILLEGAL *OP* SPECIFIED*
03401  M01S00012.v23l617 +++|          EQ     ERR         *INCORRECT *OP* SPECIFIED*
03402  M01S03278.iedit   +++|
03403  M01S03279.iedit   +++| PRS2     SA7    BOP         SET FOR *B* OPTION
03404  M01S03280.iedit   +++|          LX1    6           LINE UP LIST TO GET NEXT *OP*
03405  M01S03281.iedit   +++|          EQ     PRS1        PROCESS NEXT *OP*
03406  M01S03282.iedit   +++|
03407  M01S03283.iedit   +++| PRS3     SA7    LOP         SET FOR *L* OPTION
03408  M01S03284.iedit   +++|          SA7    LSTFIL
03409  M01S03285.iedit   +++|          LX1    6           LINE UP LIST TO GET NEXT *OP*
03410  M01S03286.iedit   +++|          EQ     PRS1        PROCESS NEXT *OP*
03411  M01S03287.iedit   +++|
03412  M01S03288.iedit   +++| PRS4     SA7    FOP         SET *F* OPTION SELECTED
03413  M01S03289.iedit   +++|          LX1    6
03414  M01S03290.iedit   +++|          EQ     PRS1        PROCESS NEXT *OP*
03415  M01S03291.iedit   +++|
03416  M01S03292.iedit   +++| PRS      SPACE  2,5
03417  M01S03293.iedit   +++|
03418  M01S03294.iedit   +++|*         VALIDATE AND SET CHARACTER SET TYPE
03419  M01S03295.iedit   +++|*                CSTI = -1 FOR ASCII 6/12
03420  M01S03296.iedit   +++|*                     = 0  FOR NORMAL
03421  M01S03297.iedit   +++|*                     = 1  FOR ASCII8
03422  M01S03298.iedit   +++|
03423  M01S03299.iedit   +++| PRS5     SA2    CSCS
03424  M01S03300.iedit   +++|          SX7    6
03425  M01S03301.iedit   +++|          SA1    PRSC
03426  M01S03302.iedit   +++|          BX6    X2-X1
03427  M01S03303.iedit   +++|          SX7    1R
03428  M01S03304.iedit   +++|          ZR     X6,PRS6     IF NORMAL CHARACTER SET
03429  M01S03305.iedit   +++|          SA1    PRSD
03430  M01S03306.iedit   +++|          SX6    -B1
03431  M01S03307.iedit   +++|          BX5    X2-X1
03432  M01S03308.iedit   +++|          ZR     X5,PRS6     IF ASCII 6/12
03433  M01S03309.iedit   +++|          SX7    40B
03434  M01S03310.iedit   +++|          SX6    1           CHARACTER SET MUST BE ASCII8
03435  M01S03311.iedit   +++|          SA1    PRSE
03436  M01S03312.iedit   +++|          BX5    X2-X1
03437  M01S03313.iedit   +++|          ZR     X5,PRS6     IF ASCII8
Line S03314 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03438  M02S03314.iedit2  ---|          SX5    ERRCSE
03439  M01S00097.iedit2  +++|          SX5    ERRCSE      *COMMAND ARGUMENT ERROR.*
03440  M01S03315.iedit   +++|          EQ     ERR         CHARACTER SET ERROR
03441  M01S03316.iedit   +++|
03442  M01S03317.iedit   +++| PRS6     SA6    CSTI        SAVE CHARACTER SET TYPE INDICATOR
03443  M01S03318.iedit   +++|          SA7    BLNK
03444  M01S03319.iedit   +++|          REPRIEVE  RPB,SET,200B  SET *REPRIEVE* PROCESSING
Line S03320 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03445  M02S03320.v23l617 ---|          MESSAGE  =0,1,R    CLEAR CONTROL STATEMENT FROM *MS1W*
03446  M01S00013.v23l617 +++|          MESSAGE  =0,1,R    CLEAR COMMAND FROM *MS1W*
03447  M01S03321.iedit   +++|          SA1    C+2         *IN* ADDRESS OF BUFFER
03448  M01S03322.iedit   +++|          SA2    A1+B1       ADDRESS OF FIRST WORD OF BUFFER
03449  M01S03323.iedit   +++|          IX3    X1-X2
03450  M01S03324.iedit   +++|          NZ     X3,PRS7     IF COMMAND TO PROCESS
03451  M01S03325.iedit   +++|          SX5    ERRNIV      *NON-EXISTANT EDIT VERB SPECIFIED.*
03452  M01S03326.iedit   +++|          EQ     ERR         PROCESS ERROR
03453  M01S03327.iedit   +++|
03454  M01S03328.iedit   +++| PRS7     SA1    CSTI
03455  M01S03329.iedit   +++|          SB2    X2
03456  M01S03330.iedit   +++|          SB3    X1
03457  M01S03331.iedit   +++|          SB6    MXCIL
03458  M01S03332.iedit   +++|          RJ     USB
03459  M01S03333.iedit   +++|          SA3    USBC
03460  M01S03334.iedit   +++|          SA3    X3
03461  M01S03335.iedit   +++| PRS8     SX3    X3-1R
03462  M01S03336.iedit   +++|          NZ     X3,PRS9     IF NOT BLANK CHARACTER
03463  M01S03337.iedit   +++|          SA3    A3-B1
03464  M01S03338.iedit   +++|          EQ     PRS8        GET NEXT CHARACTER
03465  M01S03339.iedit   +++|
03466  M01S03340.iedit   +++| PRS9     SX7    A3
03467  M01S03341.iedit   +++|          SA7    USBC
03468  M01S03342.iedit   +++|          SA3    CLIN-1
03469  M01S03343.iedit   +++|          RJ     FVT         FIND VERB IN TABLE
03470  M01S03344.iedit   +++|          RJ     PVA         PROCESS VERB ARGUMENTS
03471  M01S03345.iedit   +++|          SA1    NELR
03472  M01S03346.iedit   +++|          ZR     X1,PRS13    IF NO ENTRIES
03473  M01S03347.iedit   +++|          SB7    LRT
03474  M01S03348.iedit   +++|          SB6    X1+
03475  M01S03349.iedit   +++|          RJ     SST=        SORT LINE RANGE TABLE ENTRIES
03476  M01S03350.iedit   +++|
03477  M01S03351.iedit   +++|*         VALIDATE LINE RANGE TABLE ENTRIES.
03478  M01S03352.iedit   +++|
03479  M01S03353.iedit   +++|          SX5    ERREIE      LINE NUMBERS OVERLAP IN RANGE TABLE
03480  M01S03354.iedit   +++|          SB4    B0
03481  M01S03355.iedit   +++|          SA1    B7          FIRST HIGH ORDER VALUE
03482  M01S03356.iedit   +++|          SB3    X1          FIRST LOW ORDER VALUE
03483  M01S03357.iedit   +++|          AX1    18          HIGH ORDER VALUE OF PAIR
03484  M01S03358.iedit   +++|          SB5    X1+
Line S03359 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03485  M02S03359.v23l617 ---| PRS10    LT     B5,B3,PRS11 IF ILLEGAL LINE RANGE ENTRY
03486  M01S00014.v23l617 +++| PRS10    LT     B5,B3,PRS11 IF INCORRECT LINE RANGE ENTRY
03487  M01S03360.iedit   +++|          SB4    B4+1
03488  M01S03361.iedit   +++|          EQ     B4,B6,PRS12 IF NO MORE ENTRIES TO VALIDATE
03489  M01S03362.iedit   +++|          SA2    A1+B4       SET NEXT LOW ORDER VALUE
03490  M01S03363.iedit   +++|          SB3    X2
03491  M01S03364.iedit   +++|          LE     B3,B5,ERR   IF OVERLAP OF ENTRIES
03492  M01S03365.iedit   +++|          AX2    18
03493  M01S03366.iedit   +++|          SB5    X2
03494  M01S03367.iedit   +++|          EQ     PRS10       CHECK NEXT ENTRY
03495  M01S03368.iedit   +++|
03496  M01S03369.iedit   +++| PRS11    SX5    ERRELR      *ERROR IN LINE RANGE.*
03497  M01S03370.iedit   +++|          EQ     ERR         PROCESS ERROR
03498  M01S03371.iedit   +++|
03499  M01S03372.iedit   +++| PRS12    MX0    1           MARK THE END OF *LRT*
03500  M01S03373.iedit   +++|          SA5    LRT+B4-1
03501  M01S03374.iedit   +++|          BX6    X5+X0
03502  M01S03375.iedit   +++|          SA6    A5+         REPLACE LAST ENTRY
03503  M01S03376.iedit   +++|
03504  M01S03377.iedit   +++|*         SET UP FET FOR EDIT FILE WITH LOCAL FILE.
03505  M01S03378.iedit   +++|
03506  M01S03379.iedit   +++| PRS13    SX0    3           SET EDIT FILE NAME INTO FET
03507  M01S03380.iedit   +++|          SA5    EFN
03508  M01S03381.iedit   +++|          BX6    X0+X5
03509  M01S03382.iedit   +++|          SA6    E
03510  M01S03383.iedit   +++|          MEMORY CM,MSTAT,R  DETERMINE MAXIMUM MEMORY AVAILABLE
03511  M01S03384.iedit   +++|          SA2    MSTAT
03512  M01S03385.iedit   +++|          SA1    FNUM
03513  M01S03386.iedit   +++|          BX6    X2
03514  M01S03387.iedit   +++|          AX6    30
03515  M01S03388.iedit   +++|          SX2    X1-FNRE
03516  M01S03389.iedit   +++|          SA6    CMAX
03517  M01S03390.iedit   +++|          NZ     X2,PRS14    IF NOT A *READ* FUNCTION
03518  M01S03391.iedit   +++|          SA2    FILEN
03519  M01S03392.iedit   +++|          SA3    FIPB
03520  M01S03393.iedit   +++|          BX6    X2+X3
03521  M01S03394.iedit   +++|          SA6    A3
03522  M01S03395.iedit   +++|          FILINFO  FIPB      CHECK DEVICE TYPE OF *READ* FILE
03523  M01S03396.iedit   +++|          SA1    FIPB+1      ISOLATE DEVICE TYPE
03524  M01S03397.iedit   +++|          MX2    12
03525  M01S03398.iedit   +++|          BX1    X2*X1
03526  M01S03399.iedit   +++|          SX5    ERRNRF      *READ FILE EMPTY.*
03527  M01S03400.iedit   +++|          ZR     X1,ERR      IF FILE NOT ON MASS STORAGE
03528  M01S03401.iedit   +++| PRS14    SX7    B0+
03529  M01S03402.iedit   +++|          SA7    MSTAT
03530  M01S03403.iedit   +++|          MEMORY CM,A7,R
03531  M01S03404.iedit   +++|          SX2    MEML        FWA OF *PRS*
03532  M01S03405.iedit   +++|          SA1    MSTAT
03533  M01S03406.iedit   +++|          AX1    30
03534  M01S03407.iedit   +++|          IX6    X1-X2       AVAILABLE SPACE FOR BUFFERS
03535  M01S03408.iedit   +++|          SX7    X1+         LWA FOR TABLES
03536  M01S03409.iedit   +++|          SX6    X6-NTAB     ADJUST FOR *MTP* SPARE WORDS
03537  M01S03410.iedit   +++|          SA6    DYNST
03538  M01S03411.iedit   +++|          SA7    F.TEND
03539  M01S03412.iedit   +++|          SA2    BOP
03540  M01S03413.iedit   +++|          SA1    FNUM
03541  M01S03414.iedit   +++|          SA7    CMEM
03542  M01S03415.iedit   +++|          SX3    MEM-/IEDIT1/MEM2
03543  M01S03416.iedit   +++|          PL     X3,PRSX     IF OVERLAY NOT LONGER THAN MAIN ROUTINE
03544  M01S03417.iedit   +++|          SX1    X1-MXIL-1
03545  M01S03418.iedit   +++|          LX1    1
03546  M01S03419.iedit   +++|          BX1    X1*X2
03547  M01S03420.iedit   +++|          NZ     X1,PRSX     IF *BASIC* AND *MOVE*, *DUP*, OR *READ*
03548  M01S03421.iedit   +++|          SA1    LM
03549  M01S03422.iedit   +++|          IX6    X1+X3
03550  M01S03423.iedit   +++|          SA6    A1
03551  M01S03424.iedit   +++|          SA2    DYNST
03552  M01S03425.iedit   +++|          IX7    X2-X3
03553  M01S03426.iedit   +++|          SA7    A2
03554  M01S03427.iedit   +++|          EQ     PRSX        RETURN
03555  M01S03428.iedit   +++|
Line S03429 Modification History
M01 (Added by) iedit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03556  M02S03429.v23l617 ---| PRSA     BSS    0           CONTROL CARD EQUIVALENCE TABLE
03557  M01S00015.v23l617 +++| PRSA     BSS    0           COMMAND EQUIVALENCE TABLE
03558  M01S03430.iedit   +++| FN       ARG    EFN,EFN,400B  FILE NAME
03559  M01S03431.iedit   +++| OP       ARG    PRSB,COPT,400B  OPTIONS
03560  M01S03432.iedit   +++| CS       ARG    PRSC,CSCS   CHARACTER SET
03561  M01S03433.iedit   +++|          ARG
03562  M01S03434.iedit   +++| PRSB     CON    -1          SET -1 IF NO OPTIONS SPECIFIED
03563  M01S03435.iedit   +++| PRSC     DATA   C*NORMAL*   NORMAL CHARACTER TYPE
03564  M01S03436.iedit   +++| PRSD     DATA   C*ASCII*    ASCII 6/12
03565  M01S03437.iedit   +++| PRSE     DATA   C*ASCII8*   ASCII 8/12
03566  M01S03438.iedit   +++| PRSF     VFD    42/0LINPUT,18/1 TEST DATA FILE NAME
03567  M01S03439.iedit   +++| PVA      SPACE  4,35
03568  M01S03440.iedit   +++|**        PVA - PROCESS VERB ARGUMENTS.
03569  M01S03441.iedit   +++|*
03570  M01S03442.iedit   +++|*         PVA JUMPS TO THE SUBROUTINES TO PROCESS THE ARGUMENTS FOR
03571  M01S03443.iedit   +++|*         THE VERB.  THESE SUBROUTINES ARE OBTAINED FROM THE SET OF
03572  M01S03444.iedit   +++|*         LINES IN THE TABLE CORRESPONDING TO THE VERB THAT WAS FOUND.
03573  M01S03445.iedit   +++|*
03574  M01S03446.iedit   +++|*         ENTRY  (A2) = ADDRESS OF TABLE ENTRY MATCHING VERB IN *CLB=*.
03575  M01S03447.iedit   +++|*                (X2) = *TDVB* ENTRY MATCHING VERB IN *CLB=*.
03576  M01S03448.iedit   +++|*
03577  M01S03449.iedit   +++|*         EXIT   TABLES RELEVANT TO COMMAND BUILT.
03578  M01S03450.iedit   +++|*                NECESSARY VALUES SAVED FOR EXECUTION OF COMMAND.
03579  M01S03451.iedit   +++|*                COMMAND NUMBER SAVED.
03580  M01S03452.iedit   +++|*                COMMAND PARAMETERS VALIDATED.
03581  M01S03453.iedit   +++|*
03582  M01S03454.iedit   +++|*         USES   X - 0, 1, 2, 3, 5, 6, 7.
03583  M01S03455.iedit   +++|*                A - 1, 2, 3, 5, 6, 7.
03584  M01S03456.iedit   +++|*                B - 2, 7.
03585  M01S03457.iedit   +++|*
03586  M01S03458.iedit   +++|*         CALLS  GTC, GTS, ICE.
03587  M01S03459.iedit   +++|*
03588  M01S03460.iedit   +++|*         NOTES  *ICE* MAY CALL ANY OF THE FOLLOWING ROUTINES -
03589  M01S03461.iedit   +++|*                1. *GFN* - GET FILE NAME.
03590  M01S03462.iedit   +++|*                2. *GIN* - GET INCREMENT.
03591  M01S03463.iedit   +++|*                3. *GLS* - GET LINES.
03592  M01S03464.iedit   +++|*                4. *GLI* - GET LINE NUMBER TO INSERT TEXT AFTER.
03593  M01S03465.iedit   +++|*                5. *GSP* - GET STRING PAIR.
03594  M01S03466.iedit   +++|*                6. *GSR* - GET SINGLE RANGE OF LINE NUMBERS.
03595  M01S03467.iedit   +++|*                7. *GSS* - GET STRING FOR SEARCH.
03596  M01S03468.iedit   +++|
03597  M01S03469.iedit   +++|
03598  M01S03470.iedit   +++| PVA      SUBR               ENTRY/EXIT
03599  M01S03471.iedit   +++|          MX0    -TDISN      INCREMENT TO FIRST SUBROUTINE
03600  M01S03472.iedit   +++|          SB2    TDISN-TDISS-1
03601  M01S03473.iedit   +++|          LX1    X2,B2
03602  M01S03474.iedit   +++|          BX1    -X0*X1
03603  M01S03475.iedit   +++|          SB2    X1+
03604  M01S03476.iedit   +++|          SA2    A2+B2       FIRST PROCESS FOR COMMAND
03605  M01S03477.iedit   +++| PVA1     BX7    X2          SAVE *TDVB* ENTRY
03606  M01S03478.iedit   +++|          SB7    X2          GET PROCESS ADDRESS
03607  M01S03479.iedit   +++|          SA3    LCIP
03608  M01S03480.iedit   +++|          SA7    LINE
03609  M01S03481.iedit   +++|          SB2    59-TDFPS    CHECK FOR END OF SUBROUTINES
03610  M01S03482.iedit   +++|          SA3    X3
03611  M01S03483.iedit   +++|          LX7    X2,B2
03612  M01S03484.iedit   +++|          NG     X7,PVA2     IF AT END OF FUNCTION PROCESSOR ENTRIES
03613  M01S03485.iedit   +++|          SX7    A2          SAVE ADDRESS IN TABLE OF FUNCTION
03614  M01S03486.iedit   +++|          SA7    ADRF
03615  M01S03487.iedit   +++|          SX7    B1
03616  M01S03488.iedit   +++|          SA7    SUCC
03617  M01S03489.iedit   +++|          RJ     ICE         PERFORM FUNCTION
03618  M01S03490.iedit   +++|
03619  M01S03491.iedit   +++|*         FUNCTION PROCESSORS RETURN HERE.
03620  M01S03492.iedit   +++|
03621  M01S03493.iedit   +++|          SA2    ADRF        RESTORE ADDRESS OF FUNCTION IN TABLE
03622  M01S03494.iedit   +++|          SA1    LINE
03623  M01S03495.iedit   +++|          SA2    X2+B1
03624  M01S03496.iedit   +++|          LX1    59-TDRQS
03625  M01S03497.iedit   +++|          PL     X1,PVA1     IF FUNCTION OPTIONAL
03626  M01S03498.iedit   +++|          SA5    SUCC
03627  M01S03499.iedit   +++|          ZR     X5,PVA1     IF PREVIOUS FUNCTION EXECUTED SUCCESSFULLY
03628  M01S03500.iedit   +++|          MX0    TDASN       GET INCREMENT TO FWA OF ALTERNATE SYNTAX
03629  M01S03501.iedit   +++|          LX0    TDASS-59
03630  M01S03502.iedit   +++|          SA1    LINE
Line S03503 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03631  M02S03503.iedit2  ---|          SX5    ERREIS
03632  M01S00098.iedit2  +++|          SX5    ERREIS      *INCORRECT SYNTAX.*
03633  M01S03504.iedit   +++|          BX1    X0*X1
03634  M01S03505.iedit   +++|          LX1    TDSAS-TDASS RIGHT JUSTIFY OFFSET
03635  M01S03506.iedit   +++|          ZR     X1,ERR      IF THERE IS NO ALTERNATE SYNTAX
03636  M01S03507.iedit   +++|          SA2    TDVB+X1     SET FIRST LINE OF ALTERNATE SYNTAX
03637  M01S03508.iedit   +++|          SA5    LCIV
03638  M01S03509.iedit   +++|          SX7    X5
03639  M01S03510.iedit   +++|          SX6    B0
03640  M01S03511.iedit   +++|          SA7    LCIP
03641  M01S03512.iedit   +++|          SA6    NELR
03642  M01S03513.iedit   +++|          EQ     PVA1        PROCESS NEXT PARAMETER
03643  M01S03514.iedit   +++|
03644  M01S03515.iedit   +++| PVA2     SX7    X2+
03645  M01S03516.iedit   +++|          SA7    FNUM        STORE COMMAND NUMBER
03646  M01S03517.iedit   +++|          RJ     GTS         SKIP OVER ALL BLANKS
03647  M01S03518.iedit   +++|          ZR     X0,PVA3     IF NOT A SEPARATOR
03648  M01S03519.iedit   +++|          SA3    A3-1
03649  M01S03520.iedit   +++| PVA3     RJ     GTC         REREAD THE CHARACTER
03650  M01S03521.iedit   +++|          ZR     X4,PVAX     IF NO MORE CHARACTERS ON THE LINE
03651  M01S03522.iedit   +++|          SX1    TERA
03652  M01S03523.iedit   +++|          BX1    X1*X4
03653  M01S03524.iedit   +++|          SX5    ERREIS      *ERROR IN EDIT COMMAND SYNTAX*
03654  M01S03525.iedit   +++|          ZR     X1,ERR      IF NOT A VALID TERMINATOR
03655  M01S03526.iedit   +++|          SA2    CSTI        CHECK CHARACTER SET
03656  M01S03527.iedit   +++|          SX1    1R.
03657  M01S03528.iedit   +++|          SX2    X2-1
03658  M01S03529.iedit   +++|          NG     X2,PVA4     IF NOT *ASCII8*
03659  M01S03530.iedit   +++|          SX1    56B
03660  M01S03531.iedit   +++| PVA4     BX3    X3-X1
03661  M01S03532.iedit   +++|          NZ     X3,PVAX     IF TERMINATOR NOT A PERIOD
03662  M01S03533.iedit   +++|          RJ     GTC         GET THE FOLLOWING CHARACTER
03663  M01S03534.iedit   +++|          ZR     X4,PVAX     IF END OF THE STRING
03664  M01S03535.iedit   +++|          BX3    X3-X1
03665  M01S03536.iedit   +++|          NZ     X3,PVAX     IF NOT AN ELLIPSIS
03666  M01S03537.iedit   +++|          EQ     ERR         ISSUE *ERROR IN SYNTAX* MESSAGE
03667  M01S03538.iedit   +++| GFN      TITLE  VERB ARGUMENT PROCESSORS.
03668  M01S03539.iedit   +++| GFN      SPACE  4,15
03669  M01S03540.iedit   +++|**        GFN - GET FILE NAME.
03670  M01S03541.iedit   +++|*
03671  M01S03542.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING FILE NAME.
03672  M01S03543.iedit   +++|*
03673  M01S03544.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03674  M01S03545.iedit   +++|*                (SUCC) = 0, IF LEGAL FILE NAME FOUND.
03675  M01S03546.iedit   +++|*                (FILN) = LEGAL FILE NAME FOLDED INTO *NORMAL*
03676  M01S03547.iedit   +++|*                         CHARACTER SET.
03677  M01S03548.iedit   +++|*
03678  M01S03549.iedit   +++|*         USES   X - 1, 2, 5, 6, 7.
03679  M01S03550.iedit   +++|*                A - 1, 2, 6, 7.
03680  M01S03551.iedit   +++|*                B - 7.
03681  M01S03552.iedit   +++|*
03682  M01S03553.iedit   +++|*         CALLS  GTS, GTB.
03683  M01S03554.iedit   +++|
03684  M01S03555.iedit   +++|
03685  M01S03556.iedit   +++| GFN2     SA6    FILEN       STORE FILE NAME
03686  M01S03557.iedit   +++|          SX7    A3
03687  M01S03558.iedit   +++|          SX6    B0
03688  M01S03559.iedit   +++|          SA7    LCIP        MARK WHERE SCAN ENDED
03689  M01S03560.iedit   +++|          SA6    SUCC        SET SUCCESS FLAG TO TRUE
03690  M01S03561.iedit   +++|
03691  M01S03562.iedit   +++| GFN      SUBR               ENTRY/EXIT
03692  M01S03563.iedit   +++|          RJ     GTS         GET SEPARATOR
03693  M01S03564.iedit   +++|          ZR     X0,GFNX     IF SEPARATOR NOT FOUND, RETURN
03694  M01S03565.iedit   +++|          SX7    B0+
03695  M01S03566.iedit   +++|          SA7    CNVRT       SET CONVERSION FLAG
03696  M01S03567.iedit   +++|          RJ     GTB         GET BLOCK
03697  M01S03568.iedit   +++|          SX5    ERRNRS      *NO READ/DESTINATION FILE SPECIFIED.*
03698  M01S03569.iedit   +++|          ZR     B2,ERR      IF NO CHARACTERS IN BLOCK
03699  M01S03570.iedit   +++|          SB7    MXWS        GET MAXIMUM WORD SIZE INTO B7
03700  M01S03571.iedit   +++|          SX1    LETA+DIGA   GET MASK FOR FILE NAME
Line S03572 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03701  M02S03572.iedit2  ---|          SX5    ERREIF
03702  M01S00099.iedit2  +++|          SX5    ERREIF      *FILE NAME ERROR.*
03703  M01S03573.iedit   +++|          GT     B2,B7,ERR   IF WORD TOO LONG
03704  M01S03574.iedit   +++|          BX6    -X1*X6
03705  M01S03575.iedit   +++|          NZ     X6,ERR      IF NON-VALID CHARACTERS IN FILE NAME
03706  M01S03576.iedit   +++|          SA1    BLOCK       LOAD FILE NAME
03707  M01S03577.iedit   +++|          SA2    EFN         GET EDIT FILE NAME
03708  M01S03578.iedit   +++|          SX5    ERRDFN      *DUPLICATE FILE NAME.*
03709  M01S03579.iedit   +++|          BX2    X2-X1
03710  M01S03580.iedit   +++|          BX6    X1
03711  M01S03581.iedit   +++|          ZR     X2,ERR      IF DUPLICATE FILE NAME
03712  M01S03582.iedit   +++|          SA2    TSF-1
03713  M01S03583.iedit   +++|          SX5    ERRRFN      *RESERVED FILE NAME.*
03714  M01S03584.iedit   +++| GFN1     SA2    A2+B1
03715  M01S03585.iedit   +++|          ZR     X2,GFN2     IF END OF TABLE
03716  M01S03586.iedit   +++|          BX2    X2-X1
03717  M01S03587.iedit   +++|          NZ     X2,GFN1     IF NOT RESERVED FILE NAME
03718  M01S03588.iedit   +++|          EQ     ERR         *RESERVED FILE NAME*
03719  M01S03589.iedit   +++| GIN      SPACE  4,20
03720  M01S03590.iedit   +++|**        GIN - GET INCREMENT.
03721  M01S03591.iedit   +++|*
03722  M01S03592.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING START OF
03723  M01S03593.iedit   +++|*                                INCREMENT BLOCK.
03724  M01S03594.iedit   +++|*
03725  M01S03595.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03726  M01S03596.iedit   +++|*                (SUCC) = 0, IF FUNCTION SUCCESSFUL.
03727  M01S03597.iedit   +++|*                (INCR) = INCREMENT IN BINARY.
03728  M01S03598.iedit   +++|*
03729  M01S03599.iedit   +++|*         USES   X - 5, 6, 7.
03730  M01S03600.iedit   +++|*                A - 6, 7.
03731  M01S03601.iedit   +++|*                B - 2, 7.
03732  M01S03602.iedit   +++|*
03733  M01S03603.iedit   +++|*         CALLS  GLN, GTS.
03734  M01S03604.iedit   +++|
03735  M01S03605.iedit   +++|
03736  M01S03606.iedit   +++| GIN      SUBR               ENTRY/EXIT
03737  M01S03607.iedit   +++|          RJ     GTS         GET SEPARATOR
03738  M01S03608.iedit   +++|          ZR     X0,GINX     IF SEPARATOR NOT FOUND, RETURN
03739  M01S03609.iedit   +++|          RJ     GLN
03740  M01S03610.iedit   +++|          NG     X6,GINX     IF NUMBER NOT FOUND
03741  M01S03611.iedit   +++|          SB2    X6+
03742  M01S03612.iedit   +++|          SB7    MXIC        MAXIMUM INCREMENT
03743  M01S03613.iedit   +++|          LT     B2,B1,GIN1  IF INCREMENT TOO SMALL
03744  M01S03614.iedit   +++|          GT     B2,B7,GIN1  IF INCREMEMT TOO LARGE
03745  M01S03615.iedit   +++|          SA6    INCR        STORE INCREMENT
03746  M01S03616.iedit   +++|          SX7    B0
03747  M01S03617.iedit   +++|          SX6    A3
03748  M01S03618.iedit   +++|          SA7    SUCC        SET SUCCESS FLAG TO TRUE
03749  M01S03619.iedit   +++|          SA6    LCIP        MARK WHERE SCAN ENDED
03750  M01S03620.iedit   +++|          EQ     GINX        RETURN
03751  M01S03621.iedit   +++|
Line S03622 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03752  M02S03622.iedit2  ---| GIN1     SX5    ERREII
03753  M01S00100.iedit2  +++| GIN1     SX5    ERREII      *LINE NUMBER INCREMENT ERROR.*
03754  M01S03623.iedit   +++|          EQ     ERR         ERROR IN INCREMENT
03755  M01S03624.iedit   +++| GLI      SPACE  4,15
03756  M01S03625.iedit   +++|**        GLI - GET LINE NUMBER TO INSERT TEXT AFTER.
03757  M01S03626.iedit   +++|*
03758  M01S03627.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING SEPARATOR
03759  M01S03628.iedit   +++|*                                PRECEDING LINE NUMBER.
03760  M01S03629.iedit   +++|*
03761  M01S03630.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03762  M01S03631.iedit   +++|*                (SUCC) = 0, IF FUNCTION SUCCESSFUL.
03763  M01S03632.iedit   +++|*                (LNIA) = LINE NUMBER TO INSERT AFTER (IF  FOUND).
03764  M01S03633.iedit   +++|*
03765  M01S03634.iedit   +++|*         USES   X - 3, 6, 7.
03766  M01S03635.iedit   +++|*                A - 3, 6, 7.
03767  M01S03636.iedit   +++|*
03768  M01S03637.iedit   +++|*         CALLS  GLN, GTS.
03769  M01S03638.iedit   +++|
03770  M01S03639.iedit   +++|
03771  M01S03640.iedit   +++| GLI1     RJ     GLN
03772  M01S03641.iedit   +++|          NG     X6,GLIX     IF NO LINE NUMBER FOUND, RETURN
03773  M01S03642.iedit   +++|          SX7    X6-MXLN-1
03774  M01S03643.iedit   +++|          ZR     X7,GLIX     IF ASTERISK FOUND, RETURN
03775  M01S03644.iedit   +++| GLI2     SA6    LNIA        STORE LINE NUMBER
03776  M01S03645.iedit   +++|          SX7    B0
03777  M01S03646.iedit   +++|          SX6    A3
03778  M01S03647.iedit   +++|          SA7    SUCC        SET SUCCESS FLAG TO TRUE
03779  M01S03648.iedit   +++|          SA6    LCIP        MARK WHERE SCAN ENDED
03780  M01S03649.iedit   +++|
03781  M01S03650.iedit   +++| GLI      SUBR               ENTRY/EXIT
03782  M01S03651.iedit   +++|          RJ     GTS         GET SEPARATOR
03783  M01S03652.iedit   +++|          ZR     X0,GLIX     IF SEPARATOR NOT FOUND, RETURN
03784  M01S03653.iedit   +++|          RJ     GTS         CHECK FOR SECOND SEPARATOR
03785  M01S03654.iedit   +++|          ZR     X0,GLI1     IF SEPARATOR NOT FOUND
03786  M01S03655.iedit   +++|          SA3    A3-1
03787  M01S03656.iedit   +++|          SX6    MXLN+1      RETURN *MXLN+1* AS LINE NUMBER
03788  M01S03657.iedit   +++|          EQ     GLI2        SET FUNCTION SUCCESSFUL
03789  M01S03658.iedit   +++| GLS      SPACE  4,15
03790  M01S03659.iedit   +++|**        GLS - GET LINES.
03791  M01S03660.iedit   +++|*
03792  M01S03661.iedit   +++|*         *GLS* GETS ONE OR MORE SETS OF LINE RANGES INCLUDING THE
03793  M01S03662.iedit   +++|*         RANGE OF SINGLE LINE NUMBERS AND STORES THOSE RANGES AS
03794  M01S03663.iedit   +++|*         ENTRIES IN *LRT*.
03795  M01S03664.iedit   +++|*
03796  M01S03665.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING LINE RANGES.
03797  M01S03666.iedit   +++|*
03798  M01S03667.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03799  M01S03668.iedit   +++|*                (SUCC) = 0, IF AT LEAST ONE LINE NUMBER/RANGE FOUND.
03800  M01S03669.iedit   +++|*
03801  M01S03670.iedit   +++|*         USES   X - 6, 7.
03802  M01S03671.iedit   +++|*                A - 6, 7.
03803  M01S03672.iedit   +++|*
03804  M01S03673.iedit   +++|*         CALLS  GLR.
03805  M01S03674.iedit   +++|
03806  M01S03675.iedit   +++|
03807  M01S03676.iedit   +++| GLS      SUBR               ENTRY/EXIT
03808  M01S03677.iedit   +++| GLS1     RJ     GLR         GET LINE RANGE
03809  M01S03678.iedit   +++|          NG     X6,GLSX     IF NO LINE NUMBER READ, RETURN
03810  M01S03679.iedit   +++|          SX7    A3
03811  M01S03680.iedit   +++|          SX6    B0
03812  M01S03681.iedit   +++|          SA7    LCIP        MARK WHERE SCAN ENDED
03813  M01S03682.iedit   +++|          SA6    SUCC        SET SUCCESS FLAG TO TRUE
03814  M01S03683.iedit   +++|          EQ     GLS1        TRY TO GET ANOTHER LINE NUMBER
03815  M01S03684.iedit   +++| GSP      SPACE  4,15
03816  M01S03685.iedit   +++|**        GSP - GET STRING PAIR.
03817  M01S03686.iedit   +++|*
03818  M01S03687.iedit   +++|*         GSP GETS A PAIR OF STRINGS - ONE TO SEARCH WITH
03819  M01S03688.iedit   +++|*         THE OTHER TO REPLACE THE FIRST VALUE WITH.
03820  M01S03689.iedit   +++|*
03821  M01S03690.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING STRING PAIR.
03822  M01S03691.iedit   +++|*
03823  M01S03692.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03824  M01S03693.iedit   +++|*                (SUCC) = 0, IF SUCCESSFUL.
03825  M01S03694.iedit   +++|*                (SBUF) = SEARCH STRING, ONE CHARACTER PER WORD.
03826  M01S03695.iedit   +++|*                (RBUF) = REPLACEMENT STRING, ONE CHARACTER PER WORD.
03827  M01S03696.iedit   +++|*                (SRTFLG) = 1, IF A CHARACTER STRING WAS SPECIFIED.
03828  M01S03697.iedit   +++|*
03829  M01S03698.iedit   +++|*         USES   X - 0, 3, 5, 6, 7.
03830  M01S03699.iedit   +++|*                A - 3, 5, 6, 7.
03831  M01S03700.iedit   +++|*
03832  M01S03701.iedit   +++|*         CALLS  GTB, GCS.
03833  M01S03702.iedit   +++|*
03834  M01S03703.iedit   +++|*         MACROS WRITEC.
03835  M01S03704.iedit   +++|
03836  M01S03705.iedit   +++|
03837  M01S03706.iedit   +++| GSP1     SX0    A3
Line S03707 Modification History
M01 (Added by) iedit
M02 (Updated by) iedit2
Seq #  *Modification Id* Act 
----------------------------+
03838  M02S03707.iedit2  ---|          WRITEC O,ERRNDF
03839  M01S00101.iedit2  +++|          WRITEC O,ERRNDF    *NO CLOSING DELIMITER FOUND.*
03840  M01S03708.iedit   +++|          SA3    X0+
03841  M01S03709.iedit   +++| GSP2     SX7    B0          SET FUNCTION SUCCESS FLAG
03842  M01S03710.iedit   +++|          SX6    A3
03843  M01S03711.iedit   +++|          SA7    SUCC        SET SUCCESS FLAG TO TRUE
03844  M01S03712.iedit   +++|          SA6    LCIP        MARK WHERE SCAN ENDED
03845  M01S03713.iedit   +++|
03846  M01S03714.iedit   +++| GSP      SUBR               ENTRY/EXIT
03847  M01S03715.iedit   +++|          RJ     GCS         GET CHARACTER STRING TO SEARCH FOR
03848  M01S03716.iedit   +++|          SA5    STRD
03849  M01S03717.iedit   +++|          NZ     X7,GSPX     IF NO SEARCH STRING FOUND, RETURN
03850  M01S03718.iedit   +++|          SX7    RBUF        BUFFER TO WHICH BLOCK IS ADDED
03851  M01S03719.iedit   +++|          NG     X5,GSPX     IF NO CLOSING DELIMITER ON SEARCH STRING
03852  M01S03720.iedit   +++|          SA7    CNVRT
03853  M01S03721.iedit   +++|          RJ     GTB         GET BLOCK UP TO DELIMITER
03854  M01S03722.iedit   +++|          SX7    B2+
03855  M01S03723.iedit   +++|          SA5    STRD        CHECK THE CLOSING DELIMETER
03856  M01S03724.iedit   +++|          SA7    NCIR        STORE NUMBER OF CHARS IN REPLACE STRING
03857  M01S03725.iedit   +++|          NG     X5,GSP1     IF CLOSING DELIMETER MISSING
03858  M01S03726.iedit   +++|          SA3    A3+1
03859  M01S03727.iedit   +++|          EQ     GSP2        SET FUNCTION SUCCESSFUL
03860  M01S03728.iedit   +++| GSR      SPACE  4,20
03861  M01S03729.iedit   +++|**        GSR - GET SINGLE RANGE OF LINE NUMBERS.
03862  M01S03730.iedit   +++|*
03863  M01S03731.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING LINE RANGE.
03864  M01S03732.iedit   +++|*
03865  M01S03733.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03866  M01S03734.iedit   +++|*                (SUCC) = 0, IF LINE NUMBER/RANGE FOUND.
03867  M01S03735.iedit   +++|*
03868  M01S03736.iedit   +++|*         USES   X - 6, 7.
03869  M01S03737.iedit   +++|*                A - 6, 7.
03870  M01S03738.iedit   +++|*
03871  M01S03739.iedit   +++|*         CALL   GLR.
03872  M01S03740.iedit   +++|
03873  M01S03741.iedit   +++|
03874  M01S03742.iedit   +++| GSR      SUBR               ENTRY/EXIT
03875  M01S03743.iedit   +++|          RJ     GLR         GET A LINE RANGE
03876  M01S03744.iedit   +++|          NG     X6,GSRX     IF LINE NUMBER NOT FOUND, RETURN
03877  M01S03745.iedit   +++|          SX7    A3
03878  M01S03746.iedit   +++|          SX6    B0
03879  M01S03747.iedit   +++|          SA7    LCIP        SET SUCCESS FLAG TO TRUE
03880  M01S03748.iedit   +++|          SA6    SUCC        MARK WHERE SCAN ENDED
03881  M01S03749.iedit   +++|          EQ     GSRX        RETURN
03882  M01S03750.iedit   +++| GSS      SPACE  4,15
03883  M01S03751.iedit   +++|**        GSS - GET STRING FOR SEARCH.
03884  M01S03752.iedit   +++|*
03885  M01S03753.iedit   +++|*         ENTRY  ((A3)) = (X3) = CHARACTER PRECEDING STRING.
03886  M01S03754.iedit   +++|*
03887  M01S03755.iedit   +++|*         EXIT   (LCIP) = ADDRESS OF LAST CHARACTER PARSED.
03888  M01S03756.iedit   +++|*                (SUCC) = 0, IF FUNCTION SUCCESSFUL.
03889  M01S03757.iedit   +++|*                (SRTFLG) = 1, IF CHARACTER STRING SPECIFIED.
03890  M01S03758.iedit   +++|*
03891  M01S03759.iedit   +++|*         USES   X - 5, 6.
03892  M01S03760.iedit   +++|*                A - 5, 6, 7.
03893  M01S03761.iedit   +++|*
03894  M01S03762.iedit   +++|*         MACROS WRITEC.
03895  M01S03763.iedit   +++|
03896  M01S03764.iedit   +++|
03897  M01S03765.iedit   +++| GSS      SUBR               ENTRY/EXIT
03898  M01S03766.iedit   +++|          RJ     GCS         GET SEARCH STRING
Proceed to Part 2
cdc/nos2.source/opl.opl871/deck/iedit.001.txt ยท Last modified: by 127.0.0.1