16 223? ... SEG PREPREAD,867,FILE,,G3UGSI,G501,G551,G400 4 224J ...[ 15 225T ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 13 2276 ...[ THIS EXCLUDES CODE UNDER #SKI G501 13 228C ...[ AND UNDER #SKI G551 14 229N ...[ AND UNDER #SKI G3UGSI 4 22=_ ...[ 7 22#= ...#OPT G3UGSI = 0 6 22*H ...#SKI G3UGSI 4 22BS ...( 16 22D5 ...# MACRO TO PREVENT M551 AND SECURITY INTERFACE CLASH 7 22FB ... SINM551 4 22GM ...) 6 22HY ...#UNS G400 16 22K9 ...# THIS CHAPTER IS MODIFIED FOR G3PLUS-IH MK2 7 22LG ...#OPT G421 = 0 7 22MR ...#OPT G501 = 0 6 22P4 ...#SKI G501&1 14 22Q* ...# WITH UGUG EDIT M501 (3-SHIFT INPUT ON MOP) 7 22RL ...#OPT G551 = 0 6 22SX ...#SKI G551&1 21 22W8 ...# WITH G3UG EDIT M551 (SELECTIVE PASSWORD CHECKS FOR CENTRAL AND REMOTE) 7 22XF ...#OPT G600 = 0 4 22_= [ 4 23DW [ 12 23YG SEGENTRY K1PREPREAD,Z1PREPREAD 4 24D6 # 4 24XQ # 21 25CB # THIS SEGMENT ANALYSES THE PARAMETERS FOR INPUT, SETS UP THE CONTROL 18 25X2 # AREA, AND OPENS THE FILE. IT THEN GOES ACROSS TO INLOOP. 17 26BL # AWORK1=B0-5 =#44 SWITCH IF GRAPHIC,TABS 21 26W= # B6-11 =#66 SWITCH FOR ERROR RESTART (ALPHA-PREVIO 17 27*W # B12,13=PARASUB AND MDF,JDF SOURCE 16 27TG # B18-23=S,T TERMINATOR TYPE 12 28*6 # AWORK2= TERMINATOR 16 28SQ # AWORK3= NO OF PARAMETERS TO TEST - 1 12 29#B # AWORK4= INPUT MODE 4 29S2 # 12 2=?L [NOTE ON TRAPS, OWNERSHIP, SECURITY: 16 2=R= [ FILE TO BE CREATED GOES INTO THE CURRENT USER 17 2?=W [ TRAPS AND SECURITY ARE THOSE OF THE PROPER USER 19 2?QG [ (THIS IS RELATED TO 'TG' ON PSEUDO -> ERROR AND 'SE' UNDER 15 2#=6 [ PSEUDO -> PROPER USER'S SECURITY ALTERED) 4 2#PQ [ 4 2*9B # 9 2*P2 SGRAPHIC #40000012 9 2B8L PARSUB 8HARASUB 8 2BN= PS 4HS 8 2C7W THTEEN +13 8 2CMG XDICT +10 9 2D76 8HMASTER 8 2DLQ SPACE 4H 10 2F6B 12HDICTIONARY 8 2FL2 +1 8 2G5L +1 8 2GK= 4HB1 9 2H4W TABS 4HTABS 8 2HJG SHICHAR #74 9 2J46 STAR 4H**** 6 2J59 #SKI JSKI38 4 2J6# ( 7 2J7C PCO 4HCO 8 2J8G PCODE 4HCODE 8 2J9K PBINA 4HBINA 7 2J=N PRY 4HRY 8 2J?R PEBCD 4HEBCD 7 2J#W PIC 4HIC 8 2J*_ PKDF9 4HKDF9 9 2JC4 SALLCHAR #40000024 8 2JD7 XJCODNO +JCODNO 8 2JF= XJCOMIS +JCOMIS 4 2JG* ) 4 2JHQ # 17 2K3B # TABLE OF MONITORING FILE MESSAGES FOR ERROR REPORTING 4 2KH2 # 19 2L2L XADEFT +ADEFT [ NOT A VALID TERMINATOR 17 2LG= XADEFM +ADEFM [ NOT A VALID MODE 15 2L_W XJFNAME +JFNAME ['FILE NAME' 18 2MFG XERNOUSER +ERNOUSER ['USER NAME NOT FOUND' 15 2M_6 XJUSNA +JUSNA ['USER NAME' 17 2NDQ XJPARMIS +JPARMIS ['PARAMETER MISSING' 21 2NYB XHSECURE +HSECURE ['INPUT NOT ALLOWED IN THIS CONTEXT' 18 2PD2 XIMPASSE +IMPASSE [ 'INCORRECT PASSWORD' 20 2PXL XERPSUB +ERPSUB [ 'PS NOT ALL. IN NON-EMB. INPUT 21 2QC= XILLQUAL +ILLQUAL ['AN ILLEGAL QUALIFIER HAS BEEN GIVEN 8 2QM4 XJMAXPAR +JMAXPAR 4 2QWW # 6 2QW_ #SKI JSKI38 4 2QX4 ( 13 2QX7 # THIS TABLE IS FOR THE GLASGOW SPECIALS 18 2QX= # IT CONVERTS AN OCTAL CHARACTER INTO THE BINARY EQUIVALENT 8 2QX* # ON TAPE OR CARD. 2 2QXD 8 2QXH TABLE #00601000 8 2QXL #02610400 8 2QXP #02620200 8 2QXS #00630100 8 2QXX #02640040 8 2QY2 #00650020 8 2QY5 #00660010 8 2QY8 #02670004 8 2QY? #02700002 8 2QYB #00710001 8 2QYF #00720202 8 2QYJ #02732012 8 2QYM #00744042 8 2QYQ #02750012 8 2QYT #02761012 8 2QYY #00771006 8 2Q_3 #02400000 8 2Q_6 #00414006 8 2Q_9 #00420006 8 2Q_# #02430102 8 2Q_C #00442102 8 2Q_G #02451042 8 2Q_K #02464000 8 2Q_N #00470022 8 2Q_R #00504022 8 2Q_W #02512022 8 2Q__ #02522042 8 2R24 #00534012 8 2R27 #02541202 8 2R2= #00552000 8 2R2* #00564102 8 2R2D #02571400 8 2R2H #03000042 8 2R2L #01014400 8 2R2P #01024200 8 2R2S #03034100 8 2R2X #01044040 8 2R32 #03054020 8 2R35 #03064010 8 2R38 #01074004 8 2R3? #01104002 8 2R3B #03114001 8 2R3F #03122400 8 2R3J #01132200 8 2R3M #03142100 8 2R3Q #01152040 8 2R3T #01162020 8 2R3Y #03172010 8 2R43 #01202004 8 2R46 #03212002 8 2R49 #03222001 8 2R4# #01231200 8 2R4C #03241100 8 2R4G #01251040 8 2R4K #01261020 8 2R4N #03271010 8 2R4R #03301004 8 2R4W #01311002 8 2R4_ #01321001 8 2R54 #03334202 7 2R57 #1202 7 2R5= #2202 7 2R5* #2006 7 2R5D #1022 2 2R5H 16 2R5L # THIS SUBROUTINE CHECKS AND CONVERTS THE B AND # 12 2R5P # TERMINATORS FOR GLASGOW SPECIALS 15 2R5S # X3 -> CPB/CUNI , APARA(3) -> CHAR AFTER B OR # 4 2R5X # 4 2R62 SR6 16 2R65 LDX 6 3 [ STORE AWAY PTR TO CPB.CUNI 10 2R68 HUNT2 2,CPB,CALAS 10 2R6? LDX 0 CPBCPLEV(2) 8 2R6B BNG 0 SR6 9 2R6F LDX 0 CPBFSD(2) 9 2R6J BNG 0 XNOTMAC1 10 2R6M LDX 0 CPBPROGLEV(2) 9 2R6Q BNG 0 XCARDCONV 5 2R6T XNOTMAC1 8 2R6Y LDX 2 FX2 10 2R73 LDCH 0 JSOURCE1(2) 9 2R76 BNZ 0 XCARDCONV 7 2R79 LDN 5 2 5 2R7# TTCH1 9 2R7C LDCH 0 APARA(3) 18 2R7G BXGE 0 SHICHAR(1),RADEF [SHIFT CHARS NOT ALLOWED 7 2R7K BCHX 3 / 8 2R7N BCT 5 TTCH1 4 2R7R TOG1 13 2R7W LDN 2 12 [ FOR TABLE SHIFT 8 2R7_ LDN 1 TABLE 4 2R84 TOG 7 2R87 LDX 3 6 7 2R8= LDN 5 2 8 2R8* ADX 1 FX1 7 2R8D LDN 4 0 5 2R8H TTCH2 8 2R8L SLC 4 12 9 2R8P LDCH 0 APARA(3) 7 2R8S SMO 0 13 2R8X LDX 0 0(1) [ LOAD TABLE ENTRY 17 2R92 SRL 0 0(2) [ UPPER OR LOWER HALF OF TABLE WORD 8 2R95 ANDN 0 #7777 15 2R98 ORX 4 0 [ WITH REST OF TERMINATOR 7 2R9? BCHX 3 / 8 2R9B BCT 5 TTCH2 9 2R9F BRN TERMSAVE 6 2R9J XCARDCONV 8 2R9M SMO FX2 9 2R9Q LDCH 0 JSOURCE1 8 2R9T BZE 0 TOG1 13 2R9Y LDN 2 0 [ FOR TABLE SHIFT 8 2R=3 LDN 1 TABLE 8 2R=6 BRN TOG 4 2R=9 SR7 7 2R=# LDN 4 0 7 2R=C LDX 6 3 8 2R=G LDN 2 21 5 2R=K TTCH3 9 2R=N LDCH 0 APARA(3) 8 2R=R SLL 0 0(2) 7 2R=W ORS 0 4 7 2R=_ SBN 2 3 7 2R?4 BCHX 3 / 8 2R?7 BPZ 2 TTCH3 5 2R?= TERMSAVE 8 2R?* LDX 2 FX2 9 2R?D STO 4 AWORK2(2) 8 2R?H LDN 0 #63 9 2R?L ORS 0 AWORK1(2) 7 2R?P LDX 3 6 13 2R?S CALL 4 XFREE [ FREE CPB CUNI 7 2R?X EXIT 7 0 4 2R#2 ) 4 2RBG # 20 2RW6 # THIS SUBROUTINE INSERTS DEFAULT TERMINATORS IN INFORMATION BLOCK 4 2S*Q # 4 2STB SR4 15 2T*2 LDN 0 #63 [STORE 'S' 17 2TSL ORS 0 AWORK1(2) [STORED TERMINATOR 14 2W#= LDX 0 STAR(1) [STORE 17 2WRW STO 0 AWORK2(2) ['****' TERMINATOR 7 2X?G EXIT 7 0 4 2XR6 # 4 2Y=Q # 4 2YQB # 20 2_=2 # THIS SUBROUTINE LOOKS FOR A SPECRFIED PARAMETER IN THE COMMAND 14 2_PL # X4 ON ENTRY=NO. OF CHARS. TO SEARCH FOR 12 329= # X5 ON ENTRY=CHARACTERS THEMSELUES 4 32NW # 5 338G NXTPARAM 9 33N6 LDX 3 AWORK3(2) 8 347Q BNG 3 PFIN 16 34MB SBX 7 FX1 [ RELATIVISE X7 19 3572 SPARABEG 1,4,,,0 [ LOOK FOR REQD. PARAMETER 15 35LL ADX 7 FX1 [ RESET X7 10 366= HUNT 3,CPB,CUNI 9 36KW #SKI K6PREPREAD>599-599 11 375G TRACEVER A1+2(3),NXTPARAM 9 37K6 LDX 6 ANUM(3) 17 384Q BNG 6 PFINN [ J IF NON-EXISTENT 7 38JB LDN 0 1 18 3942 SBS 0 AWORK3(2) [ SUBTRACT 1 FROM CO_NT 17 39HL EXIT 7 2 [PARAM WANTED EXISTS 20 3=3= PFIN EXIT 7 0 [ NO PARAMS LEFT TO SEARCH FOR 20 3=GW PFINN FREECORE 3 [FREE CPB,CUNI SINCE PARAM DOES 15 3?2G EXIT 7 1 [ NOT EXIST 5 3?G6 XFREE 16 3?_Q FREECORE 3 [ FREE CPB,CUNI 7 3#FB EXIT 4 0 21 3#_2 # THIS SUBROUTINE SETS UP FILE,CREATE BLOCK,SETS BITS AS APPROPRIATE 4 3*DL # 5 3*Y= SCREATE 18 3BCW SBX 7 FX1 [ RELATIVISE LINK ACC. 16 3BXG CREATEB 3 [ X3=>FILE,CREATE 16 3CC6 ADX 7 FX1 [ RESET LINK ACC. 16 3CWQ BS 3,CESERIAL [ SET SERIAL BIT 17 3DBB ISITJOB SOVER [ ISSUED FROM JOB? 16 3DW2 BS 3,CETEMP [ TEMPORARY FILE 7 3F*L SOVER EXIT 7 0 21 3FT= # THIS SUBROUTINE INSERTS A SPECIFIED TERMINATOR IN INFORMATION BLOCK 4 3G#W # 18 3GSG SR5 [X3 PTS. TO PARAM. BLOCK 18 3H#6 ORS 5 AWORK1(2) [ STORE IT FOR TIDYREAD 15 3H## BNZ 6 XREHUNT [ J - NOT NULL PARAM 8 3H#G LDX 2 FX2 8 3H#N SMO FX1 8 3H#W LDX 0 SPACE 15 3H*4 BRN SPACES [ DEFAULT TO 4 SPACES 5 3H*# XREHUNT 10 3HBG HUNT2 2,CPB,CALAS 10 3HCN LDX 0 CPBCPLEV(2) 18 3HDW BNG 0 XREHUNT [J IF SOURCE IS A COMMAND 9 3HG4 LDX 0 CPBFSD(2) 9 3HH= BNG 0 XNOTMACRO 10 3HJD LDX 0 CPBPROGLEV(2) 15 3HKL BNG 0 XNOCHECK [J IF GRAPHIC 6 3HLS XNOTMACRO 8 3HN2 LDX 2 FX2 10 3HP8 LDCH 0 JSOURCE1(2) 16 3HQB BNZ 0 XNOCHECK [J IF CARD READER 19 3HRQ LDN 5 4 [ COUNT OF 4 FOR TERMINATOR 18 3J?B TTCH LDCH 0 APARA(3) [ GET CHAR OF TERMINATOR 16 3JR2 BXGE 0 SHICHAR(1),RADEF [ GO IF ILLEGAL 7 3K=L BCHX 3 / 17 3KQ= BCT 5 TTCH [ GO TEST NEXT CHAR 16 3L9W LDX 0 APARA-1(3) [ GET TERMINATOR 9 3L*2 BRN SPACES 5 3LD6 XNOCHECK 16 3LH= LDX 0 APARA(3) [GET TERMINATOR 8 3LLB LDX 2 FX2 5 3LPG SPACES 15 3M96 STO 0 AWORK2(2) [ STORE IT 7 3MNQ SBN 3 1 7 3N8B EXIT 7 0 4 3NN2 # 4 3P7L # 21 3PM= # THIS SUBROUTINE DETERMINES WHETHER INPUT IS FROM MOP CONSOLE, JDF/MDF, 6 3Q6W # OR TR/CR 4 3QLG # 5 3R66 SOURCE 4 3RKQ # 10 3S5B HUNT2 2,CPB,CALAS 10 3SK2 LDX 0 CPBCPLEV(2) 18 3T4L BNG 0 SOURCE [J IF SOURCE IS A COMMAND 9 3TJ= LDX 0 CPBFSD(2) 8 3W3W LDX 2 FX2 16 3WHG BPZ 0 YMDF [SOURCE IS A MDF 13 3X36 LDX 0 CONTEXT(2) [JUMP 7 3XGQ SRC 0 4 15 3Y2B BNG 0 YMOP [MOP CONTEXT 7 3YG2 SRC 0 4 16 3Y_L BNG 0 YREM [REMOTE CONTEXT 7 3_F= SLC 0 2 16 3_YW BNG 0 YCTR [SLOW PERIPHERAL 17 42DG CALL 7 SINFIN [UNSGT BIT FOR FINISH 6 42Y6 ENDCOM 18 43CQ YCTR EXIT 7 3 [SLOW PERIPHERAL INPUT 15 43XB YMOP EXIT 7 0 [MOP INPUT 16 44C2 YMDF EXIT 7 1 [INPUT FROM MDF 15 44WL YREM EXIT 7 2 [REMOTE INPUT 4 45B= # 17 45TW # THIS SUBROUTINE SETS OR UNSETS BIT FOR FINISH COMMAND 4 46*G # 5 46T6 SINFIN 6 47#Q INFINB 7 47SB EXIT 7 0 4 48#2 # 4 48RL # 6 49?= Z1PREPREAD 4 49QW # 9 4==G #SKI K6PREPREAD>199-199 9 4=Q6 TRACE 1,INPREP 19 4?9Q CALL 7 SINFIN [SET BIT FOR FINISH COMMAND 9 4?PB STOZ AWORK1(2) 16 4#92 STOZ AWORK2(2) [NO TERMINATOR 18 4#NL PARANUMB 3 [NO OF PARAMS IN INPUT. 16 4*8= SBN 3 2 [ DECREASE BY 2 9 4*MW STO 3 AWORK3(2) 4 4B7G MJCK 18 4BM6 CALL 7 SOURCE [ IS COMMAND FROM AN MDF? 13 4C6Q BRN NOSET [ NO 17 4CLB BRN SET13 [ YES-SET B13 AWORK1 8 4D62 BRN NOSET 8 4DKL BRN NOSET 14 4F5= SET13 LDN 6 #2000 [SET B13 9 4FJW ORS 6 AWORK1(2) 16 4G4G NOSET BRUSEN NOUS [J IF 'NO USER' 8 4GJ6 BRN XCOM 4 4H3Q NOUS 9 4HHB #SKI K6PREPREAD>199-199 12 4J32 TRACE CONTEXT(2),DIRECTIV 7 4JGL LDN 3 1 9 4K2= SBS 3 AWORK3(2) 15 4KFW SPARAPAS [USER NAME 10 4K_G MHUNT 3,CPB,CUNI 9 4LF6 NGX 4 ANUM(3) 19 4LYQ BPZ 4 NULLUN [J IF NULL OR NON EXISTANT 7 4MDB LDN 1 1 18 4MY2 USERNORM 1 [CHECK IF USER NAME IS OK 15 4NCL TESTREP2 USERFORM,TOCOP,USERMIS,NULLUN 9 4NX= MHUNT 3,FILE,ADICT 8 4PBW ADN 3 A1 10 4PWG LDN 4 CPREFIX(2) 16 4QB6 MOVE 3 3 [MOVE INTO CPAT 16 4QTQ PROPUSER [GET PROPER USER 20 4R*B [ IF 'PSEUDO' REPLY, MOVE PROPER USER INTO ADICT BLOCK IN ORDER 18 4RT2 [ TO GET ASSOCIATED ADICTENT IN ORDER TO CHECK SECURITY 13 4S#L TESTREP2 OK,SITJ,NOUSER,NOUSER2 17 4SS= MHUNT 3,FILE,ADICT [PSEUDO REPLY ASSUMED 9 4T?W ADN 2 ACOMMUNE1 8 4TRG ADN 3 A1 19 4W?6 MOVE 2 3 [MOVE PROPER NAME INTO ADICT 4 4WQQ SITJ 20 4X=B ISITJOB SECHK [J IF NOT G3 JOB INTERNAL INPUT 19 4XQ2 BRN XCOMX [J IF G3 JOB INTERNAL INPUT 5 4Y9L SECHK 8 4YP= LDX 2 FX2 8 4_8W LDX 6 BIT11 19 4_NG ANDX 6 EXT+11(2) [J IF 7600 JOB INTERNAL INPUT 8 5286 BNZ 6 XCOMX 11 52MQ SETNCORE 10,3,FILE,FABSNB 8 537B ADN 3 A1 9 53M2 LDN 2 XDICT(1) 8 546L MOVE 2 10 16 54L= OPEN XBREAK,READ [OPEN DICTIONARY 17 555W TESTRPN2 OK,XBREAK [CRASH IF CANT OPEN 17 55KG READDICT [READ USER'S ENTRY 16 5656 TESTREP2 NOUSER,NOUSER [J IF NOT KNOWN 4 56JQ #SKI 4 574B ( 7 57J2 PROPUSER 16 583L TESTREPN PSEUDO,PROPUS [J IF PROPER USER 10 58H= LDN 3 ACOMMUNE1(2) 10 592W LDN 4 CPREFIX(2) 18 59GG MOVE 3 3 [PROPER USER INTO CPAT 5 5=26 PROPUS 4 5=FQ ) 15 5=_B CLOSETOP [DICTIONARY 6 5?29 ...#UNS G3UGSI 4 5?34 ...#SKI 4 5?3X ...( 6 5?4Q ...#SKI G551&1 4 5?5K ...( 8 5?6D ... LDCT 7 #400 7 5?7? ... ORN 7 2 10 5?86 ... DOWN INITJOB,20 9 5?8_ ... BRN XBRKIN 9 5?9S ... BRN PASNOK 8 5?=M ... BRN XCOMX 8 5??G ... BRN XPW 4 5?#* ...) 9 5?*8 ...#SKI G421_G551_G600&1$1 4 5?B3 ...( 6 5?BW ...#UNS G400 19 5?CP ... TESTHOOK TEREP [IGNORE SECURITY IF FROM A HOOK 11 5?F2 MHUNT 3,FILE,ADICTENT 10 5?YL LDX 6 CONTEXT(2) 7 5#D= ANDN 6 8 16 5#XW BZE 6 MBACK [ J IF NOT MOP 4 5*CG [ 11 5*X6 [ B22,23 = 0 MEANS 'NORMAL' 15 5BBQ [ B23 = 1 MEANS 'HIGH' ; B22 = 1 MEANS 'LOW' 18 5BWB SECHECK 3,TEREP,NORHIGH [CHECK USER'S SECURITY 5 5CB2 NORHIGH 16 5CTL CHEKPASWRD XBRKIN,PASNOK [ CHECK PASSWORD 4 5CXJ ...) 6 5C_G ...#UNS G3UGSI 4 5D3D ...( 13 5D5B ...[ CODE FOR USER GROUP SECURITY INTERFACE 11 5D7# ... SINMAC2 TOCOP,XBRKIN,4 4 5D9= ...) 4 5D?8 ...) 17 5D*= XCOMX MFREE CPB,CUNI [FREE PARAMETER BLOCK 4 5DSW XCOM 19 5F#G SPARAPASS [ACCESS FILE NAME PARAMETER 10 5FS6 MHUNT 3,CPB,CUNI 9 5G?Q #SKI K6PREPREAD>599-599 11 5GRB TRACEVER APARA(3),FILENAME 9 5H?2 NGX 4 ANUM(3) 15 5HQL BPZ 4 NOFN [J IF NULL 18 5J== NAMETOP 3,FILE,FNAME [RENAMED READY FOR 'OPEN' 7 5JPW FNORM 3 15 5K9G TESTREP2 NAMEFORM,TOCOP [J IF ERROR 10 5KP6 HUNT 3,FILE,FNAME 18 5L8Q NAMETOP 3,CPB,CUNI [RENAME FOR ERROR REPORT 21 5LNB [ THIS CURES B137 - NO USER INPUT TO PSEUDO DIRECTORY(TRAPS CLOSED) 4 5M82 [ 18 5MML BRUSEN PUSER [ J IF NO USER CONTEXT 8 5N7= BRN PARM 5 5NLW PUSER 7 5P6G PROPUSER 17 5PL6 TESTRPN2 PSEUDO,PARM [ J IF PROPER USER 15 5Q5Q LDN 3 ACOMMUNE1(2) [PSEUDO USER 10 5QKB LDN 4 CPREFIX(2) 21 5R52 MOVE 3 3 [ PROPER USER INTO CPAT FOR TRAP CHEC 4 5RJL # 4 5S4= # 14 5SHW # THIS IS THE PARAMETER ANALYSING SECTION 4 5T3G # 16 5TH6 PARM LDN 4 1 [ NO' OF CHARS' 13 5W2Q LDCT 5 #600 [ 'P' 16 5WGB CALL 7 NXTPARAM [ 'P' PARAMETER? 9 5X22 BRN NOMORE 17 5XFL BRN NOPS [ NO PARASUB GIVEN 15 5X_= LDX 6 APARA(3) [ 'P' GIVEN 14 5YDW BXE 6 PS(1),XIT [ ='PS'? 10 5YYG LDX 7 APARA+1(3) 9 5_D6 TXU 6 PARSUB(1) 15 5_XQ TXU 7 PARSUB+1(1) [ ='PARASUB'? 19 62CB BCS NFREE [ NO-INVALID PARAM.-IGNORE IT 20 62X2 XIT LDX 6 AWORK1(2) [ PS GIVEN-TEST IF FROM MDF,JDF 18 63BL ANDN 6 #2000 [ PS GIVEN IS B13 SET? 8 63W= BZE 6 MJDFER 17 64*W SRC 6 11 [ B13 SHOULD BE SET 17 64TG BPZ 6 MJDFER [ CONTEXT INCORRECT 8 65*6 LDN 6 #4000 17 65SQ ORS 6 AWORK1(2) [ OK-SET B12 AWORK1 16 66#B NFREE CALL 4 XFREE [ FREE CPB,CUNI 4 66S2 NOPS 18 67?L LDN 4 4 [ NO. OF CHARS. -'TABS' 15 67R= LDX 5 TABS(1) [ ='TABS'? 9 68=W CALL 7 NXTPARAM 9 68QG BRN NOMORE 6 693W #SKI JSKI38 8 6972 BRN SCODE 8 698J #SKI JSKI38-1 16 69=6 BRN TREQ [ LOOK FOR 'T' 19 6#7W CALL 7 TT [ TABS GIVVEN-DEAL WITH THEM 6 6#8P #SKI JSKI38 4 6#9J ( 5 6#=C SCODE 17 6#?= LDX 5 PCODE(1) [GET CODE PARAMATER 7 6##5 LDN 4 4 9 6##Y CALL 7 NXTPARAM 9 6#*R BRN NOMORE 8 6#BL BRN SAG 9 6#CF BRN XCOTOG 4 6#D# SAG 15 6#F7 LDX 5 PCO(1) [OR CO PARAM 7 6#G2 LDN 4 2 9 6#GT CALL 7 NXTPARAM 9 6#HN BRN NOMORE 8 6#JH BRN TREQ 5 6#KB XCOTOG 9 6#L9 LDX 6 APARA(3) 10 6#M4 LDX 7 APARA+1(3) 11 6#MX BXU 6 PBINA(1),TEBCD 18 6#NQ BXU 7 PRY(1),TEBCD [J IF PARAM NOT BINARY 8 6#PK LDN 0 #400 9 6#QD BRN SETBIT 5 6#R? TEBCD 11 6#S6 BXU 6 PEBCD(1),TKDF9 18 6#S_ BXU 7 PIC(1),TKDF9 [J IF PARAM NOT EBCDIC 8 6#TS LDN 0 #200 9 6#WM BRN SETBIT 5 6#XG TKDF9 11 6#Y* BXE 6 PKDF9(1),SETBIT1 10 6#_8 LDX 4 XJCOMIS(1) 17 6*23 BRN XCOMR [OUTPUT ERROR MESSAGE 5 6*2W SETBIT1 8 6*3P LDN 0 #100 5 6*4J SETBIT 9 6*5C ORS 0 AWORK1(2) 4 6*6= ) 7 6*76 TREQ LDN 4 1 13 6*LQ LDCT 5 #640 [ 'T' 15 6B6B CALL 7 NXTPARAM [ 'T' GIVEN? 9 6BL2 BRN NOMORE 16 6C5L BRN SREQ [ LOOK FOR 'S' 17 6CK= LDN 5 #64 [ GIVE SR5 TERM. TYPE 16 6D4W TRMN CALL 7 SR5 [STORE TERMINATOR 9 6DJG MFREE CPB,CUNI 9 6F46 BRN WHICHSEG 13 6FHQ SREQ LDCT 5 #630 [ 'S' 16 6G3B CALL 7 NXTPARAM [ LOOK FOR 'S' 9 6GH2 BRN NOMORE 7 6GQS #SKI JSKI38-1 17 6H2L BRN NOMORE [ ILLEGAL PARAMS LEFT 6 6H7S #SKI JSKI38 8 6H*2 BRN TERMB 17 6HG= LDN 5 #63 [ GIVE SR5 TERM. TYPE 18 6H_W BRN TRMN [ 'S' GIVEN-STORE TERM. 6 6J2G #SKI JSKI38 4 6J36 ( 5 6J3Q TERMB 8 6J4B LDCT 5 #420 9 6J52 CALL 7 NXTPARAM 9 6J5L BRN NOMORE 9 6J6= BRN TERMHASH 8 6J6W LDN 0 #400 9 6J7G ANDX 0 AWORK1(2) 8 6J86 BZE 0 RADEF 8 6J8Q CALL 7 SR6 9 6J9B BRN WHICHSEG 5 6J=2 TERMHASH 8 6J=L LDCT 5 #230 9 6J?= CALL 7 NXTPARAM 9 6J?W BRN NOMORE 9 6J#G BRN NOMORE 8 6J*6 LDN 0 #400 9 6J*Q ANDX 0 AWORK1(2) 8 6JBB BZE 0 RADEF 8 6JC2 CALL 7 SR7 9 6JCL BRN WHICHSEG 4 6JD= ) 5 6JFG NOMORE 17 6J_6 CALL 7 SR4 [ STORE DEFAULT TERM 5 6KDQ WHICHSEG 17 6KYB CALL 7 SOURCE [ WHICH SEGMENT NEXT? 13 6LD2 BRN MOPWRK [ MOP 13 6LXL BRN XJDFWRK [ JDF 9 6MC= BRN REMSLW 5 6MWW REMSLW 17 6NBG CALL 7 SCREATE [ SET UP CREATE BLOCK 11 6NW6 HUNT 1,FILE,ADJUNCTS 6 6NWC #SKI JSKI38 4 6NWN ( 8 6NW_ LDN 0 #400 9 6NX= ANDX 0 AWORK1(2) 15 6NXH BNZ 0 XCHQUAL [J IF BINARY 8 6NXS LDN 0 #200 9 6NY5 ANDX 0 AWORK1(2) 15 6NYB BZE 0 TAPER [J IF NOT KDF9 16 6NYM BNG 1 XDEFAULT [J IF NO ADJUNCT 9 6NYY LDX 5 A1+2(1) 15 6N_9 BZE 5 XDEFAULT [J IF NO MODE 7 6N_G LDX 0 5 8 6N_R ANDX 0 #10 18 6P24 BZE 0 OKMODE [J IF MODE NOT GRAPHIV 8 6P2* LDX 1 FX1 10 6P2L LDX 4 XJCODNO(1) 8 6P2X BRN XCOMR 5 6P38 XDEFAULT 8 6P3F LDX 1 FX1 17 6P3Q LDX 5 SALLCHAR(1) [SET DEFAULT ALLCHAR 5 6P43 OKMODE 17 6P4# STO 5 CETM(3) [PUT MODE IN CREARE 9 6P4K BRN USEROPEN 5 6P4W XCHQUAL 16 6P57 BNG 1 NOFADJ1 [J IF NO ADJUNCTS 9 6P5D LDX 5 A1+2(1) 17 6P5P BZE 5 NOFADJ1 [J IF NO QUAL GIVEN 7 6P62 LDX 0 5 8 6P6? ANDN 5 #10 16 6P6J BZE 5 WRADJ [J IF NOT GRAPHIC 10 6P6T HUNT 2,AINPAR,ATB 17 6P76 BNG 2 WRADJ [EROR IF TABS GIVEN 5 6P7C NOFADJ1 8 6P7N SMO FX1 17 6P7_ LDX 5 SGRAPHIC [SET GRAPHIC DEFAULT 9 6P8= STO 5 CETM(3) 10 6P8H LDCH 7 JSOURCE1(2) 15 6P8S BZE 7 TAPER [J IF NOT CR 9 6P95 CALL 7 SOURCE 7 6P9B BRN Z 7 6P9M BRN Z 9 6P9Y BRN TAPER 4 6P=9 Z 7 6P=G LPROP ,0 8 6P=R ANDN 0 #10 9 6P?4 BNZ 0 USEROPEN 7 6P?* SMO FX1 9 6P?L LDX 4 XJCODNO 8 6P?X BRN XCOMR 5 6P#8 TAPER 4 6P#F ) 9 6P*Q BNG 1 NOFADJ 8 6PTB LDCT 0 #377 9 6Q*2 ANDX 0 A1+2(1) 8 6QSL BNZ 0 WRADJ 15 6R#= LDX 5 A1+2(1) [ PERI MODE 15 6RRW BZE 5 NOFADJ [ NO MODE? 10 6S?G LDCH 7 JSOURCE1(2) 7 6SR6 LDX 4 5 17 6T=Q BZE 7 USEMODE [ TR-USE GIVEN MODE 8 6TQB ANDN 5 #10 15 6W=2 BNZ 5 USEMODE [ GRAPHIC? 16 6WPL BRN WRADJ [ ILLEGAL QUAL. 5 6X9= NOFADJ 8 6XNW LDX 1 FX1 16 6Y8G LDX 5 SGRAPHIC(1) [ GRAPHIC MODE 18 6YN6 STO 5 CETM(3) [ STORE DEFAULT-GRAPHIC 9 6_7Q BRN USEROPEN 5 6_MB USEMODE 9 7272 STO 4 CETM(3) 4 72LL [ 4 736= [ 5 73KW USEROPEN 17 745G LDN 4 0 [ CLEAR MODE WMRDS 15 74K6 LDN 5 0 [ DO USEROPEN 11 754Q HUNT 3,FILE,ADJUNCTS 19 75JB BNG 3 MODEAD [ NO ADJUNCTS-SET UP MODES 11 7642 SETUPMODE 4,5,COMMUNE,GDR 9 76HL ANDX 4 A1+1(3) 19 773= ANDX 5 A1+4(3) [ AND IN COMM,GDR IF PRESENT 5 7777 MODEAD 6 77?4 #UNS FTS1 4 77B_ ( 9 77GW ISITJOB MODEAD1 10 77LR ADDINMODE ,5,FROZEN 4 77QN ) 5 77WK MODEAD1 7 782G #SKI AMULTUSER 16 78G6 ADDINMODE 4,5,APPEND,CREATE,EMPTY,MULT,FILE 8 78_Q #SKI AMULTUSER<1$1 15 79FB ADDINMODE 4,5,APPEND,CREATE,EMPTY,STREAMS 9 79_2 #SKI K6PREPREAD>599-599 4 7=DL ( 10 7=Y= TRACEVER 4,MODEWRD1 10 7?CW TRACEVER 5,MODEWRD2 4 7?XG ) 10 7#C6 USEROPEX XBRKIN,4,5 13 7#WQ REPERR OKREPLY [ OK? 15 7*BB CALL 7 SINFIN [ ERROR REPLY 6 7*W2 ENDCOM 5 7B*L OKREPLY 17 7BKD VFREE FILE,CREATE [ IF FILE ALREADY EXISTS 16 7BT= CALL 7 SOURCE [ WHICH SEGMENT? 13 7C#W BRN MOPXIT [ MOP 13 7CSG BRN XJDF [ JDF 14 7D#6 BRN REMOTE [ REMOTE 10 7DRQ LDCH 4 JSOURCE1(2) 13 7F?B TOPFCB2 3 [ TR 14 7FR2 LDX 7 FETM(3) [ X7=MODE 15 7G=L LDN 5 128 [ COUNT=128 18 7GQ= ANDN 7 #10 [ X7=>GRAPHIC IF PRESENT 14 7H9W BNZ 4 XCARD [ J IF CR 10 7HPG HUNT 1,AINPAR,ATB 15 7J96 BPZ 1 XTABS [ TABS GIVEN? 16 7JNQ BNZ 7 XGRAPH [ NO-J IF GRAPHIC 5 7K8B MODEUSE 20 7KN2 LDX 4 FETM(3) [ NO-MUST BE NOR,ALLCHAR-USE MODE 17 7L7L BRN QMERG [ GO STORE MODE,COUNT 5 7LM= XGRAPH 6 7LNM #SKI JSKI38 4 7LQ4 ( 8 7LRF LDN 0 #400 9 7LSW ANDX 0 AWORK1(2) 9 7LW? BZE 0 XGRAPH1 8 7LXN LDN 4 #20 8 7L_5 LDN 5 126 8 7M2G BRN QMERG 5 7M3X XGRAPH1 4 7M5# ) 15 7M6W LDN 4 #12 [ X4=>GRAPHIC 15 7MLG LDN 5 127 [ COUNT=127 8 7N66 BRN QMERG 5 7N9F XCARD 6 7N#S #SKI JSKI38 4 7ND7 ( 8 7NHG LDN 0 #400 9 7NLT ANDX 0 AWORK1(2) 9 7NQ8 BZE 0 XCARD1 7 7NTH LDN 4 2 8 7NYW LDN 5 160 8 7P49 BRN QMERG 5 7P7J XCARD1 4 7P=X ) 7 7PB= LDN 4 0 8 7PFK LDN 5 80 12 7PK2 BRN QMERG [ 5 7Q4L XTABS 17 7QJ= BZE 7 MODEUSE [ TABS GIVEN-GRAPHIC? 16 7R3W LDN 4 #44 [ GRAPHIC,TABS 16 7RHG DCH 4 AWORK1(2) [ STORE MARKER 17 7S36 LDN 4 2 [ PERI MODE NORMAL 5 7SGQ QMERG 9 7T2B #SKI K6PREPREAD>599-599 4 7TG2 ( 9 7T_L TRACEVER 4,DCAMODE 10 7WF= TRACEVER 5,DCACOUNT 4 7WYW ) 15 7XDG DCA ,DLA,4,MODE [ MODE IN DCA 10 7XY6 DCA ,DLA,5,COUNT 8 7YCQ LDCT 4 #200 14 7YXB ORS 4 EXT+9(2) [ SET B1 15 7_C2 BNZ 7 OVER [ GRAPHIC? 15 7_WL ERS 4 EXT+9(2) [ CLEAR B1 4 7_Y3 OVER 6 7__D #SKI JSKI38 4 822T ( 8 824= LDN 0 #400 9 825M ANDX 0 AWORK1(2) 12 8274 BZE 0 XNBIN [J-NOT BINARY 8 828F LTYPE ,5 14 829W BNZ 5 XCONTGS [J-NOT PPT READER 7 82?? DISENGPER 12 82#N ENGPER XCANTDO,,XCANTDO,4 9 82B5 BRN XCONTGS 5 82CG XCANTDO 9 82DX MFREE CPB,CUNI 8 82G# CLOSEABANDON 9 82HP CALL 7 SINFIN 6 82K6 ENDCOM 2 82LH 5 82MY XCONTGS 9 82P* MFREE CPB,CUNI 5 82QQ XNBIN 4 82S7 ) 9 82TW ACROSS INLOOP,1 5 83*G REMOTE 9 83T6 SAWCE PCT,XPCT 6 83TX #SKI JSKI38 4 83WN ( 10 83Y= STOZ ACOMMUNE1(2) 8 83_S LDN 0 #400 9 843B ANDN 0 AWORK1(2) 9 844Y BZE 0 REMOTE1 8 846G LDX 0 GSIGN 10 8484 ORS 0 ACOMMUNE1(2) 5 849L REMOTE1 4 84?8 ) 10 84#Q ACROSS READBULK,2 9 84SB XPCT ACROSS INPCT,2 5 85#2 XJDFWRK 17 85RL CALL 7 SCREATE [ SET UP CREATE BLOCK 7 86?= TOPFCB 1 9 86QW LDX 6 FETM(1) 15 87=G STO 6 CETM(3) [ F,C BLOCK 15 87Q6 BRN USEROPEN [ DO USEROPEN 4 889Q XJDF 10 88PB ACROSS INPUTJDF,1 5 8992 MOPWRK 9 89NL CALL 7 SCREATE 6 89P# ...#SKI G501&1 4 89Q2 ...( 10 89QN ... LDX 4 SGRAPHIC(1) 11 89RB ... HUNT 1,FILE,ADJUNCTS 16 89S4 ... BNG 1 USEMODE [ NO QUALIFIERS 9 89SQ ... LDX 6 A1+2(1) 20 89TD ... BZE 6 USEMODE [ NO TYPE QUAL, TAKE AS GRAPHIC 7 89W6 ... TXU 4 6 17 89WS ... BCC USEMODE [ GRAPHIC SPECIFIED 7 89XG ... LDX 4 6 20 89Y8 ... STO 6 CETM(3) [ STORE TYPE/MODE, ASSUMING OK 19 89YW ... ANDN 6 2 [ TEST IF NORMAL OR ALLCHAR 18 89_J ... BZE 6 WRADJ [ FAIL - NOT SERIAL FILE 17 8=2= ... BS 2,G501SHIFT [ NORMAL OR ALLCHAR 8 8=2Y ... ANDN 4 #20 14 8=3L ... BZE 4 USEROPEN [ NORMAL 10 8=4# ... BS 2,G501ALLC 14 8=52 ... BRN USEROPEN [ ALLCHAR 4 8=5N ...) 7 8=6B ...#SKI G501&1$1 4 8=74 ...( 11 8=8= HUNT 1,FILE,ADJUNCTS 16 8=MW BNG 1 MODEOK [ DEFAULT USED 9 8?7G LDX 6 A1+2(1) 18 8?M6 BZE 6 MODEOK [ OK IF ZERO OR GRAPHIC 17 8#6Q ANDN 6 #10 [ SHOULD BE GRAPHIC 14 8#LB BNZ 6 MODEOK [ IT IS 17 8*62 BRN WRADJ [ ILLEGAL QUALIFIER 5 8*KL MODEOK 8 8B5= SMO FX1 9 8BJW LDX 5 SGRAPHIC 16 8C4G STO 5 CETM(3) [ STORE DEFAULT 9 8CJ6 BRN USEROPEN 4 8CRY ...) 5 8D3Q MOPXIT 10 8DHB ACROSS INPUTMOP,1 10 8F32 # TABS ANALYSING ROUTINE 4 8FGL # 9 8G2= TT LDX 0 ANUM(3) 16 8GFW SRL 0 12 [PARAMETER TYPE 16 8G_G BZE 0 RADEF [ERROR IF SIMPLE 8 8HF6 SBX 7 FX1 16 8HYQ PARALYSE ,,JPARNUM(3) [SPLIT PARAMETERS 11 8J8J TESTREP2 TOOMANY,TOOMANY 9 8JDB HUNT 3,CPB,CMULTI 17 8JY2 BNG 3 RADEF [J IF NOT VALID TABS 16 8KCL LDN 1 2 [2ND PARAMETER 15 8KX= PARALYSE #34,ANALEV(3),1 [SPLIT TABS 11 8L74 TESTREP2 TOOMANY,TOOMANY 10 8LBW MHUNT 3,CPB,CUNI 7 8LWG FREECORE 3 10 8MB6 MHUNT 3,CPB,CMULTI 19 8MTQ LDX 2 APARANUM(3) [N/PARAMETERS IN CPB/CMULTI 15 8N*B BZE 2 TABAG [J IF NO TABS 10 8NT2 HUNT 1,AINPAR,ATB 16 8P#L BPZ 1 TABAG [J IF 2ND TABS 7 8PS= SLL 2 1 14 8Q?W ADX 2 APARANUM(3) [N/P*3 14 8QRG ADN 2 2 [N/P*3+2 11 8R?6 SETUPCOR 2,3,AINPAR,ATB 10 8RQQ MHUNT 2,CPB,CMULTI 17 8S=B LDX 5 APARANUM(2) [NUMBER OF PARAMETERS 15 8SQ2 STO 5 A1(3) [STORE N/TABS 7 8T9L STOZ 4 14 8TP= NEWPR PARAPASS [A TAB 10 8W8W MHUNT 2,CPB,CUNI 17 8WNG LDX 0 ANUM(2) [N/CH IN PARAMETER 17 8X86 BZE 0 SUBTA [J IF NULL PARAMETER 17 8XMQ CHNUMCOD ,2 [CONVERT TO BINARY 10 8Y7B MHUNT 3,AINPAR,ATB 18 8YM2 TESTREP CHNUMERR,SUBTA [J IF TAB IS NOT VALID 13 8_6L LDX 1 ACOMMUNE1(2) [TAB 15 8_L= BNZ 1 TETA [J IF TAB>0 7 925W SUBTA LDN 0 1 18 92KG SBS 0 A1(3) [SUBTRACT 1 FROM N/TABS 8 9356 BRN PBFRE 8 93JQ TETA SBN 1 2001 15 944B BPZ 1 SUBTA [J IF ILLEGAL 13 94J2 LDX 1 ACOMMUNE1(2) [TAB 17 953L ADN 4 1 [UPDATE PTR IN ATB 7 95H= SMO 4 16 962W STO 1 A1(3) [STORE THE TAB 7 96GG SMO 4 9 9726 STOZ A1+1(3) 10 97FQ PBFRE MHUNT 2,CPB,CUNI 16 97_B FREECORE 2 [FREE CPB/CUNI 16 98F2 BCT 5 NEWPR [J FOR NEXT TAB 8 98YL BNZ 4 OKTAB 17 99D= FREECORE 3 [FREE ATB IF NO TABS 10 99XW OKTAB MHUNT 3,CPB,CMULTI 16 9=CG TABAG FREECORE 3 [FREE 1RST CPB 10 9=X6 MHUNT 3,CPB,CMULTI 15 9?BQ FREECORE 3 [FREE 2ND CPB 8 9?WB ADX 7 FX1 7 9#B2 EXIT 7 0 4 9#TL # 4 9**= # 9 9*SW TOCOP CALL 7 SINFIN 6 9B#G ENDCOM 4 9BS6 # 8 9C?Q WRADJ LDX 1 FX1 21 9CRB LDX 4 XILLQUAL(1) [ MESSAGE : AN ILLEGAL QUALIFIER GIVE 8 9D?2 BRN XCOMR 21 9DQL RADEF LDX 4 XADEFT(1) [ MESSAGE : NOT A VALID TERMINATOR 17 9F== BRN XCOMR [OUTPUT ERROR REPORT 5 9FB7 TOOMANY 20 9FG4 LDX 4 XJMAXPAR(1) [MESSAGE : TOO MANY PARAMETERS 8 9FK_ BRN XCOMR 5 9FPW NULLUN 18 9G9G LDX 5 XJUSNA(1) [SUBMESSAGE 'USER NAME' 15 9GP6 BRN XCOMS [OUTPUT ERROR 5 9H8Q NOUSER 17 9HNB CLOSETOP [CLOSE THE DICTIONARY 5 9J82 NOUSER2 18 9JML LDX 4 XERNOUSER(1) ['USER NOT FOUND' MESSAGE 5 9K7= XCOMR 17 9KLW CALL 7 SINFIN [UNSET BIT FOR FINISH 15 9L6G COMERRX 4 [ERROR REPORT 4 9LL6 NOFN 18 9M5Q LDX 5 XJFNAME(1) [SUBMESSAGE 'FILE-NAME' 19 9MKB XCOMS LDX 4 XJPARMIS(1) ['PARAMETER MISSING' MESSAGE 17 9N52 CALL 7 SINFIN [UNSET BIT FOR FINISH 15 9NJL COMERRX 4,5 [ERROR REPORT 5 9P4= XBREAK 9 9PHW GEOERR 1,NOBRKIN 6 9PMR ...#UNS G3UGSI 4 9PRN ...#SKI 4 9PXK ...( 10 9Q3G TEREP MFREEW FILE,ADICTENT 8 9QH6 BRN XCOMX 10 9R2Q MBACK SECHECK 3,TEREP,TEREP 6 9R7Y ...#SKI G551&1 4 9R*6 ...XPW 19 9RGB LDX 4 XHSECURE(1) [ 'INPUT NOT ALLOWED' MESSAGE 8 9S22 BRN XCOMR 4 9S9S ...) 19 9SFL MJDFER [ PS NOT ALL. OUTSIDE MDF,JDF 10 9S_= LDX 4 XERPSUB(1) 8 9TDW BRN XCOMR 5 9TYG XBRKIN 17 9WD6 CALL 7 SINFIN [ RESET FINISH BIT 7 9WXQ COMBRKIN 6 9X3M ...#UNS G3UGSI 4 9X7J ...#SKI 4 9X?F ...( 17 9XCB PASNOK [ INCORRECT PASSWORD 10 9XX2 LDX 4 XIMPASSE(1) 16 9YBL BRN XCOMR [ REPORT ERROR 4 9YW= ...) 4 =4?L # 10 =4R= SEGENTRY K99PREPREAD 11 =5=W MENDAREA 100,K99PREPREAD 4 =5QG # 4 =6=6 #END 8 ____ ...15470426000300000000