16 22FL ... SEG SETPR,,CENT(INSTALLATION HOOKS),,G400 4 22_= [ 15 23DW [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23YG [ 4 24D6 # 14 24XQ # THIS CHAPTER IS FOR G3PLUS-IH MK2 4 25CB # 19 25X2 SEGENTRY K1SETPR,SENTRY1 [ENTRY FOR PRIVILEGED PARAMS 4 26BL # 16 26W= # LOCAL IDENTIFIERS FOR CONTROL BLOCK 4 27*W # 7 27TG #DEF STYPE=A1+1 7 28*6 #DEF RSTAR=A1+2 7 28SQ #DEF RPLUS=A1+3 6 29#B #DEF RD=A1+4 6 29S2 #DEF RS=A1+5 7 2=?L #DEF SPARE=A1+6 7 2=R= #DEF RCOUNT=A1+7 8 2?=W #DEF RSTRING=A1+8 9 2?QG YDSK1 #37777777 9 2#=6 YDSK2 #77777 8 2#PQ YDSK20 +20 9 2*9B YDSK3 #777777 8 2*P2 Y125 +125 8 2B8L Y8 +8 8 2BN= Y9 +9 8 2C7W NINDEX +8 8 2CMG Y13 +13 10 2D76 SPEC 8H-8388608 9 2DLQ MAGIC +7036875 8 2F6B MINUS #35 9 2FL2 PA 4H000A 9 2G5L PC 4H000C 9 2GK= PS 4H000S 9 2H4W PK 4H000K 9 2HJG PD 4H000D 9 2J46 PV 4H000V 8 2JHQ PZPLUS #73 9 2K3B PSTAR 4H000* 9 2KH2 PLUS 4H000+ 9 2L2L PAREN 4H000( 9 2LG= 4H000) 7 2L_W PDTABNO 4 9 2MFG PDTAB 4H000? 9 2M_6 4H000^ 9 2NDQ 4H000' 9 2NYB 4H000/ 4 2PD2 # 6 2PXL MESSAGENOS 4 2QC= # 14 2QWW # SPACE-SAVING VERSION TO ALLOW OTHER MODS 4 2RBG # 8 2RW6 SBX 5 FX1 20 2S*Q LDN 7 0 [ INDICATE NO NUMBERS YET READ 17 2STB PARAPASS [ (N1,N2) IF PRESENT 10 2T*2 HUNT 3,CPB,CUNI 9 2TSL NGX 4 ANUM(3) 16 2W#= BPZ 4 SLINK [ NO PARAMETER 20 2WRW LDEX 6 ATYPE(3) [PARAM NO. FROM MULTI PARAM BL 9 2X?G PARANEXT #34,,6 4 2XR6 XH 15 2Y=Q HUNT 3,CPB,CUNI [ N1 OR N2 9 2YQB LDX 4 ANUM(3) 18 2_=2 BZE 4 XERR [ ERROR IF NULL PARAMETER 17 2_PL BNG 4 NON [ PARAMETER MISSING 10 329= CHNUMCOD 1,3,XBREAK 11 32NW TESTREP2 CHNUMERR,XERR1 17 338G LDX 6 ACOMMUNE1(2) [ CONVERTED NUMBER 17 33N6 BNG 6 XERR [ ERROR IF NEGATIVE 14 347Q BZE 6 XERR [ OR ZERO 20 34MB BNZ 7 SLINK [ EXIT IF BOTH N1 AND N2 NOW READ 16 3572 LDX 7 6 [ COPY N1 INTO X7 16 35LL PARAPASS [ N2 IF PRESENT 19 366= BRN XH [ REPEAT CONVERSION FOR N2 4 36KW NON 17 375G BZE 7 XERR [ ERROR IF N1 MISSING 5 37K6 SLINK 10 384Q MHUNT 3,CPB,CUNI 7 38JB FREECORE 3 8 3942 ADX 5 FX1 7 39HL EXIT 5 0 4 3=3= SPAR 8 3=GW SBX 7 FX1 7 3?2G SPARAPAS 10 3?G6 MHUNT 3,CPB,CUNI 8 3?_Q ADX 7 FX1 7 3#FB EXIT 7 0 4 3#_2 XIT 9 3*DL LDN 5 AWORK1 4 3*Y= XITC 7 3BCW ADN 4 2 15 3BXG SETUPCORE 4,3,COMDAT,CSETP [PARAM BLK 9 3CC6 STO 7 ANUM(3) 8 3CWQ BZE 7 XITA 7 3DBB SMO 5 8 3DW2 LDN 1 0(2) 9 3F*L LDN 2 APARA(3) 7 3FT= SMO 7 17 3G#W MVCH 1 0 [PARAM TO BE INSERTED 7 3GSG SBN 4 2 7 3H#6 SLL 4 2 7 3HRQ SBX 4 7 8 3J?B BZE 4 XITA 8 3JR2 LDN 1 ACES 7 3K=L SMO 4 7 3KQ= MVCH 1 0 4 3L9W XITA 10 3LPG ... ACROSS SETPARAM,4 4 3M96 XITB 9 3MNQ LDN 5 ACOMMUNE1 8 3N8B BRN XITC 9 3N?G ... SEGENTRY G400RECB 6 3NBL ...NOTUSERCN 10 3NFQ ... LDX 7 PJRWRONGUS(1) 8 3NJW ... BRN XER1 5 3NN2 XERR1 16 3P7L LDX 7 PCHNUMERR(1) [ERROR CODE ... 8 3PM= BRN XER1 4 3Q6W XERR 10 3QLG LDX 7 PAPFERR(1) 4 3R66 XER1 8 3RKQ SMO FX2 9 3S5B LDX 4 AWORK4 7 3SK2 NGN 6 1 8 3T4L BZE 4 XER2 7 3TJ= PARAFREE 7 3W3W UNIFREE 8 3WHG LDX 2 FX2 9 3X36 LDX 0 AWORK3(2) 10 3XGQ STO 0 JOBEVENTS(2) 5 3Y2B UP 4 3YG2 XER2 8 3Y_L COMERRX 7,6 4 3_F= # 9 3_YW PCHNUMERR +CHNUMERR 9 42DG PAPFERR +APFERR 10 42N# ...PJRWRONGUS +JRWRONGUSER 4 42Y6 # 5 43CQ XBREAK 7 43XB COMBRKIN 4 44C2 # 20 44WL # ############################################################# 4 45B= # 11 45TW # K K 1 11 46*G # K K 11 11 46T6 # K K 1 11 47#Q # K K 1 11 47SB # KKK 1 11 48#2 # K K 1 11 48RL # K K 1 11 49?= # K K 1 11 49QW # K K 1 4 4==G # 20 4=Q6 # ############################################################# 4 4?9Q # 5 4?PB SENTRY1 4 4#92 XREC 7 4#NL LDN 4 2 16 4*8= PARALYSE ,,4 [REMOVE ENCLOSURE 17 4*MW PARALYSE #34 [SEPARATE FD,RD,ETC 16 4B7G CALL 7 SPAR [FILE DESCRIPTION 9 4BM6 LDX 0 ANUM(3) 16 4C6Q BZE 0 XERR [ERROR IF NULL 16 4CLB BNG 0 XERR [OR NON-EXISTENT 17 4CMR ... BRUSEN XDSKF [J IF NO USER CONTEXT 8 4CP8 ... BRN XDSK3 5 4CQK ...XDSKF 20 4CS2 ... TESTHKN NOTUSERCN [MUST BE HOOKED IF NO USER 9 4CTC ... SEGENTRY G400RECA 21 4CWS ... NULL [BRN NOTUSERCN IF IHSPNOUSER OF 18 4CY9 ... STOZ CPREFIX(2) [CLEAR CPREFIX AREA 10 4C_L ... STOZ CPREFIX+1(2) 10 4D33 ... STOZ CPREFIX+2(2) 5 4D4D ...XDSK3 18 4D62 NAMETOP 3,FILE,FNAME [RENAME CUNI FILE/FNAME 18 4DDC ... FNORM 2 [DECODE FILE NAME 9 4DQS ... TESTREPN OK,XERR 15 4F5= USEROPEN XBREAK,READ,TERMDIR,LEAVE,NOERREP 9 4FJW TESTREPN OK,XERR 9 4FL4 ... BRUSEN XDSK14 8 4FM= ... TRAPOPEN READ 10 4FND ... TESTREP OKAY,XDSK14 9 4FPL ... LDX 4 AWORK4(2) 18 4FQS ... BNZ 4 XDSK3A [J IF NOT COMMAND FORM 9 4FS2 ... SETREP NOTRAP 18 4FT8 ... REPALLER [REPORT TRAPS CLOSED ERROR 8 4FWB ... BRN XERR 5 4FXJ ...XDSK3A 7 4FYQ ... CLOSETOP 8 4F_Y ... BRN XERR 5 4G36 ...XDSK14 16 4G4G MHUNT 3,FILE,ENT [COPY OF DIRENT 9 4GJ6 LDX 5 ETM(3) 9 4H3Q STO 5 AWORK1(2) 9 4HHB LDX 0 EINDEX(3) 9 4J32 STO 0 AWORK2(2) 16 4JGL FREECORE 3 [FREE DIR ENT BLK 17 4K2= CALL 7 SPAR [RECORD DESCRIPTION 9 4KFW LDX 0 ANUM(3) 17 4K_G BNG 0 XERRC [J IF NON-EXISTENT 14 4LF6 BZE 0 XERRC [OR,NULL 16 4LYQ SRL 0 12 [PARAMETER TYPE 15 4MDB BNZ 0 XRCT [NOT SIMPLE 19 4MY2 CHNUMCON 1,XBREAK [CONV CONTENTS OF CUNI TO BIN 9 4NCL TESTREPN OK,XERRC 11 4NX= MHUNT 3,CPAR,GNUMCON 16 4PBW LDX 4 A1+1(3) [BINARY RESULT 8 4PWG BZE 4 XERRC 8 4QB6 BNG 4 XERRC 4 4QTQ XRCD 18 4R*B CALL 7 STEP [READ N RECORDS ACCORDING 17 4RT2 BRN / [TO + REC. DESCRIPTOR 8 4S#L BZE 3 XERRC 8 4SS= BCT 4 XRCD 5 4T?W XRCDI 7 4TRG LDN 5 2 8 4W?6 SMO FX2 9 4WQQ LDX 0 AWORK1 17 4X=B BNG 0 XRCD3 [J IF NOT AMORPHOUS 7 4XQ2 SBN 5 1 5 4Y9L XRCD3 8 4YP= LDX 7 0(3) 9 4_8W TXL 7 Y125(1) 8 4_NG BCS XRCD1 19 5286 LDX 7 Y125(1) [SIZE OF COMDAT TO BE CREATED 5 52MQ XRCD1 9 537B ADN 7 APARA-A1 11 53M2 SETUPCORE 7,2,COMDAT,CSETP 7 546L STEPAGAIN 11 54L= MHUNT 2,COMDAT,CSETP 9 555W SBN 7 APARA-A1 7 55KG SBX 7 5 7 5656 SLL 7 2 16 56JQ STO 7 ANUM(2) [LENGTH OF REC 7 574B SRL 7 2 16 57J2 BZE 7 XRCD2 [J IF ZERO LENGTH 9 583L LDN 4 APARA(2) 7 58H= ADX 3 5 7 592W SMO 7 16 59GG MOVE 3 0 [MOVE TO COMDAT 5 5=26 XRCD2 7 5=FQ CLOSETOP 10 5=_B MFREE CPB,CMULTI 10 5?F2 MFREE CPB,CMULTI 18 5?YL PARAPASS [UPDATE PARAM PTR AS ... 17 5#D= MFREE CPB,CUNI [HAVING BEEN ACCESSED 17 5#XW CALL 5 MESSAGENOS [GET FROM & TO PARAMS 16 5*CG BZE 7 XITA [J IF N1 ABSENT 11 5*X6 MHUNT 3,COMDAT,CSETP 14 5BBQ LDX 4 ANUM(3) [COUNT 7 5BWB TXL 6 7 8 5CB2 BCS XERR 7 5CTL TXL 4 7 8 5D*= BCC XRM1 9 5DSW STOZ ANUM(3) 8 5F#G BRN XITA 4 5FS6 XRM1 7 5G?Q TXL 4 6 8 5GRB BCC XRM2 14 5H?2 LDX 6 4 [COUNT 4 5HQL XRM2 14 5J== SBX 6 7 [N2-N1 15 5JPW ADN 6 1 [NEW COUNT 9 5K9G STO 6 ANUM(3) 15 5KP6 LDN 4 APARA(3) ['TO' ADDRESS 7 5L8Q SBN 7 1 8 5LNB BZE 7 XITA 15 5M82 SRC 7 2 [CHAR. ADDR. 7 5MML LDX 3 4 7 5N7= ADX 3 7 15 5NLW SMO 6 [ADDR. OF TO 7 5P6G MVCH 3 0 8 5PL6 BRN XITA 4 5Q5Q STEP 8 5QKB SBX 7 FX1 18 5R52 STEP [READ FILE INTO FILE/FURB 8 5RJL ADX 7 FX1 9 5S4= TESTREP OK,STEP1 7 5SHW EXIT 7 0 5 5T3G STEP1 7 5TH6 EXIT 7 1 4 5W2Q XRCT 17 5WGB LDX 4 ANUM(3) [PARAM TYPE&LENGTH 8 5X22 ANDN 4 #7777 7 5XFL LDX 6 4 11 5X_= ADN 6 RSTRING-A1*4+3 7 5YDW SRL 6 2 18 5YYG SETXCORE 6,3,IUSER,G400BLK [SET UP CTXT CONTROL BLK 7 5_D6 LDN 0 4 8 5_XQ STO 0 A1(3) 7 62CB LDN 0 1 9 62X2 STO 0 STYPE(3) 9 63BL STO 0 SPARE(3) 15 63W= STO 0 RSTAR(3) [DEFAULT ^*^ 8 64*W LDX 0 GSIGN 15 64TG STO 0 RD(3) [DEFAULT ^D^ 15 65*6 STOZ RPLUS(3) [DEFAULT ^+^ 7 65SQ LDN 0 8 9 66#B LDX 7 AWORK1(2) 16 66S2 BNG 7 XRCT1 [J IF SERIAL FILE 19 67?L LDN 0 0 [DEFAULT ^S^ -AMORPHOUS FL 5 67R= XRCT1 8 68=W STO 0 RS(3) 10 68QG MHUNT 2,CPB,CUNI 9 69=6 LDCH 5 APARA(2) 17 69PQ CALL 0 PDCH [CHECK FOR DELIMITER 17 6=9B BRN XRCEN [RETURN HERE IF IT IS 7 6=P2 LDN 0 2 8 6?8L TXU 5 PC(1) 8 6?N= BCC XRCE1 7 6#7W LDN 0 3 8 6#MG TXU 5 PS(1) 8 6*76 BCC XRCE1 7 6*LQ LDN 0 4 8 6B6B TXU 5 PK(1) 8 6BL2 BCC XRCE1 8 6C5L BRN XERRC 5 6CK= XRCE1 14 6D4W STO 0 STYPE(3) [2=C,3=S 7 6DJG BCHX 2 / 7 6F46 SBN 4 1 8 6FHQ BZE 4 XERRC 9 6G3B LDCH 5 APARA(2) 8 6GH2 CALL 0 PDCH 16 6H2L BRN XRCEN [J IF DELIMITER 8 6HG= BRN XERRC 5 6H_W XRCEN 7 6JFG SBN 4 2 19 6J_6 STO 4 RCOUNT(3) [COUNT OF CHARS MINUS DELIM 7 6KDQ ADN 4 1 5 6KYB XRCE3 7 6LD2 BCHX 2 / 9 6LXL LDCH 0 APARA(2) 7 6MC= TXU 0 5 15 6MWW BCC XRCE2 [J IF DELIM 10 6NBG DCH 0 RSTRING(3) 7 6NW6 BCHX 3 / 8 6P*Q BCT 4 XRCE3 8 6PTB BRN XERRC 5 6Q*2 XRCE2 8 6QSL BCT 4 XERRC 4 6R#= # 15 6RRW # DECODE D,*,S,V,+ PARTS OF RECORD DESCRIPTION 4 6S?G # 5 6SR6 XRCE4 16 6T=Q CALL 7 SPAR [GET NEXT PARAM 15 6TQB LDX 4 ANUM(3) [COUNT WORD 17 6W=2 BNG 4 XRCA8A [SKIP IF NON-EXISTENT 17 6WPL BZE 4 XRCE4 [TRY AGAIN IF NULL 16 6X9= ANDN 4 #7777 [MASK FOR COUNT 15 6XNW LDCH 6 APARA(3) [FIRST CHAR 13 6Y8G TXU 6 PD(1) [D? 15 6YN6 BCS XRCE5 [J IF NOT D 16 6_7Q SBN 4 1 [1 OTHER CH REQD 16 6_MB BZE 4 XERRC [ERROR IF NONE 7 7272 BCHX 3 / 15 72LL LDCH 6 APARA(3) [LOAD DUMMY 17 736= CALL 7 PCB [LOCATE CONTROL BLOCK 15 73KW STO 6 RD(2) [STORE DUMMY 14 745G BRN XRCE4 [TRY NEXT 5 74K6 XRCE5 17 754Q LDN 5 RSTAR ['*' POSN IN CTRL BLK 13 75JB TXU 6 PSTAR(1) [*? 14 7642 BCC XRCE6 [J IF * 17 76HL LDN 5 RS ['S' POSN IN CTRL BLK 13 773= TXU 6 PS(1) [S? 15 77GW BCS XRCE7 [J IF NOT 'S' 5 782G XRCE6 14 78G6 SBN 4 1 [COUNT 15 78_Q LDN 0 0 [INITIALISE 8 79FB TXL 4 Y8(1) 14 79_2 BCC XERRC [TOO BIG 7 7=DL LDN 1 0 5 7=Y= XRCE8 7 7?CW BCHX 3 / 16 7?XG CDB 0 APARA(3) [CVT TO BINARY 8 7#C6 BCS XERRC 16 7#WQ BCT 4 XRCE8 [BACK ROUND LOOP 15 7*BB BNZ 0 XERRC [J,OVERFLOW 16 7*W2 CALL 7 PCB [LOCATE CTRL BLK 7 7B*L SMO 5 15 7BT= STO 1 0(2) [STORE RESULT 16 7C#W BRN XRCE4 [J FOR NEXT PARAM 5 7CSG XRCE7 13 7D#6 TXU 6 PV(1) [V? 15 7DRQ BCS XRCE9 [J IF NOT 'V' 17 7F?B SBN 4 1 [1 OTHER CHAR REQUD 17 7FR2 BZE 4 XERRC [J IF NONE -> ERROR 7 7G=L BCHX 3 / 18 7GQ= LDCH 6 APARA(3) [LOAD VISIBLE SPACE CHAR 18 7H9W MHUNT 3,IUSER,G400BLK [FIND BL WITH REC DESC 8 7HPG LDN 4 #20 19 7J96 LDX 5 RCOUNT(3) [COUNT OF CHARS IN REC DESC 5 7JNQ XRCE7A 18 7K8B LDCH 7 RSTRING(3) [LOAD CHAR FROM REC DESC 19 7KN2 TXU 6 7 [IS IT A VISIBLE SPACE CHAR? 15 7L7L BCS XRCE7B [NO-NEXT CHAR 20 7LM= DCH 4 RSTRING(3) [REPLACE WITH SPACE(INVISIBLE!) 5 7M6W XRCE7B 7 7MLG BCHX 3 / 9 7N66 BCT 5 XRCE7A 15 7NKQ BRN XRCE4 [NEXT PARAM 5 7P5B XRCE9 8 7PK2 LDN 5 RPLUS 9 7Q4L TXU 6 PLUS(1) 8 7QJ= BCS XERRC 8 7R3W BRN XRCE6 5 7RHG XRCA8A 8 7S36 CALL 7 PCB 9 7SGQ LDX 0 STYPE(2) 7 7T2B SBN 0 4 8 7TG2 BZE 0 XRCK1 5 7T_L XRCA8 8 7WF= CALL 7 STEP 5 7WYW XRCA2 8 7XDG CALL 7 PCB 14 7XY6 BNZ 3 XRCA6 [X3=0,EOF 5 7YCQ XRCAN 15 7YXB CLOSETOP [CLOSE FILE 7 7_C2 LDN 7 0 7 7_WL LDN 4 0 16 82B= BRN XITC [SET PARAM NULL 5 82TW XRCA6 17 83*G SMO 4 [PTR TO IUSER/G400BLK 15 83T6 LDX 1 RS [FILE TYPE 7 84#Q SMO 4 17 84SB LDN 2 RSTRING [RECORD DESCRIPTION 17 85#2 LDX 5 0(3) [WORD COUNT OF REC 8 85RL SMO FX2 9 86?= LDX 0 AWORK1 16 86QW BZE 0 XRCA0 [J IF AMORPHOUS 8 87=G LDCT 7 #600 8 87Q6 ANDX 7 1(3) 15 889Q BZE 7 XRCA9 [J FULL WORD 7 88PB SBN 5 1 5 8992 XRCA9 7 89NL ORX 5 7 5 8=8= XRCA0 17 8=MW SLC 5 2 [SIZE IN CHARACTERS 7 8?7G SBX 5 1 17 8?M6 BNG 5 XRCA8 [J TOO SMALL,GET NEXT 7 8#6Q SMO 4 9 8#LB LDX 7 RCOUNT 7 8*62 TXL 5 7 21 8*KL BCS XRCA8 [READ AGAIN IF REC < NO. OF CHARS IN 7 8B5= SRC 1 2 7 8BJW ADX 1 3 7 8C4G LDN 6 1 7 8CJ6 SMO 4 15 8D3Q LDX 0 STYPE [C OR S PARAM 7 8DHB SBN 0 2 14 8F32 BNZ 0 XRCA3 [J IR S 7 8FGL LDX 6 5 7 8G2= SBX 6 7 7 8GFW ADN 6 1 5 8G_G XRCA3 7 8HF6 SMO 4 17 8HYQ STO 6 SPARE [NO. OF SPARE CHARS 7 8JDB SBN 0 1 15 8JY2 BNZ 0 XRCA4 [J IF NOT S 7 8KCL LDX 6 5 17 8KX= SBX 6 7 [NO OF SPARE CHARS 15 8LBW BZE 6 XRCA4 [J IF NONE 5 8LWG XRCA5 8 8MB6 LDCH 0 0(1) 8 8MTQ SBN 0 #20 18 8N*B BNZ 0 XRCA4 [REMOVE LEADING SPACES 7 8NT2 BCHX 1 / 8 8P#L BCT 6 XRCA5 8 8PS= BRN XRCA8 5 8Q?W XRCA4 19 8QRG CALL 7 SCAN [FIND REC MATCHING CONTEXT 15 8R?6 BRN XRCA8 [NOT FOUND 7 8RQQ SMO 4 8 8S=B LDX 0 RSTAR 19 8SQ2 BCT 0 XRCA7 [J IF NTH REC SPEC BY * PARAM 8 8T9L LDX 1 FX1 5 8TP= XRCAP 7 8W8W SMO 4 8 8WNG LDX 4 RPLUS 8 8X86 BZE 4 XRCDI 8 8XMQ BRN XRCD 5 8Y7B XRCA7 7 8YM2 SMO 4 8 8_6L STO 0 RSTAR 8 8_L= BRN XRCA8 4 925W PCB 11 92KG MHUNT 2,IUSER,G400BLK 7 9356 LDX 4 2 7 93JQ EXIT 7 0 4 944B # 12 94J2 # SUBROUTINE TO SCAN CONTEXT 4 953L # 4 95H= SCAN 7 962W SMO 4 19 96GG LDX 5 RCOUNT [COUNT OF CHARS MINUS DELIMS 5 9726 SCAN5 18 97FQ LDCH 6 0(2) [CHAR FROM RECORD DESC 7 97_B SMO 4 14 98F2 LDX 0 RD [DUMMY 15 98YL BNG 0 SCAN1 [J IF ABSENT 16 99D= TXU 0 6 [IS CHAR A DUMMY? 14 99XW BCC SCAN2 [J IF Y 5 9=CG SCAN1 16 9=X6 LDCH 0 0(1) [CHAR FROM REC 16 9?BQ TXU 0 6 [MATCHES CONTEXT? 14 9?WB BCS SCAN3 [J IF NO 5 9#B2 SCAN2 7 9#TL BCHX 1 / 7 9**= BCHX 2 / 8 9*SW BCT 5 SCAN5 7 9B#G EXIT 7 1 5 9BS6 SCAN3 7 9C?Q SMO 4 17 9CRB LDX 0 SPARE [NO. OF SPARE CHARS 8 9D?2 BCT 0 SCAN4 7 9DQL EXIT 7 0 5 9F== SCAN4 7 9FPW SMO 4 8 9G9G STO 0 SPARE 8 9GP6 LDX 1 0(3) 7 9H8Q SLL 1 2 7 9HNB SBX 1 0 7 9J82 ADN 1 1 7 9JML SMO 4 9 9K7= SBX 1 RCOUNT 7 9KLW SRC 1 2 7 9L6G ADX 1 3 7 9LL6 SMO 4 9 9M5Q LDN 2 RSTRING 8 9MKB BRN SCAN 5 9N52 XERRC 7 9NJL CLOSETOP 8 9P4= BRN XERR 4 9PHW # 13 9Q3G # SUROUTINE TO CHECK FOR DELIMITER 4 9QH6 # 4 9R2Q PDCH 9 9RGB TXU 5 PAREN(1) 8 9S22 BCS PDCH3 10 9SFL LDX 5 PAREN+1(1) 7 9S_= EXIT 0 0 5 9TDW PDCH3 10 9TYG LDX 6 PDTABNO(1) 5 9WD6 PDCH1 9 9WXQ TXU 5 PDTAB(1) 8 9XCB BCC PDCH2 7 9XX2 ADN 1 1 8 9YBL BCT 6 PDCH1 7 9YW= ADN 0 1 5 9_*W PDCH2 8 9_TG LDX 1 FX1 7 =2*6 EXIT 0 0 5 =2SQ XRCK1 8 =3#B SMO FX2 9 =3S2 LDX 0 AWORK2 8 =4?L SMO FX1 9 =4R= TXL 0 NINDEX 8 =5=W BCC XERRC 7 =5QG SMO 0 7 =6=6 BRN / 8 =6PQ BRN XERRC 8 =79B BRN XERRC 8 =7P2 BRN XRKD 8 =88L BRN XRKS 8 =8N= BRN XERRC 8 =97W BRN XRKO 8 =9MG BRN XRKJ 8 ==76 BRN XERRC 4 ==LQ # 11 =?6B # DICTIONARY ENTRIES 4 =?L2 # 11 =#5L # CHECK KEY 4 =#K= # 4 =*4W XRKD 9 =*JG LDX 4 RCOUNT(2) 15 =B46 TXL 4 Y13(1) [>12=ERROR 17 =BHQ BCC XERRC [NOT USERNAME FORMAT 14 =C3B LDCH 0 RSTRING(2) [1ST CHAR 8 =CH2 SBN 0 #41 13 =D2L BNG 0 XERRC [<'A' 8 =DG= SBN 0 #33 13 =D_W BPZ 0 XERRC [>'Z' 15 =FFG SBN 4 1 [STEP COUNT 15 =F_6 BCHX 2 / [AND POINTER 8 =GDQ BZE 4 XRKD1 5 =GYB XRKD2 10 =HD2 LDCH 0 RSTRING(2) 8 =HXL SBN 0 #41 13 =JC= BNG 0 XRKD3 [<'A' 8 =JWW SBN 0 #33 13 =KBG BPZ 0 XERRC [>'Z' 5 =KW6 XRKD4 7 =L*Q BCHX 2 / 15 =LTB BCT 4 XRKD2 [RTRY NEXT 4 =M*2 # 12 =MSL # GET RECORD 4 =N#= # 5 =NRW XRKD1 11 =P?G SETNCORE 3,3,FILE,ADICT 16 =PR6 LDX 0 ACES [SPACE-FILL ADICT 8 =Q=Q STO 0 A1(3) 9 =QQB STO 0 A1+1(3) 9 =R=2 STO 0 A1+2(3) 8 =RPL CALL 7 PCB 10 =S9= LDN 4 RSTRING(2) 8 =SNW LDN 5 A1(3) 9 =T8G SMO RCOUNT(2) 7 =TN6 MVCH 4 0 8 =W7Q READDICT ,,NO 10 =WMB TESTREP NOUSER,XRCAN 5 =X72 XRCKX 8 =XLL CALL 7 PCB 7 =Y6= STEPAGAIN 18 =YKW BRN XRCAP [DO +SS AND INSERT RECORD 4 =_5G # 15 =_K6 # EXTRA BIT OF KEY CHECK 4 ?24Q # 5 ?2JB XRKD3 8 ?342 ADN 0 #21 15 ?3HL BZE 0 XRKD4 [J IF SPACE 15 ?43= SBN 0 #15 [J IF HYPHEH 8 ?4GW BZE 0 XRKD4 8 ?52G ADN 0 #23 8 ?5G6 BNG 0 XRKD4 15 ?5_Q BRN XERRC [ELSE ERROR 4 ?6FB # 12 ?6_2 # :SYSTEM.SERIAL 4 ?7DL # 15 ?7Y= # DECODE KEY 4 ?8CW XRKS 14 ?8XG LDX 4 RCOUNT(2) [COUNT 17 ?9C6 TXL 4 Y9(1) [TEST NO OF OCTITS 16 ?9WQ BCC XERRC [ERROR=TOOMANY 16 ?=BB LDN 3 RSTRING(2) [POINTER TO KEY 17 ?=W2 LDN 5 0 [INITIALISE TSN WORD 5 ??*L XRKS1 15 ??T= LDCH 6 0(3) [LOAD OCTIT 8 ?##W TXL 6 Y8(1) 16 ?#SG BCC XERRC [ERROR NOT < 8 7 ?*#6 SRC 6 3 7 ?*RQ SLL 56 3 15 ?B?B BCHX 3 / [STEP POINTER 17 ?BR2 BCT 4 XRKS1 [J IF MORE FOR NEXT 5 ?C=L XRKS2 9 ?CQ= SSEARCH XRCAN,5 8 ?D9W BRN XRCKX 4 ?DPG # 11 ?F96 # :SYSTEM.OUTPUT 4 ?FNQ # 4 ?G8B XRKO 12 ?GN2 # DECODE KEY 18 ?H7L # I.E. JOBNO URGENCY -(SUBINDEX)- 4 ?HM= # 15 ?J6W LDX 4 RCOUNT(2) [LOAD COUNT 16 ?JLG LDN 3 RSTRING(2) [POINTER TO KEY 16 ?K66 CALL 7 XDECBIN [CONVERT TO DEC 16 ?KKQ BZE 4 XERRC [ERROR,NO URGENCY 17 ?L5B ANDX 6 YDSK3(1) [MASK URGENCY FIELD 14 ?LK2 LDCH 0 0(3) [URGENCY 8 ?M4L TXL 0 PA(1) 16 ?MJ= BCS XERRC [ERROR NOT LETTER 9 ?N3W TXL 0 PZPLUS(1) 16 ?NHG BCC XERRC [ERROR NOT LETTER 16 ?P36 SRC 0 6 [SHIFT TO CHAR 0 16 ?PGQ ORX 6 0 [ADD IN TO JOBNO 7 ?Q2B SBN 4 1 7 ?QG2 BCHX 3 / 16 ?Q_L SMO FX2 [STORE URG/JOBNO 9 ?RF= STO 6 AWORK1 16 ?RYW LDN 6 1 [DEFAULT SUBINDEX 17 ?SDG BZE 4 XRKO1 [J NO AUXILIARY KEY 9 ?SY6 CALL 7 XDECBIN 4 ?TCQ # 14 ?TXB # READ RECORD 5 ?WC2 XRKO1 8 ?WWL LDX 2 FX2 10 ?XB= GETSOUT ,AWORK1(2),6 17 ?XTW BRN XRCKX [REJOIN MAIN STREAM 4 ?Y*G # 16 ?YT6 # CONVERSION ROUTINE 4 ?_#Q # 5 ?_SB XDECBIN 7 #2#2 LDN 5 0 7 #2RL LDN 6 0 5 #3?= XDECB1 8 #3QW CDB 5 0(3) 15 #4=G BCS XDECB2 [END OF DECS 14 #4Q6 BNZ 5 XERRC [TOO BIG 7 #59Q BCHX 3 / 9 #5PB BCT 4 XDECB1 5 #692 XDECB2 7 #6NL EXIT 7 0 4 #78= # 12 #7MW # :SYSTEM.JOBLIST 4 #87G # 4 #8M6 XRKJ 4 #96Q # 15 #9LB # CONVERT KEY TO BINARY 4 #=62 # 15 #=KL LDX 4 RCOUNT(2) [LOAD COUNT 15 #?5= TXL 4 Y8(1) [TEST TOO BIG 8 #?JW BCC XERRC 7 ##4G LDN 5 0 7 ##J6 LDN 6 0 16 #*3Q LDN 3 RSTRING(2) [POINTER TO KEY 5 #*HB XRKJ1 17 #B32 CDB 5 0(3) [CONVERT TO BINARY 18 #BGL BCS XERRC [ERROR NON-DECIMAL CHAR 16 #C2= BNZ 5 XERRC [ERROR,OVERFLOW 15 #CFW BCHX 3 / [STEP POINTER 17 #C_G BCT 4 XRKJ1 [LOOP FOR NEXT DIGIT 4 #DF6 # 15 #DYQ # KEY NOW IN BINARY IN X6 15 #FDB # READ RECORD FROM JOBLIST 9 #FY2 GETJOB 6,SYSTEM 9 #GCL TESTREPN OK,XRCAN 17 #GX= BRN XRCKX [REJOIN MAIN STREAM 4 #HBW #END 6 ____ ...031620400002