CPOBJ6

(George Source)

Macros used: ACROSS, BXL, CHECKA, COMPQU, FADDRESS, FDRMTEST, FOUTMOVE, LOCKCA, LOOPD, MENDAREA, NEXTD, OLPEND, OUTMOP, PAIR, PMODES, REM, SEGENTRY, SETUPCORE, SPACECT, STEP, TESTREP2, TOPCA, TOPCA1, WHICHMOP

CPOBJ6.txt
22FL    #OPT  K0CPOBJ=K0OLP 
22^=    #OPT  K6CPOBJ=K6OLP 
23DW    #LIS  K0CPOBJ   
23YG    #SEG  CPOBJ6                       [LADISLAV KUTILEK
24D6    # THIS SEGMENT PROCESSES OFF-LINE *CP PERIS 
24XQ                   8HCPOBJ  
25CB          SEGENTRY K1CPOBJ,Z1CPOBJ  
25X2    MAX            +2001
26BL    PLINK1  
26W=          PAIR     CPOBJ,1  
27*W    Z1CPOBJ 
27TG          LDX   0  ALIMEY(2)
28*6    #SKI
28SQ          BNG   0  Q1                  [J IF NOTLIMIT   
29#B          BXL   0  ACOUNT(2),OUTL      [J IF OUTPUT LIMIT EXCEEDED  
29S2    Q1  
2=?L          LDX   3  APETADDR(2)         [PCA ADDRESS 
2=R=          LOCKCA   3,ACAP(2),1  
2?=W          LDX   4  0(1)                [TYPE/MODE WORD  
2?QG          LDX   1  FX1  
2#=6          ANDN  4  #7777
2#PQ          BZE   4  OKMOD
2*9B          ANDN  4  #7677               [TEST IF MODE #100   
2*P2          BNZ   4  MOLE                [J IF ILLEGAL
2B8L          LDCT  0  #100 
2BN=          ORS   0  ALTMARK(2)          [SET MARK IF MODE #100   
2C7W    OKMOD LDN   4  4
2CMG          LDX   6  ACAP(2)  
2D76          LDN   7  ACA1(2)  
2DLQ          FOUTMOVE 3,6,7,4,HLOCK1      [MOVE CA TO AOLPT
2F6B          LDX   0  AWORK4(2)
2FL2          BNG   0  OUTF2
2G5L          LDX   6  ACA3(2)  
2GK=          BZE   6  WC                  [ZERO COUNT ILLEGAL  
2H4W          TXL   6  MAX(1)   
2HJG          BCC      WC                  [COUNT TOO BIG OR -VE
2J46          ADN   6  3                   [ROUND UP
2JHQ          SRL   6  2                   [CONVERT TO WORDS
2K3B          LDCT  5  #600 
2KH2          ANDX  5  ACA4(2)  
2L2L          BNZ   5  WA                  [CHAR ADDRESS ILLEGAL
2LG=          PMODES   1,3  
2L^W          LDX   5  ACA4(2)  
2MFG          ANDN  1  #10  
2M^6          BNZ   1  MOKA 
2NDQ          ANDX  5  BSP16               [ELSE TAKE 15 BIT ADDRESS
2NYB    MOKA
2PD2    #SKI  G4
2PXL          LDN   4  CHREAD   
2QC=          CHECKA   5,6,RV1,3,4,MOKB,HLOCK2  
2QWW    MOKB  LDX   4  ACA3(2)             [CHAR COUNT  
2RBG          ANDN  4  3
2RW6          LDX   3  5                   [ACA4
2S*Q          LOOPD    APETADDR(2),3,6,HLOCK2   
2STB          NGX   4  4
2T*2          ANDN  4  3                   [N/UNUSED CHARS  
2TSL          BZE   4  TESTW               [J IF ALL CHARS ARE USED 
2W#=          LDN   2  0
2WRW    NXT   ADN   2  6
2X?G          BCT   4  NXT  
2XR6          LDX   7  0(3)                [LAST WORD   
2Y=Q          LDX   0  ACES                [SPACES  
2YQB          SRL   7  0(2) 
2^=2          SLL   70 0(2)                [SPACEFILL UNUSED CHARS  
2^PL          LDX   1  7
329=          BRN      TESTWL   
32NW    SPACES  
338G          NEXTD    3,6,TESTW
33N6          LDN   4  0                   [NO USED CHARS   
347Q          BRN      REM  
34MB    TESTW LDX   1  0(3)                [LAST WORD   
3572          LDX   7  1
35LL    TESTWL  
366=          SPACECT  1,2,SPACES          [COUNT SPACES
36KW          LDN   4  4
375G          SBX   4  2                   [N/USED CHARS
37K6    REM   REM      6                   [N/WORDS 
384Q    STEP  ADN   6  2
38JB          WHICHMOP NOMOP               [J IF NOT MOP/MF 
3942          SETUPCORE 6,3,FILE,FRB       [OUTPUT BUFFER   
39HL          ADN   3  A1   
3=3=          BRN      NOSTEP   
3=GW    NOMOP   
3?2G          LDX   2  6
3?G6          STEP  ,FRH(2),ANSWER  
3?^Q          TESTREP2 APPWAIT,WAIT,FILEFULL,WAIT,GLUTTON,TOOMUCH   
3#FB    NOSTEP  
3#^2          STO   6  FRH(3)              [1ST RED TAPE
3*DL          SRC   4  2
3*Y=          ORN   4  #41  
3BCW          STO   4  FRH+1(3)            [2ND RED TAPE
3BXG          ERN   4  #41  
3CC6          SBN   6  2
3CWQ          LDX   1  APETADDR(2)  
3DBB          BZE   6  NEND                [J IF NO DATA
3DW2          ADN   3  FRH+2
3F*L          BZE   4  NEVEN               [J IF NO ODD CHARS   
3FT=          SBN   6  1                   [REDUCE COUNT
3G#W          SMO      6
3GSG          STO   7  0(3)                [STORE ODD CHARS 
3H#6          BZE   6  NEND 
3HRQ    NEVEN   
3J?B          LDX   2  5
3JR2          FOUTMOVE 1,2,3,6,HLOCK2   
3K=L          LDX   2  FX2  
3KQ=    NEND
3L9W          WHICHMOP RAPET               [J IF NOT MOP/MF 
3LPG          LDN   5  0
3M96          OUTMOP   RAPET,K1CPOBJ       [OUTPUT TO MOP/MF
3MNQ    RAPET LDX   1  APETADDR(2)  
3N8B          LDN   5  0
3NN2    REP 
3P7L          LDX   3  ACAP(2)  
3PM=          ADN   3  1
3Q6W          FADDRESS 1,3,HLOCK1   
3QLG          STO   5  0(3) 
3R66          OLPEND
3RKQ          BRN      K1CPOBJ  
3S5B    MOLE
3SK2          LDN   3  FYMODE   
3T4L    XILL  CALL  5  TOPCA
3TJ=          ACROSS   OLPODD,4 
3W3W    WC  
3WHG          LDN   3  FYCOUNT  
3X36          BRN      XILL 
3XGQ    WA  
3Y2B          LDN   3  FYCHAR   
3YG2          BRN      XILL 
3Y^L    RV1 
3^F=          LDN   3  FYNOBUF  
3^YW          BRN      XILL 
42DG    OUTF
42Y6          COMPQU   OUTF2
43CQ          BRN      K1CPOBJ  
43XB    OUTF1   
44C2          LDCT  0  #400 
44WL          ORS   0  AWORK4(2)           [SET EOF MARK
45B=    OUTF2   
45TW          LDX   0  ACA1(2)  
46*G          SRL   0  3
46T6          ANDN  0  #7777
47#Q          SBN   0  #3000
47SB          BNZ   0  NMON                [J UNLESS ADDITIVE MODE #30000   
48#2          LDCT  5  #50  
48RL          LDX   1  APETADDR(2)  
49?=          BRN      REP  
49QW    NMON
4==G          LDN   3  FYOUTFULL
4=Q6          BRN      OUTP 
4?9Q    OUTL
4?PB          LDN   3  FYOUTPUT 
4#92    OUTP
4#NL          LDX   4  FTYPNO(2)
4*8=          BRN      XILL 
4*MW    WAIT
4B7G          FDRMTEST APPWAIT,NSM  
4BM6          LDCT  5  #420 
4C6Q          TESTREP2 APPWAIT,WAIT1
4CLB          LDCT  5  #410                [REJECTED INOPERABLE 
4D62    WAIT1   
4DKL          LDX   1  APETADDR(2)  
4F5=          BRN      REP  
4FJW    NSM 
4G4G          TESTREP2 FILEFULL,OUTF       [J IF FILE IS FULL   
4GJ6          CALL  5  TOPCA
4H3Q          ACROSS   OLPODD,1 
4HHB    TOOMUCH 
4J32          CALL  5  TOPCA
4JGL          ACROSS   OLPODD,2 
4K2=    TOPCA   
4KFW          LDX   1  FX1  
4K^G          TOPCA1   PLINK1(1)
4LF6          EXIT  5  0
4LYQ          MENDAREA   AOLPGAP,K99CPOBJ   
4MDB    #END
^^^^ ...55571213000300000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1