EDITEX7

(George Source)

Macros used: ACROSS, ALTLEN, BXE, BXGE, BXL, BXU, EDCOM, GEOERR, MENDAREA, MHUNTW, PHOTO, SEGENTRY, TESTMOVE, UP, UPPLUS

EDITEX7.txt
22FL    #LIS  K0EDITEX>K0ALLGEO>0   
22^=    #SEG  EDITEX7                      [DICK RUSBRIDGE  
23DW          8HEDITEX  
23YG    #   
24D6    #              ENTRY POINT TABLE
24XQ    #   
25CB     SEGENTRY K1EDITEX,N1EDITEX 
25X2     SEGENTRY K2EDITEX,N2EDITEX 
26BL     SEGENTRY K3EDITEX,OH   
26W=     SEGENTRY K4EDITEX,N4EDITEX 
27*W     SEGENTRY K5EDITEX,N5EDITEX 
27TG     SEGENTRY K7EDITEX,N7EDITEX 
28*6    OH    GEOERR   1,EDITEX 
28SQ    #   
29#B    #     QFIT IS THE CHARACTER COMPARE ROUTINE 
29S2    #     ENTERED WITH X1,X3 POINTERS TO THE START OF THE STRINGS   
2=?L    #     X4 NO OF CHARACTERS TO COMPARE
2=R=    #     STRINGS FIT IF X4 IS ZERO ON EXIT 
2?=W    #   
2?QG    QFIT  BZE   4  QFT3                [J IF NULL STRING
2#=6    QFT1  LDCH  7  0(1) 
2#PQ          LDCH  6  0(3)                [LOAD CHARACTERS 
2*9B          BXE   7  IEDS(2),QFT2        [J IF DUMMY SYMBOL   
2*P2          BXU   7  6,QFT3              [J IF MISS   
2B8L    QFT2  BCHX  1  £                   [INCREMENT POINTERS  
2BN=          BCHX  3  £
2C7W          BCT   4  QFT1                [LOOP
2CMG    QFT3  EXIT  0  0                   [EXIT
2D76    #   
2DLQ    #   
2F6B    RLOF  LDX   5  IEOM(2)             [RELOCATE OLD FILE BLOCK 
2FB8          LDX   3  IEOA(2)  
2FL2          TESTMOVE 5,RLO1   
2G5L          MHUNTW   3,EDIT,FRB   
2GK=          PHOTO    5
2H4W          STO   3  IEOA(2)  
2HJG          STO   5  IEOM(2)  
2J46    RLO1  EXIT  6  0
2JHQ    #   
2K3B    #   
2KH2    SPACE          #20  
2L2L    #   
2LG=    RLNF  LDX   5  IENM(2)             [RELOCATE NEW FILE BLOCK 
2LQ4          LDX   3  IENA(2)  
2L^W          TESTMOVE 5,RLN1   
2MFG          MHUNTW   3,FILE,FAPB  
2M^6          PHOTO    5
2NDQ          STO   3  IENA(2)  
2NYB          STO   5  IENM(2)  
2PD2    RLN1  EXIT  6  0
2PXL    #   
2QC=    #   
2QWW    RLIF  LDX   5  IEIM(2)             [RELOCATE INSTRUCTION BLOCK  
2R6N          LDX   3  IEIA(2)  
2RBG          TESTMOVE 5,RLI1   
2RW6          MHUNTW   3,FILE,FRB   
2S*Q          PHOTO    5
2STB          STO   3  IEIA(2)  
2T*2          STO   5  IEIM(2)  
2TSL    RLI1  EXIT  6  0
2W#=    #   
2WRW    #   
2X?G    #     CHARACTER MOVE ROUTINE
2XR6    #   
2Y=Q    MVCH  BZE   3  MVC1 
2YQB          MVCH  6  0(3) 
2^=2          SBN   3  1
2^PL          SRL   3  9
329=          SLL   3  9
32NW          BRN      MVCH 
338G    MVC1  EXIT  0  0
33N6    #   
347Q    #     SIZE CHECKS ON THE SIZE OF THE FAPB (AS ROUTINE IN EDITPT)
34MB    #   
3572    SIZE  SBX   0  FX1  
35LL          STO   0  AWORK1(2)           [SAVE LINK   
366=          CALL  6  RLNF 
36KW          LDX   3  IENA(2)             [ADDRESS OF FAPB 
375G          LDX   5  ALOGLEN(3)          [LENGTH OF BLOCK 
37K6          LDX   6  4
384Q          ADN   6  20   
38JB          SRL   6  2                   [LENGTH REQUIRED 
3942          BXGE  5  6,SIZE1             [J IF BLOCK BIG ENOUGH   
39HL    SIZE0 ALTLEN   3,6                 [ADJUST SIZE 
3=3=          MHUNTW   3,FILE,FAPB          [FIND BLOCK 
3=GW          STO   3  IENA(2)             [STORE ADDRESS   
3?2G          PHOTO    5                   [GET NEW PHOTO   
3?G6          STO   5  IENM(2)             [AND STORE   
3?PY          CALL  6  RLIF 
3?^Q          CALL  6  RLOF 
3#FB    SIZEX LDX   0  AWORK1(2)           [GET LINK
3#^2          ADX   0  FX1  
3*DL          EXIT  0  0
3*Y=    SIZE1 SLL   6  1
3BCW          BXGE  6  5,SIZEX             [J IF FAPB NOT MASSIVE   
3BXG          SRL   6  1
3CC6          SBN   5  33   
3CWQ          BNG   5  SIZEX               [NOT WORTH ALTERING  
3DBB          LDX   0  6
3DW2          SBN   0  32                  [ELSE ADJUST LENGTH TO   
3F*L          BPZ   0  SIZE0               [THE GREATER OF 32 AND   
3FT=          LDN   6  32                  [THE REQUIRED LENGTH 
3G#W          BRN      SIZE0
3GSG    #   
3H#6    #     SFST IS THE ROUTINE WHICH SEARCHES FORWARD FOR A CHARACTER
3HRQ    #     STRING. IT SHOULD BE CALLED WITH  
3J?B    #     X4 = LENGTH OF STRING 
3JR2    #     X3 = CHARACTER NO WHERE SEARCH IS TO START
3K=L    #     X1 = PTR TO STRING IN EDITING FILE
3KQ=    #   
3L9W    #     EXIT     CALL+2  FOUND :- CHAR NO IN X7   
3LPG    #     EXIT     CALL+1  NOT FOUND :- X7 = IEOH   
3M96    #   
3MNQ    SFST  STO   6  ACOM6(2) 
3N8B          LDX   5  ACOM7(2) 
3NN2          SBX   5  3
3P7L          SBX   5  4
3PM=          BNG   5  SFT3                [J IF SEARCH IMPOSSIBLE  
3Q6W          ADN   5  1                   [NO OF PERMS 
3QLG          STO   4  AWORK2(2)           [NO OF CHARS IN STRING   
3R66          SRC   3  2
3RKQ          ADX   1  IEIA(2)  
3S5B          ADX   3  IEOA(2)             [WORK OUT MODIFIERS  
3T4L          ADX   3  IEOG(2)  
3WHG          STO   1  AWORK3(2)
3X36          STO   3  AWORK4(2)
3X3S ...#UNS  EDCHAR
3X4G ...(   
3X58 ...      LDX   4  AWORK1(2)
3X5W ...      BNG   4  SFT2                [J IF FOR A,B,R  
3X6J ...      LDCT  4  #040 
3X7= ...      SMO      AWORK1(2)
3X7Y ...      ANDX  4  4(2)                [TEST FOR .S 
3X8L ...      BZE   4  SFT2                [J IF NOT
3X9# ...SFT5
3X=2 ...      LDX   3  AWORK4(2)           [CURRENT POSN IN LINE
3X=N ...      LDX   1  FX1  
3X?B ...SFT6
3X#4 ...      LDCH  6  0(3) 
3X#Q ...      BXU   6  SPACE(1),SFT4       [G IF .S CHAR
3X*D ...      BCHX  3  £
3XB6 ...      STO   3  AWORK4(2)
3XBS ...      BCT   5  SFT6                [LOOP ON LINE LENGTH 
3XCG ...      BRN      SFT3                [NO CAN FIND 
3XD8 ...)   
3XDW ...#UNS  EDCHAR
3XFJ ...#SKI
3XGQ          BRN      SFT2 
3Y2B    SFT1  LDX   3  AWORK4(2)
3YG2          LDX   1  AWORK3(2)
3Y^L          BCHX  3  £
3^F=          STO   3  AWORK4(2)
3^YW    SFT2  LDX   4  AWORK2(2)
42DG          CALL  0  QFIT 
42Y6          BZE   4  SFT4                [J IF FIT
43CQ          BCT   5  SFT1                [TRY AGAIN   
43XB    SFT3  LDX   7  ACOM7(2)            [SET X7 TO END OF SEARCH AREA
44C2          LDX   6  ACOM6(2) 
44WL          EXIT  6  0                   [EXIT NOT FOUND  
45B=    SFT4  LDX   7  AWORK4(2)
45TW          SBX   7  IEOA(2)             [SET X7 TO POINT TO  
46T6          SBX   7  IEOG(2)             [FIRST CHARACTER IN  
48#2          SLC   7  2                   [THE STRING  
48RL          LDX   6  ACOM6(2) 
49?=          EXIT  6  1                   [EXIT FOUND  
49QW    #   
4==G    #     TSFS IS THE ROUTINE WHICH SEARCHES BACKWARDS FOR A
4=Q6    #     CHARACTER STRING  
4?9Q    #     PARAMETERS AS FOR SFST
4?PB    #   
4#92    TSFS  STO   6  ACOM6(2) 
4#NL          LDX   5  3
4*8=          SBX   5  4
4*MW          BNG   5  TSF3                [J IF SEARCH IMPOSSIBLE  
4B7G          ADN   5  1                    [NO. OF PERMS   
4BM6          STO   4  AWORK2(2)           [NO OF CHARS IN STRING   
4C6Q          SBX   3  4
4CLB          SRC   3  2
4D62          ADX   1  IEIA(2)             [WORK OUT MODIFIERS  
4DKL          ADX   3  IEOA(2)  
4FJW          ADX   3  IEOG(2)  
4H3Q          STO   1  AWORK3(2)
4HHB          STO   3  AWORK4(2)
4HJ3 ...#UNS  EDCHAR
4HJN ...(   
4HK* ...      LDCT  4  #040 
4HL2 ...      SMO      AWORK1(2)
4HLM ...      ANDX  4  4(2)                [TEST FOR .S 
4HM# ...      BZE   4  TSF2                [J IF NOT
4HM^ ...TSF5
4HNL ...      STOZ     AWORK2(2)           [SAVES STEPPING X3 WHEN CHAR FOUND   
4HP? ...      LDX   3  AWORK4(2)           [CURRENT POSN IN LINE
4HPY ...      LDX   1  FX1  
4HQK ...TSF6
4HR= ...      LDCH  6  0(3) 
4HRX ...      BXU   6  SPACE(1),TSF4       [G IF .S CHAR
4HSJ ...      SLC   3  2
4HT9 ...      SBN   3  1
4HTW ...      SRC   3  2                   [BACK  BCHX  
4HWH ...      STO   3  AWORK4(2)
4HX8 ...      BCT   5  TSF6                [LOOP ON LINE LENGTH 
4HXT ...      BRN      TSF3                [NO CAN FIND 
4HYG ...)   
4H^7 ...#UNS  EDCHAR
4H^S ...#SKI
4J32          BRN      TSF2 
4JGL    TSF1  LDX   3  AWORK4(2)
4K2=          SLC   3  2
4KFW          SBN   3  1
4K^G          SRC   3  2                   [BACKWARDS BCHX  
4LF6          LDX   1  AWORK3(2)
4LYQ          STO   3  AWORK4(2)
4MDB    TSF2  LDX   4  AWORK2(2)
4MY2          CALL  0  QFIT                [CHECK   
4NCL          BZE   4  TSF4                [J IF FIT
4NX=          BCT   5  TSF1                [TRY AGAIN   
4PBW    TSF3  LDN   7  0                   [SET X7 TO START OF RECORD   
4PWG          LDX   6  ACOM6(2) 
4QB6          EXIT  6  0                   [EXIT NOT FOUND  
4R*B    TSF4  SBX   3  IEOG(2)  
4SS=          SBX   3  IEOA(2)             [SET X7 TO POINT TO  
4T?W          SLC   3  2                   [FIRST CHARACTER OF STRING   
4TRG          SBX   3  AWORK2(2)
4W?6          LDX   7  3
4WQQ          LDX   6  ACOM6(2) 
4X=B          EXIT  6  1                   [EXIT FOUND  
4XQ2    #   
4Y9L    #     K1EDITEX IS THE ROUTINE WHICH CHECKS THE CURRENT  
4YP=    #     RECORD BY CONTEXT 
4^8W    #   
4^NG    N1EDITEX
5286          STO   6  AWORK3(2)
52MQ          CALL  6  RLIF                [RELOCATE BLOCKS 
537B          CALL  6  RLOF 
53M2 ...      LDX   7  IEOC(2)             [SET START EQUAL TO IEOC 
546L ...      LDX   6  IEOH(2)                   [SET STOP EQUAL TO IEOH
54L= ...      STO   6  AWORK2(2)
555W ...      STO   7  AWORK1(2)            [SEE IF START = 0   
5#D=          BZE   7  SBC12               [J IF SO 
5#XW    SBC11 UP                           [ELSE NOT FOUND  
5*CG    SBC12 SMO      AWORK3(2)
5*X6          LDX   7  1(2)                [GET INDICATOR   
5BBQ          LDX   5  7
5BWB          ANDX  5  BSB18               [GET CHAR COUNT  
5CB2          LDX   4  5
5CTL          NGX   5  5
5D*=          ADX   5  AWORK2(2)           [CHECK IF ROOM FOR SEARCH
5DHX ...      LDCT  6  #100 
5DL6 ...      ANDX  6  7
5DN* ...      BNZ   6  NAYG                [J IF 'G' INSTRUCTION
5DSW          BNG   5  SBC11               [J IF NOT
5F#G ...NAYG  ADN   5  1                   [NO OF PERMS FOR CONTAINS
5FS6          SLC   7  1
5G?Q          BNG   7  SBC30               [J TO IGNORE LEADING SPACES  
5GRB          SRC   7  1
5H?2          BNG   7  SBC20               [J FOR CONTAINS  
5HQL          SMO      AWORK3(2)
5J==          LDX   1  2(2) 
5JPW          LDX   3  IEOA(2)             [SET UP POINTERS 
5K9G          ADX   1  IEIA(2)  
5MML          ADX   3  IEOG(2)  
5N7=          SLC   7  2
5NLW          BPZ   7  NOTG 
5P6G          LDN   3  IESD(2)  
5PL6    NOTG
5QKB          CALL  0  QFIT                [DO CHECK
5R52          BNZ   4  SBC11               [NOT FOUND   
5RJL    SBC13 UPPLUS 1                     [FOUND   
5S4=    SBC20 SMO      AWORK3(2)
5SHW          LDX   1  2(2) 
5T3G          LDX   3  IEOA(2)             [GET POINTERS
5TH6          ADX   1  IEIA(2)  
5WGB          ADX   3  IEOG(2)  
5X^=          STO   1  ACOM7(2)            [STORE TEMPORARILY   
5YDW          STO   3  ACOM8(2) 
5YYG          STO   4  AWORK4(2)
5^D6          BRN      SBC22               [J TO COMPARE
5^XQ    SBC21 LDX   3  ACOM8(2) 
62CB          LDX   1  ACOM7(2) 
62X2          BCHX  3  £                   [STEP PTR FOR NEXT SEARCH
63BL          STO   3  ACOM8(2) 
63W=    SBC22 LDX   4  AWORK4(2)
64*W          CALL  0  QFIT                [COMPARE 
64TG          BZE   4  SBC13               [J IF FOUND  
65*6          BCT   5  SBC21               [TRY AGAIN   
65SQ          BRN      SBC11               [NOT FOUND   
66#B    SBC30 BZE   4  SBC13               [J IF NULL STRING
66S2          SMO      AWORK3(2)
67?L          LDX   1  2(2) 
67R=          LDX   3  IEOA(2)  
68=W          ADX   1  IEIA(2)  
68QG          LDX   5  AWORK2(2)
69PQ          ADX   3  IEOG(2)  
6=9B ...      STOZ     6
6?8L    SBC31 LDCH  7  0(3)                [GET O/F CHAR
6?N=          SMO      FX1  
6#7W          BXU   7  SPACE,SBC32         [J IF NOT A SPACE
6#MG          BCHX  3  £                   [UPDATE PTR  
6#X# ...      ADN   6  1                   [INCREMENT NO. OF LEADING SPACES 
6*76          BCT   5  SBC31               [REDUCE NO OF PERMS  
6*LQ          BRN      SBC11               [NOT FOUND IF O/F ALL SPACES 
6*Q9 ...SBC32 SMO      AWORK3(2)
6*TN ...      LDX   5  1(2) 
6*^7 ...      ANDX  5  BSB18               [GET NO. OF CHARS. IN TERM.  
6B4L ...      NGX   5  5
6B85 ...      ADX  5  AWORK2(2)           [CHECK IF ROOM FOR SEARCH 
6B?J ...      SBX   5  6                   [IGNORING LEADING SPACES 
6BC3 ...      BNG   5  SBC11               [J IF NOT
6BGG ...      STO   1  ACOM7(2)            [POINTS TO <STRING> IN TERM. 
6BL2          STO   3  ACOM8(2) 
6C5L          STO   4  AWORK4(2)
6CK=          LDN   5  1
6D4W          BRN      SBC22
6DJG    #   
6F46    #     K2EDITEX IS THE ROUTINE WHICH EVALUATES CHARACTER BY CONTEXT  
6FHQ    #   
6G3B    N2EDITEX
6GH2          STO   6  AWORK1(2)           [SAVE DATA PTR   
6H2L          CALL  6  RLOF 
6HG=          CALL  6  RLIF 
6H^W          SMO      AWORK1(2)
6JFG          LDX   4  4(2)                [GET INDICATOR   
6JJL ...#UNS  EDCHAR
6JMQ ...      LDCT  6  #100 
6JQW ...#UNS  EDCHAR
6JW2 ...#SKI
6J^6          LDCT  6  #177 
6KDQ          ANDX  6  4
6KYB          BZE   6  PT1                 [J NOT .E
6LD2          LDX   7  IEOH(2)  
6LXL          BRN      PT4  
6MC=    PT1   LDX   3  IEOC(2)  
6MWW    PT3   SMO      AWORK1(2)
6NBG          LDX   1  4(2)                [GET PTR TO STRING   
6NW6          SMO      AWORK1(2)
6P*Q          LDX   4  3(2) 
6PTB          BNG   4  PT5                 [J IF BACKWARDS  
6Q*2          LDX   7  IEOH(2)  
6QSL          STO   7  ACOM7(2) 
6R#=          CALL  6  SFST 
6RRW          BRN      PT6                 [J IF NOT FOUND  
6S?G    PT4   SMO      AWORK1(2)
6SR6          STO   7  3(2)                [STORE CHAR NO IN
6T=Q          SMO      AWORK1(2)           [APPROPRIATE DATA AREA   
6TQB          STOZ     4(2) 
6W=2    PTUP  UP
6WPL    PT5   NGX   4  4
6X9=          CALL  6  TSFS 
6XNW          BRN      PT6                 [J IF NOT FOUND  
6Y8G          BRN      PT4                 [J IF FOUND  
6YN6    PT6   LDN   5  IEWT                [J IF CONDITIONAL
6^7Q          BXU   5  AWORK1(2),PT4       [REPETITION CHECK
6^MB          LDXC  5  IESY(2)             [J IF A TERMINATOR   
7272          BCS      PT4                 [STOPS ON THIS RECORD
72LL          LDX   6  7                   [SAVE DESTINATION CHAR   
736=          EDCOM    CHNF                ["CHARACTER NOT FOUND"   
73KW          LDX   7  6
745G          BRN      PT4  
74K6    #   
754Q    #   
75JB    ZABR  SBX   0  FX1  
7642          STO   0  ACOM6(2) 
76HL          LDX   3  7
773=          SBX   3  IEOC(2)             [NO OF CHARS TO TRANSCRIBE   
77GW          BNG   3  ZABEX               [J IF NONE   
782G          LDX   5  IENH(2)  
78G6          SBX   5  IENC(2)  
78^Q          STO   5  AWORK4(2)           [ROOM LEFT IN N/F
79FB          BZE   5  ZAB0 
79^2          BXL   3  AWORK4(2),ZABR1  
7=DL          BXE   3  AWORK4(2),ZABR1     [J IF ENOUGH ROOM
7=Y=    ZAB0  LDN   0  #10                  [ELSE NOTE WE HAVE  
7?CW          ORS   0  IESW(2)             [TRUNCATED THE RECORD
7?XG          LDX   3  AWORK4(2)           [AND ADJUST THE SIZE 
7#C6    ZABR1 SBS   3  AWORK4(2)           [UPDATE ROOM LEFT
7#WQ          STO   3  AWORK2(2)
7*BB          LDX   4  IENC(2)             [WORK OUT WHAT IENC  
7*W2          ADX   4  3                   [WOULD BECOME
7B*L          ADX   4  IEWT+4(2)
7BT=          CALL  0  SIZE                [CHECK SIZE OF FAPB  
7C#W          LDX   6  IEOC(2)  
7CSG          LDX   3  AWORK2(2)
7D#6          LDX   7  IENC(2)  
7DRQ          ADS   3  IEOC(2)             [UPDATE CHARACTER POINTERS   
7F?B          ADS   3  IENC(2)  
7FR2          SRC   6  2
7G=L          SRC   7  2
7H9W          BNZ   7  ZABR2               [NOT REQUIRED
7NGX ...      LDX   0  IEOG(2)  
7NXN ...      SBN   0  A1   
7P#F ...      SLL   0  2                   [NO. OF CHAR IN RECORD HDDR  
7PP= ...
7Q63 ...      LDX   4  IEOA(2)             [OLD FILE BLOCK ADDR 
7QGS ...      LDX   5  IENA(2)             [NEW FILE BLOCK ADDR 
7QXK ...      ADN   4  A1                  [SRT OF RED TAPE 
7R#B ...      ADN   5  A1                  [SRT OF RED TAPE 
7RP7 ...      SMO      0                   [LENGTH OF RED TAPE  
7S5Y ...      MVCH  4  0                   [AND COPY OVER   
7SGQ    ZABR2 ADX   6  IEOG(2)  
7T2B          ADX   7  IENG(2)  
7T^L          ADX   6  IEOA(2)             [GET ABSOLUTE ADDRESSES  
7WF=          ADX   7  IENA(2)  
7WYW          CALL  0  MVCH                [MOVE THE DATA   
7XDG          LDX   3  IEWT+4(2)           [LENGTH OF 2ND STRING
7XY6          LDX   6  IEWT+3(2)           [POINTER TO IT   
7YCQ          BXL   3  AWORK4(2),ZABR3     [J IF SUFFICIENT 
7YXB          BXE   3  AWORK4(2),ZABR3     [ROOM
7^C2          LDN   0  #10                  [ELSE NOTE WE HAVE  
7^WL          ORS   0  IESW(2)             [TRUNCATED THE RECORD
82B=          LDX   3  AWORK4(2)           [AND ADJUST  
82TW    ZABR3 ADX   6  IEIA(2)  
83*G          ADS   3  IENC(2)             [UPDATE N/F POINTER  
83T6          CALL  0  MVCH                [MOVE IN 2ND STRING  
84#Q    ZABEX LDX   0  ACOM6(2) 
84SB          ADX   0  FX1  
85#2          EXIT  0  0
85RL    #   
86?=    #   
86QW    SETUP STO   0  ACOM6(2)            [SAVE LINK   
87=G          CALL  6  RLOF                [RELOCATE BLOCKS 
87Q6          CALL  6  RLIF 
889Q          LDX   7  IEOH(2)  
88PB          LDXC  6  IESY(2)  
8992          BCC      SET1                [J IF NO REPETITION  
89NL          LDX   7  IECC(2)  
8=8=    SET1  STO   7  ACOM7(2)            [SET ENDPOINT FOR SEARCH 
8=MW          LDX   3  IEOC(2)             [START POINT FOR SEARCH  
8?7G          LDX   1  IEWT+1(2)             [PTR TO KEY STRING 
8?M6          LDX   4  IEWT+2(2)           [LENGTH OF STRING
8?PP ...#UNS  EDCHAR
8?S# ...(   
8?WX ...      LDCT  0  #400 
8?^G ...      STO   0  AWORK1(2)           [SET -VE FOR A,B,R   
8#45 ...)   
8#6Q          LDX   0  ACOM6(2)            [GET LINK
8#LB          EXIT  0  0
8*62    #   
8*KL    #   
8B5=    N4EDITEX                           [A INSTRUCTION   
8BJW          CALL  0  SETUP               [SET PARAMS FOR SEARCH   
8C4G          CALL  6  SFST                [SEARCH FOR STRING   
8CJ6          BRN      NFD                 [J IF NOT FOUND  
8D3Q          ADX   7  IEWT+2(2)           [INCLUDE LENGTH OF STRING
8DHB          CALL  0  ZABR                [DO WORK 
8F32    ZA    LDN   0  #10  
8FGL          ANDX  0  IESW(2)             [SEE IF RECORD TRUNCATED 
8G2=          BZE   0  ZAEX                [J IF NOT
8GFW          ERS   0  IESW(2)             [CLEAR SWITCH
8G^G          EDCOM    YRTL 
8HF6          ACROSS   EDITOR,12
8HYQ    ZAEX  ACROSS   EDITOR,3 
8JDB    #   
8JY2    #   
8KCL    N5EDITEX                           [B INSTRUCTION   
8KX=          CALL  0  SETUP               [SET PARAMS FOR SEARCH   
8LBW          CALL  6  SFST                [SEARCH FOR STRING   
8LWG          BRN      NFD                 [J IF NOT FOUND  
8MB6          CALL  0  ZABR                [DO THE WORK 
8MTQ          BRN      ZA   
8N*B    #   
8NT2    #   
8P#L    N7EDITEX                           [R INSTRUCTION   
8PS=          CALL  0  SETUP               [SET PARAMS FOR SEARCH   
8Q?W          CALL  6  SFST                [SEARCH FOR STRING   
8QRG          BRN      NFD                 [J IF NOT FOUND  
8R?6          CALL  0  ZABR                [DO THE WORK 
8RQQ          LDX   7  IEWT+2(2)           [SKIP PAST UNWANTED  
8S=B          ADS   7  IEOC(2)             [STRING  
8SQ2          BRN      ZA   
8T9L    #   
8TP=    #   
8W8W    NFD   STOZ     IEWT+4(2)           [NULLIFY 2ND STRING  
8WNG          CALL  0  ZABR                [COPY REQUIRED CHARS 
8X86          LDXC  6  IESP(2)             [ANY REPETITION  
8XMQ          BCC      NFD2                [J IF NOT
8Y7B          LDXC  7  IESY(2)             [DOES TERMINATOR STOP ON THIS
8YM2          BCC      NFD2                [RECORD, J IF NOT
8^6L          BZE   7  NFD1                [J IF STACK NOW CLEAR
8^L=          LDCT  6  #400 
925W          ORX   7  6                   [KEEP B0 OF IESP SET 
92KG    NFD1  STO   7  IESP(2)             [RESET STACK TO  
9356          SMO   7                      [PULLED UP VALUE 
93JQ          LDX   6  IESTACK+1(2) 
944B          STO   6  IEIP(2)             [SKIP PAST TERMINATOR
94J2          STOZ     IESY(2)  
953L          BRN      ZA   
95H=    NFD2  EDCOM    CHNF                ["CHARACTER NOT FOUND"   
962W          BRN      ZA   
96GG     MENDAREA 100,K100EDITEX
9726    #END
^^^^ ...30054047001500000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1