15 22FL #SEG IDFCONF8 [A C PUTMAN 13 22PD ...# COPYRIGHT INTERNATIONAL COMPUTERS 1982 8 22_= #OPT K0IDFCONF=0 16 23DW #LIS K0IDFCONF>K0ALLGEO>K0GREATGEO>K0COMMAND>K0IDF 7 23YG 8HIDFCONF 12 24D6 SEGENTRY K1IDFCONF,X1IDFCONF 12 24XQ SEGENTRY K2IDFCONF,X2IDFCONF 4 25CB # 12 25JJ ... SEGENTRY K3IDFCONF,X3IDFCONF 4 25PQ ...# 4 25X2 # 16 26BL # THIS SEGMENT IS FOR INSERTING INTO THE IDF A 15 26W= ...# CONFIGURATION REPORT ON A 7900 CHANNEL 4 27*W # 4 27TG # 20 28*6 # AWORK1: IF B0=1,B2-23 IS PROGRAM PROPERTY NO OF RELEVANT CI 15 28SQ # IF B0=0,B15-23 IS GEOG NO OF 7900 13 29#B # AWORK2: B0=1 IF CLUSTERING CHANGED 16 29S2 # B2-23: IF ZERO,CLOSE IDF BEFORE EXIT 4 2=?L # 4 2=R= # 4 2#=6 # 4 2#=? ...[ 21 2#=D ...[ B11 OF WORD FOR IDENTIFIER IN CONFIG REPORT = 7502 LP OR PSEUDO DEVICE 10 2#=K ...[ ( WORD COPIED INTO X4 ) 4 2#=Q ...[ 11 2#=X ... BITDEFS 4,11,W7502LPPVDU 4 2#?9 ...[ 18 2### ...[ MASKS FOR BITS TO BE COPIED FROM NEW TO OLD IDENT. CELL 4 2#*C ...[ 15 2#BG ...ZCY #40300000 [FOR BTYPE 15 2#CK ... #03777777 [FOR BNUMB 4 2#DN ...[ 13 2#FR ...[ MASKS FOR OLD CELL BITS TO BE RETAINED 4 2#GW ...[ 15 2#H_ ...ZKEEP #37077777 [FOR BTYPE 15 2#K4 ... #74000000 [FOR BNUMB 4 2#L7 ...[ 9 2#M= ...ZCEDI +BTYPE 9 2#N* ... +BNUMB 4 2#PQ # 5 2*9B XOPEN 8 2*P2 SBX 7 FX1 8 2B8L IDFOPEN XBRK 8 2BN= ADX 7 FX1 7 2C7W EXIT 7 0 4 2CMG XBRK 5 2D76 UP 4 2DLQ # 4 2F6B # 16 2FL2 # SUBROUTINE TO SEARCH FOR UNIT/CI CHANNEL CELL 4 2G5L # 4 2GK= # 5 2H4W ZMSEARCH 8 2HJG SBX 7 FX1 17 2J46 LDN 3 BIPB [BASE OF IPB CHAIN 8 2JHQ MSEARCH 2,3,4 8 2K3B SMO FX2 9 2KH2 LDX 0 ACOMMUNE1 20 2L2L BZE 0 XERR [J TO GEOERR IF UNIT NOT FOUND 9 2LG= LDX 0 BRECNO(2) 8 2L_W SMO FX2 19 2MFG STO 0 AWORK3 [RECORD NO OF UNIT/CI CHANNEL 8 2M_6 SMO FX2 18 2NDQ STO 3 AWORK4 [CELL PTR WITHIN RECORD 7 2NYB SMO 2 18 2PD2 LDX 5 BLINE(3) [PTR TO IDENTIFIER CHAIN 8 2PXL ADX 7 FX1 7 2QC= EXIT 7 0 4 2QWW # 19 2QXK ...[ SUBROUTINE TO FIND REC + CELL PTRS FOR CELL DEFINED IN AW3 5 2QY# ...UNITNEW 8 2Q_3 ... SMO FX2 9 2Q_Q ... LDX 3 AWORK3 4 2R2F ...[ 10 2R38 ...[ FIND CELL DEFINED IN X3 4 2R3X ...[ 7 2R4L ...NXTEC LDXC 0 3 7 2R5* ... SRL 0 9 8 2R64 ... ANDN 3 #777 9 2R6R ... TXU 0 BRECNO(2) 8 2R7G ... BCC (7) 8 2R89 ... BRN YNEW 4 2R8Y ...[ 4 2R9M ...[ 20 2R=B ...[ USE NXNEW IF X2 NOT IDF REC. 4 2R?5 ...[ 7 2R?S ...NXNEW LDXC 0 3 7 2R#H ... SRL 0 9 8 2R*= ... ANDN 3 #777 4 2RBG # 20 2RW6 # SUBROUTINE TO SET X2 POINTING TO A1 OF FRRB CONTAINING RECORD 19 2S*Q # KNOWN TO BE IN CORE.ON ENTRY X0 CONTAINS RECORD NO REQD 4 2STB # 4 2T*2 # 4 2TSL YNEW 8 2W#= SMO FX2 9 2WRW STO 0 ACOMMUNE3 7 2X?G NEW 2 7 2XR6 EXIT 7 0 4 2XRB ...[ 12 2XRL ...[ FIND CELL POINTED AT BY POINTER 4 2XRW ...[ 5 2XS6 ...POINT 7 2XSB ... LDX 3 6 8 2XSL ... BRN NXTEC 5 2XSM ...SEARCH 18 2XSN ... SBX 6 FX1 [BROUGHT IN FROM IDFCANC 8 2XSP ... MSEARCH 2,3,4 8 2XSQ ... SMO FX2 9 2XSR ... LDX 0 ACOMMUNE1 8 2XSS ... ADX 6 FX1 7 2XST ... EXIT 6 0 4 2XSW ...# 4 2XSX ...[ 21 2XT6 ...[ THIS SUB. IS FOR RE-CHAINING CELLS. X2 AND X3 POINT TO CELL WHICH 21 2XTB ...[ IS TO GET A NEW FPTR. X5 IS AN IDF POINTER WHICH WILL BECOME THE NEW 20 2XTL ...[ PPTR, BUT FIRST WE MUST CHECK B0. ON EXIT X5 GETS THE OLD FPTR. 4 2XTW ...[ 5 2XW6 ...SCHAIN 7 2XWB ... ADX 3 2 7 2XWL ... LDXC 0 5 18 2XWW ... BZE 0 ZNCH [ J IF NEW FPTR ZERO 7 2XX6 ... SRL 01 9 9 2XXB ... TXU 0 BRECNO(2) 16 2XXL ... BCC ZAMRE [J IF RECNO OK 15 2XXW ... ORX 0 BIT9 [WILL BE B0 7 2XY6 ...ZAMRE SLL 01 9 16 2XYB ...ZNCH LDX 5 0(3) [SAVE OLD FPTR 16 2XYL ... STO 0 0(3) [STORE NEW ONE 7 2XYW ... EXIT 7 0 4 2X_6 ...[ 12 2X_B ...[ SUB. TO UPDATE IDF-IDELETE BLOCK 4 2X_L ...[ 10 2X_W ...SEDEL HUNTW 2,IDF,IDELETE 18 2Y26 ... BPZ 2 ZDELSET [J IF BLOCK ALREADY EXISTS 8 2Y2B ... SBX 7 FX1 8 2Y2L ... LDX 2 FX2 13 2Y2W ... SETUPCORE AWORK4(2),2,IDF,IDELETE 16 2Y36 ... STOZ A1(2) [INITIALISE A1 7 2Y3B ... ADX 7 1 5 2Y3L ...ZDELSET 7 2Y3W ... LDN 0 1 15 2Y46 ... ADS 0 A1(2) [UPDATE A1 8 2Y4B ... SMO A1(2) 16 2Y4L ... STO 4 A1(2) [STORE IDENT NO. 7 2Y4W ... EXIT 7 0 4 2Y56 ...[ 19 2Y5B ...[ SUB. TO COPY PARTS OF BTYPE AND BNUMB FROM ONE CELL TO ANOTHER 4 2Y5L ...[ 19 2Y5W ...UPDCE LDX 0 ZCY(1) [MASK OF BITS TO BE COPIED 21 2Y66 ... LDX 5 ZKEEP(1) [MASK OF BITS TO BE LEFT UNCHANGED 21 2Y6B ... ERX 0 4 [X4 USED TO ALTER WHICH BITS ARE... 15 2Y6L ... ERX 5 4 [...COPIED 19 2Y6W ... SMO ZCEDI(1) [GET TO CORRECT WD. IN CELL 8 2Y76 ... ANDX 0 0(2) 9 2Y7B ... SMO ZCEDI(1) 8 2Y7L ... ANDX 5 0(3) 19 2Y7W ... ORX 0 5 [SET UP NEW CONTENTS FOR CELL 9 2Y86 ... SMO ZCEDI(1) 8 2Y8B ... STO 0 0(3) 7 2Y8L ... EXIT 7 0 4 2Y8W ...[ 4 2Y96 ...[ 4 2Y=Q # 4 2YQB # 19 2_=2 # SUBROUTINE TO FIND CELL WHOSE IDF PTR IS IN X3 ON ENTRY. 19 2_PL # ON EXIT X2->A1 OF FRRB CONTAINING RECORD AND X3 CONTAINS 11 329= # CELL PTR WITHIN THE RECORD 4 32NW # 4 338G # 5 33N6 NEXCELL 19 347Q BPZ 3 YSAME [J IF CELL IN CURRENT RECORD 8 34MB SBX 7 FX1 15 3572 LDXC 0 3 [REMOVE B0 7 35LL SRL 0 9 8 366= LDX 2 FX2 19 36KW STO 0 ACOMMUNE3(2) [STORE NO OF NEXT RECORD REQD 16 375G MXB 2,NOFX12 [FIND NEXT RECORD 8 37K6 ADX 7 FX1 5 384Q YSAME 17 38JB ANDN 3 #777 [RELATIVE CELL PTR 7 3942 EXIT 7 0 4 39HL # 4 3=3= # 13 3=GW # SUBROUTINE TO OBTAIN A NEW CELL 4 3?2G # 4 3?G6 # 6 3?_Q YMGETCELL 8 3#FB SBX 7 FX1 8 3#_2 MGETCELL 2,3 8 3*DL ADX 7 FX1 7 3*Y= EXIT 7 0 4 3BCW # 4 3BXG # 11 3CC6 # SUBROUTINE TO FREE A CELL 4 3CWQ # 4 3DBB # 5 3DW2 YFREE 8 3F*L SBX 5 FX1 20 3FT= MFREECELL 2,3 [PTR GIVEN TO NEXT CELL ON CHAIN 8 3G#W ADX 5 FX1 7 3GSG EXIT 5 0 4 3H#6 # 4 45B= # 13 45C_ ...[ SUB TO SEE IF IDENT IN X0 IS CHANGED 15 45FN ...[ AW4 IS IDELETE ADDR. OR GSIGN IF NO IDELETE 4 45HC ...[ 8 45K6 ...SCADL SMO FX2 9 45LT ... LDXC 1 AWORK4 18 45NJ ... BCS ZVND [J IF ALL IDENTS DELETED 8 45Q? ... BRN ZDELP 4 45S2 ...[ 5 4H99 ...ZDELP 7 4H=# ... ADN 1 1 8 4H?C ... LDXC 7 A1(1) 14 4H#G ... BCS / [UNSET B0 7 4H*K ... SBX 7 0 8 4HBN ... BZE 7 ZVND 19 4HCR ... BNG 7 ZDELP [J TO CHECK NEXT IDELETE ENTRY 16 4HDW ... EXIT 6 1 [IDENT NOT FOUND 21 4HF_ ...ZVND BPZ 1 (6) [EXIT UNLESS CALLED FROM RIGHTCONF 8 4HHB LDX 0 GSIGN 8 4J32 SMO FX2 19 4JGL ORS 0 AWORK2 [SET CLUSTER CHANGE MARKER 7 4K2= EXIT 6 0 4 4LF6 # 4 529C ...# 4 52=N ...# 14 52?_ ...# ENTRY FROM IDFTPUPD MACRO.ACOMMUNE1 13 52*= ...# CONTAINS DEVICE LIST PTR OF 7900 4 52BH ...# 4 52CS ...# 6 52F5 ...X1IDFCONF 9 52FP ... STOZ AWORK2(2) 21 52GB ... LGEOG ACOMMUNE1(2),4 [FIND GEOG NO FROM DEVICE LIST PTR 19 52HM ... STO 4 AWORK1(2) [KEEP GEOG NUMBER (B0 ZERO) 15 52JY ... CALL 7 XOPEN [OPEN THE IDF 8 52L9 ... BRN YIDFE 4 52L? ...# 16 52L* ...# ENTRY POINT TO DELETE ENTIRE CONFIGURATION 14 52LC ...# INCLUDING UNIT CELL. IDF ALREADY OPEN 16 52LF ...# CAN BE CALLED FROM SETIDF AT EMS IF IPB NOT 9 52LH ...# ON INSTALLATION. 13 52LK ...# ACOMMUNE2 CONTAINS GEOG UNIT NO 4 52LM ...# 6 52LP ...X3IDFCONF 10 52LR ... LDX 4 ACOMMUNE2(2) 15 52LT ... STO 4 AWORK1(2) [STORE UNIT NO 9 52LX ... STO 4 AWORK2(2) 8 52L_ ... BNZ 4 YIDF3 16 52M3 ... LDN 6 1 [MAKE SURE AWORK2 14 52M5 ... STO 6 AWORK2(2) [NON ZERO 8 52M7 ...YIDF3 LDN 0 0 16 52M9 ... CALL 7 YNEW [FIND REC NO ZERO 8 52M? ... BRN YIDFE 4 52MQ # 4 537B # 19 53M2 # ENTRY FROM IDFCIUPD MACRO.ACOMMUNE1 CONTAINS THE PROGRAM 19 546L # PROPERTY NUMBER WITH B0 SET IF THE IDF IS TO BE OPENED. 20 54L= # ACOMMUNE2 INDICATES WHETHER THE IDF IS TO BE CLOSED ON EXIT 4 555W # 4 55KG # 6 5656 X2IDFCONF 21 56JQ LDX 0 ACOMMUNE2(2) [MARKER WD : IF B2-23 ZERO CLOSE IDF 19 574B STO 0 AWORK2(2) [ON EXIT,OTHERWISE LEAVE OPEN 18 57J2 LDXC 4 ACOMMUNE1(2) [PROGRAM PROPERTY NUMBER 18 583L BCC YIDFC [J IF IDF ALREADY OPEN 15 58H= CALL 7 XOPEN [OPEN THE IDF 8 592W BRN YIDFD 5 59GG YIDFC 7 5=26 LDN 0 0 16 5=FQ CALL 7 YNEW [FIND RECORD ZERO 5 5=_B YIDFD 19 5?F2 ADX 4 GSIGN [SET B0 TO INDICATE CI REQD 8 5?YL SMO FX2 19 5#D= STO 4 AWORK1 [PRESERVE PROGRAM PROPERTY WD 5 5#N4 ...YIDFE 19 5#XW CALL 7 ZMSEARCH [SEARCH FOR UNIT/CI CHANNEL 4 5*X6 # 5 9FPW NOUASAT 7 9F_N ... LDX 7 5 10 9G9G HUNTW 1,IDF,IREPORT 18 9GP6 BNG 1 YNOBLK [J IF BLOCK NOT PRESENT 7 9H8Q LDN 5 1 8 9HNB SBS 5 A1(1) 8 9J82 LDX 0 A1(1) 20 9JML BZE 0 XNOENT [J IF NO ENTRIES IN IREPORT BLOCK 20 9K7= ADN 3 7 [TEMP BASE OF IDENT CHAIN IN CELL 7 9KLW SMO 5 17 9L6G LDX 4 A1(1) [FIRST ENTRY IN BLK 20 9LL6 CALL 7 YMGETCELL [OBTAIN NEW CELL ON TEMP CHAIN 19 9M5Q LDX 6 2 [RECORD PTR OF NEW FREE CELL 8 9MKB SMO FX2 21 9N52 LDX 0 AWORK3 [RECORD NO OF UNIT/CI CHANNEL CELL 19 9NJL CALL 7 YNEW [SET X2->START OF THIS RECORD 7 9P4= LDX 1 2 7 9PHW LDX 2 6 8 9Q3G SMO FX2 20 9QH6 ADX 1 AWORK4 [X1 IS ABS PTR TO UNIT/CI CELL 9 9R2Q LDX 7 BTYPE(1) 21 9RGB LDEX 6 7 [GEOG UNIT NO OR ZERO FOR CI CHANNEL 7 9S22 SRL 7 9 7 9SFL ORX 7 6 7 9S_= SMO 3 20 9TDW STO 7 BTYPE(2) [STORE TYPE OF UNIT AND GEOG NO 8 9TYG LDCT 0 #200 7 9WD6 SMO 3 20 9WXQ STO 0 BNUMB(2) [INDICATE MOPPED OFF IDENTIFIER 17 9XCB BNZ 6 YNEXENT [J IF NOT CI CHANNEL 10 9XX2 LDX 0 CIPROPNO(1) 7 9YBL SMO 3 20 9YW= STO 0 IPROPNO(2) [STORE PROGRAM PROPERTY NUMBER 5 9_*W YNEXENT 18 9_TG BPZ 4 XIDENT [J FOR IDENTIFIER ENTRY 14 =2*6 LDXC 0 4 [UNSET B0 19 =2SQ SRL 0 15 [PRESERVE LINE/TERM INDICATOR 16 =3#B ANDX 4 BSP16 [KEEP LS 15 BITS 16 =3S2 BNZ 0 XTERM [J IF TERMINAL 16 =4?L LDCT 0 #200 [MOPPED OFF IDENT 19 =4R= ADX 0 4 [SET TERM NUMBER BACK TO ZERO 7 =5=W SMO 3 17 =5QG STO 0 BNUMB(2) [STORE LINE NUMBER 5 =6=6 YREHUNT 10 =6PQ MHUNTW 1,IDF,IREPORT 19 =79B BXE 5 A1(1),XEND [J IF ALL ENTRIES DEALT WITH 7 =7P2 ADN 5 1 7 =88L SMO 5 15 =8N= LDX 4 A1(1) [NEXT ENTRY 9 =97W BRN YNEXENT 5 =9MG XTERM 7 ==76 BCHX 2 / 7 ==LQ SMO 3 20 =?6B DCH 4 BNUMB(2) [DEPOSIT TERM NUMBER IN CHAR 1 9 =?L2 BRN YREHUNT 5 =#5L XIDENT 7 =#K= LDX 0 4 17 =*4W ANDN 0 #7777 [IDENTIFIER NUMBER 7 =*JG SMO 3 9 =B46 STO 0 BNO(2) 8 =B5P ... LDX 1 FX1 16 =B7# ... ADX 1 TABLE7502ID(1) [ NO. OF 7502 ID + FX1 14 =B8X ... WHILE 1,U,FX1 [ MORE IDS IN TABLE 16 =B=G ... AND 0,U,TABLE7502ID(1) [ NOT SAME ID NO. 5 =B#5 ... DO 8 =B*N ... SBN 1 1 6 =BC? ... REPEAT 17 =BDW ... IF 1,U,FX1 [ IDENTIFIER IN TABLE OF 7502 IDS 6 =BGF ... THEN 8 =BJ4 ... LDX 1 2 8 =BKM ... ADX 1 3 11 =BM= ... BS 1,IDF7502LP 5 =BNT ... FI 18 =BQD ... IF BS,,W7502LPPVDU [ 7502 LP OR PSEUDO DEVICE 6 =BS3 ... THEN 8 =BTL ... LDX 1 2 8 =BX9 ... ADX 1 3 8 =BYS ... LDX 0 4 8 =C2C ... SRL 0 15 9 =C42 ... ANDN 0 #77 8 =C5K ... SBN 0 3 13 =C78 ... IF 0,ZE [ LP 7 =C8R ... THEN 11 =C=B ... BS 1,IDF7502LP 7 =C?_ ... ELSE 11 =C*J ... BS 1,IDFPSEUDO 16 =C*Y ... FIXTRA K20IDFCONF [++++++++++ 16 =CB# ... LDCT 0 0 [TO #400 BY WRPVDUS 18 =CBN ... ORS 0 BTYPE(1) [POSSIBLY SET WRONGED 6 =CC7 ... FI 5 =CDQ ... FI 7 =CH2 LDX 0 4 19 =D2L SRL 0 15 [DEVICE TYPE IN BOTTOM 6 BITS 21 =DG= ... SRL 4 13 [INITIALLY B5-8 CONTAIN DEVICE TYPE 17 =HD2 SRC 4 1 [B10 IS SPOOLABLE BIT 10 =HXL BPZ 4 XSPOOLABLE 17 =JC= ERX 4 CACT [SET SPOOLABLE BIT 7 =JWW SBN 0 7 17 =KBG BZE 0 XSPOOLABLE [J IF TP:NOT SPOOLING 8 =KW6 LDCT 0 #20 7 =L*Q SMO 3 16 =LTB ORS 0 BNUMB(2) [SET SPOOLING BIT 6 =M*2 XSPOOLABLE 21 =MSL ... SRC 4 1 [INITIALLY B9 IS RJE OR AUTO-ANS BIT 18 =N#= ... BPZ 4 XRJE [J IF NOT RJE-AUTO-ANS 19 =NRW ... ERX 4 CACT [SET RJE-AUTO-ANS BIT FOR IDF 4 =PR6 XRJE 16 =Q2Y ... LDX 6 4 [SAVE X4 IN X6 7 =Q=Q SRC 4 6 18 =QCY ... LDCT 0 #177 [MASK FOR BITS 2-8 INCL 21 =QK6 ... ANDX 4 0 [MASK OUT DEVICE TYPE AND SPOOL&RJE 7 =QQB SMO 3 17 =R=2 ORS 4 BTYPE(2) [STORE DEVICE TYPE 7 =RBD ... SRC 6 6 18 =RGW ... BPZ 6 NWR [J. NOT MARKED WRONGED 8 =RM# ... LDCT 4 #400 7 =RRQ ... SMO 3 18 =RY8 ... ORS 4 BTYPE(2) [SET WRONGED BIT IN BTYPE 10 =S4L ...NWR MHUNTW 1,IDF,IREPORT 19 =S9= BXE 5 A1(1),XEND [J IF ALL ENTRIES DEALT WITH 7 =SNW ADN 5 1 7 =T8G SMO 5 15 =TN6 LDX 4 A1(1) [NEXT ENTRY 4 =W7Q # 4 =WMB # 17 =X72 # NEXT WE CHAIN A NEW CELL INTO THE TEMPORARY CHAIN 17 =XLL # AND COPY INFORMATION FROM THE PREVIOUS IDENT CELL 4 =Y6= # 4 =YKW # 20 =_5G LDX 6 BRECNO(2) [RECORD NO OF CURRENT IDENT CELL 7 =_K6 SLL 6 9 18 ?24Q ADX 6 3 [ADD CELL PTR WITHIN REC 19 ?2JB CALL 7 YMGETCELL [GET A NEW CELL ON TEMP CHAIN 7 ?342 LDX 0 6 19 ?3HL SRL 0 9 [RECORD NO OF PREVIOUS CELL 20 ?43= LDX 1 2 [PRESERVE PTR TO REC OF NEW CELL 20 ?4GW CALL 7 YNEW [FIND RECORD CONTAINING PREV CELL 7 ?52G LDX 0 1 20 ?5G6 LDX 1 2 [X1->START OF REC OF PREV CELL 19 ?5_Q LDX 2 0 [X2->START OF REC OF NEW CELL 8 ?6FB ANDN 6 #777 20 ?6_2 ADX 1 6 [ABSOLUTE PTR TO PREVIOUS CELL 8 ?7DL LDN 6 2(1) 7 ?7Y= SMO 3 19 ?8CW ... LDN 7 2(2) [TRANSFER CONTENTS OF WDS 2,3 19 ?8XG ... MOVE 6 2 [IN IDENT CELL TO NEW CELL 8 ?9C6 LDX 6 BSP16 7 ?9WQ SMO 3 17 ?=BB ANDS 6 2(2) [REMOVE DEVICE TYPE 8 ??T= LDCT 6 #30 7 ?##W SMO 3 9 ?#SG ORS 6 BNUMB(2) 7 ?*#6 SMO 3 20 ?*RQ ERS 6 BNUMB(2) [CLEAR SPOOLING AND ATTENDED BITS 7 ?B67 ... SMO 3 18 ?BDJ ... STOZ 4(2) [ CLEAR WORD 4 OF CELL 9 ?BR2 BRN YNEXENT 4 ?C=L XEND 7 ?CQ= ... FREECORE 1 4 ?D9W # 4 ?DPG # 18 ?F96 # THE IDENTIFIER CELLS HAVE BEEN CHAINED FROM WORD 7 OF 19 ?FNQ # THE UNIT CELL. THEY ARE NOW SORTED INTO ASCENDING ORDER 14 ?G8B ...# AND CHAINED FROM WORD 6 OF UNIT CELL 4 ?GN2 # 4 ?H7L # 8 ?H#S ... SMO FX2 9 ?HG2 ... STOZ ACOMMUNE2 5 ?HM= NEXTTEMP 8 ?J6W LDX 2 FX2 18 ?JLG LDX 0 AWORK3(2) [RECORD NO OF UNIT CELL 18 ?K66 LDX 3 AWORK4(2) [CELL PTR WITHIN RECORD 7 ?KKQ LDX 6 0 7 ?L5B SLL 6 9 19 ?LK2 ... ADN 6 6(3) [PTR TO BASE OF NEW IDENT CHAIN 17 ?M4L CALL 7 YNEW [FIND RECORD OF UNIT 7 ?MJ= LDX 4 2 17 ?N3W ADX 3 2 [ABS PTR TO UNIT CELL 20 ?NHG LDX 5 7(3) [PTR TO NEXT CELL ON TEMP CHAIN 18 ?P36 BZE 5 XSTOP [J WHEN ALL CELLS SORTED 7 ?PGQ LDN 0 1 8 ?PT7 ... SMO FX2 19 ?Q7J ... ADS 0 ACOMMUNE2 [INCREASE COUNT OF IDENTS 18 ?QG2 BPZ 5 SAMEREC1 [J IF CELL IN SAME RECORD 7 ?Q_L LDXC 0 5 7 ?RF= SRL 0 9 20 ?RYW CALL 7 YNEW [FIND REC OF CURRENT IDENT CELL 5 ?SDG SAMEREC1 20 ?SY6 LDX 1 2 [SO X1->REC OF CURRENT IDENT CELL 19 ?TCQ ANDN 5 #777 [CELL PTR WITHIN IDENT RECORD 20 ?TXB LDX 2 4 [RESTORE PTR TO RECORD OF UNIT 7 ?WC2 SMO 5 20 ?WWL LDX 4 0(1) [PTR TO NEXT CELL ON TEMP CHAIN 18 ?XB= BZE 4 TEMPJOIN [J IF NO FURTHER CELLS 7 ?XTW SMO 5 18 ?Y*G STOZ 0(1) [CLEAR FPTR IN IDENT CELL 7 ?YT6 LDXC 0 4 7 ?_#Q SRL 0 9 8 ?_SB ORX 4 GSIGN 19 #2#2 BXU 0 BRECNO(2),TEMPJOIN [J IF RECORDS OF UNIT CELL 19 #2RL ERX 4 GSIGN [AND NEXT TEMP CELL DIFFER 5 #3?= TEMPJOIN 21 #3QW STO 4 7(3) [STORE PTR TO 1ST TEMP CELL IN BASE 19 #4=G ... LDX 4 6(3) [PTR TO 1ST IDENT ON PROPER CHAIN 19 #4Q6 SMO 5 [X1,X5->IDENT TO BE CHAINED 20 #59Q LDX 3 BNO(1) [IDENT NO OF CELL TO BE CHAINED 6 #5PB NEXTIDENT 17 #692 BZE 4 XENDCHAIN [J AT END OF CHAIN 9 #6NL BPZ 4 SAMEREC2 7 #78= LDXC 0 4 7 #7MW SRL 0 9 20 #87G CALL 7 YNEW [X2->REC OF 1ST IDENT ON CHAIN 5 #8M6 SAMEREC2 18 #96Q ANDN 4 #777 [CELL PTR WITHIN RECORD 7 #9LB SMO 4 9 #=62 TXL 3 BNO(2) 19 #=KL BCS XFRONT [J WHEN HIGHER IDENT NO FOUND 9 #?5= LDX 6 BRECNO(2) 19 #?JW SLL 6 9 [OTHERWISE SET PTR TO LAST 20 ##4G ADX 6 4 [CELL EXAMINED ON PROPER CHAIN 7 ##J6 SMO 4 19 #*3Q LDX 4 0(2) [NEXT IDENT ON PROPER CHAIN 9 #*HB BRN NEXTIDENT 6 #B32 XENDCHAIN 8 #BGL SMO FX2 19 #C2= STO 3 ACOMMUNE1 [STORE NEW HIGHEST IDENT NO 5 #CFW XFRONT 9 #C_G LDX 4 BRECNO(1) 18 #DF6 SLL 4 9 [SET UP COMBINED PTR TO 18 #DYQ ADX 4 5 [IDENT CELL TO BE CHAINED 7 #FDB LDX 2 1 19 #FY2 LDX 0 6 [X6 CONTAINS IDF POINTER OF 21 #GCL SRL 0 9 [WORD WHICH WILL POINT TO NEW IDENT 12 #GX= BXE 0 BRECNO(1),SAMEREC3 18 #HBW CALL 7 YNEW [SO X2->REC OF THIS WORD 8 #HWG ORX 4 GSIGN 5 #JB6 SAMEREC3 20 #JTQ ANDN 6 #777 [REL PTR OF WORD WITHIN RECORD 7 #K*B SMO 6 18 #KT2 LDX 3 0(2) [NEXT PTR ON PROPER CHAIN 7 #L#L SMO 6 19 #LS= STO 4 0(2) [SET UP PTR TO CURRENT IDENT 18 #M?W BZE 3 RECHAIN [J AT END OF PROPER CHAIN 7 #MRG LDXC 0 3 7 #N?6 SRL 0 9 8 #NQQ ORX 3 GSIGN 21 #P=B BXU 0 BRECNO(1),RECHAIN [J IF RECORDS OF CURRENT IDENT AND 21 #PQ2 ERX 3 GSIGN [NEXT IDENT ON PROPER CHAIN DIFFER 5 #Q9L RECHAIN 7 #QP= SMO 5 20 #R8W STO 3 0(1) [STORE FPTR IN CURRENT IDENT CELL 9 #RNG BRN NEXTTEMP 5 #S86 XSTOP 4 #S8? ...[ 19 #S8D ...[ NOW X3 HAS ADDR. OF UNIT CELL. AW3 AND AW4 POINT TO UNIT CELL. 4 #S8K ...[ 9 #S8Q ... LDX 0 BLINE(3) 19 #S8X ... BZE 0 NOLDS [ ANY IDENTS ON OLD CHAIN? 8 #S94 ... LDX 2 FX2 19 #S99 ... LDX 6 AWORK3(2) [[SET UP IDF PTR TO UNIT CELL 7 #S9B ... SLL 6 9 9 #S9H ... ADX 6 AWORK4(2) 16 #S9N ... STO 6 AWORK3(2) [[AND KEEP IN AW3 20 #S9T ... ADN 6 BLINE [SET UP IDF POINTER TO BASE OF 14 #S=2 ...[ TEMP CHAIN 9 #S=7 ... LDX 0 BNUMB(3) 8 #S=# ... ANDN 0 #7777 7 #S=F ... ADN 0 2 17 #S=L ... STO 0 AWORK4(2) [SAVE LTH FOR IDELETE 15 #S=R ...[ IDENT. CHAIN 16 #S=Y ...PREZA CALL 7 UNITNEW [[FIND UNIT CELL 7 #S?5 ...ZAY SMO 3 20 #S?= ... LDX 4 6(2) [PICK UP PTR. TO NEXT TEMP CELL 4 #S?C ...[ 21 #S?J ... CALL 7 POINT [GET PTR TO NEXT CELL ON IDENT CHAIN 7 #S?P ... SMO 3 8 #S?W ... LDX 5 0(2) 5 #S#3 ...ZNXTECE 20 #S#8 ... BZE 5 ZENOCH [IS THIS IDF PTR. ZERO - J IF SO 7 #S#* ... LDX 3 5 19 #S#G ... CALL 7 NEXCELL [GET NEXT CELL ON OLD CHAIN 17 #S#M ...[ ( MAY NOT BE IN CORE) 7 #S#S ... ADX 2 3 7 #S#_ ... LDX 1 2 7 #S*6 ... LDX 3 4 20 #S*? ... LDX 4 BNO(1) [AND PICK UP OLD IDENT. NO. (M) 20 #S*D ... BZE 3 ZDELED [J IF REACHED END OF TEMP CHAIN 8 #S*K ... CALL 7 NXNEW 7 #S*Q ... SMO 3 18 #S*X ... LDX 0 BNO(2) [LOAD NEW IDENT NO. (N) 7 #SB4 ... SBX 0 4 19 #SB9 ... BNG 0 ZADDED [J IF M>N (EXTRA IDENT ADDED) 18 #SBB ... BNZ 0 ZDELED [J IF N>M (IDENT DELETED) 21 #SBH ...[ IDENT NOS SAME - CHECK DEVICE TYPE 7 #SBN ... LDX 6 5 7 #SBT ... ADX 2 3 21 #SC2 ... LDX 3 1 [JUST TO BE CONVENTIONAL USE X1=FX1 8 #SC7 ... LDX 1 FX1 9 #SC# ... LDCH 0 BTYPE(3) 16 #SCB ... ANDN 0 #37 [LOOSE RI WR BIT 9 #SCF ... LDCH 7 BTYPE(2) 16 #SCH ... ANDN 7 #37 [LOOSE RI WR BIT 7 #SCL ... ERX 0 7 18 #SCR ... BNZ 0 ZALTY [J IF DEV TYPE CHANGED 4 #SCY ...[ 15 #SD5 ...[ NOW SEE IF BOTH OLD AND NEW MARKED SPOOLABLE 7 #SD= ... LDCT 4 1 9 #SDC ... ANDX 4 BTYPE(2) 9 #SDJ ... ANDX 4 BTYPE(3) 14 #SDP ... BZE 4 NSPBL [J IF NOT 21 #SDW ... LDCT 4 #30 [SET X4 SO WE COPY SPOOLING + ATT. 7 #SF3 ...NSPBL ADN 1 1 15 #SF8 ... CALL 7 UPDCE [UPDATE BNUMB 7 #SF* ... SBN 1 1 7 #SFG ... LDN 4 0 15 #SFM ... CALL 7 UPDCE [UPDATE BTYPE 6 #SFN ... LDX 0 4(2) 10 #SFP ... STO 0 4(3) [ UPDATE WORD 4 15 #SFQ ... FIXTRA K21IDFCONF [++++++++++ 14 #SFR ... BRN ZNO [NULL BY WRPVDUS 9 #SFS ... LDX 0 BTYPE(3) 7 #SFT ... SLL 0 1 14 #SFW ... BPZ 0 ZNO [J IF NOT PSEUDO 8 #SFX ... LDCT 0 #400 16 #SFY ... ORS 0 BTYPE(3) [SET WRONGED BIT 4 #SF_ ...ZNO 17 #SG2 ...[ NOW FREE TEMP CELL 5 #SG3 ...RELCY 9 #SG6 ... CALL 7 UNITNEW 17 #SG? ... ADN 3 6 [POINT TO TEMP CHAIN 15 #SGD ... CALL 5 YFREE [FREE CELL 7 #SGK ... SBN 3 6 19 #SGQ ... BRN ZAY [GO TO DEAL WITH NEXT CELLS 4 #SGX ...[ 17 #SH4 ...[ DEVICE TYPE CHANGED - RESET BNUMB , BTYPE AND WORD 4 4 #SH9 ...[ 5 #SHB ...ZALTY 9 #SHH ... LDX 0 BTYPE(2) 9 #SHN ... STO 0 BTYPE(3) 9 #SHT ... LDX 0 BNUMB(2) 9 #SJ2 ... STO 0 BNUMB(3) 6 #SJ3 ... LDX 0 4(2) 6 #SJ4 ... STO 0 4(3) 21 #SJ7 ... ORX 4 GSIGN [SET MARKER^ CHANGED BUT NOT DELETED^ 17 #SJ# ...[ FOR IDELETE BLOCK 16 #SJF ... CALL 7 SEDEL [UPDATE IDELETE 8 #SJL ... BRN RELCY 4 #SJR ...[ 4 #SJY ...[ 7 #SK5 ...[ DELETED IDENT. 4 #SK= ...[ 5 #SKC ...ZDELED 7 #SKJ ... LDX 6 5 17 #SKP ... CALL 7 SEDEL [UPDATE IDELETE BLOCK 17 #SKW ... BRN PREZA [GO ON TO NEXT IDENT. 4 #SL3 ...[ 8 #SL8 ...[ END OF OLD CHAIN 4 #SL* ...[ 5 #SLG ...ZENOCH 18 #SLM ... BZE 4 TWEX [J IF NEW CHAIN ENDED TOO 7 #SLS ... LDX 3 4 17 #SL_ ... CALL 7 NXTEC [ELSE FIND NEW CELL 7 #SM6 ... SMO 3 16 #SM? ... LDX 0 BNO(2) [SAVE IDENT. NO. 4 #SMD ...[ 13 #SMK ...[ EXTRA CELL TO BE INCLUDED. X5 IS CURR 4 #SMQ ...[ 5 #SMX ...ZADDED 21 #SN4 ... LDX 4 0 [NEW HIGHEST IDENT. IF END OF OLD CHN 21 #SN9 ... CALL 7 SCHAIN [MAKE FPTR. POINT.TO CURRENT OLD CELL 17 #SNB ... CALL 7 UNITNEW [BACK TO UNIT CELL 19 #SNH ... BNG 4 NOFIO [J UNLESS OLD CHAIN FINISHED 7 #SNN ... SMO 3 19 #SNT ... STO 4 5(2) [STORE NEW HIGHEST IDENT. NO. 7 #SP2 ...NOFIO LDN 0 1 7 #SP7 ... SMO 3 17 #SP# ... ADS 0 BNUMB(2) [INCREASE NO. IDENTS. 20 #SPF ... LDX 4 5 [SAVE IDF PTR. TO NEXT TEMP CELL 19 #SPL ... ADN 3 6 [POINT TO BASE OF TEMP CHAIN 19 #SPR ... CALL 7 SCHAIN [UPDATE FIRST TEMP CELL PTR. 7 #SPY ... LDX 3 6 16 #SQ5 ... LDX 6 5 [UPDATE POINTER P 19 #SQ= ... CALL 7 NXTEC [FIND PREVIOUS POINTED CELL 21 #SQC ... CALL 7 SCHAIN [MAKE IT POINT AT NEW POINTED CELL 4 #SQJ ...[ 21 #SQP ...[ NOW X5 PTS. TO THE NEXT OLD CELL TO BE DEALT WITH AND X4 IS NEXT TEMP 14 #SQW ...[ CELL - SO GO BACK TO COMPARE THESE CELLS 9 #SR3 ... BRN ZNXTECE 4 #SR8 ...[ 9 #SR* ...[ NO OLD CELLS ON UNIT 4 #SRG ...[ 8 #SRM ...NOLDS LDX 0 6(3) 20 #SRS ... STO 0 BLINE(3) [RECHAIN TEMP CELLS AS IDENT CHN 8 #SR_ ... STOZ 6(3) 8 #SS6 ... LDX 2 FX2 10 #SS? ... LDX 0 ACOMMUNE2(2) 9 #SSD ... DSA 0 BNUMB(3) 10 #SSK ... LDX 0 ACOMMUNE1(2) 8 #SSQ ... STO 0 5(3) 4 #ST4 ...# 19 #ST9 ...# HAVING ESTABLISHED THAT THERE WERE IDENTIFIERS ON THE OLD 19 #STB ...# CONFIGURATION WE REMOVE FROM THE APERI/CONSOLE BLOCK ALL 17 #STH ...# ENTRIES REFERRING TO NOMINATED CONSOLES ON THE OLD 19 #STN ...# CONFIGURATION. (THE APERI/CONSOLE ENTRIES CORRESPOND TO 18 #STT ...# REMOTE NOMINATED CONSOLES ON ALL CI CHANNELS AND ON 18 #SW2 ...# 7900S ON THE CURRENT INSTALLATION.) THIS ROUTINE MUST 9 #SW7 ...# NOT COORDINATE. 4 #SW# ...# 4 #SWF ...# 4 #SWG ...TWEX 10 #SX6 ... HUNTW 1,IDF,IDELETE 8 #SX7 ... BNG 1 ZENCN 7 #SX8 ... NGN 0 1 8 #SX9 ... SMO A1(1) 19 #SX= ... STO 0 A1+1(1) [SET -1 AFTER LAST IDENT WD 8 #SXC ...TEACO SMO FX2 9 #SXJ ... STO 1 AWORK4 18 #SXP ... HUNTMISB 2,APERI,CONSOLE [HUNT ALONG MISC CHAIN 15 #SXW ... BNG 2 SNOMINIDF [BLOCK ABSENT 7 #SY3 ... LDX 1 2 8 #SY8 ... SMO FX2 18 #SY* ... LDX 7 AWORK1 [MARKER OF TYPE OF ENTRY 17 #SYG ... LDX 3 A1(1) [NO OF WORDS IN USE 16 #SYM ... SBN 3 2 [2 RED TAPE WORDS 9 #SYS ... BZE 3 SFREECONS 6 #SY_ ...THISENTRY 9 #S_6 ... LDX 5 A1+1(2) 18 #S_? ... BPZ 5 NEXTENTRY [J IF CONSOLE ON MX/UX 9 #S_D ... LDX 4 A1+2(2) 7 #S_K ... LDX 0 4 8 #S_Q ... ANDN 0 #7777 19 #S_X ... SRL 4 12 [7900 GEOG NO OR ZERO FOR CI 7 #T3L ... LDEX 6 7 6 #T3R ...TESTENTRY 18 #T3Y ... ERX 6 4 [COMPARE GEOG OR PROP NOS 15 #T45 ... ANDX 6 BITS22LS [CLEAR B0,B1 16 #T4= ... BNZ 6 NEXTENTRY [J IF NO MATCH 4 #T4C ...[ 16 #T4J ...[ SAVE X1 AND X7 7 #T4P ... LDX 4 1 7 #T4W ... LDX 5 7 8 #T53 ... CALL 6 SCADL 16 #T58 ... LDN 6 0 [IDENT UNCHANGED 16 #T5* ...[ RESTORE X1 AND X7 7 #T5G ... LDX 1 4 7 #T5M ... LDX 7 5 18 #T5S ... BNZ 6 NEXTENTRY [J IF IDENT UNCHANGED 10 #T5_ ... SBN 3 HUIDGENTLEN 16 #T66 ... LDN 4 A1+1+HUIDGENTLEN(2) [MOVE UP ENTRIES 17 #T6? ... LDN 5 A1+1(2) [AT LEAST ZERO WORD 15 #T6D ... MOVE 4 1(3) [TO BE MOVED 10 #T6K ... LDN 0 HUIDGENTLEN 18 #T6Q ... SBS 0 A1(1) [UPDATE NO OF USED WORDS 17 #T6X ... BNZ 3 THISENTRY [J IF MORE TO EXAMINE 9 #T74 ... BRN SCHECKLEN 6 #T79 ...NEXTENTRY 10 #T7B ... ADN 2 HUIDGENTLEN 10 #T7H ... SBN 3 HUIDGENTLEN 17 #T7N ... BNZ 3 THISENTRY [J IF MORE TO EXAMINE 6 #T7T ...SCHECKLEN 8 #T82 ... LDX 3 A1(1) 7 #T87 ... SBN 3 2 17 #T8# ... BZE 3 SFREECONS [J IF NO USED ENTRIES 10 #T8F ... LDX 2 ALOGLEN(1) 20 #T8L ... SBX 2 A1(1) [IF MORE THAN 5 UNUSED ENTRIES 18 #T8R ... SBN 2 5*HUIDGENTLEN+1 [CHANGE LOGICAL LENGTH 9 #T8Y ... BNG 2 SNOMINIDF 19 #T95 ... LDX 2 A1(1) [SET LOGICAL LENGTH EQUAL TO 16 #T9= ... ALTLENG 1,2 [NO OF USED WORDS 9 #T9C ... BRN SNOMINIDF 6 #T9J ...SFREECONS 18 #T9P ... FREECORE 1 [FREE APERI/CONSOLE BLOCK 6 #T=B ...SNOMINIDF 10 #T?3 ... ACROSS IDFCONFA,1 4 #T?N ...# 5 #T#* ...XDELETE 9 #T*2 ... LDX 6 BRECNO(2) 7 #T*M ... SLL 6 9 21 #TB# ... ADX 6 3 [IDF PTR TO CI UNIT CELL (B0 CLEAR) 7 #TB_ ... LDN 0 0 16 #TCL ... CALL 7 YNEW [FIND RECORD ZERO 18 #TD? ... LDN 3 BIPB [PTR TO BASE OF IPB CHAIN 5 #TDY ...YNEXUN 7 #TFK ... SMO 3 16 #TG= ... LDX 4 0(2) [PTR TO NEXT UNIT 18 #TGX ... BZE 4 XERR [J IF NOT FOUND TO GEOERR 18 #THJ ... LDXC 0 4 [UNSET B0 IF NECESSARY 7 #TJ9 ... BCS / 19 #TJW ... BXE 0 6,UFOUND [J IF PTR TO UNIT CELL FOUND 20 #TKH ... BPZ 4 UNEXT [J IF NEXT UNIT IN CURRENT RECORD 7 #TL8 ... SRL 0 9 21 #TLT ... CALL 7 YNEW [FIND REC CONTAINING NEXT UNIT CELL 5 #TMG ...UNEXT 18 #TN7 ... LDEX 3 4 [CELL PTR WITHIN RECORD 9 #TNS ... BRN YNEXUN 5 #TPF ...UFOUND 8 #TQ6 ... CALL 5 YFREE 4 #TQR ...# 5 #TRD ...XFINISH 10 #TS5 ...ZENCN ACROSS IDFCONFA,2 4 #TSQ ...# 4 #WCN ...# 4 #WCT ...# 4 #WL= # 5 #X5W ...XNOENT 18 #XKG ...[ IREPORT WITH NO ENTRIES 7 #Y56 ... FREECORE 1 17 #YJQ ... BZE 7 XFINISH [J IF NO IDENT CELLS 8 #_4B ... BRN SALDL 4 #_J2 ...[ 5 *23L ...YNOBLK 15 *2H= ...[ NO IREPORT 17 *32W ... BZE 7 XDELETE [J IF NO IDENT CELLS 8 *3GG ... LDCT 0 #200 8 *426 ... SMO FX2 19 *4FQ ... ORS 0 AWORK2 [REMEMBER FREE UNIT CELL 5 *4_B ...SALDL 19 *5F2 ...[ SET ^ALL IDENTS DELETED^ 8 *5WQ ... LDCT 1 #400 8 *5YL ... BRN TEACO 4 *MJN ...[ 14 *ML= ...[ TABLE OF IDENTIFIERS TO BE MADE 7502 LP 4 *MMS ...[ 9 *MNK ...XERR GEOERR 1,UNITILL 11 *MPB ...#OPT IDF7502IDS = 20 10 *MXL ... SEGENTRY K90IDFCONF 8 *N5W ...TABLE7502ID 0 10 *N#6 ...#GAP IDF7502IDS 4 *NGB #END 6 ____ ...243402650001