{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PARAMB865)}}
====== PARAMB865 ======
(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:HUNTW|HUNTW]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:PARABEG|PARABEG]], [[george:macro:PARALYSE|PARALYSE]], [[george:macro:PTYPE|PTYPE]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TRACE|TRACE]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL ...#OPT K0PARAMB=0
22^= ...#OPT K6PARAMB=K6ALLGEO
23DW ...#LIS K0PARAMB
23YG ...#SEG PARAMB [ROSEMARY BAXTER :CENT
24D6 ... 8HPARAMB
24XQ ... SEGENTRY K1PARAMB,QENTRY1
25CB ... SEGENTRY K2PARAMB,QENTRY2
25X2 ... SEGENTRY K3PARAMB,QENTRY3
26BL ... SEGENTRY K4PARAMB,QENTRY4
26W= ... SEGENTRY K5PARAMB,QENTRY5
27*W ...[
27TG ...[ THIS SEGMENT IS ENTERED BY MISCELLANEOUS MACROS CONCERNED
28*6 ...[ WITH COMMAND PARAMETERS
28SQ ...[ ENTRY POINTS - COMPACT - K1PARAMB
29#B ...[ PAPARAM - K2PARAMB
29S2 ...[ PARAREST - K3PARAMB
2=?L ...[ MARKAXES - K4PARAMB
2=R= ...[ PARAMOVE - K5PARAMB
2J46 MINUS1 #77777777
2JHQ XFS #36
2K3B XHYP #35
2KH2 XA #41
2L2L XZ #73
2LG= TEN #12
2L^W #DEF XCOLEN=TEN
2MFG PARAM 5
2M^6 8HPARAM
2NDQ TRAV +CPBCPLEV
2NYB +CPBPROGLEV
2PD2 +CPBFSD
2PXL +ANALEV
2QC= +ATYPE
2QWW +CMFMSK
2R44 ...#UNS CMXMSK
2R9= ... +CMXMSK
2RBG +CPBSTART
2RW6 +CPBSTOP
2S*Q #DEF TRAVCT=0?-TRAV
2T*2 SPACE #20
2TSL PRFR1
2W#= #HAL APARAFIR,1
#C2= #
#CFW [ THIS SUB LOOKS FOR A NON-SPACE CHAR AND EXITS WHEN FOUND
#C^G #
#DF6 SUB1 BZE 7 XOUT
#DYQ LDCH 5 0(2)
#FDB BCHX 2 £
#FY2 SBN 7 1
#GCL TXU 5 SPACE(1)
#GX= BCS S1 [EXIT IF A SPACE
#HBW SBN 6 1
#HWG BRN SUB1
#JB6 S1 EXIT 0 0
#JTQ #
#K*B [ COMPACT MACRO-TAKESA FILENAME AND REMOVES REDUNDANT
#KT2 [ SPACES
#L#L ...QENTRY1
#LS= MHUNT 3,CPB,CUNI
#M?W LDX 7 ANUM(3)
#MRG BZE 7 S11 [B. IF NULL
#N?6 BNG 7 S11 [B. IF ABSENT
#NQQ STO 3 AWORK1(2)
#P=B ANDN 7 #7777
#PQ2 LDX 6 7
#Q9L ADN 3 APARA [STEP PTR TO START
#QP= LDX 2 3
#R8W BRN S3 [ASSUME IMPLICIT COLEN FOUND
#RNG S2 CALL 0 SUB1
#S86 DCH 5 0(3) [STORE CHAR
#SMQ BCHX 3 £
#T7B TXU 5 XCOLEN(1)
#TM2 BCC S3 [B IF COLEN
#W6L TXU 5 XFS(1)
#WL= BCC S3
#X5W S7 BZE 7 XOUT
#XKG BRN S2
#Y56 S3 CALL 0 SUB1 [COLEN FOUND-MODE 2B
#YJQ LDN 4 0
#^4B S5 TXU 5 XHYP(1) [TEST IF STILL LOCAL NAME CHAR
#^J2 BCC S6
*23L TXU 5 SPACE(1)
*2H= BCS S8
*32W ADN 4 1 [UPDATE SPACE CONT
*3GG BRN S10
*426 S8 TXL 5 XA(1)
*4FQ BCS S9
*4^B TXL 5 XZ(1)
*5F2 BCC S9
*5YL S6 LDN 4 0
*6D= S10 DCH 5 0(3) [DUMP CHAR
*6XW BCHX 3 £
*7CG BZE 7 XOUT1
*7X6 LDCH 5 0(2) [GET NEXT CHAR
*8BQ BCHX 2 £
*8WB SBN 7 1
*9B2 BRN S5
*9TL S9 TXL 5 TEN(1)
*=*= BCS S6
*=SW SLC 2 2
*?#G SBN 2 1
*?S6 SRC 2 2 [STEP GETTER BACK ONE
*#?Q ADN 7 1
*#RB SBX 6 4 [SUBTRACT SPACE COUNT
**?2 SLC 3 2
**QL SBX 3 4
*B== SRC 3 2
*BPW BRN S7
*C9G XOUT1 SBX 6 4
*CP6 XOUT LDX 2 3
*D8Q SMO FX2
*DNB LDX 3 AWORK1
*F82 LDX 4 ANUM(3) [FORM AND STORE NEW CONTENTS OF ANUM
*FML ANDX 4 HALFTOP
*G7= ORX 4 6
*GLW STO 4 ANUM(3)
*H6G ANDN 6 3
*HL6 LDN 5 4
*J5Q SBX 5 6
*JKB ANDN 5 3
*K52 BZE 5 S13
*KJL LDN 6 #20
*L4= S12 DCH 6 0(2) [SPACEFILL
*LHW BCHX 2 £
*M3G BCT 5 S12
*MH6 S13 ANDN 4 #7777 [REMOVE REDUNDANT WORDS
*N2Q ADN 4 11
*NGB SRL 4 2
*P22 ALTLEN 3,4
*PFL S11 UP
*P^= #
*QDW ...# PAPARAM
*QYG #
*RD6 [ NEW FORM OF PARAREST TO DEAL WITH THE PARAM PARAMETER
*RXQ ...QENTRY2
*SCB PARABEG 1,PARAM(1),,,0 [ IGNORE ACCESSED PARAMETERS IN CASE
*SX2 [ THE FIRST'S NAME BEGAN WITH PARAM
*TBL MHUNT 3,CPB,CUNI
*TW= LDX 4 ANUM(3) [GET REQ. INFO FROM CUNI BLOCK
*W*W LDX 5 JPARNUM(3)
*WTG FREECORE 3
*X*6 TXU 4 MINUS1(1)
*XSQ ... BCC Q17X [NO PARAM PARAMETER
*Y#B BZE 4 W3
*YS2 PARALYSE ,,5 [PARALYSE PARAM PARAMETER
*^?L TESTREP UNPAIR,W3
*^HD ... TESTREP TOOMANY,W5
*^R= MHUNT 3,CPB,CMULTI
B2=W LDX 4 APARANUM(3)
B2QG SBN 4 2
B3=6 BZE 4 W1 [PARAMETER HAS CORRECT FORMAT
B3PQ FREECORE 3 [TIDY UP
B49B W3 SPARANOX 5
B4P2 UP
B4W8 ...W5
B53B ... UPPLUS 1
B58L W1 LDN 4 2
B5N= PARALYSE #34,,4
B67W TESTREP UNPAIR,W3
B6CN ... TESTREP TOOMANY,W5
B6MG MHUNT 3,CPB,CALAS
B776 MHUNT 2,CPB,CMULTI
B7LQ LDX 4 2
B86B CHAIN 4,3 [RECHAIN AFTER PRE CPB,CALAS
B8L2 LDX 2 4
B95L ... LDN 4 TRAVCT
B9K= ...W2 SMO TRAV(1) [USE TABLE TO TRANSFER INFORMATION
B=4W ... LDX 5 0(3) [FROM OLD CPB,CALAS TO CPB,CMULTI
B=JG ... SMO TRAV(1) [BLOCK INCLUDING RENAMING IT AS A
B?46 ... STO 5 0(2) [CPB,CALAS BLOCK
B?HQ ADN 1 1
B#3B BCT 4 W2
B#H2 LDX 1 FX1 [RESTORE X1
B#TC ... LDX 5 APARANUM(2) [OBTAIN NO OF PARAMS IN CALAS BLOCK
B*7S ... LDX 2 FX2 [RESTORE X2
B*G= FREECORE 3 [REMOVE OLD CPB CALAS
B*^W MHUNT 3,CPB,CMULTI
BBFG FREECORE 3 [TIDY UP
BBQ7 ... UPPLUS 2
BC2T ...Q17X MHUNT 3,CPB,CALAS
BC4J ... NGN 0 1
BC6? ... STO 0 APARAFIR(3)
BC82 ... LDX 0 PRFR1(1)
BC9P ... STO 0 APTBEPAR(3)
BC?D ... STO 0 ADNOPARAL(3)
BC*7 ... STOZ APARANUM(3)
BCBY ... UPPLUS 2
BCDQ #
BCYB [ PARAREST
BDD2 #
BDXL [ PARAREST MOVES DOWN THE UNACCESSED PARAMETERS OF AN
BFC= [ ALAS BLOCK, OVERWRITING THOSE ALREADY ACCESSED
BFWW ...QENTRY3
BGBG #SKI K6PARAM>499-499
BGW6 TRACE 2,REST
BH*Q HUNT 3,CPB,CALAS
BHTB LDX 6 APTBEPAR(3)
BJ*2 SRL 67 12 [ADDRESS OF NEXT PAR TO BE PASSED IN
BJSL SRL 7 12 [NO IN 7
BK#= SBN 7 1 [NO ALREADY PASSED
BKRW BZE 7 NOMOV [END IF NO PARS ACCESSED
BL?G SBS 7 APARANUM(3) [RESET APARANUM
BLR6 SMO 6
BM=Q LDX 5 0(3) [1ST PT/N WORD
BMQB TXU 5 MINUS1(1)
BN=2 BCS P1
BNPL STOZ APARANUM(3) [NO MORE PARAMETERS: RESET APARANUM
BP9= P1 LDX 5 PRFR1(1)
BPNW STO 5 APTBEPAR(3)
BQ8G STO 5 ADNOPARAL(3)
BQN6 LDX 5 ALOGLEN(3)
BR7Q ADN 5 A1
BRMB SBX 5 6 [NO OF WORDS TO BE MOVED
BS72 LDX 2 3
BSLL ADX 2 6
BT6= ADN 3 APARAFIR
BTKW SMO 5
BW5G MOVE 2 0
BWK6 NOMOV UPPLUS 1
BX4Q #
BXJB [ THIS ENTRY IS FOR THE MACRO MARKAXES. IT MARKS ALL THE
BY42 [ PARAMETERS OF THE CURRENT COMMAND AS ACCESSED. IT IS USED
BYHL [ BY COMMANDS LIKE REDON AND WHENEVER WHICH DO NOT USE PARAMETER
B^3= [ PASSING MACROS TO ACCESS THEIR PARAMETERS.
B^GW ...QENTRY4
C22G LDX 5 GSIGN [LOAD SIGN BIT
C2G6 HUNT 2,CPB,CALAS [FIND THE CPB/CALAS BLOCK
C2^Q LDN 3 APARAFIR [LOAD POINTER TO FIRST PARAMETER
C3FB XROY ADX 2 3 [UPDATE POINTER TO NEXT PARAMETER
C3^2 LDX 3 0(2) [LOAD COUNTENTS OF PARAMETER HEADER
C4DL TXU 3 MINUS1(1) [ JUMP IF NO MORE
C4Y= BCS XROY1 [ PARAMETERS
C5CW UP [BACK TO ISSUING ROUTINE
C5XG XROY1 ORS 5 0(2) [MARK PARAMETER AS ACCESSED
C6C6 ANDN 3 #7777 [ISOLATE LENGTH OF PARAMETER
C6WQ ADN 3 7 [ GET POINTER TO NEXT
C7BB SRL 3 2 [ PARAMETER
C7W2 BRN XROY
C8*L #
C8T= [ ENTRY POINT FOR PARAMOVE MACRO.HAS NUMBER OF SIGNIFICANT CHARS TO
C9#W [ BE MOVED OVER IN ACOMMUNE1.USED BY THE CANCEL COMMAND
C9SG ...QENTRY5
C=#6 LDX 5 ACOMMUNE1(2) [LOAD NO. OF CHARS.TO BE MOVED OVER
C=RQ LDX 6 ACOMMUNE2(2)
C??B STO 6 AWORK1(2)
C?R2 HUNTW 3,CPB,CALAS
C#=L LDX 4 3 [STORE PTR TO ALAS BLOCK
C#Q= LDN 0 APARAFIR
C*9W BNG 6 NOSRCH [J IF FIRST PARAMETER
C*PG BRN RCH
CB96 XRCH ANDN 7 #7777 [GIVEN PARAMETER
CBNQ ADN 7 7
CC8B SRL 7 2
CCN2 ADX 0 7
CD7L RCH SMO 0
CDM= LDX 7 0(3)
CF6W TXU 7 MINUS1(1)
CFLG BCS YRCH
CG66 GEOERR 1,PARAMOVE [PARAMETER SPECIFIED DOES NOT EXIST
CGKQ YRCH BCT 6 XRCH
CH5B NOSRCH
CHK2 SMO 0
CJ4L LDX 7 0(3)
CJJ= STO 0 AWORK2(2)
CK3W ANDN 7 #7777
CKHG STO 7 6 [STORE NO OF CHARS IN FIRST PARAM
CL36 SBX 7 5 [GET NO. OF CHARS LEFT
CLGQ ADN 3 1
CM2B ADX 3 0
CMG2 LDX 2 3
CM^L SLL 2 2
CNF= ADX 2 5 [GET PTR TO PARAMETER AFTER
CNYW SRC 2 2 [GIVEN CHARACTERS
CPDG BZE 7 NOCHA
CPY6 BPZ 7 STLP
CQCQ GEOERR 1,PARAMOVE
CQXB [ IGNORE SPACE CHARACTERS AFTER GIVEN SIGNIFICANT CHARS
CRC2 STLP LDCH 0 0(2)
CRWL TXU 0 SPACE(1)
CSB= BCS XLP
CSTW BCHX 2 £
CT*G BCT 7 STLP
CTT6 NOCHA LDX 3 4
CW#Q LDX 2 FX2
CWSB BRN NOCH [NO CHARS LEFT IN PARAMETER
CX#2 XLP CHARMOVE 2,7 [ MOVE REST OF PARAM TO NEW POSITION
CXRL LDX 3 4 [RESTORE PTR TO ALAS BLOCK
CY?= LDX 2 FX2
CYQW SMO AWORK2(2)
C^=G STO 7 0(3)
C^Q6 LDX 3 AWORK2(2)
D29Q ADN 3 1
D2PB PTYPE CPB,CALAS,4,0(3),7
D392 [ FIRST PARAMETER NOW SET UP-SO MUST MOVE REMAINING PARAMETERS
D3NL [ UP
D48= #
D4MW ADN 7 3
D57G SRL 7 2 [NO OF WORDS IN NEW FIRST PARAMETER
D5M6 HUNTW 3,CPB,CALAS
D66Q NOCH ADN 6 3
D6LB SRL 6 2 [NO OF WORDS IN OLD FIRST PARAMETER
D762 LDX 0 ALOGLEN(3)
D7KL SBX 0 6
D85= SBX 0 AWORK2(2)
D8JW ADN 0 A1
D94G SMO AWORK2(2)
D9J6 LDN 4 0(3)
D=3Q ADN 4 1
D=HB LDX 5 4
D?32 ADX 4 6 [PTR TO START OF BLOCK TO BE MOVED
D?GL ADX 5 7 [PTR TO WORD AFTER FIRST PARAMETER
D#2= BZE 0 NOMVE
D#FW SMO 0
D#^G MOVE 4 0 [MOVE REMAINING PARAMETERS UP
D*F6 NOMVE
D*YQ BNZ 7 XN [FIRST PARAMETER IS NOT NULL
DBDB SBX 4 6
DBY2 SMO 4
DCCL LDX 4 0
DCX= TXU 4 MINUS1(1)
DDBW BCS XM [ALAS BLOCK IS NOT EMPTY
DDWG LDN 5 1
DFB6 SBS 5 APARANUM(3)
DFTQ BRN XP
DG*B XM LDN 4 0
DGT2 XP SMO AWORK2(2)
DH#L STO 4 0(3) [MAKE FIRST PARAMETER ZERO OR NGTIVE
DHS= XN SBX 6 7 [LENGTH ALAS BLOCK REDUCED BY
DJ?W [ UPDATE APTBEPAR AND ADNOPARAL IF POINTING PAST FIRST PARMTR.
DJRG LDX 0 AWORK1(2)
DK?6 BPZ 0 UPDT3
DKQQ LDN 7 APARAFIR
DL=B SLL 7 12
DLQ2 ADN 7 1
DM9L STO 7 APTBEPAR(3)
DMP= STO 7 ADNOPARAL(3)
DN8W XOK2 UP
DNNG UPDT3 BZE 6 XOK2
DP86 LDX 7 AWORK2(2)
DPMQ LDX 4 APTBEPAR(3)
DQ7B SRL 45 12
DQM2 TXL 7 4
DR6L BCC UPDT2
DRL= SBX 4 6
DS5W SLL 45 12
DSKG STO 4 APTBEPAR(3)
DT56 UPDT2 LDX 4 ADNOPARAL(3)
DTJQ SRL 45 12
DW4B TXL 7 4
DWJ2 BCC XOK2
DX3L SBX 4 6
DXH= SLL 45 12
DY2W STO 4 ADNOPARAL(3)
DYGG UP
D^26 ... MENDAREA 1023-0?,K99PARAMB
D^FQ #END
^^^^ ...04576200000200000000