16 22FL SEG MULTCOMM,,CENT(COMMAND PROCESSOR),,G286 6 22_= #SKI G286&1 14 23DW # FOR UGUG EDIT M286 (MULTI-COMMAND LINES) 11 23YG # OVERFLOW SEGMENT FOR COMPRO 8 24D6 [ THE ENTRY POINTS 19 24XQ [ THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT 21 25CB SEGENTRY K1MULTCOMM,QENTRY1 [ TO SET UP MULTI COMM LINE BLOCK 21 25X2 SEGENTRY K2MULTCOMM,QENTRY2 [ TO GET NEXT COMMAND FROM MULTI B 4 26BL # 5 26W= QENTRY2 21 27*W SETXCORE 7,2,ADATA,CREADL [ CREATE CREADL BLOCK TO HOLD NEXT 19 27TG [ COMMAND FROM IUSER BLOCK 10 28*6 MHUNTW 3,IUSER,HULL 8 28SQ LDCT 0 #400 8 29#B ANDX 0 A1(3) 8 29S2 SMO FX2 18 2=?L ORS 0 EXT+9 [ SET TO SHIFT OR GRAPHIC 9 2=R= BRN XCCS11 4 2?=W # 5 2?QG QENTRY1 11 2#=6 SETXCORE 7,3,IUSER,HULL 8 2#PQ LDCT 0 #400 9 2*9B ANDX 0 EXT+9(2) 20 2*P2 ORX 7 0 [ REMEMBER IF SHIFT OR GRAPHIC 16 2B8L STO 7 A1(3) [ SIZE OF BLOCK 8 2BN= MHUNTW 2,CLB 18 2C7W CHAIN 3,2 [ STICK IUSER AFTER CLB 11 2CMG MHUNTW 2,ADATA,CREADL 9 2D76 LDN 4 CPDATA(2) 9 2DLQ LDN 5 A1+3(3) 8 2F6B LDX 1 A1(2) 21 2FL2 STO 1 A1+1(3) [ NUMBER OF CHARS LEFT IN IUSER/HULL 17 2G5L SRL 1 2 [ CONVERT TO WORDS 20 2GK= MOVE 4 1(1) [ WORD MOVE IN CASE > 512 CHARS 20 2H4W STOZ A1+2(3) [ CHARACTER ADDRESS OF NEXT '(' 5 2HJG XCCS11 20 2J46 LDX 1 A1+1(3) [ NO OF CHARS LEFT IN IUSER BLOCK 21 2JHQ LDN 6 A1+3(3) [ X6 REMAINS CONSTANT (=ADDRESS OF IU 21 2K3B ADN 2 CPDATA [ X2 = CHAR ADDRESS OF NEXT DCH IN CR 21 2KH2 LDX 3 A1+2(3) [ CHARACTER ADDRESS OF NEXT '(' IN IU 20 2L2L LDN 7 0 [ COUNT OF CHARS IN NEXT COMMAND 14 2LG= LDN 0 1 [ 1 '(' 7 2L_W SBN 1 1 15 2MFG BZE 1 XCCS7 [ ONLY A '(' 5 2M_6 XCCS3 18 2NDQ BCHX 3 / [ INPUT BLOCK + 1 CHAR 7 2NYB SMO 6 15 2PD2 LDCH 5 0(3) [ NEXT CHAR 15 2PXL LDX 4 5 [ REMEMBER IT 13 2QC= SBN 5 #30 [ '(' 13 2QWW BNZ 5 XCCS2 [ NO 14 2RBG ADN 0 1 [ '(' + 1 5 2RW6 XCCS5 18 2S*Q BZE 0 XCCS6 [ BRN IF BRACKETS MATCH 5 2STB XCCS4 8 2T*2 DCH 4 0(2) 7 2TSL ADN 7 1 18 2W#= BCHX 2 / [ OUTPUT BLOCK + 1 CHAR 18 2WRW BCT 1 XCCS3 [ UNTIL INPUT BLOCK EMPTY 5 2X?G XCCS7 7 2XR6 LDN 1 1 20 2Y=Q BRN XCCS6 [ NO MATCHING ')' BUT PROBABLY OK 5 2YQB XCCS2 7 2_=2 SBN 5 1 16 2_PL BNZ 5 XCCS4 [ BRN IF NOT ')' 14 329= SBN 0 1 [ ')' - 1 8 32NW BRN XCCS5 5 338G XCCS6 11 33N6 MHUNTW 2,ADATA,CREADL 9 347Q BNZ 7 XCCS12 16 34MB LDN 7 1 [ NULL COMMAND 8 3572 LDN 0 #20 9 35LL DCH 0 CPDATA(2) 5 366= XCCS12 16 36KW STO 7 A1(2) [ CHARACTER COUNT 7 375G SBN 1 1 19 37K6 BNZ 1 XCCS8 [ BRN IF IUSER/HULL NOT EMPTY 5 384Q XCCS10 18 38JB MFREEW IUSER,HULL [ NO MORE COMMANDS LEFT 8 3942 BRN XCCS1 5 39HL XCCS8 7 3=3= BCHX 3 / 7 3=GW SMO 6 8 3?2G LDCH 5 0(3) 19 3?G6 SBN 5 #30 [ SEARCH FOR NEXT '(' IF ANY 8 3?_Q BZE 5 XCCS9 8 3#FB BCT 1 XCCS8 14 3#_2 BRN XCCS10 [ NONE 5 3*DL XCCS9 7 3*Y= LDX 2 6 8 3BCW SBN 2 A1+3 19 3BXG STO 1 A1+1(2) [ CHARS LEFT IN IUSER BLOCK 20 3CC6 STO 3 A1+2(2) [ CHARACTER ADDRESS OF NEXT '(' 5 3CWQ XCCS1 9 3DBB ACROSS ALAS,1 4 3DW2 #END 6 ____ ...342011360001