{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SETPB867)}}
====== SETPB867 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLEN|ALTLEN]], [[george:macro:CHAIN|CHAIN]], [[george:macro:COMERRX|COMERRX]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FREECORE|FREECORE]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNT2OPT|HUNT2OPT]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:PARALYSE|PARALYSE]], [[george:macro:PARAPASS|PARAPASS]], [[george:macro:PHOTO|PHOTO]], [[george:macro:PTYPE|PTYPE]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TESTERR|TESTERR]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREP|TESTREP]], [[george:macro:UP|UP]]
22BG ... SEG SETPB,,CENT(COMMAND PROCESSOR),,G400
22R2 ...[
237G ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982
23J2 ...[
23YG #
24D6 # THIS SEGMENT IS ENTERED FROM THE SEGMENT SETPARAM. IT
24XQ # COMPLETES IMPLEMENTATION OF THE SETPARAM COMMAND AND
25CB # RETURNS TO THE COMMAND PROCESSOR .
25X2 #
26BL SEGENTRY K1SETPB,SENTRY1
26HS ...#UNS G400
26P2 ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK 2
26W= MINUS1 #77777777
27*W TWENTYFIVE +25
27TG SPACE #20
28*6 XATCHR #40 [@ CHARACTER
28SQ TEN +10
29#B PAREN #30
29S2 XRPAR #31
29^8 ...#UNS G400
2=6B ...XDSK 4H*JBV
2=?L #
2=R= SENTRY1
2?=W STOZ AWORK2(2)
2?QG STOZ AWORK4(2)
2#=6 LDN 0 0
2#PQ PARAPASS 0
2#QT ...#UNS G400
2#RY ...(
2#T3 ... HUNT 3,CPB,CUNI
2#W6 ... LDX 0 ANUM(3)
2#X9 ... BNG 0 START
2#Y# ... ANDN 0 #7777
2#^C ... SBN 0 4
2*2G ... BNG 0 START
2*3K ... LDX 0 APARA(3)
2*4N ... TXU 0 XDSK(1)
2*5R ... BCS START
2*6W ... ACROSS GLOBALS,2
2*7^ ...)
2*9B START
2*P2 LDX 1 FX1
2B8L STOZ AWORK3(2)
2BN= LDN 4 1
2C7W ADS 4 AWORK2(2)
2CMG HUNT 3,CPB,CUNI
2D76 LDX 6 ANUM(3)
2DLQ BZE 6 XERRN [1ST PARAMETER MISSING
2F6B ANDN 6 #7777 [GET CHARACTER COUNT
2FL2 SBN 6 1
2G5L BNZ 6 STR1 [BRN IF NOT SINGLE CHARACTER
2GK= SPB1
2H4W LDCH 6 APARA(3) [TAKE CHARACTER
2HJG SBN 6 #40 [CONVERT TO NO
2J46 TXL 6 TWENTYFIVE(1)
2JHQ BCC PN4 [J IF >24TH PARAMETER SPECIFIED
2K3B BNG 6 PN4 [ERROR IF NOT
2KH2 BZE 6 PN4 [ALPHABETIC
2L2L CALL 7 SEARCH [GET ALAS BLOCK
2LG= LDN 5 APARAFIR [POINTER TO FIRST PARAMETER
2L^W BRN NCHA
2MFG #
2M^6 # SUBROUTINE TO OBTAIN IN X1 THE DATUM OF THE ALAS BLOCK
2NDQ # 1 LEVEL ABOVE SETPARAM
2NYB #
2PD2 SEARCH
2PXL LDX 2 FX2
2QC= LDX 4 AWORK2(2)
2QWW MHUNTW 1,CPB,CALAS
2RBG P1 LDX 1 FPTR(1)
2RW6 LDX 0 ATYPE(1)
2S*Q TXL 0 CACT
2STB BCC XERROR
2T*2 SRL 0 12
2TSL ERN 0 CPB+CALAS
2W#= BNZ 0 P1
2WRW LDX 0 EXT+10(2) [TOP BREAKIN LEVEL
2X?G ANDN 0 #7777
2XR6 STO 0 ACOMMUNE1(2)
2Y=Q LDEX 0 CPBCPLEV(1)
2YQB TXL 0 ACOMMUNE1(2)
2^=2 BCS XERROR
2^PL BCT 4 P1
329= EXIT 7 0
32NW #
338G # FOR ALPHABETIC CHARACTER 'X' SPECIFIED,FIND THE (X-#40)TH
33N6 # PARAMETER IN THE ALAS BLOCK
347Q #
34MB NPARA ANDN 4 #7777
3572 ADN 4 7 [ADD 1 AND ROUND DIVISION
35LL SRL 4 2
366= ADX 5 4 [POINTER TO NEXT PARAMETER
36KW NCHA SMO 5
375G LDX 4 0(1) [PT/N WORD
37K6 SMO FX1
384Q TXU 4 MINUS1
38JB BCS NT [BRN IF END OF BLOCK NOT REACHED
3942 #
39HL # NO MORE PARAMETERS: ADDITIONAL NULL PAR.S MUST BE CREATED
3=3= #
3=GW LDX 4 AWORK3(2)
3?2G BNZ 4 XERR6 [ERROR IF CALL BY NAME
3?G6 LDX 4 ALOGLEN(1) [LOGICAL LENGTH
3?^Q ADX 4 6 [NEW LOGICAL LENGTH
3#FB ADS 6 APARANUM(1) [ADJUST NO. OF PARAMETERS IN BLOCK
3#^2 LDX 7 1
3*DL ALTLEN 7,4 [INCREASE BLOCK LENGTH
3*Y= CALL 7 SEARCH
3BCW LDX 0 GSIGN
3BXG BRN ZER
3CC6 ZEQ ADN 5 1
3CWQ ZER SMO 5
3DBB STO 0 0(1) [SET NULL,ACCESSED PARAMETER
3DW2 BCT 6 ZEQ [BRN IF COUNT NOT EXHAUSTED
3F*L NGN 6 1
3FT= SMO 5
3G#W STO 6 1(1) [SET END OF BLOCK
3GSG BRN NTHP
3H#6 NT [X5 IS NOW POINTER TO LAST NULL PARAM
3HRQ BCT 6 NPARA
3J?B LDX 2 FX2
3JR2 LDX 0 AWORK3(2)
3K=L BZE 0 NTHP [NORMAL CASE
3KQ= LDX 0 AWORK4(2)
3L9W ANDN 4 #7777
3LPG ADN 4 11
3M96 SRL 4 2
3MNQ BNZ 0 WRK4 [J IF CPB/CUNI BLOCK PRESENT
3N8B SETUPCORE 4,3,CPB,CUNI
3NN2 LDN 6 1
3P7L STO 6 JPARNUM(3)
3PM= STO 4 AWORK4(2)
3Q6W BRN NOMOV
3QLG WRK4 HUNT 3,CPB,CUNI
3R66 LDX 0 ALOGLEN(3)
3RKQ TXL 0 4
3S5B BCC NOMOV
3SK2 PHOTO 6
3T4L ALTLEN 3,4,CPB,CUNI
3TJ= TESTMOVE 6,NOMOV
3W3W HUNT 3,CPB,CUNI
3WHG NOMOV CALL 7 SEARCH
3X36 SMO 5
3XGQ LDXC 4 0(1)
3Y2B BCC £
3YG2 STO 4 ANUM(3)
3Y^L LDX 0 GSIGN
3^F= SMO 5
3^YW ORS 0 0(1) [MARK ACCESSED
42DG BZE 4 START
42Y6 ANDN 4 #7777
43CQ SMO 5
43XB LDN 6 1(1)
44C2 LDN 7 APARA(3)
44WL SMO 4
45B= MVCH 6 0 [MOVE FROM CALAS BLOCK TO CUNI BLOCK
45TW BRN START
46*G #
46T6 # FIND THE FIRST PARAMETER IN THE ALAS BLOCK BEGINNING
47#Q # WITH THE SPECIFIED STRING
47SB #
48#2 STR1 LDX 4 ANUM(3)
48RL SRL 4 12 [PARAMETER TYPE
49?= SBN 4 2
49QW SBN 6 1
4==G BNZ 6 STR2 [MORE THAN 2 CHARS
4=Q6 BZE 4 STR2 [J IF COMPOSITE
4?9Q LDCH 6 APARA(3)
4?PB TXU 6 XATCHR(1)
4#92 BCS PN4
4#NL BCHX 3 £
4*8= STO 6 AWORK3(2) [SET CALL BY NAME
4*MW BRN SPB1
4B7G STR2 LDX 6 AWORK4(2)
4BM6 BNZ 6 XHIGH
4C6Q LDN 6 0
4CLB PARALYSE ,6 [PARALYSE 1ST PARAMETER
4D62 TESTERR UNPAIR,UP [REPORT ERROR + END IF UNPAIRED BRACK
4D*S ... TESTREP TOOMANY,XERR9
4DKL BZE 4 NONUM [BRN IF COMPOSITE
4F5= SBN 4 1
4FJW BNZ 4 PN4 [FORMAT ERROR
4G4G ADN 4 1
4GJ6 PARAPASS 4 [QUALIFIED; GET PRECEDING NO
4H3Q HUNT 3,CPB,CUNI
4HHB LDX 0 ANUM(3) [CHARACTER COUNT
4J32 ANDN 0 #7777
4JGL LDN 5 0
4K2= LDN 6 0
4KFW LDCH 4 APARA(3)
4K^G TXU 4 XATCHR(1)
4LF6 BCS XCDB
4LYQ STO 4 AWORK3(2) [SET CALL BY NAME
4MDB BRN XCDB1
4MY2 #
4NCL # CONVERT PRECEDING NO. TO BINARY IN X5 AND X6
4NX= #
4PBW XCDB CDB 5 APARA(3)
4PWG BCS XERR0 [NON NUMERIC CHARACTER IS ERRONEOUS
4QB6 XCDB1
4QTQ BCHX 3 £
4R*B BCT 0 XCDB [BRN IF CHARACTER COUNT NOT EXHAUSTED
4RT2 BNZ 5 PN6 [ERROR IF LARGE NUMBER SPECIFIED
4S#L TXL 6 TWENTYFIVE(1)
4SS= BCC PN6
4T?W BNG 6 PN6
4TRG BNZ 6 NO
4W?6 LDN 6 1
4WQQ NO
4X=B LDN 7 2
4XQ2 LDN 4 1
4Y9L PARALYSE ,4,7
4YFD ... TESTREP TOOMANY,XERR9
4YP= PARAPASS 7 [GET RID OF SPACES IN STRING
4^8W BRN SRCH
4^NG NONUM LDN 6 1 [SUPPLY 1 FOR NO NO. SPECIFIED
5286 PARAPASS 6 [GET RID OF SPACES IN STRING
52MQ SRCH CALL 7 SEARCH
537B LDN 5 APARAFIR
53M2 HUNT 3,CPB,CUNI
546L LDX 4 ANUM(3)
54L= BZE 4 NCHA [BRN IF NULL PARAMETER SPECIFIED
555W LDN 4 #7777
55KG ANDS 4 ANUM(3)
5656 BRN NUMCH
56JQ #
574B # QUALIFIED OR COMPOSITE PARAMETER AT A HIGH LEVEL
57J2 #
583L XHIGH HUNT 3,CPB,CUNI
58H= LDX 4 ALOGLEN(3)
592W SETUPCORE 4,3,CPB,CUNI [SET UP DUMMY FOR ERROR REPT
59GG HUNT2OPT 2,CPB,CUNI,3
5=26 LDX 5 2
5=FQ CHAIN 3,2
5=^B LDX 2 5
5?F2 ADN 2 A1
5?YL ADN 3 A1
5#D= SMO 4
5#XW MOVE 2 0
5*CG SBN 3 A1
5*X6 LDN 5 0
5BBQ LDN 6 0
5BWB SMO FX2
5CB2 STO 3 AWORK1
5CTL LDX 2 3
5D*= LDX 0 ANUM(3)
5DSW ANDN 0 #7777
5F#G LDCH 4 APARA(3)
5FS6 TXU 4 XATCHR(1)
5G?Q BCS NOTAT
5GRB SMO FX2
5H?2 STO 4 AWORK3
5HQL BRN XBCT
5J== XBCH BCHX 3 £
5JPW NOTAT
5K9G LDCH 4 APARA(3)
5KP6 TXU 4 SPACE(1)
5L8Q BCC XBCT
5LNB CDB 5 APARA(3)
5M82 BCS NOTEN
5MML XBCT BCT 0 XBCH
5N7= NOTEN BNZ 5 XERR8 [J IF NUMBER TOO LARGE
5NLW TXL 6 TWENTYFIVE(1)
5P6G BCC XERR8
5PL6 BNG 6 XERR8
5Q5Q BNZ 6 NOT
5QKB LDN 6 1
5R52 NOT BNZ 0 XCHARS [J IF MORE CHARS
5RJL NOT1
5S4= CALL 7 SEARCH
5SHW LDN 5 APARAFIR
5T3G BRN NCHA
5TH6 XCHARS
5W2Q TXU 4 PAREN(1) [IS THE NEXT CHAR LEFT PARENTHESIS
5WGB BCS XERR8
5X22 LDN 4 0
5XFL BRN XBX
5X^= XLP LDCH 7 APARA(3) [STORE THE
5YDW TXU 7 SPACE(1) [ENCLOSED STRING
5YYG BCC XBX [IN THE CUNI BLOCK
5^D6 TXU 7 XRPAR(1)
5^XQ BCC XEND
62CB DCH 7 APARA(2)
62X2 ADN 4 1
63BL BCHX 2 £
63W= XBX BCHX 3 £
64*W BCT 0 XLP
64TG BRN XERR8 [NO R PARENTHESIS
65*6 XEND BCT 0 XERR8
65SQ SMO FX2
66#B LDX 3 AWORK1
66S2 FREECORE BPTR(3)
67?L STO 4 ANUM(3)
67R= BZE 4 NOT1
68=W ADN 4 11
68QG SRL 4 2
69=6 ALTLEN 3,4,CPB,CUNI
69PQ HUNT 3,CPB,CUNI
6=9B PTYPE CPB,CUNI,3,APARA,ANUM(3)
6=P2 BRN SRCH
6?8L #
6?N= # IDENTIFY PARAMETER REQUESTED BY COMPARISON WITH STRING GIVEN
6#7W NCP1 ADX 4 ANUM(3) [NO OF CHARS IN ALAS PARAMETER IN X4
6#MG BRN NCP3
6*76 NCP2 SMO FX2
6*LQ LDX 1 AWORK1
6B6B SMO 5
6BL2 LDX 4 0(1) [LET PT/N WORD OF NEXT ALAS PARAMETER
6C5L ANDN 4 #7777 [ISOLATE NO OF CHARS
6CK= NCP3 ADN 4 7 [ADD 1 AND ROUND DIVISION
6D4W SRL 4 2
6DJG ADX 5 4 [POINTER TO PT/N WORD OF NEXT PARAMET
6F46 NUMCH SMO 5
6FHQ LDX 4 0(1)
6G3B SMO FX1
6GH2 TXU 4 MINUS1
6H2L BCS OK3 [BRN UNLESS END OF BLOCK REACHED
6HG= BRN XERR6
6H^W OK3 ANDN 4 #7777 [ISOLATE NO OF CHARS IN PARAMETER
6JFG SBX 4 ANUM(3) [SBN NO OF CHARS IN STRING
6J^6 BNG 4 NCP1 [INCORRECT IF STRING>PARAMETER
6KDQ SMO FX2
6KYB STO 4 ACOMMUNE1
6LD2 LDX 7 ANUM(3) [NO OF CHARS IN STRING
6LXL LDX 2 3 [CONSERVE 3
6MC= SMO FX2
6MWW STO 1 AWORK1
6NBG XCOMP SMO 5
6NW6 LDCH 4 1(1) [GET A CHAR FROM ALAS PARAMETER
6P*Q SMO FX1
6PTB TXU 4 SPACE
6Q*2 BCS OK4 [OK IF NOT SPACE
6QSL BCHX 1 £
6R#= LDN 0 1
6RRW SMO FX2
6S?G SBS 0 ACOMMUNE1
6SR6 BRN XCOMP
6T=Q OK4
6TQB LDCH 0 APARA(2) [GET A CHAR FROM STRING
6W=2 ERX 0 4
6WPL BNZ 0 NCP2 [BRN IF DISSIMILAR
6X9= BCHX 1 £
6XNW BCHX 2 £
6Y8G BCT 7 XCOMP [BRN TO COMPARE ANOTHER CHARACTER
6YN6 SMO FX2
6^7Q LDX 4 ACOMMUNE1
6^MB BNG 4 NCP2 [BRN IF TRUE COMPARISON NOT MADE
7272 BCT 6 NCP2 [REJECT IF NOT N'TH PARAMETER
72LL LDX 2 FX2
736= LDX 1 AWORK1(2)
73KW LDX 4 AWORK3(2)
745G BZE 4 NTHP
74K6 HUNT 3,CPB,CUNI
754Q LDX 4 ANUM(3)
75JB ANDN 4 #7777 [NUMBER OF CHARS BEING SEARCHED FOR
7642 SMO 5
76HL LDX 6 0(1)
773= ANDN 6 #7777
77GW SBX 6 4 [NO OF CHARS REMAINING
782G LDX 7 6
78G6 STO 4 AWORK1(2)
78^Q ADN 6 11
79FB SRL 6 2
79^2 LDX 4 AWORK4(2)
7=DL BZE 4 SETUP
7=Y= TXU 6 ALOGLEN(3)
7?CW BCC XNOMOV
7?XG PHOTO 4
7#C6 ALTLEN 3,6,CPB,CUNI
7#WQ TESTMOVE 4,XNOMOV
7*BB HUNT 3,CPB,CUNI
7*W2 BRN XNOMOV
7B*L SETUP
7BT= SETUPCORE 6,3,CPB,CUNI
7C#W LDN 4 1
7CSG STO 4 JPARNUM(3)
7D#6 STO 4 AWORK4(2)
7DRQ XNOMOV
7F?B STO 7 ANUM(3)
7FR2 CALL 7 SEARCH
7G=L LDX 7 ANUM(3)
7GQ= LDX 0 GSIGN
7H9W SMO 5
7HPG ORS 0 0(1)
7J96 BZE 7 START
7JNQ LDX 4 AWORK1(2)
7K8B XA BCHX 1 £
7KN2 BCT 4 XA
7L7L STO 3 AWORK1(2)
7LM= XB SMO 5
7M6W LDCH 6 1(1)
7MLG DCH 6 APARA(3)
7N66 BCHX 1 £
7NKQ BCHX 3 £
7P5B BCT 7 XB
7PK2 LDX 3 AWORK1(2)
7Q4L PTYPE CPB,CUNI,3,APARA,ANUM(3)
7QJ= BRN START
7R3W #
7RHG # COMPARE LENGTHS OF 'OLD' AND 'NEW' PARAMETERS
7S36 #
7SGQ NTHP SMO 5
7T2B LDX 4 0(1) [PT/N WORD OF 'OLD' PARAMETER
7TG2 HUNT 3,COMDAT,CSETP [GET 'NEW' PARAMETER BLOCK
7T^L LDX 0 ANUM(3)
7WF= ANDN 4 #7777 ['OLD' LENGTH IN CHARS
7WYW ANDN 0 #7777 ['NEW' LENGTH IN CHARS
7XDG ADN 4 3
7XY6 ADN 0 3
7YCQ SRL 4 2 ['OLD' LENGTH IN WORDS
7YXB SRL 0 2 ['NEW' LENGTH IN WORDS
7^C2 SBX 0 4 [X0='NEW'-'OLD'
7^WL BZE 0 OKCPY [BRN IF NO ADJUSTMENT OF LENGTH REQUI
82B= #
82TW # IF THE POINTERS IN APTBEPAR AND ADNOPARAL POINT TO A PARAMET
83*G # AFTER THE ONE TO BE ALTERED, THEY MUST BE RESET .
83T6 #
84#Q LDX 6 APTBEPAR(1) [POINTER TO NEXT PARAMETER TO BE PASS
84SB SRL 67 12
85#2 TXL 5 6
85RL BCC OK1 [BRN IF LESS THAN POINTER IN X5
86?= ADX 6 0 [ADJUST POINTER
86QW SLL 67 12
87=G STO 6 APTBEPAR(1)
87Q6 OK1 LDX 6 ADNOPARAL(1) [POINTER TO NEXT PARAMETER TO BE ANAL
889Q SRL 67 12
88PB TXL 5 6
8992 BCC OK2
89NL ADX 6 0 [ADJUST POINTER
8=8= SLL 67 12
8=MW STO 6 ADNOPARAL(1)
8?7G OK2
8?M6 #
8#6Q LDX 6 ALOGLEN(1) [ADDRESS OF LAST WORD
8#LB ADN 6 A1(1) [IN OLD BLOCK +1 IN X6
8*62 SMO 5
8*KL LDN 7 1(1) [START ADDRESS OF "OLD" PARAMETER +1
8B5= ADX 7 4 [END ADDRESS OF 'OLD' PARAMETER
8BJW SBX 6 7 [NO OF WORDS TO BE MOVED IN 6
8C4G NGS 0 AWORK1(2) [SAVE DIFFERENCE
8CJ6 BPZ 0 XEXT [NEED INCREASED BLOCK LENGTH
8D3Q ADX 0 7 [DESTINATION OF FIRST WORD
8DHB # BRIDGE THE GAP
8F32 TRUNC BZE 6 NCATE [J IF 512 MULTIPLE
8FGL SBNC 6 512
8G2= BCS NLAST [J IF < 512 WORDS LEFT
8GFW MOVE 7 512
8G^G ADN 7 512
8HF6 ADN 0 512
8HYQ BRN TRUNC [MOVE IN BLOCKS OF 512 WDS
8JDB NLAST SMO 6
8JY2 MOVE 7 0 [REMAINDE R IN
8KCL NCATE LDX 6 ALOGLEN(1)
8KX= LDX 7 1
8LBW SBX 6 AWORK1(2)
8LWG ALTLEN 7,6 [CHOP END OFF
8MB6 CALL 7 SEARCH [RESET X1
8MTQ BRN OKCPY
8N*B #
8NT2 # EXTEND BLOCK AND MOVE DOWN SUBSEQUENT PARAMETERS
8P#L #
8PS= XEXT STO 5 3 [STO POINTER TO START OF "OLD" PARAME
8Q?W LDX 5 ALOGLEN(1)
8QRG ADX 5 0 [NEW LOG LENGTH
8R?6 LDX 7 1
8RQQ ALTLEN 7,5 [EXTEND BLOCK
8S=B CALL 7 SEARCH [RELOCATE ALAS BLOCK
8SQ2 ADN 5 A1-1(1) [ADDRESS OF LAST WORD IN EXTENDED BLO
8T9L LDX 4 AWORK1(2)
8TP= ADX 4 5 [ADDRESS OF LAST WORD IN ORIGINAL BLO
8W8W MOVIT MOVE 4 1 [COPY 1 WORD
8WNG SBN 4 1
8X86 SBN 5 1
8XMQ BCT 6 MOVIT
8Y7B LDX 5 3 [RELOAD POINTER
8YM2 #
8^6L # COPY IN 'NEW' PARAMETER
8^L= #
925W OKCPY
92KG MHUNT 3,COMDAT,CSETP
9356 SMO 5
93JQ LDN 7 0(1) [START ADDRESS OF 'OLD' PARAMETER
944B LDX 0 A1+1(3) [PT/N WORD OF NEW PARAMETER
94J2 ANDN 0 #7777
953L ADN 0 7
95H= SRL 0 2
962W LDN 6 ANUM(3) [PT/N WORD OF 'NEW' PARAMETER
96GG SMO 0
9726 MOVE 6 0 [INSERT 'NEW' PARAMETER IN PLACE OF '
97FQ LDCT 4 #400
97^B SMO 5
98F2 ORS 4 0(1)
98YL UP ENDCOM
99D= #
99XW PCHNUMERR +CHNUMERR
9=CG PJSETP1 +JSETP1
9=X6 PAPFERR +APFERR
9?BQ PJPARMIS +JPARMIS
9?WB PJSETP8 +JSETP8
9#B2 PJSETP9 +JSETP9
9#TL PADOCER +ADOCER
9**= PJSETP10 +JSETP10
9*SW PJSETP11 +JSETP11
9B4N ...PJMAXPAR +JMAXPAR
9B#G #
9BS6 #
9C?Q XERR0 LDX 7 PCHNUMERR(1)
9CRB BRN NGN
9D?2 XERR LDX 7 PJSETP1(1) [EXPRESSION INVALID
9DQL BRN NGN
9F== XERR2 LDX 7 PAPFERR(1) [PARAMETER FORMAT ERROR
9FPW BRN NGN
9G9G XERR5 LDX 7 PJPARMIS(1) [1ST PARAMETER MISSING
9GP6 LDX 6 PJSETP8(1)
9H8Q BRN XCOM
9HNB XERR6 SMO FX1 [PARAMETER SPECIFIED NONEXISTENT
9J82 LDX 7 PJSETP9
9JML NGN NGN 6 1
9K7= XCOM COMERRX 7,6
9KLW # CALL BY NAME FORMAT ERROR
9L6G XERR8
9LL6 LDX 7 PJSETP10(1)
9M5Q BRN NGN
9M9M ...XERR9
9M*J ... LDX 7 PJMAXPAR(1)
9MFF ... BRN NGN
9MKB # NOT ENOUGH COMMAND LEVELS FOR CALL BY NAME
9N52 XERROR
9NJL SMO FX1
9P4= LDX 7 PJSETP11
9PHW BRN NGN
9Q3G XERRN LDX 4 AWORK4(2)
9QH6 BZE 4 XERR5
9R2Q BRN XERR8
9RGB PN4 LDX 4 AWORK4(2)
9S22 BZE 4 XERR2
9SFL BRN XERR8
9S^= PN6 LDX 4 AWORK4(2)
9TDW BZE 4 XERR
9TYG BRN XERR8
9WD6 #
9WXQ MENDAREA 20,GAPSETPB
9XCB #END
^^^^ ...60262653000100000000