22FL #SEG PARSORT8 [A.C.PUTMAN 22PD ...# (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1983. 22^= #OPT K0PARSORT=0 23DW #OPT K6PARSORT=200 23YG #LIS K0PARSORT>K0IDF>K0COMMAND>K0ALLGEO 24D6 8HPARSORT 24XQ # 25CB # THIS SEGMENT ANALYSES COMMAND PARAMETERS OF PERIPHERAL DESCRIPTION 25X2 # FORM, SETTING DETAILS OF THE DEVICE SO DESCRIBED INTO A CPAR/JSCE 26BL # BLOCK. THE PARAMETER IS VALIDATED, BOTH FOR EXISTENCE AND 26W= # CLUSTERING, AND THE APPROPRIATE ERROR MESSAGE IS OUTPUT TO THE 27*W # CLUSTER CONSOLE (OPTIONAL). THE MACROS SERVICED BY THE SEGMENT 27TG # ARE:- 28*6 # PARSORT K1PARSORT 28SQ # PARSORTB K1PARSORT 29#B # PARSORTX K2PARSORT 29S2 # 2=?L # 2=R= # THE PARAMETERS PERMISSIBLE ARE:- 2?=W # 2?QG # A) LOCAL PERIPHERAL:- 2#=6 # 1 N 2#PQ # 2 UN 2*9B # 2*P2 # B) PCT PERIPHERAL:- 2B8L # 1 IAAX 2BN= # 2 UN.LM.IAAX 2C7W # 3 UN.LM.IAA 2CMG # 4 UN.LM 2D76 # 2DLQ # C) IPB PERIPHERALS:- 2F6B # 1 IX 2FL2 # 2 UN.IX 2G5L # 2GK= # PLUS DEVICE QUALIFIER (N) FOR ANY OF ABOVE 2H4W # 2HJG # AND, FOR PARSORTB ONLY 2J46 # *PERIPHERAL TYPE 2JHQ # 2K3B # 2KH2 # ENTRY POINTS 2L2L # 2LG= SEGENTRY K1PARSORT,X1PARSORT 2L^W SEGENTRY K2PARSORT,X2PARSORT 2MFG # 2M^6 # 2NDQ #PAGE 2NYB XTP +1 [TAPE PUNCH 2PD2 XFOUR +4 2PMS ...XMT +5 2PXL SEVEN +7 2QC= ULESSI +12 ["U" - "I" (#14) 2QM4 ...XDMNXX 4H00XX 2QWW TYPE [PARAMETER TYPE BRANCH TABLE 2RBG BRN SIMPLE [ SIMPLE 2RW6 BRN PSEUDO [ PSEUDO-SIMPLE 2S*Q BRN XCOMP [ COMPOSITE (ERROR) 2STB BRN QUAL [ QUALIFIED 2T*2 TABLE 2TSL ... BRN NOPARAM 2W#= BRN PARSORTB [*PT PARAMETER 2WRW BRN UNLMUNIM [2 COMPONENT PSEUDO-SIMPLE 2X?G BRN UNLMIAAX [3 COMPONENT PSEUDO-SIMPLE 2XR6 STABLE 2Y=Q ... BRN NOPARAM 2YQB BRN Z4 2^=2 BRN UNLMUNIM 2^PL BRN UNLMIAAX 2^Q* ...TDMNEM 4HTR 2^R4 ... 4HTP 2^RR ... 4HLP 2^SG ... 4HCR 2^T9 ... 4HCP 2^TY ... 4HMC 2^WM ... 4HGP 2^XB ... 4HED 2^Y5 ... 4HFD 2^YS ... 4H 2^^H ...TDTYPE +0 322= ... +1 322^ ... +2 323N ... +3 324C ... +4 3256 ... +5 325T ... +20 326J ... +26 327? ... +26 3282 ... 4H 329= # 32NW ZJNOPER +JNOPER [NOT ON INSTALLATION 338G ZNOCLUS +INOCLUS [NOT IN CORRECT CLUSTER 33N6 ZJPARMIS +JPARMIS [PARAMETER MISSING 347Q ZJPERMIS +JPERMIS [PERIPHERAL DESCRIPTION 34MB ZJNOTPERI +JNOTPERI [NOT VALID PERIPHERAL DESCRIPTION 3572 ZILLIDE +ILLIDE [ILLEGAL IDENTIFIER NUMBER 35LL ZILLINO +ILLINO [ILLEGAL LINE NUMBER 366= ZILLQUAL +ILLQUAL [ILLEGAL QUALIFIER 36?D ZJNOPFD +JNOPERFD 36DL ZJERSO +JERSWO 36KW # * * * 375G # * * ** 37K6 # ** * 384Q # * * * 38JB # * * *** 3942 # 39HL X1PARSORT [ENTRY POINT FOR PARSORT MACRO 3=3= LDX 0 ACOMMUNE1(2) 3=GW STO 0 AWORK1(2) [PRESERVE PARAMETER OPTION WORD 3?2G ANDN 0 1 3?G6 BNZ 0 X1 [BR IF "ALL" OPTION SPECIFIED 3?^Q LDN 4 1 [ELSE SET PARAMETER COUNT OF 1 3#FB BRN X2 3#^2 X1 3*DL LDN 5 0 [ANALYSIS LEVEL 0 3*Y= CALL 7 XPARANUMB [FIND NO OF PARAMETERS PRESENT 3BCW TXL 4 XTP(1) 3BXG BCS NOPARAM [BR IF NO PARAMETERS PRESENT 3CC6 REENTRY [REENTRY LABEL 3CWQ X2 3DBB STOZ AWORK3(2) 3DW2 STOZ AWORK4(2) 3F*L STO 4 AWORK2(2) [STORE NO OF PARAMETERS STILL TO DO 3FT= LDN 4 0 [CURRENT ANALYSIS LEVEL 3G#W PARANEXT #36,4 [SPLIT PARAMETER AT ANY POINTS 3GCF ...#UNS ANSTOOMANY 3GG4 ... TESTREP2 TOOMANY,XTOOMANY 3GJN TESTREPN OK,NOTPERI 3GSG PARSORTX [COMMON ENTRY FROM K2PARSORTX 3H#6 PARATYPE 4 [PARAMETER TYPE TO X4 3HRQ #SKI K6PARSORT>199$199 3J?B TRACE 4,PARATYPE 3JR2 MHUNT 3,CPB,CUNI 3K=L LDX 5 ANUM(3) 3KQ= TXL 5 XTP(1) 3L9W BCC X3 [BR IF PARAMETER EXISTENT 3LPG LDX 0 AWORK1(2) 3M96 ANDN 0 BALL 3MNQ BZE 0 NOPARAM [ERROR IF "ALL" NOT SPECIFIED 3N8B BZE 5 NEXTW [IGNORE IF PARAMETER NULL 3NN2 BNG 5 NOPARAM [ERROR IF PARAMETER NON-EXISTENT 3P7L X3 3PM= ADX 4 1 3Q6W EXIT 4 TYPE [BR ACCORDING TO PARAMETER TYPE 3QLG Z4 3R66 NGN 4 1 [NO PARAMETER NUMBER IN THIS CASE 3RKQ CALL 7 YPARANXTX [SPLIT PARAMETER UP AT PARENTHESES 3S5B SIMPLE 3SK2 # PARAMETER MAY BE: N; UN; IAAX; IN (IF VALID) 3SSS ...# 3T4L LDN 2 APARA(3) 3TJ= CALL 0 ZCONV [ATTEMPT QUICK CONVERSION (ASSUME N) 3W3W BRN NONNUM [CONVERSION FAILED 3WHG Z1 3X36 LDX 2 FX2 3XGQ LDX 4 JPARNUM(3) [LOAD PARAMETER NUMBER FOR PARANOTX 3XQJ BZE 7 Z2 3Y2B CALL 6 XFINDPEREC [FIND THE DEVICE LIST 3Y8L BRN Z2A 3YBW Z2 3YK6 CALL 6 XFINDOPER [FIND DEVICE LIST FOR OPER UNIT 0 3YRB Z2A 3^6# ... SAWCE CENTRAL,Z3 3^F= LDX 0 AWORK1(2) [OPTION WORD 3^YW ANDN 0 BNOCLUS 42DG BZE 0 NOCLUS [BR TO ERROR IF CLUSTER CHECKING ON 42Y6 LDCT 0 #600 43CQ ORX 3 0 [SET CLUSTER CHECK FAILED BITS 43XB Z3 44C2 # NOW HAVE VALID LOCAL PERIPHERAL PARAMETER, GEOG NO IN X7, AND DEVICE 44WL # LIST POINTER IN X3 45B= STO 3 AWORK3(2) [PRESERVE DEVICE LIST POINTER 45TW CALL 7 XPARANOTX [REACCESS PARAMETER 46*G CALL 7 SETUP [SET UP CPAR/JSCE BLOCK 46T6 LDX 1 AWORK3(2) [RESTORE DEVICE LIST POINTER 47#Q STO 1 JSCEP(3) 47SB ANDX 1 BITS22LS [TO CLEAR CLUSTER CHECK BITS 48#2 LTYPE 1,0 [LOAD DEVICE TYPE 48HS ... STO 0 AWORK3(2) 48RL DCH 0 JSCEA(3) 48SK ... JENVNOT Z3A,CMESTAR 48TJ ... LDX 0 AWORK1(2) 48WH ... ANDN 0 BDEVMN 48XG ... BZE 0 Z3A 48YF ... CALL 7 XCONTY 48^D ... LDX 0 AWORK4(2) 492C ... STO 0 JSCEB(3) 493B ... SMO FX1 494* ... LDX 0 XMT 495# ... TXU 0 AWORK3(2) 496? ... BCS Z3A 497= ... SMO FX1 4989 ... LDX 0 XDMNXX 4998 ... STO 0 JSCEB(3) 49=7 ...Z3A 49?= LGEOG 1,0 [GEOGRAPHIC NO 49QW DEX 0 JSCEA(3) [TYPE/GEOG NO WORD 4==G NEXT 4=Q6 LDX 2 FX2 4?9Q LDXC 0 AWORK2(2) 4?PB BCC NEXTW [BR IF NO QUBLIFIER PRESENT 4#92 CALL 7 XPARAPASS [ACCESS DEVICE QUALIFIER 4#NL LDN 2 APARA(3) 4*8= BCHX 2 £ [PARAMETER IS OF FORM 4*MW ANDN 5 #7777 [ISOLATE PARAMETER LENGTH 4B7G SBN 5 1 [ (NUMBER) 4BM6 MHUNT 3,CPAR [FIND FIRST PARAMETER BLOCK 4C6Q CALL 0 ZCONV [ATTEMPT CONVERSION 4CLB BRN Z5 4D62 Z6 4DKL FREECORE 3 [ERROR - FREE BLOCK 4F5= BRN NOTDEVQUAL [BR IF DEVICE QUALIFIER INVALID 4FJW Z5 4G4G SBN 5 1 [ERROR IF CONVERSION NOT FALED 4GJ6 BNZ 5 Z6 [ON CLOSE BRACKET 4H3Q STO 7 JSCEK(3) [STORE DEVICE QUALIFIER 4HHB NEXTW 4J32 CALL 7 XFREE [FREE ALL PARAMETER BLOCKS 4JGL LDX 4 AWORK2(2) [NO OF PARAMETERS IN CPB/CALAS 4K2= BCT 4 REENTRY [COUNT DOWN AND CARRY ON 4KFW BRN PAREND [BR IF NO MORE TO DO 4K^G NONNUM 4LF6 # NON-NUMERIC CHARACTER FOUND ON FIRST ATTEMPTED CONVERSION 4LYQ # X3 POINTS TO CPB/CUNI BLOCK 4MDB TXU 5 ANUM(3) 4MY2 BCS PFERR [ERROR IF 1ST CHARACTER NUMERIC 4NCL LDCH 4 APARA(3) [LOAD 1ST CHARACTER 4NX= SBN 4 #51 4PBW BZE 4 Y2 [BR IF 1ST CHARACTER "I" 4PWG TXU 4 ULESSI(1) 4PYP ... BCC Y2 4Q2Y ... JENVNOT NOTPERI,CMESTAR 4Q57 ... LDX 2 FX2 4Q7B ... LDX 0 AWORK1(2) 4Q9K ... ANDN 0 BDEVMN 4Q?S ... BZE 0 NOTPERI 4Q#* ... LDX 0 CONTEXT(2) 4Q#W ... ANDN 0 #210 4Q*C ... BNZ 0 NOTPERI 4QB3 ... LDX 0 AWORK1(2) 4QD= ... STO 0 ACOMMUNE1(2) 4QGF ... DOWN DUMMYA,1 4QJN ... BRN NEXTW 4QLX ... BRN NOTPERI 4QP6 ... BRN NOUNIT 4QR* ... BRN NOTOUT 4QTQ Y2 4R*B SBN 5 1 [1 LESS CHARACTER TO CONVERT 4RT2 BCHX 2 £ 4S#L CALL 0 ZCONV [ATTEMPT CONVERSION 4SS= BRN Y3 [BR IF FAILED (MAY BE IAAX) 4T?W BZE 4 XIDENT [BR IF 1ST CHARACTER WAS "I" 4TRG # UN PARAMETER - GEOG NO IS IN X7 4W?6 BRN Z1 [BR TO FIND DEVICE LIST ETC. 4WQQ Y3 [1ST CHAR "I" 4X=B ADN 5 1 [RESET X5 4XQ2 TXU 5 ANUM(3) 4Y9L BCS NOTPERI [ERROR IF 2ND CHAR NUMERIC 4YP= SBN 5 5 4^8W BPZ 5 NOTPERI [ERROR IF > 4 CHARACTERS 4^NG Y4 5286 LDCH 0 0(2) [LOAD NEXT CHARACTER 52MQ SBN 0 #41 537B BNG 0 NOTPERI 53M2 SBN 0 #32 [ERROR IF EITHER 2ND OR 3RD CHARS 546L BPZ 0 NOTPERI [NOT NUMERIC 54L= BCHX 2 £ 555W LDCH 0 0(2) [CHECK 3RD CHARACTER 55KG SBN 0 10 5656 BNG 0 T2 [OK IF NUMERIC 56JQ SBN 0 23 574B BNG 0 NOTPERI 57J2 SBN 0 26 583L BPZ 0 NOTPERI 58H= T2 [OR ALPHA 592W BCHX 2 £ 59GG LDCH 0 0(2) [LOAD 4TH CHARACTER 5=26 BZE 0 NOTPERI [BR IF INTERFACE 0 SPECIFIED 5=FQ TXL 0 SEVEN(1) 5=^B BCS Y5 [BR IF INTERFACE NO < 7 5?F2 SBN 0 #20 5?YL BNZ 0 NOTPERI [ERROR IF NOT SPACE 5#D= DCH 0 0(2) [PU^ ZERO IN FOR SPACE 5#XW # AFTER ALL THIS WE NOW HAVE A PCT PARAMETER IN THE CORRECT FORMAT 5*CG # WHICH MAY OR MAY NOT EXIST 5*X6 Y5 LDX 4 APARA(3) [LOAD IAAX PARAMETER 5BBQ SLL 4 6 5BWB LDX 6 4 5CB2 SRL 6 6 [ X6 IS NOW IN FORMAT 0AAX 5CTL ANDX 4 HALFTOP [TERMINAL IDENTIFIER TO B0-11 OF X4 5D*= HUNTMISB 1,IDF,ITERMID [FIND IDF/ITERMID TO VERIFY EXISTENCE 5DSW LDX 2 FX2 [OF TERMINAL/INTERFACE 5F#G BNG 1 NOUNIT [BR IF NO TERMINALS ON INSTALLATION 5FS6 T1 5G?Q LDX 5 A1+1(1) [LOAD NEXT WORD OF ITERMID 5GRB BZE 5 NOUNIT [BR IF TERMINAL NOT FOUND 5H?2 ANDX 5 HALFTOP [ISOLATE TERMINAL IDENTIFIER 5HQL TXU 5 4 5J== BCC Y6 [BR IF THIS TERMINAL 5JPW BDX 1 T1 [ELSE LOOK FOR NEXT ONE 5K9G Y6 5KP6 LDEX 5 A1+1(1) [LINE NUMBER (ACTUAL) 5L8Q LDX 0 AWORK3(2) [LINE NUMBER (PARAMETER) 5LNB BZE 0 Y14 [BR IF NONE SPECIFIED 5M82 TXU 5 AWORK4(2) [ELSE CHECK IT 5MML BCS NOUNIT 5N7= Y14 5NLW DCH 5 AWORK4(2) [STORE LINE NUMBER (CHAR 0) 5P6G XTHERE [ENTRY FOUND IN ITERMID BLOCK 5PL6 LDXC 0 A1+2(1) [IF 2ND WORD OF ENTRY IS -VE, 'PLEXOR 5Q5Q BCS NOUNIT [IS NOT ON THIS INSTALLATION 5QKB SMO 0 5R52 LDX 4 CPPTR [LOAD 'PLEXOR DEVICE LIST POINTER 5RJL LDX 0 AWORK3(2) 5S4= BZE 0 Y7 [BR IF NO UNIT SPECIFIED 5SHW TXU 0 4 5T3G BCS NOUNIT [BR IF WRONG UNIT SPECIFIED 5TH6 Y7 5W2Q STO 4 AWORK3(2) 5WGB LDX 4 JPARNUM(3) [LOAD PARAMETER NUMBER 5X22 CALL 7 XPARANOTX [REACCESS PARAMETER 5XFL CALL 7 SETUP [SET UP CPAR/JSCE BLOCK 5X^= LDCH 0 6 [IF NO INTERFACE NO SPECIFIED, KEEP 5YDW BZE 0 Y13 [OUT OF IDF 5YYG NAME 3,CPAR,CPCT [RENAME IT FOR IDF VALIDATION 5^D6 Y13 5^XQ LDX 1 AWORK3(2) [RESTORE 'PLEXOR DEVICE LIST POINTER 62CB STO 1 JSCEP(3) 62X2 STO 6 JSCEA(3) [JSCEA EXCEPT FOR BITS 0-6 63BL LDCT 4 #500 [B0, B2 63W= LDCH 0 AWORK4(2) [LOAD 'PLEXOR LINE NUMBER 64*W SLL 0 9 64TG ORX 4 0 65*6 LGEOG 1,0 [LOAD 'PLEXOR GEOG NO 65SQ ORX 4 0 [JSCEB 66#B STO 4 JSCEB(3) 66S2 BRN NEXT [BR TO DO NEXT PARAMETER 67?L # 67R= # DOWN HERE WE HAVE AN IPB IDENTIFIER FRESHLY CONVERTED INTO X7 BY ZCONV 68=W # 68QG XIDENT 69=6 LDX 2 FX2 69PQ BZE 7 NOTIDENT [BR IF I0 SPECIFIED 6=9B LDXC 0 GSIGN [SET C 6=P2 LDN 0 #7777 [THIS IS THE ONLY VALIDATION POSSIBLE 6?8L TXL 7 0 [FOR IPB IDENTIFIERS WITHOUT GOING 6?N= BCC NOTIDENT [TO THE IDF 6#7W STO 4 AWORK4(2) [X4 = 0 IF JUST I73, D/L PTR FOR UN.I 6#MG LDX 6 7 [PRESERVE IDENTIFIER NO 6*76 LDX 4 JPARNUM(3) [LOAD PARAMETER NO FOR PARANOTX 6*LQ CALL 7 XPARANOTX [REACCESS PARAMETER 6B6B CALL 7 SETUP [SET UP CPAR/JSCE BLOCK 6BL2 NAME 3,CPAR,AIPB [... AND RENAME IT FOR IDF VALIDATION 6C5L STO 6 JSCEA(3) [STORE IDENTIFIER NUMBER 6CK= LDX 1 AWORK4(2) [0 OR IPB D/L POINTER 6D4W BZE 1 Y8 [BR IF IPB NOT KNOWN 6DJG LGEOG 1,4 6F46 STO 4 JSCEB(3) [STORE IPB GEOG NO 6FHQ Y8 6G3B STO 1 JSCEP(3) 6GH2 LDCT 0 #600 [IPB MARKER 6H2L ORS 0 JSCEB(3) 6HG= BRN NEXT [BR TO DO NEXT PARAMETER 6H^W # 6JFG # PSEUDO-SIMPLE TYPE PARAMETER. COULD BE UM.LN; UM.LN.IAAX; UM.IN; *PT 6J^6 # OR UN.IAAX WHERE UN IS A UNIPLEXOR 6KDQ # 6KYB PSEUDO 6LD2 LDN 5 1 [CURRENT ANALYSIS LEVEL 6LXL CALL 7 XPARANUMB [FIND NUMBER OF COMPONENTS FORMED 6MC= TXL 4 XFOUR(1) [CAN'T BE PERIPHERAL DESCRIPTION 6MWW BCC NOTPERI [PARAMETER IF MORE THAN THREE PARTS 6NBG ADX 4 FX1 6NW6 EXIT 4 TABLE [BR ACCORDING TO NO OF COMPONENTS 6P*Q UNLMUNIM [2 COMPONENTS 6PTB MHUNT 3,CPB,CUNI [FIND THE CPB/CUNI BLOCK 6Q*2 LDX 0 ANUM(3) [EXAMINE FIRST COMPONENT 6QSL BZE 0 NOTPERI 6R#= BNG 0 NOTPERI [BR IF NULL OR NONEXISTENT 6RRW SRL 0 12 6S?G BNZ 0 NOTPERI [BR IF TYPE NOT SIMPLE 6SR6 LDCH 0 APARA(3) 6T=Q SBN 0 #65 [ERROR IF 1ST PARAMETER NOT "U" 6TQB BNZ 0 NOTPERI 6W=2 LDN 2 APARA(3) 6WPL BCHX 2 £ [ADDRESS OF 1ST NUMERIC CHARACTER 6X9= LDX 5 ANUM(3) [LENGTH OF NUMERIC PART OF 6XNW SBN 5 1 [PARAMETER 6Y8G CALL 0 ZCONV [ATTEMPT CONVERSION 6YN6 BRN NOTPERI [FAILED 6YXY ... LDX 2 FX2 6^7Q CALL 6 XFINDPEREC [OK - TRY AND FIND PERIPHERAL N 73KW STO 3 AWORK3(2) [PRESERVE DEVICE LIST POINTER 73TN JEXOTIC 3,YEXOT 73^K LTYPE 3,0 745G SBN 0 10 74K6 BZE 0 XUX [BR IF UNIPLEXOR 754Q SBN 0 1 75JB BZE 0 XMX [BR IF MULTIPLEXOR 7642 SBN 0 13 76HL BNZ 0 NOTMOP [ERROR IF NOT IPB 773= LDXC 0 AWORK2(2) 77GW BCC Y9 [BR IF NO DEVICE QUALIFIER 782G CALL 7 XPARANXTX [SPLIT PARAMETER UP AT BRACKETS 78G6 BRN Y10 78^Q Y9 79FB CALL 7 XPARAPASS [GET NEXT PARAMETER 79^2 Y10 7=DL BZE 5 NOTPERI [X5 = ANUM 7=Y= BNG 5 NOTPERI [BR IF NULL OR NONEXISTENT 7?CW SRL 5 12 7?XG BNZ 5 NOTPERI [ERROR IF NOT SIMPLE PARAMETER 7#C6 LDCH 0 APARA(3) [LOAD 1ST CHARACTER OF PARAMETER 7#WQ SBN 0 #51 7*BB BNZ 0 NOTPERI [ERROR IF 1ST CHARACTER NOT "I" 7*W2 LDX 5 ANUM(3) 7B*L SBN 5 1 [COUNT OF NUMERIC CHARACTERS 7BT= LDN 2 APARA(3) 7C#W BCHX 2 £ [ADDRESS OF 1ST NUMERIC CHARACTER 7CSG CALL 0 ZCONV [ATTEMPT CONVERSION 7D#6 BRN NOTPERI [BR IF FAILED 7DRQ LDX 2 FX2 7F?B LDX 4 AWORK3(2) [RELOAD DEVICE LIST POINTER 7FR2 BRN XIDENT [IDENTIFIER TYPE PARAMETER 7G=L # 7GQ= # DOWN HERE UM HAS BEEN VALIDATED AND IS A MULTIPLEXOR OR UNIPLEXOR 7H9W # ITS DEVICE LIST POINTER IS IN X3 AND AWORK3 7H#5 YEXOT 7H*8 LTYPE 3,0 7HB# SBN 0 11 7HDH BNZ 0 NOTPERI [ERROR IF NOT EXOTIC MX 7HGQ LDX 0 AWORK1(2) 7HJ^ ANDN 0 BSMLCC [EXOTIC MX ALLOWED 7HM8 BZE 0 NOTPERI [IF SMLCC OPTION PRESENT 7HPG XUX 7J96 XMX 7JNQ LDXC 0 AWORK2(2) 7K8B BCC Y11 [BR IF NO DEVICE QUALIFIER 7KN2 CALL 7 XPARANXTX 7L7L BRN Y12 7LM= Y11 7M6W CALL 7 XPARAPASS [GET NEXT PARAMETER 7MLG Y12 7N66 BZE 5 NOTPERI 7NKQ BNG 5 NOTPERI [BR IF NULL OR NONEXISTENT 7P5B SRL 5 12 7PK2 BNZ 5 NOTPERI [ERROR IF NOT SIMPLE 7Q4L LDCH 0 APARA(3) [LOAD 1ST CHARACTER 7QJ= SBN 0 #54 7R3W BNZ 0 S1 [BR IF 1ST CHARACTER NOT "L" 7RHG LDX 5 ANUM(3) 7S36 SBN 5 1 [NO OF NUMERIC CHARACTERS 7SGQ LDN 2 APARA(3) 7T2B BCHX 2 £ [ADDRESS OF 1ST NUMERIC CHARACTER 7TG2 CALL 0 ZCONV [ATTEMPT CONVERSION 7T^L BRN NOTPERI [FAILED 7WF= LDX 2 FX2 7WYW LNLI AWORK3(2),4 [LOAD NUMBER OF LINES ON DEVICE 7XDG TXL 4 7 7XY6 BCS NOLINE [BR IF LINE NO TOO BIG 7Y2P ... LTYPE AWORK3(2),4 7Y5# ... SBN 4 11 7Y7X ... BNZ 4 Y12AA 7Y=G ... BZE 7 NOLINE [BR IF ZERO LINE NO FOR SMLCC 7Y*5 ...Y12AA 7YCQ LDX 6 7 [DON'T LOSE LINE NUMBER! 7YXB # LINE NUMBER VALID - I.E. VALID UM.LN PARAMETER 7^C2 LDX 4 JPARNUM(3) [LOAD PARAMETER NUMBER 7^WL CALL 7 XPARANOTX [REACCESS PARAMETER 82B= CALL 7 SETUP [SET UP CPAR/JSCE BLOCK 82TW LDX 1 AWORK3(2) [RESTORE DEVICE LIST POINTER 835N JEXOTIC 1,Y12A [NO CHECKING FOR EXOTIC MX 83*G NAME 3,CPAR,CPCT [RENAME FOR CLUSTER CHECKING LATER 83K# Y12A 83T6 STO 1 JSCEP(3) 84#Q STOZ JSCEA(3) 84SB LDCT 4 #500 [B0, B2 85#2 SLL 6 9 85RL ORX 4 6 86?= LGEOG 1,0 [LOAD MX GEOG NO 86QW ORX 4 0 [X4 = JSCEB FOR UM.LN PARAMETER 87=G STO 4 JSCEB(3) 87Q6 BRN NEXT [BR TO DO NEXT PARAMETER 889Q S1 [DEVICE MIGHT BE UX 88PB ADN 0 3 8992 BNZ 0 NOTPERI [ERROR IF 1ST CHARACTER NOT "I" 89NL LTYPE AWORK3(2),0 8=8= SBN 0 10 8=MW BNZ 0 NOTPERI [UN.IAAX ALLOWED FOR UX ONLY 8?7G LDX 0 ANUM(3) 8?M6 SBN 0 5 8#6Q BPZ 0 NOTPERI [ERROR IF > 5 CHARACTERS 8#LB LDN 2 APARA(3) 8*62 S2 8*KL BCHX 2 £ 8B5= LDCH 0 0(2) [LOAD NEXT CHARACTER 8BJW SBN 0 #41 8C4G BNG 0 NOTPERI 8CJ6 SBN 0 #32 [ERROR IF 2ND CHARACTER 8D3Q BPZ 0 NOTPERI [NOT ALPHA 8DHB BCHX 2 £ [CHECK 3RD CHARACTER 8F32 LDCH 0 0(2) 8FGL SBN 0 10 8G2= BNG 0 S5 [OK IF NUMERIC 8GFW SBN 0 23 8G^G BNG 0 NOTPERI 8HF6 SBN 0 26 8HYQ BPZ 0 NOTPERI 8JDB S5 [OR ALPHA 8JY2 BCHX 2 £ 8KCL LDCH 0 0(2) [LOAD LAST CHARACTER 8KX= BZE 0 NOTPERI [BR IF INTERFACE NO ZERO 8LBW TXL 0 SEVEN(1) 8LWG BCS OK [BR IF BETWEEN 1 AND 6 8MB6 SBN 0 #20 8MTQ BNZ 0 NOTPERI [ERROR IF NOT SPACE 8N*B DCH 0 0(2) [RESTORE INTERFACE NO IN CUNI BLOCK 8NT2 OK 8P#L LDX 2 FX2 8PS= STOZ AWORK4(2) [LINE NUMBER 0 FOR UPX 8Q?W BRN Y5 [BR TO VERIFY EXISTENCE OF TERMINAL 8QRG # 8R?6 # 8RQQ # 8S=B UNLMIAAX 8SQ2 # 8T9L # DOWN HERE WE HAVE A 3 COMPONENT PARAMETER WHICH OUGHT TO BE UN.LM.IAAX 8TP= # THE UN BIT IS IN THE FIRST CPB/CUNI BLOCK, POINTED AT BY X3 8W8W # 8WNG BZE 5 NOTPERI [BR IF NU-L OR NONEXISTENT 8X86 BNG 5 NOTPERI [ (X5 = ANUM) 8XMQ SRL 5 12 8Y7B BNZ 5 NOTPERI [BR IF NOT SIMPLE 8YC8 MHUNT 3,CPB,CUNI 8YM2 LDCH 0 APARA(3) 8^6L SBN 0 #65 8^L= BNZ 0 NOTPERI [BR IF 1ST CHARACTER NOT "U" 925W LDX 5 ANUM(3) 92KG SBN 5 1 [CHARACTER COUNT OF NUMERIC CHARS 9356 LDN 2 APARA(3) 93JQ BCHX 2 £ [ADDRESS OF FIRST NUMERIC CHARACTER 944B CALL 0 ZCONV [ATTEMPT CONVERSION 94J2 BRN NOTPERI [FAILED 94RS ... LDX 2 FX2 953L CALL 6 XFINDPEREC [FIND DEVICE LIST 962W LTYPE 3,0 96GG SBN 0 10 9726 BZE 0 QUX [BR IF UNIPLEXOR 97FQ TXU 0 XTP(1) 97^B BCS NOTPLEXOR [BR IF NOT MULTIPLEXOR 98F2 QUX 98YL JEXOTIC 3,NOTPERI [EXOTICS NOT ALLOWED 99D= LDX 2 FX2 99XW STO 3 AWORK3(2) [PRESERVE DEVICE LIST POINTER 9=CG # 9=X6 # UN BIT VALIDATED, AND IS A MX OR A UX 9?BQ # 9?WB CALL 7 XPARAPASS [GET NEXT COMPONENT 9#B2 BZE 5 NOTPERI 9#TL BNG 5 NOTPERI [BR IF NULL OR NONEXISTENT 9**= SRL 5 12 9*SW BNZ 5 NOTPERI [BR IF TYPE NOT SIMPLE 9B#G LDCH 0 APARA(3) 9BS6 SBN 0 #54 9C?Q BNZ 0 NOTPERI [BR IF 1ST CHAR OF 2ND BIT NOT "L" 9CRB LDX 5 ANUM(3) 9D?2 SBN 5 1 [NO OF NUMERIC CHARACTERS 9DQL LDN 2 APARA(3) 9F== BCHX 2 £ [ADDRESS OF 1ST NUMERIC CHARACTER 9FPW CALL 0 ZCONV [ATTEMPT CONVERSION 9G9G BRN NOTPERI [FAILED 9GP6 LDX 2 FX2 9H8Q LNLI AWORK3(2),4 [LOAD NUMBER OF LINES ON DEVICE 9HNB TXL 4 7 9J82 BCS NOLINE [BR IF LINE NO TOO BIG 9JML STO 7 AWORK4(2) [STORE LINE NUMBER 9K7= # 9KLW # NOW HAVE VALID UNIT NUMBER AND LINE NUMBER. NOW TO CHECK FORMAT OF 9L6G # NEXT COMPONENT 9LL6 # 9M5Q LDXC 0 AWORK2(2) 9MKB BCC S3 [BR IF NO DEVICE QUALIFIER 9N52 CALL 7 XPARANXTX 9NJL BRN S4 9P4= S3 9PHW CALL 7 XPARAPASS [ACCESS NEXT PARAMETER 9Q3G S4 9QH6 BZE 5 NOTPERI 9R2Q BNG 5 NOTPERI [BR IF NULL OR NONEXISTENT 9RGB SBN 5 5 9S22 BPZ 5 NOTPERI [ERROR IF > 4 CHARACTERS 9SFL LDCH 0 APARA(3) [LOAD 1ST CHARACTER 9S^= SBN 0 #51 9TDW BNZ 0 NOTPERI [BR IF 1ST CHAR NOT "I" 9TYG LDN 2 APARA(3) 9WD6 BCHX 2 £ 9WXQ LDCH 0 0(2) [LOAD 2ND CHARACTER 9XCB SBN 0 #41 9XX2 BNG 0 NOTPERI 9YBL SBN 0 #32 [ERROR IF 1ST CHARACTER NOT ALPHA 9YW= BPZ 0 NOTPERI 9^*W BCHX 2 £ 9^TG LDCH 0 0(2) [LOAD 3RD CHARACTER =2*6 SBN 0 10 =2SQ BNG 0 Q1 [OK IF NUMERIC =3#B SBN 0 #27 =3S2 BNG 0 NOTPERI =4?L SBN 0 #32 [OR ALPHA =4R= BPZ 0 NOTPERI [BUT NOT OTHERWISE =5=W Q1 =5QG BCHX 2 £ =6=6 LDCH 0 0(2) [LOAD LAST CHARACTER =6PQ BZE 0 NOTPERI [NO INTERFACE ZERO =79B TXL 0 SEVEN(1) =7P2 BCS Q2 [BR IF < 7 - OK =88L SBN 0 #20 =8N= BNZ 0 NOTPERI [BR IF NOT SPACE =97W DCH 0 0(2) [PUT INTERFACE NO BACK IN UNI BLOCK =9MG Q2 ==76 LDX 2 FX2 ==LQ BRN Y5 [BR TO VERIFY EXISTENCE OF TERMINAL =?6B # =?L2 # PHEW! =#5L # =#K= # =*4W QUAL =*JG LDX 0 GSIGN =B46 ORS 0 AWORK2(2) [SET DEVICE QUALIFIER SWITCH =BHQ LDN 5 1 =C3B CALL 7 XPARANUMB [FIND NUMBER OF COMPONENTS IN =CH2 TXL 4 XFOUR(1) =D2L BCC NOTPERI [ERROR IF >4 COMPONENTS =DG= ADX 4 1 [PARAMETER, AND EXIT ACCORDINGLY =D^W EXIT 4 STABLE =FFG PARSORTB =F^6 LDX 0 AWORK1(2) =GDQ ANDN 0 4 =GYB BZE 0 NOTPERI [ERROR IF NOT PARSORTB =HD2 PERCONA [CONVERT PARAMETER TYPE =HXL TESTREP PARERR,NEXT [BR IF NOT OK =JC= LDXC 0 ACOMMUNE2(2) =JWW BCC NOTPERI [ERROR IF UNIT NUMBER SPECIFIED *LP0 =KBG LDX 6 ACOMMUNE1(2) [PERIPHERAL TYPE =KW6 MHUNT 3,CPB,CUNI =L*Q LDX 4 JPARNUM(3) [PARAMETER NUMBER =LTB CALL 7 SETUP [SET UP CPAR/JSCE BLOCK =M*2 SLL 6 3 [TYPE TO B0-5 =MSL STO 6 JSCEA(3) =N#= STOZ JSCEP(3) =NRW BRN NEXTW =P?G # =PR6 # BELOW WE HAVE VARIOUS ASSORTED LABELS ETC. =Q=Q NOPARAM [NO PARAMETERS FOUND =QQB LDX 1 FX1 =R=2 LDX 6 ZJPARMIS(1) [ERROR... :PERIPHERAL DESCRIPTION =RPL LDX 5 ZJPERMIS(1) [PARAMETER MISSING =S9= CALL 7 XERRORX =SNW CALL 7 XFREE [FREE CPB/CUNI BLOCKS =T8G PARAFREE [AND MULTI BLOCK =TN6 XIT [EXIT LABEL =W7Q UPPLUS 1 =WMB NOUNIT [PERIPHERAL NOT ON INSTALLATION =X72 LDX 1 FX1 =XBS JENV NOUNITA,DME =XLL LDX 6 ZJNOPER(1) =Y6= BRN REPORT [BR TO OUTPUT ERROR MESSAGE =Y88 NOUNITA =Y=6 LDX 6 ZJNOPFD(1) =Y#4 BRN REPORT =YB2 NOTOUT =YCY LDX 1 FX1 =YFW LDX 6 ZJERSO(1) =YHS BRN REPORT =YKW NOCLUS [CLUSTERING NOT VALID =^5G LDX 1 FX1 =^K6 LDX 6 ZNOCLUS(1) ?24Q BRN REPORT ?2JB NOTDEVQUAL [DEVICE QUALIFIER INVALID ?342 LDX 1 FX1 ?3HL LDX 6 ZILLQUAL(1) ?43= BRN REPORT ?4GW NOLINE [ILLEGAL LINE NUMBER ?52G LDX 1 FX1 ?5G6 LDX 6 ZILLINO(1) ?5^Q BRN REPORTA [PARAMETER ALREADY PASSED ?6FB NOTIDENT [ILLEGAL IDENTIFIER ?6^2 LDX 1 FX1 ?7DL LDX 6 ZILLIDE(1) ?7Y= BRN REPORTA [PARAMETER ALREADY PASSED ?8CW PFERR ?8XG NOTMOP [UN NOT MOP DEVICE ?9C6 XCOMP ?9WQ NOTPERI [NOT VALID PERIPHERAL DESCRIPTION ?=BB NOTPLEXOR [UN NOT MPX OR UPX ?=W2 # [TEMPORARY ??*L LDX 1 FX1 ??T= LDX 6 ZJNOTPERI(1) ?##W REPORT ?#SG MHUNT 3,CPB,CUNI [RELOCATE CPB/CUNI ?*#6 LDX 4 JPARNUM(3) [LOAD PARAMETER NUMBER ?*RQ CALL 7 XPARANOTX [REACCESS PARAMETER FOR OUTPARAM ?B?B REPORTA ?BR2 NGN 5 1 [SUB MESSAGE IN CUNI BLOCK ?C=L CALL 7 XERRORX [SEND ERROR MESSAGE ?CQ= BRN NEXTW ?D9W PAREND [NO MORE PARAMETERS ?DPG PEEPINDIDF ?F96 # ?FNQ # AT THIS STAGE IN THE PROCEEDINGS WE HAVE A STRIDE (WHICH MAY BE OF ?G8B # ZERO LENGTH) OF CPAR/JSCE BLOCKS (LOCAL PERIPHERALS), CPAR/CPCT BLOCKS ?GN2 # (PCT PERIPHERALS), AND CPAR/AIPB BLOCKS (IPB IDENTIFIERS), ALL MIXED ?H7L # IN ANY ORDER. THIS SECTION OF THE CODE CHECKS THE PERIPHERAL DEFINED ?HM= # IN THE CPAR BLOCK WITH THE CURRENT STATE OF THE IDF. ?J6W # ?JLG PARAFREE [FREE REMAINING MULTI BLOCK ?K66 HUNTW 3,CPAR,CPCT [LOOK FOR PCT DEVICE BLOCK ?KKQ BPZ 3 QIDFPCT [BR IF ONE FOUND ?L5B HUNTW 3,CPAR,AIPB [LOOK FOR IPB DEVICE BLOCK ?LK2 BNG 3 XIT [BR IF NO NEED TO OPEN IDF ?M4L QIDFPCT ?MJ= ACROSS PARIDF,1 [GO TO SEARCH IDF ?N3W # **** ?NHG # ************ ?P36 # ?PGQ # * * ** ?Q2B # * * * * ?QG2 # ** * ?Q^L # * * * ?RF= # * * **** ?RYW # ?SDG X2PARSORT ?SY6 # ?TCQ # THIS ENTIY SERVICES THE PARSORTX MACRO. ON ENTRY ACOMMUNE1 ?TXB # CONTAINS THE OPTIONS REQUIRED, AND ACOMMUNE2 CONTAINS THE NUMBER ?WC2 # OF THE PARAMETER TO BE ANALYSED ?WWL # ?XB= LDX 0 ACOMMUNE1(2) ?XTW STO 0 AWORK1(2) [PRESERVE OPTION WOR4 ?Y*G LDX 5 ACOMMUNE2(2) [PARAMETER NUMBER ?YT6 LDN 4 0 [PARAMETER ANALYSIS LEVEL ?^#Q PARANEXT #36,4,5 [SPLIT PARAMETER AT . ?^FY ...#UNS ANSTOOMANY ?^M6 ... TESTREP2 TOOMANY,XTOOMANY ?^SB MHUNT 3,CPB,CUNI #2#2 LDX 5 ANUM(3) #2RL BZE 5 NOPARAM [ERROR IF PARAMETER NULL #3?= BNG 5 NOPARAM [OR NON-EXRSTERT #3QW LDN 4 1 #4=G STO 4 AWORK2(2) [ONLY ONE PARAMETER TO DO #4Q6 STOZ AWORK3(2) #59Q STOZ AWORK4(2) #5PB BRN PARSORTX [JOIN COMMON PATH #692 # #6NL XPARANUMB #78= # LOAD INTO X4 THE NUMBER OF PARAMETERS IN THE MULTI PARAMETER BLOCK AT #7MW # THE NUMERICALLY HIGHEST ANALYSIS LEVEL #87G # LINK IN X7 #8M6 SBX 7 FX1 #96Q PARANUMB 4,5 [NO OF PARAMETERS TO X4 #9LB ADX 7 FX1 #=62 BRN (7) #=KL # #?5= XPARANXTX #?JW # ISSUE PARANXTX WITH NO SEPARATOR TO SPLIT UP DEVICE QUALIFIER ##4G # LINK IN X7 ##J6 MHUNT 3,CPB,CUNI #*3Q LDEX 4 ATYPE(3) [LOAD NUMBER OF LAST COMPONENT #*HB ADN 4 1 [ACCESSED, AND ADD ONE #B32 YPARANXTX #BGL SBX 7 FX1 #C2= PARANXTX ,,4 [SPLIT PARAMETER #C7D ...#UNS ANSTOOMANY #C#L ... TESTREP2 TOOMANY,XTOOMANY #CFW MHUNT 3,CPB,CUNI #C^G LDX 5 ANUM(3) #DF6 ADX 7 FX1 #DYQ BRN (7) #FDB # #FY2 XPARAPASS #GCL # SPLIT OFF NEXT PARAMETER COMPONENT FROM THE MULTI PARAMETER BLOCK AT #GX= # THE NUMERICALLY HIGHEST ANALYSIS LEVEL, THEN HUNT THE CPB/CUNI BLOCK #HBW # ON X3. ALSO LOAD ANUM INTO X5 #HWG # LINK IN X7 #JB6 SBX 7 FX1 #JTQ PARAPASS [SPLIT OFF NEXT PARAMETER #K*B MHUNT 3,CPB,CUNI [FIND THE CPB/CUNI BLOCK #KT2 LDX 5 ANUM(3) #L#L ADX 7 FX1 #LS= BRN (7) #M?W # #MRG ZCONV #N?6 # CONVERT TO DECIMAL THE CONTENTS OF THE WORD POINTED AT BY X2. NO OF #NQQ # SIGNIFICANT CHARACTERS IN X5, AND X2 IS CHARACTER SIGNIFICANT #P=B # LINK IN X0, AND RESULT IN X7 #PQ2 LDN 6 0 #Q9L LDN 7 0 #QP= NXCHAR #R8W CDB 6 0(2) [CONVERT NEXT CHARACTER #RNG BCS (0) [BR IF NON-NUMERIC CHARACTER FOUND #S86 BCHX 2 £ #SMQ BCT 5 NXCHAR [X5 CONTAINS CHARACTER COUNT #T7B EXIT 0 1 [EXIT+1 FOR SUCCESSFUL CONVERSION #TM2 # #W6L XFINDPEREC #WL= # FIND DEVICE LIST POINTER OF PERIPHERAL WHOSE GEOGRAPHIC NUMBER IS IN #X5W # X7, AND STORE IT IN X3. #XKG # LINK IN X6 #XNL #UNS AV7900S #XRQ FINDPEREC 3,APGEOG,7,,AV7900,XSWOUT [FIND D.L. (INCL. V7900) #XWW #UNS AV7900S #Y22 #SKI #Y44 FINDPERE 3,APGEOG,7,,,XSWOUT [FIND DEVICE LIST #Y66 BPZ 3 (6) #Y77 XFAN #Y7= ... JENVNOT XFAN1,CMESTAR #Y7* ... LDX 0 AWORK1(2) #Y7D ... ANDN 0 BDEVMN #Y7H ... BZE 0 NOUNIT #Y7L ... LDX 0 AWORK4(2) #Y7P ... BZE 0 NOUNIT #Y7S ... BRN (6) #Y7X ...XFAN1 #Y88 LDX 0 AWORK1(2) #Y== ANDN 0 BGROPE #Y## BZE 0 NOUNIT #Y#M JENVNOT NOUNIT,CME #Y*2 LDX 0 GANON [J IF NO ANONYMOUS DEVICES #Y*N BZE 0 NOUNIT #YB3 SBX 6 FX1 #YBB GROPEREC 3,APGEOG,7 #YCC ADX 6 FX1 #YDD BNG 3 NOUNIT #YGG JSWOUT 3,XSWOUT #YJQ BRN (6) #YL^ XSWOUT #YP8 LDX 0 AWORK1(2) #YRC ANDN 0 BINCOUT #YTL BNZ 0 XINOUT #YXT NGN 3 4095 #^24 BRN NOTOUT #^25 XINOUT #^26 ... JENVNOT XINOUT1,CMESTAR #^27 ... BRN (6) #^28 ...XINOUT1 #^29 ... JSWOVER 3,XSWAIT #^2= ... JANON 3,XFAN #^2? ... BRN (6) #^2# ...XSWAIT #^2* ... SBX 6 FX1 #^2B ... COOR3 #62 #^2C ... ADX 6 FX1 #^2D ... BRN XINOUT #^2F ...# #^2J XFINDOPER #^2S # FIND DEVICE LIST POINTER OF OPER CONSOLE #^34 LDN 7 #77 #^3# FINDPERE 3,APFOTY,7 #^3J BNG 3 NOUNIT #^3S STOZ 7 #^44 EXIT 6 0 #^4B # #^J2 XPARANOTX *23L # REACCESS PARAMETER WHOSE NUMBER IS IN X4 FROM THE CPB/CALAS BLOCK *2H= # LINK IN X7 *32W SBX 7 FX1 *3GG LDN 5 0 [PARAMETER ANALYSIS LEVEL *426 SPARANOX 4,5 [REACCESS PARAMETER *4FQ MHUNT 3,CPB,CUNI *4^B ADX 7 FX1 *5F2 BRN (7) *5YL # *6D= SETUP *6XW # SET UP A CPAR/JSCE BLOCK CHAINED NEXT TO THE CURRENT ACTIVITY, WITH A *7CG # COPY OF THE CURRENT PARAMETER ALREADY STORED AWAY, TOGETHER WITH THE *7X6 # CHARACTER COUNT. X4 CONTAINS THE PARAMETER NUMBER *8BQ # LINK IN X7 *8WB SBX 7 FX1 *9B2 LDX 5 ALOGLEN(3) *9TL ADN 5 JSCER-A1-2 [LENGTH OF CPAR/JSCE BLOCK REQUIRED *=*= SETUPCOR 5,3,CPAR,JSCE [SET UP CPAR/JSCE BLOCK *=SW MHUNT 2,CPB,CUNI [RELOCATE THE CPB/CUNI BLOCK *?#G LDX 5 ANUM(2) *?S6 ANDN 5 #7777 [PARAMETER LENGTH *#?Q SLL 4 12 [PARAMETER TYPE TO B0-11 *#RB ORX 4 5 [ JSCEQ WORD **?2 STO 4 JSCEQ(3) **QL STOZ JSCEA(3) *B== STOZ JSCEB(3) [CLEAR OUT BLOCK *BPW STOZ JSCEC(3) *C9G NGN 0 1 *CP6 STO 0 JSCEK(3) [SET JSCEK TO -1 INITIALLY *D8Q ADN 2 APARA *DNB ADN 3 JSCER *F82 ADN 5 3 *FML SRL 5 2 [X5 = NO OF WORDS IN PARAMETER *G7= SMO 5 [(TO RETAIN TRAILING SPACES *GLW MOVE 2 0 [MOVE PARAMETER INTO CPAR/JSCE BLOCK *H6G SBN 3 JSCER [RESET X3 AS BLOCK POINTER *HL6 ADX 7 FX1 *J5Q LDX 2 FX2 *JKB BRN (7) *K52 # *KJL XFREE *L4= # FREE CPB/CUNI BLOCKS AT THE CURRENT COMMAND PROCESSOR LEVEL, AND THEN *LHW # LINK IN X7 *M3G UNIFREE [FREE CPB/CUNI BLOCKS *MH6 BRN (7) *N2Q # *NGB XERRORX *P22 # SEND MESSAGE IDENTIFIED BY X6 TO CLUSTER CONSOLE *PFL # LINK IN X7 *P^= SBX 7 FX1 *QDW ERRORX 6,5 [SEND ERROR MESSAGE *QYG ADX 7 FX1 *RD6 BRN (7) *RXQ # *RYB ... ZERRORY *R^2 ...# *R^N ...#UNS ANSTOOMANY *S3L ...( *S5J ...XTOOMANY *S7G ... CALL 7 XFREE *S9D ... PARAFREE *S?B ... ZERRORX JMAXPAR [MAX NO OF PARAMETERS EXCEEDED *S*# ...) *SCB # *SCX ...# *SDD ...XCONTY *SD^ ...# *SFG ...# *SG3 ...# *SGJ ... STO 1 6 *SH5 ... LDN 2 0 *SHL ...XCTY1 SMO FX1 *SJ7 ... LDX 4 TDTYPE(2) *SJN ... TXU 4 ACES *SK9 ... BCC XCTY6 *SKQ ... SMO FX2 *SL? ... TXU 4 AWORK3 *SLS ... BCC XCTY3 *SM* ...XCTY2 ADN 2 1 *SMW ... BRN XCTY1 *SNC ...XCTY3 JPROP 6,XCTY4,XCTY4 *SNY ... BRN XCTY5 *SPF ...XCTY4 ADN 2 1 *SQ2 ...XCTY5 SMO FX1 *SQH ... LDX 4 TDMNEM(2) *SR4 ...XCTY6 SRL 4 12 *SRK ... SMO FX2 *SS6 ... STO 4 AWORK4 *SSM ... LDX 1 6 *ST8 ... LDX 2 FX2 *STP ... BRN (7) *SX2 # *TBL #PAGE *TW= MENDAREA 50,K100PARSORT *W*W #END ^^^^ ...46062525000700000000