HARDIDF867
(George Source)
Macros used: ALTLEN, CHAIN, CLOSE, COMBRKIN, COMERRX, ENDCOM, FMOPG, FREECORE, GEOERR, HUNT2, HUNT2OPT, HUNTMISB, HUNTW, IDFOPEN, IDFWRITE, LONGCLEAR, MENDAREA, MFREECELL, MGETCELL, MHUNTW, MSEARCH, MXB, OUTNUM, OUTPARAM, SEGENTRY, SETNCORE, SETUPCORE, SPARANXT, TESTREP2, TRACE
- HARDIDF867.txt
22FL #SEG HARDIDF8 [G CONSTANTINIDES 22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS 1982 22^= #OPT K0HARDIDF=0 23DW #LIS K0HARDIDF>K0ALLGEO>K0GREATGEO>K0COMMAND>K0IDF 23YG 8HHARDIDF8 24D6 # ENTRY POINTS 24XQ SEGENTRY K1HARDIDF,Z1HARDIDF 25CB MENDAREA 50,K100HARDIDF 25X2 [ERROR MESSAGES 26BL XMOPON +JRES 26W= XILLUN +ILLUN [ILLEGAL UNIT NO 27*W XILLINE +ILLINE [ILLEGAL LINE NO 27TG XELEVEN +ELEVEN [ELEVEN 7020 DEVICES ON THIS LINE 28*6 XIDFUN +IDFUN [NO UNITS 28SQ XADDPOLL +ADDPOLL 29#B XILLDEV +ILLDEV 29S2 XCONPROAT +CONPROAT [CONSOLE PROP ATTRIBUTED 2=?L XCONCLUS +CONCLUS [THIS DEVICE IS CLUSTER CONSOLE 2=R= XIDENT +IDEXISTS [7020 IDENTIFIER ALREADY EXISTS 2=YD ...#UNS ANSTOOMANY 2?5L ...XTOOMANY +JMAXPAR [TOOMANY PARAMETERS IE >24 2#PQ TABLE BRN NULL 2*9B BRN XMOP 2*P2 BRN XBULK 2B8L BRN SENT 2BN= SCMID HUNTMISB 1,IDF,ITERMID 2C7W BNG 1 (5) 2CMG EXIT 5 1 2J46 XMSEARCH [X2=ADD OF RECORD TO START SEARCH:X3=CELL PTR 2JHQ SBX 6 FX1 2K3B MSEARCH 2,3,4 2KH2 ADX 6 FX1 2L2L EXIT 6 0 2M^6 RECFIND 2NDQ HUNT2 2,FILE,FRRB 2NYB TXU 5 BRECNO+A1(2) 2PD2 BCS RECFIND 2PXL ADN 2 A1 2QC= EXIT 6 0 2Y=Q YREC BPZ 3 SAME 2YQB YREC1 SBX 5 FX1 2^=2 LDX 0 3 2^PL SRL 0 9 329= ANDN 0 #7777 32NW LDX 2 FX2 338G STO 0 ACOMMUNE3(2) 33N6 MXB 2 347Q ADX 5 FX1 34MB SAME ANDN 3 #777 3572 EXIT 5 0 35LL MFREEC [ROUTINE TO FREE CELL 366= SBX 5 FX1 36KW MFREECELL 2,3 375G ADX 5 FX1 37K6 EXIT 5 0 384Q THROW SBX 6 FX1 [THIS ROUTINE DISCARDS ASSOC & ATTRIB 38JB SMO 2 3942 LDX 5 BATT(3) 39HL BZE 5 TH4 [J.IF NO ATTRIBUTIONS 3=3= LDX 3 5 [OTHERWISE GO TO ATTRIBUTION CELL- 3=GW CALL 5 YREC [& SEE IF CONSOLE PROPERTY ATTRIBUT. 3?2G SMO 2 3?G6 LDX 0 BTYPE(3) 3?^Q BNZ 0 PROAT [ERROR:THIS DEVICE HAS CONS.PROP.ATT. 3#FB LDX 3 4 [BACK TO ORIGINATING CELL-X4 PRE-SET 3#^2 CALL 5 YREC1 3*DL ORX 6 GSIGN [X6 NEG USED AS SWITCH 3*Y= LDN 3 BATT(3) [TO FREE ATT.CELL 3BCW TH1 CALL 5 MFREEC [FREE CELL 3BXG BPZ 6 TH3 [X6 POS IF ALL DONE 3CC6 ANDX 6 BITS22LS 3CWQ SBN 3 BATT-BASS [TO FREE ASSOC. CELL 3DBB TH2 SMO 2 3DW2 LDX 5 0(3) 3F*L BNZ 5 TH1 [J.TO FREE ASSOC.CELL 3FT= TH3 ADX 6 FX1 3G#W EXIT 6 0 3GSG TH4 LDN 3 BASS(3) [NO ATT'S,BUT WHAT ABOUT ASSOCS 3H#6 BRN TH2 3HRQ TERAD #7420 3J?B #7430 3JR2 #7400 3K=L #7410 3KQ= #7440 3L9W #7450 3LPG #7460 3M96 #7470 3MNQ #7540 3N8B #7550 3NN2 #7560 3P7L #7570 3P8M ...[ 3P?Q ...ZBRKINI COMBRKIN 3P#R ...[ 3P*S ...[ 3RKQ Z1HARDIDF 3RS2 ... IDFOPEN ZBRKINI 3SK2 MHUNTW 1,IDF,CONDATA 3T4L #SKI JSKI17<1$1 3TJ= LDX 4 A1(1) [UNIT NO FOR HW COMMAND 3W3W LDN 7 0 [POINTER TO CURRENT WD IN CONDATA BLK 3WHG LDX 3 BUNIT(2) 3X36 #SKI JSKI17 3XGQ LDXC 4 A1(1) 3Y2B BZE 3 YIDFUN [ERROR-NO UNITS 3YG2 CALL 5 SCMID 3Y^L BRN TMDOK 3^F= LDX 6 ALOGLEN(1) 3^YW BZE 6 TMDOK 42DG TRACE 6,YZLOGLN [YZQZTRACE 42Y6 LDX 3 BRECNO(2) 43CQ SETUPCORE 6,2,IDF,ITERMID 43XB CALL 5 SCMID 44C2 BRN (GEOERR) 44WL ADN 2 A1 45B= ADN 1 A1 45TW SMO 6 46*G MOVE 1 0 46T6 LDX 2 FX2 47#Q LDX 5 3 47SB CALL 6 RECFIND 48#2 TMDOK 48RL LDN 3 BUNIT [CELL PTR TO BASE OF UNIT CHAIN 49?= CALL 6 XMSEARCH [SEARCH FOR UNIT CELL:UNIT NO IN X4 49QW SMO FX2 4==G LDX 6 ACOMMUNE1 4=Q6 BZE 6 YILLUN [ERROR-ILLEGAL UNIT 4?9Q [UNIT EXISTS 4?PB LDX 6 BRECNO(2) 4#92 SMO FX2 4#NL STO 6 AWORK1 [STORE REC NO FOR UNIT CELL 4*8= SMO FX2 4*MW STO 3 AWORK2 [STORE CELL PTR FOR UNIT CELL 4QB6 NEXTLINE 4QTQ MHUNTW 1,IDF,CONDATA 4R*B ADN 7 1 [UPDATE X7 4RT2 SMO 7 4S#L LDX 4 A1(1) [PICK UP TYPE/LINE NO WORD 4SS= BNG 4 YIPEE [J.IF FINISHED 4T?W LDN 3 BLINE(3) 4TRG CALL 6 XMSEARCH 4W?6 SMO FX2 4WQQ LDX 6 ACOMMUNE1 4X=B BZE 6 YILLINE [ERROR-LINE NO ILLEGAL 4XQ2 [LINE EXISTS:CHAR 0 OF X4 CONTAINS NEW DEVICE TYPE 4Y9L SMO 2 4YP= LDX 6 BTYPE(3) [PICK UP OLD DEVICE TYPE/GEOG NO 4^8W SMO 2 4^NG LDX 0 BNUMB(3) [-VE IF MOPPED ON 5286 BPZ 0 XNMOPONA [J IF MOPPED OFF -OK 52MQ # IF UNIT MORRED ON THEN HW ONLY ALLOWED IF LINE WAS NULL 537B # OR ATTACHED TO A CONCEPTUAL 53M2 SMO 2 546L LDX 0 CONTCEP(3) 54L= BNZ 0 XMOPONA [J IF CONCEPTUAL-OK 555W LDN 1 0 55KG LDCH 0 6(1) [CHECK OLD TYPE 5656 BNZ 0 XERA [ERROR-NOT NXLL 56JQ XMOPONA 574B LDEX 5 6 [GEOG NO IN X5 57J2 FMOPG 1,5,MOP [FIND AMOR 583L BNG 1 XGUN [MUST EXIST 58H= STO 1 5 [SAVE PTR TO AMOR 592W HUNT2OPT 1,AMXOR,ALINES [MUST EXIST 59GG BNG 1 XGUN 5=26 SMO 2 5=FQ LDX 0 BNO(3) [LINE NO 5=^B SLL 0 2 5?F2 ADS 0 1 5?YL LDCT 0 #530 5#D= ANDX 0 A1+FOURTHWD(1) 5#XW BNZ 0 XNMOPONA [J IF IMOPQ AWAKE OR ATTACHED 5*CG LDCT 0 #424 5*X6 ORS 0 A1+FOURTHWD(1) 5BBQ STO 5 1 [AMOP PTR 5BWB LDN 0 1 5CB2 SMO IMOPADDR(1) [REQUEST CORE 5CTL ADS 0 IWAKE 5D*= STO 2 5 [SAVE X2 5DSW LONGCLEAR IMOPADDR(1),#125,XNMOPON 5F#G XNMOPON 5FS6 LDX 2 5 5G?Q XNMOPONA 5GRB LDN 1 0 [TO USE X1 AS A CHARACTER MODIFIER 5H?2 LDCH 5 4(1) [CHAR 3 OF X5=NEW DEVICE TYPE 5HQL SMO 5 [BRANCHING IS DONE LIKE THIS SO NEW 5J== BRN TABLE [DEVICE TYPES MAY BE EASILY ADDED 5JPW [ 5K9G [ 5KP6 [ 5L8Q NULL [THE NEW DEVICE IS THE "NULL" DEVICE 5LNB LDN 0 #7777 5M82 SMO 2 5MML ANDS 0 BTYPE(3) [CLEAR OUT OLD DEVICE TYPE TO "NULL" 5N7= LDX 4 BRECNO(2) 5NLW SLL 4 9 5P6G ORX 4 3 [PTR TO LINE CELL IN X4 5PL6 SMO FX2 5Q5Q STO 4 AWORK4 [KEEP FOR POSSIBLE ERROR OR 7020 PATH 5QKB LDCH 0 6(1) [X6 & X1 SET UP ABOVE-GET DEVICE TYPE 5R52 SBN 0 2 5RJL BZE 0 Y7020 [J.IF 7020 5S4= CALL 6 THROW [OTHERWISE GET RID OF ASS & ATT 5SHW BRN UNIREC [& THEN ALL DONE 5T3G Y7020 CALL 6 THROW 5TH6 SBN 3 BASS 5W2Q LDCT 5 #777 5WGB SMO 2 5X22 ANDS 5 BNUMB(3) [ZEROIZE NO.OF 7020-KEEP REST OF WORD 5XFL LDN 3 BLINE(3) [PTR TO 7020 CHAIN POINTER 5^D6 NELL SMO 2 5^XQ LDX 3 0(3) [PICK UP 7020 POINTER 62CB BZE 3 SCANT [J.TO SCAN IDF/TERMID BLOCK 62X2 LDX 4 3 [KEEP FOR LATER USE IN"THROW" 63BL CALL 5 YREC [OTHERWISE FIND 7020 CELL 63W= LDCT 0 #40 64*W SMO 2 64TG ANDX 0 BTYPE+1(3) [GET "THIS IS CLUSTER CONSOLE"BIT 65*6 BNZ 0 NCLUS [AND ERROR IF THIS IS A CLUSTER CONS. 65SQ # NOW SCAN IDF/ITERMID BLOCK & MARK ENTRIES TO BE REMOVED 66#B SMO 2 66S2 LDXC 0 BTYPE+2(3) [TO TEST B0 67?L BCC X1 [J.IF B0 NOT SET-SO NOT LAST 7020 CEL 67R= SMO 2 68=W LDX 6 BNO(3) [FOR IDENTIFIER 68QG ANDX 6 HALFTOP 69=6 DCH 0 6 [STORE LINE NO IN BOTTOM 6 BITS 69PQ CALL 5 MISCH [FIND IDF/TERMID BLOCK 6=9B BRN TEROR [BLOCK SHOULD BE PRESENT 6=P2 X3 LDX 0 A1+1(1) 6?8L BZE 0 TEROR [GEORGE ERROR IF END OF BLOCK 6?N= ERX 0 6 6#7W BZE 0 X2 [J.IF MATCH FOUND 6#MG BDX 1 X3 [INCREMENT X1 & LOOK AT NEXT WD.PAIR 6*76 X2 LDN 0 #4000 6*LQ ORS 0 A1+1(1) [MARK "TO BE REMOVED" IN TERMID BLK. 6B6B X1 CALL 6 THROW 6BL2 SMO FX2 6C5L LDX 3 AWORK4 [PICK UP LINE CELL POINTER 6CK= CALL 5 YREC1 [FIND LINE CELL 6D4W LDN 3 BLINE(3) 6DJG CALL 5 MFREEC [FREE 7020 CELL 6F46 BRN NELL [J.FOR NEXT 7020 CELL IF ANY 6FHQ MISCH HUNTW 1,IDF,ITERMID [HUNT FOR IDF/ITERMID 6G3B BNG 1 M1 6GH2 EXIT 5 1 6H2L M1 EXIT 5 0 6HG= # SCAN IDF/ITERMID BLOCK & REMOVE ENTRIES WITH B12=1 IN FIRST WORD 6H^W SCANT CALL 5 MISCH 6JFG BRN TEROR [GEOERR IF BLOCK NOT FOUND 6J^6 LDX 5 A1(1) [PICK UP COUNT OF WORDS USED 6KDQ SBN 5 3 [COUNT NOW CAN BE USED TO CREATE- 6KYB SMO 5 [POINTERS IN X2 & X3 TO LAST WORD- 6LD2 LDN 2 A1(1) [PAIR IN BLOCK 6LXL LDX 3 2 6MC= ADN 5 1 [ADJUST COUNT & CREATE- 6MWW SRL 5 1 [A COUNT OF WORD PAIRS 6NBG SC2 LDX 0 0(3) 6NW6 ANDN 0 #4000 6P*Q BNZ 0 SC1 [J.IF B12 IS SET 6PTB SC4 SBN 3 2 [ADJUST X3 TO INVESTIGATE NEXT WORD- 6Q*2 BCT 5 SC2 [PAIR SO LONG AS COUNT IS NOT ZERO 6QSL LDX 5 A1(1) [SEE IF LENGTH OF BLOCK MUST BE- 6R#= SBN 5 2 [CHANGED OR BLOCK FREED 6RRW BNZ 5 SC3 [J.TO DO POSS.ALTLEN IF BLOCK IN USE 6S?G FREECORE 1 [OTHERWISE FREE IT 6SR6 BRN UNIREC 6T=Q SC3 LDX 5 ALOGLEN(1) 6TQB SBX 5 A1(1) 6W=2 SBN 5 16 6WPL BNZ 5 UNIREC [J.IF LESS THAN 16 WORDS TO SPARE 6X9= LDX 5 A1(1) 6XNW LDX 6 1 6Y8G ALTLEN 6,5 [MAKE IDF/TERMID SMALLER 6YN6 BRN UNIREC 6^7Q SC1 MOVE 2 2 [MOVE UP ENTRY TO POSITION X3 POINTS 6^MB STOZ 0(2) [TO:NO HARM DONE IF X2=X3:THEN ZERO- 7272 LDN 0 2 [IZE LAST RELEVANT WORD IN BLOCK 72LL SBS 0 A1(1) [ADJUST COUNT OF NO OF WORDS USED 736= SBS 0 2 [ADJUST X2 TO POINT TO LAST ENTRY 73KW BRN SC4 [J.TO RESUME SCAN 745G [ 74K6 [ 7D#6 SENT [THE NEW DEVICE IS SENTINEL 7DRQ XMOP [THE NEW DEVICE IS MOP TERMINAL 7F?B LDCT 0 #770 7FR2 ANDX 6 0 [MASK OUT OLD DEVICE TYPE 7G=L BNZ 6 YILLDEV [ERROR-DEVICE NOT NULL 7GQ= ANDX 4 0 [MASK OUT NEW DEVICE TYPE 7H9W SMO 2 7HPG ORS 4 BTYPE(3) [STORE NEW DEVICE TYPE 7J96 UNIREC [RESTORE POINTERS TO UNIT CELL SO 7JNQ [THAT NEXT LINE MAY BE CONSIDERED 7K8B LDX 2 FX2 7KN2 LDX 5 AWORK1(2) [REC NO FOR UNIT 7L7L LDX 3 AWORK2(2) [CELL PTR FOR UNIT 7LM= CALL 6 RECFIND 7M6W BRN NEXTLINE 7MLG [ 7N66 [ 7NKQ [ 7QJ= XBULK [NEW DEVICE IS 7020 7R3W LDX 0 BRECNO(2) [LINE RECORD NO 7RHG SLL 0 9 7S36 ORX 0 3 [MAKE IDF-TYPE POINTER TO LINE CELL 7SGQ SMO FX2 7T2B STO 0 AWORK3 [AND KEEP IT 7TG2 LDEX 0 6 [PICK OUT GEOG.UNIT NO 7T^L SLL 0 6 7WF= DCH 4 0 [AND PUT IN LINE NO 7WYW SMO FX2 7XDG STO 0 AWORK4 [KEEP GEOG.NO & LINE NO 7XY6 LDCT 0 #770 7YCQ ANDX 6 0 [OLD DEVICE TYPE 7YXB LDCT 5 #020 7^C2 MHUNTW 1,IDF,CONDATA 7^WL BZE 6 MORE [J.IF NULL-SO NO 7020 ALREADY DEFINED 82B= SBX 6 5 82TW BNZ 6 YILLDEV [J.IF NON-7020 DEVICE 83*G ANDN 4 #7777 [MASK OUT LINE NO 83T6 SMO 2 84#Q LDX 5 BNUMB(3) [KEEP NO OF 7020 84SB SMO FX2 85#2 STO 4 ACOMMUNE6 [KEEP X4 IN CASE OF ERROR 85RL SMO 7 86?= LDX 4 A1+1(1) [PICK UP IDENTIFIER/POLLING ADD 86QW LDN 3 BLINE(3) 87=G CALL 6 XMSEARCH 87Q6 SMO FX2 889Q LDX 6 ACOMMUNE1 88PB BNZ 6 YADDPOLL [ERROR-POLLING ADD ALREADY DEFINED 8992 ANDN 5 #7777 89NL SBN 5 11 8=8= BZE 5 YELEVEN [ERROR-11 7020 DEVICES ALREADY 8=MW LDN 0 1 [CHECK THAT TX+16 IF X>12,TX-16 8?7G ERX 4 0 [IS NOT ALREDY DEFINED 8?M6 LDX 2 FX2 8#6Q LDX 5 AWORK3(2) 8#LB LDEX 3 5 [DISTANCE FROM A1 8*62 SRL 5 9 8*KL CALL 6 RECFIND [FIND LINE CELL AGAIN 8B5= LDN 3 BLINE(3) [SEARCH BY IDENT/POLLING ADDR 8BJW CALL 6 XMSEARCH 8C4G SMO FX2 8CJ6 LDX 6 ACOMMUNE1 8D3Q LDN 0 1 8DHB ERX 4 0 8F32 BNZ 6 YADDPOLL [J IF ALREADY DEFINED 8FGL BRN NA 8G2= MORE [NO 7020 ALREADY 8GFW SMO 2 8G^G ORS 5 BTYPE(3) [STORE IN 7020 DEVICE TYPE 8HF6 LDN 3 BLINE(3) 8HYQ SMO 7 8JDB LDX 4 A1+1(1) 8JY2 # NOW SCAN IDF/ITERMID BLOCK TO MAKE SURE IDENTIFIER IS UNIQUE 8KCL NA CALL 5 MISCH [FIND IDF/TERMID BLOCK 8KX= BRN MOR [J.IF NONE EXISTS 8LBW XB4 LDX 0 A1+1(1) 8LWG BZE 0 MOR [J.IF END OF BLOCK 8MB6 ERX 0 4 8MTQ ANDX 0 HALFTOP 8N*B BZE 0 YIDENT [ERROR IDENTIFIER ALREADY EXISTS 8NT2 BDX 1 XB4 [UPDATE X1 & J.FOR NEXT ENTRY 9XX2 MOR LDN 5 1 [INTERFACE COUNT IN X5 9YBL ZOOP ADN 7 1 [UPDATE X7 9YW= MHUNTW 1,IDF,CONDATA 9^*W SMO 7 9^TG LDX 6 A1+1(1) [PICK UP INTERFACE DATA =2*6 BZE 6 NOMOR [J.IF NO PERIPHERAL ON THIS INTERFACE =2SQ #SKI JSKI17 =3#B ( =3S2 LDX 0 A1(1) =4?L BPZ 0 NSPL =4R= LDCT 0 #130 =5=W ORX 5 0 =5QG LDN 0 5 =6=6 SBX 0 6 =6PQ BNZ 0 NSPL =79B LDCT 0 #10 =7P2 ERX 5 0 =88L NSPL =8N= ) =97W MGETCELL 2,3 [GET CELL FOR INTERFACE =9MG SMO 2 ==76 STO 4 BNO(3) [STO IDENTIFIER/POLLING ADDRESS ==LQ LDCT 0 #100 =?6B #SKI JSKI17 =?L2 ( =#5L ORX 0 5 =#K= ANDX 0 HALFTOP =*4W LDEX 5 5 =*JG ) =B46 SMO 2 =BHQ STO 0 BTYPE+1(3) [MARK THIS CELL AS 7020 CELL =C3B SMO FX2 =CH2 LDX 0 AWORK4 =D2L SMO 2 =DG= STO 0 BTYPE+2(3) =D^W LDX 0 6 =FFG SRC 6 6 =F^6 ORX 6 5 =GDQ SMO 2 =GYB STO 6 BTYPE(3) [STORE DEVICE TYPE/INTERFACE NO =HD2 SBN 0 3 =HXL BNZ 0 NOMOR [J.IF NOT CONSOLE =JC= MHUNTW 1,IDF,CONDATA [OTHERWISE FIND OTHER HALF OF CONSOLE =JWW LDX 0 5 =KBG NXT ADN 0 1 =KW6 ADN 1 1 =L*Q SMO 7 =LTB LDX 6 A1+1(1) =M*2 SBN 6 3 =MSL BNZ 6 NXT [J.IF NOT CONSOLE =N#= LDX 6 0 =NRW ADX 6 5 =P?G ANDN 6 1 =PR6 BZE 6 NXT [J. IF THIS CONSOLE ON WRONG INTERFAC =Q=Q SMO 2 =QQB ORS 0 BTYPE+1(3) [STORE AWAY CONSOLE DATA =R=2 SMO 7 =RPL STOZ A1+1(1) [CLEAR CONDATA WORD-NOT NEEDED AGAIN =TN6 NOMOR ADN 5 1 [UPDATE X5 =W7Q LDN 0 7 =WMB SBX 0 5 [J.FOR NEXT INTERFACE =X72 BNZ 0 ZOOP =XLL LDCT 0 #400 =Y6= SMO 2 =YKW ORS 0 BTYPE+2(3) =^5G ADN 7 1 =^K6 LDX 2 FX2 ?24Q LDX 3 AWORK3(2) ?2JB ANDN 3 #777 ?342 LDX 5 AWORK3(2) ?3HL SRL 5 9 ?43= CALL 6 RECFIND ?4GW LDN 6 1 ?52G ADX 3 2 ?5G6 ADS 6 BNUMB(3) [UPDATE NO OF 7020 DEVICES ?5^Q LDX 6 BNO(3) ?6FB DSA 6 4 [MAKE FIRST WD OF PAIR FOR TERMID BLK ?6^2 LDX 6 BTYPE(3) ?7DL ANDN 6 #777 ?7Y= FMOPG 3,6,MPX [FIND POINTER TO AMOP(MPX & UPX ONLY) ?8CW BNG 3 TEROR [GEOERR IF NONE FOUND ?8XG CALL 5 MISCH [FIND IDF/TERMID BLOCK ?9C6 BRN XB10 [J.TO CREATE ONE IF NONE FOUND ?9WQ LDX 0 ALOGLEN(1) [SEE IF THERE IS ENOUGH ROOM IN BLOCK ?=BB SBX 0 A1(1) ?=W2 SBN 0 2 ??*L BPZ 0 XB11 [J IF THERE IS ??T= LDX 5 ALOGLEN(1) [OTHERWISE INCREASE LENGHT BY 4 WORDS ?##W ADN 5 4 ?#SG LDX 6 1 ?*#6 ALTLEN 6,5 [ENLARGE IDF/ITERMID ?*RQ CALL 5 MISCH ?B?B NULL [MUST EXIST ?BR2 XB11 LDN 0 2 ?C=L ADS 0 A1(1) [UPDATE COUNT OF WORDS USED ?CQ= LDX 5 A1(1) ?D9W SBN 5 3 [SO X5 CAN BE USED TO CALCULATE PTR- ?DPG SMO 5 [TO NEW POSITION OF NEW WORD PAIR ?F96 LDN 1 A1(1) [X1 NOW POINTS TO POSITION FOR WD.PR. ?FNQ STO 4 0(1) [STORE FIRST WD:IDENT/LINE NO ?G8B STO 3 1(1) [STORE SECOND WD:AMOP PTR ?GN2 STOZ 2(1) [ZEROIZE LAST WORD ?H7L BRN UNIREC [J.FOR NEXT IDF/CONDATA BLOCK ENTRY ?HM= XB10 SETNCORE 4,1,IDF,ITERMID [CREATE IDF/ITERMID BLOCK ?J6W LDN 0 2 ?JLG STO 0 A1(1) [SETUP A COUNT OF WORDS USED ?K66 BRN XB11 ?KKQ YIPEE [WRITE UPDATED RECORDS TO IDF ?L5B CALL 5 SCMID ?LK2 BRN NOOLD ?M4L FREECORE 1 ?MJ= NOOLD CALL 5 MISCH ?N3W BRN TMDFN ?NHG LDX 2 BMISC+1 ?P36 CHAIN 1,2 ?PGQ TRACE ALOGLEN(1),ZZLOGLN2 [YZQZTRACE ?Q2B TMDFN ?QG2 IDFWRITE ?Q^L CLOSE ?RF= ENDCOM #8M6 YILLUN [ILLEGAL UNIT NO #96Q SMO FX1 #9LB LDX 3 XILLUN #=62 ONUMA ANDN 4 #7777 #=KL ONUM OUTNUM 4,0 #?5= YERRX CLOSE #?JW COMERRX 3 ##4G [ [ILLEGAL LINE NO ##J6 YILLINE #*3Q SMO FX1 #*HB LDX 3 XILLINE #B32 BRN ONUMA #BGL [ #C2= YELEVEN [11 7020 DEVICES ALREADY #CFW SMO FX2 #C^G LDX 4 ACOMMUNE6 #DF6 SMO FX1 #DYQ LDX 3 XELEVEN #FDB BRN ONUM #FY2 [ #GCL YIDFUN #GX= SMO FX1 #HBW LDX 3 XIDFUN #HWG BRN YERRX #JB6 [ #JTQ YILLDEV [DEVICE ALREADY DEFINED ON THIS LINE #K*B SMO FX1 #KT2 LDX 3 XILLDEV #L#L BRN ONUMA #LBJ ...#UNS ANSTOOMANY #LDG ...( #LGD ...YTOOMANY #LJB ... SMO FX1 #LL# ... LDX 3 XTOOMANY #LN= ... BRN YERRX #LQ8 ...) #LS= [ #M?W YADDPOLL #MRG ANDN 4 #7777 #N?6 LDN 7 0 [MARKER 1ST TIME ROUND #NQQ LDX 1 FX1 #P=B NXTER16 #PQ2 LDN 3 12 #Q9L NXTER SMO 3 [FIND TERMINAL NO #QP= TXU 4 TERAD-1(1) #R8W BCC TERF #RNG BCT 3 NXTER #S86 BNZ 7 TEROR [NO SUCH POLLING ADDRESS #SMQ ADN 7 1 [2ND TIME ROUND #T7B SBN 4 1 [T17-T28 #TM2 BRN NXTER16 #W6L TEROR #WL= GEOERR 1,TERMINAL [POLLING ADD SHOULD EXIST #X5W TERF BZE 7 T112 [T1-T12 #XKG ADN 3 16 [T17-T28 #Y56 T112 LDX 4 3 #YJQ LDX 3 XADDPOLL(1) #^4B BRN ONUM #^J2 [ *23L PROAT SMO FX1 *2H= LDX 7 XCONPROAT [CLUSTER PROP.ATTRIBUTED MESSAGE *32W PRO SMO FX2 *3GG LDX 3 AWORK4 [LINE CELL POINTER *426 CALL 5 YREC1 *4FQ SMO 2 *4^B LDX 4 BNO(3) [LINE NO *5F2 LDX 3 7 [MONFILE POINTER INTO X3 *5YL BRN ONUMA [J.TO OUTPUT MESSAGE *6D= [ *6XW XERA LDN 3 1 [GET GEOGNO *7CG LDN 4 0 *7X6 SPARANXT #36,4,3 *84# ...#UNS ANSTOOMANY *89G ... TESTREP2 TOOMANY,YTOOMANY *8BQ LDX 3 XMOPON(1) *8WB BRN YERRX [NOT IN REQUIRED STATE *9B2 XGUN GEOERR 1,UNIT MIS *?#G NCLUS CALL 5 MISCH [NOW UNSET ANY B12 IN ITERMID BLOCK *?S6 BRN TEROR *#?Q NGN 5 #4001 [MAKE MASK #777737777 TO UNSET B12 *#RB NCL2 LDX 0 A1+1(1) **?2 BZE 0 NCL1 [J.IF END OF BLOCK **QL ANDS 5 A1+1(1) [MAKE SURE B12 IS UNSET *B== BDX 1 NCL2 *BPW NCL1 SMO FX1 *C9G LDX 7 XCONCLUS [THIS IS CLUSTER CONSOLE MESSAGE *CP6 BRN PRO *K52 YIDENT *KJL SMO FX2 *L4= STO 4 AWORK3 *LHW LDN 5 2 *M3G OUTPARAM 5,AWORK3 *MH6 LDX 3 XIDENT(1) *N2Q BRN YERRX *NGB #END *P22 ^^^^ ...667334330001