LISTRING864

(George Source)

Macros used: ABANDCOM, ALTLEN, AND, BC, BS, BSXD, CLOSE, COMERR, DO, ELSE, ELSF, EMPTY, ERROR, FI, FREECORE, FREELINK, HUNT, IF, LADDP, LF, MFREE, MHUNT, MHUNTW, OR, QKTABSET, QKTABULATE, REPEAT, SEGENTRY, SETNCORE, SFCA, SPARANOX, STEP, STEPAGAIN, TESTBRKIN, TESTREP, THEN, UP, VSKIP, WHILE

LISTRING864.txt
22FL    #OPT           K0LISTRING = 0   
22^=    #LIS           K0LISTRING   
23DW    #SEG           LISTRING            [ COMM   
23YG          8HLISTRING
24D6    [   
24XQ       SEGENTRY K1LISTRING,Z1LISTRING [ CONTEXT "FROM" & "TO" FOR LISTFILE  
25CB       SEGENTRY K2LISTRING,Z2LISTRING [ CONTEXT SELECTION TRANSLATION   
25X2       SEGENTRY K3LISTRING,Z3LISTRING [ FILE EMPTY DETECTED BY LISTPARS/LIST
262X ...[   
266S ...[ENTRY POINTS K50,K51,K52,K53 USED BY LFALLTRANS MACRO  
26=P ...[   
26BL    [   
26W=    [   
27*W    [***********************************************************************
27TG    [   
28*6    [ PRESET DATA   
28SQ    [   
29#B    [***********************************************************************
29S2    [   
2=?L    PDELIM         14H/?'<>;:=!£&+"0
2=R=    PC             #43  
2?=W    PS             #63  
2?QG    P74            #74  
2#=6    PEMPTY         11,#42,10HFILE EMPTY 
2#PQ    PLINE          18,#42,17HLINE NUMBER ERROR  
2*9B    PSPECSTR       18,#42,17HSPECIFIED STRING   
2*P2    PNOTFOUND      10,10H NOT FOUND 
2B8L    TAB48                              [ INVALID CHARACTERS IN 48 CHAR SET  
2BN=                   #12,#13,#14,#16,#17  
2C7W                   #21,#22,#23,#25  
2CMG                   #40  
2D76                   #73,#74,#75,#76,#77  
2DLQ    [   
2F6B    #DEF           TAB48LEN = 0? - TAB48
2FL2    PNEWLINES      #76327632
2G5L    [   
2GK=    [***********************************************************************
2H4W    [   
2HJG    SNONSPACE   
2J46    [   
2JHQ    [***********************************************************************
2K3B    [   
2KH2    [ MOVE X3 TO NEXT NON SPACE CHARACTER   
2L2L    [   
2LG=    [ X4 = LENGTH OF DATA   
2L^W    [   
2MFG       WHILE    TRUE
2M^6          SBN   4  1
2NDQ       AND      4,NZ                [ MORE CHARACTERS   
2NYB          BCHX  3  £
2PD2          LDCH  0  0(3) 
2PXL          SBN   0  #20  
2QC=       AND      0,ZE                [ SPACE 
2QWW       DO   
2RBG       REPEAT   
2RW6       EXIT  6  0   
2S*Q    [   
2STB    [***********************************************************************
2T*2    [   
2TSL    SFREELINK   
2W#=    [   
2WRW    [***********************************************************************
2X?G    [   
2XR6    [ FORGET DOWN FROM LISTFILE 
2Y=Q    [   
2YQB       FREELINK 
2^=2       EXIT  7  0   
2^PL    [   
329=    [   
32NW    [***********************************************************************
338G    [   
33N6    STEP
347Q    [   
34MB    [***********************************************************************
3572    [   
35LL    [ GET NEXT RECORD OF FILE   
366=    [   
36KW    [ ON EXIT   
375G    [  X1 -> GOUT / INFO
37K6    [  X3 - FIRST WORD OF DATA  
384Q    [       ZERO IF END OF FILE 
38JB    [  X4 - LENGTH OF DATA IN CHARS 
3942    [   
39HL       SBX   6  FX1 
3=3=       LDX   1  AWORK1(2)   
3=GW       STEP     0(1)
3?2G       TESTBRKIN ZBREAKIN   
3?G6       ADX   6  FX1 
3?^Q    [   
3#FB    STEPA   
3#^2    [   
3*DL    [ SAME EXCEPT AFTER STEPAGAIN   
3*Y=    [   
3BCW       MHUNT    1,GOUT,INFO 
3BXG       IF       3,NZ                [ NOT END OF FILE   
3CC6       THEN 
3CWQ          IF       BS,1,BLFBASIC       [ BASIC FILE 
3DBB          THEN  
3DW2             LDCT  0  #600  
3F*L             ANDX  0  1(3)  
3FT=             SLC   0  2                   [ USED CHARACTERS 
3G#W             IF       0,ZE                [ USED ALL 4 CHARS
3GSG             THEN   
3H#6                LDN   0  4  
3HRQ             FI 
3J?B             LDEX  4  0(3)  
3JR2             SLL   4  2 
3K=L             SBN   4  12                  [ TWO WORDS OF RED TAPE AND LAST W
3KQ=             ADX   4  0                   [ DATA LENGTH 
3L9W             ADN   3  2                   [ -> DATA 
3LPG          ELSE  
3M96             LDEX  4  0(3)  
3MNQ             SLL   4  2 
3N8B             SBN   4  4                   [ DATA LENGTH 
3NN2             ADN   3  1                   [ -> DATA 
3P7L          FI
3PM=       FI   
3PQB ...      IF       4,NG 
3PTG ...      THEN  
3PYL ...      STOZ  4   
3Q3Q ...      FI
3Q6W       EXIT  6  0   
3QLG    [   
3R66    [   
3RKQ    [***********************************************************************
3S5B    [   
3SK2    SMATCH  
3T4L    [   
3TJ=    [***********************************************************************
3W3W    [   
3WHG    [ MATCH RECORD AGAINST CONTEXT STRING   
3X36    [   
3XGQ    [ X1 -> CONTEXT STRING ( FIRST WORD )   
3Y2B    [ X3 -> RECORD ( DATA ) 
3YG2    [ X5 -> LENGTH OF STRING
3Y^L    [   
3^F=       WHILE    TRUE
3^YW          LDCH  0  1(1) 
42DG          LDCH  2  0(3) 
42Y6       AND      0,E,2               [ CHARS SAME
43CQ       DO   
43XB          BCHX  1  £
44C2          BCHX  3  £
44WL       REPEAT   CT 5
45B=       LDX   2  FX2 
45TW       EXIT  6  0   
46*G    [   
46T6    [   
47#Q    [***********************************************************************
47SB    [   
48#2    SCONTEXT
48RL    [   
49?=    [***********************************************************************
49QW    [   
4==G    [ SEARCH FILE FOR CONTEXT STRING
4=Q6    [   
4?9Q    [ X5 = DISPLACEMENT TO CONTEXT DATA 
4?PB    [   
4#92    [ ON EXIT   
4#NL    [ X1 -> GOUT / INFO 
4*8=    [ X2 = FX2  
4*MW    [ X3 = ZERO IF END OF FILE  
4B7G    [ X5 = NO. OF RECORDS SKIPPED   
4BM6    [   
4C6Q       SBX   7  FX1 
4CLB       STO   5  AWORK2(2)           [ DISPLACEMENT TO FIRST WORD OF STRING  
4D62       STOZ  5                      [ RECORDS   
4DKL       WHILE    3,NZ                [ NOT END OF FILE   
4F5=          STO   5  ACOMMUNE1(2) 
4FJW          MHUNT    1,GOUT,INFO  
4G4G          ADX   1  AWORK2(2)           [ -> FIRST WORD OF STRING
4GJ6          ADN   1  A1   
4H3Q          LF       1,FLFSTRLEN,5       [ STRING LENGTH  
4HHB          IF       BS,1,BLFCSEARCH     [ "C"
4J32          THEN  
4JGL             WHILE    4,GE,5              [ RECORD LENGTH >= STRING LENGTH  
4K2=                STO   5  ACOMMUNE2(2)   
4KFW                STO   3  ACOMMUNE3(2)   
4K^G                STO   1  ACOMMUNE4(2)   
4LF6                CALL  6  SMATCH 
4LYQ             AND      5,NZ                [ NOT MATCH   
4MDB             DO 
4MY2                LDX   1  ACOMMUNE4(2)   
4NCL                LDX   3  ACOMMUNE3(2)   
4NX=                LDX   5  ACOMMUNE2(2)   
4PBW                SBN   4  1                   [ START FROM NEXT CHAR 
4PWG                BCHX  3  £  
4QB6             REPEAT 
4QTQ          ELSE  
4R*B             IF       BS,1,BLFSSEARCH     [ "S" 
4RT2             THEN   
4S#L                WHILE    TRUE   
4SS=                   LDCH  0  0(3)
4T?W                   SBN   0  #20 
4TRG                AND      0,ZE                [ SPACE
4W?6                DO  
4WQQ                   BCHX  3  £   
4X=B                REPEAT   CT 4   
4XQ2             FI 
4Y9L             IF       4,GE,5              [ ENOUGH CHARS LEFT IN RECORD 
4YP=             THEN   
4^8W                CALL  6  SMATCH 
4^NG             FI 
5286          FI
52MQ          LDX   0  5
537B          LDX   5  ACOMMUNE1(2) 
53M2       AND      0,NZ                [ MATCH NOT FOUND   
546L       DO   
54L=          CALL  6  STEP 
555W          ADN   5  1
55KG       REPEAT   
5656       MHUNT    1,GOUT,INFO 
56JQ       ADX   7  FX1 
56L3 ...      EXIT  7  0
56M# ...[   
56NK ...[   
56PW ...[***************************************************************
56R7 ...[   
56SD ...      SEGENTRY K53LISTRING  
56TP ...STORETRANS  
56X2 ...[   
56Y? ...[***************************************************************
56^J ...[   
572T ...[ STORES LINES SKIPPED IN ALFTRANS OF ACTLF 
5746 ...[ X1 - POINTER TO GOUT/INFO BLOCK   
575C ...[ X5 - CONTAINS NUMBER OF LINES SKIPPED 
576N ...[ CALLED ON X7  
577^ ...[   
579= ...      IF       BC,1,BLFREST2
57=H ...               LDCH  0  ATYPE(2)
57?S ...               SBN   0  ACTLF/64
57*5 ...      AND      0,ZE 
57BB ...      THEN  
57CM ...               STO   5  ALFTRANS(2) 
57DY ...      FI
57G9 ...      EXIT  7  0
57J2    [   
583L    [   
58H=    [***********************************************************************
592W    [   
59GG    SERROR  
5=26    [   
5=FQ    [***********************************************************************
5=^B    [   
5?F2    [ ADD ERROR LINE TO HEADING BLOCK   
5?YL    [   
5#D=    [ X6 - ERROR MESSAGE
5#XW    [   
5*CG    [ ON EXIT   
5*X6    [ X1 -> LENGTH OF LINE  
5BBQ    [ X3 -> NEXT CHARACTER POSITION 
5BWB    [   
5CB2       SBX   7  FX1 
5CTL       MHUNTW   1,GOUT,INFO 
5D*=       BS       1,BLFFRTOER         [ ERROR FOUND   
5DSW       HUNT     1,ADATA,HEADING 
5F#G       IF       1,NG                [ BLOCK NOT ALREADY SET UP  
5FS6       THEN 
5G?Q          SETNCORE HEADCNT-A1+27,1,ADATA,HEADING
5GRB          LDN   0  HEADCNT  
5H?2          STO   0  HEADREC(1)   
5HQL       ELSF     TRUE
5J==          LDX   0  ALOGLEN(1)   
5JPW          SBX   0  HEADREC(1)   
5K9G          SBN   0  27+1 
5KP6       AND      0,NG                [ NOT ENOUGH ROOM   
5L8Q       THEN 
5LNB          LDX   4  HEADREC(1)   
5M82          ADN   4  27   
5MML          ALTLEN   1,4,ADATA,HEADING
5N7=          MHUNT    1,ADATA,HEADING  
5NLW       FI   
5P6G       ADX   1  HEADREC(1)          [ -> LENGTH OF RECORD   
5PL6       LDX   3  1                   [ -> FIRST FREE WORD
5Q5Q       LDX   2  6   
5QKB       ADX   2  FX1 
5R52       SMO      0(2)
5RJL       MVCH  2  7                   [ MOVE STRING AND ITS LENGTH IN 
5S4=       LDX   2  FX2 
5SHW       LDX   0  ATYPE(2)
5T3G       SRL   0  12  
5TH6       SBN   0  ACTLF+GREMOTE   
5W2Q       IF       0,ZE                [ REMOTE LISTFILE   
5WGB       THEN 
5X22          SMO      FX1  
5XFL          LDX   0  PNEWLINES
5X^=          STO   0  1(1)                [ PFCC TO N/L N/L
5YDW          LDN   0  3
5YYG          ADS   0  0(1)                [ CHAR COUNT 
5^D6       FI   
5^XQ       ADX   7  FX1 
62CB       EXIT  7  0   
62X2    [   
63BL    [   
63W=    [   
64*W    [ WW   WW       W   
64TG    [ WW  WW       WW   
65*6    [ WW WW       WWW   
65SQ    [ WWWW         WW   
66#B    [ WWWWW        WW   
66S2    [ WW  WW       WW   
67?L    [ WW   WW      WW   
67R=    [ WW    WW     WW   
68=W    [   
68QG    Z1LISTRING  
69=6    [   
69PQ    [ ANALYSE CONTEXT FROM AND TO PARAMETERS
6=9B    [   
6=P2    [ ENVIRONMENT ON ENTRY  
6?8L    [  X4 = CONTAINS FROM / TO MARKER ( B0 SET = FROM ) 
6?N=    [  X5 = LENGTH OF KEYWORD   
6#7W    [  CPB / CUNI GENERATED BY PARABEG EXISTS   
6#MG    [  GOUT / INFO EXISTS   
6*76    [   
6*LQ       STO   4  AWORK1(2)           [ FROM / TO MARKER  
6B6B    [   
6BL2    [ GET COMPLETE PARAMETER WITH ALL SPACES
6C5L       MHUNT    3,CPB,CUNI          [ REST OF FROM/TO PARAMETER 
6CK=       LDX   4  JPARNUM(3)  
6D4W       FREECORE 3   
6DJG       LDN   3  0   
6F46       SPARANOX 4,3                 [ GET COMPLETE PARAMETER
6FHQ       MHUNT    2,CPB,CUNI  
6G3B       LDX   4  ANUM(2) 
6GH2       ANDN  4  #7777               [ X4 = LENGTH OF PARAMETER  
6H2L    [   
6HG=    [ GET FIRST CHARACTER AFTER KEYWORD 
6H^W    [ MUST IGNORE SPACE CHARS   
6JFG       LDN   3  APARA(2)
6J^6       DO   
6KDQ          CALL  6  SNONSPACE
6KYB          BZE   4  ZNULL               [ J IF NO MORE CHARACTERS IN PARAMETE
6LD2       REPEAT   CT 5
6LXL       LDCH  0  0(3)                [ FIRST CHAR AFTER KEYWORD  
6MC=       IF       0,E,PC(1)           [ "C"   
6MWW       THEN 
6NBG          BSXD     7,BLFCSEARCH        [ X7 BECOMES GHEAD + D   
6NW6          CALL  6  SNONSPACE
6P*Q          BZE   4  ZNULL
6PTB       ELSF     0,E,PS(1)           [ "S"   
6Q*2       THEN 
6QSL          BSXD     7,BLFSSEARCH 
6R#=          CALL  6  SNONSPACE
6RRW          BZE   4  ZNULL
6S?G       ELSE 
6SR6          BSXD     7,BLFSEARCH  
6T=Q       FI   
6TQB    [   
6W=2    [ FIND DELIMITING CHAR  
6WPL       LDCH  0  0(3)
6X9=       WHILE    TRUE
6XNW          LDCH  5  PDELIM(1)
6Y8G          BZE   5  ZNOTDELIM           [ J IF TABLE EXHAUSTED   
6YN6       AND      0,U,5               [ NOT DELIMITER 
6^7Q       DO   
6^MB       REPEAT   CHX 1   
7272    [   
72LL    [ LOOK FOR TRAILING DELIMITER   
736=       BCHX  3  £                   [ SKIP FIRST DELIMITER  
73KW       SBN   4  1   
745G       BZE   4  ZUNPAIR             [ J IF NO MORE CHARS
74K6       LDX   1  3   
754Q       SBX   3  2                   [ START DISPLACEMENT IN CPB/CUNI
75JB       LDN   6  0                   [ NO. OF CHARS IN STRING
7642       WHILE    TRUE
76HL          LDCH  0  0(1) 
773=       AND      0,U,5               [ NOT DELIMITER 
77GW       DO   
782G          ADN   6  1
78G6          BCHX  1  £
78^Q       REPEAT   CT 4
79FB       BZE   4  ZUNPAIR             [ J IF TRAILING DELIMITER NOT FOUND 
79^2       SBN   4  1   
7=DL       WHILE    4,NZ                [ MORE CHARACTERS   
7=Y=       DO   
7?CW          BCHX  1  £
7?XG          LDCH  0  0(1) 
7#C6          SBN   0  #20  
7#WQ          BNZ   0  ZUNPAIR             [ J IF MORE NON-SPACE CHARS  
7*BB       REPEAT   CT 4
7*W2       BZE   6  ZNULL               [ J IF NULL STRING  
7B*L       SBN   6  41  
7BT=       BPZ   6  ZTOOLONG            [ J IF STRING > 40 CHARS
7C#W       ADN   6  41  
7CSG       ORS   6  7                   [ STRING LENGTH FOR GHEAD + D   
7D#6    [   
7DRQ    [ PUT IN GOUT/INFO  
7F?B       MHUNT    2,GOUT,INFO 
7FR2       LDX   5  ALOGLEN(2)  
7G=L       SMO      FX2 
7GQ=       LDX   0  AWORK1  
7H9W       IF       0,NG                [ FROM  
7HPG       THEN 
7J96          STO   5  GFLI(2)             [ POINTER TO CONTEXT STRING  
7JNQ          BS       2,BLFFRCTEXT 
7K8B       ELSE 
7KN2          STO   5  GNLI(2)  
7L7L          BS       2,BLFTOCTEXT 
7LM=       FI   
7M6W       ADN   6  4+3                 [ CHARS TO WORDS + 1
7MLG       SRL   6  2   
7N66       ADX   5  6   
7NKQ       ALTLEN   2,5,GOUT,INFO   
7P5B       MHUNT    2,GOUT,INFO 
7PK2       LDX   4  A1(2)               [ OLD RECORD LENGTH -> START OF NEW STRI
7Q4L       LDX   5  ALOGLEN(2)  
7QJ=       STO   5  A1(2)               [ NEW RECORD LENGTH 
7R3W       ADX   2  4   
7RHG       STO   7  A1(2)               [ GHEAD+D   
7S36       ADN   2  A1+1
7SGQ       MHUNT    1,CPB,CUNI  
7T2B       ADX   1  3                   [ X1 -> START POINTER   
7TG2       ANDN  7  #7777   
7T^L       SMO      7   
7WF=       MVCH  1  0   
7WYW       MFREE    CPB,CUNI
7XDG       UP   
7XY6    [   
7YCQ    [   
7YXB    [   
7^C2    [ WW   WW    WWWWW  
7^WL    [ WW  WW    WW   WW 
82B=    [ WW WW           WW
82TW    [ WWWW           WW 
83*G    [ WWWWW      WWWWW  
83T6    [ WW  WW    WW  
84#Q    [ WW   WW   WW  
84SB    [ WW    WW  WWWWWWWW
85#2    [   
85RL    Z2LISTRING  
86?=    [   
86QW    [   
87=G    [ CONVERT CONTEXT SELECTION TO LINES SELECTION  
87Q6    [ LEAVING FILE POSITIONED AT FIRST RECORD TO BE LISTED  
889Q    [   
8992       MHUNT    1,GOUT,INFO 
89NL       STOZ     AWORK1(2)           [ FILE DEPTH
8=8=       IF       BS,1,BLFSETUP       [ SETUP FILE
8=MW       THEN 
8?7G          LDN   0  1
8?M6          STO   0  AWORK1(2)
8#6Q       FI   
8#LB       CALL  6  STEP
8*62       BZE   3  ZFILEEMPTY  
8*KL    [   
8B5=    [ CONVERSION CODE   
8BJW       LDX   0  GFLI(1) 
8C4G       ADN   0  2   
8CJ6       BZE   0  ZLINEERROR          [ J IF ERROR FOUND BY PRE 8.63 LISTRING 
8D3Q    [   
8F32    [ END OF CONVERSION CODE
8FGL    [   
8G2=       IF       BS,1,BLFFRCTEXT     [ "FROM" CONTEXT SEARCH 
8GFW       THEN 
8G^G          LF       1,FLFFRNUM,5 
8HF6          CALL  7  SCONTEXT 
8HYQ          BZE   3  ZCONTEXTERR         [ J IF STRING NOT FOUND  
8JDB          STO   5  GFLI(1)             [ CONVERT TO "FROM" LINES
8JQR ...      SEGENTRY K50LISTRING  
8K58 ...      NULL  
8KCL       ELSF     +GFLI(1),NZ         [ "FROM" LINES  
8KX=       THEN 
8L#= ...      LF       1,FLFFRNUM,5        [ NO. OF LINES TO BE SKIPPED 
8LP= ...      SEGENTRY K51LISTRING  
8M6= ...      NULL  
8MH= ...      WHILE    5,PZ 
8MY= ...      AND      5,NZ                [ LINES TO BE SKIPPED
8N*B          DO
8NT2 ...         LDX   1  5 
8P#L             SBN   1  4095                [ MAX LINES SKIPPED IN ONE GO 
8PS=             IF       1,PZ  
8Q?W             THEN   
8QRG                LDN   1  4095   
8R?6             ELSE   
8RQQ                ADN   1  4095   
8S=B             FI 
8SQ2 ...         SBN   5  4095  
8T9L             LDX   3  AWORK1(2) 
8TP=             VSKIP    0(3),0(1) 
8W8W             BZE   3  ZLINEERROR          [ J IF END OF FILE
8WNG             TESTREP  ENDFILE,ZLINEERROR
8X86          REPEAT
8XMQ       FI   
8Y7B       MHUNT    1,GOUT,INFO 
8YM2       IF       BS,1,BLFTOCTEXT     [ "TO" CONTEXT SEARCH   
8^6L       THEN 
8^L=          LF       1,FLFTONUM,5 
925W          SFCA     AWORK1(2),3  
92KG          QKTABSET 3,AWORK3(2),AWORK4(2) [ SAVE TABS TO START POSITION  
9356          LDX   1  AWORK1(2)
93JQ          STEPAGAIN 0(1)
944B          CALL  6  STEPA
94J2          CALL  7  SCONTEXT 
953L          BZE   3  ZCONTEXTERR         [ J IF STRING NOT FOUND  
95H=          ADN   5  1                   [ INCLUSIVE  
962W          STO   5  GNLI(1)             [ CONVERT TO "LINES" 
96GG          SBN   5  1
9726          ADX   5  GFLI(1)  
97*T ...      SEGENTRY K52LISTRING  
97PJ ...      NULL  
985? ...      SFCA     AWORK1(2),3  
98F2          QKTABULATE 3,AWORK3(2),AWORK4(2) [ RESET TO START POINT   
98YL       ELSF     BS,1,BLFTO          [ "TO" NUMBER   
99D=       THEN 
99XW ...      LF       1,FLFFRNUM,5 
9=CG ...      LF       1,FLFTONUM,4 
9=X6          SBX   4  5
9?BQ          BNG   4  ZLINEERROR          [ J IF "TO" < "FROM" 
9?WB          ADN   4  1                   [ INCLUSIVE  
9#B2          STO   4  GNLI(1)             [ CONVERT TO "LINES" 
9#TL       FI   
9**=       LDX   2  FX2 
9*SW       IF       BS,2,BLFFREADERR    [ READ ERROR - FLAG M   
9B#G       THEN 
9BS6          MHUNT    1,GOUT,INFO  
9C?Q          BS       1,BLFCORRUPT 
9CRB          BC       2,BLFFREADERR
9D?2       FI   
9DQL       UP   
9F==    [   
9FPW    [   
9G9G    [   
9GP6    [***********************************************************************
9H8Q    [   
9HNB    [ ERROR CONDITIONS  
9J82    [   
9JML    [***********************************************************************
9K7=    [   
9KLW    ZNULL   
9L6G       CALL  7  SFREELINK   
9LL6       COMERR   JNULLPAR
9M5Q    [   
9MKB    ZNOTDELIM   
9N52    ZUNPAIR 
9NJL       CALL  7  SFREELINK   
9P4=       COMERR   ERUNPAIR
9PHW    [   
9Q3G    ZTOOLONG
9QH6       CALL  7  SFREELINK   
9R2Q       COMERR   ALFSTRBIG   
9RGB    [   
9S22    ZBREAKIN
9SFL    [ ASSUMED LF TO MONITORING FILE ONLY
9S^=       CALL  7  SFREELINK   
9T94 ...     CLOSE  
9TDW       ABANDCOM 
9TYG    [   
9WD6    [   
9WXQ    [   
9XCB    [   
9XX2    [  WW   WW   WWWWWWWW   
9YBL    [  WW  WW         WW
9YW=    [  WW WW         WW 
9^*W    [  WWWW         WWW 
9^TG    [  WWWWW          WW
=2*6    [  WW  WW    WW    WW   
=2SQ    [  WW   WW   WW    WW   
=3#B    [  WW    WW   WWWWWW
=3S2    [   
=4?L    [   
=4R=    Z3LISTRING  
=5=W    [   
=5QG    [   
=6=6    ZFILEEMPTY  
=6PQ    [   
=79B    [ MAIN FILE IS EMPTY
=7P2    [   
=88L       LDN   6  PEMPTY              [ "FILE EMPTY"  
=8N=       CALL  7  SERROR  
=97W       UP   
=9MG    [   
==76    [   
==LQ    ZLINEERROR  
=?6B    [   
=?L2    [   
=#5L    [ LINE NUMBER ERROR 
=#K=    [   
=*4W       LDN   6  PLINE               [ "LINE NUMBER ERROR"   
=*JG       CALL  7  SERROR  
=B46       UP   
=BHQ    [   
=C3B    [   
=CH2    ZCONTEXTERR 
=D2L    [   
=DG=    [ SPECIFIED STRING NOT FOUND
=D^W    [   
=FFG       LDN   6  PSPECSTR            [ "SPECIFIED STRING"
=F^6       CALL  7  SERROR  
=GDQ       MHUNT    2,GOUT,INFO 
=GYB       SMO      FX2 
=HD2       ADX   2  AWORK2              [ -> THE STRING 
=HXL       LDX   5  1                   [ -> LENGTH OF ERROR LINE   
=JC=       ADN   2  A1  
=JWW       LF       2,FLFSTRLEN,4   
=KBG       ADS   4  0(1)                [ ADD IN LENGTH 
=KW6       ADN   2  1   
=L*Q       SMO      FX2 
=LTB       LDX   0  ATYPE   
=M*2       SRL   0  12  
=MSL       SBN   0  ACTLF+GREMOTE   
=N#=       IF       EITHER,0,ZE         [ REMOTE LISTFILE   
=NRW          MHUNT    1,GOUT,INFO  
=P?G          LDCH  0  GOPTY(1) 
=PR6          SBN   0  1
=Q=Q       OR       0,ZE                [ PAPER TAPE PUNCH  
=QQB       THEN 
=R=2    [ CONVERT #74 - #77 TO #7664 - #7667
=RPL          LDX   1  FX1  
=S9=          DO
=SNW             LDCH  0  0(2)  
=T8G             IF       0,L,P74(1)
=TN6             THEN   
=W7Q                MVCH  2  1  
=WMB             ELSE   
=X72                LDN   0  #76
=XLL                DCH   0  0(3)                [ #76  
=Y6=                BCHX  3  £  
=YKW                LDCH  0  0(2)   
=^5G                SBN   0  #10
=^K6                DCH   0  0(3)                [ #7N -> #6N   
?24Q                BCHX  2  £  
?2JB                BCHX  3  £  
?342                LDN   0  1  
?3HL                SMO      5  
?43=                ADS   0  0                   [ INCREMENT LENGTH 
?4GW             FI 
?52G          REPEAT   CT 4 
?5G6       ELSF     TRUE
?5PY ...     LDX   6  2 
?5^Q ...      LDX   2  FX2  
?69J ...      LADDP    ,0   
?6FB ...      SMO      0
?6P8 ...      LDX   0  AREPERT  
?6^2 ...      SLL   0  13   
?78S ...      LDX   2  6
?7DL       AND      0,NG                [ 48 CHARACTER SET  
?7Y=       THEN 
?8CW          DO
?8XG             LDN   6  TAB48LEN  
?9C6             LDCH  0  0(2)  
?9WQ             LDX   1  FX1   
?=BB             WHILE    0,U,TAB48(1)        [ NOT INVALID IN 48 CHAR SET  
?=W2             DO 
??*L                ADN   1  1  
??T=             REPEAT   CT 6  
?##W             IF       6,ZE                [ VALID IN 48 CHAR SET
?#SG             THEN   
?*#6                MVCH  2  1  
?*RQ             ELSE   
?B?B                LDN   0  #20                 [ REPLACE BY " "   
?BR2                DCH   0  0(3)   
?C=L                BCHX  2  £  
?CQ=                BCHX  3  £  
?D9W             FI 
?DPG          REPEAT   CT 4 
?F96       ELSE 
?FNQ          SMO      4
?G8B          MVCH  2  0                   [ STRING 
?GN2       FI   
?H7L       LDX   1  FX1 
?HM=       LDN   2  PNOTFOUND+1(1)      [ "NOT FOUND"   
?J6W       LDX   4  PNOTFOUND(1)
?JLG       SMO      4   
?K66       MVCH  2  0   
?KKQ       SMO      5   
?L5B       ADS   4  0                   [ ADD IN LENGTH 
?LK2       UP   
?M4L    [   
?MJ=    #END
^^^^ ...555244500003
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1