Show pageBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. {{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PARAMA865)}} ====== PARAMA865 ====== (George Source) **Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:CHAIN|CHAIN]], [[george:macro:CHARMOVE|CHARMOVE]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNT|HUNT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MHUNTX|MHUNTX]], [[george:macro:OUTPAR|OUTPAR]], [[george:macro:PARAFREE|PARAFREE]], [[george:macro:PHOTO|PHOTO]], [[george:macro:PTYPE|PTYPE]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETREP|SETREP]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:UP|UP]], [[george:macro:XCLEAR|XCLEAR]] <code - PARAMA865.txt>22FL #LIS K0PARAMA>K0ALLGEO>K0GREATGEO>K0COMMAND 22^= #SEG PARAMA [ BILL IZATT : CENT 23DW 8HPARAMA 23YG [ THE ENTRY POINTS 24D6 [ THESE ENTRY POINTS MUST BE KEPT FIXED WITHIN THE SEGMENT 24XQ SEGENTRY K1PARAMA,QENTRY1 25CB SEGENTRY K2PARAMA,QENTRY2 25X2 SEGENTRY K3PARAMA,QENTRY3 26BL SEGENTRY K4PARAMA,QENTRY4 26W= [ 27*W [ 27TG [ ENTRY FOR THE PARABRAC MACRO 28*6 [ 28SQ #DEF RPAR=SHUTBRAK [ CONTAINS 4H000) 29#B #DEF XLPAR=OPENBRAK [ CONTAINS 4H000( 29S2 XARSGN 10H*/+-<>$^&, 2=?L [ 2=R= QENTRY1 2?=W HUNT 3,CPB,CUNI 2?QG STO 3 AWORK1(2) 2#=6 LDX 4 ANUM(3) 2#PQ BZE 4 XBAD [ERROR IF NULL OR 2*9B BNG 4 XBAD [NONEXISTENT 2*P2 ANDN 4 #7777 2B8L ADN 3 APARA [POINT X3 2BN= SLL 3 2 [TO LAST CHARACTER 2C7W ADX 3 4 [IN PARAMETER 2CMG SBN 3 1 2D76 SRC 3 2 2DLQ LDN 7 0 [INITIALISE BRACKET COUNT 2F6B LDCH 0 0(3) 2FL2 TXU 0 RPAR(1) 2G5L BCS PUP 2GK= XLP1 ADN 7 1 2H4W XLP2 SLC 3 2 2HJG BCT 3 £ 2J46 SRC 3 2 2JHQ SBN 4 1 2K3B BZE 4 XBAD [J IF UNPAIRED PARENTHESIS 2KH2 LDCH 0 0(3) 2L2L TXU 0 RPAR(1) 2LG= BCC XLP1 2L^W TXU 0 XLPAR(1) 2MFG BCS XLP2 2M^6 BCT 7 XLP2 2NDQ SLC 3 2 [CORRESPONDING BRACKET FOUND 2NYB BCT 3 £ 2PD2 SRC 3 2 2PXL SBN 4 1 2QC= BZE 4 XCOMP [J IF COMPOSITE 2QWW LDCH 0 0(3) 2RBG LDN 7 9 2RW6 XLP3 2S*Q LDCH 6 XARSGN(1) [ARITHMETIC SIGN 2STB TXU 6 0 2T*2 BCC PUP [NO ACTION TAKEN IF AN ARITH.SIGN 2TSL BCHX 1 £ 2W#= BCT 7 XLP3 2WRW BCHX 3 £ 2X?G LDCH 6 XARSGN(1) 2XR6 DCH 6 0(3) 2Y=Q LDX 3 AWORK1(2) 2YQB LDN 4 1 2^=2 SBS 4 ANUM(3) 2^PL PTYPE LDX 3 AWORK1(2) 329= LDX 4 ANUM(3) 32NW ANDN 4 #7777 338G STO 4 ANUM(3) 33N6 PTYPE CPB,CUNI,3,APARA,ANUM(3) 347Q PUP SETREP OK 34MB UP 3572 XBAD SETREP FORMAT 35LL UP 366= XCOMP LDX 3 AWORK1(2) 36KW LDX 5 ANUM(3) 375G ANDN 5 #7777 37K6 SBN 5 2 384Q STO 5 ANUM(3) 38JB BZE 5 PUP 3942 ADN 3 APARA 39HL LDX 4 3 3=3= BCHX 3 £ 3=GW CHARMOVE 3,5 [ REMOVE PARENTHESES 3?2G BRN PTYPE 3?G6 [ 3?^Q [ PARASTRING MACRO-TO MOVE A CHARACTER STRING FROM A BLOCK TO A CPB 3#FB [ CMULTI BLOCK SPECIALLY CREATED FOR THE PURPOSE.THIS BLOCK WILL BE 3#^2 [ AT ANALYSIS LEVEL 1.IT WILL CONTAIN ONLY ONE PARAMETER.THIS 3*DL [ PARAMETER WILL BE THE CONTENTS OF THE CHARACTER STRING WITHIN 3*Y= [ PARENTHESES.A CHECK IS MADE THAT THE FIRST CHARACTER IS INDEED 3BCW [ A LEFT PARENTHESIS.LEADING AND TRAILING SPACES ARE THROWN. 3BXG [ 3CC6 #DEF SIZEPB=AVELINE+APB 3CWQ STRINGDELIM 3DBB 4H000? 3DW2 4H000' 3F*L 4H000/ 3FT= 4H000" 3G#W OPENBRAK 4H000( 3GSG SHUTBRAK 4H000) 3H#6 QENTRY2 3HRQ LDX 3 ACOMMUNE1(2) [PTR WITHIN 'STRING' BLOCK 3J?B LDX 5 ACOMMUNE2(2) [CHARACTER COUNT 3JR2 LDX 7 ACOMMUNE3(2) 3K=L STOZ ACOMMUNE4(2) 3KQ= SLL 7 12 3L9W STO 7 AWORK1(2) 3LPG PARAFREE 3M96 MHUNTX 2,7 3MNQ SMO 2 3N8B LDCH 0 0(3) [PICK UP FIRST CHARACTER-IT 3NN2 TXU 0 XLPAR(1) [MUST BE A LEFT PARENTHESIS 3P7L BCC XOK 3PM= GEOERR 1,LPARENTH 3Q6W XSP SMO 2 3QLG LDCH 0 0(3) [IGNORE LEADING SPACES 3R66 TXU 0 SPACE(1) 3RKQ BCS XNSP 3S5B XOK BCHX 3 £ 3SK2 BCT 5 XSP [COUNT DOWN ON CHARACTER COUNT 3T4L [ ERROR-EITHER NO MATCHING RIGHT PARENTHESIS AT END OR 3TJ= [ PARAMETER IS ALL SPACES 3W3W # 3WHG XERR SMO FX2 3X36 STOZ ACOMMUNE1 3XGQ UP 3Y2B XNSP TXU 0 RPAR(1) 3YG2 BCS XNSP2 3Y^L SETREP NULL 3^F= BRN XERR 3^YW XNSP2 42DG [ SO FAR SO GOOD SO SET UP A MULTI BLOCK 42Y6 SETNCORE SIZEPB,1,CPB,CMULTI 43CQ MHUNTW 2,CPB,CALAS 43XB LDX 2 BPTR(2) 44C2 LDX 6 1 44WL CHAIN 1,2 [CHAIN MULTI BLOCK BEFORE ALAS BLOCK 45B= STOZ AWORK2(2) [INITIALISE DEPTH COUNT 45TW STOZ AWORK3(2) [INITIALISE 46*G MHUNTX 2,7 46T6 LDX 7 2 [PTR TO 'STRING' BLOCK 47#Q LDN 2 APARAFIR+1 [PTR WITHIN MULTI BLOCK 47SB [ THE MAIN LOOP-LOADING A CHARACTER FROM THE 'STRING' BLOCK 48#2 [ AND DEPOSITING IT IN THE MULTI BLOCK,ENLARGING IT IF 48RL [ NECESSARY 49?= XLOP SMO 7 49QW LDCH 0 0(3) 4==G LDN 4 SHUTBRAK-STRINGDELIM+1 [ SIZE OF TABLE 4=Q6 XLOOP SMO 4 4?9Q TXU 0 STRINGDELIM-1(1) 4?PB BCC SDELIM 4#92 BCT 4 XLOOP 4#NL BRN XDCH 4*8= SDELIM [ THE CHAR IS A DELIM 4*MW SMO FX2 4B7G LDX 4 ACOMMUNE4 4BM6 TXU 0 SHUTBRAK(1) 4C6Q BCC SHTB 4CLB BZE 4 NOTINDELS 4D62 TXU 0 OPENBRAK(1) 4DKL BCC OPNB 4F5= TXU 0 4 [ IS CHAR THE CURRENT DELIMETER? 4FJW BCS XDCH [ IF NOT, TREAT AS ORD CHAR 4G4G XCLEAR 4GJ6 SMO FX2 4H3Q STOZ ACOMMUNE4 4HHB BRN XDCH 4J32 OPNB 4JGL TXU 4 SHUTBRAK(1) 4K2= BCS XDCH 4KFW BRN XLP 4K^G SHTB 4LF6 BZE 4 OUTPAR [ NOT IN DELS. END OF PARASTRING 4LYQ TXU 4 SHUTBRAK(1) 4MDB BCS XDCH 4MY2 SMO FX2 4NCL LDX 4 AWORK2 4NX= SBN 4 1 4PBW SMO FX2 4PWG STO 4 AWORK2 4QB6 BNZ 4 XDCH [ NOT AT ZERO SO STILL IN DELIMS 4QTQ BRN XCLEAR 4R*B NOTINDELS 4RT2 SMO FX2 4S#L STO 0 ACOMMUNE4 4SS= TXU 0 OPENBRAK(1) 4T?W BCS XDCH 4TRG LDX 4 SHUTBRAK(1) 4W?6 SMO FX2 4WQQ STO 4 ACOMMUNE4 [ PUT ) AS STRING DELIM 4X=B XLP LDN 4 1 4XQ2 SMO FX2 4Y9L ADS 4 AWORK2 [ADD 1 TO DEPTH COUNT 4YP= XDCH SMO 6 4^8W DCH 0 0(2) 4^NG BCHX 2 £ 5286 LDN 4 1 52MQ SMO FX2 537B ADS 4 AWORK3 [ADD 1 TO CHARACTER COUNT 53M2 BCHX 3 £ 546L BCT 5 XCON 54L= FREECORE 6 [RUN OUT OF CHARACTERS-ERROR 555W BRN XERR 55KG XCON SMO FX2 5656 STO 2 AWORK4 [PRESERVE X2 56JQ SMO FX2 574B STO 3 ACOMMUNE1 [PRESERVE X3 57J2 SLL 2 2 583L SRL 2 2 58H= SBN 2 A1 592W SMO 6 59GG TXL 2 ALOGLEN 5=26 BCS XALOG [J IF MULTI BLOCK BIG ENOUGH 5=FQ PHOTO 4 5=^B SMO 6 5?F2 LDX 3 ALOGLEN 5?YL ADN 3 AVELINE 5#D= ALTLEN 6,3 5#XW TESTMOVE 4,XNOM 5*CG LDX 7 AWORK1(2) 5*X6 MHUNTX 2,7 [REFIND 'STRING' BLOCK 5BBQ LDX 7 2 5BWB MHUNTW 2,CPB,CMULTI [REFIND MULTI BLOCK 5CB2 LDX 6 2 5CTL XNOM SMO FX2 5D*= LDX 3 ACOMMUNE1 [RESET X3 5DSW XALOG SMO FX2 5F#G LDX 2 AWORK4 [RESET X2 5FS6 BRN XLOP 5G?Q [ THE END-SET RED TAPE WORDS OF MULTI BLOCK 5GRB OUTPAR 5H?2 BCHX 3 £ 5HQL LDX 2 FX2 5J== STO 3 7 5JPW SBN 5 1 5K9G LDX 3 6 5KP6 LDN 4 1 5L8Q STO 4 APARANUM(3) 5LNB STO 4 ANALEV(3) 5M82 STO 4 CPBPROGLEV(3) 5MML LDN 4 APARAFIR 5N7= SLL 4 12 5NLW ADN 4 1 5P6G STO 4 APTBEPAR(3) 5PL6 STO 4 ADNOPARAL(3) 5Q5Q LDX 4 AWORK3(2) [CHARACTER COUNT 5QKB LDN 2 APARAFIR+1(3) 5R52 SLL 2 2 5RJL ADX 2 4 5S4= SRC 2 2 5SHW XSLP SLC 2 2 5T3G SBN 2 1 5TH6 SRC 2 2 [IGNORE TRAILING SPACES 5W2Q LDCH 0 0(2) 5WGB TXU 0 SPACE(1) 5X22 BCS XENDL 5XFL SBN 4 1 5X^= BNZ 4 XSLP 5YDW XENDL STO 4 APARAFIR(3) 5YYG ADN 4 7 5^D6 SRL 4 2 5^XQ NGN 0 1 62CB SMO 4 62X2 STO 0 APARAFIR(3) 63BL PTYPE CPB,CMULTI,3,APARAFIR+1,APARAFIR(3) 63W= STO 7 ACOMMUNE1(2) 64*W STO 5 ACOMMUNE2(2) 64TG UP 65*6 # 65SQ [ ENTRY FROM PARALAS MACRO 66#B # 66S2 MINUS1 #77777777 67?L XCOMMA #34 67R= QENTRY3 68=W MHUNTW 2,CPB,CALAS 68QG LDX 5 APARANUM(2) [ALLOW FOR COMMAS 69=6 SBN 5 1 69PQ LDN 0 0 [SET X0 TO 1ST PARAM 6=9B XAR1 SMO 0 6=P2 LDX 4 APARAFIR(2) 6?8L TXU 4 MINUS1(1) 6?N= BCC XOUT1 [END OF PARAMS 6#7W ANDN 4 #7777 6#MG ADX 5 4 [ADD IN CHARS FROM THIS PARAM 6*76 ADN 4 7 6*LQ SRL 4 2 6B6B ADX 0 4 [STEP X0 TO NEXT PARAM 6BL2 BRN XAR1 6C5L XOUT1 LDX 4 5 6CK= ADN 4 7 6D4W SRL 4 2 6DJG SETUPCORE 4,3,ADATA,CSTORE [SET UP BLOCK OF CORE AND NAME IT 6F46 MHUNTW 2,CPB,CALAS 6FHQ STO 5 A1(3) [STORE CHAR COUNT 6G3B ADN 2 APARAFIR 6GH2 ADN 3 A1+1 6H2L LDX 4 0(2) 6HG= TXU 4 MINUS1(1) 6H^W BCC XOUT2 6JFG BRN XAR2 6J^6 XAR3 LDX 4 0(2) 6KDQ TXU 4 MINUS1(1) 6KYB BCC XOUT2 [END OF PARAMS 6LD2 LDX 6 XCOMMA(1) [DUMP COMMA 6LXL DCH 6 0(3) 6MC= BCHX 3 £ 6MWW XAR2 ANDN 4 #7777 6NBG ADN 2 1 [ADJUST X2 TO START OF PARAM 6NW6 BZE 4 XAR3 [NULL PARAM 6P*Q CHARMOVE 2,4 [MOVE CHARACTERS IN 6PTB SLC 2 2 6Q*2 ADN 2 3 6QSL SRL 2 2 [ADJUST X2 FOR NEXT PARAM 6R#= BRN XAR3 6RRW XOUT2 UP 6S?G # 6SR6 [ PARFNAME 6T=Q # 6TQB [ TO TAKE A PARAMETER IN A FIL/FNAME AND SET IT IN A NEW CPB/CMULTI 6W=2 # 6WPL SPACE #20 6X9= QENTRY4 6XNW PARAFREE 6Y8G MHUNT 3,FILE,FNAME 6YN6 LDX 4 ATYPE(3) 6^7Q ANDX 4 HALFTOP 6^MB ORN 4 1 [PUT 1 IN LS 12 BITS OF ATYPE 7272 STO 4 ATYPE(3) 72LL LDX 4 3 [REMEBER FILE/FNAME PTR 736= LDX 5 ANUM(3) [CALCULATE LL FOR CPB/CMULTI 73KW LDX 6 5 [REM CHAR COUNT 745G ADN 5 APB*4+11 74K6 SRL 5 2 754Q PHOTO 7 75JB PTYPE FILE,FNAME,3,APARA,ANUM(3) 7642 SETUPCORE 5,3,CPB,CMULTI 76HL TESTMOVE 7,NOMOVE [B IF NO BLOCKS MOVED 773= MHUNT 2,FILE,FNAME 77GW LDX 4 2 782G NOMOVE 78G6 MHUNT 2,CPB,CALAS 78^Q LDX 7 CPBCPLEV(2) 79FB ANDN 7 #7777 [FIND THE CPB/LEV FOR CPB/CMULTI 79^2 CHAIN 3,BPTR(2) [CHAIN CPB/CMULTI BEFORE CPB/CALAS 7=DL LDX 2 4 7=Y= STO 7 CPBCPLEV(3) [INITIALISE CPB/CMULTI 7?CW LDN 7 APARAFIR 7?XG SLL 7 12 7#C6 ADN 7 1 7#WQ STO 7 APTBEPAR(3) 7*BB STO 7 ADNOPARAL(3) 7*W2 STOZ CPBSTART(3) 7B*L STOZ CPBSTOP(3) 7BT= LDX 7 JPARNUM(2) 7C#W STO 7 CPBPROGLEV(3) [LOAD CORRECT PARAM NO 7CSG LDN 7 1 7D#6 STO 7 ANALEV(3) [SET ANALYSIS LEVEL TO 1 7DRQ STO 7 APARANUM(3) [NO. OF PARAMETERS = 1 7F?B STOZ CMFMSK(3) 7FDJ ...#UNS CMXMSK 7FKQ ... STOZ CMXMSK(3) 7FR2 ADN 6 7 7G=L SLL 6 2 7GQ= SRL 6 2 [ROUND UP CHAR COUNT 7H9W ADN 2 ANUM 7HPG ADN 3 APARAFIR 7J96 CHARMOVE 2,6 [MOVE IN PARAMATER 7JNQ NGN 7 1 7K8B STO 7 0(3) [SET END OF PARAM MARKER 7KN2 UP 7L7L MENDAREA 30,K99PARAMA 7LM= #END ^^^^ ...51574464000100000000 </code> Last modified: 17/01/2024 11:55by 127.0.0.1 Log In