{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: CDUM866)}}
====== CDUM866 ======
(George Source)
**Macros used:** [[george:macro:BUTTONUP|BUTTONUP]], [[george:macro:CHAIN|CHAIN]], [[george:macro:DEDICATE|DEDICATE]], [[george:macro:FINDPEREC|FINDPEREC]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHSKIP|FSHSKIP]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GEOSTOP|GEOSTOP]], [[george:macro:INFORM|INFORM]], [[george:macro:JENVNOT|JENVNOT]], [[george:macro:JSHARED|JSHARED]], [[george:macro:JTWIN|JTWIN]], [[george:macro:LADDP|LADDP]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LINT|LINT]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MFREE|MFREE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:OR|OR]], [[george:macro:OUTMESSX|OUTMESSX]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:PAIR|PAIR]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:TAB|TAB]], [[george:macro:UNDEDICATE|UNDEDICATE]], [[george:macro:UP|UP]], [[george:macro:UPPLUS|UPPLUS]]
22FL #SEG CDUM70 [BOB NICHOLSON
22^= #LIS K0CDUM
23DW 8HCDUM
23YG #
24D6 SEGENTRY K1CDUM,QK1TW
24XQ SEGENTRY K2CDUM,QK2TW
252W ... SEGENTRY K3CDUM
2562 ... -1 [=0 IF ALL TO BE DEDICATED
2596 ... SEGENTRY K4CDUM
25#= ... +0 [=-1 IF TRACING
25CB Q24 +24 [FOR BUTTONUP
25X2 #
26BL #
26W= # INITIAL ENTRY POINT IN EMS TO CHECK DEDICATE/UNDEDICATE MACROS
27*W #
27TG TYPE
28*6 +BSA+ENTWIN
28SQ XLINK PAIR TWINSETA,1
29#B #
29S2 XM1 #77777777
2=?L XM2 +ETBUFFLE
2=R= XBITS510 #01020000
2?=W XBIT5910 #01060000
2?GN ...XDUALCME +EDUALCME
2?QG #
2#=6 # SUBROUTINE TO COUNT NUMBER OF ENTRIES IN ARES AND AUNRES TABLE
2#PQ #
2*9B # LINK X7 X3 PTR TO START OF AREA : COUNT IN X6 NOT CLEARED ON ENT
2*P2 #
2B8L X1 LDX 0 0(3) [GET NEXT ENTRY
2BN= SMO FX1
2C7W TXU 0 XM1 [TEST IF END
2CMG BCC (7) [J IF SO
2D76 ADN 6 1 [UPDATE COUNT
2DLQ ADN 3 1 [AND PTR
2F6B BRN X1
2FL2 #
2G5L #
2GK= # SUBROUTINE TO GO THOUGH ALL UDAS DEVICES LOOKING FOR TWINNED ONES.
2H4W #
2HJG # EXITS 0 IF NO MORE; EXITS+1 WITH DEVICE LIST PTR IN X3
2J46 #
2JHQ # CAN BE RE-ENTERED BY CALL 7 X3 TO GET NEXT DEVICE THAT IS TWINNED
2K3B #
2KH2 X6 LDX 1 FX1
2L2L X4 ADN 1 1
2LG= LDX 0 TAB-1(1) [NEXT DEVICE TYPE
2L^W BNG 0 (7) [J IF NO MORE
2MFG ... FINDPEREC 3,APFOTY,TAB-1(1),X3 [GET PTR TO DEVICE LIST
2M^6 BNG 3 X4 [J IF NO MORE OF THIS TYPE
2NDQ JTWIN 3,X5 [J IF TWINNED
2NYB BRN X3 [ELSE LOOK FOR NEXT
2PD2 X5 EXIT 7 1
2PXL #
2QC= #
2QWW TAB +6
2RBG +13
2RW6 +26
2S*Q -1
2STB #
2T*2 # TABLE FOR DEDICATE MACRO
2TSL #
2W#= ... SEGENTRY ARES
2WRW -1
2X?G #REP 25
2XR6 +0
2Y=Q #
2YQB # TABLE FOR UNDEDICATE MACRO
2^=2 #
2^PL ... SEGENTRY AUNRES
329= -1
32NW #REP 25
338G +0
33N6 #
347Q #
34MB QK1TW [*****
3572 LDN 6 0 [INITIALISE COUNT OF ENTRIES
35#8 ... LDX 0 K3CDUM(1)
35FB ... BZE 0 X7 [DONT DO ANYTHING IF TWINNING OFF
35LL LDN 3 ARES(1) [PTR TO DEDICATE TABLE
366= CALL 7 X1 [GET COUNT OF DEDICATES IN X6
36KW LDX 5 6 [AND REMEMBER
375G LDN 3 AUNRES(1) [PTR TO UNDEDICATE TABLE
37K6 CALL 7 X1 [AND GET COUNT
384Q BNZ 6 X2 [J IF SOME ENTRIES
38JB CALL 7 X4 [SEE IF ANY TWINNED DEVICES
3942 BRN X7 [J IF NOT
39HL LDN 6 0 [INITIALISE COUNT OF TWINNED SPINDLES
3=3= X8 LADDP 3,2 [GET PTR TO APIA
3=GW ADN 6 1 [UPDATE COUNT
3=N4 ... FSHSKIP
3=T= ...(
3?2G SMO FX1
3?G6 LDX 0 XBITS510
3?L3 ...)
3?PY ... FSHCODE AORB
3?TT ... LDX 0 BIT10
3?^Q ORS 0 BSUNIT(2) [SET LOCKED-OUT AND SHARED BITS
3#FB CALL 7 X3 [GET NEXT TWINNED DEVICE
3#^2 BRN X9 [NO MORE
3*DL BRN X8 [GO TO CHECK THIS ONE
3*Y= #
3BCW X7 UP [NO NOTHINGS
3BXG #
3CC6 #
3CWQ #
3DBB # GETS HERE IF EITHER DEDICATE OR UNDEDICATE HAVE BEEN ISSUED
3DW2 #
3F*L X2 ADN 6 1 [AND ONE FOR -1
3FT= SETUPCORE 6,3,EWDAS,ESEND [SET UP BLOCK TO HOLD UNIT NOS
3G#W STOZ ENTRGA(3) [CLEAR OUT BLOCK
3GSG LDN 4 ENTRGA(3)
3H#6 LDN 5 ENTRGA+1(3)
3HRQ SBN 6 1
3J?B SMO 6
3JR2 MOVE 4 0
3K=L LDX 0 XM1(1)
3KQ= STO 0 ENTRGA(3) [-1 INDICATES END
3L9W LDN 3 ENTRGA(3) [PTR TO START OF DATA
3LPG LDN 6 0 [DEDICATED MARKER
3M96 LDN 1 ARES(1) [PTR TO START OF DEDICATED LIST
3MNQ STOZ AWORK1(2) [COUNTER OF NUMBER OF NON-TWINNED DEV
3N8B STOZ AWORK2(2) [COUNTER OF NUMBER OF DUPLICATES
3NN2 CALL 7 X12 [SORT OUT DEDICATED LIST
3P7L LDX 2 FX1
3PM= LDN 1 AUNRES(2) [PTR TO UNDEDICATED LIST
3Q6W LDX 6 XBIT5910(2) [MKR FOR UNDEDICATED DEVICES IN APIA
3QLG CALL 7 X12 [AND SORT THEM OUT
3R66 LDX 2 FX2
3RKQ LDX 0 AWORK1(2)
3S5B ADX 0 AWORK2(2)
3SK2 BNZ 0 X19 [J IF ANY ERRORS
3T4L MHUNTW 2,EWDAS,ESEND
3TJ= LDN 6 0 [INITIALISE COUNT
3W3W CALL 7 X6 [GET PTR TO FIRST TWINNED DEVICE
3WHG BRN XMUCK [SHOULD BE SOME
3X36 X24 LGEOG 3,7 [X7 CONTAIN GEOGRAPHICAL NO.
3XGQ ADN 6 1 [UPDATE COUNT
3Y2B LDN 4 ENTRGA(2) [START OF NUMBERS
3YG2 X26 SMO 4
3Y^L LDX 0 0
3^F= SMO FX1
3^YW TXU 0 XM1
42DG BCC X23 [J IF END OF LIST
42Y6 #SKI K6TWINSET>99-99
43CQ (
43XB LDCT 5 #600 [CHECK NO ERROR MARK
44C2 ANDX 5 0
44WL BZE 5 X22
45B= GEOERR 1,HOOT!
45TW X22
46*G )
46T6 TXU 7 0
47#Q BCC X25 [J IF IN LIST - ALREADY DELT WITH
47SB ADN 4 1 [UPDATE MOD
48#2 BRN X26 [GO FOR NEXT
48RL X23 LADDP 3,4 [NOT IN LIST SO MARK AS SHARED
48YS ... FSHSKIP
4962 ...(
49?= SMO FX1
49QW LDX 0 XBITS510
49WR ...)
4=2N ... FSHCODE AORB
4=6K ... LDX 0 BIT10
4==G SMO 4
4=Q6 ORS 0 BSUNIT
4?9Q X25 CALL 7 X3 [GET DL PTR TO NEXT TWINNED DEVICE
4?PB BRN X9A [NO-MORE - GO TO SET UP BSA/ENTWIN
4#92 BRN X24 [GO AND SORT OUT NEXT
4#NL #
4*8= # THIS BORING SUBROUTINE CHECKS OUT THE PARAMETERS TO THE DEDICATE
4*MW # AND UNDEDICATE MACROS.
4B7G #
4BM6 # ON ENTRY:-
4C6Q #
4CLB # X0 WHO CARES!
4D62 # X1 POINTER TO START OF DEDICATE OR UNDEDICATED LIST (ARES OR AU
4DKL # X2 WHO CARES!
4F5= # X3 NEXT FREE WORD IN EWDAS/ESEND (PTR TO)
4FJW # X4 SEE X0!
4G4G # X5 NOT USED (A RARITY)
4GJ6 # X6 MARKER =0 IF DEDICATE LIST;=#01060000 IF UNDEDICATE LIST
4H3Q # X7 ACTUAL LINK
4HHB #
4J32 # AWORK1 AND AWORK2 CONTAIN ERROR COUNTS AND ARE NOT CLEARED ON ENTR
4JGL #
4K2= # ON EXIT:-
4KFW #
4K^G # X0,X1,X2,X4 ARE ABSOLUTLY USELESS
4LF6 # X3 NEXT FREE ENTRY IN EWDAS/ESEND (NOT TO BE MUCKED UP FOR RE-E
4LYQ # X5 NOT USED
4MDB # X6 AS SET ON ENTRY
4MY2 # X7 LINK
4NCL #
4NX= # ENTRIES IN THE LIST SPECIFIED IN X1 ARE MOVED TO THE EWDAS/ESEND
4PBW # BLOCK AND CHECKS ARE MADE AS FOLLOWS:-
4PWG #
4QB6 # 1. THAT THE UNIT NO. HAS NOT ALREADY BEEN SPECIFIED.
4QTQ #
4R*B # IF IT HAS,AWORK2 IS UPDATED AND THE ENTRY HAS B1 SET
4RT2 #
4S#L # 2. THAT THE UNIT IS A TWINNED UDAS DEVICE:IF NOT B0 SET IN ENTR
4SS= # AND AWORK1 IS UPDATED.
4T?W #
4TRG X12 LDX 0 0(1) [GET FIRST/NEXT ENTRY
4W?6 SMO FX1 [CHECK IF END
4WQQ TXU 0 XM1
4X=B BCC (7) [J IF NO MORE
4XQ2 LDX 4 0(1) [UNIT NO.
4Y9L MHUNTW 2,EWDAS,ESEND
4YP= LDN 2 ENTRGA(2) [START OF DATA
4^8W X18 LDX 0 0(2) [CHECK NUMBER NOT ALREADY SPECIFIED
4^NG SMO FX1
5286 TXU 0 XM1
52MQ BCC X16 [J IF END- O.K
537B ANDX 0 BITS22LS [GET RID OF ERROR BITS IF ANY FOR TES
53M2 TXU 4 0
546L BCC X17 [J IF SPECIFIED ALREADY
54L= ADN 2 1 [UPDATE PTR
555W BRN X18 [GET NEXT ENTRY
55KG X17 LDCT 0 #200
5656 ANDX 0 0(2)
56JQ BNZ 0 X15 [J IF THIRD OR MORE REPEAT
574B LDCT 0 #200 [.
57J2 ORX 4 0 [SET ERROR FLAG
583L LDN 0 1
58H= SMO FX2
592W ADS 0 AWORK2 [UPDATE ERROR COUNT
59GG X16 LDX 0 0(3) [MOVE END MARKED DOWN ONE
5=26 STO 0 1(3)
5=FQ STO 4 0(3) [STORE NEW ENTRY
5=^B ANDX 4 BITS22LS
5?F2 ... FINDPEREC 2,APGEOG,4,,,XCME [GET PTR TO DEVICE LIST
5?YL BNG 2 X14 [J IF NON-EXISTANT
5#D= LTYPE 2,0 [ELSE CHECK IF ITS A UDAS TYPE
5#XW ANDN 0 #77
5*CG SBN 0 6
5*X6 BZE 0 X20 [J IF EDS
5BBQ SBN 0 7
5BWB BZE 0 X20 [OR FDS
5CB2 SBN 0 13
5CTL BNZ 0 X14 [J IF NOT EDS30 OR EDS 60
5D*= X20 JTWIN 2,X13 [J IF TWINNED
5DSW X14 LDCT 0 #400 [ELSE SET ERROR FLAG
5F#G ORS 0 0(3)
5FS6 LDN 0 1
5G?Q SMO FX2
5GRB ADS 0 AWORK1 [UPDATE ERROR COUNT
5H?2 BRN X15
5HQL X13 LADDP 2,2 [GET PTR TO APIA
5J== ORS 6 BSUNIT(2) [AND SET MARKERS
5JPW X15 ADN 3 1 [UPDATE MOD IN ESEND
5K9G ADN 1 1 [AND LIST
5KP6 BRN X12 [SEE IF ANY MORE
5L8Q #
5LNB #
5M82 XMUCK GEOERR 1,MUCK UP!
5MML #
5N7= #
5NLW #
5P6G # THIS ROUTINE OUTPUTS ERROR MESSAGES TO THE OPS CONSOLE
5PL6 #
5Q5Q # LINK X7
5QKB #
5R52 #
5RJL # ON ENTRY
5S4= # X4 NO. OF UNIT NUMBERS TO BE OUTPUT
5SHW # X5 MASK TO GET APPROPRIATE UNIT NUMBER
5T3G # X6 INDENTIFIER OF SUB-MESSAGE
5TH6 #
5W2Q RX25 SBX 7 FX1 [RELITAVISE LINK
5WGB ADN 4 1 [COUNT OF UNIT NOS PLUS 1
5X22 SETUPCORE 4,3,EWDAS,EGOT [SET UP BLOCK
5XFL STO 4 ENTRGA(3) [STORE COUNT FOR OUTPACK
5X^= LDN 3 ENTRGA+1(3) [NEXT VACANT HOLE
5YDW MHUNTW 1,EWDAS,ESEND [
5YYG LDN 2 ENTRGA(1) [FIRST ENTRY
5^D6 RX24 LDX 0 0(2) [NEXT ENTRY
5^XQ SMO FX1
62CB TXU 0 XM1
62X2 BCC RX22 [J IF NO MORE ENTRIES
63BL ANDX 0 5
63W= BZE 0 RX23 [J IF THIS ENTRY NOT IN ERROR
64*W LDX 0 0(2) [MOVE UNIT NO. TO PARAMETER BLOCK
64TG ANDX 0 BITS22LS
65*6 STO 0 0(3)
65SQ ADN 3 1 [UPDATE MOD
66#B RX23 ADN 2 1 [AND AGAIN
66S2 BRN RX24 [GO FOR NEXT
67?L RX22 MHUNTW 3,EWDAS,EGOT
67R= OUTPACK ENTRGA(3),V,VARDEC,RX22 [OUTPUT PARAMETER
68=W MFREEW EWDAS,EGOT [FREE EGOT
68QG OUTMESSX 6 [OUTPUT %B
69=6 INFORM 1,ENTIN1,1 [AND ACTUALLY OUTPUT
69PQ ADX 7 FX1
6=9B EXIT 7 0
6=P2 #
6?8L #
6?N= #
6#7W # AN ERROR HAS OCCURRED
6#MG #
6*76 # THE MAIN MESSAGE IN THE MONITORING FILE IS :-
6*LQ #
6B6B # DEDICATE/UNDEDICATE MACROS: UNIT(S) %A %B
6BL2 #
6C5L # %A IS A SERIES OF UNIT NUMBERS CONVERTED BY OUTPACK
6CK= #
6D4W # %B IS A SUB-MESSAGE :-
6DJG #
6F46 XMESS1 +ENTIN2 [DOES/DO NOT REFER TO TWINNED SPINDLE
6FHQ XMESS2 +ENTIN3 [HAS/HAVE BEEN SPECIFIED MORE THAN ON
6G3B #
6GH2 # THE FORMER IS OUTPUT IF B0=1 IN ENTRIES IN EWDAS/ESEND
6H2L # THE LATER IS OUTPUT IF B1=1 IN ENTRIES IN EWDAS/ESEND
6HG= #
6H^W X19 LDX 4 AWORK1(2) [LOAD COUNT OF NON-TWINNED SPINDLES
6JFG BZE 4 X21 [J IF NONE
6J^6 LDCT 5 #400 [LOAD MASK
6KDQ LDX 1 FX1
6KYB LDX 6 XMESS1(1) [SUB-MESSAGE IDENTIFIER
6LD2 CALL 7 RX25 [OUTPUT MESSAGE
6LXL X21 LDX 4 AWORK2(2) [COUNT OF REPEATS
6MC= BZE 4 XEND [J IF NONE
6MWW LDCT 5 #200 [LOAD MASK
6NBG LDX 1 FX1
6NW6 LDX 6 XMESS2(1) [SUB-MESSAGE IDENTIFIER
6P*Q CALL 7 RX25 [OUTPUT MESSAGE
6PTB XEND GEOSTOP XMESS3(1) [AND FINISH
6Q*2 #
6QSL #
6R#= XMESS3 +45
6RRW 45H PLEASE CORRECT UNDEDICATE OR DEDICATE MACROS
6S?G #
6SR6 #
6T=Q # SET UP DETAILS FOR SETUP TO CREATE THE BSA/ENTWINE ACTIVITY
6TQB #
6W=2 # ACOMMUNE1 BLOCK TYPE
6WPL # ACOMMUNE2 LINK
6X9= # ACOMMUNE3 PAIR
6XNW # ACOMMUNE4 LENGTH
6Y8G #
6YN6 X9A MFREE EWDAS,ESEND
6^7Q X9 LDX 1 FX1
6^MB LDX 2 FX2
7272 ADN 6 2 [PLUS TWO FOR REQUEST TYPE AND TERM
72LL LDCT 0 #400
736= ORN 0 JNOCHAT+JOFR
73KW STO 0 ETWINMK [SET TWINNING NOT INITIALISED BIT
745G LDN 4 TYPE(1)
74K6 LDN 5 ACOMMUNE1(2)
754Q MOVE 4 3 [BLOCK TYPE AND LINK PAIR
75JB TXL 6 XM2(1) [WORK OUT BUFFER LENGTH
7642 BCC X10
76HL LDN 6 ETBUFFLE
773= X10 STO 6 ETNBLEN
77GW ADX 6 BSABL
782G STO 6 ACOMMUNE4(2)
787N ... JENVNOT NCME,CME [^ IF NOT CME ENVT
78#W ... LDX 1 FX1
78G4 ... MONOUTX XDUALCME(1)
78M= ...XCME GEOERR 1,NOTCME
78SD ...NCME UPPLUS 1
78^Q #
79FB # SETS ENGAGE BUTTON FOR ALL SHARED UNITS
79^2 #
7=DL QK2TW [*****
7=Y= CALL 7 X6 [PTR TO DL
7?CW BRN X7 [J IF NO MORE
7?XG XAA LADDP 3,2
7#C6 JSHARED 2,XAB [J IF SHARED
7#WQ XAC CALL 7 X3
7*MQ ... BRN X7TR
7*W2 BRN XAA
7*^F ...XAB
7B4Y ... FSHCODE AORB
7B8C ...(
7B?W ... SMO FX1
7BC* ... LDX 0 XBITS510
7BGS ... ORS 0 BSUNIT(2)
7BL? ...)
7BPQ ... LINT 3,0 [GET INTERNAL NO
7BT= SMO FX1
7C#W DVS 7 Q24
7CSG LDCT 5 #400
7D#6 SMO 7
7DRQ SRL 5 0
7F?B LDX 7 0
7FR2 BUTTONUP 5,7 [SET ENGAGE BUTTON BIT
7G=L BRN XAC
7G#* ...#
7GDF ...X7TR LDX 1 FX1
7GF7 ... LDX 0 K4CDUM(1) [DON'T SET UP TRACE BUFFER..
7GFT ... BZE 0 X7 [..IF NO TRACING
7GGH ... SETNCORE 126,3,EWDAS,GEXD [SET UP TRACE BUFFER
7GH9 ... STOZ A1(3)
7GJY ... CHAIN 3,ENTWINPTR
7GLM ... BRN X7
7GQ= #
7H9W #
7HPG MENDAREA 100,K99CDUM
7J96 #
7JNQ #END
^^^^ ...552367020002