16 22FL ... SEG SETPE,,CENT(INSTALLATION HOOKS),,G400 4 22_= [ 15 23DW [ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23YG [ 4 24D6 # 17 24XQ SEGENTRY K1SETPE,SENTRY1 [SP PARAM[(CONTEXT)] 20 25CB SEGENTRY K2SETPE,SENTRY2 [SP ^ENCLOSED STRING^[(CONTEXT)] 4 25X2 # 13 26BL # THIS CHAPTER IS FOR G3PLUS-IH MK2 4 26W= # 4 27*W # 15 27TG # THIS ROUTINE ANALYSES 2ND PART OF 2ND PARAM . 15 28*6 # IF OF TYPE (N1,N2) IT BRANCHES TO MESSAGENOS. 14 28SQ # OTHERWISE ON EXIT X6 CONTAINS CONTEXT TYPE 12 29#B # AND X7 CONTAINS SEARCH CHARACTER. 12 29S2 # IF 2ND PART MISSING X6 & X7 = 0. 4 2=?L # 6 2=R= XCONTMESS 8 2?=W SBX 5 FX1 21 2?QG LDN 7 0 [FOR COMPATABILITY WITH MESSAGENOS 15 2#=6 SPARAPAS [(CONTEXT) 10 2#PQ MHUNT 3,CPB,CUNI 9 2*9B NGX 4 ANUM(3) 16 2*P2 BPZ 4 XCONTOUT [J IF NO PARAM 18 2B8L LDEX 6 ATYPE(3) [PARAM NO WITHIN CMULTI 19 2BN= PARANEXT #34,,6 [SPLIT AT COMMA IF PRESENT 7 2C7W PARANUMB 6 7 2CMG SBN 6 1 10 2D76 MHUNT 3,CPB,CUNI 9 2DLQ LDX 4 ANUM(3) 18 2F6B BZE 4 XERR [ERROR IF 1ST PARAM NULL 9 2FL2 LDCH 4 APARA(3) 16 2G5L TXU 4 XCA(1) [CHECK IF CONTEXT 9 2GK= BCC XCONTA 9 2H4W TXU 4 XCB(1) 9 2HJG BCC XCONTA 9 2J46 TXU 4 XCH(1) 9 2JHQ BCC XCONTA 9 2K3B TXU 4 XCT(1) 9 2KH2 BCC XCONTA 9 2L2L TXU 4 XAST(1) 18 2LG= BCS XH [(N1,N2) ASSUMED IF NOT 5 2L_W XCONTA 17 2MFG BZE 6 XCONT1 [J IF ONLY 1 PARAM 9 2M_6 LDX 6 ANUM(3) 8 2NDQ ANDN 6 #7777 7 2NYB SBN 6 1 19 2PD2 BNZ 6 XERR [ERROR IF PARAM LENGTH > 1 16 2PXL LDCH 6 APARA(3) [SAVE 1ST PARAM 7 2QC= PARAPASS 15 2QWW MHUNT 3,CPB,CUNI [2ND PARAM 9 2RBG LDX 7 ANUM(3) 19 2RW6 BNZ 7 XERR [ERROR IF 2ND PARAM NOT NULL 9 2S*Q LDX 7 XCOMMA(1) 9 2STB BRN XCONT3 5 2T*2 XCONT1 9 2TSL LDCH 6 APARA(3) 7 2W#= LDX 4 6 8 2WRW SBN 4 #32 15 2X?G BNZ 4 XCONT2 [J IF NOT * 7 2XR6 LDN 0 0 16 2Y=Q DCH 0 APARA(3) [REPLACE * WITH 0 10 2YQB CHNUMCOD 1,3,XBREAK 19 2_=2 TESTREP CHNUMERR,XERR10 [J IF CONVERSION UNSUCCESSFUL 14 2_PL NGN 6 #32 [* IN X6 15 329= LDX 7 ACOMMUNE1(2) [RESULT IN X7 14 32NW BRN XCONT4 [&EXIT 5 338G XCONT2 16 33N6 LDX 7 ANUM(3) [GET PARAM LENGTH 8 347Q ANDN 7 #7777 17 34MB SBN 7 2 [IS PARAM LENGTH = 2 17 3572 BZE 7 XCONT2A [STRAIGHTFORWARD CASE 18 35LL BPZ 7 XERR [>2 PARAM LENGTH -> ERROR 16 366= LDCH 6 APARA(3) [1ST PARAM IN X6 18 36KW LDX 7 XSPACE(1) [ASSUME SPACE AS SPLITTER 9 375G BRN XCONT3 5 37K6 XCONT2A 7 384Q LDN 6 0 9 38JB LDX 7 APARA(3) 18 3942 SLL 67 6 [1ST CHAR OF PARAM IN X6 9 39HL BRN XCONT3 5 3=3= XCONTOUT 16 3=GW LDN 6 0 [NO ACTION CASE 16 3?2G LDX 7 GSIGN [UNSET INDICATORS 9 3?G6 BRN XCONT4 5 3?_Q XCONT3 19 3#FB NGX 6 6 [NEGATE X6 AS CONTEXT INDIC 19 3#_2 SRL 7 18 [SEARCH CHAR IN N3 POS OF X7 5 3*DL XCONT4 10 3*Y= MFREE CPB,CMULTI 9 3BCW MFREE CPB,CUNI 8 3BXG ADX 5 FX1 7 3CC6 EXIT 5 0 4 3CWQ # 9 3DBB XCA 4H000A 9 3DW2 XCB 4H000B 9 3F*L XCH 4H000H 9 3FT= XCT 4H000T 13 3G#W XBIG #73 [[ 8 3GSG SPACE #20 9 3H#6 XAST 4H000* 9 3HRQ XCOMMA 4H,000 9 3J?B XSPACE 4H 000 4 3JR2 # 4 3K=L # 6 3KQ= MESSAGENOS 4 3L9W # 14 3LPG # SPACE-SAVING VERSION TO ALLOW OTHER MODS 4 3M96 # 8 3MNQ SBX 5 FX1 20 3N8B LDN 7 0 [ INDICATE NO NUMBERS YET READ 17 3NN2 PARAPASS [ (N1,N2) IF PRESENT 10 3P7L HUNT 3,CPB,CUNI 9 3PM= NGX 4 ANUM(3) 16 3Q6W BPZ 4 SLINK [ NO PARAMETER 20 3QLG LDEX 6 ATYPE(3) [PARAM NO. FROM MULTI PARAM BL 9 3R66 PARANEXT #34,,6 4 3RKQ XH 15 3S5B HUNT 3,CPB,CUNI [ N1 OR N2 9 3SK2 LDX 4 ANUM(3) 18 3T4L BZE 4 XERR [ ERROR IF NULL PARAMETER 17 3TJ= BNG 4 NON [ PARAMETER MISSING 4 3W3W XH2 10 3WHG CHNUMCOD 1,3,XBREAK 10 3X36 TESTREP2 CHNUMERR,XERR 17 3XGQ LDX 6 ACOMMUNE1(2) [ CONVERTED NUMBER 17 3Y2B BNG 6 XERR [ ERROR IF NEGATIVE 14 3YG2 BZE 6 XERR [ OR ZERO 20 3Y_L BNZ 7 SLINK [ EXIT IF BOTH N1 AND N2 NOW READ 16 3_F= LDX 7 6 [ COPY N1 INTO X7 16 3_YW PARAPASS [ N2 IF PRESENT 19 42DG BRN XH [ REPEAT CONVERSION FOR N2 4 42Y6 NON 17 43CQ BZE 7 XERR [ ERROR IF N1 MISSING 5 43XB SLINK 10 44C2 MHUNT 3,CPB,CUNI 7 44WL FREECORE 3 8 45B= ADX 5 FX1 7 45TW EXIT 5 0 5 46*G XHNT1 8 46T6 SBX 7 FX1 8 47#Q SPARANXT ,,4 8 47SB BRN XHNT2 4 48#2 XHNT 8 48RL SBX 7 FX1 8 49?= PARANEXT ,,4 5 49QW XHNT2 10 4==G TESTREP UNPAIR,XERR 8 4=Q6 ADX 7 FX1 10 4?9Q HUNT 3,CPB,CUNI 7 4?PB EXIT 7 0 4 4#92 # 15 4#NL # ROUTINE TO LOCATE CPB CALAS BLOCK AT THE 8 4*8= # LEVEL ABOVE 4 4*MW # 5 4B7G XP400 8 4BM6 LDX 1 FX2 19 4C6Q LDN 6 2 [GOING UP 2 CPB/CALAS BLKS 5 4CLB XP400A 16 4D62 LDX 1 FPTR(1) [GO ROUND CHAIN 16 4DKL LDX 0 ATYPE(1) [THE BLOCK TYPE 16 4F5= SRL 0 12 [INTO BOTTOM BITS 15 4FJW ERN 0 CPB+CALAS [MASK TYPE 17 4G4G BNZ 0 XP400A [NOT REQUIRED BLOCK 18 4GJ6 BCT 6 XP400A [JUMP FIRST TIME AROUND 15 4H3Q EXIT 7 0 [THAT'S ALL 4 4HHB XERR 8 4J32 SMO FX1 9 4JGL LDX 7 PAPFERR 4 4K2= XER1 8 4KFW SMO FX2 9 4K_G LDX 4 AWORK4 7 4LF6 NGN 6 1 19 4LYQ BZE 4 XER2 [J IF NOT SETPARAM EXPRESSION 7 4MDB PARAFREE 7 4MY2 UNIFREE 8 4NCL LDX 2 FX2 9 4NX= LDX 0 AWORK3(2) 10 4PBW STO 0 JOBEVENTS(2) 5 4PWG UP 4 4QB6 XER2 8 4QTQ COMERRX 7,6 4 4R*B # 9 4RT2 PCHNUMERR +CHNUMERR 9 4S#L PAPFERR +APFERR 4 4SS= # 5 4T?W XBREAK 7 4TRG COMBRKIN 4 4W?6 # 20 4WQQ # ############################################################# 4 4X=B # 11 4XQ2 # K K 1 11 4Y9L # K K 11 11 4YP= # K K 1 11 4_8W # K K 1 11 4_NG # KKK 1 11 5286 # K K 1 11 52MQ # K K 1 11 537B # K K 1 11 53M2 # K K 1 4 546L # 20 54L= # ############################################################# 4 555W # 5 55KG SENTRY1 4 5656 # 15 56JQ # THE CODING FOR SP PARAM [(CONTEXT)] 4 574B # 4 57J2 XPAR 15 583L LDN 4 2 [2ND PARAM 21 58H= CALL 7 XHNT1 [FORM CPB/CUNI CONTAINING OLD PARAM 9 592W LDX 7 ANUM(3) 16 59GG BNG 7 XERR [PARAM MISSING 14 5=26 BZE 7 XERR [OR NULL 8 5=FQ ANDN 7 #7777 7 5=_B SBN 7 1 19 5?F2 BNZ 7 XERR [ERROR IF OLD PARAM > 1 CHAR 9 5?YL LDCH 6 APARA(3) 9 5#D= TXL 6 XCA(1) 16 5#XW BCS XERR [J IF PARAM < A 14 5*CG TXL 6 XBIG(1) [OR >= X 8 5*X6 BCC XERR 5 5BBQ XPAR2 20 5BWB CALL 7 XP400 [LOCATE CPB/CALAS AT LEVEL ABOVE 9 5CB2 LDCH 6 APARA(3) 8 5CTL SBN 6 #40 16 5D*= LDX 7 APARANUM(1) [NO. OF PARAMS 7 5DSW SBX 7 6 9 5F#G BPZ 7 XPAR2A 17 5FS6 LDN 5 0 [SET NULL FOR COMDAT 9 5G?Q STO 5 AWORK1(2) 8 5GRB BRN XPAR5 5 5H?2 XPAR2A 7 5HQL LDN 4 0 4 5J== # 19 5JPW # AT END OF LOOP X4+X1 POINT TO TYPE/LENGTH OF REQUIRED PARAM 4 5K9G # 8 5KP6 BRN XPAR4 5 5L8Q XPAR3 16 5LNB ADX 4 5 [ADD LENGTH IN 5 5M82 XPAR4 7 5MML SMO 4 10 5N7= LDX 5 APARAFIR(1) 17 5NLW ANDN 5 #7777 [GET LENGTH OF PARAM 16 5P6G STO 5 AWORK1(2) [SAVE CHAR COUNT 7 5PL6 ADN 5 3 17 5Q5Q SRL 5 2 [ROUND UP TO WORDS 18 5QKB ADN 4 1 [PLUS 1 FOR LENGTH WORD 8 5R52 BCT 6 XPAR3 5 5RJL XPAR5 21 5S4= ADN 5 APARA-A1 [LENGTH+(APARA-A1) GIVES REQUD BLKSIZ 11 5SHW SETUPCORE 5,3,COMDAT,CSETP 9 5T3G SBN 5 APARA-A1 9 5TH6 LDX 0 AWORK1(2) 16 5W2Q STO 0 ANUM(3) [SET CHAR COUNT 8 5WGB BZE 5 XITA 16 5X22 CALL 7 XP400 [RELOCATE CALAS 16 5XFL ADX 1 4 [X1 -> REQD PARAM 19 5X_= LDCT 7 #400 [SET B0=1,IE PARAM ACCESSED 18 5YDW ORS 7 APARAFIR-1(1) [ALLOW FOR X1 POINTING 18 5YYG # [BEYOND TYPE/LENGTH WORD 9 5_D6 ADN 1 APARAFIR 9 5_XQ LDN 2 APARA(3) 5 62CB XNNUL 7 62X2 SMO 5 16 63BL MOVE 1 0 [MOVE TO COMDAT 10 63W= MFREE CPB,CMULTI 9 64*W MFREE CPB,CUNI 7 64TG PARAPASS 9 65*6 MFREE CPB,CUNI 9 65SQ CALL 5 XCONTMESS 17 66#B BNG 7 XITA [NO FURTHER ACTION 11 66S2 MHUNT 3,COMDAT,CSETP 19 67?L BPZ 6 XPAR5Z [X6 +VE -> NOT CONTEXT SEARCH 19 67R= NGX 6 6 [RESTORE X6 TO CORRECT VAL 8 68=W LDX 1 FX1 9 68QG TXU 6 XCA(1) 9 69=6 BCC XPAR5AA 9 69PQ TXU 6 XCB(1) 19 6=9B BCS XERR [ONLY CONTEXT A& B ALLOWED 5 6=P2 XPAR5AA 17 6?8L LDX 4 3 [SAVE COMDAT ADDR. 14 6?N= LDX 0 ANUM(3) [COUNT 8 6#7W ANDN 0 #7777 5 6#MG XPAR5A1 18 6*76 LDCH 5 APARA(3) [TRY TO MATCH SEARCH CHAR 7 6*LQ SBX 5 7 7 6B6B BCHX 3 / 15 6BL2 BZE 5 XPAR5A2 [J IF MATCH 18 6C5L BCT 0 XPAR5A1 [DROP THROUGH-> NO MATCH 9 6CK= TXU 6 XCB(1) 8 6D4W BCC XITA 7 6DJG SMO 4 16 6F46 STO 0 ANUM [ZEROISE COUNT 14 6FHQ BRN XITA [AND EXIT 5 6G3B XPAR5A2 9 6GH2 TXU 6 XCA(1) 16 6H2L BCS XPAR5B [J IF CONTEXT B 7 6HG= BCT 0 / 7 6H_W SMO 4 16 6JFG STO 0 ANUM [STORE NEW LENGTH 19 6J_6 BZE 0 XITA [J IF NOCHARS FOLLOW SPLITTER 8 6KDQ ADN 4 APARA 20 6KYB ADN 3 APARA [ABSOLUTE ADDR OF PARAM IN COMDAT 7 6LD2 SMO 0 7 6LXL MVCH 3 0 8 6MC= BRN XITA 5 6MWW XPAR5B 7 6NBG SMO 4 15 6NW6 SBS 0 ANUM [NEW COUNT 8 6P*Q BRN XITA 5 6PTB XPAR5Z 18 6Q*2 LDX 4 ANUM(3) [COUNT OF CHARS IN REC 14 6QSL TXL 6 7 [N2 1 STR PRODUCED 21 87Q6 # [IF ONLY 1 IT MEANS NOTHING FOLLOWS 21 889Q # [CONTEXT CHAR SO A NULL STR RETURNED 9 88PB BRN XLOAD1A 5 8992 XGETCON4 17 89NL SBN 6 1 [MORE THAN 2 STRS? 14 8=8= BNZ 6 XGETCON5 [J IF Y 7 8=MW LDN 6 2 16 8?7G SPARANOX 6 [PASS LAST STR 10 8?M6 HUNT 3,CPB,CUNI 9 8#6Q LDN 7 APARA+1 9 8#LB BRN XLOAD1 5 8*62 XGETCON5 17 8*KL # [IF > 2 STRS PRODUCED 20 8B5= # [ALL EXCEPT 1ST SHOULD BE PASSED 7 8BJW SPARAPAS 17 8C4G HUNT 3,CPB,CUNI [1ST STR FROM CMULTI 16 8CJ6 LDX 4 7 [SAVE SPLITTER 9 8D3Q LDX 7 ANUM(3) 18 8DHB ANDN 7 #7777 [NO. OF CHARS.IN 1ST STR 18 8F32 PARATYPE 6 [GET PARAM TYPE OF STR 20 8FGL # [SPLIT BY PARALYSE AFTER XGETCON3 9 8G2= MFREE CPB,CUNI 10 8GFW MFREE CPB,CMULTI 19 8G_G HUNT 3,CPB,CUNI [CUNI CONTAINING WHOLE STR 7 8HF6 SBN 6 2 9 8HYQ BNZ 6 XGETCON6 4 8JDB # 14 8JY2 # IF COMPOSITE WANT TO IGNORE BRACKET 7 8KCL ADN 7 1 5 8KX= XGETCON6 16 8LBW LDX 0 3 [SAVE CUNI ADDR 17 8LWG LDX 5 7 [COPY NUMERIC CHAR CT 16 8MB6 SRC 5 2 [BUILD CHAR MOD 7 8MTQ ADX 3 5 5 8N*B XGTCN6B 9 8NT2 LDCH 6 APARA(3) 7 8P#L SBX 6 4 7 8PS= ADN 7 1 17 8Q?W BZE 6 XGTCN6A [JUMP OUT IF SPLITTER 7 8QRG BCHX 3 / 9 8R?6 BRN XGTCN6B 5 8RQQ XGTCN6A 4 8S=B # 15 8SQ2 # NOW X7 CAN LOCATE STRING AFTER 1ST SPLITTER 17 8T9L LDX 3 0 [RESTORE CUNI ADDR 18 8TP= SBS 7 ANUM(3) [DECREASE COUNT IN COMDAT 7 8W8W SRC 7 2 9 8WNG ADN 7 APARA+1 9 8X86 BRN XLOAD1 21 8XMQ XGETRZ [THIS IS WHERE WE COME FOR (N1,N2) PA 18 8Y7B TXL 4 7 [N1> NO OF CHRS IN BL? 8 8YM2 BCC XNALL 13 8_6L LDN 4 0 [N 8 8_L= BRN ZALLM 5 925W XNALL 14 92KG TXL 6 7 [N2NO OF CHARS.NOT AN ERROR NOW 4 95H= XGET 14 962W SBS 7 6 [6=N1-N2 21 96GG ADN 6 1 [COUNT OF CHARS IN 'NEW' PARAMETER 7 9726 SBN 7 1 18 97FQ SRC 7 2 [ADDRESS OF 1ST CHAR IN 7 8 97_B BRN XKILL 5 98F2 ZALLM 17 98YL LDX 6 4 [CHARACTER COUNT IN 6 18 99D= BZE 6 XLOAD1A [BRN IF NULL PARAMETER 4 99XW # 21 9=CG # ELIMINATE LEADING AND TRAILING SPACES FROM 'NEW' PARAMETER 4 9=X6 # 5 9?BQ XKILL 17 9?WB STO 3 AWORK2(2) [STORE ADDR OF CUNI 7 9#B2 ADX 3 7 21 9#TL ADN 3 A1+3 [X3 IS NOW ABSOLUTE POINTER TO 1ST CH 7 9**= LDN 0 0 9 9*SW STO 1 AWORK1(2) 8 9B#G LDX 1 FX1 4 9BS6 TSP 20 9C?Q LDCH 4 0(3) [GET A CHARACTER FROM PARAMETER 9 9CRB TXU 4 SPACE(1) 20 9D?2 BCS ONGO [BRN IF NO MORE LEADING SPACES 7 9DQL BCHX 3 / 21 9F== BCT 6 TSP [BRN IF CHARACTER COUNT NOT EXHAUSTED 16 9FPW BRN XLOAD2 [NULL PARAMETER 4 9G9G ONGO 18 9GP6 LDX 5 6 [ADJUSTED CHARACTER COUNT 7 9H8Q SBN 5 1 7 9HNB STO 3 7 9 9J82 SBX 7 AWORK2(2) 18 9JML BZE 5 XLOAD2 [J IF SINGLE CHARACTER 4 9K7= TNC 19 9KLW BCHX 3 / [POINTER TO NEXT CHARACTER 17 9L6G LDCH 4 0(3) [GET NEXT CHARACTER 9 9LL6 TXU 4 SPACE(1) 20 9M5Q BCS NTAA [NO TROUBLE AT ALL IF NOT SPACE 15 9MKB ADN 0 1 [SPACE COUNT 21 9N52 BCT 5 TNC [BRN IF CHARACTER COUNT NOT EXHAUSTED 21 9NJL SBX 6 0 [REDUCE CHARACTER COUNT BY 1 PER SPAC 9 9P4= BRN XLOAD2 4 9PHW NTAA 21 9Q3G LDN 0 0 [ZEROISE SPACE COUNT FOR NON SPACE CH 21 9QH6 BCT 5 TNC [BRN IF CHARACTER COUNT NOT EXHAUSTED 5 9R2Q XLOAD2 9 9RGB LDX 3 AWORK2(2) 9 9S22 BRN XLOAD1A 5 9SFL XLOAD1 9 9S_= LDX 6 ANUM(3) 15 9TDW ANDN 6 #7777 [CHAR COUNT 5 9TYG XLOAD1A 18 9WD6 LDX 5 6 [CHARACTER COUNT IN X5 21 9WXQ ADN 5 11 [8 FOR RED TAPE,3 TO ROUND DIVISION 17 9XCB SRL 5 2 [NO OF WORDS NEEDED 7 9XX2 PHOTO 4 8 9YBL GETCORE 5,1 7 9YW= FINDCORE 2 17 9_*W NAME 2,COMDAT,CSETP [CREATE COMDAT,CSETP 19 9_TG BNZ 6 ON [BRN IF NOT NULL PARAMETER 17 =2*6 STOZ ANUM(2) [SET NULL PARAMETER 9 =2SQ BRN XCROSS 4 =3#B ON 5 =3S2 XAPAR 10 =4?L MHUNT 3,CPB,CUNI 7 =4R= SBN 3 1 5 =5=W MLOAD 17 =5QG LDX 4 3 [IELATIVISED DATUM 19 =6=6 ADX 4 7 [ADDRESS OF 1ST CHAR REQUIRED 20 =6PQ LDN 5 A1+2(2) [START ADDRESS IN COMDAT,CSETP 16 =79B SMO 6 [CHARACTER COUNT 20 =7P2 MVCH 4 0 ['NEW' PARAMETER IN COMDAT,CSETP 17 =88L STO 6 A1+1(2) [CHARACTER COUNT IN 4 =8N= # 14 =97W # ROUTINE TO DETERMINE PARAMETER TYPE 4 =9MG # 7 ==76 LDX 3 2 5 ==LQ PTYPE 14 =?6B PTYPE COMDAT,CSETP,3,APARA,ANUM(3) 5 =?L2 XCROSS 8 =#5L SMO FX2 9 =#K= LDX 4 AWORK4 18 =*4W BZE 4 XC1 [J IF NOT SP EXPRESSION 8 =*JG CALL 7 UNIF 7 =B46 UPPLUS 1 4 =BHQ XC1 9 =C3B ACROSS SETPB,1 4 =CH2 # 4 =D2L UNIF 8 =DG= SBX 7 FX1 7 =D_W PARAFREE 7 =FFG UNIFREE 8 =F_6 LDX 2 FX2 9 =GDQ LDX 0 AWORK3(2) 10 =GYB STO 0 JOBEVENTS(2) 8 =HD2 ADX 7 FX1 7 =HXL EXIT 7 0 4 =JC= XITA 8 =JWW LDX 2 FX2 8 =KBG LDX 1 FX1 9 =KW6 LDX 7 AWORK2(2) 16 =L*Q BPZ 7 XITB [J IF SP PARAM 11 =LTB MHUNT 3,COMDAT,CSETP 9 =M*2 LDEX 7 ANUM(3) 16 =MSL BZE 7 XERR [ZERO CHARS = ERR 7 =N#= SBN 7 4 7 =NRW NGX 7 7 19 =P?G BNG 7 XERR [ONLY 1 TO 4 CHARS ALLOWED 17 =PR6 LDX 4 APARA(3) [WD TO BE CONVERTED 17 =Q=Q BZE 7 NOSH [J IF NO SHIFT REQUD 18 =QQB MPY 7 X6(1) [CONV TO BITS TO SHIFT 7 =R=2 SMO 0 7 =RPL SRL 4 0 4 =S9= NOSH 16 =SNW FREECORE 3 [FREE OLD COMDAT 8 =T8G CALL 5 XDEC 8 =TN6 BRN XIT 4 =W7Q XDEC 8 =WMB SBX 5 FX1 8 =X72 STO 5 GEN0 8 =XLL SMO FX2 16 =Y6= LDN 2 AWORK1 [RESULT ADDRESS 8 =YKW STOZ 0(2) 8 =_5G STOZ 1(2) 16 =_K6 LDN 7 1 [INITIALISE COUNT 17 ?24Q BPZ 4 POZ [J IF RESULT NON-NEG 17 ?2JB ADN 7 1 [ELSE UP CT FOR MINUS 7 ?342 NGX 4 4 16 ?3HL BNG 4 SPECIAL [TREAT #40000000# 9 ?43= LDX 6 MINUS(1) 15 ?4GW DCH 6 0(2) [INSERT MINUS 14 ?52G BCHX 2 / [STEP PTR 4 ?5G6 POZ 17 ?5_Q MPY 4 MAGIC(1) [CONV TO DL FRACTION 7 ?6FB LDN 0 7 7 ?6_2 MODE 0 4 ?7DL XCDR 8 ?7Y= CBD 4 0(2) 8 ?8CW LDCH 6 0(2) 8 ?8XG BNZ 6 YOKO 14 ?9C6 BCT 0 XCDR [DO NEXT 8 ?9WQ BRN WEND 4 ?=BB ONO 7 ?=W2 BCHX 2 / 8 ??*L CBD 4 0(2) 16 ??T= ADN 7 1 [UPDATE CHAR CT 4 ?##W YOKO 8 ?#SG BCT 0 ONO 4 ?*#6 WEND 7 ?*RQ LDX 4 7 7 ?B?B ADN 4 3 7 ?BR2 SRL 4 2 8 ?C=L BRN XITDC 5 ?CQ= SPECIAL 14 ?D9W LDN 1 SPEC(1) [-8388608 7 ?DPG MOVE 1 2 7 ?F96 LDN 7 8 7 ?FNQ LDN 4 2 5 ?G8B XITDC 8 ?GN2 LDX 5 GEN0 8 ?H7L ADX 5 FX1 7 ?HM= EXIT 5 0 5 ?J6W XCONV 8 ?JLG SBX 5 FX1 8 ?K66 CHNUMCOD 1,3 11 ?KKQ TESTREP CHNUMERR,XCONV1 8 ?L5B ADX 5 FX1 15 ?LK2 EXIT 5 1 [NORMAL EXIT 5 ?M4L XCONV1 15 ?MJ= ADX 5 FX1 [ERROR EXIT 7 ?N3W EXIT 5 0 4 ?NHG XIT 9 ?P36 LDN 5 AWORK1 4 ?PGQ XITC 7 ?Q2B ADN 4 2 15 ?QG2 SETUPCORE 4,3,COMDAT,CSETP [PARAM BLOCK 9 ?Q_L STO 7 ANUM(3) 8 ?RF= BZE 7 XITB 7 ?RYW SMO 5 8 ?SDG LDN 1 0(2) 9 ?SY6 LDN 2 APARA(3) 7 ?TCQ SMO 7 7 ?TXB MVCH 1 0 15 ?WC2 # [INSERT PARAM 7 ?WWL SBN 4 2 7 ?XB= SLL 4 2 7 ?XTW SBX 4 7 8 ?Y*G BZE 4 XITB 8 ?YT6 LDN 1 ACES 7 ?_#Q SMO 4 7 ?_SB MVCH 1 0 4 #2#2 XITB 10 #2RL ... ACROSS SETPARAM,4 4 #3?= # 4 #3QW PN2 7 #4=G FREECORE 3 18 #4Q6 BRN XERR2 [PARAMETER FORMAT ERROR 5 #59Q XERR1 18 #5PB LDX 6 PJSETP3(1) [ 2ND PARAMETER MISSING 8 #692 CALL 2 XOR 9 #6NL +JPARMIS 5 #78= XERR2 18 #7MW CALL 2 NGN [ PARAMETER FORMAT ERROR 9 #87G +APFERR 5 #8M6 XERR3 15 #96Q CALL 2 NGN [ NO MESSAGE 9 #9LB +JSETP6 5 #=62 XERR4 15 #=KL CALL 2 NGN [ NO DISPLAY 9 #?5= +JSETP5 5 #?JW XERR5 18 ##4G LDX 6 PJSETP8(1) [ 1ST PARAMETER MISSING 8 ##J6 CALL 2 XOR 9 #*3Q +JPARMIS 5 #*HB XERR6 19 #B32 CALL 2 NGN [ NOT ALLOWED AT C.P. LEVEL 0 9 #BGL +JSETP2 5 #C2= XERR8 8 #CFW CALL 2 NGN 9 #C_G +JSETP12 5 #DF6 XERR9 8 #DYQ CALL 2 NGN 9 #FDB +ERUNPAIR 5 #FY2 XERR12 10 #GCL NAME 3,CPB,CUNI 5 #GX= XERR10 8 #HBW CALL 2 NGN 9 #HWG +CHNUMERR 5 #JB6 XERR7 8 #JTQ CALL 2 NGN 9 #K*B +JSETP7 4 #KT2 NGN 7 #L#L NGN 6 1 4 #LS= XOR 8 #M?W LDX 7 0(2) 8 #MRG SMO FX2 9 #N?6 LDX 4 AWORK4 8 #NQQ BZE 4 XOR1 8 #P=B CALL 7 UNIF 5 #PQ2 UP 4 #Q9L XOR1 8 #QP= COMERRX 7,6 4 #R8W # 9 #RNG MAGIC +7036875 8 #S86 X6 +6 8 #SMQ MINUS #35 10 #T7B SPEC 8H-8388608 9 #TM2 PJSETP3 +JSETP3 9 #W6L PJSETP8 +JSETP8 4 #WL= #END 6 ____ ...160054360001