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