17 228Y ... SEG ALASB,,CENT(COMMAND PROCESSOR),,G277,G400 4 22CW ...[ 15 22LS ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 22TQ ...[ THIS EXCLUDES CODE UNDER #SKI G277 4 234N ...[ 7 23?L ...#OPT G277 = 0 6 23GJ ...#SKI G277&1 18 23PG ...# WITH UGUG EDIT M277 (ONLY MONOUT COMMANDS IF NECESSARY) 6 23RS ...#UNS G400 15 23W6 ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK2 8 23YG [ THE ENTRY POINTS 19 24D6 [ THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT 15 24XQ SEGENTRY K1ALASB,QENTRY1 [ FROM ALAS 18 25CB SEGENTRY K2ALASB,QENTRY2 [ FROM VERBCLAS, MACRALAS 18 25X2 SEGENTRY K3ALASB,QENTRY3 [ FROM ALAS (ERROR CASE) 18 26BL SEGENTRY K4ALASB,QENTRY4 [ FROM ALAS (ERROR CASE) 15 26W= SEGENTRY K5ALASB,QENTRY5 [ FROM OBEY 16 27*W SEGENTRY K90ALASB,QENTRY90 [ FROM FULSTART 7 27H4 #SKI JWPHASE4 11 27N= SEGENTRY K21ALASB,QENTRY21 4 27TG [ 4 28*6 [ 19 28SQ [ THIS SEGMENT IS ENTERED FROM SEGMENT ALAS.IT EXTRACTS THE 20 29#B [ VERB FROM THE CLB AND HANDS IT TO THE SEGMENTS VERBCLAS AND 19 29S2 [ MACRALAS FOR CLASSIFICATION.IT THEN ANALYSES AND STORES 20 2=?L [ EACH PARAMETER OF THE CURRENT COMMAND IN THE CPB/CALAS BLOCK 14 2=R= [ THE CURRENT COMMAND IS THEN ENTERED 6 2=YD ...#SKI G277&1 8 2?5L ...UA69Z CATMASK CM 9 2?=W VINC +INCVERB 9 2?QG VTL +INVERB 8 2#=6 VJONG +JONG 9 2#PQ VMDF +HLMDF 9 2*9B VERB 4HVERB 9 2*P2 VSTOP +HSTOP 9 2B8L VJMAXPAR +JMAXPAR 10 2BN= MXCHMESS +JMAXCHARS 9 2C7W MASK #17777777 9 2D76 PARA 4HPARA 9 2DLQ MARA 4HM(00 8 2F6B SPACE #20 8 2FL2 VERBLEN +12 9 2G5L TSTART #30303030 9 2GK= TSTOP #31313131 8 2H4W PA #41 8 2H#N PM #55 8 2HJG PZ #73 8 2J46 THESISL #30 8 2JHQ THESISR #31 8 2K3B QUOTES #22 8 2KH2 SEPARATOR #34 8 2L2L THASH #23 8 2LG= TEN +10 8 2L_W ONE +1 8 2MFG TWO +2 4 2M_6 PARF 7 2NDQ #HAL APARAFIR,1 4 2NYB [ 21 2P9Q PCOM [THIS COMMAND CAN HAVE A LONG FIRST 15 2PH6 4HIF [ PARAMETER 21 2PSG PCOMA [THESE COMMANDS CAN HAVE ANY KIND OF 16 2Q5W 4HWE [ PARAMETER LONG 8 2QC= 4HRO 21 2QRB PCOMB [THESE COMMANDS CAN HAVE A 'PARAM (' 16 2R7G 4HEN [ PARAMETER LONG 8 2RHN 4HRM 8 2RNW 4HLE 8 2RW6 4HOB 8 2S*Q 4HJB 8 2STB 4HRJ 8 2T58 4HMR 5 2T*2 PCOMC 4 2TSL [ 19 2W#= PUNT MHUNTW 2,CPB,CALAS [ THE FIND S/R FOR ALTLENG 7 2WRW EXIT 1 0 18 2X?G [ ROUTINE FOR STORING CHARACTERS IN THE PARAMETER BLOCK 21 2XR6 [ ON ENTRY, EITHER X5=1 AND X6 CONTAINS NEXT CHAR TO BE STORED IN 21 2Y=Q [ THE CPB/CALAS BLOCK, OR X5=0 IN WHICH CASE THE END OF THE PARAM 9 2YQB [ HAS BEEN REACHED. 5 2_=2 STOREPB 20 2_PL LDX 4 APTNECHA(2) [LOAD POS. OF NEXT CHAR IN BLOCK 7 329= SLC 4 2 21 32NW ADX 4 5 [ADD NO OF CHARS TO BE TRANSFERRED 14 338G ADN 4 3 [ROUND UP 7 33N6 SRL 4 2 17 347Q SBN 4 A1 [SUBTRACT RED TAPE 21 34MB [ X4 NOW CONTAINS THE LOGICAL LENGTH OF THE BLOCK WHEN THE PRESENT 12 3572 [ CHARACTERS HAVE BEEN STORED 21 35LL BNZ 5 P8 [J IF WE ARE NOT TERMINATING A PARAM 20 366= ADN 4 1 [ADD 1 TO REQUIRED AMOUNT OF CORE 18 36KW P8 LDX 3 ALOGLEN(2) [DO WE HAVE ENOUGH CORE 13 375G BXGE 3 4,POT [ JUMP IF YES 20 37K6 ADN 3 AVELINE [ADD AVELINE TO AVAILABLE CORE 20 384Q LDX 7 2 [POINTER TO EXTEND BLOCK IN X7. 8 38JB SBX 0 FX1 8 3942 SMO FX2 8 39HL STO 0 EXT+1 17 3=3= ALTLENG 7,3,PUNT [INCREASE BLOCK SIZE 14 3=GW MHUNTW 2,CPB,CALAS [FIND PB 8 3?2G SMO FX2 8 3?G6 LDX 0 EXT+1 8 3?_Q ADX 0 FX1 21 3#FB POT BZE 5 P9 [BRANCH IF WE HAVE TO TERMINATE PARAM 18 3#_2 LDX 3 APTNECHA(2) [LOAD PTR TO NEXT CHAR 21 3*DL SMO 2 [ STORE CHAR IN X6 IN THE CPB/CALAS 20 3*Y= DCH 6 0(3) [ BLOCK AND UPDATE THE POINTER 15 3BCW BCHX 3 / [ APTNECHA 10 3BXG STO 3 APTNECHA(2) 10 3CC6 SMO APTBEPAR(2) 8 3CWQ LDX 4 0(2) 8 3DBB ANDN 4 #7777 21 3DW2 SBN 4 511 [ IS PARAMETER 'LONG' I.E. AT LEAST 18 3F*L BNG 4 POKAY [ 512 CHARACTERS LONG 21 3FT= SMO FX2 [ IS A 'LONG' PARAMETER KNOWN TO BE 19 3G#W LDX 3 AWORK2 [ ACCEPTABLE IN THIS CASE? 15 3GSG BZE 3 POKAY [ JUMP IF YES 20 3H4# BXE 3 PCOM(1),PSET [ WITH IF,LONG 1ST PARAM IS OK 21 3H#6 LDX 4 APARANUM(2) [ IS THIS THE FIRST PARAMETER? J IF 21 3HRQ BZE 4 PERR [ YES. FIRST PARAMS CANNOT BE LONG 21 3J?B LDN 4 PCOMB-PCOMA [ IS THIS A COMMAND WHICH CAN HAVE 20 3JR2 PLOP1 SMO 4 [ ANY KIND OF PARAMETER LONG? 20 3K=L BXE 3 PCOMA-1(1),PSET [ IF SO, JUMP TO SET 'ACCEPTABLE' 8 3KQ= BCT 4 PLOP1 21 3L9W LDN 4 PCOMC-PCOMB [ IS THIS A COMMAND WHICH CAN HAVE 20 3LPG PLOP2 SMO 4 [ A 'PARAM(' PARAMETER LONG? 21 3M96 BXE 3 PCOMB-1(1),PTES [ IF SO, JUMP TO TEST IF THIS PARAM 19 3MNQ BCT 4 PLOP2 [ IS A 'PARAM(' PARAMETER 10 3N8B PERR STOZ APTNECHA(2) 9 3NN2 LDX 2 FPTR(2) 9 3P7L LDX 7 VJONG(1) 8 3PM= BRN PCLO 4 3Q6W PTES 19 3QLG SMO APTBEPAR(2) [ DOES PARAM BEGIN 'PARAM('? 21 3R66 LDX 4 1(2) [ LOAD FIRST WORD OF THE PARAMETER 19 3RKQ BXU 4 PARA(1),PERR [ IS IT 'PARA'? IF NO, JUMP 10 3RWC LDX 3 APTBEPAR(2) 21 3S74 ADN 3 2(2) [POINT TO NEXT CHARACTER AFTER 'PARA' 16 3SCP LDCH 4 0(3) [LOAD CHARACTER 15 3SNB BXU 4 PM(1),PERR [J IF NOT 'M' 7 3S_3 PSPC BCHX 3 / 17 3T9N LDCH 4 0(3) [LOAD NEXT CHARACTER 15 3TG* BXE 4 SPACE(1),PSPC [J IF SPACE 15 3TR2 BXU 4 THESISL(1),PERR [J IF NOT '(' 20 3W3W PSET SMO FX2 [ SET THE 'THIS LONG PARAMETER IS 18 3WHG STOZ AWORK2 [ ACCEPTABLE' MARKER 5 3X36 POKAY 10 3XGQ SMO APTBEPAR(2) 21 3Y2B ADS 5 0(2) [ADD NO OF CHARACTERS TO BE TRANSFERE 7 3YG2 EXIT 0 0 21 3Y_L [ THIS SECTION TERMINATES A PARAMETER AND UPDATES THE POINTER TO 20 3_F= [ THE NEXT AVAILABLE CHARACTER AND TO THE START OF THE LATEST 7 3_YW [ PARAMETER 21 42DG P9 ADN 4 A1-1 [UPDATE X4 TO POINT TO NXT CLEAR WD 7 42Y6 SMO 4 15 43CQ STO 5 0(2) [STORE ZERO 20 43XB ADN 4 1 [SET PTR TO START OF NEXT PARAM 20 44C2 STO 4 APTNECHA(2) [STORE PTR TO NEXT AVAILABLE CHAR 7 44WL LDN 4 1 10 45B= ADS 4 APARANUM(2) 20 45TW LDX 4 APARANUM(2) [GET COUNT OF PARAMETERS SO FAR 8 46*G ERN 4 #31 19 46T6 BZE 4 PMAX [J IF 25 PARAMETERS STORED 8 47#Q SMO FX2 9 47SB LDX 3 AWORK1 8 47XG BZE 3 STO1 8 482L SLL 3 12 8 485Q ORN 3 #2020 4 488W STO1 8 48#2 SMO FX2 20 48RL STO 3 AWORK2 [ RESET THE 'ACCEPTABLE' MARKER 7 49?= EXIT 0 0 4 49QW [ 7 4==G [ ERROR EXIT 10 4=Q6 PMAX STOZ APTNECHA(2) 9 4?9Q LDX 2 FPTR(2) 10 4?PB LDX 7 VJMAXPAR(1) 4 4?WJ PCLO 10 4#3Q MHUNTW 3,CPB,CALAS 7 4#8Y NGN 0 1 10 4#B6 STO 0 APARAFIR(3) 8 4#H# LDX 3 FX2 9 4#NL LDX 6 AWORK1(3) 19 4*8= BNZ 6 VORTEX [ WAS THE COMMAND A MACRO? 20 4*MW CLOSE [ IF YES, CLOSE THE MACRO FILE 9 4B7G BRN VORTEX 4 4BM6 [ 6 4C6Q #SKI APL 4 4CLB ( 6 4D62 PL 4HPL 8 4DKL XPL 12HPRINTLAST 10 4F5= REPLY VFREEW ADATA,CREPLY 10 4FJW MHUNTW 3,GMON,AOUT 10 4G4G NAME 3,ADATA,CREPLY 7 4GJ6 EXIT 4 0 4 4H3Q ) 4 4HHB [ 5 4J32 QENTRY1 7 4JGL LDN 7 0 6 4JJJ ...#SKI G277&1 4 4JLG ...( 9 4JND ... LDX 0 AMFMSK(2) 9 4JQB ... ORX 0 AMXMSK(2) 9 4JS# ... ANDX 0 UA69Z(1) 19 4JW= ... BZE 0 Q90 [ CM NOT TRACED OR REPORTED 4 4JY8 ...) 5 4K2= QENTRY3 5 4KFW VERTMAC 8 4K_G MHUNTW 2,CLB 4 4LF6 VERT 12 4LYQ OUTEXES ANUMCHA(2),CLBFIR,CLB 5 4MDB QENTRY4 15 4MY2 OUTPAR TIMENOW [ O/P TIME 9 4NCL MONOUT ACOMJT 9 4NX= BNZ 7 VORTEX 7 4P4D #SKI JWPHASE4 8 4P9L BRN Q90 17 4PBW QENTRY90 [FOR RETURN FROM FULSTART IF JOB... 19 4PWG # [...WAS UNSAVED UNDER DIFFERENT GEORGE 7 4P_5 #SKI JWPHASE4 4 4Q3N ( 10 4Q6? HLSINFRT Q90,FSTART 4 4Q8W Q90 9 4QB6 STOZ EXT(2) 9 4QTQ STOZ AWORK1(2) 15 4R*B LDX 4 ACES [LOAD SPACES 9 4RT2 STO 4 AWORK2(2) 9 4S#L STO 4 AWORK3(2) 9 4SS= STO 4 AWORK4(2) 9 4T?W LDN 4 CLBFIR 16 4TRG MHUNTW 2,CLB [FIND LINE BUFFER 19 4W?6 LDX 5 ANUMCHA(2) [LOAD NO. OF CHARS TO ANALYSE 19 4WQQ P16 LDX 3 2 [LOAD X3 WITH POINTER TO LB 18 4X=B ADX 3 4 [ADD POINTER WITHIN BLOCK 16 4XQ2 LDCH 6 0(3) [LOAD NEXT CHAR 16 4Y9L BCHX 4 / [UPDATE POINTER 9 4YP= TXU 6 SPACE(1) 16 4_8W BCS R1 [J IF NOT SPACE 17 4_NG BCT 5 P16 [J IF LINE INCOMPLETE 9 5286 BRN RESTART 9 52MQ R1 TXU 6 THASH(1) 14 537B BCC RESTART [J IF # 9 53M2 R2 TXL 6 TEN(1) 17 546L BCC R3 [J IF NOT A NUMBER 16 54L= LDX 3 BPTR(2) [PTR TO /CALAS 9 555W LDX 6 CPBFSD(3) 20 55KG BPZ 6 R5 [J IF SOURCE OF COM. IS A MACRO 9 5656 LDX 7 VMDF(1) 9 56JQ BRN VORTEX 7 574B R6 LDX 3 2 7 57J2 ADX 3 4 7 583L BCHX 4 / 16 58H= LDCH 6 0(3) [LOAD NEXT CHAR 9 592W TXU 6 SPACE(1) 15 59GG BCC R7 [J IF SPACE 8 5=26 R5 BCT 5 R6 9 5=FQ BRN RESTART 8 5=_B R7 BCT 5 R16 5 5?F2 RESTART 7 5?YL LDN 7 1 8 5#D= MHUNTW 2,CLB 10 5#XW STOZ CLBPTNECHA(2) 9 5*CG BRN VORTEX 7 5*X6 R16 LDX 3 2 7 5BBQ ADX 3 4 8 5BWB LDCH 6 0(3) 7 5CB2 BCHX 4 / 8 5CTL R3 LDX 3 FX2 9 5D*= LDX 7 AWORK1(3) 9 5DSW TXU 6 SPACE(1) 15 5F#G BCC P13 [J IF SPACE 17 5FS6 BZE 7 P14 [J IF FIRST VERB CHAR 10 5G?Q TXL 7 VERBLEN(1) 17 5GRB BCC VTOLONG [J IF VERB TOO LONG 7 5H?2 P18 LDN 0 1 19 5HQL ADS 0 AWORK1(3) [UPDATE COUNT OF VERB CHARS 7 5J== SRC 7 2 7 5JPW ADX 3 7 19 5K9G DCH 6 AWORK2(3) [DEPOSIT CHAR IN AWORK AREA 8 5KF# LDX 3 FX2 18 5KP6 LDX 7 AWORK1(3) [GET COUNT OF VERB CHARS 8 5L8Q P19 BCT 5 R16 9 5LNB BZE 7 RESTART 7 5M82 ADN 5 1 19 5MML P15 STO 5 APARANUM(2) [STORE NO OF REMAINING CHARS 8 5N7= SMO FX2 8 5NLW STO 4 EXT+2 6 5P6G #SKI APL 4 5PL6 ( 8 5Q5Q LDX 3 FX2 9 5QKB LDX 4 AWORK2(3) 8 5R52 TXU 4 PL(1) 8 5RJL BCC XFRE 9 5S4= LDX 5 AWORK3(3) 9 5SHW LDX 6 AWORK4(3) 9 5T3G TXU 4 XPL(1) 9 5TH6 TXU 5 XPL+1(1) 9 5W2Q TXU 6 XPL+2(1) 8 5WGB BCC XFRE 19 5X22 [ IF NOT PRINTLAST COMMAND SET UP ADATA/CREPLY BLOCK 8 5XFL CALL 4 REPLY 8 5X_= BRN XCAON 9 5YDW XFRE MFREEW GMON,AOUT 5 5YYG XCAON 4 5_D6 ) 7 5_XQ NGN 0 2 8 62CB SMO FX2 20 62X2 ANDS 0 EXT+9 [UNSET B23 - ANALYSIS FINISHED 9 63BL LDX 2 BPTR(2) 9 63W= LDX 4 CPBFSD(2) 8 648M LDX 2 FX2 20 64H4 BPZ 4 V [J IF SOURCE OF COMMAND IS MACRO 7 64TG SLL 4 1 16 65*6 BNG 4 OPEN [J IF WJDF NAME 7 65SQ SLL 4 1 7 66#B BPZ 4 V 8 67?L LDCT 4 #040 15 67R= ANDX 4 EXT+3(2) [ISOLATE B3 18 685M BZE 4 OPEN [J IF RUNJOB FILE OPEN 7 68D4 #SKI JWPHASE4 9 68K= STOZ EXT+3(2) 10 68QG ACROSS MACRALAS,1 14 69=6 [ ENTRY TO VERBCLAS TO CLASSIFY THE VERB 4 69PQ V 7 69WY #UNS CUBSCHEC 21 6=46 DOWN CUBSCHEC,1 [DIAGNOSTIC TO CHECK ONLINE BS COUNT 6 6=57 ...#UNS G400 4 6=68 ...( 17 6=79 ... HUNTW 2,IUSER,G400BLK [LOOK FOR EXIT OB BLK 16 6=8= ... BNG 2 XDSK1 [J NOT PRESENT 8 6=9? ... LDX 0 A1(2) 7 6==# ... SBN 0 1 15 6=?* ... BNZ 0 XDSK1 [OR NOT EXIT 7 6=#B ... FREECORE 2 4 6=*C ...) 7 6=BJ #SKI JWPHASE4 9 6=HQ STOZ EXT+3(2) 15 6=P2 LDCH 4 AWORK2(2) [GET 1ST CHAR 8 6?8L SBN 4 #56 16 6?N= BPZ 4 V1 [J IF N -> Z INC 10 6#7W ACROSS VERBCLAS,1 10 6#MG V1 ACROSS VCLASTWO,1 6 6#PD ...#UNS G400 4 6#RB ...( 5 6#T# ...XDSK1 8 6#X= ... SMO FX2 8 6#_8 ... STOZ EXT+3 9 6*36 ... ACROSS COMHOOK,1 4 6*54 ...) 4 6*76 OPEN 8 6B6B LDX 4 GSIGN 21 6BL2 ANDX 4 EXT+3(2) [ISOLATE B0 OF EXT+3 -SET IF CARD F. 16 6C5L BPZ 4 RJSHIFT [J IF SHIFT FILE 17 6CK= ORS 4 EXT+9(2) [DENOTES GRAPHIC FILE 17 6D4W BRN RJX [J IF GRAPHIC FILE 5 6DJG RJSHIFT 8 6F46 LDX 4 GSIGN 9 6FHQ ORS 4 EXT+9(2) 17 6G3B ERS 4 EXT+9(2) [DENOTES SHIFT FILE 4 6GH2 RJX 20 6H2L STOZ AWORK1(2) [SET MARKER TO INDICATE FILENAME 14 6HG= [ THE ENTRY FROM VERBCLAS AND MACRALAS 7 6HH? #SKI JWPHASE4 4 6HJ# ( 7 6HK* LDN 4 0 8 6HLB BRN Q2STO 5 6HMC QENTRY21 10 6HND HLSINFRT QEN21,FSTART 5 6HPF QEN21 5 6HQG QENTRY2 9 6HRH LDX 4 EXT+3(2) 9 6HSJ STO 4 AWORK1(2) 9 6HTK LDX 0 EXT+4(2) 9 6HWL STO 0 AWORK3(2) 8 6HXM #SKI JWPHASE4<1$1 4 6HYN ( 5 6H_W QENTRY2 20 6JFG LDX 4 AWORK1(2) [ X1 HOLDS ZERO FOR MACRO, AND 8 6JJL BZE 4 Q2STO 4 6JL8 ) 8 6JMQ SLL 4 12 8 6JQW ORN 4 #2020 5 6JW2 Q2STO 21 6J_6 STO 4 AWORK2(2) [ SHORT FORM OF COMM FOR BI COMMANDS 20 6KDQ STOZ EXT+3(2) [ZEROISE BRACKET INDICATOR WORD 14 6KYB MHUNTW 2,CPB,CALAS [FIND PB 16 6LD2 LDN 4 APARAFIR+1 [SET PARAMETER 15 6LXL STO 4 APTNECHA(2) [BLOCK WORDS 16 6MC= STOZ APARAFIR(2) [FOR BEGINNING 14 6MWW LDN 4 APARAFIR [OF LINE 10 6NBG STO 4 APTBEPAR(2) 12 6NW6 STOZ APARANUM(2) [ 8 6P*Q BRN P34 8 6PTB P13 BZE 7 P19 8 6Q*2 BRN P15 8 6QSL P14 TXL 6 PA(1) 9 6R#= BCS VDELCH 8 6RRW TXL 6 PZ(1) 8 6S?G BCS P18 5 6SR6 VDELCH 16 6T=Q LDX 3 BPTR(2) [PTR. TO /CALAS 9 6TQB LDX 7 CPBFSD(3) 18 6W=2 BNG 7 VERBINC [J IF NOT A MACROS FILE 7 6WPL SBN 5 4 20 6X9= BNG 5 VERBINC [J IF NOT ENOUGH CHARS FOR DELIM. 7 6XNW LDN 7 1 18 6Y8G ANDX 7 CPBPROGLEV(3) [ISOLATE DELIMITER BIT 18 6YN6 LDX 4 CLBFIR(2) [GET 1ST 4 CHARS OF LINE 17 6_7Q BNZ 7 TDELIM [J IF DELIM. BIT SET 10 6_MB TXU 4 CPBSTART(3) 17 7272 BCC STARF [J IF STARTER FOUND 10 72LL TXU 4 CPBSTOP(3) 17 736= BCS VERBINC [J IF NOT A STOPPER 20 73KW LDX 7 VSTOP(1) [LOAD ERROR MESSAGE IDENTIFIER 8 745G LDX 4 ACES 17 74K6 STO 4 CLBFIR+1(2) [TO TERMINATE STOPPER 17 754Q BRN VP [TO REPORT THE ERROR 5 75JB TDELIM 10 7642 TXU 4 CPBSTOP(3) 16 76HL BCS VERBINC [J IF NOT STOPPER 7 773= LDN 7 2 10 77GW ORS 7 CPBPROGLEV(3) 17 782G ERS 7 CPBPROGLEV(3) [UNSET 2ND DELIM BIT 7 78G6 STARF LDN 7 1 17 78_Q ERS 7 CPBPROGLEV(3) [SET/UNSET DELIM BIT 10 79FB STOZ CLBPTNECHA(2) 8 79_2 BRN XYZ 20 7=DL [ LOADS THE IDENTIFIER CORRESPONDING TO THE 'VERB FORMAT ERROR' 8 7=Y= [ ERROR MESSAGE 5 7?CW VERBINC 9 7?XG LDX 7 VINC(1) 9 7#C6 BRN VORTEX 19 7#WQ [ LOADS THE IDENTIFIER CORRESPONDING TO THE 'VERB TOO LONG' 8 7*BB [ ERROR MESSAGE 5 7*W2 VTOLONG 9 7B*L LDX 7 VTL(1) 9 7BT= BRN VORTEX 20 7C#W [ THIS SECTION SETS UP A NEW COMMAND PROCESSOR LEVEL WHEN THE 13 7CSG [ COMMAND JUST ANALYSED WAS A MACRO 4 7D#6 MAC 7 7DRQ LDN 4 1 21 7F?B ADS 4 CPLEV(3) [GO DOWN A COMMAND PROCESSOR LEVEL 19 7FR2 LDX 4 CPLEV(3) [NEW COMMAND PROCESSOR LEVEL 7 7G=L GETCLB 3 7 7GQ= GETCPB 3 10 7H9W STO 4 CPBCPLEV(3) 8 7HPG LDX 0 GSIGN 9 7J96 ANDX 0 EXT+9(2) 10 7JNQ STO 0 CPBPROGLEV(3) 6 7JTY ...#UNS G400 8 7K36 ... CPHOOK 3 16 7K8B FILECOUNT 6 [NO OF FILES OPEN 9 7KN2 STO 6 CPBFSD(3) 16 7L7L LDX 5 AMFMSK(2) [ SET NEW TRACING 16 7LM= STO 5 CMFMSK(3) [ LEVEL IN CPAT 6 7LN* #UNS CMXMSK 4 7LPD ( 9 7LQH STOZ CMXMSK(3) 9 7LRL SEGENTRY K70ALASB 20 7LSP BRN XK71 [MENDED TO NULL IF REPORTNEST ON 8 7LTS LDN 5 #10 10 7LWX ANDX 5 CONTEXT(2) 16 7LY2 BZE 5 XK71 [BR IF NOT MOP 9 7L_5 LDX 5 AMXMSK(2) 17 7M28 STO 5 CMXMSK(3) [SET REPORTING LEVEL 4 7M3? XK71 9 7M4B SEGENTRY K71ALASB 4 7M5F ) 9 7M6W LDX 5 TSTART(1) 16 7MLG STO 5 CPBSTART(3) [STORE STARTER 9 7N66 LDX 5 TSTOP(1) 16 7NKQ STO 5 CPBSTOP(3) [STORE STOPPER 9 7P5B LDX 3 FPTR(3) 10 7PK2 STO 4 CPBCPLEV(3) 9 7Q4L STO 6 CPBFSD(3) 6 7QJ= ENDREC 17 7R3W P60 STO 5 APARANUM(3) [ROUTINE TO EXTRACT 17 7RHG SMO FX2 [NEXT CHARACTER TO BE 17 7S36 LDX 4 EXT+2 [ANALYSED FROM THE 15 7SGQ ADX 3 4 [LINE BUFFER 12 7T2B LDCH 6 0(3) [ 12 7TG2 BCHX 4 / [ 8 7T_L SMO FX2 8 7WF= STO 4 EXT+2 9 7WYW TXU 6 SPACE(1) 15 7XDG BCC PRY [J IF SPACE 8 7XY6 SMO FX2 17 7YCQ LDX 4 EXT+3 [LOAD BRACKET COUNT 17 7YXB LDX 5 4 [ISOLATE INDICATOR 8 7_C2 SRL 5 22 9 7_WL ANDX 4 MASK(1) 18 82B= BNZ 4 P21 [J IF UNDER BRACKETS ETC. 17 82TW LDN 5 0 [INDICATOR = NEW LINE 10 83*G R70 TXU 6 SEPARATOR(1) 15 83T6 BCC P23 [J IF COMMA 10 84#Q TXU 6 THESISL(1) 16 84SB BCC P25 [J IF PARENTHESIS 9 85#2 TXU 6 QUOTES(1) 15 85RL BCC PQUOT [J IF QUOTES 8 86?= P26 SLL 5 22 7 86QW ORX 4 5 8 87=G P27 SMO FX2 15 87Q6 STO 4 EXT+3 [STORE COUNT 20 889Q P29 LDX 0 APTNECHA(2) [LD PTR TO NEXT NON SPACE CHAR 18 88PB BCHX 0 / [INCREASE BY 1 POSITION 8 8992 SMO FX2 8 89NL STO 0 EXT 7 8=8= PSPIG LDN 5 1 21 8=MW CALL 0 STOREPB [STORE CHARACTER IN PARAMETER BLOCK 9 8?7G P34 LDX 3 FPTR(2) 10 8?M6 LDX 5 APARANUM(3) 8 8#6Q BCT 5 P60 8 8#LB SMO FX2 8 8*62 LDX 0 EXT 8 8*KL BZE 0 P33 16 8B5= STO 0 APTNECHA(2) [STORE BACK IN PB 10 8BJW SBX 0 APTBEPAR(2) 7 8C4G SLC 0 2 7 8CJ6 SBN 0 4 10 8D3Q SMO APTBEPAR(2) 8 8DHB STO 0 0(2) 8 8F32 BRN P33 17 8FGL P23 LDN 5 3 [MARK AS SEPARATOR 18 8G2= SLL 5 22 [SHIFT TO TOP END OF WORD 15 8GFW ORX 4 5 [ORX INTO X5 8 8G_G SMO FX2 18 8HF6 STO 4 EXT+3 [STORE IN ACTIVITY BLOCK 8 8HYQ SMO FX2 8 8JDB LDX 0 EXT 17 8JY2 BZE 0 XN [J IF MARKER NOT SET 10 8KCL STO 0 APTNECHA(2) 10 8KX= SBX 0 APTBEPAR(2) 7 8LBW SLC 0 2 7 8LWG SBN 0 4 10 8MB6 SMO APTBEPAR(2) 8 8MTQ STO 0 0(2) 8 8N*B SMO FX2 8 8NT2 STOZ EXT 7 8P#L XN LDN 5 0 9 8PS= CALL 0 STOREPB 15 8Q?W SMO APTBEPAR(2) [ UPDATE 18 8QRG LDX 5 0(2) [ APTBEPAR IN /CALAS 16 8R?6 ADN 5 7 [ TO POINT TO 17 8RQQ SRL 5 2 [ NEXT PARAMETER 17 8S=B ADS 5 APTBEPAR(2) [ TYPE/COUNT WORD 8 8SQ2 BRN P34 18 8T9L P21 BZE 5 P28 [J IF UNDER PARENTHESIS 9 8TP= PQ TXU 6 QUOTES(1) 16 8W8W BCS P29 [J IF NOT QUOTE 7 8WNG SBN 4 1 8 8X86 BRN P27 20 8XMQ P30 SBN 4 1 [SUBTRACT 1 FROM BRACKET COUNT 18 8Y7B BNZ 4 P26 [BRANCH IF COUNT NOT ZERO 8 8YM2 BRN P27 10 8_6L P28 TXU 6 THESISL(1) 14 8_L= BCC P25 [J IF LHP 10 925W TXU 6 THESISR(1) 14 92KG BCC P30 [J IF RHP 8 9356 BRN P27 7 93JQ PQUOT LDN 5 2 18 944B P25 ADN 4 1 [ADD 1 TO BRACKET COUNT 8 94J2 BRN P26 8 953L PRY SMO FX2 8 95H= LDX 0 EXT 8 962W BNZ 0 PSPIG 8 96GG BRN P34 14 9726 [ THIS SECTION ADJUSTS THE LENGTH OF THE 16 97FQ [ PARAMETER BLOCK BEFORE ENTERING THE COMMAND 9 97_B P33 LDX 2 FPTR(2) 10 98F2 LDX 6 CLBPTNECHA(2) 15 98YL ERS 6 CLBPTNECHA(2) [CLEAR WORD 20 9C?Q P40 LDX 2 BPTR(2) [LOAD POINTER TO PARAMETER BLOCK 10 9CRB LDX 4 APTNECHA(2) 10 9D?2 ERN 4 APARAFIR+1 8 9DQL BZE 4 P100 7 9F== LDN 5 0 17 9FPW CALL 0 STOREPB [TERMINATE PARAMETER 17 9G9G SMO APTBEPAR(2) [ UPDATE APTBEPAR 16 9GP6 LDX 5 0(2) [ TO POINT TO 16 9H8Q ADN 5 7 [ NEXT PARAMETER 17 9HNB SRL 5 2 [ TYPE/COUNT WORD 10 9J82 ADS 5 APTBEPAR(2) 10 9JML P100 STOZ APTNECHA(2) 7 9K7= NGN 5 1 10 9KLW LDX 6 APTBEPAR(2) 7 9L6G SMO 6 19 9LL6 STO 5 0(2) [MARK LAST PARAMETER IN BLOCK 17 9M5Q BZE 4 P101 [J IF NO PARAMETERS 18 9MKB DOWN ANALYSEA,3 [ TO ANALYSE PARAMETERS 10 9N52 MHUNTW 2,CPB,CALAS 4 9NJL P101 9 9P4= LDX 7 PARF(1) 10 9PHW STO 7 APTBEPAR(2) 10 9Q3G STO 7 ADNOPARAL(2) 8 9QH6 SBN 6 A1-1 10 9QS3 LDN 5 AVELINE+APB+1 7 9R4Y TXL 6 5 20 9R*T BCC P41A [BR REQ LEN PARA BLOCK > OR = MIN 20 9RLQ LDN 6 AVELINE+APB [SET REQ LEN PARA BLOCK TO MIN 10 9RXM P41A TXL 6 ALOGLEN(2) 20 9S8J BCC P41 [BR IF REQ LEN = CURRENT LOG LEN 7 9SFL LDX 3 2 17 9S_= ALTLEN 3,6 [SHORTEN CPB/CALAS 14 9TDW P41 MHUNTW 2,CLB [FIND LB 8 9TYG SMO FX2 9 9WD6 LDX 6 JOBEVENTS 8 9WXQ BPZ 6 SAG 7 9X4Y SLL 6 1 20 9X=6 BNG 6 SAG [IGNORE IF BREAK-IN IS STOPJOB 8 9XCB SMO FX2 9 9XX2 LDX 4 AWORK1 8 9YBL BNZ 4 P42 10 9YW= MHUNTW 3,CPB,CALAS 8 9_*W LDCT 6 #300 9 9_TG ANDX 6 CPBFSD(3) 8 =2*6 BNZ 6 SAG 18 =2SQ CLOSE [CLOSE DOWN MACRO FILE 7 =3#B P42 COMBRKIN 11 =3S2 [ ENTRY FROM OBEY COMMAND 5 =4?L QENTRY5 8 =4R= SAG LDX 3 FX2 8 =5=W #SKI K6ALLGEO>99-99 11 =5QG TRACE AWORK2(3),COMMAND 19 =6=6 LDX 6 AWORK1(3) [LOAD MACRO OR BUILT IN TYPE 15 =6PQ BZE 6 MAC [J IF MACRO 17 =79B ACROSSVAR AWORK3(3) [GO ACROSS TO COMMAND 5 =7P2 VORTEX 9 =88L TXU 7 ONE(1) 8 =8N= BCS VP 4 =97W XYZ 6 =9MG #SKI APL 9 ==76 MFREEW GMON,AOUT 6 ==LQ ENDREC 9 =?6B VP TXU 7 TWO(1) 17 =?L2 BCC XYZ [J IF LINE OF COMMENT 8 =#5L MHUNTW 2,CLB 10 =#K= STOZ CLBPTNECHA(2) 6 =DG= #SKI APL 8 =D_W CALL 4 REPLY 19 =FFG [ THIS COMERR COVERS A MULTITUDE OF SINS: VERB TOO LONG,VERB 20 =F_6 [ FORMAT ERROR ,PARAMETER IDENTIFIER ERROR ,TOO MANY PARAMETERS 20 =GDQ [ OR RECORDS IN A COMMAND, PARAMETER SUBSTITUTION AT THE WRONG 11 =GYB [ LEVEL,PARAMETER TOO LONG. 7 =HD2 COMERRX 7 10 =HXL MENDAREA 50,K99ALASB 4 =JC= #END 8 ____ ...45511370000200000000