224B ... SEG SETPARAM,,CENT(COMMAND PROCESSOR),,G250,G281,G233,G400 226Q ...[ 2296 ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 22?G ...[ THIS EXCLUDES CODE UNDER #SKI G233 22*W ...[ AND UNDER #SKI G250 22D= ...[ AND UNDER #SKI G262 22GL ...[ AND UNDER #SKI G263 22K2 ...[ AND UNDER #SKI G281 22MB ...[ 22PQ ...#LIS K0SETPARAM [ FOR BENEFIT OF 'MENDIT' 22QH ...#UNS G400 22R# ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK2 22S6 ...#OPT G233 = 0 22WG ...#SKI G233&1 22YW ...# WITH UGUG EDIT M233 (COMPACT LISTDIR HIGH) 233= ...#OPT G250 = 0 235L ...#SKI G250&1 2382 ...# WITH UGUG EDIT M250 (ADDITIONAL NUMBER FORMATS) 23=B ...#OPT G262 = 0 23#Q ...#SKI G262&1 23C6 ...# WITH UGUG EDIT M262 (WHATGENS COMMAND) 23FG ...#OPT G263 = 0 23HW ...#SKI G263&1 23L= ...# WITH UGUG EDIT M263 (HOWBIG COMMAND) 23NL ...#OPT G281 = 0 23R2 ...#SKI G281&1 23TB ...# WITH UGUG EDIT M281 (SETPARAM NEXT LINE OF JOB SOURCE) 23YG SEGENTRY K1SETPARAM,SENTRY1 24D6 SEGENTRY K2SETPARAM,SENTRY2 24MY ... SEGENTRY K3SETPARAM,SENTRY3 [ RETURN FROM OCT OR HEX IN %;..; 24QH ... SEGENTRY K4SETPARAM,SENTRY4 [INSTALLATION HOOKS RETURN FROM 24T6 ... [SETPC, SETPE, SETPF, SETPN, SETPR 24XQ # 25CB # THIS SEGMENT IS THE FIRST OF TWO SEGMENTS IMPLEMENTING 25X2 # SETPARAM . IT PROCESSES THE SECOND PARAMETER OF THE 265= # COMMAND AND GOES ACROSS TO SEGMENT SETPB . 26?G # OVERFLOW SEGMENTS FOR SETPARAM:- 26FQ # SETPRAMA, 26N2 # SETPRAMB 26W= # 273D ...#UNS G400 2763 ...( 278L ...XJDR 4HJDR0 27=B ...XPROG 4HPROG 27#6 ...) 27*W SPACE #20 28SQ # LIST OF 2ND PARAMETER FUNCTIONS 29#B PARAM2 4HMES0 29S2 4HDIS0 2=?L 4HVAL0 2=#K ...#SKI G250&1 2=*J ...( 2=BH ...PARAMHEX 4HHEX0 2=CG ... 4HOCT0 2=DF ...) 2=FD ...#SKI G233&1 2=GC ... 4HLDH0 2=HB ...#SKI G262&1 2=J* ... 4HHIG0 2=K# ...#SKI G262&1 2=L? ... 4HLOG0 2=M= ...#SKI G263&1 2=N9 ... 4HFSI0 2=P8 ...#SKI G281&1 2=Q7 ... 4HNEX0 2=R= 4HREP0 2?=W 4HTEX0 2?QG 4HINS0 2#=6 4HDAT0 2#PQ 4HTIM0 2*9B 4HUSE0 2*P2 4HJOB0 2B8L 4HENV0 2BN= 4HCOR0 2C7W 4HSIZ0 2C=F 4HCUR0 2CG= 4HDIR0 2CH6 #UNS ADUALDME 2CJ2 4HPRO0 2CJW 4HLEN0 2CMG TABLE BRN XMESS [JUMP TABLE 2D76 BRN XDISP 2DLQ BRN VALUE 2DMP ...#SKI G250&1 2DNN ...( 2DPM ... BRN VALUE 2DQL ... BRN VALUE 2DRK ...) 2DSJ ...#SKI G233&1 2DTH ... BRN XLDH 2DWG ...#SKI G262&1 2DXF ... BRN XHIG 2DYD ...#SKI G262&1 2D^C ... BRN XLOG 2F2B ...#SKI G263&1 2F3* ... BRN XFSI 2F4# ...#SKI G281&1 2F5? ... BRN XNEXT 2F6B BRN REPLY 2FL2 BRN TEXT 2G5L BRN XINST 2GK= BRN XDATE 2H4W BRN XTIME 2HJG BRN USER 2J46 BRN XJOB 2JHQ BRN XENVIR 2K3B BRN XCORE 2KH2 BRN XCORE 2KKK BRN XCUR 2KTB BRN XDIRENT 2KTM #UNS ADUALDME 2KTY BRN XPRO 2KW= [ 2KX6 [ SWITCH FOR SETPARAM LENGTH 2KY2 [ 2KYW SEGENTRY K90SETPARAM 2K^Q BRN XLEN 2L2L #DEF XLENGTH=TABLE-PARAM2 2T*2 X48 +48 2TSL X24 +23 2Y=Q # 2Y?B # SUBROUTINES TO PASS PARAMETERS OF VARIOUS DESCRIPTIONS 2Y#2 # THIS HAS BEEN DONE IN AN ATTEMPT TO SAVE SPACE 2Y#L PARANOT 2Y*= SBX 5 FX1 [RELATIVE LINK IN CASE OF COORDINATION 2Y*W PARANOTX 1 [PASS PARAMETER WHOSE NUMBER IS SPECIFIED 2YBG BRN SLINK [ BY THE CONTENTS OF X1 2YC6 # 2YCQ PARAPASS 2YDB SBX 4 FX1 [RELATIVE LINK IN CASE OF COORDINATION 2YF2 PARAPASS [PASS NEXT PARAMETER 2YFL BRN X4EXIT 2YG= # 2YGW PARANEXT 2YHG SBX 3 FX1 [RELATIVE LINK IN CASE OF COORDINATION 2YJ6 PARANXTX 1,,4 [PASS PARAMETER TERMINATED BY CONTENTS OF 2YJQ BRN X3EXIT [ X1 WHOSE NUMBER IS SPECIFIED BY X4 2YKB # 2YL2 SPARANXT 2YLL SBX 3 FX1 [RELATIVE LINK IN CASE OF COORDINATION 2YM= SPARANXT ,,4 [PASS PARAMETER RETAINING INTERNAL SPACES 2YMW X3EXIT 2YN8 TESTREP UNPAIR,XERR9,TOOMANY,XERR14 2YNG ADX 3 FX1 [ABSOLUTE LINK 2YP6 EXIT 3 0 2YPQ # 2YQB # THIS SUBROUTINE IS USED TO ANALYSE A PARAMETER 2^=2 # OF TYPE MESSAGE(N1,N2) OR DISPLAY(N1,N2) . IT STORES 2^PL # N1 AND N2 IN X7 AND X6 RESPECTIVELY; IF NEITHER PRESENT 329= # X7 IS SET TO 0,IFONLY N1 BOTH X7 AND X6 ARE SET TO N1 32NW # 338G MESSAGENOS 33N6 SBX 5 FX1 347Q CALL 4 PARAPASS 34MB HUNT 3,CPB,CUNI 3572 LDX 4 ANUM(3) 35FB LDEX 6 ATYPE(3) 35LL FREECORE 3 366= BNG 4 XALLM 36KW BZE 4 XALLM [NO N1,N2;ALL MESSAGE REQUIRED 36^K LDN 1 #34 [TERMINATOR = "," 37*# LDX 4 6 37P3 CALL 3 PARANEXT 384Q HUNT 3,CPB,CUNI 38JB LDX 4 ANUM(3) 3942 BZE 4 XERR 39HL BNG 4 XERR 3=3= CALL 4 XCH [CHNUMCOD 3=GW LDX 7 6 3?2G CALL 4 PARAPASS [GET N2 IN UNIBLOCK 3?G6 HUNT 3,CPB,CUNI 3?^Q LDX 4 ANUM(3) 3#FB BZE 4 XERR [ERROR IF SECOND NUMBER NULL 3#^2 BPZ 4 NON2 [BRN IF N2 PRESENT 3*DL LDX 6 7 [N2 ABSENT,PUT N1 IN 7 3*Y= FREECORE 3 3BCW SLINK ADX 5 FX1 3BXG EXIT 5 0 3CC6 NON2 CALL 4 XCH [CHNUMCOD 3CWQ BRN SLINK 3DBB XALLM LDN 7 0 [SET 7=0 IF ALL MESSAGE REQUIRED 3DW2 BRN SLINK 3F*L XCH SBX 4 FX1 3FT= CHNUMCOD 1,3,XBREAK 3G#W TESTREP CHNUMERR,XERR10 3GSG LDX 6 ACOMMUNE1(2) 3H#6 BNG 6 XERR 3HRQ BZE 6 XERR 3J3J X4EXIT 3J?B ADX 4 FX1 3JR2 EXIT 4 0 3K=L # ENTRY POINT FOR SETPARAM MACRO.SETS UP A CPB/CMULTI BLOCK TO 3KQ= # INTERFACE WITH REST OF SEGMENT 3L9W # 3LPG SENTRY2 3M96 NGN 4 1 3MNQ STO 4 AWORK4(2) [SET ENTRY POINT MARKER 3N8B LDCT 0 #40 3NN2 LDX 4 JOBEVENTS(2) 3P7L STO 0 JOBEVENTS(2) 3PM= STO 4 AWORK3(2) 3Q6W LDN 4 APARAFIR [SET UP CPB/CMULTI 3QLG SLL 4 12 [RED TAPE 3R66 ADN 4 1 3RKQ MHUNTW 3,CPB,CMULTI 3S5B STO 4 APTBEPAR(3) 3SK2 STO 4 ADNOPARAL(3) 3T4L LDN 4 1 3TJ= STO 4 APARANUM(3) 3W3W STO 4 ANALEV(3) 3WHG STO 4 CPBPROGLEV(3) 3X36 # REMOVE TRAILING SPACES 3XGQ LDX 4 APARAFIR(3) 3Y2B LDN 2 APARAFIR+1(3) 3YG2 SLL 2 2 3Y^L ADX 2 4 3^F= SRC 2 2 3^YW XLP SLC 2 2 42DG SBN 2 1 42Y6 SRC 2 2 43CQ LDCH 0 0(2) 43XB TXU 0 SPACE(1) 44C2 BCS XENDL 44WL SBN 4 1 45B= BNZ 4 XLP 45TW XENDL STO 4 APARAFIR(3) 46*G SLC 2 2 46T6 ADN 2 4 47#Q SRL 2 2 47SB NGN 5 1 48#2 STO 5 0(2) [STORE NEGATIVE WORD 48RL BZE 4 NTY 49?= PTYPE CPB,CMULTI,3,APARAFIR+1,APARAFIR(3) 49QW NTY 4==G MHUNTW 3,CPB,CMULTI 4=Q6 LDN 4 1 4?9Q LDX 5 APARAFIR(3) 4?PB SRL 5 12 4#92 SBN 5 2 4#NL BNZ 5 START 4*8= BRN START1 4*MW # 4B7G # ENTRY POINT FOR SETPARAM COMMAND 4BM6 # 4C6Q SENTRY1 4CLB STOZ AWORK4(2) [SET ENTRY POINT MARKER 4D62 LDX 4 CPLEV(2) 4DKL BZE 4 XERR6 [ERROR IF C.P. LEVEL 0 4F5= LDX 5 EXT+10(2) 4FJW ANDN 5 #7777 [TOP BREAKIN LEVEL 4G4G TXU 5 4 4GJ6 BCC XERR6 [ERROR IF ISSUED AT TOP BREAKIN LEVEL 4GWH LDN 1 2 4H8Y CALL 5 PARANOT [TAKE SECOND SETPARAM PARAMETER 4HHB HUNT 2,CPB,CUNI 4J32 LDX 4 ANUM(2) 4JGL BPZ 4 OK1 [BRN IF 2ND PARAMETER PRESENT 4JT3 LDN 1 1 4K7D CALL 5 PARANOT [GET 1ST SETPARAM PARAMETER 4KFW HUNT 2,CPB,CUNI 4K^G LDX 4 ANUM(2) 4LF6 BNG 4 XERR5 [1ST PARAMETER MISSING 4LYQ BRN XERR1 [2ND PARAMETER MISSING 4MDB OK1 BZE 4 XERR1 [ERROR IF NULL PARAMETER 4MY2 SRL 4 12 [GET PARAMETER TYPE 4NCL SBN 4 2 4NX= BNZ 4 TESTM [BRN IF NOT COMPOSITE PARAMETER 4PBW LDN 4 2 4PWG START1 4QB6 CALL 3 SPARANXT 4R*B HUNT 3,CPB,CUNI 4RT2 NAME 3,COMDAT,CSETP ['NEW' PARAMETER IN COMDAT,CSETP 4S#L BRN XCROSS 4SS= # 4T?W # SPLIT OFF FUNCTION FROM REMAINDER OF 2ND PARAMETER AND LOOK FOR 4TRG # IT IN PARAMETER TABLE 4W?6 # 4WQQ TESTM LDN 4 2 4X=B START 4XQ2 CALL 5 XHNT [PARANEXT AND HUNT CPB/CUNI 4Y9L TST2 SRL 4 12 4YBS ...#UNS G400 4YJ2 ...#SKI 4YP= BNZ 4 XNOTS [NOT SIMPLE 4YQ^ ...#UNS G400 4YSN ...( 4YWC ... BZE 4 TST2A 4YY6 ... SBN 4 2 4Y^T ... BNZ 4 PN2 4^3J ... ACROSS SETPE,2 4^5? ...TST2A 4^72 ...) 4^8W LDX 4 APARA(3) 4^=S ...#UNS G400 4^#Q ...( 4^BN ... TXU 4 XPROG(1) [IF PROG GO STRAIGHT 4^DL ... BCS XDSK1 [TO SETPC TO AVOID PROCESSORS 4^F= ... SRL 4 6 4^FW ... SLL 4 6 4^GJ ... ACROSS SETPC,1 [CODE 4^JG ...XDSK1 4^LD ...) 4^NG SRL 4 6 5286 SLL 4 6 52MQ FREECORE 3 537B LDN 5 XLENGTH 53M2 XLOOP SMO 5 546L TXU 4 PARAM2-1(1) 54L= BCC TST3 555W BCT 5 XLOOP 5577 ...#UNS G400 558D ...( 559P ... BXU 4 XJDR(1),XDSK9 55?2 ... SMO FX2 55#? ... LDX 0 AWORK4 55*J ... BNG 0 XERR2 55BT ...XDSK9 55D6 ... ACROSS SETPC,1 55FC ...) 55GN ...#UNS G400 55H^ ...#SKI 55KG BRN XERR2 5656 TST3 SMO 5 56JQ BRN TABLE-1 574B # MESSAGE FUNCTION 57J2 XMESS 583L #SKI K6SETPARAM>99-99 58H= TRACE 5,MESSAGE 592W CALL 5 MESSAGENOS 59GG HUNT 3,APED,ANEVENT [FIND AN APED ANEVENT OR ADELETE BLK. 5=26 BPZ 3 XASK 5=FQ HUNT 3,APED,ADELETE 5=^B BNG 3 XERR3 5?F2 ADN 3 8 [ALLOW FOR ACCUMULATORS 5?YL LDN 1 1 [LABEL AS ADELETE 5#D= BRN XGETM 5#XW XASK LDN 1 0 [LABEL AS ANEVENT 5*CG BRN XGETM 5*X6 # 5BBQ # SECTION TO PROCESS VALUE PARAMETER 5BWB # 5CB2 VALUE 5CDK ...#SKI G250&1 5CH8 ...( 5CKR ... LDX 7 5 5CNB ... SBN 7 PARAMHEX-PARAM2+1 [ -1 - VALUE, 0 - HEX, 1 - OCT 5CQ^ ...) 5CTL ACROSS SETPRAMB,1 64*W # REPLY FUNCTION 64TG REPLY 65*6 #SKI K6SETPARAM>99-99 65SQ TRACE 5,REPLY 66#B CALL 5 MESSAGENOS 66S2 HUNTW 3,ADATA,BREPLY 67?L BNG 3 XERR7 [NO REPLY BLOCK 67R= LDN 1 3 68=W LDX 4 A1(3) 68QG SBN 4 2 69=6 SLL 4 2 [NUMBER OF CHARACTERS 69PQ SBN 3 1 6=9B BRN XGETR 6=P2 # 6?8L # TEXT FUNCTION 6?N= TEXT 6#7W ACROSS SETPRAMB,2 7GQ= # 7H9W # INSTPARA FUNCTION 7HPG # 7J96 XINST 7JNQ ACROSS SETPRAMB,3 7K8B [ 7KN2 [ SECTION TO PROCESS LENGTH FUNCTION 7L7L [ 7LM= SEGENTRY K92SETPARAM 7M6W XLEN 7MLG ACROSS SETPRAMB,4 7N66 [ 8XMQ XBREAK 8Y7B COMBRKIN 8YH5 ...#UNS G400 8YWS ...#SKI 8^=H ...( 8^L= # 925W # PARAMETER FUNCTION (OF THE TYPE (%>)(2,4)) 92KG # 9356 XNOTS SBN 4 2 93JQ BNZ 4 PN2 [PARAMETER FORMAT ERROR 944B #SKI K6SETPARAM>99-99 94J2 TRACE 5,PARAM 953L CALL 5 MESSAGENOS 95H= LDN 4 1 962W LDX 5 AWORK4(2) 96GG BZE 5 XNSE [J IF NOT SETPARAM EXPRESSION 9726 LDN 4 2 97FQ XNSE 97^B LDN 5 1 98F2 SPARANXT ,4,5 98NS TESTREP UNPAIR,XERR9,TOOMANY,XERR14 98YL HUNT 3,CPB,CUNI 99D= LDX 4 ANUM(3) 99XW BNG 4 PN2 9=CG ANDN 4 #7777 9=X6 SBN 3 1 9?BQ LDN 1 4 9?WB BRN XGETR 9?Y# ...) 9#2? PN2 9#68 FREECORE 3 9#=5 BRN XERR2 9#B2 # 9#TL # DATE FUNCTION 9**= # 9*SW XDATE 9B#G ACROSS SETPRAMA,5 9G9G # 9GP6 # TIME FUNCTION 9H8Q # 9HNB XTIME 9J82 ACROSS SETPRAMA,7 9K7= # 9KLW # USER FUNCTION 9L6G # 9LL6 USER ACROSS SETPRAMA,2 9XX2 # 9YBL # JOB FUNCTION 9YW= # 9^*W XJOB ACROSS SETPRAMA,3 =3S2 # =4?L # ENVIRONMENT FUNCTION =4R= # =5=W XENVIR =5QG CALL 5 MESSAGENOS =6=6 BZE 7 XERR2 =6PQ TXL 6 X48(1) =79B BCC XERR =7P2 TXL 6 7 =88L BCS XERR =8N= LDX 5 6 =97W SBX 5 7 =9MG TXL 5 X24(1) [MUST BE LESS THAN 24 BITS ==76 BCC XERR ==BY SEGENTRY K80SETPARAM ==LQ LDN 3 GEORGE [SET UP THE TWO WORDS ==SW NGN 0 #10 =?32 ANDX 0 CPEXECINFO =?96 ORX 3 0 =?C? LDEX 4 GVERSION [GEORGE ISSUE NUMBER =?N8 SLL 4 6 =?^5 ORX 4 CPEXECINFO+1 =#=2 LDX 0 GVERSION =#GX SRL 0 12 =#RS DCH 0 4 =*4W SMO 7 =*JG SLL 34 0 =B46 ADN 7 47 =BHQ SBX 7 6 =C3B SMO 7 =CH2 SRL 34 0 [GET BITS IN X4 =CN8 ...#SKI G262^G263&1 =CTB ...XDEC2 [ AS IN EARLIER MARKS =D2L SETNCORE 4,3,COMDAT,CSETP =D?9 ACROSS SETPRAMB,5 [GO TO CONVERT TO DECIMAL =D?B ...#SKI G281&1 =D?H ...( =D?N ...# =D?T ...# 'NEXT' FUNCTION - READ FROM JOB SOURCE =D#2 ...# =D#7 ...XNEXT =D## ... ACROSS SETPRAMA,8 =D#F ...) =D#M # =DB5 # PROCESSORS FUNCTION =DCH # =DD^ XPRO =DGC ACROSS SETPRAMB,7 =DHT # =DJB # =DJX # DIRENT FUNCTION =DKD # =DK^ XDIRENT =DLG #SKI K6SETPARAM>99-99 =DM3 TRACE 5,DIRENT =DMJ LDN 4 2 =DN5 CALL 5 XHNTS =DNL DOWN DIRENT,1 =DP7 BRN XERR =DPN BRN XDIEND =DQ9 BRN XBREAK =DQQ MFREE CPB,CMULTI =DR? CALL 4 PARAPASS =DRS MFREE CPB,CUNI =DS4 ...XLDHE =DS* CALL 5 MESSAGENOS =DSW MHUNTW 3,GMON,AOUT =DTC LDX 4 A1(3) =DTY SBN 3 1 =DWF LDN 1 5 =DX2 BRN XGETR =DXH XDIEND =DXN LDX 0 AWORK4(2) =DXT BNZ 0 XOR [J IF MACRO ENTRY =DY4 ENDCOM =DY5 ...#SKI G233&1 =DY6 ...( =DY7 ...# =DY8 ...# LISTDIR HIGH-LEVEL ENTRY FUNCTION (LDHIGH) =DY9 ...# =DY= ...XLDH LDN 4 2 =DY? ... CALL 5 XHNTS =DY# ... DOWN LISTDIRF,2 =DY* ... BRN XERR =DYB ... BRN XBREAK =DYC ... CALL 4 PARAPASS =DYD ... UNIFREE =DYF ... BRN XLDHE =DYG ...# RETURN TO SAME MESSAGENOS PROCESSING AS DIRENT =DYH ...) =DYJ ...#SKI G262&1 =DYK ...( =DYL ...# =DYM ...# LOGEN & HIGEN FUNCTIONS (WHATGENS) =DYN ...XLOG NGNC 0 1 =DYP ...XHIG LDN 7 ACOMMUNE1 =DYQ ... LDN 4 2 =DYR ... CALL 5 XHNTS =DYS ... DOWN WHATGENS,2 =DYT ... BRN XERR =DYW ... BRN XBREAK =DYX ... ADX 2 7 =DYY ... LDX 4 0(2) [ HIG = ACOM5 OR LOG = ACOM6 =DY^ ...) =D^2 ...#SKI G262^G263&1 =D^3 ...( =D^4 ...XFSSZ MFREE CPB,CMULTI =D^5 ... BRN XDEC2 =D^6 ...) =D^7 ...#SKI G263&1 =D^8 ...( =D^9 ...# =D^= ...# FILE SIZE FUNCTION (FSIZE) =D^? ...# =D^# ...XFSI LDN 4 2 =D^* ... CALL 5 XHNTS =D^B ... DOWN HOWBIG,2 =D^C ... BRN XERR =D^D ... BRN XBREAK =D^F ... LDX 4 ACOMMUNE1(2) =D^G ... BRN XFSSZ =D^H ...) =D^W # =FFG # DISPLAY FUNCTION =F^6 # =GDQ XDISP =GYB #SKIP K6SETPARAM>99-99 =HD2 TRACE 5,SETDISP =HXL OK2 CALL 5 MESSAGENOS =JC= HUNT 3,APED,ADISPLAY =JWW BNG 3 XERR4 [ERROR IF NO DISPLAY BLOCK =KBG SBN 3 2 =KW6 LDN 1 2 [LABEL AS ADISPLAY =L*Q XGETM LDX 4 A1+2(3) [NO OF CHARS IN MESSAGE =LTB XGETR =M*2 BZE 7 ZALLM [BRN IF ALL MESSAGE REQUIRED =MSL TXL 4 7 =N#= BCC XNALL =NRW LDN 4 0 =P?G BRN ZALLM =PR6 XNALL =Q=Q TXL 6 7 =QQB BCS XERR =R=2 TXL 4 7 =RPL BCC XGETA =S9= LDN 6 0 =SNW BRN XLOAD1 =T8G XGETA =TN6 TXL 4 6 =W7Q BCC XGET =WMB LDX 6 4 [N2>NO OF CHARS.NOT AN ERROR NOW =X72 XGET =XLL SBS 7 6 [6=N1-N2 =Y6= ADN 6 1 [COUNT OF CHARS IN 'NEW' PARAMETER =YKW SBN 7 1 =^5G SRC 7 2 [ADDRESS OF 1ST CHAR IN 7 =^K6 BRN XKILL ?24Q ZALLM LDX 6 4 [CHARACTER COUNT IN 6 ?2JB BZE 6 XLOAD1 [BRN IF NULL PARAMETER ?342 # ?3HL # ELIMINATE LEADING AND TRAILING SPACES FROM 'NEW' PARAMETER ?43= # ?4GW XKILL ?52G STO 3 AWORK2(2) ?5G6 ADX 3 7 ?5^Q ADN 3 A1+3 [X3 IS NOW ABSOLUTE POINTER TO 1ST CH ?6FB LDN 0 0 ?6^2 STO 1 AWORK1(2) ?7DL LDX 1 FX1 ?7Y= TSP ?8CW LDCH 4 0(3) [GET A CHARACTER FROM PARAMETER ?8XG TXU 4 SPACE(1) ?9C6 BCS ONGO [BRN IF NO MORE LEADING SPACES ?9WQ BCHX 3 £ ?=BB BCT 6 TSP [BRN IF CHARACTER COUNT NOT EXHAUSTED ?=W2 BRN XLOAD2 [NULL PARAMETER ??*L ONGO LDX 5 6 [ADJUSTED CHARACTER COUNT ??T= SBN 5 1 ?##W STO 3 7 ?#SG SBX 7 AWORK2(2) ?*#6 BZE 5 XLOAD2 [J IF SINGLE CHARACTER ?*RQ TNC BCHX 3 £ [POINTER TO NEXT CHARACTER ?B?B LDCH 4 0(3) [GET NEXT CHARACTER ?BR2 TXU 4 SPACE(1) ?C=L BCS NTAA [NO TROUBLE AT ALL IF NOT SPACE ?CQ= ADN 0 1 [SPACE COUNT ?D9W BCT 5 TNC [BRN IF CHARACTER COUNT NOT EXHAUSTED ?DPG SBX 6 0 [REDUCE CHARACTER COUNT BY 1 PER SPAC ?F96 BRN XLOAD2 ?FNQ NTAA LDN 0 0 [ZEROISE SPACE COUNT FOR NON SPACE CH ?G8B BCT 5 TNC [BRN IF CHARACTER COUNT NOT EXHAUSTED ?GN2 XLOAD2 ?H7L LDX 3 AWORK2(2) ?HM= XLOAD1 ?HR7 LDN 4 512 ?HX4 TXL 6 4 ?J2^ BCC XERR13 ?J6W LDX 5 6 [CHARACTER COUNT IN X5 ?JLG ADN 5 11 [8 FOR RED TAPE,3 TO ROUND DIVISION ?K66 SRL 5 2 [NO OF WORDS NEEDED ?KKQ PHOTO 4 ?L5B GETCORE 5,1 ?LK2 FINDCORE 2 ?M4L NAME 2,COMDAT,CSETP [CREATE COMDAT,CSETP ?MJ= BNZ 6 ON [BRN IF NOT NULL PARAMETER ?N3W STOZ ANUM(2) [SET NULL PARAMETER ?NHG BRN XCROSS ?P36 ON TESTMOVE 4,MLOAD [BRN TO MLOAD IF NO BLOCKS MOVED ?PGQ SMO FX2 ?Q2B LDX 4 AWORK1 ?QG2 SMO 4 ?Q^L BRN ORDER [BLOCKS MOVED, NEED TO HUNT ?RF= ORDER BRN XANEV [APED,ANEVENT ?RYW BRN XADEL [APED,ADELETE ?SDG BRN XADIS [APED,ADISPLAY ?SY6 BRN XAREPLY [APED,BREPLY ?TCQ BRN XAPAR [CPB,CUNI ?TJX BRN XAOUT ?TLL XAOUT ?TN* MHUNTW 3,GMON,AOUT ?TQ4 SBN 3 1 ?TRR BRN MLOAD ?TXB XAREPLY ?WC2 MHUNTW 3,ADATA,BREPLY ?WWL SBN 3 1 ?XB= BRN MLOAD ?XTW XAPAR MHUNT 3,CPB,CUNI ?Y*G SBN 3 1 ?YT6 BRN MLOAD ?^#Q XANEV MHUNTW 3,APED,ANEVENT ?^SB BRN MLOAD #2#2 XADEL MHUNTW 3,APED,ADELETE #2RL ADN 3 8 [ADJUST FOR ACCUMULATOR DUMP #3?= BRN MLOAD #3QW XADIS MHUNTW 3,APED,ADISPLAY #4=G SBN 3 2 #4Q6 MLOAD #59Q LDX 4 3 [IELATIVISED DATUM #5PB ADX 4 7 [ADDRESS OF 1ST CHAR REQUIRED #692 LDN 5 A1+2(2) [START ADDRESS IN COMDAT,CSETP #6NL SMO 6 [CHARACTER COUNT #78= MVCH 4 0 ['NEW' PARAMETER IN COMDAT,CSETP #7MW STO 6 A1+1(2) [CHARACTER COUNT IN #87G # #8M6 # ROUTINE TO DETERMINE PARAMETER TYPE #96Q # #9LB LDX 3 2 #=62 PTYPE #=KL PTYPE COMDAT,CSETP,3,APARA,ANUM(3) #?5= XCROSS #?JW SMO FX2 ##4G LDX 4 AWORK4 ##J6 BZE 4 XC1 ##KT ...#SKI G250&1 ##MJ ...SENTRY3 [ RETURN FROM SETPB (OCT & HEX) ##P? ...#SKI G250&1 ##R2 ...#SKI ##SP ...( ##TJ ... BRN XC2 ##WD ...SENTRY3 ##Y7 ... BRN (GEOERR) ##^2 ...XC2 ##^W ...) #*3Q CALL 7 UNIF #*HB UPPLUS 1 #B32 XC1 #BGL ACROSS SETPB,1 #C2= # #CFW UNIF SBX 7 FX1 #C^G PARAFREE #DF6 UNIFREE #DYQ LDX 2 FX2 #FDB LDX 0 AWORK3(2) #FY2 STO 0 JOBEVENTS(2) #GCL ADX 7 FX1 #GX= EXIT 7 0 #H37 XHNTS SBX 5 FX1 #H74 CALL 3 SPARANXT #H=^ BRN XHNT1 #HBW XHNT SBX 5 FX1 #HLN NGN 1 1 #HWG CALL 3 PARANEXT #J6# XHNT1 #JTQ ADX 5 FX1 #K*B HUNT 3,CPB,CUNI #KT2 LDX 4 ANUM(3) #L#L BNG 4 PN2 #LS= BZE 4 PN2 #M?W EXIT 5 0 #MRG PJSETP1 +JSETP1 #N?6 PJPARMIS +JPARMIS #NQQ PJSETP3 +JSETP3 #P=B PAPFERR +APFERR #PQ2 PJSETP6 +JSETP6 #Q9L PJSETP5 +JSETP5 #QP= PJSETP8 +JSETP8 #R8W PJSETP2 +JSETP2 #RNG PJSETP7 +JSETP7 #SMQ PERUNPAIR +ERUNPAIR #T7B PCHNUMERR +CHNUMERR #TC8 PJSPBIG +JSPBIG #TH5 PJMAXPAR +JMAXPAR #TM2 # #W6L # #WL= XERR SMO FX1 #X5W LDX 7 PJSETP1 [EXPREESSION INVALID #XKG BRN NGN #Y56 XERR1 LDX 7 PJPARMIS(1) [2ND PARAMETER MISSING #YJQ LDX 6 PJSETP3(1) #^4B BRN XOR #^#8 SEGENTRY K91SETPARAM #^J2 XERR2 LDX 7 PAPFERR(1) [PARAMETER FORMAT ERROR *23L BRN NGN *2H= XERR3 LDX 7 PJSETP6(1) [NO MESSAGE *32W BRN NGN *3GG XERR4 LDX 7 PJSETP5(1) [NO DISPLAY *426 BRN NGN *4FQ XERR5 LDX 7 PJPARMIS(1) [1ST PARAMETER MISSING *4^B LDX 6 PJSETP8(1) *5F2 BRN XOR *5YL XERR6 LDX 7 PJSETP2(1) [NOT ALLOWED AT C.P.LEVEL 0 *6D= BRN NGN *7X6 XERR9 LDX 7 PERUNPAIR(1) *8BQ BRN NGN *8WB XERR12 *9B2 NAME 3,CPB,CUNI *9TL XERR10 *=*= LDX 7 PCHNUMERR(1) *=SW BRN NGN *=YR XERR13 *?4N LDX 7 PJSPBIG(1) *?8K BRN NGN *?9J XERR14 *?=H LDX 7 PJMAXPAR(1) *??G BRN NGN *?#G XERR7 LDX 7 PJSETP7(1) [NO REPLY *?S6 NGN NGN 6 1 *#?Q XOR *#RB SMO FX2 **?2 LDX 4 AWORK4 **QL BZE 4 XOR1 *B== CALL 7 UNIF *BPW UP *C9G XOR1 *CP6 COMERRX 7,6 *D8Q XCORE ACROSS SETPRAMA,1 *DNB # *DRG # *DWL # CURRENT DIRECTORY FUNCTION *D^Q # *F4W XCUR ACROSS SETPRAMA,4 *F55 ...#UNS G400 *F5# ...#SKI *F5H ...( *F5Q ...SENTRY4 *F5^ ... BRN (GEOERR) *F68 ...) *F6C ...#UNS G400 *F6L ...( *F6T ...SENTRY4 *F74 ... MHUNT 3,COMDAT,CSETP *F7? ... BRN PTYPE *F7G ...) *F82 MENDAREA 30,GAPSETPARAM *FML #END ^^^^ ...67054607000600000000