User Tools

Site Tools


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

Deck EDIT Part 001

3 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
01927  M01S01903.edit    +++| ALN13    RJ     WNL         WRITE NEW LINE
01928  M01S01904.edit    +++|          SX7    1R
01929  M01S01905.edit    +++|          SA2    ASC         ASCII INDICATOR
01930  M01S01906.edit    +++|          SA1    USBC
01931  M01S01907.edit    +++|          BX0    X0-X0
01932  M01S01908.edit    +++|          SB7    X1          LWA OLD LINE
01933  M01S01909.edit    +++|          EQ     ALN8
01934  M01S01910.edit    +++|
01935  M01S01911.edit    +++|*         END OF OLD LINE REACHED.
01936  M01S01912.edit    +++|
01937  M01S01913.edit    +++| ALN14    NZ     X0,ALN15    IF NOT BLANK LINE
01938  M01S01914.edit    +++|          SB2    A0-USBB
01939  M01S01915.edit    +++|          NZ     B2,ALN15    IF NOT BLANK LINE
01940  M01S01916.edit    +++|          SA7    STRA
01941  M01S01917.edit    +++|          WRITEC A5,BLKL     WRITE BLANK LINE
01942  M01S01918.edit    +++|          SB4    STRA
01943  M01S01919.edit    +++|          SB5    B4+1
01944  M01S01920.edit    +++| ALN15    SA4    SLP
01945  M01S01921.edit    +++|          NZ     X4,ALN18    IF WORKING WITH MULTI-LINE ELLIPSIS
01946  M01S01922.edit    +++|          SA3    SEC
01947  M01S01923.edit    +++|          SX7    X3+B1       DECREMENT SEARCH COUNT
01948  M01S01924.edit    +++|          SA7    A3
01949  M01S01925.edit    +++|          ZR     X7,ALN27    IF ALIGNMENT COMPLETE
01950  M01S01926.edit    +++|          INTRPT ALN27       PROCESS TERMINAL INTERRUPT
01951  M01S01927.edit    +++|          SA1    STPHR1
01952  M01S01928.edit    +++|          ZR     X1,ALN18    IF SEARCH FOR PHRASE NOT REQUIRED
01953  M01S01929.edit    +++|          SX3    B0+
01954  M01S01930.edit    +++|          RJ     WNL         WRITE ENTIRE NEW LINE
01955  M01S01931.edit    +++| ALN16    READC  X5,LBUF,LBUFL
01956  M01S01932.edit    +++|          ZR     X1,ALN17    IF NOT EOR
01957  M01S01933.edit    +++|          CEPF   ALN16,4
01958  M01S01934.edit    +++|          SA7    EOFTF       SET FILE STATUS
01959  M01S01935.edit    +++|          EQ     ALN28
01960  M01S01936.edit    +++|
01961  M01S01937.edit    +++| ALN17    SA4    X5+5
01962  M01S01938.edit    +++|          SX6    B6          LWA+1 PACKED LINE
01963  M01S01939.edit    +++|          SX7    X4+B1       ADVANCE READ FILE LINE POSITION
01964  M01S01940.edit    +++|          BX0    X0-X0
01965  M01S01941.edit    +++|          SA6    LBL
01966  M01S01942.edit    +++|          SA7    A4
01967  M01S01943.edit    +++|          SX6    STPHR1      SEARCH FILE FOR /P1/
01968  M01S01944.edit    +++|          SX1    B0+
01969  M01S01945.edit    +++|          RJ     SFS
01970  M01S01946.edit    +++|          ZR     X7,ALN28    IF PHRASE NOT FOUND
01971  M01S01947.edit    +++|          EQ     ALN3
01972  M01S01948.edit    +++|
01973  M01S01949.edit    +++| ALN18    SX4    B5
01974  M01S01950.edit    +++|          SX1    B4
01975  M01S01951.edit    +++|          LX4    18
01976  M01S01952.edit    +++|          BX0    X4+X1
01977  M01S01953.edit    +++| ALN19    READC  X5,LBUF,LBUFL
01978  M01S01954.edit    +++|          ZR     X1,ALN20    IF NOT EOR
01979  M01S01955.edit    +++|          CEPF   ALN19,4
01980  M01S01956.edit    +++|          SA7    EOFTF
01981  M01S01957.edit    +++|          AX0    18
01982  M01S01958.edit    +++|          SB5    X0          CURRENT CHARACTER ADDRESS IN NEW LINE
01983  M01S01959.edit    +++|          BX3    X3-X3
01984  M01S01960.edit    +++|          RJ     WNL         WRITE ENTIRE NEW LINE
01985  M01S01961.edit    +++|          EQ     ALN28
01986  M01S01962.edit    +++|
01987  M01S01963.edit    +++| ALN20    SA4    X5+5
01988  M01S01964.edit    +++|          SX6    B6          LWA+1 PACKED LINE
01989  M01S01965.edit    +++|          SX7    X4+B1       ADVANCE READ FILE LINE POSITION
01990  M01S01966.edit    +++|          SA6    LBL
01991  M01S01967.edit    +++|          SA2    STPHR2
01992  M01S01968.edit    +++|          SA7    A4
01993  M01S01969.edit    +++|          ZR     X2,ALN21    IF NOT ELLIPSIS OPERATION
01994  M01S01970.edit    +++|          SX1    B0
01995  M01S01971.edit    +++|          RJ     SLS
01996  M01S01972.edit    +++|          NZ     B7,ALN21    IF NOT ONE LINE ELLIPSIS
01997  M01S01973.edit    +++|          SX6    B0+
01998  M01S01974.edit    +++|          SA6    SLP         CLEAR MULTI-LINE ELLIPSIS FLAG
01999  M01S01975.edit    +++| ALN21    SB4    X0          LWA+1 NEW LINE
02000  M01S01976.edit    +++|          SX7    1R
02001  M01S01977.edit    +++|          AX0    18
02002  M01S01978.edit    +++|          SA1    LBUF        FIRST PACKED WORD OF NEXT OLD LINE
02003  M01S01979.edit    +++|          SB5    X0+         CURRENT CHARACTER ADDRESS IN NEW LINE
02004  M01S01980.edit    +++|          MX2    -6
02005  M01S01981.edit    +++|          LX1    6
02006  M01S01982.edit    +++|          BX2    -X2*X1      FIRST CHARACTER OF NEXT OLD LINE
02007  M01S01983.edit    +++|          IX3    X2-X7
02008  M01S01984.edit    +++|          ZR     X3,ALN26    IF NEW PARAGRAPH
02009  M01S01985.edit    +++|          NZ     X1,ALN22    IF NOT ZERO WORD
02010  M01S01986.edit    +++|          PL     X1,ALN26    IF BLANK LINE
02011  M01S01987.edit    +++| ALN22    SA1    B5-B1       LAST CHARACTER IN NEW LINE
02012  M01S01988.edit    +++|          IX3    X1-X7
02013  M01S01989.edit    +++|          ZR     X3,ALN24    IF LAST CHARACTER IN NEW LINE BLANK
02014  M01S01990.edit    +++|          SA7    B5          INSERT BLANK
02015  M01S01991.edit    +++|          SB5    B5+B1
02016  M01S01992.edit    +++|          GT     B5,B4,ALN26 IF END OF NEW LINE REACHED
02017  M01S01993.edit    +++|          SX3    X1-1R.
02018  M01S01994.edit    +++|          ZR     X3,ALN23    IF LAST CHARACTER IN NEW LINE IS PERIOD
02019  M01S01995.edit    +++|          SX3    X1-1R?
02020  M01S01996.edit    +++|          NZ     X3,ALN24    IF LAST CHARACTER NOT QUESTION MARK
02021  M01S01997.edit    +++| ALN23    SA7    B5          INSERT BLANK
02022  M01S01998.edit    +++|          SB5    B5+B1
02023  M01S01999.edit    +++|          GT     B5,B4,ALN26 IF END OF NEW LINE REACHED
02024  M01S02000.edit    +++| ALN24    SA1    STRA        FIRST CHARACTER IN NEW LINE
02025  M01S02001.edit    +++|          IX4    X1-X7
02026  M01S02002.edit    +++|          SB2    A1
02027  M01S02003.edit    +++|          NZ     X4,ALN25    IF FIRST CHARACTER IN NEW LINE NOT BLANK
02028  M01S02004.edit    +++|          SB2    B2+5
02029  M01S02005.edit    +++| ALN25    LE     B5,B2,ALN5  IF NEW LINE ALREADY FLUSHED
02030  M01S02006.edit    +++|          SX4    B5
02031  M01S02007.edit    +++|          SX3    B4
02032  M01S02008.edit    +++|          LX4    18
02033  M01S02009.edit    +++|          BX0    X3+X4
02034  M01S02010.edit    +++|          LX4    18
02035  M01S02011.edit    +++|          BX0    X0+X4
02036  M01S02012.edit    +++|          EQ     ALN6
02037  M01S02013.edit    +++|
02038  M01S02014.edit    +++| ALN26    BX3    X3-X3
02039  M01S02015.edit    +++|          RJ     WNL         WRITE NEW LINE
02040  M01S02016.edit    +++|          EQ     ALN5
02041  M01S02017.edit    +++|
02042  M01S02018.edit    +++|*         ALIGNMENT COMPLETION PROCESSING.
02043  M01S02019.edit    +++|
02044  M01S02020.edit    +++| ALN27    BX3    X3-X3
02045  M01S02021.edit    +++|          RJ     WNL         WRITE ENTIRE NEW LINE
02046  M01S02022.edit    +++|          SX2    -B1         GET NEXT LINE
02047  M01S02023.edit    +++|          RJ     ATF         ADVANCE TEXT FILES
02048  M01S02024.edit    +++| ALN28    SA1    STPHR1
02049  M01S02025.edit    +++|          ZR     X1,SET2     IF NO STRING FIELDS
02050  M01S02026.edit    +++|          SA1    ICT
02051  M01S02027.edit    +++|          SA2    SEC
02052  M01S02028.edit    +++|          SA3    NUM
02053  M01S02029.edit    +++|          SA4    STPHR2
02054  M01S02030.edit    +++|          IX1    X1+X2
02055  M01S02031.edit    +++|          ZR     X4,ALN29    IF NOT ELLIPSIS
02056  M01S02032.edit    +++|          IX2    X2+X3
02057  M01S02033.edit    +++| ALN29    ZR     X2,SET2     IF ALL OCCURANCES FOUND AND PROCESSED
02058  M01S02034.edit    +++|          RJ     GSM         GENERATE OCCURANCES MESSAGE
02059  M01S02035.edit    +++|          JP     SET2        REPOSITION TEXT FILES
02060  M01S02036.edit    +++| CLEAR    EJECT
02061  M01S02037.edit    +++|***       CLEAR (CL) - CLEARS THE STRING BUFFER.
02062  M01S02038.edit    +++|*
02063  M01S02039.edit    +++|*         RETURNS THE STRING BUFFER FILE (SCR2).
02064  M01S02040.edit    +++|
02065  M01S02041.edit    +++|
02066  M01S02042.edit    +++| CLEAR    BSS    0
02067  M01S02043.edit    +++|          EVICT  B,R         RETURN STRING FILE SPACE
02068  M01S02044.edit    +++|          SA3    X2+B1
02069  M01S02045.edit    +++|          SX7    X3+         SET IN = OUT = FIRST
02070  M01S02046.edit    +++|          BX6    X6-X6
02071  M01S02047.edit    +++|          SA7    A3+B1
02072  M01S02048.edit    +++|          SA6    B+5         CLEAR LINE COUNT
02073  M01S02049.edit    +++|          SA7    A7+B1
02074  M01S02050.edit    +++|          JP     MAIN
02075  M01S02051.edit    +++| DEFTAB   EJECT
02076  M01S02052.edit    +++|***       DEFTAB (DT) - DEFINE TAB CHARACTER.
02077  M01S02053.edit    +++|*
02078  M01S02054.edit    +++|*         IDENTIFIES A TAB CHARACTER TO BE USED WHEN STRUCTURING
02079  M01S02055.edit    +++|*         LINES FROM DATA PASSED IN RESPONSE TO * ENTER TEXT.*
02080  M01S02056.edit    +++|
02081  M01S02057.edit    +++|
02082  M01S02058.edit    +++| DEFTAB   BSS    0
02083  M01S02059.edit    +++|          MX7    1
02084  M01S02060.edit    +++|          ZR     X3,DFT1     IF TAB CHARACTER DEFINITION TO BE CLEARED
02085  M01S02061.edit    +++|          SA1    X3
02086  M01S02062.edit    +++|          AX3    24          POSITION CHARACTER COUNT
02087  M01S02063.edit    +++|          SB2    X3
02088  M01S02064.edit    +++|          NE     B2,B1,MAINX IF MORE THAN ONE CHARACTER
02089  M01S02065.edit    +++|          BX7    X1
02090  M01S02066.edit    +++| DFT1     SA7    TABCH
02091  M01S02067.edit    +++|          JP     MAIN
02092  M01S02068.edit    +++| LENGTH   EJECT
02093  M01S02069.edit    +++|***       LENGTH - TRUNCATE TEXT FILE.
02094  M01S02070.edit    +++|*
02095  M01S02071.edit    +++|*         LIMITS THE NUMBER OF LINES TO BE PROCESSED ON THE TEXT FILE.
02096  M01S02072.edit    +++|*         LINE LIMIT IS SPECIFIED BY N. ORIGINAL PROCESSING BOUNDARIES
02097  M01S02073.edit    +++|*         ARE RESTORED IF N = *.
02098  M01S02074.edit    +++|
02099  M01S02075.edit    +++|
02100  M01S02076.edit    +++| LENGTH   BSS    0
02101  M01S02077.edit    +++|          SB5    X0-377776B
02102  M01S02078.edit    +++|          ZR     B5,LEN5     IF NUMERIC FIELD *
02103  M01S02079.edit    +++|          SA4    X5+5
02104  M01S02080.edit    +++|          SA3    EOFTF       CHECK FILE STATUS
02105  M01S02081.edit    +++|          IX2    X0-X4
02106  M01S02082.edit    +++|          NG     X2,LEN1     IF EDIT FILE BEYOND LINE OF INTEREST
02107  M01S02083.edit    +++|          SA1    TFLEN       CHECK CURRENT FILE LENGTH
02108  M01S02084.edit    +++|          IX4    X0-X1       CHECK FOR PROPER TRUNCATION
02109  M01S02085.edit    +++|          PL     X4,LEN8     IF IMPROPER TRUNCATION
02110  M01S02086.edit    +++|          BX6    X0          SAVE NEW LENGTH
02111  M01S02087.edit    +++|          SA6    A1
02112  M01S02088.edit    +++|          ZR     X3,MAIN     IF POSITIONED AT EOI
02113  M01S02089.edit    +++| LEN1     SA1    CTO
02114  M01S02090.edit    +++|          ZR     X1,MAIN     IF TABLE FULL
02115  M01S02091.edit    +++|          SB4    X1+
02116  M01S02092.edit    +++|          SX6    B4-B1       RESET INDEX
02117  M01S02093.edit    +++|          SX7    A1+B4
02118  M01S02094.edit    +++|          SA6    CTO
02119  M01S02095.edit    +++|          SA7    T+6
02120  M01S02096.edit    +++| LEN2     NG     X2,LEN4     IF FILE BEYOND LINE OF INTEREST
02121  M01S02097.edit    +++|          RJ     AFW
02122  M01S02098.edit    +++|          ZR     X7,RESET    IF ADVANCE WENT TO EOI
02123  M01S02099.edit    +++|          SA0    T
02124  M01S02100.edit    +++|          WRITEC A5+,LBUF    COPY LAST LINE OF ABBREVIATED TEXT FILE
02125  M01S02101.edit    +++| LEN3     READW  X5,LBUF,CBUFL
02126  M01S02102.edit    +++|          SX2    A0          SCRATCH FILE FET ADDRESS
02127  M01S02103.edit    +++|          BX0    X1
02128  M01S02104.edit    +++|          SB7    B6-LBUF     SET NUMBER WORDS TO WRITE
02129  M01S02105.edit    +++|          WRITEW X2,LBUF,B7
02130  M01S02106.edit    +++|          ZR     X0,LEN3     IF NOT EOR
02131  M01S02107.edit    +++|          CEPF   LEN3,4
02132  M01S02108.edit    +++|          SA7    EOFTF       SET FILE STATUS
02133  M01S02109.edit    +++|          SA7    SVLC
02134  M01S02110.edit    +++|          WRITER X2          FLUSH BUFFER
02135  M01S02111.edit    +++|          JP     SET2
02136  M01S02112.edit    +++|
02137  M01S02113.edit    +++| LEN4     SA0    X0          SAVE LINE ADVANCE
02138  M01S02114.edit    +++|          RJ     CPY         REWIND FILES
02139  M01S02115.edit    +++|          SX2    A0-B1       RESTORE CORRECT LINE ADVANCE
02140  M01S02116.edit    +++|          SX7    B1          INSURE ADVANCE TO EOI NOT DEFAULT
02141  M01S02117.edit    +++|          EQ     LEN2
02142  M01S02118.edit    +++|
02143  M01S02119.edit    +++| LEN5     SA1    CTO
02144  M01S02120.edit    +++|          SX6    NLR
02145  M01S02121.edit    +++|          IX4    X1-X6
02146  M01S02122.edit    +++|          ZR     X4,MAIN     IF NO DATA ON FILE
02147  M01S02123.edit    +++|          SB4    X1+B1
02148  M01S02124.edit    +++|          SX7    A1+B4
02149  M01S02125.edit    +++|          SA6    A1
02150  M01S02126.edit    +++|          SA3    EOFTF       CHECK FILE STATUS
02151  M01S02127.edit    +++|          SA7    T+5
02152  M01S02128.edit    +++|          ZR     X3,LEN6     IF POSITIONED AT EOI
02153  M01S02129.edit    +++|          SX2    377776B
02154  M01S02130.edit    +++|          RJ     AFW         ADVANCE TO EOI
02155  M01S02131.edit    +++| LEN6     READLS T
02156  M01S02132.edit    +++|          RECALL A5
02157  M01S02133.edit    +++| LEN7     READW  T,LBUF,CBUFL
02158  M01S02134.edit    +++|          SB7    B6-LBUF     NUMBER OF WORDS TO WRITE
02159  M01S02135.edit    +++|          BX0    X1
02160  M01S02136.edit    +++|          SX2    A5          WRITE FILE FET ADDRESS
02161  M01S02137.edit    +++|          WRITEW X2,LBUF,B7
02162  M01S02138.edit    +++|          ZR     X0,LEN7     IF NOT END OF RECORD
02163  M01S02139.edit    +++|          EVICT  T           RETURN LENGTH FILE SPACE
02164  M01S02140.edit    +++|          SX7    0
02165  M01S02141.edit    +++|          SA7    SVLC        RESET SEARCH POINTER
02166  M01S02142.edit    +++|          JP     SET2
02167  M01S02143.edit    +++|
02168  M01S02144.edit    +++| LEN8     WRITEC O,(=C* IMPROPER TRUNCATION.*)
02169  M01S02145.edit    +++|          JP     MAIN
02170  M01S02146.edit    +++|
02171  M01S02147.edit    +++| CTO      CON    NLR
02172  M01S02148.edit    +++|          BSS    NLR
02173  M01S02149.edit    +++|          CON    0
02174  M01S02150.edit    +++| LINE     EJECT
02175  M01S02151.edit    +++|***       LINE (LN) - LIST LINE NUMBER.
02176  M01S02152.edit    +++|*
02177  M01S02153.edit    +++|*         INDICATE LINE NUMBER ASSOCIATED WITH SEARCH POINTER.
02178  M01S02154.edit    +++|
02179  M01S02155.edit    +++|
02180  M01S02156.edit    +++| LINE     BSS    0
02181  M01S02157.edit    +++|          SA2    SVLC
02182  M01S02158.edit    +++|          SX0    1L.&3L
02183  M01S02159.edit    +++|          SA5    EOFTF
02184  M01S02160.edit    +++|          SX1    X2+B1
02185  M01S02161.edit    +++|          RJ     CDD         CONVERT LINE NUMBER
02186  M01S02162.edit    +++|          LX6    18
02187  M01S02163.edit    +++|          ZR     X5,LIN1     IF LAST LINE ON FILE
02188  M01S02164.edit    +++|          BX6    X6-X0
02189  M01S02165.edit    +++| LIN1     SA6    LNMA        SET NUMBER IN MESSAGE
02190  M01S02166.edit    +++|          WRITEC O,LNM
02191  M01S02167.edit    +++|          JP     MAIN
02192  M01S02168.edit    +++|
02193  M01S02169.edit    +++|
02194  M01S02170.edit    +++| LNM      DATA   20H FILE AT LINE NUMBER
02195  M01S02171.edit    +++| LNMA     BSS    1
02196  M01S02172.edit    +++|
02197  M01S02173.edit    +++| EFM      DATA   C* -END OF FILE-*
02198  M01S02174.edit    +++| LISTAB   EJECT
02199  M01S02175.edit    +++|***       LISTAB (LT) - LIST TAB STOPS.
02200  M01S02176.edit    +++|
02201  M01S02177.edit    +++|
02202  M01S02178.edit    +++| LISTAB   BSS    0
02203  M01S02179.edit    +++|          SA1    TTBL        FIRST TAB COLUMN
02204  M01S02180.edit    +++|          SA0    TSM+1
02205  M01S02181.edit    +++| LTB1     ZR     X1,LTB3     IF NO TAB STOPS
02206  M01S02182.edit    +++|          RJ     CDD
02207  M01S02183.edit    +++|          MX0    30
02208  M01S02184.edit    +++|          BX5    -X0*X6
02209  M01S02185.edit    +++|          SA1    A1+B1       READ NEXT TAB COLUMN
02210  M01S02186.edit    +++|          LX5    30
02211  M01S02187.edit    +++|          ZR     X1,LTB2     IF END OF TABLE
02212  M01S02188.edit    +++|          RJ     CDD
02213  M01S02189.edit    +++|          BX6    -X0*X6
02214  M01S02190.edit    +++|          BX7    X5+X6
02215  M01S02191.edit    +++|          SA1    A1+B1
02216  M01S02192.edit    +++|          SA7    A0          STORE CONVERTED VALUES IN MESSAGE
02217  M01S02193.edit    +++|          BX5    X5-X5
02218  M01S02194.edit    +++|          SA0    A0+B1
02219  M01S02195.edit    +++|          NZ     X1,LTB1     IF NOT END OF TABLE
02220  M01S02196.edit    +++| LTB2     BX7    X5
02221  M01S02197.edit    +++|          SA7    A0
02222  M01S02198.edit    +++|          WRITEC O,TSM       LIST TAB STOPS
02223  M01S02199.edit    +++|          JP     MAIN
02224  M01S02200.edit    +++|
02225  M01S02201.edit    +++| LTB3     SA5    LTBA
02226  M01S02202.edit    +++|          EQ     LTB2
02227  M01S02203.edit    +++|
02228  M01S02204.edit    +++|
02229  M01S02205.edit    +++| LTBA     DATA   L* NONE.*
02230  M01S02206.edit    +++|
02231  M01S02207.edit    +++| TSM      DATA   10H TAB STOPS
02232  M01S02208.edit    +++|          BSS    TTBLL/2+1
02233  M01S02209.edit    +++| MERGE    EJECT
02234  M01S02210.edit    +++|***       MERGE (M) - MERGE FILES.
02235  M01S02211.edit    +++|*
02236  M01S02212.edit    +++|*         MERGES A SECONDARY FILE INTO THE FILE BEING EDITED. THE
02237  M01S02213.edit    +++|*         SECONDARY FILE NAME IS PASSED IN /P1/. IF MERGING IS
02238  M01S02214.edit    +++|*         RELATIVE TO A SPECIFIC CHARACTER STRING, THE STRING OF
02239  M01S02215.edit    +++|*         INTEREST IS GIVEN IN /P2/. MERGING OCCURS AFTER THE NTH
02240  M01S02216.edit    +++|*         LINE OR AFTER THE NTH LINE CONTAINING /P2/.
02241  M01S02217.edit    +++|
02242  M01S02218.edit    +++|
02243  M01S02219.edit    +++| MERGE    BSS    0
02244  M01S02220.edit    +++|          ZR     X3,MAINX    IF MERGE FILE NAME NOT GIVEN
02245  M01S02221.edit    +++|          SB2    X3-1
02246  M01S02222.edit    +++|          AX3    24          POSITION CHARACTER COUNT
02247  M01S02223.edit    +++|          SB5    60
02248  M01S02224.edit    +++|          BX6    X6-X6       CLEAR ACCUMULATOR
02249  M01S02225.edit    +++|          SB6    X3+B2
02250  M01S02226.edit    +++| MRG1     RJ     ANC         ASSEMBLE NEXT CHARACTER
02251  M01S02227.edit    +++|          ZR     X4,MRG10    IF NOT ALPHANUMERIC CHARACTER
02252  M01S02228.edit    +++|          SX1    X4-1R+
02253  M01S02229.edit    +++|          PL     X1,MRG10    IF NOT ALPHANUMERIC CHARACTER
02254  M01S02230.edit    +++|          SX1    X3-74B
02255  M01S02231.edit    +++|          ZR     X1,MRG10    IF 74B ESCAPE CODE
02256  M01S02232.edit    +++|          LX6    6
02257  M01S02233.edit    +++|          BX6    X6+X4       ADD CHARACTER TO ACCUMULATOR
02258  M01S02234.edit    +++|          SB5    B5-6
02259  M01S02235.edit    +++|          LT     B2,B6,MRG1  IF DELIMITER NOT REACHED
02260  M01S02236.edit    +++|          LX4    B5,X6
02261  M01S02237.edit    +++|          MX7    -18
02262  M01S02238.edit    +++|          SA3    B0          CLEAR FET ADDRESS
02263  M01S02239.edit    +++|          BX3    -X7*X4
02264  M01S02240.edit    +++|          NZ     X3,MRG10    IF NAME > 7 CHARACTERS
02265  M01S02241.edit    +++|          RJ     CRN
02266  M01S02242.edit    +++|          ZR     X7,MRG10.1  IF FILE NAME RESERVED
02267  M01S02243.edit    +++|          RETURN M,R
02268  M01S02244.edit    +++|          SX1    B1          BUSY FLAG OFF
02269  M01S02245.edit    +++|          BX6    X4+X1
02270  M01S02246.edit    +++|          MX3    5
02271  M01S02247.edit    +++|          SA6    X2          SET FILE NAME IN FET
02272  M01S02248.edit    +++|          STATUS X2
02273  M01S02249.edit    +++|          LX3    5+1
02274  M01S02250.edit    +++|          SA1    X2
02275  M01S02251.edit    +++|          BX7    X3*X1       EXTRACT STATUS FIELD
02276  M01S02252.edit    +++|          LX3    9
02277  M01S02253.edit    +++|          NZ     X7,MRG3     IF FILE LOCAL
02278  M01S02254.edit    +++|          GET    X2
02279  M01S02255.edit    +++|          SA4    X2
02280  M01S02256.edit    +++|          BX7    X3*X4
02281  M01S02257.edit    +++|          ZR     X7,MRG4     IF PERMANENT FILE
02282  M01S02258.edit    +++| MRG2     WRITEC O,(=C* MERGE ERROR, SECONDARY FILE EMPTY.*)
02283  M01S02259.edit    +++|          SB4    MAIN        SET TRANSFER
02284  M01S02260.edit    +++|          EQ     MRG9
02285  M01S02261.edit    +++|
02286  M01S02262.edit    +++| MRG3     REWIND X2
02287  M01S02263.edit    +++| MRG4     READ   X2          INITIATE READ ON MERGE FILE
02288  M01S02264.edit    +++|          READC  X2,TBUF,LBUFL
02289  M01S02265.edit    +++|          NZ     X1,MRG2     IF MERGE FILE EMPTY
02290  M01S02266.edit    +++|          SA4    STPHR2
02291  M01S02267.edit    +++|          ZR     X4,MRG6     IF NO STRING FIELD
02292  M01S02268.edit    +++|          SA2    EOFTF
02293  M01S02269.edit    +++|          SX0    0
02294  M01S02270.edit    +++|          ZR     X2,LTL11    IF EDIT FILE AT EOI
02295  M01S02271.edit    +++|          SA1    NUM
02296  M01S02272.edit    +++|          SX6    X1-377776B
02297  M01S02273.edit    +++|          NZ     X6,MRG5     IF NOT ASTERISK
02298  M01S02274.edit    +++|          SA1    STPHR2      SET UP STRING POINTERS
02299  M01S02275.edit    +++|          BX6    X1
02300  M01S02276.edit    +++|          SA6    STPHR1
02301  M01S02277.edit    +++|          BX7    X7-X7
02302  M01S02278.edit    +++|          SA6    MRGA
02303  M01S02279.edit    +++|          SA7    STPHR2
02304  M01S02280.edit    +++|          RJ     CST         COUNT STINGS
02305  M01S02281.edit    +++|          SA1    MRGA        RESTORE STRING POINTER
02306  M01S02282.edit    +++|          BX0    X0-X0
02307  M01S02283.edit    +++|          LX6    X1
02308  M01S02284.edit    +++|          SA6    STPHR2
02309  M01S02285.edit    +++| MRG5     SX6    STPHR2
02310  M01S02286.edit    +++|          SX1    B0+         BEGIN SEARCH AT START OF CURRENT LINE
02311  M01S02287.edit    +++|          RJ     SFS
02312  M01S02288.edit    +++|          ZR     X7,MRG11    IF END OF INFORMATION
02313  M01S02289.edit    +++|          SA3    SEC
02314  M01S02290.edit    +++|          SX7    X3+1        ADVANCE OPERATION COUNT
02315  M01S02291.edit    +++|          SX0    B1+
02316  M01S02292.edit    +++|          SA7    A3+
02317  M01S02293.edit    +++|          INTRPT MRG6        PROCESS TERMINAL INTERRUPT
02318  M01S02294.edit    +++|          NZ     X7,MRG5     IF STRING NOT FOUND
02319  M01S02295.edit    +++| MRG6     SA3    EOFTF
02320  M01S02296.edit    +++|          ZR     X3,MRG7     IF POSITIONED AT EOI
02321  M01S02297.edit    +++|          BX2    X0
02322  M01S02298.edit    +++|          RJ     AFW         POSITION TEXT FILES FOR MERGE
02323  M01S02299.edit    +++| MRG7     WRITEC A5+,TBUF
02324  M01S02300.edit    +++| MRG8     READW  M,TBUF,100B
02325  M01S02301.edit    +++|          SB7    B6-TBUF     SET WORD COUNT
02326  M01S02302.edit    +++|          BX0    X1
02327  M01S02303.edit    +++|          SX2    A5          WRITE FILE FET ADDRESS
02328  M01S02304.edit    +++|          WRITEW X2,TBUF,B7
02329  M01S02305.edit    +++|          ZR     X0,MRG8     IF NOT END OF DATA
02330  M01S02306.edit    +++|          SB4    SET2
02331  M01S02307.edit    +++| MRG9     SX2    3RSCR
02332  M01S02308.edit    +++|          BX7    X7-X7       CLEAR LINE COUNT
02333  M01S02309.edit    +++|          SX1    B1
02334  M01S02310.edit    +++|          LX2    60-18       RESTORE NAME IN FET TO *SCR*
02335  M01S02311.edit    +++|          SA7    M+5
02336  M01S02312.edit    +++|          BX6    X2+X1
02337  M01S02313.edit    +++|          SA6    M
02338  M01S02314.edit    +++|          JP     B4
02339  M01S02315.edit    +++|
Line S02316 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
02340  M02S02316.v23l617 ---| MRG10    SB6    =C* ILLEGAL FILE NAME.*
02341  M01S00024.v23l617 +++| MRG10    SB6    =C* INCORRECT FILE NAME.*
02342  M01S02317.edit    +++| MRG10.1  WRITEC O,B6
02343  M01S02318.edit    +++|          EQ     MAIN        PROCESS NEXT COMMAND
02344  M01S02319.edit    +++|
02345  M01S02320.edit    +++| MRG11    SB4    RPS11       SET RETURN
02346  M01S02321.edit    +++|          EQ     MRG9
02347  M01S02322.edit    +++|
02348  M01S02323.edit    +++|
02349  M01S02324.edit    +++| MRGA     CON    0
02350  M01S02325.edit    +++| RESET    EJECT
02351  M01S02326.edit    +++|***       RESET (R) - RESET SEARCH POINTER.
02352  M01S02327.edit    +++|*
02353  M01S02328.edit    +++|*         THE SEARCH POINTER IS SET TO THE FIRST LINE OF THE FILE.
02354  M01S02329.edit    +++|
02355  M01S02330.edit    +++|
02356  M01S02331.edit    +++| RESET    BSS    0
02357  M01S02332.edit    +++|          BX3    X3-X3
02358  M01S02333.edit    +++|          SX6    B0          CLEAR SEARCH POINTER
02359  M01S02334.edit    +++|          EQ     SET1
02360  M01S02335.edit    +++| SET      EJECT
02361  M01S02336.edit    +++|***       SET (S) - REDEFINE SEARCH POINTER.
02362  M01S02337.edit    +++|*
02363  M01S02338.edit    +++|*         MOVES THE SEARCH POINTER AHEAD OR BACK DEPENDING ON
02364  M01S02339.edit    +++|*         POSITIVE OR NEGATIVE N. IT MAY ALSO BE SET TO THE NTH LINE
02365  M01S02340.edit    +++|*         CONTAINING /P1/, HOWEVER, N MUST BE POSITIVE.
02366  M01S02341.edit    +++|
02367  M01S02342.edit    +++|
02368  M01S02343.edit    +++| SET      BSS    0
02369  M01S02344.edit    +++|          ZR     B7,SET5     IF LINE ADVANCE POSITIVE
02370  M01S02345.edit    +++|          SA4    SVLC
02371  M01S02346.edit    +++|          IX6    X4-X0
02372  M01S02347.edit    +++|          PL     X6,SET1     IF SET COUNT IN RANGE
02373  M01S02348.edit    +++|          BX6    X6-X6
Line S02349 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
02374  M02S02349.v23l617 ---| SET1     NZ     X3,MAINX    IF ILLEGAL STRING FIELD
02375  M01S00025.v23l617 +++| SET1     NZ     X3,MAINX    IF INCORRECT STRING FIELD
02376  M01S02350.edit    +++|          SA6    SVLC
02377  M01S02351.edit    +++| SET2     RJ     CPY
02378  M01S02352.edit    +++|          SA2    SVLC        GET SEARCH POINTER
02379  M01S02353.edit    +++|          SX6    B1
02380  M01S02354.edit    +++|          BX7    X2
02381  M01S02355.edit    +++|          SA6    X5+5        INITIALIZE READ FILE LINE POSITION
02382  M01S02356.edit    +++|          SA7    A5+5
02383  M01S02357.edit    +++|          NZ     X1,SET4     IF EOR
02384  M01S02358.edit    +++|          SA6    EOFTF       CLEAR EOI FLAG
02385  M01S02359.edit    +++|          RJ     AFW
02386  M01S02360.edit    +++| SET3     SA1    FBB
02387  M01S02361.edit    +++|          MX2    56
02388  M01S02362.edit    +++|          BX3    X2*X1       ASSURE NEXT READ FROM SAME FILE
02389  M01S02363.edit    +++|          SX4    X5-F
02390  M01S02364.edit    +++|          IX6    X4+X3       RESET READ FILE BIAS
02391  M01S02365.edit    +++|          SA6    A1
02392  M01S02366.edit    +++| SET4     SA4    EOFTF
02393  M01S02367.edit    +++|          ZR     X4,LTL11    IF FILE POSITIONED AT EOF
02394  M01S02368.edit    +++|          JP     MAIN
02395  M01S02369.edit    +++|
02396  M01S02370.edit    +++| SET5     SA4    EOFTF
02397  M01S02371.edit    +++|          ZR     X4,LTL11    IF FILE POSITIONED AT EOF
02398  M01S02372.edit    +++|          LX7    X2
02399  M01S02373.edit    +++|          BX0    X0-X0
02400  M01S02374.edit    +++|          SA7    LCTB
02401  M01S02375.edit    +++|          ZR     X3,SET6     IF NO STRING FIELD
02402  M01S02376.edit    +++|          SX6    B1
02403  M01S02377.edit    +++|          SA6    A3-B1       SET LINE MODE
02404  M01S02378.edit    +++|          RJ     CST
02405  M01S02379.edit    +++|          SA1    NUM
02406  M01S02380.edit    +++|          RJ     GSM
02407  M01S02381.edit    +++| SET6     SA2    LCTB
02408  M01S02382.edit    +++|          RJ     AFW         ADVANCE FILES
02409  M01S02383.edit    +++| SET7     SA2    LCTB
02410  M01S02384.edit    +++|          IX6    X2-X0
02411  M01S02385.edit    +++|          SA6    A2
02412  M01S02386.edit    +++| SET8     SA2    LCTB
02413  M01S02387.edit    +++|          SA3    SVLC
02414  M01S02388.edit    +++|          IX6    X2+X3       REDEFINE SEARCH POINTER
02415  M01S02389.edit    +++|          SA6    A5+5
02416  M01S02390.edit    +++|          SA6    A3
02417  M01S02391.edit    +++|          EQ     SET3
02418  M01S02392.edit    +++| TABS     EJECT
02419  M01S02393.edit    +++|***       TABS (T) - SET TAB COLUMNS.
02420  M01S02394.edit    +++|*
02421  M01S02395.edit    +++|*         SET TAB STOPS AS SPECIFIED IN /P1/. SEE DEFTAB.
02422  M01S02396.edit    +++|
02423  M01S02397.edit    +++|
02424  M01S02398.edit    +++| TABS     BSS    0
02425  M01S02399.edit    +++|          SB4    X3
02426  M01S02400.edit    +++|          SB7    B0
02427  M01S02401.edit    +++|          ZR     B4,TBS4     IF TAB STOPS TO BE CLEARED
02428  M01S02402.edit    +++|          AX3    24
02429  M01S02403.edit    +++|          SB6    X3+B4       SET END OF STRING
02430  M01S02404.edit    +++| TBS1     SA1    B4
02431  M01S02405.edit    +++|          SB4    B4+B1       ADVANCE STRING BUFFER ADDRESS
02432  M01S02406.edit    +++|          SX2    X1-1R,
02433  M01S02407.edit    +++|          ZR     X2,TBS2     IF END OF TAB
02434  M01S02408.edit    +++|          SX3    X1-1R0
02435  M01S02409.edit    +++|          NG     X3,TBS5     IF CHARACTER ALPHABETIC
02436  M01S02410.edit    +++|          SX2    X1-1R9-1
02437  M01S02411.edit    +++|          PL     X2,TBS5     IF CHARACTER NOT NUMERIC
02438  M01S02412.edit    +++|          LX6    X7,B1
02439  M01S02413.edit    +++|          LX7    3
02440  M01S02414.edit    +++|          IX7    X6+X7       ASSEMBLE TAB VALUE
02441  M01S02415.edit    +++|          IX7    X7+X3
02442  M01S02416.edit    +++|          NE     B4,B6,TBS1  IF NOT END OF STRING
02443  M01S02417.edit    +++| TBS2     SX4    X7-TABCL
02444  M01S02418.edit    +++|          PL     X4,TBS5     IF TAB VALUE TOO LARGE
02445  M01S02419.edit    +++| TBS3     SA7    B7+TTBL
02446  M01S02420.edit    +++|          SB7    B7+B1
02447  M01S02421.edit    +++|          BX7    X7-X7       CLEAR ASSEMBLY
02448  M01S02422.edit    +++|          SX0    B7-TTBLL
02449  M01S02423.edit    +++|          EQ     B4,B6,TBS4  IF END OF INPUT
02450  M01S02424.edit    +++|          NG     X0,TBS1     IF NOT MAX TAB COUNT
02451  M01S02425.edit    +++|
02452  M01S02426.edit    +++| TBS4     SA7    B7+TTBL     SET TERMINATOR IN TAB TABLE
02453  M01S02427.edit    +++|          JP     MAIN
02454  M01S02428.edit    +++|
02455  M01S02429.edit    +++| TBS5     SX6    0
02456  M01S02430.edit    +++|          SA6    B7+TTBL     TERMINATE TAB TABLE
02457  M01S02431.edit    +++|          JP     MAINX
02458  M01S02432.edit    +++| WIDTH    EJECT
02459  M01S02433.edit    +++|***       WIDTH (W) - SET LINE WIDTH.
02460  M01S02434.edit    +++|*
02461  M01S02435.edit    +++|*         DEFINES A COLUMN AT WHICH LINE ASSEMBLY WILL TERMINATE.
02462  M01S02436.edit    +++|*         USED IN CONNECTION WITH ALIGN.
02463  M01S02437.edit    +++|
02464  M01S02438.edit    +++|
02465  M01S02439.edit    +++| WIDTH    BSS    0
02466  M01S02440.edit    +++|          SX2    X0-MAXWD-1
02467  M01S02441.edit    +++|          PL     X2,MAINX    IF WIDTH TOO LARGE
02468  M01S02442.edit    +++|          SX3    X0-MINWD
02469  M01S02443.edit    +++|          NG     X3,MAINX    IF WIDTH TOO SMALL
02470  M01S02444.edit    +++|          SX7    X0+
02471  M01S02445.edit    +++|          SA7    WDTH        SET NEW WIDTH
02472  M01S02446.edit    +++|          JP     MAIN
02473  M01S02447.edit    +++|          TITLE  UTILITY ROUTINES.
02474  M01S02448.edit    +++| ANC      SPACE
02475  M01S02449.edit    +++|**        ANC - ASSEMBLE NEXT CHARACTER.
02476  M01S02450.edit    +++|*
02477  M01S02451.edit    +++|*         PRESET REPLACES ANCA CODE WITH ANCB CODE IF ASCII MODE
02478  M01S02452.edit    +++|*         SPECIFIED.
02479  M01S02453.edit    +++|*
02480  M01S02454.edit    +++|*         ENTRY  (B2) = PREVIOUS CHARACTER ADDRESS.
02481  M01S02455.edit    +++|*                (B6) = LWA+1 OF CHARACTER BUFFER.
02482  M01S02456.edit    +++|*
02483  M01S02457.edit    +++|*         EXIT   (B2) = CURRENT CHARACTER ADDRESS.
02484  M01S02458.edit    +++|*                (B6) = LWA+1 OF CHARACTER BUFFER.
02485  M01S02459.edit    +++|*                (X2) = TOTAL CHARACTER (6 OR 12 BITS),
02486  M01S02460.edit    +++|*                       RIGHT-JUSTIFIED.
02487  M01S02461.edit    +++|*                (X3) = UPPER 6 BITS OF 12 BIT ASCII CHARACTER,
02488  M01S02462.edit    +++|*                       RIGHT-JUSTIFIED, ZERO OTHERWISE.
02489  M01S02463.edit    +++|*                (X4) = LOWER 6 BITS OF CHARACTER, RIGHT-JUSTIFIED.
02490  M01S02464.edit    +++|*
02491  M01S02465.edit    +++|*         USES   A - 2, 4.
02492  M01S02466.edit    +++|*                B - 2.
02493  M01S02467.edit    +++|*                X - 1, 2, 3, 4.
02494  M01S02468.edit    +++|
02495  M01S02469.edit    +++|
02496  M01S02470.edit    +++| ANC      SUBR               ENTRY/EXIT
02497  M01S02471.edit    +++|          SB2    B2+B1       ADVANCE CHARACTER ADDRESS
02498  M01S02472.edit    +++|          SA2    B2
02499  M01S02473.edit    +++|          BX4    X2
02500  M01S02474.edit    +++|          BX3    X3-X3
02501  M01S02475.edit    +++| ANCA     EQ     ANCX        RETURN - NOT ASCII MODE
02502  M01S02476.edit    +++|*         EQ     B2,B6,ANCX  (ASCII MODE)
02503  M01S02477.edit    +++|*         SX1    X4-76B      (ASCII MODE)
02504  M01S02478.edit    +++|          ZR     X1,ANC1     IF 76B ESCAPE CODE
02505  M01S02479.edit    +++|          SX1    X4-74B
02506  M01S02480.edit    +++|          NZ     X1,ANCX     IF NOT 74B ESCAPE CODE
02507  M01S02481.edit    +++| ANC1     BX3    X4
02508  M01S02482.edit    +++|          SB2    B2+B1       ADVANCE CHARACTER ADDRESS
02509  M01S02483.edit    +++|          SA4    B2
02510  M01S02484.edit    +++|          LX2    6
02511  M01S02485.edit    +++|          BX2    X4+X2
02512  M01S02486.edit    +++|          EQ     ANCX        RETURN - ASCII MODE
02513  M01S02487.edit    +++|
02514  M01S02488.edit    +++| ANCB     EQ     B2,B6,ANCX  IF END OF LINE
02515  M01S02489.edit    +++|          SX1    X4-76B
02516  M01S02490.edit    +++| AFW      SPACE  4,9
02517  M01S02491.edit    +++|**        AFW - ADVANCE FILES AND WRITE.
02518  M01S02492.edit    +++|*
02519  M01S02493.edit    +++|*         ENTRY  (X2) = NUMBER LINES TO ADVANCE.
02520  M01S02494.edit    +++|*
02521  M01S02495.edit    +++|*         USES   A - 1, 3, 4, 6, 7.
02522  M01S02496.edit    +++|*                B - 6.
02523  M01S02497.edit    +++|*                X - ALL.
02524  M01S02498.edit    +++|*
02525  M01S02499.edit    +++|*         CALLS  RDC=, WTC=.
02526  M01S02500.edit    +++|
02527  M01S02501.edit    +++|
02528  M01S02502.edit    +++| AFW3     SX6    B6
02529  M01S02503.edit    +++|          SA3    TBL
02530  M01S02504.edit    +++|          SA6    A3-B1       SET END OF LINE ADDRESS
02531  M01S02505.edit    +++|          SA4    X5+5
02532  M01S02506.edit    +++|          IX7    X4+X3       ADVANCE READ FILE LINE POINTER
02533  M01S02507.edit    +++|          SA7    A4
02534  M01S02508.edit    +++|
02535  M01S02509.edit    +++| AFW      SUBR               ENTRY/EXIT
02536  M01S02510.edit    +++|          ZR     X2,AFWX     IF LINE ADVANCE ZERO
02537  M01S02511.edit    +++|          SA4    LBL
02538  M01S02512.edit    +++|          BX7    X2
02539  M01S02513.edit    +++|          SB6    X4          SET EOL ADDRESS FOR CURRENT LINE
02540  M01S02514.edit    +++|          LX0    X2
02541  M01S02515.edit    +++|          SA7    A4+B1       SAVE LINE ADVANCE
02542  M01S02516.edit    +++| AFW1     ZR     X0,AFW3     IF FILE POSITIONING COMPLETE
02543  M01S02517.edit    +++|          WRITEC A5,LBUF
02544  M01S02518.edit    +++| AFW2     READC  X5,LBUF,LBUFL
02545  M01S02519.edit    +++|          SX0    X0-1
02546  M01S02520.edit    +++|          ZR     X1,AFW1     IF NOT END OF DATA
02547  M01S02521.edit    +++|          SX0    X0+B1
02548  M01S02522.edit    +++|          SX7    X0
02549  M01S02523.edit    +++|          SA3    TBL
02550  M01S02524.edit    +++|          IX2    X3-X0       NUMBER LINES ADVANCED
02551  M01S02525.edit    +++|          SA1    X5+5
02552  M01S02526.edit    +++|          SA7    A3
02553  M01S02527.edit    +++|          IX6    X1+X2       BUMP READ FILE LINE POINTER
02554  M01S02528.edit    +++|          SA4    PFADR
02555  M01S02529.edit    +++|          SA6    A1
02556  M01S02530.edit    +++|          BX7    X4-X5
02557  M01S02531.edit    +++|          BX5    X4
02558  M01S02532.edit    +++|          SA1    FBB         TEXT FILE BECOMES NEW READ FILE
02559  M01S02533.edit    +++|          MX2    56
02560  M01S02534.edit    +++|          BX1    X2*X1
02561  M01S02535.edit    +++|          SX2    X5-F        READ FILE BIAS
02562  M01S02536.edit    +++|          BX6    X1+X2
02563  M01S02537.edit    +++|          SA6    A1          UPDATE WRITE/READ FILE BIAS
02564  M01S02538.edit    +++|          NZ     X7,AFW2     IF NOT READING PRIMARY TEXT FILE
02565  M01S02539.edit    +++|          SX0    X0-1
02566  M01S02540.edit    +++|          SA7    EOFTF
02567  M01S02541.edit    +++|          EQ     AFWX        RETURN
02568  M01S02542.edit    +++| ATF      SPACE  4,9
02569  M01S02543.edit    +++|**        ATF - ADVANCE TEXT FILE.
02570  M01S02544.edit    +++|*
02571  M01S02545.edit    +++|*         ENTRY  (X2) = NUMBER OF LINES TO ADVANCE.
02572  M01S02546.edit    +++|*
02573  M01S02547.edit    +++|*         USES   A - 0, 4, 6, 7.
02574  M01S02548.edit    +++|*                B - 2, 6, 7.
02575  M01S02549.edit    +++|*                X - 0, 2, 4, 5, 6, 7.
02576  M01S02550.edit    +++|*
02577  M01S02551.edit    +++|*         CALLS  RDC=.
02578  M01S02552.edit    +++|
02579  M01S02553.edit    +++|
02580  M01S02554.edit    +++| ATF4     SX6    B6+         SAVE END OF LINE ADDRESS
02581  M01S02555.edit    +++|          SA6    LBL
02582  M01S02556.edit    +++|
02583  M01S02557.edit    +++| ATF      SUBR               ENTRY/EXIT
02584  M01S02558.edit    +++|          BX0    X2
02585  M01S02559.edit    +++|          ZR     X2,ATFX     IF LINE ADVANCE ZERO
02586  M01S02560.edit    +++|          SA0    X0
02587  M01S02561.edit    +++| ATF1     BX2    X5
02588  M01S02562.edit    +++|          PL     X0,ATF2     IF NO LINE POINTER MANIPULATION
02589  M01S02563.edit    +++|          BX0    -X0
02590  M01S02564.edit    +++|          SA4    X5+5
02591  M01S02565.edit    +++|          IX7    X4+X0       BUMP TEXT FILE LINE COUNT
02592  M01S02566.edit    +++|          SA7    A4
02593  M01S02567.edit    +++| ATF2     ZR     X0,ATF4     IF ADVANCE COMPLETE
02594  M01S02568.edit    +++|          READC  X2,LBUF,LBUFL
02595  M01S02569.edit    +++|          SX0    X0-1        DECREMENT COUNT
02596  M01S02570.edit    +++|          ZR     X1,ATF2     IF NOT EOR
02597  M01S02571.edit    +++|          SA4    PFADR
02598  M01S02572.edit    +++|          SX0    X0+B1
02599  M01S02573.edit    +++|          BX7    X4-X5       CHECK EOR ON PRIMARY FILE
02600  M01S02574.edit    +++|          SB2    A0
02601  M01S02575.edit    +++|          PL     B2,ATF3     IF NO LINE POINTER MANIPULATION
02602  M01S02576.edit    +++|          BX0    -X0
02603  M01S02577.edit    +++| ATF3     SX5    X4
02604  M01S02578.edit    +++|          NZ     X7,ATF1     IF NOT PRIMARY TEXT FILE
02605  M01S02579.edit    +++|          SX0    B0
02606  M01S02580.edit    +++|          SA7    EOFTF
02607  M01S02581.edit    +++|          EQ     ATFX        RETURN
02608  M01S02582.edit    +++| ATL      SPACE  4,11
02609  M01S02583.edit    +++|**        ATL - ASSEMBLE TABBED LINE.
02610  M01S02584.edit    +++|*
02611  M01S02585.edit    +++|*         ENTRY  (B2) = LINE BUFFER ADDRESS.
02612  M01S02586.edit    +++|*                (B4) = CHARACTER BUFFER ADDRESS.
02613  M01S02587.edit    +++|*                (B6) = END OF DATA IN CHARACTER BUFFER.
02614  M01S02588.edit    +++|*
02615  M01S02589.edit    +++|*         USES   A - 1, 2, 3, 6, 7.
02616  M01S02590.edit    +++|*                B - 2, 3, 4, 5, 7.
02617  M01S02591.edit    +++|*                X - 1, 2, 3, 6, 7.
02618  M01S02592.edit    +++|*
02619  M01S02593.edit    +++|*         CALLS  SLT.
02620  M01S02594.edit    +++|
02621  M01S02595.edit    +++|
02622  M01S02596.edit    +++| ATL8     SX7    B2
02623  M01S02597.edit    +++|          SB5    B2+B2       FORM SHIFT COUNT
02624  M01S02598.edit    +++|          LX7    2
02625  M01S02599.edit    +++|          SB5    X7+B5
02626  M01S02600.edit    +++|          SA3    MODE
02627  M01S02601.edit    +++|          LX7    B5,X6       LEFT JUSTIFY ASSEMBLY
02628  M01S02602.edit    +++|          SA7    A6+B1
02629  M01S02603.edit    +++|          BX6    X6-X6       INSURE END OF LINE
02630  M01S02604.edit    +++|          SA2    STRB
02631  M01S02605.edit    +++|          SA6    A7+B1
02632  M01S02606.edit    +++|          SX1    B2-10
02633  M01S02607.edit    +++|          BX1    -X1
02634  M01S02608.edit    +++|          PL     X2,ATL9     IF NOT FINAL DELIMITER
02635  M01S02609.edit    +++|          ZR     X3,ATLX     IF STRING MODE AND FINAL DELIMITER
02636  M01S02610.edit    +++| ATL9     SA2    LBL
02637  M01S02611.edit    +++|          ZR     X1,ATLX     IF EOL ON WORD BOUNDARY
02638  M01S02612.edit    +++|          SX6    A7
02639  M01S02613.edit    +++|          LX1    24          FORM EOL POINTER
02640  M01S02614.edit    +++|          BX1    X1+X6
02641  M01S02615.edit    +++|          RJ     SLT         SET LINE TERMINATOR
02642  M01S02616.edit    +++|          SX6    X2+
02643  M01S02617.edit    +++|          SA6    LBL         RESTORE EOL ADDRESS
02644  M01S02618.edit    +++|
02645  M01S02619.edit    +++| ATL      SUBR               ENTRY/EXIT
02646  M01S02620.edit    +++|          SA1    B2-B1
02647  M01S02621.edit    +++|          SA3    TTBL        FIRST TAB COLUMN
02648  M01S02622.edit    +++|          BX6    X1
02649  M01S02623.edit    +++|          SB5    B1
02650  M01S02624.edit    +++|          SA6    A1+         INITIALIZE STORAGE REGISTER
02651  M01S02625.edit    +++|          SA1    TABCH
02652  M01S02626.edit    +++|          SB7    X3
02653  M01S02627.edit    +++|          BX6    X6-X6       CLEAR ASSEMBLY
02654  M01S02628.edit    +++|          SB2    10
02655  M01S02629.edit    +++|          SA4    ASC         ASCII FLAG
02656  M01S02630.edit    +++| ATL1     SA2    B4          GET NEXT CHARACTER
02657  M01S02631.edit    +++|          SB4    B4+B1
02658  M01S02632.edit    +++|          GT     B4,B6,ATL8  IF ASSEMBLY COMPLETE
02659  M01S02633.edit    +++|          BX7    X2-X1
02660  M01S02634.edit    +++|          ZR     X7,ATL4     IF TAB CHARACTER FOUND
02661  M01S02635.edit    +++|          ZR     X4,ATL2     IF ASCII FLAG NOT SET
02662  M01S02636.edit    +++|          SX7    X2-76B      CHECK ESCAPE 76
02663  M01S02637.edit    +++|          ZR     X7,ATL3     IF ESCAPE 76
02664  M01S02638.edit    +++|          SX7    X2-74B      CHECK ESCAPE 74
02665  M01S02639.edit    +++| ATL2     ZR     X7,ATL3     IF ESCAPE 74
02666  M01S02640.edit    +++|          SB5    B5+1
02667  M01S02641.edit    +++| ATL3     LX6    6           POSITION ASSEMBLY REGISTER
02668  M01S02642.edit    +++|          SB2    B2-1        DECREMENT CHARACTER COUNT
02669  M01S02643.edit    +++|          BX6    X6+X2
02670  M01S02644.edit    +++|          NZ     B2,ATL1     IF WORD NOT COMPLETE
02671  M01S02645.edit    +++|          SA6    A6+B1
02672  M01S02646.edit    +++|          BX6    X6-X6       CLEAR ASSEMBLY
02673  M01S02647.edit    +++|          SB2    10
02674  M01S02648.edit    +++|          EQ     ATL1
02675  M01S02649.edit    +++|
02676  M01S02650.edit    +++| ATL4     ZR     B7,ATL1     IF ALL TABS PROCESSED
02677  M01S02651.edit    +++|          SX2    1R
02678  M01S02652.edit    +++| ATL5     LE     B5,B7,ATL6  IF NOT PAST TAB COLUMN
02679  M01S02653.edit    +++|          SA3    A3+B1
02680  M01S02654.edit    +++|          SB7    X3
02681  M01S02655.edit    +++|          ZR     X3,ATL1     IF ALL TABS PROCESSED
02682  M01S02656.edit    +++|          GT     B5,B7,ATL5
02683  M01S02657.edit    +++| ATL6     EQ     B5,B7,ATL7  IF TAB COLUMN REACHED
02684  M01S02658.edit    +++|          SB5    B5+B1
02685  M01S02659.edit    +++|          LX6    6           BLANK FILL TO TAB COLUMN
02686  M01S02660.edit    +++|          SB2    B2-B1
02687  M01S02661.edit    +++|          BX6    X6+X2
02688  M01S02662.edit    +++|          NZ     B2,ATL6     IF WORD NOT COMPLETE
02689  M01S02663.edit    +++|          SA6    A6+B1
02690  M01S02664.edit    +++|          SB2    10
02691  M01S02665.edit    +++|          BX6    X6-X6
02692  M01S02666.edit    +++| ATL7     NE     B5,B7,ATL6
02693  M01S02667.edit    +++|          SA3    A3+B1
02694  M01S02668.edit    +++|          SB7    X3          GET NEXT TAB VALUE
02695  M01S02669.edit    +++|          EQ     ATL1
02696  M01S02670.edit    +++| BLK      SPACE  4,13
02697  M01S02671.edit    +++|**        BLK - INSERTS BLANK AFTER COLON AT END OF LINE.
02698  M01S02672.edit    +++|*
02699  M01S02673.edit    +++|*         ENTRY  (X1) = END OF LINE POINTER WORD.
02700  M01S02674.edit    +++|*T        36/ N1,24/ A1.
Figure

0232429 A1. N13059 N1

02701  M01S02675.edit    +++|*         N1 = POSITION +1 (MOD 10) OF LAST CHARACTER IN LINE.
02702  M01S02676.edit    +++|*         A1 = ADDRESS OF WORD CONTAINING *N1*.
02703  M01S02677.edit    +++|*
02704  M01S02678.edit    +++|*         EXIT   (X1) = END OF LINE POINTER WORD, UPDATED IF NECESSARY.
02705  M01S02679.edit    +++|*                (B6) = NUMBER OF BLANKS ADDED.
02706  M01S02680.edit    +++|*
02707  M01S02681.edit    +++|*         USES   A - 3, 4, 7.
02708  M01S02682.edit    +++|*                B - 2, 3, 4, 5, 6.
02709  M01S02683.edit    +++|*                X - 1, 3, 4, 7.
02710  M01S02684.edit    +++|
02711  M01S02685.edit    +++|
02712  M01S02686.edit    +++| BLK1     SA4    A3-1        GET PREVIOUS WORD
02713  M01S02687.edit    +++| BLK2     MX7    -6
02714  M01S02688.edit    +++|          BX7    -X7*X4
02715  M01S02689.edit    +++|          NZ     X7,BLKX     IF LAST CHARACTER NOT *00*
02716  M01S02690.edit    +++|          MX7    -54
02717  M01S02691.edit    +++|          BX4    -X7*X3      INSERT BLANK AFTER *00* CHARACTER
02718  M01S02692.edit    +++|          SX7    1R
02719  M01S02693.edit    +++|          LX7    54
02720  M01S02694.edit    +++|          BX7    X7+X4
02721  M01S02695.edit    +++|          SB2    B4-B2       SHIFT COUNT
02722  M01S02696.edit    +++|          LX7    B2,X7       REPOSITION WORD
02723  M01S02697.edit    +++|          SB5    10
02724  M01S02698.edit    +++|          SA7    A3
02725  M01S02699.edit    +++|          SB3    B3+B1       INCREMENT CHARACTER POSITION
02726  M01S02700.edit    +++|          NE     B3,B5,BLK3  IF NOT FULL WORD
02727  M01S02701.edit    +++|          SB3    B0
02728  M01S02702.edit    +++|          SA3    A3+B1
02729  M01S02703.edit    +++| BLK3     SX1    B3
02730  M01S02704.edit    +++|          LX1    24
02731  M01S02705.edit    +++|          SX4    A3          ADDRESS OF NEW END OF LINE WORD
02732  M01S02706.edit    +++|          BX1    X1+X4       FORM NEW END OF LINE POINTER WORD
02733  M01S02707.edit    +++|          SB6    1
02734  M01S02708.edit    +++|
02735  M01S02709.edit    +++| BLK      SUBR               ENTRY/EXIT
02736  M01S02710.edit    +++|          SB6    B0
02737  M01S02711.edit    +++|          MX4    -59
02738  M01S02712.edit    +++|          BX4    -X4*X1
02739  M01S02713.edit    +++|          SA3    X4          ADDRESS OF END OF LINE WORD
02740  M01S02714.edit    +++|          AX4    24          POSITION +1 (MOD 10) OF LAST CHARACTER
02741  M01S02715.edit    +++|          SB2    B0
02742  M01S02716.edit    +++|          SB4    60
02743  M01S02717.edit    +++|          SB3    X4
02744  M01S02718.edit    +++|          ZR     B3,BLK1     IF LAST CHARACTER IS IN PREVIOUS WORD
02745  M01S02719.edit    +++|          SB2    B3+B3       FORM SHIFT COUNT
02746  M01S02720.edit    +++|          LX4    2
02747  M01S02721.edit    +++|          SB2    X4+B2       CHARACTER POSITION * 6
02748  M01S02722.edit    +++|          LX3    B2,X3       RIGHT JUSTIFY LAST CHARACTER
02749  M01S02723.edit    +++|          BX4    X3
02750  M01S02724.edit    +++|          EQ     BLK2
02751  M01S02725.edit    +++| BSP      SPACE  4,10
02752  M01S02726.edit    +++|**        BSP - BACKSPACE POINTER.
02753  M01S02727.edit    +++|*
02754  M01S02728.edit    +++|*         ENTRY  (X1) = POINTER WORD TO BE BACKSPACED.
02755  M01S02729.edit    +++|*                (X4) = NUMBER OF POSITIONS TO BACKSPACE.
02756  M01S02730.edit    +++|*
02757  M01S02731.edit    +++|*         EXIT   (X1) = UPDATED POINTER WORD.
02758  M01S02732.edit    +++|*
02759  M01S02733.edit    +++|*         USES   A - NONE.
02760  M01S02734.edit    +++|*                B - 2.
02761  M01S02735.edit    +++|*                X - 1, 3.
02762  M01S02736.edit    +++|
02763  M01S02737.edit    +++|
02764  M01S02738.edit    +++| BSP      SUBR               ENTRY/EXIT
02765  M01S02739.edit    +++|          SB2    X4+
02766  M01S02740.edit    +++|          LE     B2,BSPX     IF NO BACKSPACE
02767  M01S02741.edit    +++|          MX3    1
02768  M01S02742.edit    +++|          BX1    -X3*X1
02769  M01S02743.edit    +++|          SX3    X1
02770  M01S02744.edit    +++|          AX1    24
02771  M01S02745.edit    +++| BSP1     SX1    X1-1
02772  M01S02746.edit    +++|          PL     X1,BSP2     IF NOT ON WORD BOUNDARY
02773  M01S02747.edit    +++|          SX1    9
02774  M01S02748.edit    +++|          SX3    X3-1
02775  M01S02749.edit    +++| BSP2     SB2    B2-B1
02776  M01S02750.edit    +++|          GT     B2,BSP1     IF MORE POSITIONS TO BACKSPACE
02777  M01S02751.edit    +++|          LX1    24
02778  M01S02752.edit    +++|          BX1    X1+X3       FORM NEW POINTER WORD
02779  M01S02753.edit    +++|          EQ     BSPX        RETURN - POINTER UPDATED
02780  M01S02754.edit    +++| CAC      SPACE  4,10
02781  M01S02755.edit    +++|**        CAC - COUNT ASCII CHARACTERS.
02782  M01S02756.edit    +++|*
02783  M01S02757.edit    +++|*         ENTRY  (X1) = FIRST CHARACTER POINTER WORD.
02784  M01S02758.edit    +++|*                (X4) = LAST CHARACTER POINTER WORD.
02785  M01S02759.edit    +++|*
02786  M01S02760.edit    +++|*         EXIT   (B4) = NUMBER OF ASCII CHARACTERS FOUND.
02787  M01S02761.edit    +++|*
02788  M01S02762.edit    +++|*         USES   A - 2, 3.
02789  M01S02763.edit    +++|*                B - 3, 4, 5, 6, 7.
02790  M01S02764.edit    +++|*                X - 2, 3, 6, 7.
02791  M01S02765.edit    +++|
02792  M01S02766.edit    +++|
02793  M01S02767.edit    +++| CAC      SUBR               ENTRY/EXIT
02794  M01S02768.edit    +++|          SB3    TCHM
02795  M01S02769.edit    +++|          SB4    B0          INITIALIZE ASCII CHARACTER COUNTER
02796  M01S02770.edit    +++|          SB6    X1          FWA OF ASCII STRING
02797  M01S02771.edit    +++|          SB7    X4          LWA OF ASCII STRING
02798  M01S02772.edit    +++|          SB5    24
02799  M01S02773.edit    +++|          AX2    X4,B5       LAST CHARACTER POSITION + 1
02800  M01S02774.edit    +++|          SA3    B3+X2       MASK FOR LAST WORD
02801  M01S02775.edit    +++|          SA2    B7          GET LAST WORD
02802  M01S02776.edit    +++|          BX7    X3*X2       CLEAR UNWANTED DATA
02803  M01S02777.edit    +++|          AX2    X1,B5       FIRST CHARACTER POSITION
02804  M01S02778.edit    +++|          SA3    B3+X2       MASK FOR FIRST WORD
02805  M01S02779.edit    +++|          SA2    B6+         GET FIRST WORD
02806  M01S02780.edit    +++|          BX2    -X3*X2      CLEAR UNWANTED DATA
02807  M01S02781.edit    +++|          NE     B6,B7,CAC1  IF STRING NOT WITHIN ONE WORD
02808  M01S02782.edit    +++|          BX2    X2*X7
02809  M01S02783.edit    +++|          BX7    X7-X7
02810  M01S02784.edit    +++| CAC1     CX6    X3
02811  M01S02785.edit    +++|          SB5    X6
02812  M01S02786.edit    +++|          LX2    B5          LEFT-JUSTIFY REMAINING CHARACTERS
02813  M01S02787.edit    +++|          MX6    -6
02814  M01S02788.edit    +++| CAC2     LX2    6
02815  M01S02789.edit    +++|          BX3    -X6*X2      ISOLATE CHARACTER
02816  M01S02790.edit    +++|          BX2    X2-X3       CLEAR CHARACTER FROM WORD
02817  M01S02791.edit    +++|          SX3    X3-76B
02818  M01S02792.edit    +++|          ZR     X3,CAC3     IF 76B ESCAPE CODE
02819  M01S02793.edit    +++|          SX3    X3+76B-74B
02820  M01S02794.edit    +++|          NZ     X3,CAC5     IF NOT 74B ESCAPE CODE
02821  M01S02795.edit    +++| CAC3     SB4    B4+B1
02822  M01S02796.edit    +++|          NZ     X2,CAC4     IF LOWER 6 BITS OF CHARACTER IN SAME WORD
02823  M01S02797.edit    +++|          SB6    B6+B1
02824  M01S02798.edit    +++|          SA2    B6
02825  M01S02799.edit    +++|          LT     B6,B7,CAC4  IF NOT LAST WORD
02826  M01S02800.edit    +++|          BX2    X7
02827  M01S02801.edit    +++| CAC4     LX2    6
02828  M01S02802.edit    +++|          BX2    X6*X2       CLEAR LOWER 6 BITS OF CHARACTER FROM WORD
02829  M01S02803.edit    +++| CAC5     NZ     X2,CAC2     IF WORD NOT UNPACKED
02830  M01S02804.edit    +++|          SB6    B6+1
02831  M01S02805.edit    +++|          SA2    B6
02832  M01S02806.edit    +++|          LT     B6,B7,CAC2  IF NOT LAST WORD
02833  M01S02807.edit    +++|          BX2    X7
02834  M01S02808.edit    +++|          EQ     B6,B7,CAC2  IF LAST WORD
02835  M01S02809.edit    +++|          EQ     CACX        RETURN
02836  M01S02810.edit    +++| CFC      SPACE  4,12
02837  M01S02811.edit    +++|**        CFC - CHECK FOR COLON.
02838  M01S02812.edit    +++|*
02839  M01S02813.edit    +++|*         ENTRY  (X2) = CURRENT CHARACTER.
02840  M01S02814.edit    +++|*
02841  M01S02815.edit    +++|*         EXIT   (X3) - FINAL COMPARISON.
02842  M01S02816.edit    +++|*
02843  M01S02817.edit    +++|*         USES   X - 1, 3.
02844  M01S02818.edit    +++|*                A - 1.
02845  M01S02819.edit    +++|
02846  M01S02820.edit    +++|
02847  M01S02821.edit    +++| CFC1     BX3    X3-X2       COMPARE
02848  M01S02822.edit    +++|
02849  M01S02823.edit    +++| CFC      SUBR               ENTRY/EXIT
02850  M01S02824.edit    +++|          SA1    CSMR        SYSTEM CHARACTER SET MODE
02851  M01S02825.edit    +++|          SX3    63B         COLON FOR 63 CHARACTER SET SYSTEM
02852  M01S02826.edit    +++|          PL     X1,CFC1     IF 63 CHARACTER SET SYSTEM
02853  M01S02827.edit    +++|          SA1    ASC         CHECK ASCII FLAG
02854  M01S02828.edit    +++|          SX3    B0          64 CHARACTER SET COLON
02855  M01S02829.edit    +++|          ZR     X1,CFC1     IF NOT ASCII MODE
02856  M01S02830.edit    +++|          SX3    7404B       64 CHARACTER SET ASCII COLON
02857  M01S02831.edit    +++|          EQ     CFC1        COMPARE ON 64 CHARACTER SET COLON
02858  M01S02832.edit    +++| CPY      SPACE  4,7
02859  M01S02833.edit    +++|**        CPY - REPOSITION TEXT FILES.
02860  M01S02834.edit    +++|*
02861  M01S02835.edit    +++|*         USES   A - 1, 5, 6, 7.
02862  M01S02836.edit    +++|*                B - 6, 7.
02863  M01S02837.edit    +++|*                X - ALL.
02864  M01S02838.edit    +++|*
02865  M01S02839.edit    +++|*         CALLS  CIO=, RDC=, RDW=, WTC=, WTW=.
02866  M01S02840.edit    +++|
02867  M01S02841.edit    +++|
02868  M01S02842.edit    +++| CPY3     WRITEC A5+,LBUF    DUMP LINE BUFFER
02869  M01S02843.edit    +++|          SX1    A5-F
02870  M01S02844.edit    +++|          SX2    X5-F        UNUSED FILE BECOMES NEXT WRITE FILE
02871  M01S02845.edit    +++|          IX3    X1+X2
02872  M01S02846.edit    +++|          SX4    X3-21
02873  M01S02847.edit    +++|          BX2    -X4         RELATIVE FET OF UNUSED FILE
02874  M01S02848.edit    +++|          SA5    X2+F
02875  M01S02849.edit    +++|          SX5    X1+F        OLD WRITE FILE IS NEXT READ FILE
02876  M01S02850.edit    +++| CPY4     SX2    A5-F
02877  M01S02851.edit    +++|          SX1    X5-F        READ FILE BIAS
02878  M01S02852.edit    +++|          LX2    4
02879  M01S02853.edit    +++|          IX7    X2+X1       MERGE FILE BIAS BITS
02880  M01S02854.edit    +++|          SA7    FBB
02881  M01S02855.edit    +++|          REWIND A5+
02882  M01S02856.edit    +++|          WRITER X5+         FLUSH BUFFER
02883  M01S02857.edit    +++|          REWIND X2
02884  M01S02858.edit    +++|          READ   X2
02885  M01S02859.edit    +++|          READC  X2,LBUF,LBUFL
02886  M01S02860.edit    +++|          SX6    B6+
02887  M01S02861.edit    +++|          SA6    LBL
02888  M01S02862.edit    +++|
02889  M01S02863.edit    +++| CPY      SUBR               ENTRY/EXIT
02890  M01S02864.edit    +++|          SA1    PFADR
02891  M01S02865.edit    +++|          BX3    X1-X5       CHECK - READ FILE IS PRIMARY FILE
02892  M01S02866.edit    +++|          SX7    A5
02893  M01S02867.edit    +++|          NZ     X3,CPY1     IF SECONDARY TEXT FILE
02894  M01S02868.edit    +++|          SA1    EOFTF
02895  M01S02869.edit    +++|          NZ     X1,CPY3     IF NOT AT END OF PRIMARY FILE
02896  M01S02870.edit    +++|          SA7    PFADR
02897  M01S02871.edit    +++|          SA5    X5          SET NEW WRITE FILE
02898  M01S02872.edit    +++|          SX5    X7
02899  M01S02873.edit    +++|          EQ     CPY4
02900  M01S02874.edit    +++|
02901  M01S02875.edit    +++| CPY1     WRITEC A5+,LBUF    WRITE LINE BUFFER
02902  M01S02876.edit    +++| CPY2     READW  X5,LBUF,CBUFL
02903  M01S02877.edit    +++|          SB7    B6-LBUF     NUMBER WORDS TO WRITE
02904  M01S02878.edit    +++|          BX0    X1
02905  M01S02879.edit    +++|          SX2    A5          WRITE FILE FET ADDRESS
02906  M01S02880.edit    +++|          WRITEW X2,LBUF,B7
02907  M01S02881.edit    +++|          ZR     X0,CPY2     IF NOT END OF RECORD
02908  M01S02882.edit    +++|          SX2    A5
02909  M01S02883.edit    +++|          SA5    X5          SWAP READ/WRITE FILES
02910  M01S02884.edit    +++|          SX5    X2+
02911  M01S02885.edit    +++|          EQ     CPY4
02912  M01S02886.edit    +++| CRN      SPACE  4,11
02913  M01S02887.edit    +++|**        CRN - CHECK RESERVED FILE NAME.
02914  M01S02888.edit    +++|*
02915  M01S02889.edit    +++|*         ENTRY  (X4) = LEFT JUSTIFIED FILE NAME.
02916  M01S02890.edit    +++|*                (A3) = FET ADDRESS OF FILE BEING CHECKED.
02917  M01S02891.edit    +++|*
02918  M01S02892.edit    +++|*         EXIT   (X7) = 0  IF FILE NAME RESERVED.
02919  M01S02893.edit    +++|*                (B6) = ERROR MESSAGE ADDRESS, IF FILE NAME RESERVED.
02920  M01S02894.edit    +++|*
02921  M01S02895.edit    +++|*         USES   A - 1.
02922  M01S02896.edit    +++|*                B - 2, 3, 4, 5, 6.
02923  M01S02897.edit    +++|*                X - 1, 2, 3, 7.
02924  M01S02898.edit    +++|
02925  M01S02899.edit    +++|
02926  M01S02900.edit    +++| CRN      SUBR               ENTRY/EXIT
02927  M01S02901.edit    +++|          SB4    FETL
02928  M01S02902.edit    +++|          SB2    F-FETL      SET FWA OF RESERVE FILE FETS
02929  M01S02903.edit    +++|          SB5    A3          SET CURRENT FET ADDRESS
02930  M01S02904.edit    +++|          SB3    T           SET LWA FOR SEARCH
02931  M01S02905.edit    +++|          MX3    42
02932  M01S02906.edit    +++| CRN1     SB2    B2+B4       SET NEXT FET ADDRESS
02933  M01S02907.edit    +++|          EQ     B2,B5,CRN1  IF CURRENT FET
02934  M01S02908.edit    +++|          GT     B2,B3,CRNX  IF SEARCH COMPLETE
02935  M01S02909.edit    +++|          SA1    B2          SET FILE NAME
02936  M01S02910.edit    +++|          BX2    X3*X1
02937  M01S02911.edit    +++|          BX7    X2-X4
02938  M01S02912.edit    +++|          NZ     X7,CRN1     IF NO MATCH
02939  M01S02913.edit    +++|          SB6    CRNA        * RESERVED FILE NAME.*
02940  M01S02914.edit    +++|          EQ     CRNX        RETURN
02941  M01S02915.edit    +++|
02942  M01S02916.edit    +++|
02943  M01S02917.edit    +++| CRNA     DATA   C* RESERVED FILE NAME.*
02944  M01S02918.edit    +++| CST      SPACE  4,7
02945  M01S02919.edit    +++|**        CST - COUNT STRINGS.
02946  M01S02920.edit    +++|*
02947  M01S02921.edit    +++|*         USES   A - 2, 3, 4, 6, 7.
02948  M01S02922.edit    +++|*                B - 6.
02949  M01S02923.edit    +++|*                X - 0, 2, 3, 4, 6, 7.
02950  M01S02924.edit    +++|*
02951  M01S02925.edit    +++|*         CALLS  RTF, SRO, WTC=.
02952  M01S02926.edit    +++|
02953  M01S02927.edit    +++|
02954  M01S02928.edit    +++|*         COUNT SIMPLE STRINGS  /P1/.
02955  M01S02929.edit    +++|
02956  M01S02930.edit    +++| CST6     SA2    LCTB        SET LINE COUNT TO STRING
02957  M01S02931.edit    +++|          SA3    SEC
02958  M01S02932.edit    +++|          SX6    X2+B2
02959  M01S02933.edit    +++|          SX7    X3+B1       DECREMENT SEARCH COUNT
02960  M01S02934.edit    +++|          SA6    A2
02961  M01S02935.edit    +++|          SA7    A3
02962  M01S02936.edit    +++| CST7     ZR     X7,CST8     IF ALL STRINGS FOUND
02963  M01S02937.edit    +++|          SX0    *
02964  M01S02938.edit    +++|          SX6    STPHR1      SEARCH FOR NEXT OCCURRENCE OF STRING
02965  M01S02939.edit    +++|          RJ     SRO
02966  M01S02940.edit    +++| CST8     NZ     X7,CST6     IF STRING FOUND
02967  M01S02941.edit    +++|          SA2    SEC
02968  M01S02942.edit    +++|          SA3    A2-B1       DETERMINE NUMBER PHRASES FOUND
02969  M01S02943.edit    +++|          IX7    X3+X2
02970  M01S02944.edit    +++|          ZR     X7,CST1     IF NO ELLIPSI FOUND
02971  M01S02945.edit    +++|          BX6    -X7
02972  M01S02946.edit    +++|          NZ     X2,CST9     IF ALL NOT FOUND
02973  M01S02947.edit    +++|          SX7    B0
02974  M01S02948.edit    +++| CST9     SA6    A2
02975  M01S02949.edit    +++|          SA7    A3
02976  M01S02950.edit    +++|          RJ     RTF         REPOSITION FILES
02977  M01S02951.edit    +++|
02978  M01S02952.edit    +++| CST      SUBR               ENTRY/EXIT
02979  M01S02953.edit    +++|          SX6    STPHR1
02980  M01S02954.edit    +++|          RJ     SRO
02981  M01S02955.edit    +++| CST1     NZ     X7,CST2     IF /P1/ FOUND
02982  M01S02956.edit    +++|          RJ     RTF
02983  M01S02957.edit    +++|          WRITEC O,NPM
02984  M01S02958.edit    +++|          JP     MAIN
02985  M01S02959.edit    +++|
02986  M01S02960.edit    +++| CST2     SX6    B2
02987  M01S02961.edit    +++|          BX7    X7-X7
02988  M01S02962.edit    +++|          SA6    LCT         LINE COUNT TO FIRST OCCURRENCE OF /P1/
02989  M01S02963.edit    +++|          SA7    LCTT
02990  M01S02964.edit    +++|          SA6    A7+B1
02991  M01S02965.edit    +++|          SA7    A7-B1
02992  M01S02966.edit    +++|          SA3    MODE
02993  M01S02967.edit    +++|          SA4    STPHR2
02994  M01S02968.edit    +++|          ZR     X3,CST3     IF STRING MODE
02995  M01S02969.edit    +++|          SX3    1
02996  M01S02970.edit    +++| CST3     SA2    A7-B1
02997  M01S02971.edit    +++|          BX6    X2+X3       SET CALL TO *SRO*
02998  M01S02972.edit    +++|          SA6    CST7
02999  M01S02973.edit    +++|          ZR     X4,CST6     IF COUNTING SIMPLE STRINGS
03000  M01S02974.edit    +++|          SA6    CST5
03001  M01S02975.edit    +++|
03002  M01S02976.edit    +++|*         COUNT ELLIPSI  /P1/,/P2/.
03003  M01S02977.edit    +++|
03004  M01S02978.edit    +++| CST4     SA2    LCTT
03005  M01S02979.edit    +++|          SX7    X2+B2       LINE COUNT TO PHRASE STARTING ELLIPSIS
03006  M01S02980.edit    +++|          SA7    A2+B1
03007  M01S02981.edit    +++|          SX6    STPHR2      SEARCH FOR PHRASE ENDING ELLIPSIS
03008  M01S02982.edit    +++|          RJ     SRO
03009  M01S02983.edit    +++|          ZR     X7,CST8     IF PHRASE NOT FOUND
03010  M01S02984.edit    +++|          SA2    LCTX
03011  M01S02985.edit    +++|          SX6    X2+B2       LINE COUNT TO PHRASE ENDING ELLIPSIS
03012  M01S02986.edit    +++|          BX7    X2
03013  M01S02987.edit    +++|          SA6    A2-B1
03014  M01S02988.edit    +++|          SA7    A6-B1
03015  M01S02989.edit    +++|          SA3    SEC
03016  M01S02990.edit    +++|          SX7    X3+B1       DECREMENT SEARCH COUNT
03017  M01S02991.edit    +++|          SA7    A3
03018  M01S02992.edit    +++| CST5     ZR     X7,CST8     IF ALL ELLIPSI FOUND
03019  M01S02993.edit    +++|          SX0    *
03020  M01S02994.edit    +++|          SX6    STPHR1      SEARCH FOR PHRASE STARTING ELLIPSIS
03021  M01S02995.edit    +++|          RJ     SRO
03022  M01S02996.edit    +++|          NZ     X7,CST4     IF PHRASE FOUND
03023  M01S02997.edit    +++|          EQ     CST8
03024  M01S02998.edit    +++|
03025  M01S02999.edit    +++|
03026  M01S03000.edit    +++| CSTA     ZR     X7,CST8
03027  M01S03001.edit    +++|          SX0    0
03028  M01S03002.edit    +++| LCTB     BSS    3
03029  M01S03003.edit    +++| LCTT     EQU    LCTB+1
03030  M01S03004.edit    +++| LCTX     EQU    LCTT+1
03031  M01S03005.edit    +++| CTI      SPACE  4
03032  M01S03006.edit    +++|**        CTI - CHECK TERMINAL INTERRUPTS.
03033  M01S03007.edit    +++|*
03034  M01S03008.edit    +++|*         ENTRY  (TINT) = TERMINAL INTERRUPT INDICATOR.
03035  M01S03009.edit    +++|*
03036  M01S03010.edit    +++|*         EXIT   (X3) .NE. 0 IF TERMINAL INTERRUPT.
03037  M01S03011.edit    +++|*                (X6) .NE. 0 IF INTERRUPT PENDING.
03038  M01S03012.edit    +++|*
03039  M01S03013.edit    +++|*         USES   A - 3, 6.
03040  M01S03014.edit    +++|*                X - 3, 6.
03041  M01S03015.edit    +++|*                EOR/EOF/EOI STATUS IS X1 PRESERVED.
03042  M01S03016.edit    +++|
03043  M01S03017.edit    +++|
03044  M01S03018.edit    +++| CTI      SUBR               ENTRY/EXIT
03045  M01S03019.edit    +++|          BX6    X1          SAVE X1
03046  M01S03020.edit    +++|          SA3    TINT        RESET INTERRUPT INDICATOR
03047  M01S03021.edit    +++|          SA1    INTP        SET INTERRUPT PENDING
03048  M01S03022.edit    +++|          BX3    X1+X3
03049  M01S03023.edit    +++|          LX1    X6          RESTORE X1
03050  M01S03024.edit    +++|          BX6    X6-X6
03051  M01S03025.edit    +++|          SA6    A3
03052  M01S03026.edit    +++|          BX6    X3
03053  M01S03027.edit    +++|          SA6    A1
03054  M01S03028.edit    +++|          EQ     CTIX
03055  M01S03029.edit    +++| CTL      SPACE  4,8
03056  M01S03030.edit    +++|**        CTL - COMPRESS TEXT LEFT.
03057  M01S03031.edit    +++|*
03058  M01S03032.edit    +++|*         ENTRY  (X1) = DESTINATION POINTER WORD.
03059  M01S03033.edit    +++|*                (X2) = SOURCE POINTER WORD.
03060  M01S03034.edit    +++|*                (B6) = LWA DESTINATION BUFFER.
03061  M01S03035.edit    +++|*                (B6) = 0, IF NO DESTINATION BUFFER LIMIT.
03062  M01S03036.edit    +++|*
03063  M01S03037.edit    +++|*         USES   A - 3, 4, 6, 7.
03064  M01S03038.edit    +++|*                B - 2, 3, 4, 5, 6, 7.
03065  M01S03039.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03066  M01S03040.edit    +++|
03067  M01S03041.edit    +++|
03068  M01S03042.edit    +++| CTL3     EQ     B3,B7,CTL9  IF PACKING COMPLETE
03069  M01S03043.edit    +++|          SB4    B4-10
03070  M01S03044.edit    +++|          SA3    B3
03071  M01S03045.edit    +++|          SB3    B3+B1       ADVANCE SOURCE ADDRESS
03072  M01S03046.edit    +++|          NZ     X3,CTL4     IF NOT ZERO WORD
03073  M01S03047.edit    +++|          PL     X3,CTL9     IF END OF LINE
03074  M01S03048.edit    +++| CTL4     ZR     B4,CTL7     IF LAST CHARACTER IS *00*
03075  M01S03049.edit    +++|          SB4    B0+
03076  M01S03050.edit    +++| CTL5     LX3    6           POSITION NEXT CHARACTER
03077  M01S03051.edit    +++|          BX4    -X7*X3
03078  M01S03052.edit    +++|          SB4    B4+1        INCREMENT SOURCE CHARACTER COUNT
03079  M01S03053.edit    +++|          NZ     X3,CTL6     IF NOT ZERO WORD
03080  M01S03054.edit    +++|          PL     X3,CTL3     IF WORD UNPACKED
03081  M01S03055.edit    +++| CTL6     BX3    X3-X4
03082  M01S03056.edit    +++| CTL7     LX6    6
03083  M01S03057.edit    +++|          SB5    B5+1        INCREMENT CHARACTER COUNT
03084  M01S03058.edit    +++|          BX6    X6+X4
03085  M01S03059.edit    +++|          LT     B5,B6,CTL5  IF NOT FULL WORD
03086  M01S03060.edit    +++|          SX2    B6-7
03087  M01S03061.edit    +++|          ZR     X2,CTL9     IF AT DESTINATION BUFFER LIMIT
03088  M01S03062.edit    +++|          SA6    B2+
03089  M01S03063.edit    +++|          SB5    B0+
03090  M01S03064.edit    +++|          BX6    X6-X6       CLEAR ASSEMBLY
03091  M01S03065.edit    +++|          SB2    B2+B1
03092  M01S03066.edit    +++| CTL8     ZR     X1,CTL5     IF NO DESTINATION BUFFER LIMIT
03093  M01S03067.edit    +++|          SX2    B2
03094  M01S03068.edit    +++|          IX2    X1-X2
03095  M01S03069.edit    +++|          NZ     X2,CTL5     IF NOT AT LWA DESTINATION BUFFER
03096  M01S03070.edit    +++|          SB6    7
03097  M01S03071.edit    +++|          SX2    B1
03098  M01S03072.edit    +++|          LT     B5,B6,CTL5  IF BUFFER NOT COMPLETELY FULL
03099  M01S03073.edit    +++|          SX2    B0
03100  M01S03074.edit    +++| CTL9     SX1    B5+
03101  M01S03075.edit    +++|          SB6    10
03102  M01S03076.edit    +++|          LX1    24
03103  M01S03077.edit    +++|          ZR     B5,CTL10    IF LAST WORD FULL
03104  M01S03078.edit    +++| +        LX6    6
03105  M01S03079.edit    +++|          SB5    B5+B1
03106  M01S03080.edit    +++|          NE     B5,B6,*     LEFT JUSTIFY ASSEMBLY
03107  M01S03081.edit    +++| CTL10    SA6    B2+
03108  M01S03082.edit    +++|          SX4    A6
03109  M01S03083.edit    +++|          BX7    X1+X4       MERGE CHARACTER POSITION AND ADDRESS
03110  M01S03084.edit    +++|          MX3    -12
03111  M01S03085.edit    +++|          SA7    SLP         STORE EOL POINTER
03112  M01S03086.edit    +++|          BX4    -X3*X6
03113  M01S03087.edit    +++|          ZR     X4,CTL11    IF EOL BYTE
03114  M01S03088.edit    +++|          BX6    X6-X6
03115  M01S03089.edit    +++|          SA6    A6+B1       SET END OF LINE
03116  M01S03090.edit    +++| CTL11    SX7    A6+1
03117  M01S03091.edit    +++|          SA1    SLP
03118  M01S03092.edit    +++|          SA7    LBL         STORE EOL ADDRESS
03119  M01S03093.edit    +++|          ZR     X2,CTL1     IF SOURCE LINE TRUNCATED
03120  M01S03094.edit    +++|
03121  M01S03095.edit    +++| CTL      SUBR               ENTRY/EXIT
03122  M01S03096.edit    +++|          PL     X2,CTL2     IF NOT END OF LINE
03123  M01S03097.edit    +++| CTL1     RJ     SLT         SET LINE TERMINATOR
03124  M01S03098.edit    +++|          SX4    A6+
03125  M01S03099.edit    +++|          MX3    1           FORM EOL POINTER
03126  M01S03100.edit    +++|          BX6    X3+X4
03127  M01S03101.edit    +++|          SA6    SLP
03128  M01S03102.edit    +++|          EQ     CTLX        RETURN
03129  M01S03103.edit    +++|
03130  M01S03104.edit    +++| CTL2     SB2    X1          SET DESTINATION ADDRESS
03131  M01S03105.edit    +++|          AX1    24
03132  M01S03106.edit    +++|          SA4    X1+TCHM     READ LEFT MASK
03133  M01S03107.edit    +++|          SA3    B2
03134  M01S03108.edit    +++|          SB5    X1
03135  M01S03109.edit    +++|          BX6    X4*X3       REMOVE UNWANTED CHARACTER DATA
03136  M01S03110.edit    +++|          CX1    X4
03137  M01S03111.edit    +++|          SB4    X1          SET SHIFT COUNT
03138  M01S03112.edit    +++|          LX6    B4,X6
03139  M01S03113.edit    +++|          SB3    X2+B1       SET SOURCE ADDRESS
03140  M01S03114.edit    +++|          AX2    24
03141  M01S03115.edit    +++|          SA3    B3-B1
03142  M01S03116.edit    +++|          SA4    X2+TCHM     READ RIGHT MASK
03143  M01S03117.edit    +++|          BX3    -X4*X3
03144  M01S03118.edit    +++|          CX1    X4
03145  M01S03119.edit    +++|          SB4    X1          SET SHIFT COUNT
03146  M01S03120.edit    +++|          SX1    B6          DESTINATION BUFFER LIMIT
03147  M01S03121.edit    +++|          LX3    B4,X3       POSITION SOURCE DATA
03148  M01S03122.edit    +++|          SB6    10
03149  M01S03123.edit    +++|          SA4    LBL
03150  M01S03124.edit    +++|          MX7    -6
03151  M01S03125.edit    +++|          SB7    X4          SET EOL ADDRESS
03152  M01S03126.edit    +++|          SB4    X2          SOURCE CHARACTER COUNT
03153  M01S03127.edit    +++|          SX2    B1
03154  M01S03128.edit    +++|          EQ     CTL8
03155  M01S03129.edit    +++| ETX      SPACE  4,10
03156  M01S03130.edit    +++|**        ETX - PROCESS TEXT ENTRY.
03157  M01S03131.edit    +++|*
03158  M01S03132.edit    +++|*         EXIT   (X2) = TEXT DATA FET ADDRESS.
03159  M01S03133.edit    +++|*                (A6) = ADDRESS OF BUFFER STATUS WORD.
03160  M01S03134.edit    +++|*
03161  M01S03135.edit    +++|*         USES   A - 0, 1, 2, 3, 4, 6, 7.
03162  M01S03136.edit    +++|*                B - 2, 4, 5, 6, 7.
03163  M01S03137.edit    +++|*                X - 0, 1, 2, 3, 4, 6, 7.
03164  M01S03138.edit    +++|*
03165  M01S03139.edit    +++|*         CALLS  ATL, CIO=, RDS=, WTC=.
03166  M01S03140.edit    +++|
03167  M01S03141.edit    +++|
03168  M01S03142.edit    +++| ETX13    READS  I,STRA,-STRBL
03169  M01S03143.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPT
03170  M01S03144.edit    +++|          NZ     X3,ETX9     IF INTERRUPTED
03171  M01S03145.edit    +++|          NZ     X1,ETX8     IF NULL INPUT
03172  M01S03146.edit    +++|          SB4    STRA
03173  M01S03147.edit    +++| ETX14    SA3    A0+         GET DELIMITER
03174  M01S03148.edit    +++|          SA4    B6-B1       GET LAST CHARACTER
03175  M01S03149.edit    +++|          SB5    A4-B1
03176  M01S03150.edit    +++| ETX15    SX6    X4-1R
03177  M01S03151.edit    +++|          NZ     X6,ETX16    IF NOT BLANK
03178  M01S03152.edit    +++|          SB6    B6-B1
03179  M01S03153.edit    +++|          LE     B6,B4,ETX2  IF BLANK LINE
03180  M01S03154.edit    +++|          SA4    B6-B1       GET LAST CHARACTER
03181  M01S03155.edit    +++|          EQ     B5,B6,ETX16 IF TWO BLANKS SKIPPED
03182  M01S03156.edit    +++|          ZR     X3,ETX15    IF DELIMITER *00*
03183  M01S03157.edit    +++| ETX16    SB2    B6-1
03184  M01S03158.edit    +++|          SA1    ASC
03185  M01S03159.edit    +++|          ZR     X1,ETX18    IF NOT ASCII CHARACTER SET
03186  M01S03160.edit    +++|          LE     B2,B4,ETX18 IF AT BEGINING OF LINE
03187  M01S03161.edit    +++|          SA2    B2-B1
03188  M01S03162.edit    +++|          IX6    X1+X2
03189  M01S03163.edit    +++|          ZR     X6,ETX17    IF ESCAPE CODE 76B
03190  M01S03164.edit    +++|          SX6    X2-74B
03191  M01S03165.edit    +++|          NZ     X6,ETX18    IF NOT ESCAPE CODE 74B
03192  M01S03166.edit    +++| ETX17    SB2    B2-1
03193  M01S03167.edit    +++|          LX2    6
03194  M01S03168.edit    +++|          BX4    X4+X2
03195  M01S03169.edit    +++| ETX18    BX6    X3-X4
03196  M01S03170.edit    +++|          NZ     X6,ETX19    IF NOT FINAL DELIMITER
03197  M01S03171.edit    +++|          MX6    1
03198  M01S03172.edit    +++|          SB6    B2+         BACKSPACE OVER FINAL DELIMITER
03199  M01S03173.edit    +++|          SA6    A0
03200  M01S03174.edit    +++|          SA4    B6-B1       GET LAST TEXT CHARACTER
03201  M01S03175.edit    +++|          GE     B4,B6,ETX2  IF FINAL DELIMITER ONLY
03202  M01S03176.edit    +++|          NZ     X4,ETX20    IF LAST CHARACTER NOT *00*
03203  M01S03177.edit    +++|          SX6    1
03204  M01S03178.edit    +++|          SA6    BAC         BLANK ADDED AFTER COLON PRECEDING DELIMITER
03205  M01S03179.edit    +++| ETX19    NZ     X4,ETX20    IF LAST CHARACTER NOT *00*
03206  M01S03180.edit    +++|          SX6    1R
03207  M01S03181.edit    +++|          SA6    B6+         PRESERVE COLON WITH BLANK
03208  M01S03182.edit    +++|          SB6    B6+1
03209  M01S03183.edit    +++| ETX20    SB2    TBUF
03210  M01S03184.edit    +++|          RJ     ATL         ASSEMBLE TEXT INTO LINE
03211  M01S03185.edit    +++| ETX21    SX0    X0+1        ADVANCE LINE COUNT
03212  M01S03186.edit    +++|          WRITEC M,TBUF
03213  M01S03187.edit    +++|          SA3    A0
03214  M01S03188.edit    +++|          PL     X3,ETX13    IF NOT END OF INPUT
03215  M01S03189.edit    +++|          BX6    X0
03216  M01S03190.edit    +++|          SA6    M+5         STORE LINE COUNT
03217  M01S03191.edit    +++|          WRITER X2          FLUSH BUFFER
03218  M01S03192.edit    +++|          REWIND X2
03219  M01S03193.edit    +++| ETX22    SB6    =C* READY.*
03220  M01S03194.edit    +++|          SA0    M
03221  M01S03195.edit    +++| ETX23    WRITEC O,B6
03222  M01S03196.edit    +++|          ZR     X0,ETXX     IF NO INPUT
03223  M01S03197.edit    +++|          READ   A0+,R
03224  M01S03198.edit    +++|          SA3    A0+5        GET LINE COUNT
03225  M01S03199.edit    +++|          SA4    X2
03226  M01S03200.edit    +++|          BX0    X3
03227  M01S03201.edit    +++|          SX6    X4-21B      SET BUFFER STATUS
03228  M01S03202.edit    +++|          SA6    TBST
03229  M01S03203.edit    +++|
03230  M01S03204.edit    +++| ETX      SUBR               ENTRY/EXIT
03231  M01S03205.edit    +++|          SX0    1
03232  M01S03206.edit    +++|          REWIND M,R         REWIND TEXT FILE
03233  M01S03207.edit    +++|          SA0    STRB
03234  M01S03208.edit    +++|          WRITEC O,(=C* ENTER TEXT.*)
03235  M01S03209.edit    +++| ETX1     READS  I,STRA,-STRBL
03236  M01S03210.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPTS
03237  M01S03211.edit    +++|          NZ     X3,ETX9     IF INTERRUPTED
03238  M01S03212.edit    +++|          BX7    X7-X7
03239  M01S03213.edit    +++|          NZ     X1,ETX5     IF EOF (CR) ON INPUT
03240  M01S03214.edit    +++|          SB2    A0
03241  M01S03215.edit    +++|          SA7    BAC         CLEAR BACKSPACE INDICATOR
03242  M01S03216.edit    +++|          RJ     ANC         ASSEMBLE NEXT CHARACTER
03243  M01S03217.edit    +++|          BX6    X2
03244  M01S03218.edit    +++|          SB4    B2+B1       SET FWA OF CHARACTER BUFFER
03245  M01S03219.edit    +++|          SX1    X2-1R$
03246  M01S03220.edit    +++|          ZR     X1,ETX6     IF TEXT IN STRING BUFFER
03247  M01S03221.edit    +++|          SX1    X2-1R
Line S03222 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03248  M02S03222.v23l617 ---|          ZR     X1,ETX3     IF ILLEGAL DELIMITER
03249  M01S00026.v23l617 +++|          ZR     X1,ETX3     IF INCORRECT DELIMITER
03250  M01S03223.edit    +++|          SX0    B0
03251  M01S03224.edit    +++|          SA7    B4-B1
03252  M01S03225.edit    +++|          SA7    A7-B1
03253  M01S03226.edit    +++|          SA6    A0
03254  M01S03227.edit    +++|          NE     B4,B6,ETX14 IF NOT DELIMITER ONLY
03255  M01S03228.edit    +++| ETX2     SX7    B0+         WRITE BLANK LINE
03256  M01S03229.edit    +++|          SA7    TBUF
03257  M01S03230.edit    +++|          EQ     ETX21
03258  M01S03231.edit    +++|
03259  M01S03232.edit    +++| ETX3     SA3    JOTY
03260  M01S03233.edit    +++|          NZ     X3,ETX4     IF NOT INTERACTIVE JOB
Line S03234 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03261  M02S03234.v23l617 ---|          WRITEC O,(=C* ILLEGAL DELIMITER - REENTER TEXT.*)
03262  M01S00027.v23l617 +++|          WRITEC O,(=C* INCORRECT DELIMITER - REENTER TEXT.*)
03263  M01S03235.edit    +++|          EQ     ETX1
03264  M01S03236.edit    +++|
Line S03237 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03265  M02S03237.v23l617 ---| ETX4     WRITEC O,(=C* ILLEGAL DELIMITER.*)
03266  M01S00028.v23l617 +++| ETX4     WRITEC O,(=C* INCORRECT DELIMITER.*)
03267  M01S03238.edit    +++|          EQ     MAIN
03268  M01S03239.edit    +++|
03269  M01S03240.edit    +++|*         USER SELECTED TEXT ENTERED PREVIOUSLY.
03270  M01S03241.edit    +++|
03271  M01S03242.edit    +++| ETX5     SA7    EOFIF       SET EOF ON INPUT
03272  M01S03243.edit    +++|          EQ     ETX22
03273  M01S03244.edit    +++|
03274  M01S03245.edit    +++|*         USER SELECTED TEXT IN STRING BUFFER.
03275  M01S03246.edit    +++|
03276  M01S03247.edit    +++| ETX6     GE     B4,B6,ETX7    IF STRING BUFFER SYMBOL ONLY
03277  M01S03248.edit    +++|          SA4    B4
03278  M01S03249.edit    +++|          SB4    B4+B1
03279  M01S03250.edit    +++|          SX2    X4-1R
Line S03251 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03280  M02S03251.v23l617 ---|          NZ     X2,ETX3     IF ILLEGAL DELIMITER
Line S03252 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03281  M02S03252.v23l617 ---|          LT     B4,B6,ETX3  IF ILLEGAL DELIMITER
03282  M01S00029.v23l617 +++|          NZ     X2,ETX3     IF INCORRECT DELIMITER
03283  M01S00030.v23l617 +++|          LT     B4,B6,ETX3  IF INCORRECT DELIMITER
03284  M01S03253.edit    +++| ETX7     SA0    B
03285  M01S03254.edit    +++|          REWIND B,R
03286  M01S03255.edit    +++|          SB6    =C* READY.*
03287  M01S03256.edit    +++|          SA1    XTSB        GET NUMBER OF POSITIONS TO BACKSPACE
03288  M01S03257.edit    +++|          BX6    X1
03289  M01S03258.edit    +++|          SA6    BAC
03290  M01S03259.edit    +++|          EQ     ETX23
03291  M01S03260.edit    +++|
03292  M01S03261.edit    +++|*         INPUT TERMINATED WITH EOF.
03293  M01S03262.edit    +++|
03294  M01S03263.edit    +++| ETX8     MX7    1           CLEAR DELIMITER
03295  M01S03264.edit    +++|          BX6    X6-X6
03296  M01S03265.edit    +++|          SA7    A0+
03297  M01S03266.edit    +++|          SA6    EOFIF
03298  M01S03267.edit    +++|          EQ     ETX2
03299  M01S03268.edit    +++|
03300  M01S03269.edit    +++| ETX9     SX6    B6          SAVE INPUT STRING LWA+1
03301  M01S03270.edit    +++|          SA6    ETXA
03302  M01S03271.edit    +++| ETX10    WRITEC O,(=C* DISREGARD PREVIOUS TEXT  "CB"*)
03303  M01S03272.edit    +++|          SB6    CMDB        FWA WORKING BUFFER
03304  M01S03273.edit    +++|          RJ     PUR         PROCESS USER RESPONSE
03305  M01S03274.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPTS
03306  M01S03275.edit    +++|          NZ     X3,END      IF INTERRUPT, SIMULATE END
Line S03276 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03307  M02S03276.v23l617 ---|          NG     X4,ETX12    IF INVALID REPONSE
03308  M01S00031.v23l617 +++|          NG     X4,ETX12    IF INCORRECT REPONSE
03309  M01S03277.edit    +++|          NZ     X4,ETX11    PROCESS *YES* RESPONSE
03310  M01S03278.edit    +++|
03311  M01S03279.edit    +++|*         TERMINATE TEXT AND PROCESS.
03312  M01S03280.edit    +++|*         (ENTER ASSUMED TERMINATION DELIMETER AT POINT OF INTERRUPT)
03313  M01S03281.edit    +++|
03314  M01S03282.edit    +++|          SA1    ETXA        RESTORE INPUT STRING LWA+1
03315  M01S03283.edit    +++|          SB6    X1
03316  M01S03284.edit    +++|          SB4    STRA
03317  M01S03285.edit    +++|          EQ     ETX8        TERMINATE INPUT
03318  M01S03286.edit    +++|
03319  M01S03287.edit    +++| ETX11    BX0    X0-X0
03320  M01S03288.edit    +++|          EQ     ETX22
03321  M01S03289.edit    +++|
03322  M01S03290.edit    +++| ETX12    WRITEC O,PCCD      REQUEST *YES* OR *NO* RESPONSE
03323  M01S03291.edit    +++|          EQ     ETX10
03324  M01S03292.edit    +++|
03325  M01S03293.edit    +++|
03326  M01S03294.edit    +++| ETXA     CON    0           INTERRUPTED INPUT STRING LWA+1
03327  M01S03295.edit    +++|
03328  M01S03296.edit    +++| BAC      CON    0           NUMBER OF POSITIONS TO BACKSPACE
03329  M01S03297.edit    +++| GSM      SPACE  4,9
03330  M01S03298.edit    +++|**        GSM - GENERATE STRINGS PROCESSED MESSAGE.
03331  M01S03299.edit    +++|*
03332  M01S03300.edit    +++|*         ENTRY  (X1) = NUMBER OF STRINGS PROCESSED.
03333  M01S03301.edit    +++|*
03334  M01S03302.edit    +++|*         USES   A - 6.
03335  M01S03303.edit    +++|*                B - 6.
03336  M01S03304.edit    +++|*                X - 2, 6.
03337  M01S03305.edit    +++|*
03338  M01S03306.edit    +++|*         CALLS  CDD, WTC=.
03339  M01S03307.edit    +++|
03340  M01S03308.edit    +++|
03341  M01S03309.edit    +++| GSM1     RJ     CDD         CONVERT NUMBER TO DISPLAY CODE
03342  M01S03310.edit    +++|          LX6    12
03343  M01S03311.edit    +++|          SA6    OPM         INSERT VALUE IN MESSAGE
03344  M01S03312.edit    +++|          WRITEC O,A6
03345  M01S03313.edit    +++|
03346  M01S03314.edit    +++| GSM      SUBR               ENTRY/EXIT
03347  M01S03315.edit    +++|          NZ     X1,GSM1     IF VALID COUNT
03348  M01S03316.edit    +++|          EQ     GSMX        RETURN
03349  M01S03317.edit    +++|
03350  M01S03318.edit    +++|
03351  M01S03319.edit    +++| OPM      DATA   C*          OCCURRENCES OF PHRASE FOUND.*
03352  M01S03320.edit    +++| IBC      SPACE  4,10
03353  M01S03321.edit    +++|**        IBC - INSERT BLANK CHARACTERS.
03354  M01S03322.edit    +++|*
03355  M01S03323.edit    +++|*         ENTRY  (X1) = POINTER TO START OF BLANK STRING.
03356  M01S03324.edit    +++|*                (X4) = POINTER TO END OF BLANK STRING.
03357  M01S03325.edit    +++|*
03358  M01S03326.edit    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
03359  M01S03327.edit    +++|*                B - 2, 3, 4, 6, 7.
03360  M01S03328.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03361  M01S03329.edit    +++|*
03362  M01S03330.edit    +++|*         CALLS  BSP, CAC, CTL, SLT.
03363  M01S03331.edit    +++|
03364  M01S03332.edit    +++|
03365  M01S03333.edit    +++| IBC1     BX7    X4-X1
03366  M01S03334.edit    +++|          SA2    ASC
03367  M01S03335.edit    +++|          SB2    X2
03368  M01S03336.edit    +++|          ZR     X7,IBCX     IF NO STRING
03369  M01S03337.edit    +++|          ZR     B2,IBC2     IF NOT ASCII MODE
03370  M01S03338.edit    +++|          RJ     CAC         COUNT ASCII CHARACTERS
03371  M01S03339.edit    +++| IBC2     SB6    X1+         FWA OF BLANK STRING
03372  M01S03340.edit    +++|          SB3    TCHM
03373  M01S03341.edit    +++|          AX1    24
03374  M01S03342.edit    +++|          BX2    X4          SAVE END OF STRING POINTER
03375  M01S03343.edit    +++|          SB7    X4+         LWA OF BLANK STRING
03376  M01S03344.edit    +++|          SA3    BLKS
03377  M01S03345.edit    +++|          AX4    24          NUMBER OF BLANKS FOR LAST WORD
03378  M01S03346.edit    +++|          SA1    X1+B3
03379  M01S03347.edit    +++|          SA4    X4+B3
03380  M01S03348.edit    +++|          NE     B6,B7,IBC3  IF FWA " LWA
03381  M01S03349.edit    +++|          BX4    X4-X1
03382  M01S03350.edit    +++| IBC3     LX7    X3
03383  M01S03351.edit    +++|          SA3    B6
03384  M01S03352.edit    +++|          EQ     B6,B7,IBC5  IF STRING WITHIN ONE WORD
03385  M01S03353.edit    +++|          BX6    X1*X3
03386  M01S03354.edit    +++|          SB6    B6+B1
03387  M01S03355.edit    +++|          BX3    -X1*X7
03388  M01S03356.edit    +++|          BX6    X6+X3       ADD BLANKS TO FIRST WORD
03389  M01S03357.edit    +++|          SA3    B7
03390  M01S03358.edit    +++|          SA6    B6-B1
03391  M01S03359.edit    +++|          EQ     B6,B7,IBC5  IF STRING SPANS TWO WORDS
03392  M01S03360.edit    +++| IBC4     SA7    B6
03393  M01S03361.edit    +++|          SB6    B6+B1       BLANK BETWEEN FWA AND LWA
03394  M01S03362.edit    +++|          NE     B6,B7,IBC4  IF NOT DONE
03395  M01S03363.edit    +++| IBC5     BX6    X4*X7
03396  M01S03364.edit    +++|          BX1    -X4*X3      ADD BLANKS TO LAST WORD
03397  M01S03365.edit    +++|          BX6    X6+X1
03398  M01S03366.edit    +++|          SA6    B7          STORE LAST WORD
03399  M01S03367.edit    +++|          ZR     B2,IBCX     IF NOT ASCII MODE
03400  M01S03368.edit    +++|          ZR     B4,IBCX     IF NO ASCII CHARACTERS
03401  M01S03369.edit    +++|          SX4    B4+
03402  M01S03370.edit    +++|          SA1    LBW
03403  M01S03371.edit    +++|          NG     X1,IBC6     IF LBW AT END OF LINE
03404  M01S03372.edit    +++|          RJ     BSP         BACKSPACE LBW POINTER
03405  M01S03373.edit    +++|          BX6    X1
03406  M01S03374.edit    +++|          SA6    LBW
03407  M01S03375.edit    +++| IBC6     BX1    X2
03408  M01S03376.edit    +++|          RJ     BSP         BACKSPACE END OF STRING POINTER
03409  M01S03377.edit    +++|          SB6    B0
03410  M01S03378.edit    +++|          RJ     CTL         ELIMINATE EXCESS BLANKS
03411  M01S03379.edit    +++|          SA1    SLP
03412  M01S03380.edit    +++|          RJ     SLT         SET LINE TERMINATOR
03413  M01S03381.edit    +++|
03414  M01S03382.edit    +++| IBC      SUBR               ENTRY/EXIT
03415  M01S03383.edit    +++|          PL     X4,IBC1     IF BLANK STRING NOT AT EOL
03416  M01S03384.edit    +++|          RJ     SLT         SET LINE TERMINATOR
03417  M01S03385.edit    +++|          EQ     IBCX        RETURN
03418  M01S03386.edit    +++| PCC      SPACE  4,12
03419  M01S03387.edit    +++|**        PCC - PROMPT FOR COMMAND CONTINUANCE.
03420  M01S03388.edit    +++|*
03421  M01S03389.edit    +++|*         ENTRY  ((PCCX)-1) = NEGATIVE RETURN ADDRESS.
03422  M01S03390.edit    +++|*                ALL OUTPUT DATA IN THE BUFFER WILL BE ISSUED
03423  M01S03391.edit    +++|*                PRIOR TO PROMPT MESSAGE.
03424  M01S03392.edit    +++|*
03425  M01S03393.edit    +++|*         EXIT   TO NEGATIVE RETURN IF NEGATIVE REPONSE.
03426  M01S03394.edit    +++|*
03427  M01S03395.edit    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
03428  M01S03396.edit    +++|*                X - 2, 3, 4, 7.
03429  M01S03397.edit    +++|*                B - ALL.
03430  M01S03398.edit    +++|*                (REGISTERS X0, X1, X6 ARE SAVED/RESTORED)
03431  M01S03399.edit    +++|*
03432  M01S03400.edit    +++|*         CALLS  CTI, PUR, RSR, SVR, WTC=.
03433  M01S03401.edit    +++|
03434  M01S03402.edit    +++|
03435  M01S03403.edit    +++| PCC3     RJ     RSR         RESTORE WORKING REGISTERS
03436  M01S03404.edit    +++|
03437  M01S03405.edit    +++| PCC      SUBR
03438  M01S03406.edit    +++|          SA3    TINT        CHEC TEMINAL INTERRUPTS
03439  M01S03407.edit    +++|          ZR     X3,PCCX     IF NO INTERRUPT
03440  M01S03408.edit    +++|          RJ     SVR         SAVE WORKING REGISTERS
03441  M01S03409.edit    +++|          RJ     CTI         CLEAR TERMINAL INTERRUPT
03442  M01S03410.edit    +++|          SA3    NUM         CALCULATE CURRENT POSITION
03443  M01S03411.edit    +++|          SA2    A3+B1
03444  M01S03412.edit    +++|          IX1    X3+X2
03445  M01S03413.edit    +++|          SA2    SVLC        SET LINE NUMBER
03446  M01S03414.edit    +++|          SX0    1L.&3L
03447  M01S03415.edit    +++|          SX3    X2+B1
03448  M01S03416.edit    +++|          IX1    X3+X1
03449  M01S03417.edit    +++|          RJ     CDD
03450  M01S03418.edit    +++|          LX6    18
03451  M01S03419.edit    +++|          BX6    X6-X0
03452  M01S03420.edit    +++|          SA6    PCCB
03453  M01S03421.edit    +++|          WRITEC O,PCCA
03454  M01S03422.edit    +++| PCC1     WRITEC O,(=C* COMMAND CONTINUE "CB"*)
03455  M01S03423.edit    +++|          SB6    CMDB        FWA WORKING BUFFER
03456  M01S03424.edit    +++|          RJ     PUR         PROCESS USER RESPONCE
03457  M01S03425.edit    +++|          RJ     CTI         CHECK TERMINAL INTERRUPTS
Line S03426 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03458  M02S03426.v23l617 ---|          NG     X4,PCC2     IF INVALID REPONSE
03459  M01S00032.v23l617 +++|          NG     X4,PCC2     IF INCORRECT REPONSE
03460  M01S03427.edit    +++|          NZ     X4,PCC3     IF COMMAND TO CONTINUE
03461  M01S03428.edit    +++|          SA4    PCCX        SET NEGATIVE RETURN ADDRESS
03462  M01S03429.edit    +++|          AX4    30
03463  M01S03430.edit    +++|          MX0    42
03464  M01S03431.edit    +++|          SA1    PCCC
03465  M01S03432.edit    +++|          SA4    X4-1        READ RETURN JUMP WORD
03466  M01S03433.edit    +++|          BX6    X0*X1
03467  M01S03434.edit    +++|          BX4    -X0*X4
03468  M01S03435.edit    +++|          IX7    X6+X4
03469  M01S03436.edit    +++|          LX7    30
03470  M01S03437.edit    +++|          SA7    A1
03471  M01S03438.edit    +++|          RJ     RSR         RESTORE ALL REGISTERS
03472  M01S03439.edit    +++| PCCC     EQ     *           RETURN
03473  M01S03440.edit    +++|-         EQ     *
03474  M01S03441.edit    +++|
03475  M01S03442.edit    +++| PCC2     WRITEC O,PCCD      REQUEST *YES* OR *NO* RESPONSE
03476  M01S03443.edit    +++|          EQ     PCC1
03477  M01S03444.edit    +++|
03478  M01S03445.edit    +++|
03479  M01S03446.edit    +++| PCCA     DATA   20H INTERRUPT AT LINE
03480  M01S03447.edit    +++| PCCB     BSS    1
03481  M01S03448.edit    +++| PCCD     DATA   C/ ENTER *YES* OR *NO*./
03482  M01S03449.edit    +++| PUR      SPACE  4,15
03483  M01S03450.edit    +++|**        PUR - PROCESS USER RESPONSE.
03484  M01S03451.edit    +++|*
03485  M01S03452.edit    +++|*         ENTRY  PROMPT MESSAGE ISSUED TO USER.
03486  M01S03453.edit    +++|*                (B6) = FWA WORKING BUFFER FOR READING RESPONSE
03487  M01S03454.edit    +++|*                       (MUST BE AT LEAST *LBUFL* WORDS LONG).
03488  M01S03455.edit    +++|*
Line S03456 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03489  M02S03456.v23l617 ---|*         EXIT   (X4) .LT. 0, IF INVALID RESPONSE.
03490  M01S00033.v23l617 +++|*         EXIT   (X4) .LT. 0, IF INCORRECT RESPONSE.
03491  M01S03457.edit    +++|*                (X4) = 0, IF NEGATIVE RESPONSE.
03492  M01S03458.edit    +++|*                (X4) .GT. 0, IF POSITIVE RESPONSE.
03493  M01S03459.edit    +++|*
03494  M01S03460.edit    +++|*         USES   A - 1, 7.
03495  M01S03461.edit    +++|*                B - 2, 3, 5.
03496  M01S03462.edit    +++|*                X - 0, 1, 2, 4, 6, 7.
03497  M01S03463.edit    +++|*
03498  M01S03464.edit    +++|*         CALLS  ANC.
03499  M01S03465.edit    +++|*
03500  M01S03466.edit    +++|*         MACROS READ, READS.
03501  M01S03467.edit    +++|
03502  M01S03468.edit    +++|
Line S03469 Modification History
M01 (Added by) edit
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
03503  M02S03469.v23l617 ---| PUR1     SX4    -1          SET INVALID REPONSE
03504  M01S00034.v23l617 +++| PUR1     SX4    -1          SET INCORRECT REPONSE
03505  M01S03470.edit    +++|
03506  M01S03471.edit    +++| PUR      SUBR
03507  M01S03472.edit    +++|          SX0    B6-B1       SAVE FWA-1 WORKING BUFFER
03508  M01S03473.edit    +++|          BX7    X7-X7       CLEAR INTERRUPT PENDING
03509  M01S03474.edit    +++|          SA7    INTP
03510  M01S03475.edit    +++|          READ   I
03511  M01S03476.edit    +++|          READS  X2,B6,-LBUFL  READ RESPONSE
03512  M01S03477.edit    +++|          NZ     X1,PUR1     IF ONLY (CR) ENTERED
03513  M01S03478.edit    +++|          SB2    X0
03514  M01S03479.edit    +++|          BX6    X6-X6       CLEAR ACCUMULATOR
03515  M01S03480.edit    +++|          SB5    60
03516  M01S03481.edit    +++|          SB3    3           SET RESPONSE SIZE
03517  M01S03482.edit    +++|
03518  M01S03483.edit    +++| PUR2     RJ     ANC         ASSEMBLE NEXT CHARACTER
03519  M01S03484.edit    +++|          EQ     B2,B6,PUR3  IF INPUT COMPLETE
03520  M01S03485.edit    +++|          SX1    X2-1R       CHECK FOR BLANK
03521  M01S03486.edit    +++|          ZR     X1,PUR2     IF BLANK
03522  M01S03487.edit    +++|          SB3    B3-1        INCREMENT LENGTH
03523  M01S03488.edit    +++|          NG     B3,PUR1     IF RESPONSE TOO LONG
03524  M01S03489.edit    +++|          SB5    B5-6
03525  M01S03490.edit    +++|          LX6    6
03526  M01S03491.edit    +++|          BX6    X4+X6
03527  M01S03492.edit    +++|          EQ     PUR2
03528  M01S03493.edit    +++|
03529  M01S03494.edit    +++| PUR3     LX4    B5,X6       SET RESPONSE
03530  M01S03495.edit    +++|          MX0    42
03531  M01S03496.edit    +++|          SA1    PURA-1      INITIALIZE TABLE SEARCH
03532  M01S03497.edit    +++| PUR4     SA1    A1+B1       SET NEXT TABLE ITEM
03533  M01S03498.edit    +++|          BX6    X0*X1       COMPARE RESPONSE TO TABLE
03534  M01S03499.edit    +++|          ZR     X1,PUR1     IF AT END OF TABLE
03535  M01S03500.edit    +++|          BX2    X6-X4
03536  M01S03501.edit    +++|          NZ     X2,PUR4     IF NOT A MATCH
03537  M01S03502.edit    +++|          SX4    X1          SET REPONSE INDICATOR
03538  M01S03503.edit    +++|          EQ     PURX        RETURN
03539  M01S03504.edit    +++|          SPACE  4
03540  M01S03505.edit    +++|**        PURA - TABLE OF LEGAL RESPONSES.
03541  M01S03506.edit    +++|*
03542  M01S03507.edit    +++|*T        42/RESPONSE,18/TYPE
Figure

0171829TYPERESPONSE3059RESPONSE

03543  M01S03508.edit    +++|*
03544  M01S03509.edit    +++|*         TYPE   0 = NEGATIVE RESPONSE.
03545  M01S03510.edit    +++|*                1 = POSITIVE RESPONSE.
03546  M01S03511.edit    +++|
03547  M01S03512.edit    +++|
03548  M01S03513.edit    +++| PURA     BSS    0
03549  M01S03514.edit    +++|          VFD    42/0LNO,18/0
03550  M01S03515.edit    +++|          VFD    42/0LN,18/0
03551  M01S03516.edit    +++|          VFD    42/0LYES,18/1
03552  M01S03517.edit    +++|          VFD    42/0LY,18/1
03553  M01S03518.edit    +++|          CON    0
03554  M01S03519.edit    +++| PSB      SPACE  4,7
03555  M01S03520.edit    +++|**        PSB - POSITION STRING BUFFER.
03556  M01S03521.edit    +++|*
03557  M01S03522.edit    +++|*         USES   A - 0, 1, 3, 4, 6, 7.
03558  M01S03523.edit    +++|*                B - NONE.
03559  M01S03524.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03560  M01S03525.edit    +++|*
03561  M01S03526.edit    +++|*         CALLS  CIO=.
03562  M01S03527.edit    +++|
03563  M01S03528.edit    +++|
03564  M01S03529.edit    +++| PSB4     BX7    X4
03565  M01S03530.edit    +++|          SX6    A0
03566  M01S03531.edit    +++|          SA7    A4          RESTORE BUFFER POINTERS
03567  M01S03532.edit    +++|          SA6    A7-B1
03568  M01S03533.edit    +++|
03569  M01S03534.edit    +++| PSB      SUBR               ENTRY/EXIT
03570  M01S03535.edit    +++|          SA3    B+5
03571  M01S03536.edit    +++|          ZR     X3,PSBX     IF STRING BUFFER EMPTY
03572  M01S03537.edit    +++|          SA1    B
03573  M01S03538.edit    +++|          LX1    59-4        CHECK FILE POSITION
03574  M01S03539.edit    +++|          SX2    A1
03575  M01S03540.edit    +++|          NG     X1,PSB1     IF POSITIONED AT EOR
03576  M01S03541.edit    +++|          SKIPEI X2
03577  M01S03542.edit    +++| PSB1     BKSPRU X2
03578  M01S03543.edit    +++|          RPHR   X2,R        READ LAST SECTOR
03579  M01S03544.edit    +++|          SA3    X2+2
03580  M01S03545.edit    +++|          SA4    A3+B1       SAVE BUFFER POINTERS
03581  M01S03546.edit    +++|          SA0    X3
03582  M01S03547.edit    +++|          BKSPRU X2,,R       POSITION FILE FOR REWRITE
03583  M01S03548.edit    +++|          SA1    MODE
03584  M01S03549.edit    +++|          NZ     X1,PSB4     IF LINE MODE
03585  M01S03550.edit    +++|          SA1    XTSP
03586  M01S03551.edit    +++|          NG     X1,PSB4     IF PREVIOUS PHRASE AT EOL
03587  M01S03552.edit    +++|          IX6    X4-X3
03588  M01S03553.edit    +++|          SX6    X6+B1
03589  M01S03554.edit    +++|          NZ     X6,PSB2     IF MORE THAN ONE WORD IN BUFFER
03590  M01S03555.edit    +++|          SX7    X1-9
03591  M01S03556.edit    +++|          ZR     X7,PSB1     IF BUFFER CONTAINS EOL ONLY
03592  M01S03557.edit    +++| PSB2     SA3    B+5
03593  M01S03558.edit    +++|          SX7    X3-1        ADJUST LINE COUNT
03594  M01S03559.edit    +++|          SA0    A0-B1
03595  M01S03560.edit    +++|          SA7    A3
03596  M01S03561.edit    +++|          ZR     X1,PSB4     IF NEXT PHRASE ON WORD BOUNDARY
03597  M01S03562.edit    +++|          SA3    A0+
03598  M01S03563.edit    +++|          NZ     X3,PSB3     IF LAST WORD NOT ZERO
03599  M01S03564.edit    +++|          SA0    A0-B1
03600  M01S03565.edit    +++|          SA3    A0
03601  M01S03566.edit    +++| PSB3     SX2    LBUF-1
03602  M01S03567.edit    +++|          BX6    X3
03603  M01S03568.edit    +++|          LX1    24
03604  M01S03569.edit    +++|          SA6    X2          LAST WORD CURRENTLY IN BUFFER
03605  M01S03570.edit    +++|          BX7    X1+X2
03606  M01S03571.edit    +++|          SA7    SLP         FIX POINTER TO LAST WORD
03607  M01S03572.edit    +++|          EQ     PSB4
03608  M01S03573.edit    +++| PSO      SPACE  4,10
03609  M01S03574.edit    +++|**        PSO - PRELIMINARY STRING SEARCH.
03610  M01S03575.edit    +++|*
03611  M01S03576.edit    +++|*         ENTRY  (X3) = POINTER WORD FOR FIRST STRING.
03612  M01S03577.edit    +++|*                (X4) = POINTER WORD FOR SECOND STRING.
03613  M01S03578.edit    +++|*
03614  M01S03579.edit    +++|*         USES   A - 2, 7.
03615  M01S03580.edit    +++|*                B - NONE.
03616  M01S03581.edit    +++|*                X - 0, 2, 6, 7.
03617  M01S03582.edit    +++|*
03618  M01S03583.edit    +++|*         CALLS  CST, AFW, SFS, WTC=.
03619  M01S03584.edit    +++|
03620  M01S03585.edit    +++|
03621  M01S03586.edit    +++| PSO      SUBR               ENTRY/EXIT
03622  M01S03587.edit    +++|          SX0    0
03623  M01S03588.edit    +++|          ZR     X4,PSO1     IF ELLIPSIS SEARCH NOT REQUIRED
03624  M01S03589.edit    +++|          RJ     CST         COUNT ELLIPSI
03625  M01S03590.edit    +++|          SA2    LCT
03626  M01S03591.edit    +++|          RJ     AFW         ADVANCE TO FIRST OCCURRENCE OF /P1/
03627  M01S03592.edit    +++| PSO1     SX6    STPHR1      LOCATE FIRST STRING
03628  M01S03593.edit    +++|          RJ     SFS
03629  M01S03594.edit    +++|          NZ     X7,PSOX     IF PHRASE FOUND
03630  M01S03595.edit    +++|          SA7    EOFTF
03631  M01S03596.edit    +++| PSO2     WRITEC O,NPM
03632  M01S03597.edit    +++|          JP     SET2
03633  M01S03598.edit    +++|
03634  M01S03599.edit    +++|
03635  M01S03600.edit    +++| NPM      DATA   C* PHRASE NOT FOUND.*
03636  M01S03601.edit    +++| RSR      SPACE  4
03637  M01S03602.edit    +++|**        RSR - RESTORE WORKING REGISTERS.
03638  M01S03603.edit    +++|*
03639  M01S03604.edit    +++|*         ENTRY  (SVRA - SVRA+3) = PREVIOUS REGISTER CONTENTS.
03640  M01S03605.edit    +++|
03641  M01S03606.edit    +++|
03642  M01S03607.edit    +++| RSR      SUBR               ENTRY/EXIT
03643  M01S03608.edit    +++|          SA2    SVRA        X6
03644  M01S03609.edit    +++|          BX6    X2
03645  M01S03610.edit    +++|          SA1    A2+B1       X1
03646  M01S03611.edit    +++|          SA2    A1+B1       X0
03647  M01S03612.edit    +++|          BX0    X2
03648  M01S03613.edit    +++|          SA2    A2+B1       X2
03649  M01S03614.edit    +++|          EQ     RSRX
03650  M01S03615.edit    +++| RTF      SPACE  4,7
03651  M01S03616.edit    +++|**        RTF - REPOSITION TEXT FILES (READ ONLY OPERATIONS).
03652  M01S03617.edit    +++|*
03653  M01S03618.edit    +++|*         USES   A - 1, 3, 7.
03654  M01S03619.edit    +++|*                B - 6, 7.
03655  M01S03620.edit    +++|*                X - 0, 1, 2, 3, 4, 5, 7.
03656  M01S03621.edit    +++|*
03657  M01S03622.edit    +++|*         CALLS  CIO=, RDC=.
03658  M01S03623.edit    +++|
03659  M01S03624.edit    +++|
03660  M01S03625.edit    +++| RTF2     SA1    X5+5
03661  M01S03626.edit    +++|          BX0    X1          TEXT FILE LINE ADVANCE
03662  M01S03627.edit    +++|          REWIND X5
03663  M01S03628.edit    +++|          READ   X2
03664  M01S03629.edit    +++| RTF3     READC  X2,LBUF,LBUFL
03665  M01S03630.edit    +++|          SX0    X0-1
03666  M01S03631.edit    +++|          NZ     X0,RTF3     IF ADVANCE INCOMPLETE
03667  M01S03632.edit    +++|          SX7    B6
03668  M01S03633.edit    +++|          BX1    X1-X1
03669  M01S03634.edit    +++|          SA7    LBL
03670  M01S03635.edit    +++|
03671  M01S03636.edit    +++| RTF      SUBR               ENTRY/EXIT
03672  M01S03637.edit    +++|          MX2    -4
03673  M01S03638.edit    +++|          SA1    FBB
03674  M01S03639.edit    +++|          BX4    -X2*X1      ISOLATE ORIGINAL READ FILE BIAS
03675  M01S03640.edit    +++|          SA3    PFADR
03676  M01S03641.edit    +++|          SX2    X4+F        INITIAL READ FILE FET
03677  M01S03642.edit    +++|          BX2    X3-X2
03678  M01S03643.edit    +++|          ZR     X2,RTF2     IF READ FILE IS PRIMARY FILE
03679  M01S03644.edit    +++|          BX2    X5-X3
03680  M01S03645.edit    +++|          NZ     X2,RTF2     IF SCRATCH FILE
03681  M01S03646.edit    +++|          SA3    X5+5
03682  M01S03647.edit    +++|          BX0    X3          SET LINE ADVANCE
03683  M01S03648.edit    +++|          REWIND X5
03684  M01S03649.edit    +++|          READ   X2          REPOSITION PRIMARY FILE
03685  M01S03650.edit    +++| RTF1     READC  X2,LBUF,LBUFL
03686  M01S03651.edit    +++|          SX0    X0-1
03687  M01S03652.edit    +++|          NZ     X0,RTF1     IF NOT REPOSITIONED
03688  M01S03653.edit    +++|          MX2    -4
03689  M01S03654.edit    +++|          SA1    FBB
03690  M01S03655.edit    +++|          BX3    -X2*X1      BIAS FOR ORIGINAL READ FILE
03691  M01S03656.edit    +++|          SX5    X3+F
03692  M01S03657.edit    +++|          EQ     RTF2        REPOSITION SECONDARY FILE
03693  M01S03658.edit    +++| SBT      SPACE  4,12
03694  M01S03659.edit    +++|**        SBT - SET BLANK TERMINATOR.
03695  M01S03660.edit    +++|*
03696  M01S03661.edit    +++|*         ENTRY  (X1) = END OF LINE POINTER WORD.
03697  M01S03662.edit    +++|*
03698  M01S03663.edit    +++|*         EXIT   (X1) = UPDATED END OF LINE POINTER WORD.
03699  M01S03664.edit    +++|*                (X6) = LAST WORD IN LINE.
03700  M01S03665.edit    +++|*                (B6) = NUMBER OF BLANKS ADDED.
03701  M01S03666.edit    +++|*                (LBL) = END OF LINE ADDRESS.
03702  M01S03667.edit    +++|*
03703  M01S03668.edit    +++|*         USES   A - 3, 4, 6, 7.
03704  M01S03669.edit    +++|*                B - 3.
03705  M01S03670.edit    +++|*                X - 1, 3, 4, 6, 7.
03706  M01S03671.edit    +++|
03707  M01S03672.edit    +++|
03708  M01S03673.edit    +++| SBT1     SX7    A6+B1
03709  M01S03674.edit    +++|          SX1    X1+B1       INCREMENT CHARACTER POSITION
03710  M01S03675.edit    +++|          SX3    X1-10
03711  M01S03676.edit    +++|          NZ     X3,SBT2     IF NOT FULL WORD
03712  M01S03677.edit    +++|          SX1    B0
03713  M01S03678.edit    +++|          SX4    X4+B1
03714  M01S03679.edit    +++| SBT2     LX1    24
03715  M01S03680.edit    +++|          BX1    X1+X4       FORM NEW END OF LINE POINTER WORD
03716  M01S03681.edit    +++|          SA7    LBL         SET END OF LINE ADDRESS
03717  M01S03682.edit    +++|
03718  M01S03683.edit    +++| SBT      SUBR               ENTRY/EXIT
03719  M01S03684.edit    +++|          SB6    B0
03720  M01S03685.edit    +++|          NG     X1,SBTX     IF END OF LINE SET
03721  M01S03686.edit    +++|          SB6    B1
03722  M01S03687.edit    +++|          SA4    X1          GET LAST WORD
03723  M01S03688.edit    +++|          AX1    24
03724  M01S03689.edit    +++|          SA3    X1+TCHM     GET MASK
03725  M01S03690.edit    +++|          BX6    X3*X4
03726  M01S03691.edit    +++|          CX7    X3
03727  M01S03692.edit    +++|          SB3    X7-54
03728  M01S03693.edit    +++|          SX3    1R
03729  M01S03694.edit    +++|          AX3    B3,X3       POSITION BLANK CHARACTER
03730  M01S03695.edit    +++|          BX6    X6+X3
03731  M01S03696.edit    +++|          SX3    X1-8
03732  M01S03697.edit    +++|          SA6    A4
03733  M01S03698.edit    +++|          SX4    A4
03734  M01S03699.edit    +++|          NG     X3,SBT1     IF END OF LINE ALREADY SET
03735  M01S03700.edit    +++|          BX6    X6-X6
03736  M01S03701.edit    +++|          SA6    A6+B1       SET END OF LINE
03737  M01S03702.edit    +++|          EQ     SBT1
03738  M01S03703.edit    +++| SFS      SPACE  4,14
03739  M01S03704.edit    +++|**        SFS - SEARCH FILE FOR STRING.
03740  M01S03705.edit    +++|*
03741  M01S03706.edit    +++|*         ENTRY  (X0) = 0  SEARCH BEFORE WRITE/READ.
03742  M01S03707.edit    +++|*                     " 0  WRITE/READ BEFORE SEARCH.
03743  M01S03708.edit    +++|*                (X6) = STRING POINTER ADDRESS.
03744  M01S03709.edit    +++|*
03745  M01S03710.edit    +++|*         EXIT   (X7) " 0  IF STRING FOUND.
03746  M01S03711.edit    +++|*                     = 0  IF EOF.
03747  M01S03712.edit    +++|*
03748  M01S03713.edit    +++|*         USES   A - 0, 2, 4, 6, 7.
03749  M01S03714.edit    +++|*                B - 2, 6, 7.
03750  M01S03715.edit    +++|*                X - 0, 2, 4, 5, 6, 7.
03751  M01S03716.edit    +++|*
03752  M01S03717.edit    +++|*         CALLS  RDC=, SLS, WTC=.
03753  M01S03718.edit    +++|
03754  M01S03719.edit    +++|
03755  M01S03720.edit    +++| SFS      SUBR               ENTRY/EXIT
03756  M01S03721.edit    +++|          ZR     X6,SFS1     IF STRING ADDRESS SET PREVIOUSLY
03757  M01S03722.edit    +++|          SA6    SFSA        SAVE STRING POINTER ADDRESS
03758  M01S03723.edit    +++| SFS1     SB2    X0
03759  M01S03724.edit    +++|          BX0    X0-X0
03760  M01S03725.edit    +++|          ZR     B2,SFS4     IF SEARCH BEFORE WRITE/READ
03761  M01S03726.edit    +++| SFS2     WRITEC A5+,LBUF
03762  M01S03727.edit    +++| SFS3     READC  X5,LBUF,LBUFL
03763  M01S03728.edit    +++|          NZ     X1,SFS5     IF END OF DATA ENCOUNTERED
03764  M01S03729.edit    +++|          SX0    X0+B1
03765  M01S03730.edit    +++|          SA0    B6
03766  M01S03731.edit    +++| SFS4     SA2    SFSA        GET STRING POINTER
03767  M01S03732.edit    +++|          SA2    X2
03768  M01S03733.edit    +++|          RJ     SLS
03769  M01S03734.edit    +++|          NZ     B7,SFS2     IF STRING NOT FOUND
03770  M01S03735.edit    +++|          ZR     X0,SFSX     IF STRING IN ORIGINAL LINE
03771  M01S03736.edit    +++|          SA2    X5+5
03772  M01S03737.edit    +++|          IX6    X2+X0       ADVANCE READ FILE LINE COUNT
03773  M01S03738.edit    +++|          SA6    A2
03774  M01S03739.edit    +++|          BX0    X0-X0
03775  M01S03740.edit    +++|          SX6    A0          SAVE END OF LINE ADDRESS
03776  M01S03741.edit    +++|          SA6    LBL
03777  M01S03742.edit    +++|          EQ     SFSX        RETURN
03778  M01S03743.edit    +++|
03779  M01S03744.edit    +++| SFS5     SX0    0
03780  M01S03745.edit    +++|          SA4    PFADR
03781  M01S03746.edit    +++|          BX7    X4-X5
03782  M01S03747.edit    +++|          BX5    X4
03783  M01S03748.edit    +++|          SA1    FBB         TEXT FILE BECOMES NEW READ FILE
03784  M01S03749.edit    +++|          MX2    56
03785  M01S03750.edit    +++|          BX1    X2*X1
03786  M01S03751.edit    +++|          SX2    X5-F        READ FILE BIAS
03787  M01S03752.edit    +++|          BX6    X1+X2
03788  M01S03753.edit    +++|          SA6    A1          UPDATE WRITE/READ FILE BIAS
03789  M01S03754.edit    +++|          NZ     X7,SFS3     IF NOT READING PRIMARY TEXT FILE
03790  M01S03755.edit    +++|          SA7    EOFTF
03791  M01S03756.edit    +++|          EQ     SFSX        RETURN
03792  M01S03757.edit    +++|
03793  M01S03758.edit    +++| SFSA     CON    0           STRING POINTER ADDRESS
03794  M01S03759.edit    +++| SLS      SPACE  4,18
03795  M01S03760.edit    +++|**        SLS - SEARCH LINE FOR STRING.
03796  M01S03761.edit    +++|*
03797  M01S03762.edit    +++|*         ENTRY  (X1) = 0 BEGIN SEARCH AT ADDRESS IN *LBA*.
03798  M01S03763.edit    +++|*                (X1) .NE. 0 BEGIN SEARCH AT POINTER IN *LBW*.
03799  M01S03764.edit    +++|*                (X2) = STRING LENGTH AND ADDRESS.
03800  M01S03765.edit    +++|*
03801  M01S03766.edit    +++|*         EXIT   (B7) = 0 IF STRING FOUND.
03802  M01S03767.edit    +++|*                (X7) - LBW.
03803  M01S03768.edit    +++|*                (X6) - FBW.
03804  M01S03769.edit    +++|*                (A6) - ADDRESS OF FBW.
03805  M01S03770.edit    +++|*                (A7) - ADDRESS OF LBW.
03806  M01S03771.edit    +++|*T, FBW   36/  N1,24/  A1
Figure FBW

0232429 A1 N13059 N1

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

0232429 A2 N23059 N2

03808  M01S03773.edit    +++|*
03809  M01S03774.edit    +++|*         N1 = POSITION OF LEADING CHARACTER IN STRING, .LE. 9.
03810  M01S03775.edit    +++|*         A1 = ADDRESS OF WORD CONTAINING *N1*.
03811  M01S03776.edit    +++|*         N2 = POSITION + 1 OF LAST CHARACTER IN STRING, .LE. 9.
03812  M01S03777.edit    +++|*         A2 = ADDRESS OF WORD CONTAINING *N2*.
03813  M01S03778.edit    +++|*
03814  M01S03779.edit    +++|*         USES   A - 1, 2, 3, 4, 6, 7.
03815  M01S03780.edit    +++|*                B - 2, 3, 4, 5, 6, 7.
03816  M01S03781.edit    +++|*                X - 1, 2, 3, 4, 6, 7.
03817  M01S03782.edit    +++|
03818  M01S03783.edit    +++|
03819  M01S03784.edit    +++| SLS10    SX6    B5-B1
03820  M01S03785.edit    +++|          LX6    24
03821  M01S03786.edit    +++|          SX1    A1          LINE ADDRESS OF BEGINNING OF STRING
03822  M01S03787.edit    +++|          SX7    B2
03823  M01S03788.edit    +++|          BX6    X1+X6
03824  M01S03789.edit    +++|          SX4    A3          FORM POINTER TO END OF STRING
03825  M01S03790.edit    +++|          SA6    FBW
03826  M01S03791.edit    +++|          LX7    24
03827  M01S03792.edit    +++|          SB4    B6-B2
03828  M01S03793.edit    +++|          SA2    TCHM+B4     SET MASK
03829  M01S03794.edit    +++|          IX7    X7+X4
03830  M01S03795.edit    +++|          BX3    X2*X3
03831  M01S03796.edit    +++|          NZ     X3,SLS12    IF NOT END OF LINE
03832  M01S03797.edit    +++|          NG     X3,SLS12    IF WORD OF SEMI-COLONS
03833  M01S03798.edit    +++|          NE     B4,B1,SLS11 IF END OF LINE
03834  M01S03799.edit    +++|          SA3    A3+1        NEXT WORD IN LINE
03835  M01S03800.edit    +++|          NZ     X3,SLS12    IF NOT ZERO WORD
03836  M01S03801.edit    +++|          NG     X3,SLS12    IF NOT END OF LINE
03837  M01S03802.edit    +++| SLS11    MX1    1
03838  M01S03803.edit    +++|          BX7    X1+X7
03839  M01S03804.edit    +++| SLS12    SB7    B0+
03840  M01S03805.edit    +++|          SA7    LBW
03841  M01S03806.edit    +++|
03842  M01S03807.edit    +++| SLS      SUBR               ENTRY/EXIT
03843  M01S03808.edit    +++|          ZR     X1,SLS1     IF SEARCH BEGINS AT START OF LINE
03844  M01S03809.edit    +++|          SX1    LBW-LBA
03845  M01S03810.edit    +++| SLS1     SA4    X2          FIRST STRING CHARACTER
03846  M01S03811.edit    +++|          AX2    24
03847  M01S03812.edit    +++|          SA3    X1+LBA      BEGINNING SEARCH ADDRESS
03848  M01S03813.edit    +++|          SB7    X2
03849  M01S03814.edit    +++|          NG     X3,SLSX     IF POINTER MARKED END OF LINE
03850  M01S03815.edit    +++|          BX6    X1          ZERO INDICATES NO PREVIOUS WORD
03851  M01S03816.edit    +++|          SA1    X3
03852  M01S03817.edit    +++|          SB6    10
03853  M01S03818.edit    +++|          AX3    24
03854  M01S03819.edit    +++|          SB5    X3          POSITION OF ELEMENT IN WORD (0-9)
03855  M01S03820.edit    +++|          LX2    B1,X3
03856  M01S03821.edit    +++|          LX3    2           FORM SHIFT COUNT
03857  M01S03822.edit    +++|          IX2    X3+X2       CHARACTER POSITION * 6
03858  M01S03823.edit    +++|          SB4    X2          SHIFT COUNT FOR FIRST WORD
03859  M01S03824.edit    +++|          LX1    B4,X1       POSITION FIRST CHARACTER
03860  M01S03825.edit    +++|          BX7    -X4         COMPLEMENT OF FIRST STRING CHARACTER
03861  M01S03826.edit    +++|          MX4    -6
03862  M01S03827.edit    +++|          EQ     SLS3
03863  M01S03828.edit    +++|
03864  M01S03829.edit    +++| SLS2     MX3    -12
03865  M01S03830.edit    +++|          BX2    -X3*X1      CHECK END OF LINE BYTE
03866  M01S03831.edit    +++|          SB5    B0+
03867  M01S03832.edit    +++|          ZR     X2,SLSX     IF END OF LINE
03868  M01S03833.edit    +++|          BX6    X1          SAVE PREVIOUS WORD (FOR ASCII)
03869  M01S03834.edit    +++|          SA1    A1+B1
03870  M01S03835.edit    +++|
03871  M01S03836.edit    +++|*         LOOP TO LOCATE FIRST STRING CHARACTER IN LINE.
03872  M01S03837.edit    +++|
03873  M01S03838.edit    +++| SLS3     EQ     B5,B6,SLS2  IF LAST CHARACTER IN WORD
03874  M01S03839.edit    +++|          LX1    6
03875  M01S03840.edit    +++|          SB5    B5+B1
03876  M01S03841.edit    +++|          BX2    -X4*X1      ISOLATE CHARACTER
03877  M01S03842.edit    +++|          IX3    X2+X7
03878  M01S03843.edit    +++|          NZ     X3,SLS3     IF NO MATCH
03879  M01S03844.edit    +++|          NZ     X2,SLS5     IF SEARCH CHARACTER NOT A *00*
03880  M01S03845.edit    +++|          NE     B5,B6,SLS4  IF COLON NOT AT END OF WORD
03881  M01S03846.edit    +++|          SA2    A1+1        GET NEXT SEARCH WORD
03882  M01S03847.edit    +++|          NZ     X2,SLS5     IF NOT ZERO WORD
03883  M01S03848.edit    +++|          PL     X2,SLSX     IF END OF LINE
03884  M01S03849.edit    +++|          EQ     SLS5
03885  M01S03850.edit    +++|
03886  M01S03851.edit    +++| SLS4     SX2    B6-B5
03887  M01S03852.edit    +++|          SA2    X2+TCHM     GET MASK
03888  M01S03853.edit    +++|          BX2    X2*X1       INITIALIZE REMAINING CHARACTERS
03889  M01S03854.edit    +++|          ZR     X2,SLSX     IF END OF LINE
03890  M01S03855.edit    +++|
03891  M01S03856.edit    +++|*         CODE TO CHECK PREVIOUS CHARACTER FOR ASCII ESCAPE
03892  M01S03857.edit    +++|*         CHARACTER EXECUTED ONLY IF IN ASCII MODE.
03893  M01S03858.edit    +++|
03894  M01S03859.edit    +++| SLSA     BSS    0
03895  M01S03860.edit    +++| SLS5     EQ     SLS7
03896  M01S03861.edit    +++|*         EQ     B5,B1,SLS6  (ASCII MODE)
03897  M01S03862.edit    +++|*         BX6    X1          (ASCII MODE)
03898  M01S03863.edit    +++|*         LX6    54          (ASCII MODE)
03899  M01S03864.edit    +++| SLS6     ZR     X6,SLS7     IF NO PREVIOUS WORD
03900  M01S03865.edit    +++|          BX2    -X4*X6      ISOLATE PREVIOUS CHARACTER
03901  M01S03866.edit    +++|          SX3    X2-76B
03902  M01S03867.edit    +++|          ZR     X3,SLS3     IF 76B ESCAPE CODE
03903  M01S03868.edit    +++|          SX3    X2-74B
03904  M01S03869.edit    +++|          ZR     X3,SLS3     IF 74B ESCAPE CODE
03905  M01S03870.edit    +++| SLS7     SB3    B0
03906  M01S03871.edit    +++|          SA2    A4
03907  M01S03872.edit    +++|          SA3    A1
03908  M01S03873.edit    +++|          SB2    B5
03909  M01S03874.edit    +++|          BX3    X1
03910  M01S03875.edit    +++|          EQ     B2,B6,SLS9  IF CHARACTER LAST IN WORD
03911  M01S03876.edit    +++|
03912  M01S03877.edit    +++|*         LOOP CHECKING REMAINDER OF PHRASE.
03913  M01S03878.edit    +++|
03914  M01S03879.edit    +++| SLS8     SB3    B3+B1       COUNT CHARACTERS FOUND
03915  M01S03880.edit    +++|          EQ     B3,B7,SLS10 IF SEACH COMPLETE
03916  M01S03881.edit    +++|          LX3    6
03917  M01S03882.edit    +++|          SA2    A2+B1       NEXT STRING ELEMENT
03918  M01S03883.edit    +++|          BX6    -X4*X3
03919  M01S03884.edit    +++|          SB2    B2+B1       ADVANCE CHARACTER POINTER
03920  M01S03885.edit    +++|          BX6    X6-X2
03921  M01S03886.edit    +++|          NZ     X6,SLS3     IF NO MATCH
03922  M01S03887.edit    +++|          EQ     B2,B6,SLS9  IF AT END OF WORD
03923  M01S03888.edit    +++|          NZ     X2,SLS8     IF SEARCH CHARACTER NOT A *00*
03924  M01S03889.edit    +++|          SB4    A2
03925  M01S03890.edit    +++|          SX2    B6-B2
03926  M01S03891.edit    +++|          SA2    X2+TCHM     GET MASK
03927  M01S03892.edit    +++|          BX2    X2*X3       INITIALIZE REMAINING CHARACTERS
03928  M01S03893.edit    +++|          ZR     X2,SLSX     IF END OF LINE
03929  M01S03894.edit    +++|          SA2    B4+
03930  M01S03895.edit    +++|          EQ     SLS8
03931  M01S03896.edit    +++|
03932  M01S03897.edit    +++| SLS9     SB2    B0
03933  M01S03898.edit    +++|          SA3    A3+B1
03934  M01S03899.edit    +++|          NZ     X2,SLS8     IF SEARCH CHARACTER NOT A *00*
03935  M01S03900.edit    +++|          NZ     X3,SLS8     IF NOT ZERO WORD
03936  M01S03901.edit    +++|          PL     X3,SLSX     IF END OF LINE
03937  M01S03902.edit    +++|          EQ     SLS8
03938  M01S03903.edit    +++|
03939  M01S03904.edit    +++|*         ASCII MODE CODE REPLACES SLSA.
03940  M01S03905.edit    +++|
03941  M01S03906.edit    +++| SLSB     EQ     B5,B1,SLS6  IF FIRST CHARACTER IN WORD
03942  M01S03907.edit    +++|          BX6    X1
03943  M01S03908.edit    +++|          LX6    54          POSITION CURRENT CHARACTER
03944  M01S03909.edit    +++| TCHM     SPACE  4
03945  M01S03910.edit    +++|**        TCHM - TABLE OF CHARACTER MASKS.
03946  M01S03911.edit    +++|
03947  M01S03912.edit    +++|
03948  M01S03913.edit    +++| TCHM     BSS    0
03949  M01S03914.edit    +++|          DATA   0
03950  M01S03915.edit    +++|          DATA   77000000000000000000B
03951  M01S03916.edit    +++|          DATA   77770000000000000000B
03952  M01S03917.edit    +++|          DATA   77777700000000000000B
03953  M01S03918.edit    +++|          DATA   77777777000000000000B
03954  M01S03919.edit    +++|          DATA   77777777770000000000B
03955  M01S03920.edit    +++|          DATA   77777777777700000000B
03956  M01S03921.edit    +++|          DATA   77777777777777000000B
03957  M01S03922.edit    +++|          DATA   77777777777777770000B
03958  M01S03923.edit    +++|          DATA   77777777777777777700B
03959  M01S03924.edit    +++|          DATA   77777777777777777777B
03960  M01S03925.edit    +++| SLT      SPACE  4,9
03961  M01S03926.edit    +++|**        SLT - SET LINE TERMINATOR.
03962  M01S03927.edit    +++|*
03963  M01S03928.edit    +++|*         ENTRY  (X1) = END OF LINE POINTER WORD.
03964  M01S03929.edit    +++|*
03965  M01S03930.edit    +++|*         EXIT   (X6) = LAST WORD IN LINE.
03966  M01S03931.edit    +++|*                (B6) = NUMBER OF BLANKS ADDED OR REMOVED (NEGATIVE).
03967  M01S03932.edit    +++|*
03968  M01S03933.edit    +++|*         USES   A - 3, 4, 6, 7.
03969  M01S03934.edit    +++|*                B - 2, 3.
03970  M01S03935.edit    +++|*                X - 1, 3, 4, 6, 7.
03971  M01S03936.edit    +++|
03972  M01S03937.edit    +++|
03973  M01S03938.edit    +++| SLT3     SX7    B2+B1       SET END OF LINE ADDRESS
03974  M01S03939.edit    +++|          SA6    B2
03975  M01S03940.edit    +++|          SA7    LBL
03976  M01S03941.edit    +++|
03977  M01S03942.edit    +++| SLT      SUBR               ENTRY/EXIT
03978  M01S03943.edit    +++|          NG     X1,SLTX     IF END OF LINE SET
03979  M01S03944.edit    +++|          RJ     BLK         CHECK FOR COLON AT END OF LINE
03980  M01S03945.edit    +++|          SA4    X1
03981  M01S03946.edit    +++|          AX1    24
03982  M01S03947.edit    +++|          SB2    A4          SET LWA
03983  M01S03948.edit    +++|          SA3    X1+TCHM
03984  M01S03949.edit    +++|          LX1    59-0
03985  M01S03950.edit    +++|          BX6    X3*X4
03986  M01S03951.edit    +++|          PL     X1,SLT3     IF EOL ON BYTE BOUNDARY
03987  M01S03952.edit    +++|          CX7    X3
03988  M01S03953.edit    +++|          SX1    1R *100B
03989  M01S03954.edit    +++|          SB3    X7-54
03990  M01S03955.edit    +++|          AX4    B3,X1       POSITION BLANK CHARACTER
03991  M01S03956.edit    +++|          BX7    X6-X4
03992  M01S03957.edit    +++|          SA3    A3-B1       CHECK FOR ODD CHARACTER BLANK
03993  M01S03958.edit    +++|          BX1    -X3*X7
03994  M01S03959.edit    +++|          NZ     X1,SLT2     IF NOT BLANK
03995  M01S03960.edit    +++|          NZ     X3,SLT1     IF PRECEDING CHARACTER IN SAME WORD
03996  M01S03961.edit    +++|          SA1    B2-B1
03997  M01S03962.edit    +++|          BX7    X1
03998  M01S03963.edit    +++|          SA3    TCHM+10
03999  M01S03964.edit    +++| SLT1     SA3    A3-B1       CHECK PRECEDING CHARACTER FOR *00*
04000  M01S03965.edit    +++|          BX1    -X3*X7
Proceed to Part 2
cdc/nos2.source/opl.opl871/deck/edit.001.txt ยท Last modified: by 127.0.0.1