LISTEXCP865

(George Source)

Macros used: BACKSPACE, BXE, DCA, FINDPEREC, FPUT, GETACT, JALLOC, JWRONG, LADDP, LGEOG, LINKSET, LPROP, LPUNSET, MHUNTW, PAIR, SEGENTRY, SETALLOC, SETENTRY, STEP, STEPAGAIN, TRACE, TRACEVER, UP

LISTEXCP865.txt
22FL    #OPT  K0LISTEXCP=0  
22^= ...#OPT           ATPOLTRP2=0  
23DW    #OPT  ATPPHASET=0   
23YG ...#OPT           ATPOLTR=0
24D6    #LIS  K0LISTEXCP>K0LISTFILE>K0ALLGEO>K0GREATGEO>K0COMMAND   
24XQ    #SEG  LISTEXCP  
25CB                   8HLISTEXCP   
25X2    [THIS SEGMENT CONTAINS CERTAIN EXCEPTION PATHS  
26BL          SEGENTRY K50LISTEXCP  
26W=    [***********************************************************************
27*W    [DATA AREA  
27TG    [THE CONTENTS OF THIS WORD WILL BE OVERWRITTEN BY THE CONTENTS OF %A OF 
28*6    [THE LFPRINT MACRO,IF THE LATTER IS INCLUDED AT RESTORE TIME
28SQ    SM             +0   
29#B          SETENTRY LISTEXCP,POINT,5 
2=?L    [   
2=R=    TABLE48 
2?=W    [POSSIBLE INVALID CHARACTERS FOR 48 CHARACTER REPERTOIRE PRINTER
2?QG    TCOLON         #12                 [:   
2#=6    TSEMICOLON     #13                 [;   
2#PQ    TLESS          #14                 [<   
2*9B    TGREATER       #16                 [>   
2*P2    TQUERY         #17                 [?   
2B8L    TSHRIEK        #21                 [!   
2BN=    TDOUBLEDASH    #22                 ["   
2C7W    THASH          #23                 [#   
2CMG    TPERCENT       #25                 [%   
2D76    TAT            #40                 [@   
2DLQ    TLHSQBR        #73                 [[   
2F6B    TDOLLAR        #74                 [$   
2FL2    TRHSQBR        #75                 []   
2G5L    TUPARROW       #76                 [^   
2GK=    TLPTARROW      #77                 [_   
2H4W    XCONT          #74202035           [CONTINUATION LINE   
2HJG    OCT64          #64  
2HML    PLPLINK 
2HQQ          PAIR     LISTINIT,5   
2HTW    PTPCPLINK   
2H^2          PAIR     LISTINTC,5   
2J46    [***********************************************************************
2JHQ    [SUBROUTINE AREA
2K3B    TESTCHAR48  
2KH2    [THIS SUBROUTINE TESTS A CHARACTR IN X6 AGAINST TABLE48 OF POSSIBLE 
2L2L    [INVALID CHARACTERS FOR 48 CHARACTER REPERTOIRE.
2LG=    [IF THE CHARACTER IS INVALID,EXIT IS TO THE INSTRUCTION FOLLOWING CALL  
2L^W    [IF THE CHARACTER IS VALID,EXIT IS TO ONE INSTRUCTION FURTHER.  
2MFG          LDN   1  TABLE48             [X1 POINTS TO TABLE  
2M^6          LDN   5  15                  [COUNTER 
2NDQ    NEXT  SMO      FX1  
2NYB          LDX   0  0(1)                [GET NEXT CHARACTER IN TABLE 
2PD2          TXU   0  6                   [DO CHARACTERS MATCH?
2PXL          BCS      NOMATCH             [J IF NO BUT 
2QC=          EXIT  4  0                   [IF YES,EXIT 
2QWW    NOMATCH 
2RBG          ADN   1  1                   [UPDATE TABLE MODIFIER   
2RW6          BCT   5  NEXT                [AND GET NEXT CHARACTER UNLESS   
2S*Q          EXIT  4  1                   [TABLE FULLY SCANNED,WHEN EXIT   
2STB    [***********************************************************************
2T*2    [MAIN BODY OF SEGMENT   
2TSL    [***********************************************************************
2W#=    POINT1  
2WRW    [THIS ENTRY POINT IS FROM LISTINIT IF THE LFPRINT MACRO HAS BEEN ISSUED 
2X?G    [AND THE SPECIAL DEBATCHING FACILITY HAS BEEN INCORPORATED.WE EXPECT TO 
2XR6    [COLON USERNAME POINT JOBNAME IN WORDS GZDATA+5 ET SEQ OF THE ACTLF BUFF
2Y=Q          LDX   7  SM(1)               [GET LFPRINT PARAMETER   
2YQB          LDN   5  0
2^=2          LDN   3  0                   [X3 WILL BE ADDRESS MODIFIER 
2^PL          LDN   4  #20                 [SPACE   
329=          DCH   4  GZDATA+5(2)         [OVERWRITE COLON WITH SPACE  
32NW    Y1    ADN   3  1                   [UPDATA MODIFIER 
338G          SRC   3  2
33N6    Y2    SMO      FX2  
347Q          LDCH  5  GZDATA+5(3)         [GET CHARACTER   
34MB          SBN   5  #36  
3572          BZE   5  Y4                  [J IF POINT  
35LL          BNG   7  Y3                  [J IF CHARACTER MUST BE SAVED
366=          SMO      FX2                 [ELSE SPACEFILL  
36KW          DCH   4  GZDATA+5(3)  
375G    Y3    SLL   7  1                   [PREPARE TEST FOR NEXT CHARACTER 
37K6          SLC   3  2
384Q          BRN      Y1   
38JB    Y4    LDX   7  SM(1)               [NOW DEAL WITH USERNAME  
3942          SLL   7  12                  [GET USERNAME KEY
39HL          SMO      FX2  
3=3=          DCH   4  GZDATA+5(3)         [SPACEFILL POINT 
3=GW    Y5    SLC   3  2
3?2G          ADN   3  1
3?G6          SRC   3  2
3?^Q    Y6    SMO      FX2  
3#FB          LDCH  5  GZDATA+5(3)         [GET NEXT CHARACTER  
3#^2          SBN   5  #20                 [IS IT A SPACE?  
3*DL          BZE   5  Y8                  [IF YES J
3*Y=          BNG   7  Y7                  [NOT A SPACE;J IF CHARACTER TO STAY  
3BCW          SMO      FX2                 [ELSE
3BXG          DCH   4  GZDATA+5(3)         [SPACEFILL   
3CC6    Y7    SLL   7  1                   [PREPARE TO TEST NEXT CHARACTER  
3CWQ          BRN      Y5   
3DBB    Y8    UP
3DW2    [   
3F*L    [***********************************************************************
3FT=    POINT2  
3G7M    [THIS ENTRY POINT IS FROM LISTPROC AT EMS   
3GG4    [ SET ACTLFS FOR ALL LOCAL OUTPUT DEVICES   
3GSG    [DEBATCHING CHARACTERS FOR ALL CENTRAL PRINTERS 
3H6X          LDN   7  1                   [TP TYPE 
3HF#    X2FIND  
3HRQ          FINDPEREC 3,APFOTY,7,ZRENT    [GET NEXT LP
3HXS          BNG   3  X2TYPE              [ J IF NOMORE OF THIS TYPE   
3HYS ...      JWRONG  3,ZRENT              [J. DEVICE WRONG 
3H^T ...      JALLOC 3,ZRENT               [INCASE ENGAGE BEAT US TO IT 
3J3W          SBN   7  2
3J7Y          BNZ   7  X2NLP               [ J IF NOT LP
3J#5          LPROP    3,4                 [GET PROP. BITS FROM DEVICE LIST 
3J#S          LDN   6  160  
3J*H          SRC   4  5
3JB=          BNG   4  STOW                [J IF 160 PP PRINTER 
3JB^          LDN   6  132  
3JCN          SLC   4  3
3JDC          BNG   4  STOW                [J IF 132 PP 
3JF6          LDN   6  120  
3JFT          SRC   4  2
3JGJ          BNG   4  STOW                [J IF 120 PP 
3JH?          LDN   6  96                   [OTHERWISE 96 PP
3JJ2    STOW
3JK8          LADDP    3,1  
3JLB          STO   6  AREPERT(1)          [INITIALIZE TO H/W WIDTH OF PRINTER  
3JMK          LDN   0  65   
3JN#          SLL   0  12   
3JP3          ADS   0  AREPERT(1)          [INITIALIZE PAGELENGTH TO 65 
3JPQ          LDX   1  FX1  
3JR2          LDX   6  K52+4(3) 
3K=L          SLL   6  6
3KQ=          ADN   6  #40  
3L9W          SRC   6  6
3LPG          STO   6  K52+4(3)              [WILL BE INCREMENTED TO A  
3MQ5          LPUNSET  3                   [ PAPER NOT ALIGNED  
3MRD    X2NLP   
3MSR          SETALLOC 3                   [ DEVICE ALLOCATED   
3MW6          GETACT   ACTLF,CENTRAL,1  
3MXF          LDX   2  BPTR(2)             [ -> ACTLF/CENTRAL   
3MYS          STO   3  CPPTR(2)            [ DEVICE LIST PTR
3N27          LGEOG    3,0  
3N3G          DEX   0  JSOURCE1(2)         [ GEOGRAPHICAL NO.   
3N4T          LDN   1  PLPLINK(1)   
3N68          BZE   7  X2NLPL   
3N7H          ADN   1  PTPCPLINK-PLPLINK
3N8W    X2NLPL  
3N=9          ADN   7  2
3N?J          DCH   7  JSOURCE1(2)         [ DEVICE TYPE
3N#X          LINKSET  2,0(1)              [ LINK TO LISTING CODE   
3NB=          FPUT  
3NCK          BRN      ZRENT               [ NEXT DEVICE
3NDY    X2TYPE  
3NG?          SLL   7  1                   [ NEXT TYPE  
3NHL          ANDN  7  7
3NJ^          BNZ   7  X2FIND              [ J IF VALID TYPE
3NL#          UP
3NN2    [********************************************************************** 
3P7L    POINT3  
3PM=    [   
3Q6W    [THIS ENTRY POINT IS FROM LISTLOOP AFTER AN ERROR CONDITION HAS 
3QLG    [OCCURRED ON A 48 CHARACTER REPERTOIRE ECCP.
3R66    [THE CODE VALIDATES THE CURRENT RECORD OF THE FILE,AND IF NECCESSATY THE
3RKQ    [PREVIOUS RECORD,TO DISCOVER IF THE ERROR CONDITION AROSE FROM AN   
3S5B    [ATTEMPT TO PRINT AN INVALID CHARACTER. 
3SK2    [IF AN INVALID CHARACTER IS FOUND,ACOMMUNE8 IS SET NEGATIVE.
3T4L    [IF AN INVALID CHARACTER IS NOT FOUND,ACOMMUNE8 IS SET TO ZERO  
3TJ=          STOZ     AWORK1(2)           [INITIALISE  
3W3W          STOZ     ACOMMUNE8(2) 
3WHG          STOZ     ACOMMUNE7(2)        [EOF KEY 
3X36    PREVREC 
3XGQ          STEPAGAIN                    [GET POINTER TO CURRENT RECORD   
3Y2B          LDEX  7  FRH(3)              [GET NUMBER OF WORDS IN RECORD   
3YG2 ...      MHUNTW   2,GOUT,INFOLIST  
3Y^L          LDX   0  GQUAL(2) 
3^F=          ANDN  0  1
3^YW          BNZ   0  SPECIAL             [J IF SPECIAL LISTING
42DG          LDX   0  GQUAL(2) 
42Y6          ANDN  0  #740 
43CQ          BZE   0  SPECIAL             [J IF LISTING OF AMORPHOUS FILE  
43XB          ADN   3  1
44C2          SBN   7  1
44WL    SPECIAL 
45B=          ADN   3  1                   [POINTER TO START OF DATA
45TW          SBN   7  1                   [COUNT OF DATA WORDS 
46*G          SLL   7  2                   [COUNT OF DATA CHARACTERS
46T6    [NOTE:CHARACTERS IN THE LAST WORD OF THE RECORD WHICH ARE NOT ACTUALLY  
47#Q    [PART OF THE RECORD REQUIRE NO SPECIAL ACTION BECAUSE THEY ARE SPACES   
47SB          LDN   2  0                   [CHARACTER MODIFIER  
48#2    TRYNEXT 
48RL          SMO      3
49?=          LDCH  6  0(2)                [GET NEXT CHARACTER  
49QW          CALL  4  TESTCHAR48          [IS IT VALID?
4==G          BRN      NOTVALID            [IF NOT,JUMP 
4=Q6          BCHX  2  £                   [ELSE IF NOT END OF RECORD   
4?9Q          BCT   7  TRYNEXT             [RETURN FOR NEXT CHARACTER   
4?PB          SMO      FX2                 [HAVE WE ALREADY 
4#92          LDX   0  AWORK1              [BACKSPACED ONE RECORD?  
4#NL          BNZ   0  OKFIN               [IF YES,JUMP 
4*8= ...      MHUNTW   2,GOUT,INFOLIST     [TEST IF ON FIRST REC
4*MW          SMO      FX2  
4B7G          LDX   0  AWORK4   
4BM6          BPZ   0  NOTSETUP            [J IF NOT CURRENTLY LISTING SETUP
4C6Q          LDX   0  GNUM(2)  
4CLB          BZE   0  OKALLFIN            [J IF ON 1ST RECORD OF SETUP 
4D62          BRN      TOBACK   
4DKL    NOTSETUP
4F5=          LDX   5  GNUM(2)             [FIRST RECORD OF LISTING?
4FJW ...      MHUNTW   2,GOUT,INFOLIST  
4G4G          LDX   4  GFLI(2)  
4GJ6          TXU   4  5
4H3Q          BCC      OKALLFIN            [IF YES,JUMP 
4HHB    #SKI  ATPOLTR   
4J32          TRACEVER 4,INV48  
4JGL    TOBACK  
4K2=          BACKSPACE                    [ELSE WE MUST NOW
4KFW          LDN   0  1                   [CHECK PRECEDING RECORD  
4K^G          LDX   2  FX2  
4LF6          STO   0  AWORK1(2)
4LYQ          BRN      PREVREC  
4MDB    NOTVALID
4MY2    #SKI  ATPOLTR   
4NCL          TRACEVER 0,INV48CH
4NX=          TRACE 6,LFEXCPIC  
4PBW          LDX   2  FX2  
4PWG          LDX   7  AWORK1(2)           [BACKSPACE MARKER
4QB6          ORX   7  GSIGN               [INVALID CHARACTER MARKER
4QTQ    OKFIN   
4R*B          STEP  
4RT2          STO   7  ACOMMUNE8(2) 
4S#L          STOZ     ACOMMUNE7(2) 
4SS=          BNZ   3  OKALLFIN            [J IF NOT EOF
4T?W          LDX   0  GSIGN               [ELSE
4TRG          STO   0  ACOMMUNE7(2) 
4W?6    OKALLFIN
4WQQ          UP
4X=B    [*******************-*************************************************  
4XQ2    POINT4  
4Y9L    [THIS ENTRY POINT COPES WITH MODE 4 LINEPRINTER TRANSFERS WHEN  
4YP=    [THE RECORD SIZE IN CHARACTERS EXCEEDS THE CURRENT PRINT WIDTH  
4^8W          STOZ     AWORK1(2)           [INITIALISE SHIFT KEY
4^NG          STOZ     AWORK2(2)           [INITIALISE COUNT OF PRINT CHARS 
4^R5 ...#UNS  ANIP  
4^TN ...      LDEX  4  JSOURCE3(2)  
4^Y? ...#UNS  ANIP  
522W ...#SKI
525F ...(   
5286          LADDP    ,3                  [GET APIA POINTER
52MQ          LDEX  4  AREPERT(3)          [PRINT WIDTH INTO X4 
537B ...)   
54L=    #SKI  ATPPHASET 
555W          LDN   4  40   
55KG          SBX   4  GZDUMP(2)           [NUMBER AND CONT LINES!  
5656          LDN   5  0                   [INITIALISE ACTLF BUFFER CHARACTER CO
56JQ          STEPAGAIN 
574B          LDX   1  GZPOINT(2)          [POINT TO NEXT   
57J2          SRC   1  2                   [CHARACTER OF RECORD 
57MX ...      BNZ   7  NGRAPH   
57RS ...      LDN   7  #74                 [STORE GRAPHIC SHIFT 
57XP ...NGRAPH  
583L          STO   7  ACOMMUNE3(2)        [INITIALISE SHIFT
58H=          LDX   0  GZDUMP(2)
592W          SRL   0  2
59GG          SMO      0
5=26          DCH   7  GZDATA+1(2)         [PUT IN SHIFT CHARACTER  
5=FQ    NEXTCHAR
5=^B          SMO      3
5?F2          LDCH  6  0(1)                [GET NEXT RECORD CHARACTER   
5?YL          SMO      FX1  
5#D=          TXL   6  TDOLLAR  
5#XW          BCS      NOTSHIFT            [J IF NOT SHIFT OR _ 
5*CG          SMO      FX1  
5*X6          TXU   6  TLPTARROW
5BBQ          BCS      TOSHIFT             [J IF SHIFT  
5BWB    NOTSHIFT
5CB2          STOZ     AWORK1(2)           [CURRENT CHARACTER NOT SHIFT 
5CTL          LDN   0  1
5D*=          ADS   0  AWORK2(2)           [UPDATE COUNT OF PRINT CHARACTERS
5DSW    TOACTLFUPD  
5F#G          ADN   5  1                   [UPDATE COUNT OF ACTLF BUFFER CHARACT
5FS6    TORECUPDATE 
5G?Q          SLC   1  2                   [UPDATE POINTER TO RECORD BUFFER 
5GRB          ADN   1  1
5H?2          SRC   1  2
5HQL          LDX   2  5                   [INSERT  
5J==          SMO      FX2  
5JPW          ADX   2  GZDUMP   
5K9G          SRC   2  2                   [CURRENT CHARACTER   
5KP6          SMO      FX2                 [INTO
5L8Q          DCH   6  GZDATA+1(2)         [ACTLF   
5LNB          LDX   2  FX2                 [BUFFER  
5M82          LDX   0  AWORK2(2)
5MML          ADN   0  4
5N7=          TXU   0  4                   [IS PRINT COUNT 4 LESS THAN MAXIMUM? 
5NLW          BCS      NOTEQUAL            [IF NOT JUMP 
5P6G          STO   1  AWORK4(2)           [ELSE REMEMBER 1POINTERS TO RECORD   
5PL6          STO   5  AWORK3(2)           [AND ACTLF BUFFERS   
5Q5Q          LDX   0  ACOMMUNE3(2)        [AND PRESERVE CURRENT SHIF   
5QKB          STO   0  ACOMMUNE2(2)        [CURRENT SHIFT   
5R52    TOANYMORE   
5RJL          LDX   0  1                   [ANY MORE
5S4=          SLC   0  2                   [CHARACTERS  
5SHW          SBX   0  GZPOINT(2)          [IN  
5T3G          SBX   0  GZLENGTH(2)         [RECORD? 
5TH6          BNZ   0  NEXTCHAR            [IF YES RETURN FOR NEXT CHARACTER
5W2Q          ADX   5  GZDUMP(2)
5WGB          LDX   0  GZLENGTH(2)         [ELSE UPDATE COUNT OF
5X22    TOUP
5XFL          STO   0  GZTRANS(2)          [RECORD CHARACTERS DEALT WITH
5X^=          ADN   5  1                   [COUNT SHIFT CHARACTER AT START OF   
5Y4B ...#UNS  ANIP  
5Y7G ...     STO   5  GZDUMP(2) 
5Y=L ...#UNS  ANIP  
5Y*Q ...#SKI
5YDW          DCA      ,STO,5,COUNT        [BUFFER AND INSERT COUNT IN CONTROL A
5YYG    #SKI  ATPOLTRP2 
5^D6          TRACEVER 5,EXCPCT 
5^XQ          UP
62CB    NOTEQUAL
62X2          SBN   0  5                   [IS COUNT OF CHARACTERS FOR PRINT
63BL          TXU   0  4                   [LINE ONE MORE THAN MAXIMUM? 
63W=          BCS      TOANYMORE           [IF NOT GO BACK FOR NEXT CHARACTER   
64*W          LDX   3  AWORK3(2)           [ELSE GET POINTER TO ACTLF   
64TG          ADN   3  1                   [BUFFER WHEN 4 CHARACTERS OF PRINT   
65*6          LDN   6  4                   [SHOT
65SQ          SRC   3  2
66#B          LDN   2  0
68=W          SMO      FX2                 [4   
68QG          LDX   5  GZDUMP   
69=6          SRC   5  2
69PQ          ADX   5  FX2  
69TM ...TOCONT  
69^J ...      SMO      FX1  
6=5F ...      LDCH  0  XCONT(2)            [AND MOVE IN 
6=9B          SMO      5
6=P2          DCH   0  GZDATA+1(3)         [CONTINUATION CHARACTERS 
6?8L ...      BCHX   2  £   
6?N= ...      BCHX   3  £   
6B6B          BCT   6  TOCONT   
6BL2          LDX   2  FX2  
6C5L          LDX   5  AWORK3(2)           [ACTLF BUFFER COUNT  
6CK=          ADN   5  4                   [ALLOW FOR CONTINUATION LINE 
6D4W          ADX   5  GZDUMP(2)           [AND SPACES AND NUMBER.....  
6DJG          LDX   0  AWORK4(2)           [COUNT OF RECORD 
6F46          SLC   0  2                   [CHARS DEALT WITH
6FHQ          SBX   0  GZPOINT(2)   
6G3B          BRN      TOUP 
6GH2    TOSHIFT 
6GS5 ...      SMO      FX1  
6H58 ...      BXE   6  TUPARROW,XDELSFT    [J. IF DELTA SHIFT   
6HB? ...      STO   6  ACOMMUNE3(2)        [JREMEMBER SHIFT 
6HMB ...XDELSFT 
6HYF ...      LDX   0  AWORK1(2)
6J9J ...      BNG   0  TORECUPDATE         [J. IF PREVIOUS CHARACTER SHIFT  
6JGM ...      LDX   0  GSIGN               [ELSE SET
6JRQ ...      ORS   0  AWORK1(2)
6K4T ...                                   [SHIFT KEY   
6K*Y ...      BNZ   5  TOACTLFUPD          [AND RETURN TO DEPOSIT CHARACTER 
6KM3 ...      BRN      TORECUPDATE         [1ST SHIFT CHAR ADD, IN AT END   
6KYB    [*****************************-*****************************************
6LD2    POINT5  
6LXL    [THIS ENTRY POINT TESTS FOR THE PRESENCE OF AN INVALID CHARACTER
6MC=    [AFTER AN ERROR CONDITION WHILE IMPLEMENTING A MODE 4 PERI-IF AN INVALID
6MWW    [CHARACTER IS FOUND IN THE CURRENT OR PRECEDING RECORD ACOMMUNE8 IS SET 
6NBG    [NEGATIVE-OTHERWISE ACOMMUNE8 IS SET TO ZERO-NOTE THE FILE WILL BE A SHI
6NW6    [SHIFT FILE AND THE LISTING WILL NOT BE SPECIAL 
6P*Q          STOZ     ACOMMUNE8(2)        [INITIALISE INVALID CHARACTER KEY
6PTB          STOZ     AWORK1(2)           [AND BACKSPACE KEY   
6Q*2          STOZ     ACOMMUNE7(2)        [END OF FILE KEY 
6QSL    PREV96REC   
6R#=          STEPAGAIN 
6RRW          LDX   0  FRH+1(3) 
6S?G          LDEX  7  FRH(3)   
6SR6          SLC   0  2                   [GET NUMBER OF UNUSED CHARACTERS 
6T=Q          ANDN  0  3                   [IN LAST WORD OF RECORD  
6TQB          BZE   0  TOFULLWORD          [J IF LAST WORD FULLY USED   
6W=2          SBN   7  1                   [ELSE ADJUST WORD COUNT  
6WPL    TOFULLWORD  
6X9=          ADN   3  2                   [POINT TO START OF DATA  
6XNW          SBN   7  2                   [NUMBER OF DATA WORDS
6Y8G          SLL   7  2                   [CONVERT TO CHARACTERS AND ADJUST
6YN6          ADX   7  0                   [FOR LAST WORD IF NECESSARY  
6^7Q    NEXT96CHAR  
6^MB          LDCH  6  FRH(3)   
7272          SBN   7  1                   [NUMBER OF REMAINING CHARS TO BE CHQ 
72LL          TXU   6  TUPARROW(1)         [IS IT DELTA SHIFT?  
736=          BCC      YESDELTA            [IF YES JUMP 
73KW          TXU   6  TLPTARROW(1)        [IS IT ILLEGAL #77?  
745G          BCC      TOERROR             [IF YES JUMP 
74K6          BRN      TOKVALID            [ELSE MUST BE VALID CHARACTER
754Q    YESDELTA
75JB          BZE   7  TEND96REC           [J IF ON LAST CHARACTER OF RECORD
7642          SLC   3  2                   [UPDATE POINTER  
76HL          ADN   3  1                   [TO  
773=          SRC   3  2                   [RECORD BUFFER   
77GW          LDCH  6  FRH(3)              [GET NEXT CHARACTER AND UPDATE COUNT 
782G          SBN   7  1                   [OF REMAINING CHARACTERS 
78G6          TXU   6  TUPARROW(1)         [IS IT DELTA SHIFT?  
78^Q          BCC      YESDELTA            [IF YES GET NEXT CHARACTER   
79FB          TXL   6  OCT64(1) 
79^2          BCS      TOERROR             [J IF ILLEGAL:LESS THAN #64  
7=DL          TXL   6  TLPTARROW(1) 
7=Y=          BCC      TOERROR             [J IF ILLEGAL:#77
7?CW          TXU   6  TLHSQBR(1)   
7?XG          BCC      TOERROR             [J IF ILLEGAL:#73
7#C6    TOKVALID
7#WQ          BZE   7  TEND96REC           [J IF ON END OF RECORD   
7*BB          SLC   3  2                   [ELSE UPDATE RECORD  
7*W2          ADN   3  1                   [CHARACTER POINTER AND   
7B*L          SRC   3  2
7BT=          BRN      NEXT96CHAR          [RETURN FOR NEXT CHARACTER   
7C#W    TEND96REC   
7CSG          LDX   0  AWORK1(2)           [ALREADY BACKSPACED ONE RECORD?  
7D#6          BNZ   0  TO96FIN             [IF YES JUMP 
7DRQ ...      MHUNTW   2,GOUT,INFOLIST  
7F?B          SMO      FX2  
7FR2          LDX   0  AWORK4   
7G=L          BPZ   0  NOT96SETUP          [J IF NOT 3URRENTLY LISTING SETUP
7GQ=          LDX   0  GNUM(2)  
7H9W          BZE   0  OKALL96FIN          [J IF ON FIRST RECORD OF SETUP   
7HPG          BRN      TO96BACK            [ELSE CHECK PRECEDING RECORD 
7J96    NOT96SETUP  
7JNQ          LDX   5  GNUM(2)             [ARE WE  
7K8B ...      MHUNTW   2,GOUT,INFO         [POSITIONED  
7KN2          LDX   4  GFLI(2)             [ON FIRST RECORD OF  
7L7L          TXU   4  5                   [LISTING 
7LM=          BCC      OKALL96FIN          [IF YES JUMP 
7M6W    TO96BACK
7MLG          BACKSPACE                    [ELSE POSITION ON PREVIOUS RECORD
7N66          LDN   0  1
7NKQ          STO   0  AWORK1(2)           [SET BACKSPACED KEY  
7P5B    #SKI  ATPOLTRP2 
7PK2          TRACEVER 5,BACKSP 
7Q4L          BRN      PREV96REC
7QJ=    TOERROR 
7R3W    #SKI  ATPOLTRP2 
7RHG          TRACEVER 6,INV96  
7S36          TRACE 6,LFEXCPIC  
7SGQ          LDX   7  AWORK1(2)           [BACKSPACED MARKER   
7T2B          ORX   7  GSIGN               [INVALID CHARACTER MARKER
7TG2    TO96FIN 
7T^L          STEP  
7WF=          STO   7  ACOMMUNE8(2) 
7WYW          STOZ     ACOMMUNE7(2) 
7XDG          BNZ   3  OKALL96FIN          [J IF NOT EOF
7XY6          LDX   0  GSIGN               [ELSE
7YCQ          SMO      FX2  
7YXB          STO   0  ACOMMUNE7           [SET KEY 
7^C2    OKALL96FIN  
7^WL          UP
82B=    #END
^^^^ ...36506370000200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1