TPOBJ867

(George Source)

Macros used: ACROSS, ALTLEN, AND, BXE, BXGE, BXL, BXU, CHECKA, COMPQU, FADDRESS, FDRMTEST, FI, FOUTMOVE, FOUTMVCH, FREECORE, GEOERR, HUNT, IF, LOCKCA, MENDAREA, MHUNT, NAME, NAMETOP, NEWCOMP, OLPEND, OUTMOP, PAIR, PMODES, SEG, SEGENTRY, SETNCORE, SETREP2, SPACECT, STEP, TEST, TESTREP2, TESTRPN2, THEN, TOPCA, TOPCA1, TRACE, TREP, UP, WHICHMOP

TPOBJ867.txt
229S ...      SEG      TPOBJ,867,SECT.FILE,,G505
22FL    #OPT  K0TPOBJ=K0OLP 
22^=    #OPT  K6TPOBJ=K6OLP 
23DW    #LIS  K0TPOBJ   
23JR ...[   
23NN ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23SK ...[     THIS EXCLUDES CODE UNDER #SKI G505
23YG ...[   
244C ...#OPT G505 = 0   
248# ...#SKI G505&1 
24#9 ...# WITH UGUG EDIT M505 (3-SHIFT WORKING FOR MOP ONLINE)  
24D6    # THIS SEGMENT DOES AN OFFLINE TP PERI (TYPE 1 MODES 0,4,8 OR 16
24XQ    #  COUNT 1-128)  ISSUED BY AN OBJECT PROGRAM
25CB    #     AWORK1=N/CH IN ADATA/ACONV
25X2    #           =#40000000 IF ENTRY FROM OFFREL 
26BL    #     AWORK2=B0-5   LAST SHIFT IN ADATA/ACONV   
26W=    #            B7=1   LAST CHARACTER OF PERI IS A DELTA.  
27*W    #            B9=1   IMPLEMENTING *LP PERIS. 
27KN    #            B18-23 BRANCH POINTER  
27TG    #     AWORK3=2      ADATA/ALINE CONTAINS WHOLE RECORD   
28*6    #           =1                /          2000 CHARS 
28SQ    #     AWORK4=B18-23 FILE MODE (#4,#24,#12)  
29S2    #            B0=1   END OF MULTIFILE HAS BEEN REACHED   
2=3S    #            B1=1   FILE IS NEARLY FULL 
2=?L    #   
2?=W          SEGENTRY K1TPOBJ,Z1TPOBJ  
2?K?          SEGENTRY K3TPOBJ,Z3TPOBJ  
2?XN          SEGENTRY K2TPOBJ,Z2TPOBJ  
2#=6    #   
2#PQ    MODE           #20100400           [PERI MODES  
2*9B    TABLE          #04010101           [FILE MODES & PTRS   
2*P2                   #24010302
2B8L                   #12030404
2BN=                   #00000000
2BTD ...#SKI G505&1 
2C2L ...MASKID         #70000706           [ PERMANENT BITS OF IDENTIND 
2C7W    MAX            +129                [1 GREATER THAN MAXIMUM  
2CCN    MAX4           +323 
2CMG    MASK1          #60077777
2D76    XBLANK         #76207620
2DLQ    XALPHA         #74  
2F6B    XBETA          #75  
2FL2    PLINK1  
2G5L          PAIR     TPOBJ,1  
2G7T    Z2TPOBJ                            [ENTRY FROM LPOBJ TO IMPLEMENT   
2G=4          STOZ     AWORK1(2)           [MODE 4 *LP PERIS.   
2G#?          LDN   0  #74  
2GBG          DCH   0  AWORK2(2)           [SET ALPHA SHIFT FOR BEGINNING.  
2GDP          LDX   3  APETADDR(2)  
2GGY          BRN      OKSH1
2GK=    Z1TPOBJ 
2H4W    #SKI  K6TPOBJ>799-799   
2HJG          TRACE    FX2,TPOBJ
2J46          LDCH  0  AWORK2(2)           [LAST SHIFT IN ADATA 
2JHQ          BNZ   0  OKSH                [J IF OK 
2K3B          LDN   0  #74  
2KH2          DCH   0  AWORK2(2)           [ALPHA FOR BEGINNING 
2L2L    OKSH  LDX   3  APETADDR(2)         [PTR TO APET 
2LG=          LOCKCA   3,ACAP(2)
2LQ4    OKSH1   
2L^W          LDX   4  ACAP(2)             [ADDRESS OF CA IN OBJ.PROG   
2MFG          LDN   5  ACA1(2)             [ADDRESS OF CA IN AOLPT  
2M^6          LDN   6  4
2NDQ          FOUTMOVE 3,4,5,6,HLOCK1      [MOVE CA TO OLPA 
2NG3          LDX   0  BIT9 
2NH#          ANDX  0  AWORK2(2)
2NJK          BZE   0  NOTLP               [J IF NOT IMPLEMENTING *LP PERIS.
2NKW          LDEX  4  ACA1(2)  
2NM7          LDX   0  4
2NND          SBN   0  4
2NPP          BZE   0  YM4                 [J IF MODE 4.
2NR2          ACROSS   LPOBJ,2  
2NS?    YM4 
2NTJ          SBS   4  ACA1(2)             [SET MODE =0 IN AOLPT CONTROL AREA.  
2NWT    NOTLP   
2NYB          STOZ     ACA2(2)             [ZEROISE REPLY WORD  
2TWT          PMODES   4,3  
2T^4          ANDN  4  #10  
2W3?          BNZ   4  NOTPACT             [J IF NOT COMPACT MODE   
2W5G          LDX   4  MASK1(1) 
2W7P          ANDS  4  ACA4(2)  
2W9Y    NOTPACT 
2W=3          LDX   0  AWORK4(2)
2W=6          BNG   0  OUTF2               [J IF END OF MULTIFILE   
2W=9          LDCT  0  #200 
2W=#          ANDX  0  AWORK4(2)
2W=C          BZE   0  NONEAR              [J IF FILE IS NOT NEARLY FULL
2W=G          LDCT  0  #400 
2W=K          BXE   0  AWORK1(2),NONEAR    [J IF ENTRY FROM OFFREL  
2W=N        LDX   0  BIT9   
2W=R          ANDX  0  AWORK2(2)
2W=W          BZE   0  YFULL               [TAKE FILEFULL ACTION IF NOT *LP PERI
2W=^          LDX   1  ACA4(2)  
2W?4          BCHX  1  £
2W?7          SBN   1  1
2W?=          FADDRESS 3,1,HLOCK2          [X1 ->  PFCC 
2W?*          LDN   0  #17  
2W?D          ANDX  0  0(1) 
2W?H          LDX   1  FX1  
2W?L          ERN   0  #11  
2W?P          BNZ   0  NONEAR              [J IF NOT THROW TO HEAD OF FORM  
2W?S    YFULL   
2W?X          SETREP2  FILEFULL 
2W#2          BRN      NEARLY              [SIMULATE FILEFULL CONDITIONS
2W#5    NONEAR  
2W#=          LDX   3  ACA3(2)             [COUNT   
2WRW          BZE   3  WC   
2WXR          LDX   0  BIT9 
2X3N          ANDX  0  AWORK2(2)
2X7K          BNZ   0  YLPERI              [J IF *LP PERI   
2X7R ...#SKI G505&1 
2X7^ ...(   
2X87 ...      LDX   0  MASKID(1)
2X8* ...      ANDS  0  IDENTIND(2)  
2X8H ...)   
2X8P ...#SKI G505&1 
2X8X ...(   
2X95 ...      LDN   0  #10  
2X9? ...      ANDX  0  ACA1(2)  
2X9F ...      IF       0,ZE                [ SHIFT PERI 
2X9M ...         LDN   6  6 
2X9T ...         ANDX  6  IDENTIND(2)   
2X=3 ...      AND      6,NZ                [ SHIFT DEVICE   
2X=9 ...      THEN  
2X=C ...         SLL   6  12
2X=K ...         ORS   6  IDENTIND(2)   
2X=R ...      FI
2X=^ ...)   
2X?G          BXGE  3  MAX(1),WC           [CHECK COUNT 0<COUNT<129 
2XDN    YLPERI  
2XKW          BXGE  3  MAX4(1),WC             [CHECK 0<COUNT<323
2XR6          LDX   4  ACA4(2)             [BUFFER ADDRESS  
2Y=Q          SLC   4  2
2YQB          ADX   3  4
2^=2          ADN   3  3
2^PL          SRL   3  2
329=          SRL   4  2                   [X4=BUFFER ADDRES
32NW          SBX   3  4                   [X3=BUFFER LENGTH
338G          CHECKA   4,3,RESV,APETADDR(2),,Q6,HLOCK2  
33N6    Q6    LDEX  5  ACA1(2)             [MODE
347Q    Q7    LDCH  6  MODE(1)  
34MB          BXE   5  6,OKPM              [PERI MODE IS OK 
3572          BCHX  1  £
35LL          BNZ   6  Q7   
366=          BRN      MOLE                [J.IF MODE NOT RECOGNISED
36KW    OKPM
375G    OKAL  SBX   1  FX1  
37K6          LDX   3  FX1  
384Q          LDX   6  FSCTM(2)            [FILE MODE   
38JB          ANDN  6  #10  
3942          LDEX  0  FSCTM(2)            [MODE
39HL          BNZ   6  STOFM               [J IF GRAPHIC
3=3=          ERN   0  6                   [CHANGE TO PREVIOUS  
3=GW    STOFM DEX   0  AWORK4(2)           [STORE FILE MODE 
3?2G    NEXMD LDCH  6  TABLE(3)            [NEXT MODE FROM TABLE
3?G6          BNZ   6  OKFM 
3?^Q          GEOERR   1,FILEMODE   
3#FB    OKFM  BXE   6  0,MODOK             [FILE MODE IS OK 
3#^2          ADN   3  1
3*DL          BRN      NEXMD               [J TO TEST NEXT MODE 
3*Y=    MODOK ADX   3  1
3BCW          BZE   1  Q8                  [J IF PUNCH BLANKS   
3BXG          LDCH  0  TABLE(3)            [BRANCH PTR  
3CC6          DEX   0  AWORK2(2)           [STORE PTR   
3CWQ    Q8    LDX   0  ALIMEY(2)           [LIMIT   
3DBB    #SKI
3DW2          BNG   0  Q9                  [J IF NOTLIMIT   
3F*L          BXL   0  ACOUNT(2),OUTL      [J IF OUTPUT LIMIT EXCEEDED  
3FT=    Q9    LDX   1  FX1  
3G#W          HUNT     3,ADATA,ACONV
3GSG          BPZ   3  PRESB               [J IF BLOCK EXIST
3H#6          SETNCORE 35,3,ADATA,ACONV    [SET UP THE BUFFER BLOCK 
3HRQ          STOZ     A1+1(3)             [INITIALIZE 2ND WORD OF RED TAPE 
3J?B    PRESB LDX   6  ACA3(2)             [N/CH
3JR2          SBN   5  #20  
3K=L          BNZ   5  NOBL                [J IF NOT #20
3KQ=          SLL   6  1                   [N/CH.2  
3L9W    NOBL  STO   6  AWORK1(2)           [N/CH IN ADATA/ACONV 
3LPG          ADN   6  15   
3M96          SRL   6  2                   [N/W 
3MNQ          BXL   6  ALOGLEN(3),NOCHL    [TEST BLOCK LENGTH   
3N8B          ALTLEN   3,6  
3NN2          HUNT     3,ADATA,ACONV
3P7L    NOCHL LDX   7  3                   [REMEMBER PTR TO ADATA/ACONV 
3PM=          LDX   6  AWORK1(2)           [N/CH IN ADATA/ACONV 
3Q6W          ADN   3  A1+2                [BUFFER PTR  
3QLG          WHICHMOP NOMOP               [J IF NOT MOP/MF 
3R66          LDN   0  2
3RKQ          STO   0  AWORK3(2)           [TRANSFER WHOLE RECORD   
3S5B          BNZ   5  OUTMV                [J IF NOT #20   
3SK2          BRN      ROUTS
3T4L    NOMOP BNZ   5  OUTMV               [J IF NOT #20
3TJ=          LDEX  0  AWORK4(2)           [FILE MODE   
3W3W          SBN   0  #24  
3WHG          BZE   0  ROUTS               [J IF BLANKS 
3X36          STOZ     AWORK1(2)
3XGQ          BRN      REPWD               [SET REPLY WORD  
3Y2B    ROUTS SBN   6  1                   [ROUND DOWN  
3YG2          SRL   6  2                   [N/W TO MOVE 
3Y^L          LDX   0  XBLANK(1)           [^ ^ =BLANKS 
3^F=          STO   0  0(3) 
3^YW          LDX   4  3
42DG          ADN   4  1
42Y6          BZE   6  ONEWD               [NO CHARS TO MOVE
43CQ          SMO      6
43XB          MOVE  3  0                   [MOVE BLANKS TO ADATA/ACONV  
44C2    ONEWD LDX   6  AWORK1(2)           [N/CH IN ACONV   
44WL          LDCH  5  AWORK2(2)
45B=          BRN      STOZ 
45TW    OUTMV LDX   5  3                   [PTR TO BUFFER   
46*G          LDX   3  APETADDR(2)  
46T6          LDX   4  ACA4(2)  
46WC          LDX   0  BIT9 
46XN          ANDX  0  AWORK2(2)
46Y^          BZE   0  NOLP                [J IF NOT *LP PERI   
472=          LDN   0  1
473H          SBS   0  ACA3(2)             [REMOVE PFCC FROM COUNT OF   
474S          SBS   0  AWORK1(2)           [CHARACTERS IN THIS PERI.
4765          SBN   5  1
477B          BCHX  5  £
478M          BCHX  5  £
479Y          BCHX  5  £
47?9    NOLP
47#Q          FOUTMVCH 3,4,5,6,HLOCK2      [MOVE OUT OF OBJ PROGRAM 
47DM          LDX   0  BIT9 
47JJ          ANDX  0  AWORK2(2)
47NF          BNZ   0  NODEL               [IGNORE PREVIOUS PERI IF *LP 
47SB        LDEX  0  ACA1(2)
48#2          ANDN  0  #10  
48RL          BNZ   0  NODEL               [J IF PERI MODE IS GRAPHIC.  
49?=          LDCT  0  #002                [TEST IF BIT SET IN AWORK2 INDICATING
49QW          ANDX  0  AWORK2(2)           ['LAST CH. OF PREVIOUS PERI WAS A DEL
4==G          ERS   0  AWORK2(2)           [AND IF SO CLEAR BIT IN AWORK2 AND SE
4=Q6          SMO      7                   [IN 2ND WORD OF RED TAPE IN ACONV.   
4?9Q          ORS   0  A1+1 
4?PB          LDX   3  7
4#92          ADN   3  A1+2 
4#NL          SBN   6  1
4*8=          SRC   6  2
4*MW          ADX   3  6
4B7G          LDCH  0  0(3)                [TEST IF LAST CH OF THIS PERI IS A DE
4BM6          SBN   0  #76  
4C6Q          BNZ   0  NODEL               [J IF NOT.   
4CLB          LDCT  0  #002 
4D62          ORS   0  AWORK2(2)
4DKL    NODEL   
4F5=          WHICHMOP TPERI
4FJW          BRN      ONEWD
4G4G    TPERI LDEX  5  AWORK2(2)           [BRANCH PTR  
4GJ6          ADN   5  PTR(1)   
4H3Q    PTR   BRN      (5)  
4HHB          BRN      STOMD               [CONVERSION  
4J32          BRN      TSHIF               [CONVERSION IF TERM SHIFT=BETA   
4JGL          BRN      NOCON               [NO CONVERSION   
4K2=          BRN      STOMD               [SHIFT-GRAPHIC   
4KFW    #   
4K^G    TSHIF LDCH  0  AWORK2(2)           [LAST SHIFT  
4LF6          SBN   0  #75  
4LYQ          BNZ   0  NOCON               [J IF ALPHA  
4MDB    STOMD LDCH  0  AWORK2(2)           [LAST SHIFT  
4MY2          SLL   0  6
4NCL          LDN   5  3
4NX=          ANDX  5  ACA3(2)  
4PBW          SRC   5  2
4PWG          ORX   5  0
4QB6          LDX   3  7                   [RESTORE PTR TO ADATA/ACONV  
4QPT          LDCT   0  #002               [PRESERVE STATE OF DELTA BIT.
4R5J          ADN   0  #77                 [AND PFCC FOR *LP PERIS. 
4RF?          ANDS  0  A1+1(3)  
4RT2          ORS   5  A1+1(3)             [UPDATE RED TAPE 
4S#L          LDX   0  ACA3(2)  
4SS=          ADN   0  11   
4T?W          SRL   0  2
4TRG          STO   0  A1(3)               [N/W IN RECORD   
4W?6    NEWCN LDEX  6  ACA1(2)             [PERI MODE   
4WQQ          LDX   0  6
4X=B          ANDN  0  #10  
4XQ2          BNZ   0  MODGR               [J IF GRAPHIC
4Y9L          ORN   6  #20                 [ALLCHARS
4YP=    MODGR LDEX  7  AWORK4(2)           [FILE MODE   
4^8W          TRANSFOR 6,7  
4^NG          TESTRPN2 STOP,REST
5286          LDN   0  2
52MQ          STO   0  AWORK3(2)           [ALINE CONTAINS WHOLE RECORD 
537B    REST
53M2          HUNT     3,ADATA,ACONV
546L          LDX   7  3                   [REMEMBER PTR
54L=          LDX   0  A1(3)               [N/W IN NEW RCD  
555W          SBN   0  2                   [-RED TAPE   
55KG          SLL   0  2
5656          LDCH  4  A1+1(3)  
56JQ          SRL   4  4                   [N/CH IN LAST WORD   
574B          BZE   4  OKCH 
57J2          SBN   0  4
583L          ADX   0  4
58H=    OKCH  STO   0  AWORK1(2)           [UPDATE N/CH IN ADATA/ACONV  
592W          BNZ   0  NOCON               [J IF ACONV IS NOT EMPTY 
59GG          LDX   0  AWORK3(2)
5=26          LDN   6  0                   [N/CH=0  
5=FQ          BZE   0  REPWD
5=^B          LDCH  5  AWORK2(2)
5?F2          BRN      SEARC
5?YL    NOCON LDX   0  ACA1(2)  
5#D=          ORX   0  AWORK4(2)           [FILE MODE   
5#XW          ANDN  0  #10  
5*CG          LDX   6  AWORK1(2)           [N/CH TO MOVE
5*X6          BNZ   0  SHICH               [J IF #10
5BBQ          LDX   3  7                   [PTR TO ACONV
5BWB    TEST  LDX   4  AWORK1(2)           [N/CH IN ACONV   
5BY^          LDX   0  BIT9 
5C3J          ANDX  0  AWORK2(2)
5C67          BZE   0  NOLP4               [LP PERI ?   
5C8Q          BZE   4  SHICH                   [CHECK FOR 0 TX LEN  
5C?*    NOLP4   
5CB2          LDCH  5  AWORK2(2)
5CC5          HUNT     2,ADATA,ALINE
5CD8          BPZ   2  NOLP7
5CF?          SBX   2  2
5CGB          BRN      NOLP5
5CHF    NOLP7   
5CJJ          LDX   2  A1(2)
5CKM    NOLP5 LDX   0  4
5CLQ          ADX   2  6
5CMT          SBN   2  2009 
5CNY          BNG   2  NOLP6
5CQ3          SBX   0  2
5CR6          SBN   0  1
5CS9    NOLP6 LDX   2  0
5CTL          LDCT  0  #002              [TEST IF BIT SET IN ACONV INDICATING   
5D*=          ANDX  0  A1+1(3)             ['LAST CH OF PREVIOUS PERI WAS A DELT
5DSW          ERS   0  A1+1(3)  
5F#G          BNZ   0  TAST                [IF SO CLEAR BIT AND JUMP.   
5FS6    TCHAR LDCH  0  A1+2(3)             [LOAD NEXT CHARACTER 
5G?Q          BXE   0  XALPHA(1),STORE     [J IF ALPHA  
5GRB          BXE   0  XBETA(1),STORE      [J IF BETA   
5H?2          SBN   0  #76  
5HQL          BNZ   0  NOSH                [J IF NO SHIFT   
5J==          BCHX  3  £
5JG4          SBN   2  1
5JPW          BCT   4  TAST 
5K9G          BRN      STOZ                [J IF NO MORE CHARS  
5KP6    TAST  LDCH  0  A1+2(3)             [LOAD SUCCESSOR  
5L8Q          SBN   0  #32  
5LNB          BNZ   0  NOSH                [J IF NOT N/L
5LQ#          LDX   2  FX2  
5LS?          LDX   0  BIT9 
5LY8          ANDX  0  AWORK2(2)
5M45          BNZ   0  WRONGLPCH           [ILLEGAL CH IF *LP PERI  
5M82          LDN   0  2
5MML          STO   0  AWORK3(2)           [SET SWITCH  
5N7=          SLC   3  2
5NLW          ADN   3  1
5P6G          LDX   0  7                   [PTR TO ACONV
5PL6          SLC   0  2
5Q5Q          SBX   3  0                   [N/CH UP TO N/L  
5QKB          SBS   3  AWORK1(2)           [UPDATE N/CH IN ACONV
5R52          SBN   3  2                   [-N/L
5RJL          LDX   6  3
5S4=          BRN      SEARC
5SHW    SHICH   
5T3G          LDN   5  #74  
5TH6          BRN      STOZ 
5W2Q    STORE   
5W=J          BZE   2  NOSH 
5WGB          BNG   2  NOSH 
5WQ8          LDX   5  0
5X22    NOSH  BCHX  3  £
5X9S          SBN   2  1
5XFL          BCT   4  TCHAR               [J TO TEST NEXT CHAR 
5XMF    STOZ  LDX   2  FX2  
5XT#          STOZ     AWORK1(2)
5Y38    SEARC   
5Y56          LDX   0  BIT9 
5Y74          ANDX  0  AWORK2(2)
5Y92          BZE   0  NLP                 [J IF NOT *LP PERI   
5Y=Y          LDX   3  7
5Y#W          NAME     3,ADATA,ALINE       [RENAME ACONV AN ALINE FOR OUTPUT.   
5YBS          ADN   6  8                   [UPDATE TWO WORDS OF RED TAPE.   
5YDQ          STO   6  A1(3)               [RECORD HEADER IN CHARS. 
5YGN          LDCH  0  AWORK2(2)
5YJL          SLL   0  6
5YLJ          ORS   0  A1+1(3)             [LAST SHIFT OF PREVIOUS PERI.
5YNG          DCH   5  AWORK2(2)           [TERMINAL SHIFT OF THIS PERI.
5YQD          BRN      SETRT
5YSB    NLP 
5YW#          HUNT     3,ADATA,ALINE
5YYG          BPZ   3  OKBL                [J IF ALINE EXIST
5^D6          SETNCORE 35,3,ADATA,ALINE 
5^XQ          HUNT     1,ADATA,ACONV
62CB          LDX   7  1                   [REMEMBER PTR TO ACONV   
62X2          LDN   0  8                   [N/CH IN ALINE   
63BL          STO   0  A1(3)
63W=          LDCH  0  AWORK2(2)
6464          SLL   0  6
64*W          ORN   0  #41  
64KN          STO   0  A1+1(3)             [TERMINAL SHIFT PLUS PFCC.   
64TG    OKBL
65*6          DCH   5  AWORK2(2)
65SQ          LDX   4  A1(3)
66#B          ADX   4  6                   [+N/CH FROM ACONV
66S2          LDX   1  4
67?L          ADN   4  3
67R=          SRL   4  2
68=W          LDX   0  ALOGLEN(3)          [LENGTH OF ALINE 
68QG          BXGE  0  4,OKLEN             [J IF OK 
69=6          SBN   4  503  
69PQ          BNG   4  OKEX 
6=9B          SBN   1  2008 
6=P2          SBX   6  1                   [UPDATE N/CH TO MOVE 
6?8L          ADS   1  AWORK1(2)           [UPDATE N/CH IN ACONV
6?N=          LDX   0  AWORK3(2)           [SWITCH  
6#7W          ADS   0  AWORK1(2)           [ADD 2 CHARS FOR N/L 
6#MG          LDN   0  1
6*76          STO   0  AWORK3(2)           [SWITCH FOR TRANSFER INTO FURB   
6*LQ          NGN   4  1
6B6B    OKEX  ADN   4  503                 [X4=NEW LENGTH   
6BL2          ALTLEN   3,4                 [CHANGE ALINE'S LENGTH   
6C5L          HUNT     3,ADATA,ACONV
6CK=          LDX   7  3                   [REMEMBER PTR
6D4W          HUNT     3,ADATA,ALINE
6DJG    OKLEN LDX   5  A1(3)               [N/CH IN ALINE   
6F46          SRC   5  2
6FHQ          ADX   5  3
6G3B          ADN   5  A1                  [PTR FOR MOVE
6GH2          LDX   4  7                   [PTR TO ACONV
6H2L          ADN   4  A1+2 
6HG=          BZE   6  NOTMV
6H^W          BNG   6  NOMV                [IE NEWLINE SPLIT OVER TWO PERIS.
6JFG          SMO      6
6J^6          MVCH  4  0                   [MOVE RECORD TO ALINE
6KDQ    NOMV
6KYB          ADS   6  A1(3)               [UPDATE N/CH IN ALINE
6LD2    NOTMV LDX   5  AWORK1(2)           [N/CH IN ACONV   
6LXL          BZE   5  NEMPT
6MC=          LDX   0  4                   [PTR TO NEW RECORD   
6MWW          LDX   1  AWORK3(2)           [SWITCH  
6NBG          BZE   1  NLNOT               [J IF NO N/L 
6NW6          SBN   1  1                   [
6P*Q          BZE   1  NLNOT               [J IF RECORD CONTAINS 2000 CHARS 
6PTB          BCHX  0  £
6Q*2          BNG   6  NLNOT               [J IF NEWLINE SPLIT OVER 2 PERIS.
6QSL          BCHX  0  £                   [IGNORE N/L  
6R#=    NLNOT LDX   1  7                   [PTR TO ACONV
6RRW          ADN   1  A1+2 
6S?G          SMO      5
6SR6          MVCH  0  0                   [MOVE RECORD BACKWARD
6T=Q    NEMPT LDX   0  A1(3)               [N/CH IN ALINE   
6TQB          SBN   0  2008 
6W=2          BZE   0  SETRT               [J IF RECORD=2000 CHARS  
6WPL          LDX   0  AWORK3(2)           [SWITCH FOR N/L  
6X9=          BZE   0  REPWD
6XNW    SETRT LDX   1  A1(3)
6Y8G          SRC   1  2
6YN6          LDCT  0  #600 
6^7Q          ANDX  0  1
6^MB          LDEX  4  AWORK4(2)           [FILE MODE   
7272          SBN   4  #12  
72JB          BNZ   4  NGRAPH              [J IF NOT GRAPHIC
72^Q          ORN   0  #41  
73C6          BRN      TARGR
73SG    NGRAPH  
749W          ORX   0  A1+1(3)           [PFCC +LAST SHIFT. 
74M=    TARGR   
754Q          STO   0  A1+1(3)             [SET 2ND WORD RT 
75JB          NGX   0  A1(3)
7642          ANDN  0  3                   [N/CH TO SPACEFILL LAST WORD 
76HL          BZE   0  NOSPA               [J IF LAST WORD IS FULL  
773=          LDN   4  #20                 [SPACE   
77GW    STOR  SMO      3
782G          DCH   4  A1(1)               [INSERT SPACE
78G6          BCHX  1  £
78^Q          BCT   0  STOR 
7933    NOSPA   
794#          LDX   0  BIT9                [LP PERI ?   
795K          ANDX  0  AWORK2(2)
796W          BZE   0  NOTRUC   
7987          ADX   1  3
799D    SPACES  
79=P          SBN   1  1                     [ELIMINATE SPACES  
79#2          LDX   4  A1(1)
79*?          SPACECT 4,2,SPACES
79BJ          SBX   1  3                    [X2 GIVES NO OF SPACES IN   
79CT          ADN   1  1                    [LAST WORD  
79F6          LDX   0  2                    [0 SP = 0 VALID CHAR
79GC          SLC   2  1                     [1 SP =3 VALID CHARS   
79HN          ADX   0  2                     [2 SP = 2 VALID CHARS  
79J^          ANDN  0  3                     [3 SP = 1 VALID CHAR   
79L=          SRC   0  2
79MH          LDCT  2  #600                  [PUT NEW NO OF VALID CHARS 
79NS          ORS   2  A1+1(3)  
79Q5          ERS   2  A1+1(3)               [IN LAST WORD  
79RB          ORS   0  A1+1(3)  
79SM          LDX   2  FX2  
79TY    NOTRUC  
79X9          STO   1  A1(3)                  [NO OF WORDS IN RECORD
79^2          WHICHMOP NOMF                [J IF NOT MOP/MF 
7=DL          NAMETOP  3,FILE,FRB   
7=Y=          LDX   5  AWORK1(2)           [NEGATIVE IF ENTRY FROM OFFREL   
7?CW          ORX   5  FX2  
7?XG          OUTMOP   OLPFL,K1TPOBJ       [OUTPUT RECORD TO MOP/MF 
7#C6    NOMF
7#WQ          LDX   4  1                   [REMEMBER RECORD LENGTH  
7*BB          LDX   5  3                   [PTR TO ALINE
7*W2          LDCT  0  #400 
7B*L          BXU   0  AWORK1(2),STEP   
7BT=          STEP     ,0(1),FORCED        [ENTRY FROM OLPODD   
7C#W          BRN      TESTR
7CSG    STEP
7D#6          STEP     ,0(1),ANSWER 
7DRQ    TESTR   
7F?B          TESTREP2 APPWAIT,WAIT,FNEARLY,SETSW,COORED,SADAT,GLUTTON,TOOMUCH,-
7FR2                   FILEFULL,WAIT
7G=L    TREP  LDX   2  5
7GQ=          BRN      RMOVE
7H9W    NOAPP LDCT  0  #400 
7HPG          BXE   0  AWORK1(2),UP        [J IF LAST TRANSFER  
7J96          BRN      OUTF                [OUTPUT 'FILE FULL'  
7JNQ    SETSW LDCT  0  #200 
7K8B          ORS   0  AWORK4(2)           [SET SWITCH  
7L7L    SADAT HUNT     2,ADATA,ALINE
7LM=    RMOVE ADN   2  A1   
7M6W          SMO      4                   [MOVE RECORD TO FUWB 
7MLG          MOVE  2  0
7N66          LDX   3  2
7NKQ          LDX   2  FX2  
7NMN          LDX   0  BIT9 
7NPL          ANDX  0  AWORK2(2)
7NRJ          BZE   0  NOFREE              [J IF NOT *LP PERI.  
7NTG          SBN   3  A1   
7NXD          FREECORE 3                   [FREE ALINE  
7N^B          BRN      REPWD
7P3#    NOFREE  
7P5B          LDN   0  8
7PK2          STO   0  0(3)                [N/CH IN ALINE   
7Q4L          LDCH  0  AWORK2(2)           [TERMINAL SHIFT  
7Q9S          SLL   0  6
7QC2          ORN   0  #41  
7QJ=          STO   0  1(3) 
7R3W    OLPFL LDX   6  AWORK1(2)           [N/CH IN ACONV   
7RHG          LDCT  0  #400 
7S36          BXE   0  AWORK1(2),UP        [J IF LAST TRANSFER  
7SGQ          STOZ     AWORK3(2)           [UNSET SWITCH
7T2B          BZE   6  NOMOR               [NO CHARS IN ACONV   
7TG2          HUNT     3,ADATA,ACONV
7T^L          LDX   7  3
7WF=          BRN      NOCON                [MORE CHARS IN ACONV
7WYW    NOMOR MHUNT    3,ADATA,AREST
7XDG          BNG   3  REPWD               [J IF WOT EXISTING   
7XY6          LDX   0  A1(3)              [ 
7YCQ          BZE   0  REPWD               [J IF EMPTY  
7YXB          MHUNT    1,ADATA,ACONV
7^C2          BNG   1  NOACV               [J IF NOT EXISTING   
7^WL          STOZ     A1(1)
82B=          NAMETOP  1,ADATA,AREST
82TW    NOACV NAMETOP  3,ADATA,ACONV
83*G          LDX   0  A1(3)               [N/W IN ACONV
83T6          SBN   0  2
84#Q          SLL   0  2
84SB          LDCH  1  A1+1(3)  
85#2          SRL   1  4
85RL          BZE   1  OKC  
86?=          SBN   0  4
86QW          ADX   0  1
87=G    OKC   STO   0  AWORK1(2)           [N/CH IN ACONV   
87Q6          BRN      NEWCN
889Q    REPWD LDN   5  0
88PB    OLPREP  
8992          LDX   1  APETADDR(2)  
89NL          LDX   2  ACAP(2)             [PTR TO PERI CA  
8=8=          ADN   2  1
8=MW          FADDRESS 1,2,HLOCK1   
8?7G          STO   5  0(2)                [REPLY WORD  
8?M6          OLPEND
8#6Q          BRN      K1TPOBJ  
8#8F    WRONGLPCH   
8#=8          LDX   3  ACAP(2)  
8#?X          ADN   3  1
8#*L          FADDRESS APETADDR(2),3,HLOCK1,2   
8#C*          SBN   4  1                   [STORE UNEXPIRED CHARACTER COUNT IN  
8#F4          STO   4  0(3)                [REPLY WORD OF OBJECT PROGRAM.   
8#GR          LDN   3  FYINVCC  
8#JG          BRN      XILL 
8#LB    MOLE
8*62          LDN   3  FYMODE   
8*KL    XILL
8B5=          CALL  7  TOPCA               [CHANGE TO PCA   
8BJW          ACROSS   OLPODD,4            [FOR UNPLUG/ILLEGAL  
8C4G    WC  
8CJ6          LDN   3  FYCOUNT  
8D3Q          BRN      XILL 
8DHB    RESV
8F32          LDN   3  FYNOBUF  
8FGL          BRN      XILL 
8G2=    OUTF
8GFW          COMPQU   OUTF2
8G^G          BRN      NEWCOMP  
8HF6    OUTF1   
8HYQ          LDX   0  GSIGN
8JDB          ORS   0  AWORK4(2)
8JY2    OUTF2   
8KCL          LDX   0  ACA1(2)  
8KX=          SRL   0  6
8LBW          ANDN  0  #777 
8LWG          SBN   0  #300 
8MB6          BNZ   0  NMON                [J IF NOT ADD MODE #30000
8MTQ          LDCT  5  #50  
8N*B          BRN      OLPREP   
8NT2    NEWCOMP 
8P#L          LDCT  0  #200 
8PS=          ERS   0  AWORK4(2)           [UNSET FNEARLY SWITCH
8Q?W          BRN      K1TPOBJ  
8QRG    NMON
8R?6          LDN   3  FYOUTFULL
8RQQ          BRN      OUTP 
8S=B    OUTL
8SQ2          LDN   3  FYOUTPUT 
8T9L    OUTP
8TP=          LDX   4  FTYPNO(2)           [FOR OUTPACKING  
8W8W          BRN      XILL 
8WNG    WAIT
8X86          LDCT  0  #400 
8XMQ          BXE   0  AWORK1(2),UP        [J IF LAST TRANSFER  
8Y7B    NEARLY  
8YM2          FDRMTEST APPWAIT,NODRM       [TOST IF DRM 
8^6L          LDCT  5  #420                [REPLY WORD  
8^L=          TESTREP2 APPWAIT,WAIT1
925W          LDCT  5  #410                [REJECTED INOPERABLE 
92KG    WAIT1   
9356          LDX   1  APETADDR(2)  
93JQ          BRN      OLPREP              [J TO SET REPLY WORD 
944B    TOOMUCH 
94J2          CALL  7  TOPCA               [CHANGE TO PCA   
953L          ACROSS   OLPODD,2 
95H=    NODRM   
962W          TESTREP2 FILEFULL,OUTF
96GG          CALL  7  TOPCA               [CHANGE TO PCA   
9726          ACROSS   OLPODD,1            [LONGWAIT FOR BLOCK TO BE DESTROYED  
97FQ    Z3TPOBJ 
97^B          WHICHMOP TRANREST 
98F2          BRN      UP                  [DO NOT APPEND IF MOP
98YL    TRANREST
99D=          HUNT  3,ADATA,ALINE   
99XW          BNG   3  UP                  [J IF NO BUFFER BLOCK
9=CG          LDX   0  A1(3)               [N/CH IN ALINE   
9=X6          SBN   0  8
9?BQ          BZE   0  UP   
9?WB          LDCT  0  #400 
9#B2          STO   0  AWORK1(2)           [AWRK1=#40000000 IF ENTRY FROM OFFREL
9#TL          BRN   SETRT   
9**=    UP    UP
9*SW    TOPCA   
9B#G          LDX   1  FX1  
9BS6          TOPCA1   PLINK1(1)
9C?Q          EXIT  7  0
9CRB    #   
9D?2          MENDAREA 200,K99TPOBJ 
9DQL    #END
^^^^ ...03052052000100000000