(George Source)
Macros used: BC, BXE, BXU, CATMASK, CHEKLFN2, CLOSETOP, ENDCOM, ERRORX, FREECORE, FSHCODE, GEOERR, MENDAREA, MFREE, MFREEW, MHUNT, MHUNTW, NAMETOP, NOBITS, PARABEG, PARAFREE, PARALYSE, PARANOT, PARANUMB, PARAPASS, REPERR2, SEGENTRY, SETNCORE, SPARANOX, SPARAPAS, TAB, TERROR, TESTREP2, TRACE, UP, UPPLUS, USEROPEN, VFREE, WRONG
22FL #LIS K0REPORT>K0ALLGEO>K0GREATGEO>K0COMMAND 22^= #SEG REPORT [RICHARD GRIMWADE 23DW 8HREPORT 23YG SEGENTRY K5REPORT,SENTRY5 [TANAMONS 24D6 SEGENTRY K7REPORT,SENTRY7 [REPORT COMMAND 24XQ SEGENTRY K8REPORT,SENTRY8 [ANAMONST 25CB SEGENTRY K9REPORT,SENTRY9 [CANAMONS 25X2 SEGENTRY K10REPORT,SENTRY10 [BANAMONST 26BL SEGENTRY K11REPORT,SENTRY11 [SJANAMON 26HS ...[ 26P2 ...[ SEGENTRY K70REPORT USED BY RESTORE TIME MACRO REPORTNEST 26W= # 27*W # THIS SEGMENT CREATES A BIT PATTERN CORRESPONDING TO THE 27TG # MONITORING STYLES SPECIFIED,PROVIDED ALL STYLES ARE 28*6 # CORRECT,OTHERWISE A COMMAND ERROR REPORT IS MADE FOR EACH 28SQ # PARAMETER IN ERROR. 29#B # 29S2 # IT IS ENTERED AT K7REPORT FROM THE REPORT COMMAND AND IN 2=?L # THIS CASE THE MASK IS RETURNED IN AMXMSK OF THE ACTIVITY BLOCK 2=R= # 2?=W # FOR ENTRIES K5REPORT AND K7REPORT THE MASK IS RETURNED IN 2?QG # ACOMMUNE1 2#=6 # 2#PQ # FOR ENTRIES K8REPORT,K9REPORT AND K10REPORT THE SEGMENT WILL 2*9B # ALSO CHECK FOR RETAIN AND IF PRESENT WILL CHECK VALIDITY OF 2*P2 # FILENAME.THIS AND THE MASK ARE RETURNED IN AN ADATA/AREPORT BLOCK 2B8L # 2B?9 ... FSHCODE AORB 2B*S ...( 2BDC ...ZINA 4HINA 2BH2 ...ZINB 4HINB 2BKK ...) 2BN= REPALL CATMASK EN,JL,CR,CL,CM,LG,PM,FL,CT,CE,OJ,LS,OL,DP 2C7W REPNEC CATMASK READY,BREAKIN,FORCETYP 2CMG TAN + ALLBITS 2D76 CATMASK FORCEPRI 2DLQ SJAN +ALLBITS 2F6B +0 2FL2 RT 2 2G5L 4HRT 2GK= RETAIN 6 2H4W 8HRETAIN 2HJG SUBALL +ALLBITS 2J46 NECALL CATMASK FORCEPRI 2JHQ TABL 8HALLBUT [TABLE OF LONG VERSIONS OF PARAMS 2K3B 8HFULLBUT 2KH2 4HALL 2L2L +0 2LG= 4HFULL 2L^W +0 2MFG 4HNONE 2M^6 +0 2NDQ 8HENGINEER 2NYB 8HJOURNAL 2PD2 8HOPERATOR 2PXL 8HCLUSTER 2QC= 8HCENTRAL 2QWW 8HBROADCAS 2RBG 8HCOMMANDS 2RW6 8HLOGGING 2S*Q 8HPOSTMORT 2STB 8HFILES 2T*2 8HCOMMENT 2TSL 8HCOMERR 2W#= 8HOBJECT 2WRW 8HLISTING 2X?G 8HONLINE 2XR6 8HDISPLAY 2Y=Q +0 2YQB TABS 4HAB [TABLE OF SHORT VERSIONS OF PARAMS 2^=2 4HFB 2^PL 4HAL 329= 4HFU 32NW 4HNO 338G 4HEN 33N6 4HJL 347Q 4HOP 34MB 4HCR 3572 4HCL 35LL 4HBC 366= 4HCM 36KW 4HLG 375G 4HPM 37K6 4HFL 384Q 4HCT 38JB 4HCE 3942 4HOJ 39HL 4HLS 3=3= 4HOL 3=GW 4HDP 3?2G +0 3?G6 TAB +ALLBITS [ALLBUT 3?^Q +FULLBITS [FULLBUT 3#FB TAB1 +ALLBITS [ALL 3#^2 +FULLBITS [FULL 3*DL #40000000 [NONE 3*Y= TAB2 CATMASK EN 3BCW CATMASK JL 3BXG CATMASK CR,CL [OPERATOR 3CC6 CATMASK CR 3CWQ CATMASK CL 3DBB CATMASK BC 3DW2 CATMASK CM 3F*L CATMASK LG 3FT= CATMASK PM 3G#W CATMASK FL 3GSG CATMASK CT 3H#6 CATMASK CE 3HRQ CATMASK OJ 3J?B CATMASK LS 3JR2 CATMASK OL 3K=L CATMASK DP 3KCS ...[ 3KK2 ...[ 3KQ= REPORT [ENTRY FOR OTHER THAN EJ,LT,CN 3L9W LDX 0 GSIGN 3LPG STO 0 AWORK1 (2) [MARK AS NOT EJ,LT,CN 3M96 STOZ AWORK3(2) 3MNQ REPORT1 3N8B SBX 6 FX1 [ENTRY FOR EJ,LT,CN -LINK IS X6 3NN2 STOZ AWORK2(2) [SET UP 1ST PARAM MARKER 3P7L NEXT 3PM= PARAPASS 3Q6W MHUNT 2,CPB,CUNI [GET NEXT PARAM 3QLG LDX 4 ANUM(2) 3R66 BNG 4 ZEND [JUMP IF NO MORE 3RKQ BZE 4 PFREE [JUMP IF NULL PARAM 3S5B LDX 3 APARA(2) 3S5^ ...[ 3S6J ... FSHCODE AORB 3S7Q ...( 3S8Y ... SBN 5 TAN 3S=6 ... BNZ 5 NOTTAN [J IF NOT TANAMONST MACRO 3S?# ... BXE 3 ZINA(1),XIN [J IF 'INA' 3S#G ... BXU 3 ZINB(1),NOTTAN [J IF NOT 'INB' 3S*N ...XIN 3SBW ... LDN 5 TAN [RESET X5 3SD4 ... BRN NEXT [TRY NEXT PARAMETER 3SF= ...NOTTAN 3SGD ... ADN 5 TAN [RESET X5 3SHL ...) 3SJ# ...[ 3SK2 ANDN 4 #7777 3T4L SBN 4 2 3TJ= BZE 4 WS [JUMP IF 2LETTER PARAM 3W3W SBN 4 7 3WHG BPZ 4 RTEST [JUMP IF >8 LETTERS 3X36 LDX 4 APARA+1(2) 3XGQ BRN WL 3XQJ ...[ 3Y2B WS1 ADN 1 1 3YG2 WS LDX 0 TABS(1) [NEXT ENTRY IN SHORT LIST 3Y^L BZE 0 RTEST [JUMP IF NO MORE ENTRIES 3^F= TXU 0 3 3^YW BCS WS1 [JUMP IF PARAM NOT ENTRY 42DG BRN SETB 42N# ...[ 42Y6 WL1 ADN 1 2 43CQ WL LDX 0 TABL(1) [GET 1ST WORD OF ENTRY IN LONGLIST 43XB BZE 0 RTEST [JUMP IF NO MORE ENTRIES 44C2 SBX 0 3 44WL BNZ 0 WL1 [JUMP UNLESS 1ST WORDS AGREE 45B= LDX 0 TABL+1(1) 45TW BZE 0 WL2 [JUMP IF 4 OR LESS LETTERS 46*G SBX 0 4 46T6 BNZ 0 WL1 [JUMP UNLESS 2ND WORDS AGREE 47#Q WL2 ADX 1 FX1 47SB SRL 1 1 [FIND ENTRY NUMBER 48#2 SETB LDX 3 TAB(1) [GET CORRESPONDING MASK 48RL SMO FX2 49?= LDX 0 AWORK2 49QW SMO FX1 4==G SBN 1 5 4=Q6 BPZ 1 PNORM 4?9Q BZE 0 PFRST 4?PB CALL 4 ZERROR 4#92 +IPTWIT 4#NL BRN PERR1 4#TS ...[ 4*32 ...[ 4*8= PFRST ADN 1 3 4*MW BPZ 1 PNORM [JUMP IF NOT BUT 4B7G LDX 0 3 [STORE PATTERN IN MARKER WORD 4BM6 BRN PANY 4C6Q PNORM ORX 7 3 [ADD IN NES BITS 4CLB ORX 0 GSIGN [SET NOT FIRST MARKER 4D62 PANY SMO FX2 4DKL STO 0 AWORK2 4F5= BRN PFREE 4F=D ...[ 4FCL ...[ 4FJW RTEST SMO FX2 [TEST FOR RETAIN 4G4G LDX 0 AWORK1 4GJ6 BNG 0 PERR [J IF RETAIN NOT ALLOWED 4H3Q LDX 0 JPARNUM(2) 4HHB SMO FX2 4J32 TXU 0 AWORK1 4JGL BCC PFREE [J IF BANAMONST PARAMETER 4K2= SMO FX2 4KFW TXU 0 AWORK3 4K^G BCC PFREE [J IF RETAIN 4LF6 PERR CALL 4 ZERROR [OUTPUT ERROR MESSAGE 4LYQ +JUNKEN 4MDB PERR1 MHUNT 2,CPB,CUNI [FIND CPB,CUNI BLOCK 4MY2 PFREE FREECORE 2 [FREE BLOCK 4NCL BRN NEXT 4NJS ...[ 4NQ2 ...[ 4NX= ZEND FREECORE 2 [RETURN LAST CPB/CUNI BLOCK 4PBW LDXC 0 AWORK2(2) [GET MARKER WORC AND CLEAR SIGN BIT 4PWG BZE 0 ZEND1 [JUMP IF NO ALLBUT OR FULLBUT 4QB6 ANDX 7 0 4QTQ ERX 7 0 [NEGATE SENSE OF MASK 4R*B ZEND1 ADX 6 FX1 [ADJUST LINK 4RT2 #SKI K6REPORT>99$99 4S#L TRACE 7,REPORT 4SS= EXIT 6 0 4SY7 ...[ 4T44 ...[ 4T7^ ...[ 4T?W ZERROR [SUBROUTINE TO OUTPUT ERROR MESSAGE 4TRG SMO 4 4W?6 LDX 3 0 [FIND MESSAGE WORD 4WQQ SBX 4 FX1 4X=B ERRORX 3 4XQ2 ADX 4 FX1 4Y9L EXIT 4 1 [EXIT TO CALL+1 4Y*H ...[ 4YFD ...[ 4YK* ...[ 4YP= SENTRY7 [ENTRY FOR REPORT COMMAND 4^8W STOZ 7 4^NG CALL 6 REPORT 5286 TERROR XERR [JUMP IF COMMAND ERROR 52MQ ANDX 7 REPALL(1) [CLEAR UNALLOWED BITS 537B ORX 7 REPNEC(1) [ADD IN NECCESARY BITS 53M2 STO 7 AMXMSK(2) [STORE GENERATED MASK 53N3 ...#UNS CMXMSK 53P4 ...( 53Q5 ... MHUNTW 3,CPB,CALAS 53R6 ...[ 53S7 ... SEGENTRY K70REPORT 53T8 ... BRN XK71 53W9 ... STO 7 CMXMSK(3) 53X= ... BRN XK72 53Y? ...XK71 544C ... SEGENTRY K71REPORT 544M ... STOZ CMXMSK(3) 544X ...[ 5457 ...XK72 545D ...) 546L XERR ENDCOM 54?S ...[ 54F2 ...[ 54L= SENTRY5 [ENTRY FOR TANAMOS (TRACE) 555W LDN 5 TAN [POINTER TO UNALLOWED/NEC MASKS 55KG BRN ZSJT 55T# ...[ 5656 SENTRY11 [ENTRY FOR SJANAMON (SYSTEM JOURNAL) 56JQ LDN 5 SJAN [POINTER TO UNALLOWED/NEC MASKS 574B ZSJT LDN 7 0 [MARK AS RETAIN NOT ALLOWED 57J2 CALL 6 REPORT 583L TERROR ZUP [JUMP IF COMMAND ERROR 58H= LDX 3 5 592W ADX 3 FX1 [REMOVE UNALLOWED BITS 59GG ANDX 7 0(3) 5=26 ORX 7 1(3) [ADD IN NECCESSARY BITS 5=FQ STO 7 ACOMMUNE1(2) [STORE GENERATED MASK 5=^B UPPLUS 1 5?6J ...[ 5??Q ...[ 5?F2 SENTRY8 [ANAMOST ENTRY 5?YL SENTRY9 [CANAMOS ENTRY 5#D= STOZ AWORK1(2) 5#XW BRN ZJOIN 5*7N ...[ 5*CG SENTRY10 [BANAMONST ENTRY 5*X6 LDX 0 ACOMMUNE1(2) 5BBQ STO 0 AWORK1(2) 5BWB ZJOIN STOZ AWORK3(2) 5CB2 SETNCORE 5,3,ADATA,AREPORT [SETUP ADATA,AREPORT BLOCK TO HOLD 5CTL [REPORT STYLES AND FILENAME 5D*= PARABEG 1,RETAIN(1),,,0 [FIND ANY RETAIN PARAMETER 5DSW MHUNT 2,CPB,CUNI 5F#G LDX 4 ANUM(2) 5FS6 BPZ 4 RET [JUMP IF RET FOUND 5G3Y ...[ 5G?Q FREECORE 2 [FREE CPB/CONI BLOCK 5GRB PARABEG 1,RT(1),,,0 [FIND ANY RT PARAMETER 5H?2 MHUNT 2,CPB,CUNI 5HQL LDX 4 ANUM(2) 5J== BPZ 4 RET [JUMP IF RT FOUND 5JG4 ...[ 5JPW MHUNTW 3,ADATA,AREPORT 5K9G STOZ A1+1(3) [STORE ZERO FILENAME SINCE NORETAIN 5KP6 STOZ A1+2(3) 5L8Q LDN 7 0 [MARK AS NO RETAIN FOR REPORT CALL 5LNB BRN RCALL 5LY8 ...[ 5M82 RET LDX 3 JPARNUM(2) [NUMBER OF RETAIN PARAMETER 5MML SMO FX2 5N7= STO 3 AWORK3 5NLW LDX 7 GSIGN [MARK AS RETAIN FOR REPORT CALL 5P6G BZE 4 RETERR [JUMP IF RETAIN/RT ONLY 5PB# ...[ 5PL6 LDX 5 ANUM(2) 5Q5Q FREECORE 2 5QKB ANDN 5 #7777 [CHARACTER COUNT OF FILENAME 5R52 PARALYSE ,,3 [SPLIT RET PARAMETER 5R=8 ...#UNS ANSTOOMANY 5RCB ...#SKI 5RJL TESTREPN UNPAIR,RFIL [JUMP IF UNPAIRED BRACKET NOT FOUND 5RL* ...#UNS ANSTOOMANY 5RN4 ...( 5RPR ... TESTREP2 TOOMANY,TOOMUCH,UNPAIR,RTUNP 5RRG ... BRN RFIL [J IF RET PARAM IS OK 5RT9 ...[ 5RWY ...RTUNP 5RYM ...[ UNPAIRED DELIMITER IN RET PARAM 5S2B ...) 5S4= SPARANOX 3 [GET RET PARAMETER 5SHW CALL 4 ZERROR [OUTPUT COMMAND ERROR 5T3G +ERUNPAIR 5TH6 BRN RCALL 5TQY ...[ 5W2Q RFIL PARANUMB 4 [GET NUMBER OF PARAMETERS AFTER SPLIT 5WGB SBN 4 2 5X22 BNZ 4 RETERR [JUMP IF NOT 2 PARAMETERS 5XFL PARANOT 2 5X^= MHUNT 2,CPB,CUNI 5YDW LDX 6 ANUM(2) 5YYG ANDN 6 #7777 5^D6 FREECORE 2 [FREE LAST UNIBLOCK 5^XQ TXU 6 5 62CB BCS RETERR [JUMP IF LENGTHS NOT EQUAL 62M8 ...[ 62X2 LDN 4 2 63BL PARALYSE ,,4 [REMOVE BRACKETS 63HS ...#UNS ANSTOOMANY 63P2 ... TESTREP2 TOOMANY,TOOMUCH 63W= SPARAPAS [GET FILE NAME 64*W LDX 4 3 64TG CHEKLFN2 NULLP,NLFNF [JUMP IF NOT FILENAME 65*6 LDX 3 4 65SQ MHUNT 2,CPB,CUNI 66#B MHUNTW 1,ADATA,AREPORT 66S2 LDX 4 ANUM(2) 67?L ADN 4 3 67R= SRL 4 2 [LOAD ADATA/AREPORT BLOCK 68=W STO 4 A1+1(1) [WITH FILENAME 68QG LDN 5 APARA(2) 69=6 LDN 6 A1+2(1) 69PQ MOVE 5 3 6=9B NAMETOP 2,FILE,FNAME [RENAME CPB/CUNI BLOCK 6==Y ...[ 6=#G ...#UNS FTS1 6=CL ... USEROPEN XBRK,WRITE,DIR,FROZEN [OPENFILEDIRECTORY 6=GQ ...#UNS FTS1 6=KW ...#SKI 6=P2 USEROPEN XBRK,WRITE,DIR [OPENFILEDIRECTORY 6=YS ...[ 6?8L TESTREP2 NOFILE,RCALL [JUMP IF NO SUCH FILE 6?N= REPERR2 RCLOS [JUMP IF OK ELSE ERROR 6#7W BRN RCALL 6#CN ...[ 6#MG RCLOS CLOSETOP [CLOSE FILE 6*76 ...RCALL VFREE CPB,CUNI 6*LQ PARAFREE 6B6B CALL 6 REPORT1 6BL2 TERROR WRONG [JUMP IF COMMAND ERROR 6C5L ANDX 7 SUBALL(1) [REMOVE UNALLOWED BITS 6D4W BZE 7 NOBITS 6DJG ORX 7 NECALL(1) 6F46 NOBITS 6FHQ MHUNTW 3,ADATA,AREPORT 6G3B STO 7 A1(3) [STORE AWAY MASK 6GH2 UPPLUS 1 6GLX ...[ 6GQS ...[ 6GWP ...[ 6H2L NULLP MFREE CPB,CUNI 6HG= RETERR 6H^W LDN 6 0 6JFG SPARANOX 3,6 6J^6 CALL 4 ZERROR [OUTPUT ERROR MESSAGE 6KDQ +APFERR 6KYB BRN RCALL 6L5J ...[ 6L=Q ...[ 6LD2 NLFNF CALL 4 ZERROR [OUTPUT ERROR MESSAGE 6LXL [PARAM FORMAT ERROR 6MC= +JNLFNF 6MWW BRN RCALL 6MYK ...[ 6N2# ...[ 6N43 ...TOOMUCH 6N5Q ... CALL 4 ZERROR [OUTPUT ERROR MESSAGE 6N7F ... +JMAXPAR [MAX NO. PARAMS EXCEEDED 6N98 ... BRN RCALL 6N=X ...[ 6N#L ...[ 6NBG XBRK GEOERR 1,BRKIN 6NL# ...[ 6NW6 WRONG MFREEW ADATA,AREPORT 6P*Q ZUP UP 6PGY ...[ 6PN6 ...[ 6PTB MENDAREA 30,GAPREPORT 6Q*2 #END ^^^^ ...26740304000200000000