{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IDFCONFA867)}}
====== IDFCONFA867 ======
(George Source)
**Macros used:** [[george:macro:BXE|BXE]], [[george:macro:BXU|BXU]], [[george:macro:CLOSE|CLOSE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:HUNTW|HUNTW]], [[george:macro:IDFWRITE|IDFWRITE]], [[george:macro:MFREECELL|MFREECELL]], [[george:macro:MSEARCH|MSEARCH]], [[george:macro:MXB|MXB]], [[george:macro:NEW|NEW]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:UPPLUS|UPPLUS]], [[george:macro:VFREEW|VFREEW]]
228= ...#SEG IDFCONFA8 [A C PUTMAN
22?B ...# COPYRIGHT INTERNATIONAL COMPUTERS 1982
22BG ...#
22JQ ...# THIS SEGMENT CREATED NOV 81 BY SPLITTING OFF FROM IDFCONF
22R2 ...#
22^= #OPT K0IDFCONF=0
23DW #LIS K0IDFCONF>K0ALLGEO>K0GREATGEO>K0COMMAND>K0IDF
23YG ... 8HIDFCONFA
24D6 ... SEGENTRY K1IDFCONFA,X1IDFCONFA
24XQ ... SEGENTRY K2IDFCONFA,X2IDFCONFA
2F6B #
2FL2 # SUBROUTINE TO SEARCH FOR UNIT/CI CHANNEL CELL
2G5L #
2GK= #
2H4W ZMSEARCH
2HJG SBX 7 FX1
2J46 LDN 3 BIPB [BASE OF IPB CHAIN
2JHQ MSEARCH 2,3,4
2K3B SMO FX2
2KH2 LDX 0 ACOMMUNE1
2L2L BZE 0 XERR [J TO GEOERR IF UNIT NOT FOUND
2LG= LDX 0 BRECNO(2)
2L^W SMO FX2
2MFG STO 0 AWORK3 [RECORD NO OF UNIT/CI CHANNEL
2M^6 SMO FX2
2NDQ STO 3 AWORK4 [CELL PTR WITHIN RECORD
2NYB SMO 2
2PD2 LDX 5 BLINE(3) [PTR TO IDENTIFIER CHAIN
2PXL ADX 7 FX1
2QC= EXIT 7 0
2QWW #
2QXK ...[ SUBROUTINE TO FIND REC + CELL PTRS FOR CELL DEFINED IN AW3
2QY# ...UNITNEW
2Q^3 ... SMO FX2
2Q^Q ... LDX 3 AWORK3
2R2F ...[
2R38 ...[ FIND CELL DEFINED IN X3
2R3X ...[
2R4L ...NXTEC LDXC 0 3
2R5* ... SRL 0 9
2R64 ... ANDN 3 #777
2R6R ... TXU 0 BRECNO(2)
2R7G ... BCC (7)
2R89 ... BRN YNEW
2R8Y ...[
2R9M ...[
2R=B ...[ USE NXNEW IF X2 NOT IDF REC.
2R?5 ...[
2R?S ...NXNEW LDXC 0 3
2R#H ... SRL 0 9
2R*= ... ANDN 3 #777
2RBG #
2RW6 # SUBROUTINE TO SET X2 POINTING TO A1 OF FRRB CONTAINING RECORD
2S*Q # KNOWN TO BE IN CORE.ON ENTRY X0 CONTAINS RECORD NO REQD
2STB #
2T*2 #
2TSL YNEW
2W#= SMO FX2
2WRW STO 0 ACOMMUNE3
2X?G NEW 2
2XR6 EXIT 7 0
2Y96 ...[
2Y=Q #
2YQB #
2^=2 # SUBROUTINE TO FIND CELL WHOSE IDF PTR IS IN X3 ON ENTRY.
2^PL # ON EXIT X2->A1 OF FRRB CONTAINING RECORD AND X3 CONTAINS
329= # CELL PTR WITHIN THE RECORD
32NW #
338G #
33N6 NEXCELL
347Q BPZ 3 YSAME [J IF CELL IN CURRENT RECORD
34MB SBX 7 FX1
3572 LDXC 0 3 [REMOVE B0
35LL SRL 0 9
366= LDX 2 FX2
36KW STO 0 ACOMMUNE3(2) [STORE NO OF NEXT RECORD REQD
375G MXB 2,NOFX12 [FIND NEXT RECORD
37K6 ADX 7 FX1
384Q YSAME
38JB ANDN 3 #777 [RELATIVE CELL PTR
3942 EXIT 7 0
39HL #
3BCW #
3BXG #
3CC6 # SUBROUTINE TO FREE A CELL
3CWQ #
3DBB #
3DW2 YFREE
3F*L SBX 5 FX1
3FT= MFREECELL 2,3 [PTR GIVEN TO NEXT CELL ON CHAIN
3G#W ADX 5 FX1
3GSG EXIT 5 0
3H#6 #
3HRQ #
3J?B ...# SUBROUTINE TO FREE ALL CELLS ON A CHAIN.ON ENTRY/EXIT X2 IS PTR
3JR2 # TO RECORD,AND X3 IS WD PTR WITHIN REC,OF THE CHAIN BASE
3K=L # X4 IS SET -VE IF AT LEAST ONE CELL IS FREED
3KQ= #
3L9W #
3LPG XFREE
3M96 SBX 7 FX1
3MNQ XFREEA
3N8B SMO 2
3NN2 LDX 0 0(3)
3P7L BZE 0 XFREED [J IF END OF CHAIN
3PM= CALL 5 YFREE [FREE A CELL
3Q6W NGN 4 1 [SET MARKER
3QLG BRN XFREEA
3R66 XFREED
3RKQ ADX 7 FX1
3S5B EXIT 7 0
3SK2 #
3T4L #
3TJ= # SUBROUTINE TO FREE ASSOCIATE AND ATTRIBUTE CELLS FOR AN
3W3W # IDENTIFIER(OR UNIT).ON ENTRY X3 CONTAINS IDF PTR TO IDENTIFIER
3WHG # (OR UNIT) CELL.ON EXIT X2 IS PTR TO RECORD CONTAINING
3X36 # IDENTIFIER OR UNIT AND X3 IS CELL PTR WITHIN RECORD
3XGQ #
3Y2B #
3YG2 ...ZATA SBX 6 FX1
3Y^L ... ADN 3 BASS
42DG CALL 7 XFREE [FREE ASSOCIATE CELL(S)
42Y6 ADN 3 BATT-BASS
43CQ CALL 7 XFREE [FREE ATTRIBUTE CELL(S)
43XB SBN 3 BATT
44C2 ADX 6 FX1
44WL EXIT 6 0
45TW #
46*G # SUBROUTINE TO CHECK IF THE CELL,WHOSE IDF POINTER IS IN X3,
46T6 # CORRESPONDS TO A DEVICE ON THE CONFIGURATION OF THE UNIT
47#Q # DEFINED BY AWORK1.EXIT 0 IF IT DOES,EXIT 1 IF NOT
47SB #
48#2 #
48RL RIGHTCONF
49?= SBX 6 FX1
49QW CALL 7 NEXCELL [FIND DEVICE CELL
4==G ADX 6 FX1
4=Q6 ADX 3 2
4?9Q LDX 0 BNUMB(3) [INDICATOR OF TYPE OF CELL
4?PB ADXC 0 0
4#92 BCC NOTONCONF [J IF 7020 INTERFACE CELL
4#NL LDEX 0 BTYPE(3) [GEOG NO OF 7900 OR ZERO
4*8= SMO FX2
4*MW LDXC 1 AWORK1 [MARKER OF TYPE OF ENTRY
4B7G BCC YIPBCONF [J IF 7900 CONFIG CHANGE
4BM6 BNZ 0 NOTONCONF [J IF CI CONFIG,DEVICE ON 7900
4C6Q LDX 0 IPROPNO(3) [PROG PROP NO IN IDENT CELL
4CLB BRN YTEST
4D62 YIPBCONF
4DKL BZE 0 NOTONCONF [J IF 7900 CONFIG,DEVICE ON CI
4F5= LDEX 1 1 [GEOG NO
4FJW YTEST
4G4G ERX 1 0 [COMPARE GEOG OR PROP NOS
4GJ6 ANDX 1 BITS22LS [CLEAR B0,B1
4H3Q BNZ 1 NOTONCONF [J IF NO MATCH
4H4T ... HUNTW 1,IDF,IDELETE
4H5Y ... BNG 1 ZVND [ALL IDENTS CHANGED
4H73 ... ORX 1 GSIGN [SET MARKER FOR RIGHTCONF
4H86 ... LDX 0 BNO(3)
4H99 ...ZDELP
4H=# ... ADN 1 1
4H?C ... LDXC 7 A1(1)
4H#G ... BCS £ [UNSET B0
4H*K ... SBX 7 0
4HBN ... BZE 7 ZVND
4HCR ... BNG 7 ZDELP [J TO CHECK NEXT IDELETE ENTRY
4HDW ... EXIT 6 1 [IDENT NOT FOUND
4HF^ ...ZVND BPZ 1 (6) [EXIT UNLESS CALLED FROM RIGHTCONF
4HHB LDX 0 GSIGN
4J32 SMO FX2
4JGL ORS 0 AWORK2 [SET CLUSTER CHANGE MARKER
4K2= EXIT 6 0
4KFW NOTONCONF [DEVICE NOT ON RELEVANT CONFIG
4K^G EXIT 6 1
4LF6 #
4LYQ #
4MDB # SUBROUTINE TO RE-FIND CELL CONTAINING 'CURRENT' ATTRIBUTION
4MY2 # PTR,TO CLEAR THIS POINTER IF NECESSARY,AND TO UPDATE MARKER
4NCL # WORDS.LINK X1.BRANCHES TO XMOVEUP WHEN ALL ATTRIBUTIONS
4NX= # HAVE BEEN EXAMINED
4PBW #
4PWG #
4QB6 XMISC
4QTQ SMO FX2
4R*B LDX 3 AWORK4
4RT2 LDXC 0 3
4S#L SRL 0 9
4SS= CALL 7 YNEW [FIND CELL WITH CURRENT ATTRIB PTR
4T?W ANDN 3 #777
4TRG ADX 3 2 [ABSOLUTE CELL PTR
4W?6 BNZ 6 NOATCHANGE [J IF ATTRIBUTION TO REMAIN
4WQQ SMO 4
4X=B STOZ 0(3) [CLEAR ATTRIBUTION
4XQ2 NOATCHANGE
4Y9L SBN 5 1
4YP= BZE 5 XMOVEUP [J IF ALL ATTRIBS CHECKED
4^8W ADN 4 1
4^NG ANDN 4 #7 [UPDATE PTR WITHIN CELL
5286 EXIT 1 0
529C ...#
52P3 ...#
#T9W ...#
#T=8 ...# NEXT WE CLEAR OUT NOMINATIONS AND ATTRIBUTIONS FOR
#T=* ...# DEVICES ON THE OLD CONFIGURATION FROM CONSOLE PROPERTY
#T=G ...# CELLS AND CONSOLE PROPERTY ATTRIBUTION CELLS,MOVING UP
#T=M ...# POINTERS IF NECESSARY
#T=S ...#
#T=^ ...#
#T?3 ...X1IDFCONFA
#T?6 ...SNOMINIDF
#T?C ... LDN 0 0
#T?D ... CALL 7 YNEW [FIND RECORD ZERO
#T?K ... LDN 3 BEXOT(2) [BASE OF CONSOLE PROP CHAIN
#T?Q ...NEXTPROP
#T?X ... LDX 3 0(3) [NEXT CONS PROP PTR
#T#4 ... BNZ 3 PROPFOUND [J IF FURTHER CONSOLE PROP
#T#9 ... LDN 0 0
#T#B ... CALL 7 YNEW [RE-FIND RECORD ZERO
#T#H ... SMO FX2
#T#N ... LDX 4 AWORK1 [PROG PROP NO OR GEOG NO
#T#T ... BRN YJOIN [JUMP TO DEAL WITH IDENT CHAIN
#T*2 ...PROPFOUND
#T*7 ... SMO FX2
#T*# ... STO 3 AWORK3 [KEEP IDF PTR TO CONS PROP CELL
#T*F ... SMO FX2
#T*L ... STO 3 AWORK4 [PTR TO CELL WITH 1ST ATTRIB PTR
#T*R ... CALL 7 NEXCELL [FIND CONS PROP CELL
#T*Y ... ADX 3 2
#TB5 ... LDX 5 BTYPE(3) [PTR TO NOMINATED CONSOLE CELL
#TB= ... BZE 5 NOCHANGE [J IF CENTRAL CONSOLE
#TBC ... LDX 3 5
#TBJ ... CALL 6 RIGHTCONF [CHECK IF NOM CONSOLE ON OLD CONFIG
#TBP ... LDN 6 0 [SET MARKER IF IT IS
#TBW ... SMO FX2
#TC3 ... LDX 3 AWORK3 [IDF POINTER TO CONS PROP CELL
#TC8 ... LDXC 0 3
#TC* ... SRL 0 9 [RECORD NO OF CONS PROP CELL
#TCG ... CALL 7 YNEW [FIND CONS PROP RECORD AGAIN
#TCM ... ANDN 3 #777 [CELL PTR WITHIN RECORD
#TCS ... ADX 3 2 [ABSOLUTE PTR TO CONS PROP CELL
#TC^ ... BNZ 6 NOCHANGE [NOM CONS TO STAY THE SAME
#TD6 ... STOZ BTYPE(3) [CHANGE NOM CONS TO CENTRAL
#TD? ...NOCHANGE
#TDD ... LDX 5 BNUMB(3) [NO OF CONS PROP ATTRIBUTIONS
#TDK ... BZE 5 NEXTPROP [J FOR NEXT CONSOLE PROPERTY
#TDQ ... LDN 4 5 [PTR IN CELL TO NEXT ATTRIB PTR
#TDX ...NEXTATT
#TF4 ... SMO 4
#TF9 ... LDX 3 0(3) [NEXT ATTRIB PTR
#TFB ... BZE 3 ZERR [J IF ZERO TO GEOERR
#TFH ... CALL 6 RIGHTCONF [CHECK IF DEVICE ON OLD CONFIG
#TFN ... LDN 6 0 [SET MARKER IF IT IS
#TFT ... CALL 1 XMISC [CLEAR ATTRIB IF NEC,CHANGE PTRS
#TG2 ... BNZ 4 NEXTATT [J IF NEXT PTR IN SAME CELL
#TG7 ... LDX 3 BLINE(3) [PTR TO 1ST CONS PROP ATT CELL
#TG# ...NEXTATCELL
#TGF ... BZE 3 ZERR
#TGL ... SMO FX2
#TGR ... STO 3 AWORK4 [PTR TO NEXT CONS PROP ATT CELL
#TGY ... CALL 7 NEXCELL [FIND THIS CELL
#TH5 ... ADX 3 2 [ABS CELL PTR
#TH= ... LDN 4 1 [PTR IN CELL TO NEXT ATTRIB PTR
#THC ...NEXTATTRIB
#THJ ... SMO 4
#THP ... LDX 3 0(3) [NEXT ATTRIB PTR
#THW ... BZE 3 ZERR
#TJ3 ... CALL 6 RIGHTCONF [CHECK IF DEVICE ON OLD CONFIG
#TJ8 ... LDN 6 0
#TJ* ... CALL 1 XMISC [CLEAR ATTRIB IF NEC,CHANGE PTRS
#TJG ... BNZ 4 NEXTATTRIB [J IF NEXT PTR IN SAME CELL
#TJM ... LDX 3 0(3) [PTR TO NEXT CONS PROP ATT CELL
#TJS ... BRN NEXTATCELL
#TJ^ ...XMOVEUP
#TK6 ... LDX 2 FX2
#TK? ... LDN 3 BLINE [REL PTR TO 1ST CONS PROP ATT CELL
#TKD ... STO 3 ACOMMUNE1(2) [FOR INITIAL CONS ATTRIB CELLS
#TKK ... STO 3 ACOMMUNE2(2) [FOR NEW CONS ATTRIB CELLS
#TKQ ... STOZ AWORK4(2) [TO HOLD NO OF ATTS LEFT
#TKX ... LDX 3 AWORK3(2)
#TL4 ... LDXC 0 3
#TL9 ... SRL 0 9
#TLB ... CALL 7 YNEW [RE-FIND CONS PROP RECORD
#TLH ... ANDN 3 #777
#TLN ... ADX 3 2 [ABS PTR TO CONS PROP CELL
#TLT ... LDX 6 BNUMB(3) [NO OF ATTS INITIALLY
#TM2 ... BZE 6 NEXTPROP [J FOR NEXT CONS PROP
#TM7 ... LDX 1 3 [FOR INITIAL CONS PROP CELL
#TM# ... LDN 4 5 [PTR IN CELL TO NEXT ATT PTR
#TMF ... LDN 5 5
#TML ...XNEXT
#TMR ... SMO 4
#TMY ... LDX 7 0(1) [NEXT ATTRIBUTION PTR
#TN5 ... SBN 6 1 [SUBTRACT FROM ATT WD COUNT
#TN= ... BZE 7 TCLEARED [J IF ATTRIB CLEARED
#TNC ... SMO 4
#TNJ ... STOZ 0(1) [CLEAR FORMER POINTER
#TNP ... ORX 7 GSIGN
#TNW ... LDXC 0 7
#TP3 ... SRL 0 9
#TP8 ... BXU 0 BRECNO(2),NOTREC
#TP* ... ERX 7 GSIGN [UNSET B0 IF PTR TO CURRENT REC
#TPG ...NOTREC
#TPM ... SMO 5
#TPS ... STO 7 0(3) [SET UP NEW ATTRIB PTR
#TP^ ... LDN 0 1
#TQ6 ... SMO FX2
#TQ? ... ADS 0 AWORK4 [UPDATE NEW ATTRIB COUNT
#TQD ... BZE 6 PROPEND [J WHEN ALL ATTS DEALT WITH
#TQK ... ADN 5 1
#TQQ ... ANDN 5 #7
#TQX ... BNZ 5 TCLEARED [J IF NO NEW CELL REQD
#TR4 ... LDX 2 FX2
#TR9 ... SMO ACOMMUNE2(2)
#TRB ... LDX 3 0(3) [NEXT CONS PROP ATT CELL PTR
#TRH ... STOZ ACOMMUNE2(2) [FURTHER PTR IN WORD 0
#TRN ... LDXC 0 3
#TRT ... SRL 0 9
#TS2 ... CALL 7 YNEW
#TS7 ... ANDN 3 #777
#TS# ... ADX 3 2 [ABS PTR TO NEXT NEW ATT CELL
#TSF ... LDN 5 1 [NEXT ATT PTR IN WORD 1
#TSL ...TCLEARED
#TSR ... BZE 6 PROPEND [J WHEN ALL ATTS DEALT WITH
#TSY ... ADN 4 1
#TT5 ... ANDN 4 #7
#TT= ... BNZ 4 XNEXT [J IF NO NEW CELL REQD
#TTC ... LDX 4 2 [PRESERVE RECORD POINTER
#TTJ ... LDX 2 FX2 [OF NEW CONS ATTRIB CELL
#TTP ... SMO ACOMMUNE1(2)
#TTW ... LDX 1 0(1) [NEXT CONS PROP ATT CELL PTR
#TW3 ... STOZ ACOMMUNE1(2) [FURTHER PTR IN WORD 0
#TW8 ... LDXC 0 1
#TW* ... SRL 0 9
#TWG ... CALL 7 YNEW
#TWM ... ANDN 1 #777
#TWS ... ADX 1 2 [ABS PTR TO NEXT OLD ATT CELL
#TW^ ... LDX 2 4 [RESET X2->REC OF NEW CELL
#TX6 ... LDN 4 1 [NEXT ATT PTR IN WORD 1
#TX? ... BRN XNEXT
#TXD ...PROPEND
#TXK ... SBX 3 2 [GET REL CELL PTR IN REC
#TXQ ... SMO FX2
#TXX ... ADX 3 ACOMMUNE2 [ADD REL PTR TO NEXT ATT CELL
#TY4 ... CALL 7 XFREE [FREE ATT CELLS NO LONGER REQD
#TY9 ... LDX 2 FX2
#TYB ... LDX 3 AWORK3(2)
#TYH ... LDX 6 AWORK4(2) [NEW NO OF ATTRIBUTIONS
#TYN ... LDXC 0 3
#TYT ... SRL 0 9
#T^2 ... CALL 7 YNEW
#T^7 ... ANDN 3 #777
#T^# ... ADX 3 2 [ABS PTR TO CONS PROP CELL
#T^F ... STO 6 BNUMB(3) [NEW ATTRIB COUNT
#T^L ... BRN NEXTPROP
#T^R ...#
#T^Y ...#
#W25 ...# NEXT WE THROW AWAY ASSOCIATE AND ATTRIBUTE CELLS
#W2= ...# AND THE OLD IDENTIFIER CELLS,SETTING UP A NEW IDENTIFIER
#W2C ...# CHAIN FROM THE IDF/IREPORT BLOCK
#W2J ...#
#W2P ...#
#W2W ...YJOIN
#W33 ... CALL 7 ZMSEARCH [SEARCH FOR UNIT/CI CHANNEL
#W38 ... LDX 1 FX2
#W3* ... LDX 6 AWORK3(1)
#W3G ... SLL 6 9
#W3M ... ADX 6 AWORK4(1)
#W3S ... STO 6 AWORK3(1) [SAVE IDF PTR TO UNIT CELL
#W3^ ... ADN 3 BLINE
#W46 ... LDN 4 0 [MARK NO ATTR OR ASSOC CHANGE
#W4? ...TONXI LDX 0 BRECNO(2)
#W4D ... SLL 0 9
#W4K ... ORX 0 3
#W4Q ... SMO FX2
#W4X ... STO 0 AWORK4 [SAVE PTR TO PREV IDENT CELL
#W54 ... SMO 2
#W59 ... LDX 3 0(3)
#W5B ... BZE 3 ZENI [J IF END OF IDENT CHAIN
#W5H ...TENID CALL 7 NEXCELL
#W5N ... HUNTW 1,IDF,IDELETE [REFIND IDELETE AFTER COOR
#W5T ... BNG 1 VREID [J IF ALL IDENTS BEING FREED
#W62 ... SMO 3
#W67 ... LDX 0 BNO(2)
#W6# ... CALL 6 ZDELP [SEE IF IDENT CHANGED
#W6F ... BRN ZINDL [J IF SO
#W6L ... BRN TONXI [ELSE GO ON TO NEXT IDENT
#W6R ...ZINDL LDXC 7 A1(1)
#W6Y ... BCC VREID [J IF CELL TO BE FREED
#W75 ... CALL 6 ZATA
#W7= ... BRN TONXI [ELSE FREE ASSOC+ATT AND GO TO NXT ID
#W7C ...VREID CALL 6 ZATA [FREE ASSOC + ATT
#W7J ... SMO FX2
#W7P ... LDX 3 AWORK4
#W7W ... CALL 7 NXTEC [FIND PREV CELL
#W83 ... CALL 5 YFREE [FREE CURRENT CELL
#W88 ... LDX 5 2
#W8* ... ADX 5 3 [SAVE ADDR OF PREV CELL
#W8G ... CALL 7 UNITNEW [FIND UNIT CELL
#W8M ... LDN 0 1
#W8S ... ADX 2 3
#W8^ ... SBS 0 BNUMB(2)
#W96 ...[ UPDATE COUNT OF IDENTS
#W9? ... SMO 5
#W9D ... LDX 3 0 [GET ADDR OF NEXT CELL
#W9K ... BZE 3 VREDV [J IF END OF CHAIN
#W9Q ... ORX 3 GSIGN [NEXCELL MUST NOT ASSUME X2 IS IDF REC
#W9X ... BRN TENID
#W=4 ...VREDV SMO 5
#W=9 ... LDX 0 BNO
#W=B ... STO 0 5(2)
#W=H ...[ UPDATE HIGEST IDENT NO.
#W=N ...ZENI LDX 2 FX2
#W=T ... ANDX 4 GSIGN
#W?2 ... ORS 4 AWORK2(2) [SET CLUS CHANGED MARK IF ASSOC
#W?7 ...[ OR ATTS FREED
#W?# ... LDCT 0 #200
#W?F ... ANDX 0 AWORK2(2)
#W?L ... BZE 0 XFINISH
#W?R ...[ J IF NOT NEED TO FREE CELL
#W?Y ... CALL 7 UNITNEW
#W#5 ...XDELETE
#W#= ... LDX 6 BRECNO(2)
#W#C ... SLL 6 9
#W#J ... ADX 6 3 [IDF PTR TO CI UNIT CELL (B0 CLEAR)
#W#P ... LDN 0 0
#W#W ... CALL 7 YNEW [FIND RECORD ZERO
#W*3 ... LDN 3 BIPB [PTR TO BASE OF IPB CHAIN
#W*8 ...YNEXUN
#W** ... SMO 3
#W*G ... LDX 4 0(2) [PTR TO NEXT UNIT
#W*M ... BZE 4 XERR [J IF NOT FOUND TO GEOERR
#W*S ... LDXC 0 4 [UNSET B0 IF NECESSARY
#W*^ ... BCS £
#WB6 ... BXE 0 6,UFOUND [J IF PTR TO UNIT CELL FOUND
#WB? ... BPZ 4 UNEXT [J IF NEXT UNIT IN CURRENT RECORD
#WBD ... SRL 0 9
#WBK ... CALL 7 YNEW [FIND REC CONTAINING NEXT UNIT CELL
#WBQ ...UNEXT
#WBX ... LDEX 3 4 [CELL PTR WITHIN RECORD
#WC4 ... BRN YNEXUN
#WC9 ...UFOUND
#WCB ... CALL 5 YFREE
#WCN ...#
#WX# ...X2IDFCONFA
*6D= ...ZENCN
**QL XFINISH
*B2D ... VFREEW IDF,IDELETE
*B== LDX 2 FX2
*BPW LDX 6 AWORK1(2)
*C9G ... LDX 7 AWORK2(2)
*D8Q LDX 5 7
*DNB ANDX 5 BITS22LS
*F82 BNZ 5 XFINB [J IF IDF TO BE LEFT OPEN
*FML XFINA
*G7= IDFWRITE
*GLW CLOSE
*H6G XFINB
*HL6 BPZ 6 XFINI [J IF 7900
*J5Q BNG 7 XOVER [J IF CLUSTER CHANGE MARKER SET
*JKB UPPLUS 2 [NO CLUSTERING CHANGES
*JP? ...XFINI
*K52 XOVER
*KJL UPPLUS 1 [CLUSTERING CHANGES
*L4= ...XERR GEOERR 1,UNITILL1
*MH6 ZERR GEOERR 1,IDFERROR
*MJN ...[
*NGB #END
^^^^ ...674342070001