ANALYSE865

(George Source)

Macros used: ACROSS, CHAIN, FINDCORE, FREECORE, GETCOREN, MENDAREA, NAME, PHOTO, SEGENTRY, SETREP, TRACE, UP

ANALYSE865.txt
22FL    #LIS  K0ANALYSE>K0ALLGEO>K0GREATGEO>K0COMMAND   
22^=    #SEG  ANALYSE5                     [ BILL IZATT 
23DW                   8HANALYSE
23YG    [ THE ENTRY POINTS  
24D6    [     THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT  
24XQ          SEGENTRY K1ANALYSE,QENTRY1
25CB          SEGENTRY K2ANALYSE,QENTRY2
25X2          SEGENTRY K3ANALYSE,QENTRY3
26BL    [   
26W=    [   
27*W    #           THIS SEGMENT IS ENTERED BY THE MACROS PARALYSE AND PARANEXT 
27TG    #           AND THEIR ANALOGUES, AT K1ANALYSE AND K2ANALYSE RESPECTIVELY
28*6    #           IT SETS UP A CPB,CMULTI BLOCK TO HOLD THE COMPONENTS OF THE 
28SQ    #           PARAMETER TO BE SPLIT,AND GOES ACROSS TO K1ANALYSEA . ON ENT
29#B    #           EXT+2(2) HOLDS THE ANALYSIS LEVEL OF THE BLOCK CONTAINING TH
29S2    #           PARAMETER TO BE SPLIT,EXT+3(2) HOLDS THE NUMBER OF THE PARAM
2=?L    #           IN THIS BLOCK,AND EXT+4(2) HOLDS THE SEPARATOR AT WHICH THE 
2=R=    #           PARAMETER IS TO BE SPLIT .IF ANY OF THESE PARAMETERS OF THE 
2?=W    #           MACRO ARE NOT GIVEN,THE CORRESPONDING EXT WORD IS SET TO -1 
2?QG    #   
2#=6    #DEF  SIZEPB=AVELINE+APB
2#PQ    MINUS1      #77777777   
2*9B    #   
2*P2    #              THIS SUBROUTINE LOCATES THE CPB,CMULTI OR ALAS BLOCK WITH
2B8L    #              ANALYSIS LEVEL IN EXT+2, AND DELETES ANY AT LOWER LEVELS 
2BN=    SEARCHDEL   
2C7W          LDX   2  FX2  
2CMG          STO   7  EXT(2)              [SET TO DELETE   
2D76    P2    LDX   2  FPTR(2)  
2DLQ          LDCH  0  ATYPE(2)            [CHECK IS A CPB BLOCK
2F6B          SBN   0  CPB/64   
2FL2          BNZ   0  P2                  [BRANCH IF NOT   
2G5L          LDX   0  ATYPE(2) 
2GK=          SRL   0  12   
2H4W          ERN   0  CPB+CUNI 
2HJG          BZE   0  P2                  [IGNORE IF UNIBLOCK  
2J46          SMO      FX2  
2JHQ          LDX   1  EXT+2               [ANALYSIS LEVEL OF REQUIRED BLOCK
2K3B          BNG   1  RET                 [BRANCH IF ANALYSIS LEVEL 'LOWEST'   
2KH2          TXL   1  ANALEV(2)           [CHECK ANALYSIS LEVEL
2L2L          BCS      TDEL 
2LG=          TXU   1  ANALEV(2)
2L^W          BCC      RET  
2MFG          NAME     3,CPB,CMULTI 
2M^6          BRN      NMPARAM             [ERROR IF ANALYSIS LEVEL TOO LARGE   
2NDQ    P3    LDX   2  FPTR(2)  
2NYB          SMO      FX2  
2PD2          LDX   1  EXT+2
2PXL          TXU   1  ANALEV(2)
2QC=          BCC      RET                 [BRANCH IF CORRECT ANALYSIS LEVEL
2QWW    TDEL
2RBG          LDX   7  BPTR(2)             [STORE POINTER   
2RW6          FREECORE 2                   [DELETE BLOCK
2S*Q          LDX   2  7                   [RESTORE POINTER 
2STB          BRN      P3   
2T*2    RET   SMO      FX2  
2TSL          LDX   7  EXT  
2W#=          EXIT  7  0
2WRW    #   
2X?G    #              ROUTINES IF PARENT PARAMETER NULL OR NON EXISTENT
2XR6    #   
2Y=Q    ZPARAM  
2YQB          NGN   7  1
2^=2          STO   7  APARAFIR+1(3)       [SET END OF BLOCK
2^PL          LDN   7  0                   [NULL PARAMETER  
329=          STO   7  APARAFIR(3)  
32NW          LDN   7  1                   [1 NULL PARAMETER
338G          BRN      STORE
33N6    NMPARAM 
347Q          NGN   7  1                   [NON EXISTENT PARAMETER  
34MB          STO   7  APARAFIR(3)         [SET END OF BLOCK
3572          LDN   7  0                   [NO PARAMETERS   
35LL    STORE STO   7  APARANUM(3)  
366=          STOZ     APTNECHA(2)  
36KW          LDN   7  APARAFIR 
375G          SLL   7  12   
37K6          ADN   7  1
384Q          STO   7  APTBEPAR(3)         [POINTER TO FIRST PARAMETER  
38JB          STO   7  ADNOPARAL(3) 
3942          BRN      TWCH 
39HL    #   
3=3=    #           ENTRY POINT FOR PARALYSE AND PARALYSX MACROS
3=GW    QENTRY1 
3?2G          STOZ     EXT+5(2)            [SET 'PARALYSE'  
3?G6          BRN      PLYSE
3?^Q    #   
3#FB    #           ENTRY POINT FOR PARANEXT MACRO AND DERIVATIVES  
3#^2    QENTRY3 
3*DL          NGN   0  1
3*Y=          STO   0  EXT+5(2) 
3BCW          BRN      PLYSE
3BXG    QENTRY2 
3CC6    #SKI        K6ANALYSE>499-499   
3CWQ          TRACE 2,NEXT  
3DBB          LDN   0  1
3DW2          STO   0  EXT+5(2) 
3F*L    PLYSE   
3FT=          GETCOREN SIZEPB,1            [GET A MULTI PARAMETER BLOCK 
3G#W          FINDCORE 3
3GSG          CALL  7  SEARCHDEL           [FIND CORRECT MULTI BLOCK AND DELETE 
3H#6    #SKI           K6ANALYSE>499-499
3HRQ          TRACE    2,ANALYSE
3J?B          NAME     3,CPB,CMULTI 
3JR2          STO   2  7                   [STORE ADDRESS OF OLD BLOCK  
3K=L          LDX   2  BPTR(2)  
3KQ=          CHAIN    3,2                 [CHAIN NEW BLOCK INFRONT OF OLD  
3L9W          LDX   2  7                   [LOAD ADDRESS OF OLD BLOCK   
3LPG          LDX   7  ANALEV(2)           [ANALYSIS LEVEL OF OLD BLOCK 
3M96          ADN   7  1
3MNQ          STO   7  ANALEV(3)           [STORE ANALYSIS LEVEL OF NEW BLOCK   
3N8B          LDX   7  CPBCPLEV(2)  
3NN2          STO   7  CPBCPLEV(3)         [STORE COMMAND PROCESSOR LEVEL IN NEW
3P7L          STOZ     CPBFSD(3)           [ZEROISE BRACKET COUNT   
3PM=          STOZ     APARANUM(3)  
3Q6W          STOZ     APARAFIR(3)         [ZEROISE FIRST WORD OF FIRST PARAMETE
3QLG          STOZ     CMFMSK(3)
3QRN ...#UNS CMXMSK 
3QYW ...      STOZ     CMXMSK(3)
3R66          STOZ     CPBSTART(3)  
3RKQ          STOZ     CPBSTOP(3)   
3S5B          LDN   7  APARAFIR 
3SK2          STO   7  APTBEPAR(3)         [POINTER IN TER SUBROUTINE   
3T4L          ADN   7  1
3TJ=          STO   7  APTNECHA(3)         [POINTER TO FIRST CHARACTER  
3W3W          LDX   6  APARANUM(2)  
3WHG          BZE   6  NMPARAM             [BRN IF PARENT BLOCK HOLDS NO PARAMET
3X36          LDX   7  ANALEV(2)
3XGQ          BZE   7  XALAS               [BRN IF ALAS 
3Y2B          LDX   7  CPBPROGLEV(2)
3YG2          STO   7  CPBPROGLEV(3)       [PASS ON PROGLEV FROM MULTIBLOCK 
3Y^L    XALAS SMO      FX2  
3^F=          LDX   7  EXT+3               [NUMBER OF PARAMETER 
3^YW          BPZ   7  PFIND               [BRANCH IF NOT 'NEXT' PARAMETER  
42DG          LDX   6  ADNOPARAL(2) 
42Y6          SRL   6  12                  [POINTER TO NEXT PARAMETER TO BE ANAL
43CQ          SMO      6
43XB          LDX   4  0(2)                [NUMBER OF CHARACTERS IN PARAMETER   
44C2          SMO      FX1  
44WL          TXU   4  MINUS1   
45B=          BCC      NMPARAM             [BRANCH IF END OF BLOCK  
45TW    #SKI  AJOBUSE<1$1   
46*G    (   
46T6          LDX   7  ANALEV(2)
47#Q          BNZ   7  MULT3               [BRN IF MULTI BLOCK  
47SB    )   
48#2          LDCT  7  #400 
48RL          SMO      6
49?=          ORS   7  0(2)                [SET B0 IN TYPE WORD TO INDICATE 'ACC
49QW    #SKI  AJOBUSE   
4==G    (   
4=Q6          LDX   7  ANALEV(2)
4?9Q          BNZ   7  MULT3               [BRN IF MULTI  BLOCK 
4?PB    )   
4#92          LDX   7  ADNOPARAL(2) 
4#NL          ANDN  7  #7777
4*8=          STO   7  CPBPROGLEV(3)       [PASS ON ADNOPARAL FROM ALAS BLOCK   
4*MW    MULT3 LDN   5  #7777
4B7G          ANDS  5  ADNOPARAL(2)        [CLEARPOINTER TO NEXT PARAMETER  
4BM6          ANDX  5  4                   [EXTRACT NUMBER OF CHARACTERS
4C6Q          ADN   5  7
4CLB          SRL   5  2                   [SIZE OF PARAMETER IN WORDS  
4D62          ADX   5  6
4DKL          SLL   5  12   
4F5=          ADN   5  1                   [TO UPDATE L.S. HALF 
4FJW          ADS   5  ADNOPARAL(2)        [POINTER IN AND NUMBER UPDATED   
4G4G          LDXC  4  4                   [CLEAR ANY SIGS BIT  
4GJ6          BZE   4  ZPARAM              [BRN IF PARAMETER NULL   
4H3Q          BRN      SPT  
4HHB    PFIND LDN   6  APARAFIR            [POINTER TO FIRST PARAMETER  
4J32          BRN      NLD  
4JGL    NPAR  ANDN  4  #7777               [EXTRACT NO. OF CHARACTERS IN PARAMET
4K2=          ADN   4  7
4KFW          SRL   4  2
4K^G          ADX   6  4                   [POINTER TO NEXT PARAMETER   
4LF6    NLD   SMO      6
4LYQ          LDX   4  0(2)                [NUMBER OF CHARACTERS IN PARAMETER   
4MDB          SMO      FX1  
4MY2          TXU   4  MINUS1   
4NCL          BCC      NMPARAM             [BRN IF END OF BLOCK 
4NX=          BCT   7  NPAR                [BRANCH IF NOT N'TH PARAMETER
4PBW    #SKI  AJOBUSE<1$1   
4PWG    (   
4QB6          LDX   7  ANALEV(2)
4QTQ          BNZ   7  MULT4               [BRN NOT ALAS BLOCK  
4R*B    )   
4RT2          LDCT  7  #400 
4S#L          SMO      6
4SS=          ORS   7  0(2)                [SET B0 IN TYPE WORD TO INDICATE 'ACC
4T?W    #SKI  AJOBUSE   
4TRG    (   
4W?6          LDX   7  ANALEV(2)
4WQQ          BNZ   7  MULT4               [BRN IF MULTI  BLOCK 
4X=B    )   
4XQ2          SMO      FX2  
4Y9L          LDX   7  EXT+3
4YP=          STO   7  CPBPROGLEV(3)       [PASS ON EXT+3 FOR ALAS BLOCK
4^8W    #SKI  AJOBUSE   
4^NG    MULT4   
5286          LDXC  4  4                   [CLEAR ANY SIGN BIT  
52MQ    #SKI  AJOBUSE<1$1   
537B    MULT4   
53M2          BZE   4  ZPARAM              [N'TH PARAMETER  
546L    SPT   SRL   45 12                  [ISOLATE PARAMETER TYPE  
54L=          ANDN  4  #3777               [CLEAR 'ACCESSED' BIT
555W          ORS   4  ATYPE(3)            [STORE IN NEW BLOCK  
55KG          SRL   5  12                  [NUMBER OF CHARACTERS IN PARAMETER   
5656          SETREP   OK   
56JQ          SMO      FX2  
574B          STO   5  EXT+7               [HOLD NUMBER OF CHARACTERS   
57J2          ADN   6  1
583L          STO   2  5
58H=          PHOTO    7
592W          ACROSS   ANALYSEA,1   
59GG    #              TEST FOR PARALYSE OR PARANEXT
5=26    TWCH  SMO      FX2  
5=FQ          LDX   7  EXT+5
5=^B          SETREP   OK   
5?F2          BNZ   7  NEXT 
5?YL          UP                           [RETURN IF PARALYSE  
5#D=    NEXT
5#XW          SMO      FX2  
5*CG          STO   7  EXT+7               [SET EXT+7=-1 FOR SPARAPAS   
5*X6    UDAL  NGN   7  1
5BBQ          SMO      FX2  
5BWB          STO   7  EXT+2
5CB2          ACROSS   PARAM,25            [BRN TO PASS FIRST PARAMETER 
5CTL          MENDAREA 20,K99ANALYSE
5D*=    #END
^^^^ ...60657477000100000000