Deck EDIT Part 001

3 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
01914  M00S01890.edit    +++|          SX0    B5          LWA+1 OF LAST COMPLETE WORD IN NEW LINE
01915  M00S01891.edit    +++|          SX6    X4-1R.
01916  M00S01892.edit    +++|          SX3    B1
01917  M00S01893.edit    +++|          SA0    B6          FWA NEXT WORD IN OLD LINE
01918  M00S01894.edit    +++|          ZR     X6,ALN12    IF PERIOD ENDING SENTENCE
01919  M00S01895.edit    +++|          SX6    X4-1R?
01920  M00S01896.edit    +++|          NZ     X6,ALN8     IF NOT QUESTION MARK
01921  M00S01897.edit    +++| ALN12    SA7    B5
01922  M00S01898.edit    +++|          SB5    B5+B1
01923  M00S01899.edit    +++|          LT     B5,B4,ALN8  IF NEW LINE WIDTH NOT REACHED
01924  M00S01900.edit    +++|
01925  M00S01901.edit    +++|*         NEW LINE WIDTH REACHED.
01926  M00S01902.edit    +++|
01927  M00S01903.edit    +++| ALN13    RJ     WNL         WRITE NEW LINE
01928  M00S01904.edit    +++|          SX7    1R
01929  M00S01905.edit    +++|          SA2    ASC         ASCII INDICATOR
01930  M00S01906.edit    +++|          SA1    USBC
01931  M00S01907.edit    +++|          BX0    X0-X0
01932  M00S01908.edit    +++|          SB7    X1          LWA OLD LINE
01933  M00S01909.edit    +++|          EQ     ALN8
01934  M00S01910.edit    +++|
01935  M00S01911.edit    +++|*         END OF OLD LINE REACHED.
01936  M00S01912.edit    +++|
01937  M00S01913.edit    +++| ALN14    NZ     X0,ALN15    IF NOT BLANK LINE
01938  M00S01914.edit    +++|          SB2    A0-USBB
01939  M00S01915.edit    +++|          NZ     B2,ALN15    IF NOT BLANK LINE
01940  M00S01916.edit    +++|          SA7    STRA
01941  M00S01917.edit    +++|          WRITEC A5,BLKL     WRITE BLANK LINE
01942  M00S01918.edit    +++|          SB4    STRA
01943  M00S01919.edit    +++|          SB5    B4+1
01944  M00S01920.edit    +++| ALN15    SA4    SLP
01945  M00S01921.edit    +++|          NZ     X4,ALN18    IF WORKING WITH MULTI-LINE ELLIPSIS
01946  M00S01922.edit    +++|          SA3    SEC
01947  M00S01923.edit    +++|          SX7    X3+B1       DECREMENT SEARCH COUNT
01948  M00S01924.edit    +++|          SA7    A3
01949  M00S01925.edit    +++|          ZR     X7,ALN27    IF ALIGNMENT COMPLETE
01950  M00S01926.edit    +++|          INTRPT ALN27       PROCESS TERMINAL INTERRUPT
01951  M00S01927.edit    +++|          SA1    STPHR1
01952  M00S01928.edit    +++|          ZR     X1,ALN18    IF SEARCH FOR PHRASE NOT REQUIRED
01953  M00S01929.edit    +++|          SX3    B0+
01954  M00S01930.edit    +++|          RJ     WNL         WRITE ENTIRE NEW LINE
01955  M00S01931.edit    +++| ALN16    READC  X5,LBUF,LBUFL
01956  M00S01932.edit    +++|          ZR     X1,ALN17    IF NOT EOR
01957  M00S01933.edit    +++|          CEPF   ALN16,4
01958  M00S01934.edit    +++|          SA7    EOFTF       SET FILE STATUS
01959  M00S01935.edit    +++|          EQ     ALN28
01960  M00S01936.edit    +++|
01961  M00S01937.edit    +++| ALN17    SA4    X5+5
01962  M00S01938.edit    +++|          SX6    B6          LWA+1 PACKED LINE
01963  M00S01939.edit    +++|          SX7    X4+B1       ADVANCE READ FILE LINE POSITION
01964  M00S01940.edit    +++|          BX0    X0-X0
01965  M00S01941.edit    +++|          SA6    LBL
01966  M00S01942.edit    +++|          SA7    A4
01967  M00S01943.edit    +++|          SX6    STPHR1      SEARCH FILE FOR /P1/
01968  M00S01944.edit    +++|          SX1    B0+
01969  M00S01945.edit    +++|          RJ     SFS
01970  M00S01946.edit    +++|          ZR     X7,ALN28    IF PHRASE NOT FOUND
01971  M00S01947.edit    +++|          EQ     ALN3
01972  M00S01948.edit    +++|
01973  M00S01949.edit    +++| ALN18    SX4    B5
01974  M00S01950.edit    +++|          SX1    B4
01975  M00S01951.edit    +++|          LX4    18
01976  M00S01952.edit    +++|          BX0    X4+X1
01977  M00S01953.edit    +++| ALN19    READC  X5,LBUF,LBUFL
01978  M00S01954.edit    +++|          ZR     X1,ALN20    IF NOT EOR
01979  M00S01955.edit    +++|          CEPF   ALN19,4
01980  M00S01956.edit    +++|          SA7    EOFTF
01981  M00S01957.edit    +++|          AX0    18
01982  M00S01958.edit    +++|          SB5    X0          CURRENT CHARACTER ADDRESS IN NEW LINE
01983  M00S01959.edit    +++|          BX3    X3-X3
01984  M00S01960.edit    +++|          RJ     WNL         WRITE ENTIRE NEW LINE
01985  M00S01961.edit    +++|          EQ     ALN28
01986  M00S01962.edit    +++|
01987  M00S01963.edit    +++| ALN20    SA4    X5+5
01988  M00S01964.edit    +++|          SX6    B6          LWA+1 PACKED LINE
01989  M00S01965.edit    +++|          SX7    X4+B1       ADVANCE READ FILE LINE POSITION
01990  M00S01966.edit    +++|          SA6    LBL
01991  M00S01967.edit    +++|          SA2    STPHR2
01992  M00S01968.edit    +++|          SA7    A4
01993  M00S01969.edit    +++|          ZR     X2,ALN21    IF NOT ELLIPSIS OPERATION
01994  M00S01970.edit    +++|          SX1    B0
01995  M00S01971.edit    +++|          RJ     SLS
01996  M00S01972.edit    +++|          NZ     B7,ALN21    IF NOT ONE LINE ELLIPSIS
01997  M00S01973.edit    +++|          SX6    B0+
01998  M00S01974.edit    +++|          SA6    SLP         CLEAR MULTI-LINE ELLIPSIS FLAG
01999  M00S01975.edit    +++| ALN21    SB4    X0          LWA+1 NEW LINE
02000  M00S01976.edit    +++|          SX7    1R
02001  M00S01977.edit    +++|          AX0    18
02002  M00S01978.edit    +++|          SA1    LBUF        FIRST PACKED WORD OF NEXT OLD LINE
02003  M00S01979.edit    +++|          SB5    X0+         CURRENT CHARACTER ADDRESS IN NEW LINE
02004  M00S01980.edit    +++|          MX2    -6
02005  M00S01981.edit    +++|          LX1    6
02006  M00S01982.edit    +++|          BX2    -X2*X1      FIRST CHARACTER OF NEXT OLD LINE
02007  M00S01983.edit    +++|          IX3    X2-X7
02008  M00S01984.edit    +++|          ZR     X3,ALN26    IF NEW PARAGRAPH
02009  M00S01985.edit    +++|          NZ     X1,ALN22    IF NOT ZERO WORD
02010  M00S01986.edit    +++|          PL     X1,ALN26    IF BLANK LINE
02011  M00S01987.edit    +++| ALN22    SA1    B5-B1       LAST CHARACTER IN NEW LINE
02012  M00S01988.edit    +++|          IX3    X1-X7
02013  M00S01989.edit    +++|          ZR     X3,ALN24    IF LAST CHARACTER IN NEW LINE BLANK
02014  M00S01990.edit    +++|          SA7    B5          INSERT BLANK
02015  M00S01991.edit    +++|          SB5    B5+B1
02016  M00S01992.edit    +++|          GT     B5,B4,ALN26 IF END OF NEW LINE REACHED
02017  M00S01993.edit    +++|          SX3    X1-1R.
02018  M00S01994.edit    +++|          ZR     X3,ALN23    IF LAST CHARACTER IN NEW LINE IS PERIOD
02019  M00S01995.edit    +++|          SX3    X1-1R?
02020  M00S01996.edit    +++|          NZ     X3,ALN24    IF LAST CHARACTER NOT QUESTION MARK
02021  M00S01997.edit    +++| ALN23    SA7    B5          INSERT BLANK
02022  M00S01998.edit    +++|          SB5    B5+B1
02023  M00S01999.edit    +++|          GT     B5,B4,ALN26 IF END OF NEW LINE REACHED
02024  M00S02000.edit    +++| ALN24    SA1    STRA        FIRST CHARACTER IN NEW LINE
02025  M00S02001.edit    +++|          IX4    X1-X7
02026  M00S02002.edit    +++|          SB2    A1
02027  M00S02003.edit    +++|          NZ     X4,ALN25    IF FIRST CHARACTER IN NEW LINE NOT BLANK
02028  M00S02004.edit    +++|          SB2    B2+5
02029  M00S02005.edit    +++| ALN25    LE     B5,B2,ALN5  IF NEW LINE ALREADY FLUSHED
02030  M00S02006.edit    +++|          SX4    B5
02031  M00S02007.edit    +++|          SX3    B4
02032  M00S02008.edit    +++|          LX4    18
02033  M00S02009.edit    +++|          BX0    X3+X4
02034  M00S02010.edit    +++|          LX4    18
02035  M00S02011.edit    +++|          BX0    X0+X4
02036  M00S02012.edit    +++|          EQ     ALN6
02037  M00S02013.edit    +++|
02038  M00S02014.edit    +++| ALN26    BX3    X3-X3
02039  M00S02015.edit    +++|          RJ     WNL         WRITE NEW LINE
02040  M00S02016.edit    +++|          EQ     ALN5
02041  M00S02017.edit    +++|
02042  M00S02018.edit    +++|*         ALIGNMENT COMPLETION PROCESSING.
02043  M00S02019.edit    +++|
02044  M00S02020.edit    +++| ALN27    BX3    X3-X3
02045  M00S02021.edit    +++|          RJ     WNL         WRITE ENTIRE NEW LINE
02046  M00S02022.edit    +++|          SX2    -B1         GET NEXT LINE
02047  M00S02023.edit    +++|          RJ     ATF         ADVANCE TEXT FILES
02048  M00S02024.edit    +++| ALN28    SA1    STPHR1
02049  M00S02025.edit    +++|          ZR     X1,SET2     IF NO STRING FIELDS
02050  M00S02026.edit    +++|          SA1    ICT
02051  M00S02027.edit    +++|          SA2    SEC
02052  M00S02028.edit    +++|          SA3    NUM
02053  M00S02029.edit    +++|          SA4    STPHR2
02054  M00S02030.edit    +++|          IX1    X1+X2
02055  M00S02031.edit    +++|          ZR     X4,ALN29    IF NOT ELLIPSIS
02056  M00S02032.edit    +++|          IX2    X2+X3
02057  M00S02033.edit    +++| ALN29    ZR     X2,SET2     IF ALL OCCURANCES FOUND AND PROCESSED
02058  M00S02034.edit    +++|          RJ     GSM         GENERATE OCCURANCES MESSAGE
02059  M00S02035.edit    +++|          JP     SET2        REPOSITION TEXT FILES
02060  M00S02036.edit    +++| CLEAR    EJECT
02061  M00S02037.edit    +++|***       CLEAR (CL) - CLEARS THE STRING BUFFER.
02062  M00S02038.edit    +++|*
02063  M00S02039.edit    +++|*         RETURNS THE STRING BUFFER FILE (SCR2).
02064  M00S02040.edit    +++|
02065  M00S02041.edit    +++|
02066  M00S02042.edit    +++| CLEAR    BSS    0
02067  M00S02043.edit    +++|          EVICT  B,R         RETURN STRING FILE SPACE
02068  M00S02044.edit    +++|          SA3    X2+B1
02069  M00S02045.edit    +++|          SX7    X3+         SET IN = OUT = FIRST
02070  M00S02046.edit    +++|          BX6    X6-X6
02071  M00S02047.edit    +++|          SA7    A3+B1
02072  M00S02048.edit    +++|          SA6    B+5         CLEAR LINE COUNT
02073  M00S02049.edit    +++|          SA7    A7+B1
02074  M00S02050.edit    +++|          JP     MAIN
02075  M00S02051.edit    +++| DEFTAB   EJECT
02076  M00S02052.edit    +++|***       DEFTAB (DT) - DEFINE TAB CHARACTER.
02077  M00S02053.edit    +++|*
02078  M00S02054.edit    +++|*         IDENTIFIES A TAB CHARACTER TO BE USED WHEN STRUCTURING
02079  M00S02055.edit    +++|*         LINES FROM DATA PASSED IN RESPONSE TO * ENTER TEXT.*
02080  M00S02056.edit    +++|
02081  M00S02057.edit    +++|
02082  M00S02058.edit    +++| DEFTAB   BSS    0
02083  M00S02059.edit    +++|          MX7    1
02084  M00S02060.edit    +++|          ZR     X3,DFT1     IF TAB CHARACTER DEFINITION TO BE CLEARED
02085  M00S02061.edit    +++|          SA1    X3
02086  M00S02062.edit    +++|          AX3    24          POSITION CHARACTER COUNT
02087  M00S02063.edit    +++|          SB2    X3
02088  M00S02064.edit    +++|          NE     B2,B1,MAINX IF MORE THAN ONE CHARACTER
02089  M00S02065.edit    +++|          BX7    X1
02090  M00S02066.edit    +++| DFT1     SA7    TABCH
02091  M00S02067.edit    +++|          JP     MAIN
02092  M00S02068.edit    +++| LENGTH   EJECT
02093  M00S02069.edit    +++|***       LENGTH - TRUNCATE TEXT FILE.
02094  M00S02070.edit    +++|*
02095  M00S02071.edit    +++|*         LIMITS THE NUMBER OF LINES TO BE PROCESSED ON THE TEXT FILE.
02096  M00S02072.edit    +++|*         LINE LIMIT IS SPECIFIED BY N. ORIGINAL PROCESSING BOUNDARIES
02097  M00S02073.edit    +++|*         ARE RESTORED IF N = *.
02098  M00S02074.edit    +++|
02099  M00S02075.edit    +++|
02100  M00S02076.edit    +++| LENGTH   BSS    0
02101  M00S02077.edit    +++|          SB5    X0-377776B
02102  M00S02078.edit    +++|          ZR     B5,LEN5     IF NUMERIC FIELD *
02103  M00S02079.edit    +++|          SA4    X5+5
02104  M00S02080.edit    +++|          SA3    EOFTF       CHECK FILE STATUS
02105  M00S02081.edit    +++|          IX2    X0-X4
02106  M00S02082.edit    +++|          NG     X2,LEN1     IF EDIT FILE BEYOND LINE OF INTEREST
02107  M00S02083.edit    +++|          SA1    TFLEN       CHECK CURRENT FILE LENGTH
02108  M00S02084.edit    +++|          IX4    X0-X1       CHECK FOR PROPER TRUNCATION
02109  M00S02085.edit    +++|          PL     X4,LEN8     IF IMPROPER TRUNCATION
02110  M00S02086.edit    +++|          BX6    X0          SAVE NEW LENGTH
02111  M00S02087.edit    +++|          SA6    A1
02112  M00S02088.edit    +++|          ZR     X3,MAIN     IF POSITIONED AT EOI
02113  M00S02089.edit    +++| LEN1     SA1    CTO
02114  M00S02090.edit    +++|          ZR     X1,MAIN     IF TABLE FULL
02115  M00S02091.edit    +++|          SB4    X1+
02116  M00S02092.edit    +++|          SX6    B4-B1       RESET INDEX
02117  M00S02093.edit    +++|          SX7    A1+B4
02118  M00S02094.edit    +++|          SA6    CTO
02119  M00S02095.edit    +++|          SA7    T+6
02120  M00S02096.edit    +++| LEN2     NG     X2,LEN4     IF FILE BEYOND LINE OF INTEREST
02121  M00S02097.edit    +++|          RJ     AFW
02122  M00S02098.edit    +++|          ZR     X7,RESET    IF ADVANCE WENT TO EOI
02123  M00S02099.edit    +++|          SA0    T
02124  M00S02100.edit    +++|          WRITEC A5+,LBUF    COPY LAST LINE OF ABBREVIATED TEXT FILE
02125  M00S02101.edit    +++| LEN3     READW  X5,LBUF,CBUFL
02126  M00S02102.edit    +++|          SX2    A0          SCRATCH FILE FET ADDRESS
02127  M00S02103.edit    +++|          BX0    X1
02128  M00S02104.edit    +++|          SB7    B6-LBUF     SET NUMBER WORDS TO WRITE
02129  M00S02105.edit    +++|          WRITEW X2,LBUF,B7
02130  M00S02106.edit    +++|          ZR     X0,LEN3     IF NOT EOR
02131  M00S02107.edit    +++|          CEPF   LEN3,4
02132  M00S02108.edit    +++|          SA7    EOFTF       SET FILE STATUS
02133  M00S02109.edit    +++|          SA7    SVLC
02134  M00S02110.edit    +++|          WRITER X2          FLUSH BUFFER
02135  M00S02111.edit    +++|          JP     SET2
02136  M00S02112.edit    +++|
02137  M00S02113.edit    +++| LEN4     SA0    X0          SAVE LINE ADVANCE
02138  M00S02114.edit    +++|          RJ     CPY         REWIND FILES
02139  M00S02115.edit    +++|          SX2    A0-B1       RESTORE CORRECT LINE ADVANCE
02140  M00S02116.edit    +++|          SX7    B1          INSURE ADVANCE TO EOI NOT DEFAULT
02141  M00S02117.edit    +++|          EQ     LEN2
02142  M00S02118.edit    +++|
02143  M00S02119.edit    +++| LEN5     SA1    CTO
02144  M00S02120.edit    +++|          SX6    NLR
02145  M00S02121.edit    +++|          IX4    X1-X6
02146  M00S02122.edit    +++|          ZR     X4,MAIN     IF NO DATA ON FILE
02147  M00S02123.edit    +++|          SB4    X1+B1
02148  M00S02124.edit    +++|          SX7    A1+B4
02149  M00S02125.edit    +++|          SA6    A1
02150  M00S02126.edit    +++|          SA3    EOFTF       CHECK FILE STATUS
02151  M00S02127.edit    +++|          SA7    T+5
02152  M00S02128.edit    +++|          ZR     X3,LEN6     IF POSITIONED AT EOI
02153  M00S02129.edit    +++|          SX2    377776B
02154  M00S02130.edit    +++|          RJ     AFW         ADVANCE TO EOI
02155  M00S02131.edit    +++| LEN6     READLS T
02156  M00S02132.edit    +++|          RECALL A5
02157  M00S02133.edit    +++| LEN7     READW  T,LBUF,CBUFL
02158  M00S02134.edit    +++|          SB7    B6-LBUF     NUMBER OF WORDS TO WRITE
02159  M00S02135.edit    +++|          BX0    X1
02160  M00S02136.edit    +++|          SX2    A5          WRITE FILE FET ADDRESS
02161  M00S02137.edit    +++|          WRITEW X2,LBUF,B7
02162  M00S02138.edit    +++|          ZR     X0,LEN7     IF NOT END OF RECORD
02163  M00S02139.edit    +++|          EVICT  T           RETURN LENGTH FILE SPACE
02164  M00S02140.edit    +++|          SX7    0
02165  M00S02141.edit    +++|          SA7    SVLC        RESET SEARCH POINTER
02166  M00S02142.edit    +++|          JP     SET2
02167  M00S02143.edit    +++|
02168  M00S02144.edit    +++| LEN8     WRITEC O,(=C* IMPROPER TRUNCATION.*)
02169  M00S02145.edit    +++|          JP     MAIN
02170  M00S02146.edit    +++|
02171  M00S02147.edit    +++| CTO      CON    NLR
02172  M00S02148.edit    +++|          BSS    NLR
02173  M00S02149.edit    +++|          CON    0
02174  M00S02150.edit    +++| LINE     EJECT
02175  M00S02151.edit    +++|***       LINE (LN) - LIST LINE NUMBER.
02176  M00S02152.edit    +++|*
02177  M00S02153.edit    +++|*         INDICATE LINE NUMBER ASSOCIATED WITH SEARCH POINTER.
02178  M00S02154.edit    +++|
02179  M00S02155.edit    +++|
02180  M00S02156.edit    +++| LINE     BSS    0
02181  M00S02157.edit    +++|          SA2    SVLC
02182  M00S02158.edit    +++|          SX0    1L.&3L
02183  M00S02159.edit    +++|          SA5    EOFTF
02184  M00S02160.edit    +++|          SX1    X2+B1
02185  M00S02161.edit    +++|          RJ     CDD         CONVERT LINE NUMBER
02186  M00S02162.edit    +++|          LX6    18
02187  M00S02163.edit    +++|          ZR     X5,LIN1     IF LAST LINE ON FILE
02188  M00S02164.edit    +++|          BX6    X6-X0
02189  M00S02165.edit    +++| LIN1     SA6    LNMA        SET NUMBER IN MESSAGE
02190  M00S02166.edit    +++|          WRITEC O,LNM
02191  M00S02167.edit    +++|          JP     MAIN
02192  M00S02168.edit    +++|
02193  M00S02169.edit    +++|
02194  M00S02170.edit    +++| LNM      DATA   20H FILE AT LINE NUMBER
02195  M00S02171.edit    +++| LNMA     BSS    1
02196  M00S02172.edit    +++|
02197  M00S02173.edit    +++| EFM      DATA   C* -END OF FILE-*
02198  M00S02174.edit    +++| LISTAB   EJECT
02199  M00S02175.edit    +++|***       LISTAB (LT) - LIST TAB STOPS.
02200  M00S02176.edit    +++|
02201  M00S02177.edit    +++|
02202  M00S02178.edit    +++| LISTAB   BSS    0
02203  M00S02179.edit    +++|          SA1    TTBL        FIRST TAB COLUMN
02204  M00S02180.edit    +++|          SA0    TSM+1
02205  M00S02181.edit    +++| LTB1     ZR     X1,LTB3     IF NO TAB STOPS
02206  M00S02182.edit    +++|          RJ     CDD
02207  M00S02183.edit    +++|          MX0    30
02208  M00S02184.edit    +++|          BX5    -X0*X6
02209  M00S02185.edit    +++|          SA1    A1+B1       READ NEXT TAB COLUMN
02210  M00S02186.edit    +++|          LX5    30
02211  M00S02187.edit    +++|          ZR     X1,LTB2     IF END OF TABLE
02212  M00S02188.edit    +++|          RJ     CDD
02213  M00S02189.edit    +++|          BX6    -X0*X6
02214  M00S02190.edit    +++|          BX7    X5+X6
02215  M00S02191.edit    +++|          SA1    A1+B1
02216  M00S02192.edit    +++|          SA7    A0          STORE CONVERTED VALUES IN MESSAGE
02217  M00S02193.edit    +++|          BX5    X5-X5
02218  M00S02194.edit    +++|          SA0    A0+B1
02219  M00S02195.edit    +++|          NZ     X1,LTB1     IF NOT END OF TABLE
02220  M00S02196.edit    +++| LTB2     BX7    X5
02221  M00S02197.edit    +++|          SA7    A0
02222  M00S02198.edit    +++|          WRITEC O,TSM       LIST TAB STOPS
02223  M00S02199.edit    +++|          JP     MAIN
02224  M00S02200.edit    +++|
02225  M00S02201.edit    +++| LTB3     SA5    LTBA
02226  M00S02202.edit    +++|          EQ     LTB2
02227  M00S02203.edit    +++|
02228  M00S02204.edit    +++|
02229  M00S02205.edit    +++| LTBA     DATA   L* NONE.*
02230  M00S02206.edit    +++|
02231  M00S02207.edit    +++| TSM      DATA   10H TAB STOPS
02232  M00S02208.edit    +++|          BSS    TTBLL/2+1
02233  M00S02209.edit    +++| MERGE    EJECT
02234  M00S02210.edit    +++|***       MERGE (M) - MERGE FILES.
02235  M00S02211.edit    +++|*
02236  M00S02212.edit    +++|*         MERGES A SECONDARY FILE INTO THE FILE BEING EDITED. THE
02237  M00S02213.edit    +++|*         SECONDARY FILE NAME IS PASSED IN /P1/. IF MERGING IS
02238  M00S02214.edit    +++|*         RELATIVE TO A SPECIFIC CHARACTER STRING, THE STRING OF
02239  M00S02215.edit    +++|*         INTEREST IS GIVEN IN /P2/. MERGING OCCURS AFTER THE NTH
02240  M00S02216.edit    +++|*         LINE OR AFTER THE NTH LINE CONTAINING /P2/.
02241  M00S02217.edit    +++|
02242  M00S02218.edit    +++|
02243  M00S02219.edit    +++| MERGE    BSS    0
02244  M00S02220.edit    +++|          ZR     X3,MAINX    IF MERGE FILE NAME NOT GIVEN
02245  M00S02221.edit    +++|          SB2    X3-1
02246  M00S02222.edit    +++|          AX3    24          POSITION CHARACTER COUNT
02247  M00S02223.edit    +++|          SB5    60
02248  M00S02224.edit    +++|          BX6    X6-X6       CLEAR ACCUMULATOR
02249  M00S02225.edit    +++|          SB6    X3+B2
02250  M00S02226.edit    +++| MRG1     RJ     ANC         ASSEMBLE NEXT CHARACTER
02251  M00S02227.edit    +++|          ZR     X4,MRG10    IF NOT ALPHANUMERIC CHARACTER
02252  M00S02228.edit    +++|          SX1    X4-1R+
02253  M00S02229.edit    +++|          PL     X1,MRG10    IF NOT ALPHANUMERIC CHARACTER
02254  M00S02230.edit    +++|          SX1    X3-74B
02255  M00S02231.edit    +++|          ZR     X1,MRG10    IF 74B ESCAPE CODE
02256  M00S02232.edit    +++|          LX6    6
02257  M00S02233.edit    +++|          BX6    X6+X4       ADD CHARACTER TO ACCUMULATOR
02258  M00S02234.edit    +++|          SB5    B5-6
02259  M00S02235.edit    +++|          LT     B2,B6,MRG1  IF DELIMITER NOT REACHED
02260  M00S02236.edit    +++|          LX4    B5,X6
02261  M00S02237.edit    +++|          MX7    -18
02262  M00S02238.edit    +++|          SA3    B0          CLEAR FET ADDRESS
02263  M00S02239.edit    +++|          BX3    -X7*X4
02264  M00S02240.edit    +++|          NZ     X3,MRG10    IF NAME > 7 CHARACTERS
02265  M00S02241.edit    +++|          RJ     CRN
02266  M00S02242.edit    +++|          ZR     X7,MRG10.1  IF FILE NAME RESERVED
02267  M00S02243.edit    +++|          RETURN M,R
02268  M00S02244.edit    +++|          SX1    B1          BUSY FLAG OFF
02269  M00S02245.edit    +++|          BX6    X4+X1
02270  M00S02246.edit    +++|          MX3    5
02271  M00S02247.edit    +++|          SA6    X2          SET FILE NAME IN FET
02272  M00S02248.edit    +++|          STATUS X2
02273  M00S02249.edit    +++|          LX3    5+1
02274  M00S02250.edit    +++|          SA1    X2
02275  M00S02251.edit    +++|          BX7    X3*X1       EXTRACT STATUS FIELD
02276  M00S02252.edit    +++|          LX3    9
02277  M00S02253.edit    +++|          NZ     X7,MRG3     IF FILE LOCAL
02278  M00S02254.edit    +++|          GET    X2
02279  M00S02255.edit    +++|          SA4    X2
02280  M00S02256.edit    +++|          BX7    X3*X4
02281  M00S02257.edit    +++|          ZR     X7,MRG4     IF PERMANENT FILE
02282  M00S02258.edit    +++| MRG2     WRITEC O,(=C* MERGE ERROR, SECONDARY FILE EMPTY.*)
02283  M00S02259.edit    +++|          SB4    MAIN        SET TRANSFER
02284  M00S02260.edit    +++|          EQ     MRG9
02285  M00S02261.edit    +++|
02286  M00S02262.edit    +++| MRG3     REWIND X2
02287  M00S02263.edit    +++| MRG4     READ   X2          INITIATE READ ON MERGE FILE
02288  M00S02264.edit    +++|          READC  X2,TBUF,LBUFL
02289  M00S02265.edit    +++|          NZ     X1,MRG2     IF MERGE FILE EMPTY
02290  M00S02266.edit    +++|          SA4    STPHR2
02291  M00S02267.edit    +++|          ZR     X4,MRG6     IF NO STRING FIELD
02292  M00S02268.edit    +++|          SA2    EOFTF
02293  M00S02269.edit    +++|          SX0    0
02294  M00S02270.edit    +++|          ZR     X2,LTL11    IF EDIT FILE AT EOI
02295  M00S02271.edit    +++|          SA1    NUM
02296  M00S02272.edit    +++|          SX6    X1-377776B
02297  M00S02273.edit    +++|          NZ     X6,MRG5     IF NOT ASTERISK
02298  M00S02274.edit    +++|          SA1    STPHR2      SET UP STRING POINTERS
02299  M00S02275.edit    +++|          BX6    X1
02300  M00S02276.edit    +++|          SA6    STPHR1
02301  M00S02277.edit    +++|          BX7    X7-X7
02302  M00S02278.edit    +++|          SA6    MRGA
02303  M00S02279.edit    +++|          SA7    STPHR2
02304  M00S02280.edit    +++|          RJ     CST         COUNT STINGS
02305  M00S02281.edit    +++|          SA1    MRGA        RESTORE STRING POINTER
02306  M00S02282.edit    +++|          BX0    X0-X0
02307  M00S02283.edit    +++|          LX6    X1
02308  M00S02284.edit    +++|          SA6    STPHR2
02309  M00S02285.edit    +++| MRG5     SX6    STPHR2
02310  M00S02286.edit    +++|          SX1    B0+         BEGIN SEARCH AT START OF CURRENT LINE
02311  M00S02287.edit    +++|          RJ     SFS
02312  M00S02288.edit    +++|          ZR     X7,MRG11    IF END OF INFORMATION
02313  M00S02289.edit    +++|          SA3    SEC
02314  M00S02290.edit    +++|          SX7    X3+1        ADVANCE OPERATION COUNT
02315  M00S02291.edit    +++|          SX0    B1+
02316  M00S02292.edit    +++|          SA7    A3+
02317  M00S02293.edit    +++|          INTRPT MRG6        PROCESS TERMINAL INTERRUPT
02318  M00S02294.edit    +++|          NZ     X7,MRG5     IF STRING NOT FOUND
02319  M00S02295.edit    +++| MRG6     SA3    EOFTF
02320  M00S02296.edit    +++|          ZR     X3,MRG7     IF POSITIONED AT EOI
02321  M00S02297.edit    +++|          BX2    X0
02322  M00S02298.edit    +++|          RJ     AFW         POSITION TEXT FILES FOR MERGE
02323  M00S02299.edit    +++| MRG7     WRITEC A5+,TBUF
02324  M00S02300.edit    +++| MRG8     READW  M,TBUF,100B
02325  M00S02301.edit    +++|          SB7    B6-TBUF     SET WORD COUNT
02326  M00S02302.edit    +++|          BX0    X1
02327  M00S02303.edit    +++|          SX2    A5          WRITE FILE FET ADDRESS
02328  M00S02304.edit    +++|          WRITEW X2,TBUF,B7
02329  M00S02305.edit    +++|          ZR     X0,MRG8     IF NOT END OF DATA
02330  M00S02306.edit    +++|          SB4    SET2
02331  M00S02307.edit    +++| MRG9     SX2    3RSCR
02332  M00S02308.edit    +++|          BX7    X7-X7       CLEAR LINE COUNT
02333  M00S02309.edit    +++|          SX1    B1
02334  M00S02310.edit    +++|          LX2    60-18       RESTORE NAME IN FET TO *SCR*
02335  M00S02311.edit    +++|          SA7    M+5
02336  M00S02312.edit    +++|          BX6    X2+X1
02337  M00S02313.edit    +++|          SA6    M
02338  M00S02314.edit    +++|          JP     B4
02339  M00S02315.edit    +++|
Line S02316 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
02340  M01S02316.v23l617 ---| MRG10    SB6    =C* ILLEGAL FILE NAME.*
Line S00024 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
02341  M01S00024.v23l617 +++| MRG10    SB6    =C* INCORRECT FILE NAME.*
02342  M00S02317.edit    +++| MRG10.1  WRITEC O,B6
02343  M00S02318.edit    +++|          EQ     MAIN        PROCESS NEXT COMMAND
02344  M00S02319.edit    +++|
02345  M00S02320.edit    +++| MRG11    SB4    RPS11       SET RETURN
02346  M00S02321.edit    +++|          EQ     MRG9
02347  M00S02322.edit    +++|
02348  M00S02323.edit    +++|
02349  M00S02324.edit    +++| MRGA     CON    0
02350  M00S02325.edit    +++| RESET    EJECT
02351  M00S02326.edit    +++|***       RESET (R) - RESET SEARCH POINTER.
02352  M00S02327.edit    +++|*
02353  M00S02328.edit    +++|*         THE SEARCH POINTER IS SET TO THE FIRST LINE OF THE FILE.
02354  M00S02329.edit    +++|
02355  M00S02330.edit    +++|
02356  M00S02331.edit    +++| RESET    BSS    0
02357  M00S02332.edit    +++|          BX3    X3-X3
02358  M00S02333.edit    +++|          SX6    B0          CLEAR SEARCH POINTER
02359  M00S02334.edit    +++|          EQ     SET1
02360  M00S02335.edit    +++| SET      EJECT
02361  M00S02336.edit    +++|***       SET (S) - REDEFINE SEARCH POINTER.
02362  M00S02337.edit    +++|*
02363  M00S02338.edit    +++|*         MOVES THE SEARCH POINTER AHEAD OR BACK DEPENDING ON
02364  M00S02339.edit    +++|*         POSITIVE OR NEGATIVE N. IT MAY ALSO BE SET TO THE NTH LINE
02365  M00S02340.edit    +++|*         CONTAINING /P1/, HOWEVER, N MUST BE POSITIVE.
02366  M00S02341.edit    +++|
02367  M00S02342.edit    +++|
02368  M00S02343.edit    +++| SET      BSS    0
02369  M00S02344.edit    +++|          ZR     B7,SET5     IF LINE ADVANCE POSITIVE
02370  M00S02345.edit    +++|          SA4    SVLC
02371  M00S02346.edit    +++|          IX6    X4-X0
02372  M00S02347.edit    +++|          PL     X6,SET1     IF SET COUNT IN RANGE
02373  M00S02348.edit    +++|          BX6    X6-X6
Line S02349 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
02374  M01S02349.v23l617 ---| SET1     NZ     X3,MAINX    IF ILLEGAL STRING FIELD
Line S00025 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
02375  M01S00025.v23l617 +++| SET1     NZ     X3,MAINX    IF INCORRECT STRING FIELD
02376  M00S02350.edit    +++|          SA6    SVLC
02377  M00S02351.edit    +++| SET2     RJ     CPY
02378  M00S02352.edit    +++|          SA2    SVLC        GET SEARCH POINTER
02379  M00S02353.edit    +++|          SX6    B1
02380  M00S02354.edit    +++|          BX7    X2
02381  M00S02355.edit    +++|          SA6    X5+5        INITIALIZE READ FILE LINE POSITION
02382  M00S02356.edit    +++|          SA7    A5+5
02383  M00S02357.edit    +++|          NZ     X1,SET4     IF EOR
02384  M00S02358.edit    +++|          SA6    EOFTF       CLEAR EOI FLAG
02385  M00S02359.edit    +++|          RJ     AFW
02386  M00S02360.edit    +++| SET3     SA1    FBB
02387  M00S02361.edit    +++|          MX2    56
02388  M00S02362.edit    +++|          BX3    X2*X1       ASSURE NEXT READ FROM SAME FILE
02389  M00S02363.edit    +++|          SX4    X5-F
02390  M00S02364.edit    +++|          IX6    X4+X3       RESET READ FILE BIAS
02391  M00S02365.edit    +++|          SA6    A1
02392  M00S02366.edit    +++| SET4     SA4    EOFTF
02393  M00S02367.edit    +++|          ZR     X4,LTL11    IF FILE POSITIONED AT EOF
02394  M00S02368.edit    +++|          JP     MAIN
02395  M00S02369.edit    +++|
02396  M00S02370.edit    +++| SET5     SA4    EOFTF
02397  M00S02371.edit    +++|          ZR     X4,LTL11    IF FILE POSITIONED AT EOF
02398  M00S02372.edit    +++|          LX7    X2
02399  M00S02373.edit    +++|          BX0    X0-X0
02400  M00S02374.edit    +++|          SA7    LCTB
02401  M00S02375.edit    +++|          ZR     X3,SET6     IF NO STRING FIELD
02402  M00S02376.edit    +++|          SX6    B1
02403  M00S02377.edit    +++|          SA6    A3-B1       SET LINE MODE
02404  M00S02378.edit    +++|          RJ     CST
02405  M00S02379.edit    +++|          SA1    NUM
02406  M00S02380.edit    +++|          RJ     GSM
02407  M00S02381.edit    +++| SET6     SA2    LCTB
02408  M00S02382.edit    +++|          RJ     AFW         ADVANCE FILES
02409  M00S02383.edit    +++| SET7     SA2    LCTB
02410  M00S02384.edit    +++|          IX6    X2-X0
02411  M00S02385.edit    +++|          SA6    A2
02412  M00S02386.edit    +++| SET8     SA2    LCTB
02413  M00S02387.edit    +++|          SA3    SVLC
02414  M00S02388.edit    +++|          IX6    X2+X3       REDEFINE SEARCH POINTER
02415  M00S02389.edit    +++|          SA6    A5+5
02416  M00S02390.edit    +++|          SA6    A3
02417  M00S02391.edit    +++|          EQ     SET3
02418  M00S02392.edit    +++| TABS     EJECT
02419  M00S02393.edit    +++|***       TABS (T) - SET TAB COLUMNS.
02420  M00S02394.edit    +++|*
02421  M00S02395.edit    +++|*         SET TAB STOPS AS SPECIFIED IN /P1/. SEE DEFTAB.
02422  M00S02396.edit    +++|
02423  M00S02397.edit    +++|
02424  M00S02398.edit    +++| TABS     BSS    0
02425  M00S02399.edit    +++|          SB4    X3
02426  M00S02400.edit    +++|          SB7    B0
02427  M00S02401.edit    +++|          ZR     B4,TBS4     IF TAB STOPS TO BE CLEARED
02428  M00S02402.edit    +++|          AX3    24
02429  M00S02403.edit    +++|          SB6    X3+B4       SET END OF STRING
02430  M00S02404.edit    +++| TBS1     SA1    B4
02431  M00S02405.edit    +++|          SB4    B4+B1       ADVANCE STRING BUFFER ADDRESS
02432  M00S02406.edit    +++|          SX2    X1-1R,
02433  M00S02407.edit    +++|          ZR     X2,TBS2     IF END OF TAB
02434  M00S02408.edit    +++|          SX3    X1-1R0
02435  M00S02409.edit    +++|          NG     X3,TBS5     IF CHARACTER ALPHABETIC
02436  M00S02410.edit    +++|          SX2    X1-1R9-1
02437  M00S02411.edit    +++|          PL     X2,TBS5     IF CHARACTER NOT NUMERIC
02438  M00S02412.edit    +++|          LX6    X7,B1
02439  M00S02413.edit    +++|          LX7    3
02440  M00S02414.edit    +++|          IX7    X6+X7       ASSEMBLE TAB VALUE
02441  M00S02415.edit    +++|          IX7    X7+X3
02442  M00S02416.edit    +++|          NE     B4,B6,TBS1  IF NOT END OF STRING
02443  M00S02417.edit    +++| TBS2     SX4    X7-TABCL
02444  M00S02418.edit    +++|          PL     X4,TBS5     IF TAB VALUE TOO LARGE
02445  M00S02419.edit    +++| TBS3     SA7    B7+TTBL
02446  M00S02420.edit    +++|          SB7    B7+B1
02447  M00S02421.edit    +++|          BX7    X7-X7       CLEAR ASSEMBLY
02448  M00S02422.edit    +++|          SX0    B7-TTBLL
02449  M00S02423.edit    +++|          EQ     B4,B6,TBS4  IF END OF INPUT
02450  M00S02424.edit    +++|          NG     X0,TBS1     IF NOT MAX TAB COUNT
02451  M00S02425.edit    +++|
02452  M00S02426.edit    +++| TBS4     SA7    B7+TTBL     SET TERMINATOR IN TAB TABLE
02453  M00S02427.edit    +++|          JP     MAIN
02454  M00S02428.edit    +++|
02455  M00S02429.edit    +++| TBS5     SX6    0
02456  M00S02430.edit    +++|          SA6    B7+TTBL     TERMINATE TAB TABLE
02457  M00S02431.edit    +++|          JP     MAINX
02458  M00S02432.edit    +++| WIDTH    EJECT
02459  M00S02433.edit    +++|***       WIDTH (W) - SET LINE WIDTH.
02460  M00S02434.edit    +++|*
02461  M00S02435.edit    +++|*         DEFINES A COLUMN AT WHICH LINE ASSEMBLY WILL TERMINATE.
02462  M00S02436.edit    +++|*         USED IN CONNECTION WITH ALIGN.
02463  M00S02437.edit    +++|
02464  M00S02438.edit    +++|
02465  M00S02439.edit    +++| WIDTH    BSS    0
02466  M00S02440.edit    +++|          SX2    X0-MAXWD-1
02467  M00S02441.edit    +++|          PL     X2,MAINX    IF WIDTH TOO LARGE
02468  M00S02442.edit    +++|          SX3    X0-MINWD
02469  M00S02443.edit    +++|          NG     X3,MAINX    IF WIDTH TOO SMALL
02470  M00S02444.edit    +++|          SX7    X0+
02471  M00S02445.edit    +++|          SA7    WDTH        SET NEW WIDTH
02472  M00S02446.edit    +++|          JP     MAIN
02473  M00S02447.edit    +++|          TITLE  UTILITY ROUTINES.
02474  M00S02448.edit    +++| ANC      SPACE
02475  M00S02449.edit    +++|**        ANC - ASSEMBLE NEXT CHARACTER.
02476  M00S02450.edit    +++|*
02477  M00S02451.edit    +++|*         PRESET REPLACES ANCA CODE WITH ANCB CODE IF ASCII MODE
02478  M00S02452.edit    +++|*         SPECIFIED.
02479  M00S02453.edit    +++|*
02480  M00S02454.edit    +++|*         ENTRY  (B2) = PREVIOUS CHARACTER ADDRESS.
02481  M00S02455.edit    +++|*                (B6) = LWA+1 OF CHARACTER BUFFER.
02482  M00S02456.edit    +++|*
02483  M00S02457.edit    +++|*         EXIT   (B2) = CURRENT CHARACTER ADDRESS.
02484  M00S02458.edit    +++|*                (B6) = LWA+1 OF CHARACTER BUFFER.
02485  M00S02459.edit    +++|*                (X2) = TOTAL CHARACTER (6 OR 12 BITS),
02486  M00S02460.edit    +++|*                       RIGHT-JUSTIFIED.
02487  M00S02461.edit    +++|*                (X3) = UPPER 6 BITS OF 12 BIT ASCII CHARACTER,
02488  M00S02462.edit    +++|*                       RIGHT-JUSTIFIED, ZERO OTHERWISE.
02489  M00S02463.edit    +++|*                (X4) = LOWER 6 BITS OF CHARACTER, RIGHT-JUSTIFIED.
02490  M00S02464.edit    +++|*
02491  M00S02465.edit    +++|*         USES   A - 2, 4.
02492  M00S02466.edit    +++|*                B - 2.
02493  M00S02467.edit    +++|*                X - 1, 2, 3, 4.
02494  M00S02468.edit    +++|
02495  M00S02469.edit    +++|
02496  M00S02470.edit    +++| ANC      SUBR               ENTRY/EXIT
02497  M00S02471.edit    +++|          SB2    B2+B1       ADVANCE CHARACTER ADDRESS
02498  M00S02472.edit    +++|          SA2    B2
02499  M00S02473.edit    +++|          BX4    X2
02500  M00S02474.edit    +++|          BX3    X3-X3
02501  M00S02475.edit    +++| ANCA     EQ     ANCX        RETURN - NOT ASCII MODE
02502  M00S02476.edit    +++|*         EQ     B2,B6,ANCX  (ASCII MODE)
02503  M00S02477.edit    +++|*         SX1    X4-76B      (ASCII MODE)
02504  M00S02478.edit    +++|          ZR     X1,ANC1     IF 76B ESCAPE CODE
02505  M00S02479.edit    +++|          SX1    X4-74B
02506  M00S02480.edit    +++|          NZ     X1,ANCX     IF NOT 74B ESCAPE CODE
02507  M00S02481.edit    +++| ANC1     BX3    X4
02508  M00S02482.edit    +++|          SB2    B2+B1       ADVANCE CHARACTER ADDRESS
02509  M00S02483.edit    +++|          SA4    B2
02510  M00S02484.edit    +++|          LX2    6
02511  M00S02485.edit    +++|          BX2    X4+X2
02512  M00S02486.edit    +++|          EQ     ANCX        RETURN - ASCII MODE
02513  M00S02487.edit    +++|
02514  M00S02488.edit    +++| ANCB     EQ     B2,B6,ANCX  IF END OF LINE
02515  M00S02489.edit    +++|          SX1    X4-76B
02516  M00S02490.edit    +++| AFW      SPACE  4,9
02517  M00S02491.edit    +++|**        AFW - ADVANCE FILES AND WRITE.
02518  M00S02492.edit    +++|*
02519  M00S02493.edit    +++|*         ENTRY  (X2) = NUMBER LINES TO ADVANCE.
02520  M00S02494.edit    +++|*
02521  M00S02495.edit    +++|*         USES   A - 1, 3, 4, 6, 7.
02522  M00S02496.edit    +++|*                B - 6.
02523  M00S02497.edit    +++|*                X - ALL.
02524  M00S02498.edit    +++|*
02525  M00S02499.edit    +++|*         CALLS  RDC=, WTC=.
02526  M00S02500.edit    +++|
02527  M00S02501.edit    +++|
02528  M00S02502.edit    +++| AFW3     SX6    B6
02529  M00S02503.edit    +++|          SA3    TBL
02530  M00S02504.edit    +++|          SA6    A3-B1       SET END OF LINE ADDRESS
02531  M00S02505.edit    +++|          SA4    X5+5
02532  M00S02506.edit    +++|          IX7    X4+X3       ADVANCE READ FILE LINE POINTER
02533  M00S02507.edit    +++|          SA7    A4
02534  M00S02508.edit    +++|
02535  M00S02509.edit    +++| AFW      SUBR               ENTRY/EXIT
02536  M00S02510.edit    +++|          ZR     X2,AFWX     IF LINE ADVANCE ZERO
02537  M00S02511.edit    +++|          SA4    LBL
02538  M00S02512.edit    +++|          BX7    X2
02539  M00S02513.edit    +++|          SB6    X4          SET EOL ADDRESS FOR CURRENT LINE
02540  M00S02514.edit    +++|          LX0    X2
02541  M00S02515.edit    +++|          SA7    A4+B1       SAVE LINE ADVANCE
02542  M00S02516.edit    +++| AFW1     ZR     X0,AFW3     IF FILE POSITIONING COMPLETE
02543  M00S02517.edit    +++|          WRITEC A5,LBUF
02544  M00S02518.edit    +++| AFW2     READC  X5,LBUF,LBUFL
02545  M00S02519.edit    +++|          SX0    X0-1
02546  M00S02520.edit    +++|          ZR     X1,AFW1     IF NOT END OF DATA
02547  M00S02521.edit    +++|          SX0    X0+B1
02548  M00S02522.edit    +++|          SX7    X0
02549  M00S02523.edit    +++|          SA3    TBL
02550  M00S02524.edit    +++|          IX2    X3-X0       NUMBER LINES ADVANCED
02551  M00S02525.edit    +++|          SA1    X5+5
02552  M00S02526.edit    +++|          SA7    A3
02553  M00S02527.edit    +++|          IX6    X1+X2       BUMP READ FILE LINE POINTER
02554  M00S02528.edit    +++|          SA4    PFADR
02555  M00S02529.edit    +++|          SA6    A1
02556  M00S02530.edit    +++|          BX7    X4-X5
02557  M00S02531.edit    +++|          BX5    X4
02558  M00S02532.edit    +++|          SA1    FBB         TEXT FILE BECOMES NEW READ FILE
02559  M00S02533.edit    +++|          MX2    56
02560  M00S02534.edit    +++|          BX1    X2*X1
02561  M00S02535.edit    +++|          SX2    X5-F        READ FILE BIAS
02562  M00S02536.edit    +++|          BX6    X1+X2
02563  M00S02537.edit    +++|          SA6    A1          UPDATE WRITE/READ FILE BIAS
02564  M00S02538.edit    +++|          NZ     X7,AFW2     IF NOT READING PRIMARY TEXT FILE
02565  M00S02539.edit    +++|          SX0    X0-1
02566  M00S02540.edit    +++|          SA7    EOFTF
02567  M00S02541.edit    +++|          EQ     AFWX        RETURN
02568  M00S02542.edit    +++| ATF      SPACE  4,9
02569  M00S02543.edit    +++|**        ATF - ADVANCE TEXT FILE.
02570  M00S02544.edit    +++|*
02571  M00S02545.edit    +++|*         ENTRY  (X2) = NUMBER OF LINES TO ADVANCE.
02572  M00S02546.edit    +++|*
02573  M00S02547.edit    +++|*         USES   A - 0, 4, 6, 7.
02574  M00S02548.edit    +++|*                B - 2, 6, 7.
02575  M00S02549.edit    +++|*                X - 0, 2, 4, 5, 6, 7.
02576  M00S02550.edit    +++|*
02577  M00S02551.edit    +++|*         CALLS  RDC=.
02578  M00S02552.edit    +++|
02579  M00S02553.edit    +++|
02580  M00S02554.edit    +++| ATF4     SX6    B6+         SAVE END OF LINE ADDRESS
02581  M00S02555.edit    +++|          SA6    LBL
02582  M00S02556.edit    +++|
02583  M00S02557.edit    +++| ATF      SUBR               ENTRY/EXIT
02584  M00S02558.edit    +++|          BX0    X2
02585  M00S02559.edit    +++|          ZR     X2,ATFX     IF LINE ADVANCE ZERO
02586  M00S02560.edit    +++|          SA0    X0
02587  M00S02561.edit    +++| ATF1     BX2    X5
02588  M00S02562.edit    +++|          PL     X0,ATF2     IF NO LINE POINTER MANIPULATION
02589  M00S02563.edit    +++|          BX0    -X0
02590  M00S02564.edit    +++|          SA4    X5+5
02591  M00S02565.edit    +++|          IX7    X4+X0       BUMP TEXT FILE LINE COUNT
02592  M00S02566.edit    +++|          SA7    A4
02593  M00S02567.edit    +++| ATF2     ZR     X0,ATF4     IF ADVANCE COMPLETE
02594  M00S02568.edit    +++|          READC  X2,LBUF,LBUFL
02595  M00S02569.edit    +++|          SX0    X0-1        DECREMENT COUNT
02596  M00S02570.edit    +++|          ZR     X1,ATF2     IF NOT EOR
02597  M00S02571.edit    +++|          SA4    PFADR
02598  M00S02572.edit    +++|          SX0    X0+B1
02599  M00S02573.edit    +++|          BX7    X4-X5       CHECK EOR ON PRIMARY FILE
02600  M00S02574.edit    +++|          SB2    A0
02601  M00S02575.edit    +++|          PL     B2,ATF3     IF NO LINE POINTER MANIPULATION
02602  M00S02576.edit    +++|          BX0    -X0
02603  M00S02577.edit    +++| ATF3     SX5    X4
02604  M00S02578.edit    +++|          NZ     X7,ATF1     IF NOT PRIMARY TEXT FILE
02605  M00S02579.edit    +++|          SX0    B0
02606  M00S02580.edit    +++|          SA7    EOFTF
02607  M00S02581.edit    +++|          EQ     ATFX        RETURN
02608  M00S02582.edit    +++| ATL      SPACE  4,11
02609  M00S02583.edit    +++|**        ATL - ASSEMBLE TABBED LINE.
02610  M00S02584.edit    +++|*
02611  M00S02585.edit    +++|*         ENTRY  (B2) = LINE BUFFER ADDRESS.
02612  M00S02586.edit    +++|*                (B4) = CHARACTER BUFFER ADDRESS.
02613  M00S02587.edit    +++|*                (B6) = END OF DATA IN CHARACTER BUFFER.
02614  M00S02588.edit    +++|*
02615  M00S02589.edit    +++|*         USES   A - 1, 2, 3, 6, 7.
02616  M00S02590.edit    +++|*                B - 2, 3, 4, 5, 7.
02617  M00S02591.edit    +++|*                X - 1, 2, 3, 6, 7.
02618  M00S02592.edit    +++|*
02619  M00S02593.edit    +++|*         CALLS  SLT.
02620  M00S02594.edit    +++|
02621  M00S02595.edit    +++|
02622  M00S02596.edit    +++| ATL8     SX7    B2
02623  M00S02597.edit    +++|          SB5    B2+B2       FORM SHIFT COUNT
02624  M00S02598.edit    +++|          LX7    2
02625  M00S02599.edit    +++|          SB5    X7+B5
02626  M00S02600.edit    +++|          SA3    MODE
02627  M00S02601.edit    +++|          LX7    B5,X6       LEFT JUSTIFY ASSEMBLY
02628  M00S02602.edit    +++|          SA7    A6+B1
02629  M00S02603.edit    +++|          BX6    X6-X6       INSURE END OF LINE
02630  M00S02604.edit    +++|          SA2    STRB
02631  M00S02605.edit    +++|          SA6    A7+B1
02632  M00S02606.edit    +++|          SX1    B2-10
02633  M00S02607.edit    +++|          BX1    -X1
02634  M00S02608.edit    +++|          PL     X2,ATL9     IF NOT FINAL DELIMITER
02635  M00S02609.edit    +++|          ZR     X3,ATLX     IF STRING MODE AND FINAL DELIMITER
02636  M00S02610.edit    +++| ATL9     SA2    LBL
02637  M00S02611.edit    +++|          ZR     X1,ATLX     IF EOL ON WORD BOUNDARY
02638  M00S02612.edit    +++|          SX6    A7
02639  M00S02613.edit    +++|          LX1    24          FORM EOL POINTER
02640  M00S02614.edit    +++|          BX1    X1+X6
02641  M00S02615.edit    +++|          RJ     SLT         SET LINE TERMINATOR
02642  M00S02616.edit    +++|          SX6    X2+
02643  M00S02617.edit    +++|          SA6    LBL         RESTORE EOL ADDRESS
02644  M00S02618.edit    +++|
02645  M00S02619.edit    +++| ATL      SUBR               ENTRY/EXIT
02646  M00S02620.edit    +++|          SA1    B2-B1
02647  M00S02621.edit    +++|          SA3    TTBL        FIRST TAB COLUMN
02648  M00S02622.edit    +++|          BX6    X1
02649  M00S02623.edit    +++|          SB5    B1
02650  M00S02624.edit    +++|          SA6    A1+         INITIALIZE STORAGE REGISTER
02651  M00S02625.edit    +++|          SA1    TABCH
02652  M00S02626.edit    +++|          SB7    X3
02653  M00S02627.edit    +++|          BX6    X6-X6       CLEAR ASSEMBLY
02654  M00S02628.edit    +++|          SB2    10
02655  M00S02629.edit    +++|          SA4    ASC         ASCII FLAG
02656  M00S02630.edit    +++| ATL1     SA2    B4          GET NEXT CHARACTER
02657  M00S02631.edit    +++|          SB4    B4+B1
02658  M00S02632.edit    +++|          GT     B4,B6,ATL8  IF ASSEMBLY COMPLETE
02659  M00S02633.edit    +++|          BX7    X2-X1
02660  M00S02634.edit    +++|          ZR     X7,ATL4     IF TAB CHARACTER FOUND
02661  M00S02635.edit    +++|          ZR     X4,ATL2     IF ASCII FLAG NOT SET
02662  M00S02636.edit    +++|          SX7    X2-76B      CHECK ESCAPE 76
02663  M00S02637.edit    +++|          ZR     X7,ATL3     IF ESCAPE 76
02664  M00S02638.edit    +++|          SX7    X2-74B      CHECK ESCAPE 74
02665  M00S02639.edit    +++| ATL2     ZR     X7,ATL3     IF ESCAPE 74
02666  M00S02640.edit    +++|          SB5    B5+1
02667  M00S02641.edit    +++| ATL3     LX6    6           POSITION ASSEMBLY REGISTER
02668  M00S02642.edit    +++|          SB2    B2-1        DECREMENT CHARACTER COUNT
02669  M00S02643.edit    +++|          BX6    X6+X2
02670  M00S02644.edit    +++|          NZ     B2,ATL1     IF WORD NOT COMPLETE
02671  M00S02645.edit    +++|          SA6    A6+B1
02672  M00S02646.edit    +++|          BX6    X6-X6       CLEAR ASSEMBLY
02673  M00S02647.edit    +++|          SB2    10
02674  M00S02648.edit    +++|          EQ     ATL1
02675  M00S02649.edit    +++|
02676  M00S02650.edit    +++| ATL4     ZR     B7,ATL1     IF ALL TABS PROCESSED
02677  M00S02651.edit    +++|          SX2    1R
02678  M00S02652.edit    +++| ATL5     LE     B5,B7,ATL6  IF NOT PAST TAB COLUMN
02679  M00S02653.edit    +++|          SA3    A3+B1
02680  M00S02654.edit    +++|          SB7    X3
02681  M00S02655.edit    +++|          ZR     X3,ATL1     IF ALL TABS PROCESSED
02682  M00S02656.edit    +++|          GT     B5,B7,ATL5
02683  M00S02657.edit    +++| ATL6     EQ     B5,B7,ATL7  IF TAB COLUMN REACHED
02684  M00S02658.edit    +++|          SB5    B5+B1
02685  M00S02659.edit    +++|          LX6    6           BLANK FILL TO TAB COLUMN
02686  M00S02660.edit    +++|          SB2    B2-B1
02687  M00S02661.edit    +++|          BX6    X6+X2
02688  M00S02662.edit    +++|          NZ     B2,ATL6     IF WORD NOT COMPLETE
02689  M00S02663.edit    +++|          SA6    A6+B1
02690  M00S02664.edit    +++|          SB2    10
02691  M00S02665.edit    +++|          BX6    X6-X6
02692  M00S02666.edit    +++| ATL7     NE     B5,B7,ATL6
02693  M00S02667.edit    +++|          SA3    A3+B1
02694  M00S02668.edit    +++|          SB7    X3          GET NEXT TAB VALUE
02695  M00S02669.edit    +++|          EQ     ATL1
02696  M00S02670.edit    +++| BLK      SPACE  4,13
02697  M00S02671.edit    +++|**        BLK - INSERTS BLANK AFTER COLON AT END OF LINE.
02698  M00S02672.edit    +++|*
02699  M00S02673.edit    +++|*         ENTRY  (X1) = END OF LINE POINTER WORD.
02700  M00S02674.edit    +++|*T        36/ N1,24/ A1.
Figure

0232429 A1. N13059 N1

02701  M00S02675.edit    +++|*         N1 = POSITION +1 (MOD 10) OF LAST CHARACTER IN LINE.
02702  M00S02676.edit    +++|*         A1 = ADDRESS OF WORD CONTAINING *N1*.
02703  M00S02677.edit    +++|*
02704  M00S02678.edit    +++|*         EXIT   (X1) = END OF LINE POINTER WORD, UPDATED IF NECESSARY.
02705  M00S02679.edit    +++|*                (B6) = NUMBER OF BLANKS ADDED.
02706  M00S02680.edit    +++|*
02707  M00S02681.edit    +++|*         USES   A - 3, 4, 7.
02708  M00S02682.edit    +++|*                B - 2, 3, 4, 5, 6.
02709  M00S02683.edit    +++|*                X - 1, 3, 4, 7.
02710  M00S02684.edit    +++|
02711  M00S02685.edit    +++|
02712  M00S02686.edit    +++| BLK1     SA4    A3-1        GET PREVIOUS WORD
02713  M00S02687.edit    +++| BLK2     MX7    -6
02714  M00S02688.edit    +++|          BX7    -X7*X4
02715  M00S02689.edit    +++|          NZ     X7,BLKX     IF LAST CHARACTER NOT *00*
02716  M00S02690.edit    +++|          MX7    -54
02717  M00S02691.edit    +++|          BX4    -X7*X3      INSERT BLANK AFTER *00* CHARACTER
02718  M00S02692.edit    +++|          SX7    1R
02719  M00S02693.edit    +++|          LX7    54
02720  M00S02694.edit    +++|          BX7    X7+X4
02721  M00S02695.edit    +++|          SB2    B4-B2       SHIFT COUNT
02722  M00S02696.edit    +++|          LX7    B2,X7       REPOSITION WORD
02723  M00S02697.edit    +++|          SB5    10
02724  M00S02698.edit    +++|          SA7    A3
02725  M00S02699.edit    +++|          SB3    B3+B1       INCREMENT CHARACTER POSITION
02726  M00S02700.edit    +++|          NE     B3,B5,BLK3  IF NOT FULL WORD
02727  M00S02701.edit    +++|          SB3    B0
02728  M00S02702.edit    +++|          SA3    A3+B1
02729  M00S02703.edit    +++| BLK3     SX1    B3
02730  M00S02704.edit    +++|          LX1    24
02731  M00S02705.edit    +++|          SX4    A3          ADDRESS OF NEW END OF LINE WORD
02732  M00S02706.edit    +++|          BX1    X1+X4       FORM NEW END OF LINE POINTER WORD
02733  M00S02707.edit    +++|          SB6    1
02734  M00S02708.edit    +++|
02735  M00S02709.edit    +++| BLK      SUBR               ENTRY/EXIT
02736  M00S02710.edit    +++|          SB6    B0
02737  M00S02711.edit    +++|          MX4    -59
02738  M00S02712.edit    +++|          BX4    -X4*X1
02739  M00S02713.edit    +++|          SA3    X4          ADDRESS OF END OF LINE WORD
02740  M00S02714.edit    +++|          AX4    24          POSITION +1 (MOD 10) OF LAST CHARACTER
02741  M00S02715.edit    +++|          SB2    B0
02742  M00S02716.edit    +++|          SB4    60
02743  M00S02717.edit    +++|          SB3    X4
02744  M00S02718.edit    +++|          ZR     B3,BLK1     IF LAST CHARACTER IS IN PREVIOUS WORD
02745  M00S02719.edit    +++|          SB2    B3+B3       FORM SHIFT COUNT
02746  M00S02720.edit    +++|          LX4    2
02747  M00S02721.edit    +++|          SB2    X4+B2       CHARACTER POSITION * 6
02748  M00S02722.edit    +++|          LX3    B2,X3       RIGHT JUSTIFY LAST CHARACTER
02749  M00S02723.edit    +++|          BX4    X3
02750  M00S02724.edit    +++|          EQ     BLK2
02751  M00S02725.edit    +++| BSP      SPACE  4,10
02752  M00S02726.edit    +++|**        BSP - BACKSPACE POINTER.
02753  M00S02727.edit    +++|*
02754  M00S02728.edit    +++|*         ENTRY  (X1) = POINTER WORD TO BE BACKSPACED.
02755  M00S02729.edit    +++|*                (X4) = NUMBER OF POSITIONS TO BACKSPACE.
02756  M00S02730.edit    +++|*
02757  M00S02731.edit    +++|*         EXIT   (X1) = UPDATED POINTER WORD.
02758  M00S02732.edit    +++|*
02759  M00S02733.edit    +++|*         USES   A - NONE.
02760  M00S02734.edit    +++|*                B - 2.
02761  M00S02735.edit    +++|*                X - 1, 3.
02762  M00S02736.edit    +++|
02763  M00S02737.edit    +++|
02764  M00S02738.edit    +++| BSP      SUBR               ENTRY/EXIT
02765  M00S02739.edit    +++|          SB2    X4+
02766  M00S02740.edit    +++|          LE     B2,BSPX     IF NO BACKSPACE
02767  M00S02741.edit    +++|          MX3    1
02768  M00S02742.edit    +++|          BX1    -X3*X1
02769  M00S02743.edit    +++|          SX3    X1
02770  M00S02744.edit    +++|          AX1    24
02771  M00S02745.edit    +++| BSP1     SX1    X1-1
02772  M00S02746.edit    +++|          PL     X1,BSP2     IF NOT ON WORD BOUNDARY
02773  M00S02747.edit    +++|          SX1    9
02774  M00S02748.edit    +++|          SX3    X3-1
02775  M00S02749.edit    +++| BSP2     SB2    B2-B1
02776  M00S02750.edit    +++|          GT     B2,BSP1     IF MORE POSITIONS TO BACKSPACE
02777  M00S02751.edit    +++|          LX1    24
02778  M00S02752.edit    +++|          BX1    X1+X3       FORM NEW POINTER WORD
02779  M00S02753.edit    +++|          EQ     BSPX        RETURN - POINTER UPDATED
02780  M00S02754.edit    +++| CAC      SPACE  4,10
02781  M00S02755.edit    +++|**        CAC - COUNT ASCII CHARACTERS.
02782  M00S02756.edit    +++|*
02783  M00S02757.edit    +++|*         ENTRY  (X1) = FIRST CHARACTER POINTER WORD.
02784  M00S02758.edit    +++|*                (X4) = LAST CHARACTER POINTER WORD.
02785  M00S02759.edit    +++|*
02786  M00S02760.edit    +++|*         EXIT   (B4) = NUMBER OF ASCII CHARACTERS FOUND.
02787  M00S02761.edit    +++|*
02788  M00S02762.edit    +++|*         USES   A - 2, 3.
02789  M00S02763.edit    +++|*                B - 3, 4, 5, 6, 7.
02790  M00S02764.edit    +++|*                X - 2, 3, 6, 7.
02791  M00S02765.edit    +++|
02792  M00S02766.edit    +++|
02793  M00S02767.edit    +++| CAC      SUBR               ENTRY/EXIT
02794  M00S02768.edit    +++|          SB3    TCHM
02795  M00S02769.edit    +++|          SB4    B0          INITIALIZE ASCII CHARACTER COUNTER
02796  M00S02770.edit    +++|          SB6    X1          FWA OF ASCII STRING
02797  M00S02771.edit    +++|          SB7    X4          LWA OF ASCII STRING
02798  M00S02772.edit    +++|          SB5    24
02799  M00S02773.edit    +++|          AX2    X4,B5       LAST CHARACTER POSITION + 1
02800  M00S02774.edit    +++|          SA3    B3+X2       MASK FOR LAST WORD
02801  M00S02775.edit    +++|          SA2    B7          GET LAST WORD
02802  M00S02776.edit    +++|          BX7    X3*X2       CLEAR UNWANTED DATA
02803  M00S02777.edit    +++|          AX2    X1,B5       FIRST CHARACTER POSITION
02804  M00S02778.edit    +++|          SA3    B3+X2       MASK FOR FIRST WORD
02805  M00S02779.edit    +++|          SA2    B6+         GET FIRST WORD
02806  M00S02780.edit    +++|          BX2    -X3*X2      CLEAR UNWANTED DATA
02807  M00S02781.edit    +++|          NE     B6,B7,CAC1  IF STRING NOT WITHIN ONE WORD
02808  M00S02782.edit    +++|          BX2    X2*X7
02809  M00S02783.edit    +++|          BX7    X7-X7
02810  M00S02784.edit    +++| CAC1     CX6    X3
02811  M00S02785.edit    +++|          SB5    X6
02812  M00S02786.edit    +++|          LX2    B5          LEFT-JUSTIFY REMAINING CHARACTERS
02813  M00S02787.edit    +++|          MX6    -6
02814  M00S02788.edit    +++| CAC2     LX2    6
02815  M00S02789.edit    +++|          BX3    -X6*X2      ISOLATE CHARACTER
02816  M00S02790.edit    +++|          BX2    X2-X3       CLEAR CHARACTER FROM WORD
02817  M00S02791.edit    +++|          SX3    X3-76B
02818  M00S02792.edit    +++|          ZR     X3,CAC3     IF 76B ESCAPE CODE
02819  M00S02793.edit    +++|          SX3    X3+76B-74B
02820  M00S02794.edit    +++|          NZ     X3,CAC5     IF NOT 74B ESCAPE CODE
02821  M00S02795.edit    +++| CAC3     SB4    B4+B1
02822  M00S02796.edit    +++|          NZ     X2,CAC4     IF LOWER 6 BITS OF CHARACTER IN SAME WORD
02823  M00S02797.edit    +++|          SB6    B6+B1
02824  M00S02798.edit    +++|          SA2    B6
02825  M00S02799.edit    +++|          LT     B6,B7,CAC4  IF NOT LAST WORD
02826  M00S02800.edit    +++|          BX2    X7
02827  M00S02801.edit    +++| CAC4     LX2    6
02828  M00S02802.edit    +++|          BX2    X6*X2       CLEAR LOWER 6 BITS OF CHARACTER FROM WORD
02829  M00S02803.edit    +++| CAC5     NZ     X2,CAC2     IF WORD NOT UNPACKED
02830  M00S02804.edit    +++|          SB6    B6+1
02831  M00S02805.edit    +++|          SA2    B6
02832  M00S02806.edit    +++|          LT     B6,B7,CAC2  IF NOT LAST WORD
02833  M00S02807.edit    +++|          BX2    X7
02834  M00S02808.edit    +++|          EQ     B6,B7,CAC2  IF LAST WORD
02835  M00S02809.edit    +++|          EQ     CACX        RETURN
02836  M00S02810.edit    +++| CFC      SPACE  4,12
02837  M00S02811.edit    +++|**        CFC - CHECK FOR COLON.
02838  M00S02812.edit    +++|*
02839  M00S02813.edit    +++|*         ENTRY  (X2) = CURRENT CHARACTER.
02840  M00S02814.edit    +++|*
02841  M00S02815.edit    +++|*         EXIT   (X3) - FINAL COMPARISON.
02842  M00S02816.edit    +++|*
02843  M00S02817.edit    +++|*         USES   X - 1, 3.
02844  M00S02818.edit    +++|*                A - 1.
02845  M00S02819.edit    +++|
02846  M00S02820.edit    +++|
02847  M00S02821.edit    +++| CFC1     BX3    X3-X2       COMPARE
02848  M00S02822.edit    +++|
02849  M00S02823.edit    +++| CFC      SUBR               ENTRY/EXIT
02850  M00S02824.edit    +++|          SA1    CSMR        SYSTEM CHARACTER SET MODE
02851  M00S02825.edit    +++|          SX3    63B         COLON FOR 63 CHARACTER SET SYSTEM
02852  M00S02826.edit    +++|          PL     X1,CFC1     IF 63 CHARACTER SET SYSTEM
02853  M00S02827.edit    +++|          SA1    ASC         CHECK ASCII FLAG
02854  M00S02828.edit    +++|          SX3    B0          64 CHARACTER SET COLON
02855  M00S02829.edit    +++|          ZR     X1,CFC1     IF NOT ASCII MODE
02856  M00S02830.edit    +++|          SX3    7404B       64 CHARACTER SET ASCII COLON
02857  M00S02831.edit    +++|          EQ     CFC1        COMPARE ON 64 CHARACTER SET COLON
02858  M00S02832.edit    +++| CPY      SPACE  4,7
02859  M00S02833.edit    +++|**        CPY - REPOSITION TEXT FILES.
02860  M00S02834.edit    +++|*
02861  M00S02835.edit    +++|*         USES   A - 1, 5, 6, 7.
02862  M00S02836.edit    +++|*                B - 6, 7.
02863  M00S02837.edit    +++|*                X - ALL.
02864  M00S02838.edit    +++|*
02865  M00S02839.edit    +++|*         CALLS  CIO=, RDC=, RDW=, WTC=, WTW=.
02866  M00S02840.edit    +++|
02867  M00S02841.edit    +++|
02868  M00S02842.edit    +++| CPY3     WRITEC A5+,LBUF    DUMP LINE BUFFER
02869  M00S02843.edit    +++|          SX1    A5-F
02870  M00S02844.edit    +++|          SX2    X5-F        UNUSED FILE BECOMES NEXT WRITE FILE
02871  M00S02845.edit    +++|          IX3    X1+X2
02872  M00S02846.edit    +++|          SX4    X3-21
02873  M00S02847.edit    +++|          BX2    -X4         RELATIVE FET OF UNUSED FILE
02874  M00S02848.edit    +++|          SA5    X2+F
02875  M00S02849.edit    +++|          SX5    X1+F        OLD WRITE FILE IS NEXT READ FILE
02876  M00S02850.edit    +++| CPY4     SX2    A5-F
02877  M00S02851.edit    +++|          SX1    X5-F        READ FILE BIAS
02878  M00S02852.edit    +++|          LX2    4
02879  M00S02853.edit    +++|          IX7    X2+X1       MERGE FILE BIAS BITS
02880  M00S02854.edit    +++|          SA7    FBB
02881  M00S02855.edit    +++|          REWIND A5+
02882  M00S02856.edit    +++|          WRITER X5+         FLUSH BUFFER
02883  M00S02857.edit    +++|          REWIND X2
02884  M00S02858.edit    +++|          READ   X2
02885  M00S02859.edit    +++|          READC  X2,LBUF,LBUFL
02886  M00S02860.edit    +++|          SX6    B6+
02887  M00S02861.edit    +++|          SA6    LBL
02888  M00S02862.edit    +++|
02889  M00S02863.edit    +++| CPY      SUBR               ENTRY/EXIT
02890  M00S02864.edit    +++|          SA1    PFADR
02891  M00S02865.edit    +++|          BX3    X1-X5       CHECK - READ FILE IS PRIMARY FILE
02892  M00S02866.edit    +++|          SX7    A5
02893  M00S02867.edit    +++|          NZ     X3,CPY1     IF SECONDARY TEXT FILE
02894  M00S02868.edit    +++|          SA1    EOFTF
02895  M00S02869.edit    +++|          NZ     X1,CPY3     IF NOT AT END OF PRIMARY FILE
02896  M00S02870.edit    +++|          SA7    PFADR
02897  M00S02871.edit    +++|          SA5    X5          SET NEW WRITE FILE
02898  M00S02872.edit    +++|          SX5    X7
02899  M00S02873.edit    +++|          EQ     CPY4
02900  M00S02874.edit    +++|
02901  M00S02875.edit    +++| CPY1     WRITEC A5+,LBUF    WRITE LINE BUFFER
02902  M00S02876.edit    +++| CPY2     READW  X5,LBUF,CBUFL
02903  M00S02877.edit    +++|          SB7    B6-LBUF     NUMBER WORDS TO WRITE
02904  M00S02878.edit    +++|          BX0    X1
02905  M00S02879.edit    +++|          SX2    A5          WRITE FILE FET ADDRESS
02906  M00S02880.edit    +++|          WRITEW X2,LBUF,B7
02907  M00S02881.edit    +++|          ZR     X0,CPY2     IF NOT END OF RECORD
02908  M00S02882.edit    +++|          SX2    A5
02909  M00S02883.edit    +++|          SA5    X5          SWAP READ/WRITE FILES
02910  M00S02884.edit    +++|          SX5    X2+
02911  M00S02885.edit    +++|          EQ     CPY4
02912  M00S02886.edit    +++| CRN      SPACE  4,11
02913  M00S02887.edit    +++|**        CRN - CHECK RESERVED FILE NAME.
02914  M00S02888.edit    +++|*
02915  M00S02889.edit    +++|*         ENTRY  (X4) = LEFT JUSTIFIED FILE NAME.
02916  M00S02890.edit    +++|*                (A3) = FET ADDRESS OF FILE BEING CHECKED.
02917  M00S02891.edit    +++|*
02918  M00S02892.edit    +++|*         EXIT   (X7) = 0  IF FILE NAME RESERVED.
02919  M00S02893.edit    +++|*                (B6) = ERROR MESSAGE ADDRESS, IF FILE NAME RESERVED.
02920  M00S02894.edit    +++|*
02921  M00S02895.edit    +++|*         USES   A - 1.
02922  M00S02896.edit    +++|*                B - 2, 3, 4, 5, 6.
02923  M00S02897.edit    +++|*                X - 1, 2, 3, 7.
02924  M00S02898.edit    +++|
02925  M00S02899.edit    +++|
02926  M00S02900.edit    +++| CRN      SUBR               ENTRY/EXIT
02927  M00S02901.edit    +++|          SB4    FETL
02928  M00S02902.edit    +++|          SB2    F-FETL      SET FWA OF RESERVE FILE FETS
02929  M00S02903.edit    +++|          SB5    A3          SET CURRENT FET ADDRESS
02930  M00S02904.edit    +++|          SB3    T           SET LWA FOR SEARCH
02931  M00S02905.edit    +++|          MX3    42
02932  M00S02906.edit    +++| CRN1     SB2    B2+B4       SET NEXT FET ADDRESS
02933  M00S02907.edit    +++|          EQ     B2,B5,CRN1  IF CURRENT FET
02934  M00S02908.edit    +++|          GT     B2,B3,CRNX  IF SEARCH COMPLETE
02935  M00S02909.edit    +++|          SA1    B2          SET FILE NAME
02936  M00S02910.edit    +++|          BX2    X3*X1
02937  M00S02911.edit    +++|          BX7    X2-X4
02938  M00S02912.edit    +++|          NZ     X7,CRN1     IF NO MATCH
02939  M00S02913.edit    +++|          SB6    CRNA        * RESERVED FILE NAME.*
02940  M00S02914.edit    +++|          EQ     CRNX        RETURN
02941  M00S02915.edit    +++|
02942  M00S02916.edit    +++|
02943  M00S02917.edit    +++| CRNA     DATA   C* RESERVED FILE NAME.*
02944  M00S02918.edit    +++| CST      SPACE  4,7
02945  M00S02919.edit    +++|**        CST - COUNT STRINGS.
02946  M00S02920.edit    +++|*
02947  M00S02921.edit    +++|*         USES   A - 2, 3, 4, 6, 7.
02948  M00S02922.edit    +++|*                B - 6.
02949  M00S02923.edit    +++|*                X - 0, 2, 3, 4, 6, 7.
02950  M00S02924.edit    +++|*
02951  M00S02925.edit    +++|*         CALLS  RTF, SRO, WTC=.
02952  M00S02926.edit    +++|
02953  M00S02927.edit    +++|
02954  M00S02928.edit    +++|*         COUNT SIMPLE STRINGS  /P1/.
02955  M00S02929.edit    +++|
02956  M00S02930.edit    +++| CST6     SA2    LCTB        SET LINE COUNT TO STRING
02957  M00S02931.edit    +++|          SA3    SEC
02958  M00S02932.edit    +++|          SX6    X2+B2
02959  M00S02933.edit    +++|          SX7    X3+B1       DECREMENT SEARCH COUNT
02960  M00S02934.edit    +++|          SA6    A2
02961  M00S02935.edit    +++|          SA7    A3
02962  M00S02936.edit    +++| CST7     ZR     X7,CST8     IF ALL STRINGS FOUND
02963  M00S02937.edit    +++|          SX0    *
02964  M00S02938.edit    +++|          SX6    STPHR1      SEARCH FOR NEXT OCCURRENCE OF STRING
02965  M00S02939.edit    +++|          RJ     SRO
02966  M00S02940.edit    +++| CST8     NZ     X7,CST6     IF STRING FOUND
02967  M00S02941.edit    +++|          SA2    SEC
02968  M00S02942.edit    +++|          SA3    A2-B1       DETERMINE NUMBER PHRASES FOUND
02969  M00S02943.edit    +++|          IX7    X3+X2
02970  M00S02944.edit    +++|          ZR     X7,CST1     IF NO ELLIPSI FOUND
02971  M00S02945.edit    +++|          BX6    -X7
02972  M00S02946.edit    +++|          NZ     X2,CST9     IF ALL NOT FOUND
02973  M00S02947.edit    +++|          SX7    B0
02974  M00S02948.edit    +++| CST9     SA6    A2
02975  M00S02949.edit    +++|          SA7    A3
02976  M00S02950.edit    +++|          RJ     RTF         REPOSITION FILES
02977  M00S02951.edit    +++|
02978  M00S02952.edit    +++| CST      SUBR               ENTRY/EXIT
02979  M00S02953.edit    +++|          SX6    STPHR1
02980  M00S02954.edit    +++|          RJ     SRO
02981  M00S02955.edit    +++| CST1     NZ     X7,CST2     IF /P1/ FOUND
02982  M00S02956.edit    +++|          RJ     RTF
02983  M00S02957.edit    +++|          WRITEC O,NPM
02984  M00S02958.edit    +++|          JP     MAIN
02985  M00S02959.edit    +++|
02986  M00S02960.edit    +++| CST2     SX6    B2
02987  M00S02961.edit    +++|          BX7    X7-X7
02988  M00S02962.edit    +++|          SA6    LCT         LINE COUNT TO FIRST OCCURRENCE OF /P1/
02989  M00S02963.edit    +++|          SA7    LCTT
02990  M00S02964.edit    +++|          SA6    A7+B1
02991  M00S02965.edit    +++|          SA7    A7-B1
02992  M00S02966.edit    +++|          SA3    MODE
02993  M00S02967.edit    +++|          SA4    STPHR2
02994  M00S02968.edit    +++|          ZR     X3,CST3     IF STRING MODE
02995  M00S02969.edit    +++|          SX3    1
02996  M00S02970.edit    +++| CST3     SA2    A7-B1
02997  M00S02971.edit    +++|          BX6    X2+X3       SET CALL TO *SRO*
02998  M00S02972.edit    +++|          SA6    CST7
02999  M00S02973.edit    +++|          ZR     X4,CST6     IF COUNTING SIMPLE STRINGS
03000  M00S02974.edit    +++|          SA6    CST5
03001  M00S02975.edit    +++|
03002  M00S02976.edit    +++|*         COUNT ELLIPSI  /P1/,/P2/.
03003  M00S02977.edit    +++|
03004  M00S02978.edit    +++| CST4     SA2    LCTT
03005  M00S02979.edit    +++|          SX7    X2+B2       LINE COUNT TO PHRASE STARTING ELLIPSIS
03006  M00S02980.edit    +++|          SA7    A2+B1
03007  M00S02981.edit    +++|          SX6    STPHR2      SEARCH FOR PHRASE ENDING ELLIPSIS
03008  M00S02982.edit    +++|          RJ     SRO
03009  M00S02983.edit    +++|          ZR     X7,CST8     IF PHRASE NOT FOUND
03010  M00S02984.edit    +++|          SA2    LCTX
03011  M00S02985.edit    +++|          SX6    X2+B2       LINE COUNT TO PHRASE ENDING ELLIPSIS
03012  M00S02986.edit    +++|          BX7    X2
03013  M00S02987.edit    +++|          SA6    A2-B1
03014  M00S02988.edit    +++|          SA7    A6-B1
03015  M00S02989.edit    +++|          SA3    SEC
03016  M00S02990.edit    +++|          SX7    X3+B1       DECREMENT SEARCH COUNT
03017  M00S02991.edit    +++|          SA7    A3
03018  M00S02992.edit    +++| CST5     ZR     X7,CST8     IF ALL ELLIPSI FOUND
03019  M00S02993.edit    +++|          SX0    *
03020  M00S02994.edit    +++|          SX6    STPHR1      SEARCH FOR PHRASE STARTING ELLIPSIS
03021  M00S02995.edit    +++|          RJ     SRO
03022  M00S02996.edit    +++|          NZ     X7,CST4     IF PHRASE FOUND
03023  M00S02997.edit    +++|          EQ     CST8
03024  M00S02998.edit    +++|
03025  M00S02999.edit    +++|
03026  M00S03000.edit    +++| CSTA     ZR     X7,CST8
03027  M00S03001.edit    +++|          SX0    0
03028  M00S03002.edit    +++| LCTB     BSS    3
03029  M00S03003.edit    +++| LCTT     EQU    LCTB+1
03030  M00S03004.edit    +++| LCTX     EQU    LCTT+1
03031  M00S03005.edit    +++| CTI      SPACE  4
03032  M00S03006.edit    +++|**        CTI - CHECK TERMINAL INTERRUPTS.
03033  M00S03007.edit    +++|*
03034  M00S03008.edit    +++|*         ENTRY  (TINT) = TERMINAL INTERRUPT INDICATOR.
03035  M00S03009.edit    +++|*
03036  M00S03010.edit    +++|*         EXIT   (X3) .NE. 0 IF TERMINAL INTERRUPT.
03037  M00S03011.edit    +++|*                (X6) .NE. 0 IF INTERRUPT PENDING.
03038  M00S03012.edit    +++|*
03039  M00S03013.edit    +++|*         USES   A - 3, 6.
03040  M00S03014.edit    +++|*                X - 3, 6.
03041  M00S03015.edit    +++|*                EOR/EOF/EOI STATUS IS X1 PRESERVED.
03042  M00S03016.edit    +++|
03043  M00S03017.edit    +++|
03044  M00S03018.edit    +++| CTI      SUBR               ENTRY/EXIT
03045  M00S03019.edit    +++|          BX6    X1          SAVE X1
03046  M00S03020.edit    +++|          SA3    TINT        RESET INTERRUPT INDICATOR
03047  M00S03021.edit    +++|          SA1    INTP        SET INTERRUPT PENDING
03048  M00S03022.edit    +++|          BX3    X1+X3
03049  M00S03023.edit    +++|          LX1    X6          RESTORE X1
03050  M00S03024.edit    +++|          BX6    X6-X6
03051  M00S03025.edit    +++|          SA6    A3
03052  M00S03026.edit    +++|          BX6    X3
03053  M00S03027.edit    +++|          SA6    A1
03054  M00S03028.edit    +++|          EQ     CTIX
03055  M00S03029.edit    +++| CTL      SPACE  4,8
03056  M00S03030.edit    +++|**        CTL - COMPRESS TEXT LEFT.
03057  M00S03031.edit    +++|*
03058  M00S03032.edit    +++|*         ENTRY  (X1) = DESTINATION POINTER WORD.
03059  M00S03033.edit    +++|*                (X2) = SOURCE POINTER WORD.
03060  M00S03034.edit    +++|*                (B6) = LWA DESTINATION BUFFER.
03061  M00S03035.edit    +++|*                (B6) = 0, IF NO DESTINATION BUFFER LIMIT.
03062  M00S03036.edit    +++|*
03063  M00S03037.edit    +++|*         USES   A - 3, 4, 6, 7.
03064  M00S03038.edit    +++|*                B - 2, 3, 4, 5, 6, 7.
03065  M00S03039.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03066  M00S03040.edit    +++|
03067  M00S03041.edit    +++|
03068  M00S03042.edit    +++| CTL3     EQ     B3,B7,CTL9  IF PACKING COMPLETE
03069  M00S03043.edit    +++|          SB4    B4-10
03070  M00S03044.edit    +++|          SA3    B3
03071  M00S03045.edit    +++|          SB3    B3+B1       ADVANCE SOURCE ADDRESS
03072  M00S03046.edit    +++|          NZ     X3,CTL4     IF NOT ZERO WORD
03073  M00S03047.edit    +++|          PL     X3,CTL9     IF END OF LINE
03074  M00S03048.edit    +++| CTL4     ZR     B4,CTL7     IF LAST CHARACTER IS *00*
03075  M00S03049.edit    +++|          SB4    B0+
03076  M00S03050.edit    +++| CTL5     LX3    6           POSITION NEXT CHARACTER
03077  M00S03051.edit    +++|          BX4    -X7*X3
03078  M00S03052.edit    +++|          SB4    B4+1        INCREMENT SOURCE CHARACTER COUNT
03079  M00S03053.edit    +++|          NZ     X3,CTL6     IF NOT ZERO WORD
03080  M00S03054.edit    +++|          PL     X3,CTL3     IF WORD UNPACKED
03081  M00S03055.edit    +++| CTL6     BX3    X3-X4
03082  M00S03056.edit    +++| CTL7     LX6    6
03083  M00S03057.edit    +++|          SB5    B5+1        INCREMENT CHARACTER COUNT
03084  M00S03058.edit    +++|          BX6    X6+X4
03085  M00S03059.edit    +++|          LT     B5,B6,CTL5  IF NOT FULL WORD
03086  M00S03060.edit    +++|          SX2    B6-7
03087  M00S03061.edit    +++|          ZR     X2,CTL9     IF AT DESTINATION BUFFER LIMIT
03088  M00S03062.edit    +++|          SA6    B2+
03089  M00S03063.edit    +++|          SB5    B0+
03090  M00S03064.edit    +++|          BX6    X6-X6       CLEAR ASSEMBLY
03091  M00S03065.edit    +++|          SB2    B2+B1
03092  M00S03066.edit    +++| CTL8     ZR     X1,CTL5     IF NO DESTINATION BUFFER LIMIT
03093  M00S03067.edit    +++|          SX2    B2
03094  M00S03068.edit    +++|          IX2    X1-X2
03095  M00S03069.edit    +++|          NZ     X2,CTL5     IF NOT AT LWA DESTINATION BUFFER
03096  M00S03070.edit    +++|          SB6    7
03097  M00S03071.edit    +++|          SX2    B1
03098  M00S03072.edit    +++|          LT     B5,B6,CTL5  IF BUFFER NOT COMPLETELY FULL
03099  M00S03073.edit    +++|          SX2    B0
03100  M00S03074.edit    +++| CTL9     SX1    B5+
03101  M00S03075.edit    +++|          SB6    10
03102  M00S03076.edit    +++|          LX1    24
03103  M00S03077.edit    +++|          ZR     B5,CTL10    IF LAST WORD FULL
03104  M00S03078.edit    +++| +        LX6    6
03105  M00S03079.edit    +++|          SB5    B5+B1
03106  M00S03080.edit    +++|          NE     B5,B6,*     LEFT JUSTIFY ASSEMBLY
03107  M00S03081.edit    +++| CTL10    SA6    B2+
03108  M00S03082.edit    +++|          SX4    A6
03109  M00S03083.edit    +++|          BX7    X1+X4       MERGE CHARACTER POSITION AND ADDRESS
03110  M00S03084.edit    +++|          MX3    -12
03111  M00S03085.edit    +++|          SA7    SLP         STORE EOL POINTER
03112  M00S03086.edit    +++|          BX4    -X3*X6
03113  M00S03087.edit    +++|          ZR     X4,CTL11    IF EOL BYTE
03114  M00S03088.edit    +++|          BX6    X6-X6
03115  M00S03089.edit    +++|          SA6    A6+B1       SET END OF LINE
03116  M00S03090.edit    +++| CTL11    SX7    A6+1
03117  M00S03091.edit    +++|          SA1    SLP
03118  M00S03092.edit    +++|          SA7    LBL         STORE EOL ADDRESS
03119  M00S03093.edit    +++|          ZR     X2,CTL1     IF SOURCE LINE TRUNCATED
03120  M00S03094.edit    +++|
03121  M00S03095.edit    +++| CTL      SUBR               ENTRY/EXIT
03122  M00S03096.edit    +++|          PL     X2,CTL2     IF NOT END OF LINE
03123  M00S03097.edit    +++| CTL1     RJ     SLT         SET LINE TERMINATOR
03124  M00S03098.edit    +++|          SX4    A6+
03125  M00S03099.edit    +++|          MX3    1           FORM EOL POINTER
03126  M00S03100.edit    +++|          BX6    X3+X4
03127  M00S03101.edit    +++|          SA6    SLP
03128  M00S03102.edit    +++|          EQ     CTLX        RETURN
03129  M00S03103.edit    +++|
03130  M00S03104.edit    +++| CTL2     SB2    X1          SET DESTINATION ADDRESS
03131  M00S03105.edit    +++|          AX1    24
03132  M00S03106.edit    +++|          SA4    X1+TCHM     READ LEFT MASK
03133  M00S03107.edit    +++|          SA3    B2
03134  M00S03108.edit    +++|          SB5    X1
03135  M00S03109.edit    +++|          BX6    X4*X3       REMOVE UNWANTED CHARACTER DATA
03136  M00S03110.edit    +++|          CX1    X4
03137  M00S03111.edit    +++|          SB4    X1          SET SHIFT COUNT
03138  M00S03112.edit    +++|          LX6    B4,X6
03139  M00S03113.edit    +++|          SB3    X2+B1       SET SOURCE ADDRESS
03140  M00S03114.edit    +++|          AX2    24
03141  M00S03115.edit    +++|          SA3    B3-B1
03142  M00S03116.edit    +++|          SA4    X2+TCHM     READ RIGHT MASK
03143  M00S03117.edit    +++|          BX3    -X4*X3
03144  M00S03118.edit    +++|          CX1    X4
03145  M00S03119.edit    +++|          SB4    X1          SET SHIFT COUNT
03146  M00S03120.edit    +++|          SX1    B6          DESTINATION BUFFER LIMIT
03147  M00S03121.edit    +++|          LX3    B4,X3       POSITION SOURCE DATA
03148  M00S03122.edit    +++|          SB6    10
03149  M00S03123.edit    +++|          SA4    LBL
03150  M00S03124.edit    +++|          MX7    -6
03151  M00S03125.edit    +++|          SB7    X4          SET EOL ADDRESS
03152  M00S03126.edit    +++|          SB4    X2          SOURCE CHARACTER COUNT
03153  M00S03127.edit    +++|          SX2    B1
03154  M00S03128.edit    +++|          EQ     CTL8
03155  M00S03129.edit    +++| ETX      SPACE  4,10
03156  M00S03130.edit    +++|**        ETX - PROCESS TEXT ENTRY.
03157  M00S03131.edit    +++|*
03158  M00S03132.edit    +++|*         EXIT   (X2) = TEXT DATA FET ADDRESS.
03159  M00S03133.edit    +++|*                (A6) = ADDRESS OF BUFFER STATUS WORD.
03160  M00S03134.edit    +++|*
03161  M00S03135.edit    +++|*         USES   A - 0, 1, 2, 3, 4, 6, 7.
03162  M00S03136.edit    +++|*                B - 2, 4, 5, 6, 7.
03163  M00S03137.edit    +++|*                X - 0, 1, 2, 3, 4, 6, 7.
03164  M00S03138.edit    +++|*
03165  M00S03139.edit    +++|*         CALLS  ATL, CIO=, RDS=, WTC=.
03166  M00S03140.edit    +++|
03167  M00S03141.edit    +++|
03168  M00S03142.edit    +++| ETX13    READS  I,STRA,-STRBL
03169  M00S03143.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPT
03170  M00S03144.edit    +++|          NZ     X3,ETX9     IF INTERRUPTED
03171  M00S03145.edit    +++|          NZ     X1,ETX8     IF NULL INPUT
03172  M00S03146.edit    +++|          SB4    STRA
03173  M00S03147.edit    +++| ETX14    SA3    A0+         GET DELIMITER
03174  M00S03148.edit    +++|          SA4    B6-B1       GET LAST CHARACTER
03175  M00S03149.edit    +++|          SB5    A4-B1
03176  M00S03150.edit    +++| ETX15    SX6    X4-1R
03177  M00S03151.edit    +++|          NZ     X6,ETX16    IF NOT BLANK
03178  M00S03152.edit    +++|          SB6    B6-B1
03179  M00S03153.edit    +++|          LE     B6,B4,ETX2  IF BLANK LINE
03180  M00S03154.edit    +++|          SA4    B6-B1       GET LAST CHARACTER
03181  M00S03155.edit    +++|          EQ     B5,B6,ETX16 IF TWO BLANKS SKIPPED
03182  M00S03156.edit    +++|          ZR     X3,ETX15    IF DELIMITER *00*
03183  M00S03157.edit    +++| ETX16    SB2    B6-1
03184  M00S03158.edit    +++|          SA1    ASC
03185  M00S03159.edit    +++|          ZR     X1,ETX18    IF NOT ASCII CHARACTER SET
03186  M00S03160.edit    +++|          LE     B2,B4,ETX18 IF AT BEGINING OF LINE
03187  M00S03161.edit    +++|          SA2    B2-B1
03188  M00S03162.edit    +++|          IX6    X1+X2
03189  M00S03163.edit    +++|          ZR     X6,ETX17    IF ESCAPE CODE 76B
03190  M00S03164.edit    +++|          SX6    X2-74B
03191  M00S03165.edit    +++|          NZ     X6,ETX18    IF NOT ESCAPE CODE 74B
03192  M00S03166.edit    +++| ETX17    SB2    B2-1
03193  M00S03167.edit    +++|          LX2    6
03194  M00S03168.edit    +++|          BX4    X4+X2
03195  M00S03169.edit    +++| ETX18    BX6    X3-X4
03196  M00S03170.edit    +++|          NZ     X6,ETX19    IF NOT FINAL DELIMITER
03197  M00S03171.edit    +++|          MX6    1
03198  M00S03172.edit    +++|          SB6    B2+         BACKSPACE OVER FINAL DELIMITER
03199  M00S03173.edit    +++|          SA6    A0
03200  M00S03174.edit    +++|          SA4    B6-B1       GET LAST TEXT CHARACTER
03201  M00S03175.edit    +++|          GE     B4,B6,ETX2  IF FINAL DELIMITER ONLY
03202  M00S03176.edit    +++|          NZ     X4,ETX20    IF LAST CHARACTER NOT *00*
03203  M00S03177.edit    +++|          SX6    1
03204  M00S03178.edit    +++|          SA6    BAC         BLANK ADDED AFTER COLON PRECEDING DELIMITER
03205  M00S03179.edit    +++| ETX19    NZ     X4,ETX20    IF LAST CHARACTER NOT *00*
03206  M00S03180.edit    +++|          SX6    1R
03207  M00S03181.edit    +++|          SA6    B6+         PRESERVE COLON WITH BLANK
03208  M00S03182.edit    +++|          SB6    B6+1
03209  M00S03183.edit    +++| ETX20    SB2    TBUF
03210  M00S03184.edit    +++|          RJ     ATL         ASSEMBLE TEXT INTO LINE
03211  M00S03185.edit    +++| ETX21    SX0    X0+1        ADVANCE LINE COUNT
03212  M00S03186.edit    +++|          WRITEC M,TBUF
03213  M00S03187.edit    +++|          SA3    A0
03214  M00S03188.edit    +++|          PL     X3,ETX13    IF NOT END OF INPUT
03215  M00S03189.edit    +++|          BX6    X0
03216  M00S03190.edit    +++|          SA6    M+5         STORE LINE COUNT
03217  M00S03191.edit    +++|          WRITER X2          FLUSH BUFFER
03218  M00S03192.edit    +++|          REWIND X2
03219  M00S03193.edit    +++| ETX22    SB6    =C* READY.*
03220  M00S03194.edit    +++|          SA0    M
03221  M00S03195.edit    +++| ETX23    WRITEC O,B6
03222  M00S03196.edit    +++|          ZR     X0,ETXX     IF NO INPUT
03223  M00S03197.edit    +++|          READ   A0+,R
03224  M00S03198.edit    +++|          SA3    A0+5        GET LINE COUNT
03225  M00S03199.edit    +++|          SA4    X2
03226  M00S03200.edit    +++|          BX0    X3
03227  M00S03201.edit    +++|          SX6    X4-21B      SET BUFFER STATUS
03228  M00S03202.edit    +++|          SA6    TBST
03229  M00S03203.edit    +++|
03230  M00S03204.edit    +++| ETX      SUBR               ENTRY/EXIT
03231  M00S03205.edit    +++|          SX0    1
03232  M00S03206.edit    +++|          REWIND M,R         REWIND TEXT FILE
03233  M00S03207.edit    +++|          SA0    STRB
03234  M00S03208.edit    +++|          WRITEC O,(=C* ENTER TEXT.*)
03235  M00S03209.edit    +++| ETX1     READS  I,STRA,-STRBL
03236  M00S03210.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPTS
03237  M00S03211.edit    +++|          NZ     X3,ETX9     IF INTERRUPTED
03238  M00S03212.edit    +++|          BX7    X7-X7
03239  M00S03213.edit    +++|          NZ     X1,ETX5     IF EOF (CR) ON INPUT
03240  M00S03214.edit    +++|          SB2    A0
03241  M00S03215.edit    +++|          SA7    BAC         CLEAR BACKSPACE INDICATOR
03242  M00S03216.edit    +++|          RJ     ANC         ASSEMBLE NEXT CHARACTER
03243  M00S03217.edit    +++|          BX6    X2
03244  M00S03218.edit    +++|          SB4    B2+B1       SET FWA OF CHARACTER BUFFER
03245  M00S03219.edit    +++|          SX1    X2-1R$
03246  M00S03220.edit    +++|          ZR     X1,ETX6     IF TEXT IN STRING BUFFER
03247  M00S03221.edit    +++|          SX1    X2-1R
Line S03222 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03248  M01S03222.v23l617 ---|          ZR     X1,ETX3     IF ILLEGAL DELIMITER
Line S00026 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03249  M01S00026.v23l617 +++|          ZR     X1,ETX3     IF INCORRECT DELIMITER
03250  M00S03223.edit    +++|          SX0    B0
03251  M00S03224.edit    +++|          SA7    B4-B1
03252  M00S03225.edit    +++|          SA7    A7-B1
03253  M00S03226.edit    +++|          SA6    A0
03254  M00S03227.edit    +++|          NE     B4,B6,ETX14 IF NOT DELIMITER ONLY
03255  M00S03228.edit    +++| ETX2     SX7    B0+         WRITE BLANK LINE
03256  M00S03229.edit    +++|          SA7    TBUF
03257  M00S03230.edit    +++|          EQ     ETX21
03258  M00S03231.edit    +++|
03259  M00S03232.edit    +++| ETX3     SA3    JOTY
03260  M00S03233.edit    +++|          NZ     X3,ETX4     IF NOT INTERACTIVE JOB
Line S03234 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03261  M01S03234.v23l617 ---|          WRITEC O,(=C* ILLEGAL DELIMITER - REENTER TEXT.*)
Line S00027 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03262  M01S00027.v23l617 +++|          WRITEC O,(=C* INCORRECT DELIMITER - REENTER TEXT.*)
03263  M00S03235.edit    +++|          EQ     ETX1
03264  M00S03236.edit    +++|
Line S03237 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03265  M01S03237.v23l617 ---| ETX4     WRITEC O,(=C* ILLEGAL DELIMITER.*)
Line S00028 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03266  M01S00028.v23l617 +++| ETX4     WRITEC O,(=C* INCORRECT DELIMITER.*)
03267  M00S03238.edit    +++|          EQ     MAIN
03268  M00S03239.edit    +++|
03269  M00S03240.edit    +++|*         USER SELECTED TEXT ENTERED PREVIOUSLY.
03270  M00S03241.edit    +++|
03271  M00S03242.edit    +++| ETX5     SA7    EOFIF       SET EOF ON INPUT
03272  M00S03243.edit    +++|          EQ     ETX22
03273  M00S03244.edit    +++|
03274  M00S03245.edit    +++|*         USER SELECTED TEXT IN STRING BUFFER.
03275  M00S03246.edit    +++|
03276  M00S03247.edit    +++| ETX6     GE     B4,B6,ETX7    IF STRING BUFFER SYMBOL ONLY
03277  M00S03248.edit    +++|          SA4    B4
03278  M00S03249.edit    +++|          SB4    B4+B1
03279  M00S03250.edit    +++|          SX2    X4-1R
Line S03251 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03280  M01S03251.v23l617 ---|          NZ     X2,ETX3     IF ILLEGAL DELIMITER
03281  M01S03252.v23l617 ---|          LT     B4,B6,ETX3  IF ILLEGAL DELIMITER
Line S00029 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03282  M01S00029.v23l617 +++|          NZ     X2,ETX3     IF INCORRECT DELIMITER
03283  M01S00030.v23l617 +++|          LT     B4,B6,ETX3  IF INCORRECT DELIMITER
03284  M00S03253.edit    +++| ETX7     SA0    B
03285  M00S03254.edit    +++|          REWIND B,R
03286  M00S03255.edit    +++|          SB6    =C* READY.*
03287  M00S03256.edit    +++|          SA1    XTSB        GET NUMBER OF POSITIONS TO BACKSPACE
03288  M00S03257.edit    +++|          BX6    X1
03289  M00S03258.edit    +++|          SA6    BAC
03290  M00S03259.edit    +++|          EQ     ETX23
03291  M00S03260.edit    +++|
03292  M00S03261.edit    +++|*         INPUT TERMINATED WITH EOF.
03293  M00S03262.edit    +++|
03294  M00S03263.edit    +++| ETX8     MX7    1           CLEAR DELIMITER
03295  M00S03264.edit    +++|          BX6    X6-X6
03296  M00S03265.edit    +++|          SA7    A0+
03297  M00S03266.edit    +++|          SA6    EOFIF
03298  M00S03267.edit    +++|          EQ     ETX2
03299  M00S03268.edit    +++|
03300  M00S03269.edit    +++| ETX9     SX6    B6          SAVE INPUT STRING LWA+1
03301  M00S03270.edit    +++|          SA6    ETXA
03302  M00S03271.edit    +++| ETX10    WRITEC O,(=C* DISREGARD PREVIOUS TEXT  "CB"*)
03303  M00S03272.edit    +++|          SB6    CMDB        FWA WORKING BUFFER
03304  M00S03273.edit    +++|          RJ     PUR         PROCESS USER RESPONSE
03305  M00S03274.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPTS
03306  M00S03275.edit    +++|          NZ     X3,END      IF INTERRUPT, SIMULATE END
Line S03276 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03307  M01S03276.v23l617 ---|          NG     X4,ETX12    IF INVALID REPONSE
Line S00031 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03308  M01S00031.v23l617 +++|          NG     X4,ETX12    IF INCORRECT REPONSE
03309  M00S03277.edit    +++|          NZ     X4,ETX11    PROCESS *YES* RESPONSE
03310  M00S03278.edit    +++|
03311  M00S03279.edit    +++|*         TERMINATE TEXT AND PROCESS.
03312  M00S03280.edit    +++|*         (ENTER ASSUMED TERMINATION DELIMETER AT POINT OF INTERRUPT)
03313  M00S03281.edit    +++|
03314  M00S03282.edit    +++|          SA1    ETXA        RESTORE INPUT STRING LWA+1
03315  M00S03283.edit    +++|          SB6    X1
03316  M00S03284.edit    +++|          SB4    STRA
03317  M00S03285.edit    +++|          EQ     ETX8        TERMINATE INPUT
03318  M00S03286.edit    +++|
03319  M00S03287.edit    +++| ETX11    BX0    X0-X0
03320  M00S03288.edit    +++|          EQ     ETX22
03321  M00S03289.edit    +++|
03322  M00S03290.edit    +++| ETX12    WRITEC O,PCCD      REQUEST *YES* OR *NO* RESPONSE
03323  M00S03291.edit    +++|          EQ     ETX10
03324  M00S03292.edit    +++|
03325  M00S03293.edit    +++|
03326  M00S03294.edit    +++| ETXA     CON    0           INTERRUPTED INPUT STRING LWA+1
03327  M00S03295.edit    +++|
03328  M00S03296.edit    +++| BAC      CON    0           NUMBER OF POSITIONS TO BACKSPACE
03329  M00S03297.edit    +++| GSM      SPACE  4,9
03330  M00S03298.edit    +++|**        GSM - GENERATE STRINGS PROCESSED MESSAGE.
03331  M00S03299.edit    +++|*
03332  M00S03300.edit    +++|*         ENTRY  (X1) = NUMBER OF STRINGS PROCESSED.
03333  M00S03301.edit    +++|*
03334  M00S03302.edit    +++|*         USES   A - 6.
03335  M00S03303.edit    +++|*                B - 6.
03336  M00S03304.edit    +++|*                X - 2, 6.
03337  M00S03305.edit    +++|*
03338  M00S03306.edit    +++|*         CALLS  CDD, WTC=.
03339  M00S03307.edit    +++|
03340  M00S03308.edit    +++|
03341  M00S03309.edit    +++| GSM1     RJ     CDD         CONVERT NUMBER TO DISPLAY CODE
03342  M00S03310.edit    +++|          LX6    12
03343  M00S03311.edit    +++|          SA6    OPM         INSERT VALUE IN MESSAGE
03344  M00S03312.edit    +++|          WRITEC O,A6
03345  M00S03313.edit    +++|
03346  M00S03314.edit    +++| GSM      SUBR               ENTRY/EXIT
03347  M00S03315.edit    +++|          NZ     X1,GSM1     IF VALID COUNT
03348  M00S03316.edit    +++|          EQ     GSMX        RETURN
03349  M00S03317.edit    +++|
03350  M00S03318.edit    +++|
03351  M00S03319.edit    +++| OPM      DATA   C*          OCCURRENCES OF PHRASE FOUND.*
03352  M00S03320.edit    +++| IBC      SPACE  4,10
03353  M00S03321.edit    +++|**        IBC - INSERT BLANK CHARACTERS.
03354  M00S03322.edit    +++|*
03355  M00S03323.edit    +++|*         ENTRY  (X1) = POINTER TO START OF BLANK STRING.
03356  M00S03324.edit    +++|*                (X4) = POINTER TO END OF BLANK STRING.
03357  M00S03325.edit    +++|*
03358  M00S03326.edit    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
03359  M00S03327.edit    +++|*                B - 2, 3, 4, 6, 7.
03360  M00S03328.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03361  M00S03329.edit    +++|*
03362  M00S03330.edit    +++|*         CALLS  BSP, CAC, CTL, SLT.
03363  M00S03331.edit    +++|
03364  M00S03332.edit    +++|
03365  M00S03333.edit    +++| IBC1     BX7    X4-X1
03366  M00S03334.edit    +++|          SA2    ASC
03367  M00S03335.edit    +++|          SB2    X2
03368  M00S03336.edit    +++|          ZR     X7,IBCX     IF NO STRING
03369  M00S03337.edit    +++|          ZR     B2,IBC2     IF NOT ASCII MODE
03370  M00S03338.edit    +++|          RJ     CAC         COUNT ASCII CHARACTERS
03371  M00S03339.edit    +++| IBC2     SB6    X1+         FWA OF BLANK STRING
03372  M00S03340.edit    +++|          SB3    TCHM
03373  M00S03341.edit    +++|          AX1    24
03374  M00S03342.edit    +++|          BX2    X4          SAVE END OF STRING POINTER
03375  M00S03343.edit    +++|          SB7    X4+         LWA OF BLANK STRING
03376  M00S03344.edit    +++|          SA3    BLKS
03377  M00S03345.edit    +++|          AX4    24          NUMBER OF BLANKS FOR LAST WORD
03378  M00S03346.edit    +++|          SA1    X1+B3
03379  M00S03347.edit    +++|          SA4    X4+B3
03380  M00S03348.edit    +++|          NE     B6,B7,IBC3  IF FWA " LWA
03381  M00S03349.edit    +++|          BX4    X4-X1
03382  M00S03350.edit    +++| IBC3     LX7    X3
03383  M00S03351.edit    +++|          SA3    B6
03384  M00S03352.edit    +++|          EQ     B6,B7,IBC5  IF STRING WITHIN ONE WORD
03385  M00S03353.edit    +++|          BX6    X1*X3
03386  M00S03354.edit    +++|          SB6    B6+B1
03387  M00S03355.edit    +++|          BX3    -X1*X7
03388  M00S03356.edit    +++|          BX6    X6+X3       ADD BLANKS TO FIRST WORD
03389  M00S03357.edit    +++|          SA3    B7
03390  M00S03358.edit    +++|          SA6    B6-B1
03391  M00S03359.edit    +++|          EQ     B6,B7,IBC5  IF STRING SPANS TWO WORDS
03392  M00S03360.edit    +++| IBC4     SA7    B6
03393  M00S03361.edit    +++|          SB6    B6+B1       BLANK BETWEEN FWA AND LWA
03394  M00S03362.edit    +++|          NE     B6,B7,IBC4  IF NOT DONE
03395  M00S03363.edit    +++| IBC5     BX6    X4*X7
03396  M00S03364.edit    +++|          BX1    -X4*X3      ADD BLANKS TO LAST WORD
03397  M00S03365.edit    +++|          BX6    X6+X1
03398  M00S03366.edit    +++|          SA6    B7          STORE LAST WORD
03399  M00S03367.edit    +++|          ZR     B2,IBCX     IF NOT ASCII MODE
03400  M00S03368.edit    +++|          ZR     B4,IBCX     IF NO ASCII CHARACTERS
03401  M00S03369.edit    +++|          SX4    B4+
03402  M00S03370.edit    +++|          SA1    LBW
03403  M00S03371.edit    +++|          NG     X1,IBC6     IF LBW AT END OF LINE
03404  M00S03372.edit    +++|          RJ     BSP         BACKSPACE LBW POINTER
03405  M00S03373.edit    +++|          BX6    X1
03406  M00S03374.edit    +++|          SA6    LBW
03407  M00S03375.edit    +++| IBC6     BX1    X2
03408  M00S03376.edit    +++|          RJ     BSP         BACKSPACE END OF STRING POINTER
03409  M00S03377.edit    +++|          SB6    B0
03410  M00S03378.edit    +++|          RJ     CTL         ELIMINATE EXCESS BLANKS
03411  M00S03379.edit    +++|          SA1    SLP
03412  M00S03380.edit    +++|          RJ     SLT         SET LINE TERMINATOR
03413  M00S03381.edit    +++|
03414  M00S03382.edit    +++| IBC      SUBR               ENTRY/EXIT
03415  M00S03383.edit    +++|          PL     X4,IBC1     IF BLANK STRING NOT AT EOL
03416  M00S03384.edit    +++|          RJ     SLT         SET LINE TERMINATOR
03417  M00S03385.edit    +++|          EQ     IBCX        RETURN
03418  M00S03386.edit    +++| PCC      SPACE  4,12
03419  M00S03387.edit    +++|**        PCC - PROMPT FOR COMMAND CONTINUANCE.
03420  M00S03388.edit    +++|*
03421  M00S03389.edit    +++|*         ENTRY  ((PCCX)-1) = NEGATIVE RETURN ADDRESS.
03422  M00S03390.edit    +++|*                ALL OUTPUT DATA IN THE BUFFER WILL BE ISSUED
03423  M00S03391.edit    +++|*                PRIOR TO PROMPT MESSAGE.
03424  M00S03392.edit    +++|*
03425  M00S03393.edit    +++|*         EXIT   TO NEGATIVE RETURN IF NEGATIVE REPONSE.
03426  M00S03394.edit    +++|*
03427  M00S03395.edit    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
03428  M00S03396.edit    +++|*                X - 2, 3, 4, 7.
03429  M00S03397.edit    +++|*                B - ALL.
03430  M00S03398.edit    +++|*                (REGISTERS X0, X1, X6 ARE SAVED/RESTORED)
03431  M00S03399.edit    +++|*
03432  M00S03400.edit    +++|*         CALLS  CTI, PUR, RSR, SVR, WTC=.
03433  M00S03401.edit    +++|
03434  M00S03402.edit    +++|
03435  M00S03403.edit    +++| PCC3     RJ     RSR         RESTORE WORKING REGISTERS
03436  M00S03404.edit    +++|
03437  M00S03405.edit    +++| PCC      SUBR
03438  M00S03406.edit    +++|          SA3    TINT        CHEC TEMINAL INTERRUPTS
03439  M00S03407.edit    +++|          ZR     X3,PCCX     IF NO INTERRUPT
03440  M00S03408.edit    +++|          RJ     SVR         SAVE WORKING REGISTERS
03441  M00S03409.edit    +++|          RJ     CTI         CLEAR TERMINAL INTERRUPT
03442  M00S03410.edit    +++|          SA3    NUM         CALCULATE CURRENT POSITION
03443  M00S03411.edit    +++|          SA2    A3+B1
03444  M00S03412.edit    +++|          IX1    X3+X2
03445  M00S03413.edit    +++|          SA2    SVLC        SET LINE NUMBER
03446  M00S03414.edit    +++|          SX0    1L.&3L
03447  M00S03415.edit    +++|          SX3    X2+B1
03448  M00S03416.edit    +++|          IX1    X3+X1
03449  M00S03417.edit    +++|          RJ     CDD
03450  M00S03418.edit    +++|          LX6    18
03451  M00S03419.edit    +++|          BX6    X6-X0
03452  M00S03420.edit    +++|          SA6    PCCB
03453  M00S03421.edit    +++|          WRITEC O,PCCA
03454  M00S03422.edit    +++| PCC1     WRITEC O,(=C* COMMAND CONTINUE "CB"*)
03455  M00S03423.edit    +++|          SB6    CMDB        FWA WORKING BUFFER
03456  M00S03424.edit    +++|          RJ     PUR         PROCESS USER RESPONCE
03457  M00S03425.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPTS
Line S03426 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03458  M01S03426.v23l617 ---|          NG     X4,PCC2     IF INVALID REPONSE
Line S00032 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03459  M01S00032.v23l617 +++|          NG     X4,PCC2     IF INCORRECT REPONSE
03460  M00S03427.edit    +++|          NZ     X4,PCC3     IF COMMAND TO CONTINUE
03461  M00S03428.edit    +++|          SA4    PCCX        SET NEGATIVE RETURN ADDRESS
03462  M00S03429.edit    +++|          AX4    30
03463  M00S03430.edit    +++|          MX0    42
03464  M00S03431.edit    +++|          SA1    PCCC
03465  M00S03432.edit    +++|          SA4    X4-1        READ RETURN JUMP WORD
03466  M00S03433.edit    +++|          BX6    X0*X1
03467  M00S03434.edit    +++|          BX4    -X0*X4
03468  M00S03435.edit    +++|          IX7    X6+X4
03469  M00S03436.edit    +++|          LX7    30
03470  M00S03437.edit    +++|          SA7    A1
03471  M00S03438.edit    +++|          RJ     RSR         RESTORE ALL REGISTERS
03472  M00S03439.edit    +++| PCCC     EQ     *           RETURN
03473  M00S03440.edit    +++|-         EQ     *
03474  M00S03441.edit    +++|
03475  M00S03442.edit    +++| PCC2     WRITEC O,PCCD      REQUEST *YES* OR *NO* RESPONSE
03476  M00S03443.edit    +++|          EQ     PCC1
03477  M00S03444.edit    +++|
03478  M00S03445.edit    +++|
03479  M00S03446.edit    +++| PCCA     DATA   20H INTERRUPT AT LINE
03480  M00S03447.edit    +++| PCCB     BSS    1
03481  M00S03448.edit    +++| PCCD     DATA   C/ ENTER *YES* OR *NO*./
03482  M00S03449.edit    +++| PUR      SPACE  4,15
03483  M00S03450.edit    +++|**        PUR - PROCESS USER RESPONSE.
03484  M00S03451.edit    +++|*
03485  M00S03452.edit    +++|*         ENTRY  PROMPT MESSAGE ISSUED TO USER.
03486  M00S03453.edit    +++|*                (B6) = FWA WORKING BUFFER FOR READING RESPONSE
03487  M00S03454.edit    +++|*                       (MUST BE AT LEAST *LBUFL* WORDS LONG).
03488  M00S03455.edit    +++|*
Line S03456 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03489  M01S03456.v23l617 ---|*         EXIT   (X4) .LT. 0, IF INVALID RESPONSE.
Line S00033 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03490  M01S00033.v23l617 +++|*         EXIT   (X4) .LT. 0, IF INCORRECT RESPONSE.
03491  M00S03457.edit    +++|*                (X4) = 0, IF NEGATIVE RESPONSE.
03492  M00S03458.edit    +++|*                (X4) .GT. 0, IF POSITIVE RESPONSE.
03493  M00S03459.edit    +++|*
03494  M00S03460.edit    +++|*         USES   A - 1, 7.
03495  M00S03461.edit    +++|*                B - 2, 3, 5.
03496  M00S03462.edit    +++|*                X - 0, 1, 2, 4, 6, 7.
03497  M00S03463.edit    +++|*
03498  M00S03464.edit    +++|*         CALLS  ANC.
03499  M00S03465.edit    +++|*
03500  M00S03466.edit    +++|*         MACROS READ, READS.
03501  M00S03467.edit    +++|
03502  M00S03468.edit    +++|
Line S03469 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03503  M01S03469.v23l617 ---| PUR1     SX4    -1          SET INVALID REPONSE
Line S00034 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03504  M01S00034.v23l617 +++| PUR1     SX4    -1          SET INCORRECT REPONSE
03505  M00S03470.edit    +++|
03506  M00S03471.edit    +++| PUR      SUBR
03507  M00S03472.edit    +++|          SX0    B6-B1       SAVE FWA-1 WORKING BUFFER
03508  M00S03473.edit    +++|          BX7    X7-X7       CLEAR INTERRUPT PENDING
03509  M00S03474.edit    +++|          SA7    INTP
03510  M00S03475.edit    +++|          READ   I
03511  M00S03476.edit    +++|          READS  X2,B6,-LBUFL  READ RESPONSE
03512  M00S03477.edit    +++|          NZ     X1,PUR1     IF ONLY (CR) ENTERED
03513  M00S03478.edit    +++|          SB2    X0
03514  M00S03479.edit    +++|          BX6    X6-X6       CLEAR ACCUMULATOR
03515  M00S03480.edit    +++|          SB5    60
03516  M00S03481.edit    +++|          SB3    3           SET RESPONSE SIZE
03517  M00S03482.edit    +++|
03518  M00S03483.edit    +++| PUR2     RJ     ANC         ASSEMBLE NEXT CHARACTER
03519  M00S03484.edit    +++|          EQ     B2,B6,PUR3  IF INPUT COMPLETE
03520  M00S03485.edit    +++|          SX1    X2-1R       CHECK FOR BLANK
03521  M00S03486.edit    +++|          ZR     X1,PUR2     IF BLANK
03522  M00S03487.edit    +++|          SB3    B3-1        INCREMENT LENGTH
03523  M00S03488.edit    +++|          NG     B3,PUR1     IF RESPONSE TOO LONG
03524  M00S03489.edit    +++|          SB5    B5-6
03525  M00S03490.edit    +++|          LX6    6
03526  M00S03491.edit    +++|          BX6    X4+X6
03527  M00S03492.edit    +++|          EQ     PUR2
03528  M00S03493.edit    +++|
03529  M00S03494.edit    +++| PUR3     LX4    B5,X6       SET RESPONSE
03530  M00S03495.edit    +++|          MX0    42
03531  M00S03496.edit    +++|          SA1    PURA-1      INITIALIZE TABLE SEARCH
03532  M00S03497.edit    +++| PUR4     SA1    A1+B1       SET NEXT TABLE ITEM
03533  M00S03498.edit    +++|          BX6    X0*X1       COMPARE RESPONSE TO TABLE
03534  M00S03499.edit    +++|          ZR     X1,PUR1     IF AT END OF TABLE
03535  M00S03500.edit    +++|          BX2    X6-X4
03536  M00S03501.edit    +++|          NZ     X2,PUR4     IF NOT A MATCH
03537  M00S03502.edit    +++|          SX4    X1          SET REPONSE INDICATOR
03538  M00S03503.edit    +++|          EQ     PURX        RETURN
03539  M00S03504.edit    +++|          SPACE  4
03540  M00S03505.edit    +++|**        PURA - TABLE OF LEGAL RESPONSES.
03541  M00S03506.edit    +++|*
03542  M00S03507.edit    +++|*T        42/RESPONSE,18/TYPE
Figure

0171829TYPERESPONSE3059RESPONSE

03543  M00S03508.edit    +++|*
03544  M00S03509.edit    +++|*         TYPE   0 = NEGATIVE RESPONSE.
03545  M00S03510.edit    +++|*                1 = POSITIVE RESPONSE.
03546  M00S03511.edit    +++|
03547  M00S03512.edit    +++|
03548  M00S03513.edit    +++| PURA     BSS    0
03549  M00S03514.edit    +++|          VFD    42/0LNO,18/0
03550  M00S03515.edit    +++|          VFD    42/0LN,18/0
03551  M00S03516.edit    +++|          VFD    42/0LYES,18/1
03552  M00S03517.edit    +++|          VFD    42/0LY,18/1
03553  M00S03518.edit    +++|          CON    0
03554  M00S03519.edit    +++| PSB      SPACE  4,7
03555  M00S03520.edit    +++|**        PSB - POSITION STRING BUFFER.
03556  M00S03521.edit    +++|*
03557  M00S03522.edit    +++|*         USES   A - 0, 1, 3, 4, 6, 7.
03558  M00S03523.edit    +++|*                B - NONE.
03559  M00S03524.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03560  M00S03525.edit    +++|*
03561  M00S03526.edit    +++|*         CALLS  CIO=.
03562  M00S03527.edit    +++|
03563  M00S03528.edit    +++|
03564  M00S03529.edit    +++| PSB4     BX7    X4
03565  M00S03530.edit    +++|          SX6    A0
03566  M00S03531.edit    +++|          SA7    A4          RESTORE BUFFER POINTERS
03567  M00S03532.edit    +++|          SA6    A7-B1
03568  M00S03533.edit    +++|
03569  M00S03534.edit    +++| PSB      SUBR               ENTRY/EXIT
03570  M00S03535.edit    +++|          SA3    B+5
03571  M00S03536.edit    +++|          ZR     X3,PSBX     IF STRING BUFFER EMPTY
03572  M00S03537.edit    +++|          SA1    B
03573  M00S03538.edit    +++|          LX1    59-4        CHECK FILE POSITION
03574  M00S03539.edit    +++|          SX2    A1
03575  M00S03540.edit    +++|          NG     X1,PSB1     IF POSITIONED AT EOR
03576  M00S03541.edit    +++|          SKIPEI X2
03577  M00S03542.edit    +++| PSB1     BKSPRU X2
03578  M00S03543.edit    +++|          RPHR   X2,R        READ LAST SECTOR
03579  M00S03544.edit    +++|          SA3    X2+2
03580  M00S03545.edit    +++|          SA4    A3+B1       SAVE BUFFER POINTERS
03581  M00S03546.edit    +++|          SA0    X3
03582  M00S03547.edit    +++|          BKSPRU X2,,R       POSITION FILE FOR REWRITE
03583  M00S03548.edit    +++|          SA1    MODE
03584  M00S03549.edit    +++|          NZ     X1,PSB4     IF LINE MODE
03585  M00S03550.edit    +++|          SA1    XTSP
03586  M00S03551.edit    +++|          NG     X1,PSB4     IF PREVIOUS PHRASE AT EOL
03587  M00S03552.edit    +++|          IX6    X4-X3
03588  M00S03553.edit    +++|          SX6    X6+B1
03589  M00S03554.edit    +++|          NZ     X6,PSB2     IF MORE THAN ONE WORD IN BUFFER
03590  M00S03555.edit    +++|          SX7    X1-9
03591  M00S03556.edit    +++|          ZR     X7,PSB1     IF BUFFER CONTAINS EOL ONLY
03592  M00S03557.edit    +++| PSB2     SA3    B+5
03593  M00S03558.edit    +++|          SX7    X3-1        ADJUST LINE COUNT
03594  M00S03559.edit    +++|          SA0    A0-B1
03595  M00S03560.edit    +++|          SA7    A3
03596  M00S03561.edit    +++|          ZR     X1,PSB4     IF NEXT PHRASE ON WORD BOUNDARY
03597  M00S03562.edit    +++|          SA3    A0+
03598  M00S03563.edit    +++|          NZ     X3,PSB3     IF LAST WORD NOT ZERO
03599  M00S03564.edit    +++|          SA0    A0-B1
03600  M00S03565.edit    +++|          SA3    A0
03601  M00S03566.edit    +++| PSB3     SX2    LBUF-1
03602  M00S03567.edit    +++|          BX6    X3
03603  M00S03568.edit    +++|          LX1    24
03604  M00S03569.edit    +++|          SA6    X2          LAST WORD CURRENTLY IN BUFFER
03605  M00S03570.edit    +++|          BX7    X1+X2
03606  M00S03571.edit    +++|          SA7    SLP         FIX POINTER TO LAST WORD
03607  M00S03572.edit    +++|          EQ     PSB4
03608  M00S03573.edit    +++| PSO      SPACE  4,10
03609  M00S03574.edit    +++|**        PSO - PRELIMINARY STRING SEARCH.
03610  M00S03575.edit    +++|*
03611  M00S03576.edit    +++|*         ENTRY  (X3) = POINTER WORD FOR FIRST STRING.
03612  M00S03577.edit    +++|*                (X4) = POINTER WORD FOR SECOND STRING.
03613  M00S03578.edit    +++|*
03614  M00S03579.edit    +++|*         USES   A - 2, 7.
03615  M00S03580.edit    +++|*                B - NONE.
03616  M00S03581.edit    +++|*                X - 0, 2, 6, 7.
03617  M00S03582.edit    +++|*
03618  M00S03583.edit    +++|*         CALLS  CST, AFW, SFS, WTC=.
03619  M00S03584.edit    +++|
03620  M00S03585.edit    +++|
03621  M00S03586.edit    +++| PSO      SUBR               ENTRY/EXIT
03622  M00S03587.edit    +++|          SX0    0
03623  M00S03588.edit    +++|          ZR     X4,PSO1     IF ELLIPSIS SEARCH NOT REQUIRED
03624  M00S03589.edit    +++|          RJ     CST         COUNT ELLIPSI
03625  M00S03590.edit    +++|          SA2    LCT
03626  M00S03591.edit    +++|          RJ     AFW         ADVANCE TO FIRST OCCURRENCE OF /P1/
03627  M00S03592.edit    +++| PSO1     SX6    STPHR1      LOCATE FIRST STRING
03628  M00S03593.edit    +++|          RJ     SFS
03629  M00S03594.edit    +++|          NZ     X7,PSOX     IF PHRASE FOUND
03630  M00S03595.edit    +++|          SA7    EOFTF
03631  M00S03596.edit    +++| PSO2     WRITEC O,NPM
03632  M00S03597.edit    +++|          JP     SET2
03633  M00S03598.edit    +++|
03634  M00S03599.edit    +++|
03635  M00S03600.edit    +++| NPM      DATA   C* PHRASE NOT FOUND.*
03636  M00S03601.edit    +++| RSR      SPACE  4
03637  M00S03602.edit    +++|**        RSR - RESTORE WORKING REGISTERS.
03638  M00S03603.edit    +++|*
03639  M00S03604.edit    +++|*         ENTRY  (SVRA - SVRA+3) = PREVIOUS REGISTER CONTENTS.
03640  M00S03605.edit    +++|
03641  M00S03606.edit    +++|
03642  M00S03607.edit    +++| RSR      SUBR               ENTRY/EXIT
03643  M00S03608.edit    +++|          SA2    SVRA        X6
03644  M00S03609.edit    +++|          BX6    X2
03645  M00S03610.edit    +++|          SA1    A2+B1       X1
03646  M00S03611.edit    +++|          SA2    A1+B1       X0
03647  M00S03612.edit    +++|          BX0    X2
03648  M00S03613.edit    +++|          SA2    A2+B1       X2
03649  M00S03614.edit    +++|          EQ     RSRX
03650  M00S03615.edit    +++| RTF      SPACE  4,7
03651  M00S03616.edit    +++|**        RTF - REPOSITION TEXT FILES (READ ONLY OPERATIONS).
03652  M00S03617.edit    +++|*
03653  M00S03618.edit    +++|*         USES   A - 1, 3, 7.
03654  M00S03619.edit    +++|*                B - 6, 7.
03655  M00S03620.edit    +++|*                X - 0, 1, 2, 3, 4, 5, 7.
03656  M00S03621.edit    +++|*
03657  M00S03622.edit    +++|*         CALLS  CIO=, RDC=.
03658  M00S03623.edit    +++|
03659  M00S03624.edit    +++|
03660  M00S03625.edit    +++| RTF2     SA1    X5+5
03661  M00S03626.edit    +++|          BX0    X1          TEXT FILE LINE ADVANCE
03662  M00S03627.edit    +++|          REWIND X5
03663  M00S03628.edit    +++|          READ   X2
03664  M00S03629.edit    +++| RTF3     READC  X2,LBUF,LBUFL
03665  M00S03630.edit    +++|          SX0    X0-1
03666  M00S03631.edit    +++|          NZ     X0,RTF3     IF ADVANCE INCOMPLETE
03667  M00S03632.edit    +++|          SX7    B6
03668  M00S03633.edit    +++|          BX1    X1-X1
03669  M00S03634.edit    +++|          SA7    LBL
03670  M00S03635.edit    +++|
03671  M00S03636.edit    +++| RTF      SUBR               ENTRY/EXIT
03672  M00S03637.edit    +++|          MX2    -4
03673  M00S03638.edit    +++|          SA1    FBB
03674  M00S03639.edit    +++|          BX4    -X2*X1      ISOLATE ORIGINAL READ FILE BIAS
03675  M00S03640.edit    +++|          SA3    PFADR
03676  M00S03641.edit    +++|          SX2    X4+F        INITIAL READ FILE FET
03677  M00S03642.edit    +++|          BX2    X3-X2
03678  M00S03643.edit    +++|          ZR     X2,RTF2     IF READ FILE IS PRIMARY FILE
03679  M00S03644.edit    +++|          BX2    X5-X3
03680  M00S03645.edit    +++|          NZ     X2,RTF2     IF SCRATCH FILE
03681  M00S03646.edit    +++|          SA3    X5+5
03682  M00S03647.edit    +++|          BX0    X3          SET LINE ADVANCE
03683  M00S03648.edit    +++|          REWIND X5
03684  M00S03649.edit    +++|          READ   X2          REPOSITION PRIMARY FILE
03685  M00S03650.edit    +++| RTF1     READC  X2,LBUF,LBUFL
03686  M00S03651.edit    +++|          SX0    X0-1
03687  M00S03652.edit    +++|          NZ     X0,RTF1     IF NOT REPOSITIONED
03688  M00S03653.edit    +++|          MX2    -4
03689  M00S03654.edit    +++|          SA1    FBB
03690  M00S03655.edit    +++|          BX3    -X2*X1      BIAS FOR ORIGINAL READ FILE
03691  M00S03656.edit    +++|          SX5    X3+F
03692  M00S03657.edit    +++|          EQ     RTF2        REPOSITION SECONDARY FILE
03693  M00S03658.edit    +++| SBT      SPACE  4,12
03694  M00S03659.edit    +++|**        SBT - SET BLANK TERMINATOR.
03695  M00S03660.edit    +++|*
03696  M00S03661.edit    +++|*         ENTRY  (X1) = END OF LINE POINTER WORD.
03697  M00S03662.edit    +++|*
03698  M00S03663.edit    +++|*         EXIT   (X1) = UPDATED END OF LINE POINTER WORD.
03699  M00S03664.edit    +++|*                (X6) = LAST WORD IN LINE.
03700  M00S03665.edit    +++|*                (B6) = NUMBER OF BLANKS ADDED.
03701  M00S03666.edit    +++|*                (LBL) = END OF LINE ADDRESS.
03702  M00S03667.edit    +++|*
03703  M00S03668.edit    +++|*         USES   A - 3, 4, 6, 7.
03704  M00S03669.edit    +++|*                B - 3.
03705  M00S03670.edit    +++|*                X - 1, 3, 4, 6, 7.
03706  M00S03671.edit    +++|
03707  M00S03672.edit    +++|
03708  M00S03673.edit    +++| SBT1     SX7    A6+B1
03709  M00S03674.edit    +++|          SX1    X1+B1       INCREMENT CHARACTER POSITION
03710  M00S03675.edit    +++|          SX3    X1-10
03711  M00S03676.edit    +++|          NZ     X3,SBT2     IF NOT FULL WORD
03712  M00S03677.edit    +++|          SX1    B0
03713  M00S03678.edit    +++|          SX4    X4+B1
03714  M00S03679.edit    +++| SBT2     LX1    24
03715  M00S03680.edit    +++|          BX1    X1+X4       FORM NEW END OF LINE POINTER WORD
03716  M00S03681.edit    +++|          SA7    LBL         SET END OF LINE ADDRESS
03717  M00S03682.edit    +++|
03718  M00S03683.edit    +++| SBT      SUBR               ENTRY/EXIT
03719  M00S03684.edit    +++|          SB6    B0
03720  M00S03685.edit    +++|          NG     X1,SBTX     IF END OF LINE SET
03721  M00S03686.edit    +++|          SB6    B1
03722  M00S03687.edit    +++|          SA4    X1          GET LAST WORD
03723  M00S03688.edit    +++|          AX1    24
03724  M00S03689.edit    +++|          SA3    X1+TCHM     GET MASK
03725  M00S03690.edit    +++|          BX6    X3*X4
03726  M00S03691.edit    +++|          CX7    X3
03727  M00S03692.edit    +++|          SB3    X7-54
03728  M00S03693.edit    +++|          SX3    1R
03729  M00S03694.edit    +++|          AX3    B3,X3       POSITION BLANK CHARACTER
03730  M00S03695.edit    +++|          BX6    X6+X3
03731  M00S03696.edit    +++|          SX3    X1-8
03732  M00S03697.edit    +++|          SA6    A4
03733  M00S03698.edit    +++|          SX4    A4
03734  M00S03699.edit    +++|          NG     X3,SBT1     IF END OF LINE ALREADY SET
03735  M00S03700.edit    +++|          BX6    X6-X6
03736  M00S03701.edit    +++|          SA6    A6+B1       SET END OF LINE
03737  M00S03702.edit    +++|          EQ     SBT1
03738  M00S03703.edit    +++| SFS      SPACE  4,14
03739  M00S03704.edit    +++|**        SFS - SEARCH FILE FOR STRING.
03740  M00S03705.edit    +++|*
03741  M00S03706.edit    +++|*         ENTRY  (X0) = 0  SEARCH BEFORE WRITE/READ.
03742  M00S03707.edit    +++|*                     " 0  WRITE/READ BEFORE SEARCH.
03743  M00S03708.edit    +++|*                (X6) = STRING POINTER ADDRESS.
03744  M00S03709.edit    +++|*
03745  M00S03710.edit    +++|*         EXIT   (X7) " 0  IF STRING FOUND.
03746  M00S03711.edit    +++|*                     = 0  IF EOF.
03747  M00S03712.edit    +++|*
03748  M00S03713.edit    +++|*         USES   A - 0, 2, 4, 6, 7.
03749  M00S03714.edit    +++|*                B - 2, 6, 7.
03750  M00S03715.edit    +++|*                X - 0, 2, 4, 5, 6, 7.
03751  M00S03716.edit    +++|*
03752  M00S03717.edit    +++|*         CALLS  RDC=, SLS, WTC=.
03753  M00S03718.edit    +++|
03754  M00S03719.edit    +++|
03755  M00S03720.edit    +++| SFS      SUBR               ENTRY/EXIT
03756  M00S03721.edit    +++|          ZR     X6,SFS1     IF STRING ADDRESS SET PREVIOUSLY
03757  M00S03722.edit    +++|          SA6    SFSA        SAVE STRING POINTER ADDRESS
03758  M00S03723.edit    +++| SFS1     SB2    X0
03759  M00S03724.edit    +++|          BX0    X0-X0
03760  M00S03725.edit    +++|          ZR     B2,SFS4     IF SEARCH BEFORE WRITE/READ
03761  M00S03726.edit    +++| SFS2     WRITEC A5+,LBUF
03762  M00S03727.edit    +++| SFS3     READC  X5,LBUF,LBUFL
03763  M00S03728.edit    +++|          NZ     X1,SFS5     IF END OF DATA ENCOUNTERED
03764  M00S03729.edit    +++|          SX0    X0+B1
03765  M00S03730.edit    +++|          SA0    B6
03766  M00S03731.edit    +++| SFS4     SA2    SFSA        GET STRING POINTER
03767  M00S03732.edit    +++|          SA2    X2
03768  M00S03733.edit    +++|          RJ     SLS
03769  M00S03734.edit    +++|          NZ     B7,SFS2     IF STRING NOT FOUND
03770  M00S03735.edit    +++|          ZR     X0,SFSX     IF STRING IN ORIGINAL LINE
03771  M00S03736.edit    +++|          SA2    X5+5
03772  M00S03737.edit    +++|          IX6    X2+X0       ADVANCE READ FILE LINE COUNT
03773  M00S03738.edit    +++|          SA6    A2
03774  M00S03739.edit    +++|          BX0    X0-X0
03775  M00S03740.edit    +++|          SX6    A0          SAVE END OF LINE ADDRESS
03776  M00S03741.edit    +++|          SA6    LBL
03777  M00S03742.edit    +++|          EQ     SFSX        RETURN
03778  M00S03743.edit    +++|
03779  M00S03744.edit    +++| SFS5     SX0    0
03780  M00S03745.edit    +++|          SA4    PFADR
03781  M00S03746.edit    +++|          BX7    X4-X5
03782  M00S03747.edit    +++|          BX5    X4
03783  M00S03748.edit    +++|          SA1    FBB         TEXT FILE BECOMES NEW READ FILE
03784  M00S03749.edit    +++|          MX2    56
03785  M00S03750.edit    +++|          BX1    X2*X1
03786  M00S03751.edit    +++|          SX2    X5-F        READ FILE BIAS
03787  M00S03752.edit    +++|          BX6    X1+X2
03788  M00S03753.edit    +++|          SA6    A1          UPDATE WRITE/READ FILE BIAS
03789  M00S03754.edit    +++|          NZ     X7,SFS3     IF NOT READING PRIMARY TEXT FILE
03790  M00S03755.edit    +++|          SA7    EOFTF
03791  M00S03756.edit    +++|          EQ     SFSX        RETURN
03792  M00S03757.edit    +++|
03793  M00S03758.edit    +++| SFSA     CON    0           STRING POINTER ADDRESS
03794  M00S03759.edit    +++| SLS      SPACE  4,18
03795  M00S03760.edit    +++|**        SLS - SEARCH LINE FOR STRING.
03796  M00S03761.edit    +++|*
03797  M00S03762.edit    +++|*         ENTRY  (X1) = 0 BEGIN SEARCH AT ADDRESS IN *LBA*.
03798  M00S03763.edit    +++|*                (X1) .NE. 0 BEGIN SEARCH AT POINTER IN *LBW*.
03799  M00S03764.edit    +++|*                (X2) = STRING LENGTH AND ADDRESS.
03800  M00S03765.edit    +++|*
03801  M00S03766.edit    +++|*         EXIT   (B7) = 0 IF STRING FOUND.
03802  M00S03767.edit    +++|*                (X7) - LBW.
03803  M00S03768.edit    +++|*                (X6) - FBW.
03804  M00S03769.edit    +++|*                (A6) - ADDRESS OF FBW.
03805  M00S03770.edit    +++|*                (A7) - ADDRESS OF LBW.
03806  M00S03771.edit    +++|*T, FBW   36/  N1,24/  A1
Figure FBW

0232429 A1 N13059 N1

03807  M00S03772.edit    +++|*T, LBW   36/  N2,24/  A2
Figure LBW

0232429 A2 N23059 N2

03808  M00S03773.edit    +++|*
03809  M00S03774.edit    +++|*         N1 = POSITION OF LEADING CHARACTER IN STRING, .LE. 9.
03810  M00S03775.edit    +++|*         A1 = ADDRESS OF WORD CONTAINING *N1*.
03811  M00S03776.edit    +++|*         N2 = POSITION + 1 OF LAST CHARACTER IN STRING, .LE. 9.
03812  M00S03777.edit    +++|*         A2 = ADDRESS OF WORD CONTAINING *N2*.
03813  M00S03778.edit    +++|*
03814  M00S03779.edit    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
03815  M00S03780.edit    +++|*                B - 2, 3, 4, 5, 6, 7.
03816  M00S03781.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03817  M00S03782.edit    +++|
03818  M00S03783.edit    +++|
03819  M00S03784.edit    +++| SLS10    SX6    B5-B1
03820  M00S03785.edit    +++|          LX6    24
03821  M00S03786.edit    +++|          SX1    A1          LINE ADDRESS OF BEGINNING OF STRING
03822  M00S03787.edit    +++|          SX7    B2
03823  M00S03788.edit    +++|          BX6    X1+X6
03824  M00S03789.edit    +++|          SX4    A3          FORM POINTER TO END OF STRING
03825  M00S03790.edit    +++|          SA6    FBW
03826  M00S03791.edit    +++|          LX7    24
03827  M00S03792.edit    +++|          SB4    B6-B2
03828  M00S03793.edit    +++|          SA2    TCHM+B4     SET MASK
03829  M00S03794.edit    +++|          IX7    X7+X4
03830  M00S03795.edit    +++|          BX3    X2*X3
03831  M00S03796.edit    +++|          NZ     X3,SLS12    IF NOT END OF LINE
03832  M00S03797.edit    +++|          NG     X3,SLS12    IF WORD OF SEMI-COLONS
03833  M00S03798.edit    +++|          NE     B4,B1,SLS11 IF END OF LINE
03834  M00S03799.edit    +++|          SA3    A3+1        NEXT WORD IN LINE
03835  M00S03800.edit    +++|          NZ     X3,SLS12    IF NOT ZERO WORD
03836  M00S03801.edit    +++|          NG     X3,SLS12    IF NOT END OF LINE
03837  M00S03802.edit    +++| SLS11    MX1    1
03838  M00S03803.edit    +++|          BX7    X1+X7
03839  M00S03804.edit    +++| SLS12    SB7    B0+
03840  M00S03805.edit    +++|          SA7    LBW
03841  M00S03806.edit    +++|
03842  M00S03807.edit    +++| SLS      SUBR               ENTRY/EXIT
03843  M00S03808.edit    +++|          ZR     X1,SLS1     IF SEARCH BEGINS AT START OF LINE
03844  M00S03809.edit    +++|          SX1    LBW-LBA
03845  M00S03810.edit    +++| SLS1     SA4    X2          FIRST STRING CHARACTER
03846  M00S03811.edit    +++|          AX2    24
03847  M00S03812.edit    +++|          SA3    X1+LBA      BEGINNING SEARCH ADDRESS
03848  M00S03813.edit    +++|          SB7    X2
03849  M00S03814.edit    +++|          NG     X3,SLSX     IF POINTER MARKED END OF LINE
03850  M00S03815.edit    +++|          BX6    X1          ZERO INDICATES NO PREVIOUS WORD
03851  M00S03816.edit    +++|          SA1    X3
03852  M00S03817.edit    +++|          SB6    10
03853  M00S03818.edit    +++|          AX3    24
03854  M00S03819.edit    +++|          SB5    X3          POSITION OF ELEMENT IN WORD (0-9)
03855  M00S03820.edit    +++|          LX2    B1,X3
03856  M00S03821.edit    +++|          LX3    2           FORM SHIFT COUNT
03857  M00S03822.edit    +++|          IX2    X3+X2       CHARACTER POSITION * 6
03858  M00S03823.edit    +++|          SB4    X2          SHIFT COUNT FOR FIRST WORD
03859  M00S03824.edit    +++|          LX1    B4,X1       POSITION FIRST CHARACTER
03860  M00S03825.edit    +++|          BX7    -X4         COMPLEMENT OF FIRST STRING CHARACTER
03861  M00S03826.edit    +++|          MX4    -6
03862  M00S03827.edit    +++|          EQ     SLS3
03863  M00S03828.edit    +++|
03864  M00S03829.edit    +++| SLS2     MX3    -12
03865  M00S03830.edit    +++|          BX2    -X3*X1      CHECK END OF LINE BYTE
03866  M00S03831.edit    +++|          SB5    B0+
03867  M00S03832.edit    +++|          ZR     X2,SLSX     IF END OF LINE
03868  M00S03833.edit    +++|          BX6    X1          SAVE PREVIOUS WORD (FOR ASCII)
03869  M00S03834.edit    +++|          SA1    A1+B1
03870  M00S03835.edit    +++|
03871  M00S03836.edit    +++|*         LOOP TO LOCATE FIRST STRING CHARACTER IN LINE.
03872  M00S03837.edit    +++|
03873  M00S03838.edit    +++| SLS3     EQ     B5,B6,SLS2  IF LAST CHARACTER IN WORD
03874  M00S03839.edit    +++|          LX1    6
03875  M00S03840.edit    +++|          SB5    B5+B1
03876  M00S03841.edit    +++|          BX2    -X4*X1      ISOLATE CHARACTER
03877  M00S03842.edit    +++|          IX3    X2+X7
03878  M00S03843.edit    +++|          NZ     X3,SLS3     IF NO MATCH
03879  M00S03844.edit    +++|          NZ     X2,SLS5     IF SEARCH CHARACTER NOT A *00*
03880  M00S03845.edit    +++|          NE     B5,B6,SLS4  IF COLON NOT AT END OF WORD
03881  M00S03846.edit    +++|          SA2    A1+1        GET NEXT SEARCH WORD
03882  M00S03847.edit    +++|          NZ     X2,SLS5     IF NOT ZERO WORD
03883  M00S03848.edit    +++|          PL     X2,SLSX     IF END OF LINE
03884  M00S03849.edit    +++|          EQ     SLS5
03885  M00S03850.edit    +++|
03886  M00S03851.edit    +++| SLS4     SX2    B6-B5
03887  M00S03852.edit    +++|          SA2    X2+TCHM     GET MASK
03888  M00S03853.edit    +++|          BX2    X2*X1       INITIALIZE REMAINING CHARACTERS
03889  M00S03854.edit    +++|          ZR     X2,SLSX     IF END OF LINE
03890  M00S03855.edit    +++|
03891  M00S03856.edit    +++|*         CODE TO CHECK PREVIOUS CHARACTER FOR ASCII ESCAPE
03892  M00S03857.edit    +++|*         CHARACTER EXECUTED ONLY IF IN ASCII MODE.
03893  M00S03858.edit    +++|
03894  M00S03859.edit    +++| SLSA     BSS    0
03895  M00S03860.edit    +++| SLS5     EQ     SLS7
03896  M00S03861.edit    +++|*         EQ     B5,B1,SLS6  (ASCII MODE)
03897  M00S03862.edit    +++|*         BX6    X1          (ASCII MODE)
03898  M00S03863.edit    +++|*         LX6    54          (ASCII MODE)
03899  M00S03864.edit    +++| SLS6     ZR     X6,SLS7     IF NO PREVIOUS WORD
03900  M00S03865.edit    +++|          BX2    -X4*X6      ISOLATE PREVIOUS CHARACTER
03901  M00S03866.edit    +++|          SX3    X2-76B
03902  M00S03867.edit    +++|          ZR     X3,SLS3     IF 76B ESCAPE CODE
03903  M00S03868.edit    +++|          SX3    X2-74B
03904  M00S03869.edit    +++|          ZR     X3,SLS3     IF 74B ESCAPE CODE
03905  M00S03870.edit    +++| SLS7     SB3    B0
03906  M00S03871.edit    +++|          SA2    A4
03907  M00S03872.edit    +++|          SA3    A1
03908  M00S03873.edit    +++|          SB2    B5
03909  M00S03874.edit    +++|          BX3    X1
03910  M00S03875.edit    +++|          EQ     B2,B6,SLS9  IF CHARACTER LAST IN WORD
03911  M00S03876.edit    +++|
03912  M00S03877.edit    +++|*         LOOP CHECKING REMAINDER OF PHRASE.
03913  M00S03878.edit    +++|
03914  M00S03879.edit    +++| SLS8     SB3    B3+B1       COUNT CHARACTERS FOUND
03915  M00S03880.edit    +++|          EQ     B3,B7,SLS10 IF SEACH COMPLETE
03916  M00S03881.edit    +++|          LX3    6
03917  M00S03882.edit    +++|          SA2    A2+B1       NEXT STRING ELEMENT
03918  M00S03883.edit    +++|          BX6    -X4*X3
03919  M00S03884.edit    +++|          SB2    B2+B1       ADVANCE CHARACTER POINTER
03920  M00S03885.edit    +++|          BX6    X6-X2
03921  M00S03886.edit    +++|          NZ     X6,SLS3     IF NO MATCH
03922  M00S03887.edit    +++|          EQ     B2,B6,SLS9  IF AT END OF WORD
03923  M00S03888.edit    +++|          NZ     X2,SLS8     IF SEARCH CHARACTER NOT A *00*
03924  M00S03889.edit    +++|          SB4    A2
03925  M00S03890.edit    +++|          SX2    B6-B2
03926  M00S03891.edit    +++|          SA2    X2+TCHM     GET MASK
03927  M00S03892.edit    +++|          BX2    X2*X3       INITIALIZE REMAINING CHARACTERS
03928  M00S03893.edit    +++|          ZR     X2,SLSX     IF END OF LINE
03929  M00S03894.edit    +++|          SA2    B4+
03930  M00S03895.edit    +++|          EQ     SLS8
03931  M00S03896.edit    +++|
03932  M00S03897.edit    +++| SLS9     SB2    B0
03933  M00S03898.edit    +++|          SA3    A3+B1
03934  M00S03899.edit    +++|          NZ     X2,SLS8     IF SEARCH CHARACTER NOT A *00*
03935  M00S03900.edit    +++|          NZ     X3,SLS8     IF NOT ZERO WORD
03936  M00S03901.edit    +++|          PL     X3,SLSX     IF END OF LINE
03937  M00S03902.edit    +++|          EQ     SLS8
03938  M00S03903.edit    +++|
03939  M00S03904.edit    +++|*         ASCII MODE CODE REPLACES SLSA.
03940  M00S03905.edit    +++|
03941  M00S03906.edit    +++| SLSB     EQ     B5,B1,SLS6  IF FIRST CHARACTER IN WORD
03942  M00S03907.edit    +++|          BX6    X1
03943  M00S03908.edit    +++|          LX6    54          POSITION CURRENT CHARACTER
03944  M00S03909.edit    +++| TCHM     SPACE  4
03945  M00S03910.edit    +++|**        TCHM - TABLE OF CHARACTER MASKS.
03946  M00S03911.edit    +++|
03947  M00S03912.edit    +++|
03948  M00S03913.edit    +++| TCHM     BSS    0
03949  M00S03914.edit    +++|          DATA   0
03950  M00S03915.edit    +++|          DATA   77000000000000000000B
03951  M00S03916.edit    +++|          DATA   77770000000000000000B
03952  M00S03917.edit    +++|          DATA   77777700000000000000B
03953  M00S03918.edit    +++|          DATA   77777777000000000000B
03954  M00S03919.edit    +++|          DATA   77777777770000000000B
03955  M00S03920.edit    +++|          DATA   77777777777700000000B
03956  M00S03921.edit    +++|          DATA   77777777777777000000B
03957  M00S03922.edit    +++|          DATA   77777777777777770000B
03958  M00S03923.edit    +++|          DATA   77777777777777777700B
03959  M00S03924.edit    +++|          DATA   77777777777777777777B
03960  M00S03925.edit    +++| SLT      SPACE  4,9
03961  M00S03926.edit    +++|**        SLT - SET LINE TERMINATOR.
03962  M00S03927.edit    +++|*
03963  M00S03928.edit    +++|*         ENTRY  (X1) = END OF LINE POINTER WORD.
03964  M00S03929.edit    +++|*
03965  M00S03930.edit    +++|*         EXIT   (X6) = LAST WORD IN LINE.
03966  M00S03931.edit    +++|*                (B6) = NUMBER OF BLANKS ADDED OR REMOVED (NEGATIVE).
03967  M00S03932.edit    +++|*
03968  M00S03933.edit    +++|*         USES   A - 3, 4, 6, 7.
03969  M00S03934.edit    +++|*                B - 2, 3.
03970  M00S03935.edit    +++|*                X - 1, 3, 4, 6, 7.
Proceed to Part 2