ASTONIF867

(George Source)

Macros used: ACROSS, BRUSEN, BXU, CLOSETOP, DOWN, FC, FI, FNORM, FREECORE, HUNTACTF, IF, JBS, JMBS, MFREE, MHUNT, MHUNTW, NAMETOP, OPENDIR, PARAFREE, PARASTRING, SEG, SEGENTRY, TESTRPN2, THEN

ASTONIF867.txt
22FL          SEG      ASTONIF,,CENT(COMMAND PROCESSOR),,G275   
22^=    #  FOR UGUG MEND M275 (MISCELLANEOUS NEW IF CONDITIONS) 
23DW    #   
23YG    #     THIS SEGMENT IS ENTERED FROM IFEXPAN TO DEAL WITH THE 
24D6    #     NEW CONDITIONS INCLUDED BY THE UNIVERSITY OF ASTON
24XQ    #   
25CB    #           XCHARS CONTAINS COUNT OF CHARS REMAINING IN THE 
25X2    #           LINE BUFFER 
26BL    #   
26W=    #           ON EXIT : XCHPTR & XCHARS MAY HAVE BEEN UPDATED 
27*W    #                   : X7 CONTAINS RESULT - 0 TRUE   
27TG    #                                          1 FALSE  
28*6    #                                         B0 ERROR  
28SQ    #                                         B1 ERROR  
29#B    #                                         B012 BREAKIN  
29S2    #   
2=?L    #   
2=R=    #     ENTRY POINTS  
2?=W    #   
2?QG          SEGENTRY K1ASTONIF,XSYS      [ SYSTEM ISSUED  
2#=6          SEGENTRY K2ASTONIF,XFST      [ FULLY STARTED  
2#PQ          SEGENTRY K3ASTONIF,XTST      [ TENTATIVELY STARTED
2*9B ...      SEGENTRY K4ASTONIF,XOFL      [ OFFLINE
2*P2          SEGENTRY K7ASTONIF,XONL      [ ONLINE 
2B8L          SEGENTRY K8ASTONIF,XPRI      [ PRIVILEGE  
2BN=    #   
2C7W    #     WORKING SPACE IN COMMAND PROCESSOR ACTIVITY BLOCK 
2CMG    #   
2D76    #DEF  XLBP=EXT  
2DLQ    #DEF  XCHARS=EXT+1  
2F6B    #DEF  XCHPTR=EXT+2  
2FL2    #DEF  XSTATE=EXT+3  
2G5L    #DEF  XCOUNT=EXT+4  
2GK=    #   
2H4W    #   
2HJG    #     CONSTANTS 
2J46    #   
2JHQ    XBRA           #30                 [ OPEN BRACKET   
2K3B    XKET           #31                 [ CLOSE BRACKET  
2KH2    XSP            #20  
2L2L    #   
2LG=    #   
2L^W    #     XSUBA  -  SUBROUTINE TO SEARCH FOR A L.H.BRACKET AND  
2MFG    #               THEN READ THE PARAMETERS INSIDE THE BRACKETS,   
2M^6    #               AND THEN OBTAIN THE FIRST PARAMETER.
2NDQ    #   
2NYB    XSUBA   
2PD2          SBX   6  FX1  
2PXL          HUNTACTF CLB,3,FX2
2QC=          STO   3  XLBP(2)  
2QWW          ADX   3  XCHPTR(2)
2RBG          LDX   4  XCHARS(2)
2RW6    XSUBA1  
2S*Q          LDCH  0  0(3) 
2STB          BXU   0  XSP(1),XSUBA2
2T*2          BCHX  3  £
2TSL          BCT   4  XSUBA1              [ SKIP SPACES
2W#=    XSUBA2  
2WRW          BXU   0  XBRA(1),XERROR      [ ERROR IF NOT L.H.BRACKET   
2X?G          SBX   3  XLBP(2)             [ RELATIVISE CHAR. POINTER   
2XR6          LDX   0  XSTATE(2)           [ PRESERVE EXT+3,4   
2Y=Q          STO   0  AWORK3(2)
2YQB          LDX   0  XCOUNT(2)
2^=2          STO   0  AWORK4(2)
2^PL          PARASTRING 3,4,CLB
329=          LDX   3  ACOMMUNE1(2) 
32NW          BZE   3  YERROR              [ IF ZERO - FORMAT ERROR 
338G          STO   3  AWORK2(2)           [ NEW RELATIVE CHAR. POINTER 
33N6          LDX   4  ACOMMUNE2(2) 
347Q          BZE   4  YERROR   
34MB          STO   4  AWORK1(2)
3572          SPARAPASS 
35LL          MHUNT    3,CPB,CUNI   
366=          ADX   6  FX1  
36KW          EXIT  6  0
375G    #   
37K6    #   
384Q    #     THIS SECTION SETS THE RESULT OF THE CONDITION 
38JB    #     IN X7 & RETURNS TO IFEXPAN
3942    #   
39HL    XTRUE   
3=3=          LDN   7  0
3=GW    XRET
3?2G          ACROSS   IFEXPAN,3
3?G6    XFALSE  
3?^Q          LDN   7  1
3#FB          BRN      XRET 
3#^2    YERROR  
3*DL          LDX   2  FX2  
3*Y=          LDX   7  AWORK4(2)
3BCW          STO   7  XCOUNT(2)
3BXG    XERROR  
3CC6          LDCT  7  #400                [ UNREPORTED ILLEGAL INDICATOR   
3CWQ          BRN      XRET 
3DBB    XERROR1 
3DW2          LDCT  7  #600 
3F*L          BRN      XRET 
3FT=    XBREAK  
3G#W          LDCT  7  #700                [ BREAK IN INDICATOR 
3GSG          BRN      XRET 
3H#6    XRET1   
3HRQ          LDN   1  AWORK1(2)
3J?B          LDN   2  XCHARS(2)
3JR2          MOVE  1  4
3K=L          BRN      XRET 
3KQ=    #   
3L9W    #   
3LPG    #              IF SYS,...               SYSTEM ISSUED   
3M96    #   
3MNQ    XSYS
3N8B          LDX   0  CONTEXT(2)   
3NN2          BNG   0  XTRUE
3P7L          BRN      XFALSE   
3PM=    #   
3Q6W    #   
3QLG    #              IF FST,...               FULLY STARTED   
3R66    #   
3RKQ    XFST
3S5B          LDX   0  CONTEXT(2)   
3SK2          SLL   0  12   
3T4L          BNG   0  XTRUE
3TJ=          BRN      XFALSE   
3W3W    #   
3WHG    #   
3X36    #              IF TST,...               TENTATIVELY STARTED 
3XGQ    #   
3Y2B    XTST
3YG2          LDX   0  CONTEXT(2)   
3Y^L          SLL   0  13   
3^F=          BNG   0  XTRUE
3^YW          BRN      XFALSE   
42DG    #   
42Y6    #   
43CQ    #              IF ONL(... ),...         ONLINE  
43XB    #   
44C2    #              IF OFL(... ),...         OFFLINE 
44WL    #   
45B=    #                                       IF THE SPECIFIED FILE IS ONLINE/
45TW    #                                       OFFLINE, THEN THE CONDITION IS  
46*G    #                                       TRUE.   
46T6    #   
47#Q    XOFL  NGNC  0  1                   [ SET X7 = 1 (FALSE) FOR 'OFFLINE',  
47SB    XONL  LDN   7  0                   [  OR X7 = 0 (TRUE) FOR 'ONLINE' TEST
48#2          CALL  6  XSUBA
48RL          NAMETOP  3,FILE,FNAME 
49?=          FNORM    24   
49QW          MFREE    FILE,FNAME   
4==G          TESTRPN2 OK,YERROR
4=Q6          MHUNT    3,FILE,FABSNB
4?9Q          IF       BC,2,CXTUSER 
4?PB          THEN  
4#92          JBS      YERROR,3,BFABLOCONLY 
4#B8 ...      LDX   0  A1+1(3)  
4#HB ...      BZE   0  YERROR   
4#NL          FI
4*8=          IF       BC,3,BFABWORK       [ W/F IS ONLINE, SO X7 CORRECT   
4*MW          THEN  
4B7G          JMBS     YERROR,3,BFABTSN,BFABREEL
4BM6          FC       3,FFABTYPE   
4C6Q          OPENDIR  XBREAK,READ,QUERY
4CLB ...      TESTRPN2 OK,YERROR
4D62          CLOSETOP  
4DKL          PARAFREE  
4F5=          MHUNTW   3,FILE,ENT   
4FJW          ERX   7  ECOPS(3) 
4G4G          ANDN  7  1                   [ 1 TRUE, 0 FALSE
4GJ6          ERN   7  1                   [ 0 TRUE, 1 FALSE, AS REQD   
4H3Q          FI
4HHB          FREECORE 3
4J32          BRN      XRET1
4JGL    #   
4K2=    #   
4KFW    #              IF PRI(...  ),...        PRIVILEGE   
4K^G    #   
4LF6    #                                       IF THE USER HAS THE SPECIFIED   
4LYQ    #                                       PRIVILEGE THEN THE CONDITION IS 
4MDB    #                                       TRUE
4MY2    #   
4NCL    XPRI
4NX=          CALL  6  XSUBA
4PBW          BRUSEN   YERROR,2 
4PWG          LDX   0  ACES 
4QB6          STO   0  ACOMMUNE1(2) 
4QTQ          STO   0  ACOMMUNE2(2) 
4R*B          LDN   4  APARA(3) 
4RT2          LDN   5  ACOMMUNE1(2) 
4S#L          LDX   6  ANUM(3)  
4SS=          SBN   6  1
4T?W          TXL   6  EIGHT               [ TOO LONG OR ILLEGAL CHAR   
4TRG          BCC      YERROR   
4W?6          SMO      6
4WQQ          MVCH  4  1
4X=B          DOWN     CHEKPRIV,10         [ SEE CHEKPRIV MACRO 
4XQ2          NGNC  0  1                   [ EXIT 0 - FALSE 
4Y9L          LDN   7  0                   [ 0 PRIV O.K., 1 IF NOT  
4YP=          BRN      XRET1
4^8W    #   
4^NG    #   
5286    #   
52MQ    #END
^^^^ ...750534310002