{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PERFAIL866)}}
====== PERFAIL866 ======
(George Source)
**Macros used:** [[george:macro:ALTLEN|ALTLEN]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CLFAIL|CLFAIL]], [[george:macro:CLHLFDON|CLHLFDON]], [[george:macro:COOR1|COOR1]], [[george:macro:DCA|DCA]], [[george:macro:DFLOAD|DFLOAD]], [[george:macro:ENGPER|ENGPER]], [[george:macro:EXOFAIL|EXOFAIL]], [[george:macro:FJOPCA|FJOPCA]], [[george:macro:FPCACA|FPCACA]], [[george:macro:FPCAJO|FPCAJO]], [[george:macro:GEOPACK|GEOPACK]], [[george:macro:GETWORD|GETWORD]], [[george:macro:GPERI|GPERI]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNTACTF|HUNTACTF]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:INFORMX|INFORMX]], [[george:macro:JAUTFAIL|JAUTFAIL]], [[george:macro:JFAIL|JFAIL]], [[george:macro:JNHLFDON|JNHLFDON]], [[george:macro:LGEOG|LGEOG]], [[george:macro:LOCKC|LOCKC]], [[george:macro:LPROP|LPROP]], [[george:macro:LREPLYADD|LREPLYADD]], [[george:macro:LTYPE|LTYPE]], [[george:macro:MFREEW|MFREEW]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:OUTPACK|OUTPACK]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:PERTYPNO|PERTYPNO]], [[george:macro:RINGTP|RINGTP]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:TESTPUC|TESTPUC]], [[george:macro:TRACE|TRACE]], [[george:macro:UNLOCK|UNLOCK]], [[george:macro:WORDFIN|WORDFIN]]
22FL #LIS K0PERFAIL>K0OBJPROG>K0ALLGEO>K0GREATGEO
22^= #SEG PERFAIL8 [A C PUTMAN
23DW 8HPERFAIL
23YG SEGENTRY K2PERFAIL,XPERFAIL2
24D6 #
24XQ #
25CB # THIS SEGMENT IS ENTERED FROM THE UNPLUG MACRO
25X2 # (FROM SEGMENT PROCONTS) WHEN ON-LINE PL FAILURE(S) OCCUR.
26BL # EACH ON-LINE PL BELONGING TO THE OBJ PROG IS CHECKED IN
26W= # THE CENTRAL PERIPHERAL LIST FOR MARKED AS FAILED ON LAST TRANS.
27*W # THIS SEG PERFORMS ASSISTED REPEATS ON SLOW I/P PLS SO MARKED, AND
27TG # ON 1922 CP. IF THE REPEATS FAIL & OPERATORS 'CANTDO' AN ENGAGE
28*6 # THEN THE TRANSFER IS FAILED BY THIS SEG ALSO.
28SQ # WHEN EACH PL HAS BEEN CHECKED RETURN IS MADE VIA'RUNPROG'
29#B # IF ALL FAILS HAVE BEEN CLEARED, OTHERWISE THE NAMES OF ANY FAILED
29S2 # PL'S ARE 'OUTPARAMED' AND RETURN IS MADE VIA 'ILLEGAL PERFAIL'
2=?L #
2=R= #
2?=W PMSK1922 #140 [PROP. CODE MSK FOR MODEL NO. OF CP
2?BP ...XCHARMSK #60000000 [CHAR POSITION MASK
2?D2 ...XWDMSK #17777777 [WORD ADDRESS MASK
2?GN ...XJLMTFAIL +JLMTFAIL
2?QG XPERFAIL2
2#=6 CAPCA [CHANGE ACT. MAKE PROG. SWAPPABLE
2#PQ XSTART
2*9B SETNCORE 68,3,APERI,AFAILBUF [SET BLOCK TO HOLD FAILED PERI BUFFER
2*P2 SETNCORE 4,3,APERI,APERFAIL [TO STORE NAMES OF FAILING UNITS
2B8L LDN 6 0 [CHAR CT FOR FAILS
2BN= LDN 7 0 [PRB RECORD MOD
2C7W STOZ AWORK4(2)
2CMG NEXT1
2D76 FPCACA 3,FX2
2DLQ TESTPUC 3,XPUC [J. PCA FOR PUC
2F6B XTP HUNT2 3,APERI,APERIRES [FIND PRB.
2FL2 NGS 3 AWORK3(2)
2G5L ADX 3 7 [POINT TO NEXT ENTRY
2GK= NEXT2 LDX 4 A1(3)
2H4W BNG 4 TERM
2HJG LDX 4 A1+1(3)
2J46 BPZ 4 ONLIN [J. IF ONLINE
2JHQ NGX 1 AWORK3(2)
2K3B LDN 5 1
2KH2 ADX 5 AWORK4(2)
2L2L STO 5 AWORK4(2)
2LG= NEXT3
2L^W HUNTACTF AOLPT,1 [FIND CORRECT AOLPT
2MFG BCT 5 NEXT3
2M^6 LDX 4 1
2NDQ LDX 1 FX1
2NYB JAUTFAIL 4,PAUTFA [J. IF OFFLINE PERI FAIL
2PD2 BDX 3 NEXT2 [J. BACK TO DEAL WITH NEXT ENTRY.
2PXL ONLIN ANDX 4 BITS22LS
2QC= STO 4 AWORK1(2) [ST. PTR. TO DEVICE LIST
2QWW JFAIL 4,PERF4 [J. IF FAILED LAST TRANSFER.
2RBG BDX 3 NEXT2 [STEP TO NEXT PRB ENTRY.
2RW6 PERF4 ADS 3 AWORK3(2)
2S*Q CLFAIL 4 [CLEAR FAIL TRANSFER MARKER
2STB LDX 3 A1(3)
2T*2 STO 3 AWORK2(2) [SAVE %A FOR PERTYPNO.
2TSL MHUNTW 3,APERI,AFAILBUF [HUNT FOR FAIL BUFFER BLK.
2W#= LREPLYADD AWORK1(2),4 [LD. ADDRESS OF THE REPLY WORD
2WRW STO 4 A1+1(3) [A1+1= ADDRESS OF OBJ.PROG. REPLY WD.
2X?G DCA AWORK1(2),LDX,5,CTSA
2XR6 STO 5 A1+2(3) [A1+2= ADDRESS OF OBJ.PROG. BUFFER.
2Y=Q DCA AWORK1(2),LDX,7,COUNT
2YQB LTYPE AWORK1(2),4 [LD. DEVICE TYPE.
2^=2 SBN 4 5
2^PL BNZ 4 NOMT [J IF NOT MT
34MB DFLOAD AWORK1(2),TSN,4
3572 ... OUTPACK 4,1,TSN [%A IS TSN
35LL ... LGEOG AWORK1(2),4
366= ... GEOPACK 4,4,4
36KW ... OUTPACK 4,1,GEOPER [%B IS GEOG UNIT NO
375G ... LDX 4 XJLMTFAIL(1) [UNIT %B : MT %A FAIL
37K6 ... LDN 1 1
384Q ... INFORMX 1,4,1 [TO CENTRAL OPERATOR
38JB ... BRN PERF9
3=3= NOMT BPZ 4 PERF9 [J. IF NOT SLOW PERI - NO REPEATS.
3=GW ADN 4 1
3?2G BNZ 4 PERF5 [J IF NOT CP
3?G6 LPROP AWORK1(2),0 [LD. PROP.
3?^Q SMO FX1
3#FB ANDX 0 PMSK1922 [GET MODEL BITS
3#^2 BNZ 0 PERF9 [NOT 1922 - NO REPEATS.
3*=B ...XCPLP
3*DL LDCT 0 #400
3*Y= STO 0 A1(3) [A1= -VE IF A CP 1922.
3B4F ... LDX 4 5
3B5W ... SMO FX1
3B7? ... ANDX 4 XCHARMSK [CHAR POS OF START OF BUFFER
3B8N ... SLC 4 2
3B=5 ... ADX 7 4 [ADD EXTRA CHARS TO COUNT
3B?G ... SMO FX1
3B#X ... ANDX 5 XWDMSK [MAKE X5 A WORD ADDRESS
3BCW ADN 7 3
3BXG SRL 7 2 [CONVERT NO. CHS. TO WDS.
3CC6 STOZ A1+3(3) [ZERO
3CJ? ... LDX 4 7
3CL2 ... SBN 4 65
3CMP ... BNG 4 XGETA [J IF AFAILBUF LONG ENOUGH
3CPD ... ADN 4 69
3CR7 ... ALTLEN 3,4
3CWQ XGETA GETWORD 5,2,READ,4,7 [GET PTR. TO OBJ.PROG. RELATIVE TO GE
3DBB MHUNTW 3,APERI,AFAILBUF [HUNT NEW BUFFER AREA.
3DW2 BXGE 4 7,XEQA
3F*L LDX 0 7
3FT= SBX 0 4 [X0= DIFFERENCE.
3G#W LDX 7 A1+3(3) [LD. CURRENT POSITION DOWN BLK.
3GSG ADS 4 A1+3(3)
3H#6 LDN 3 A1+4(3)
3HRQ ADX 3 7 [POSITION DOWN BLK.
3JX6 ... LDN 7 512
3JY7 ...XMV1 BXL 4 7,XMV2 [J IF FEWER THAN 512 WORDS TO MOVE
3J^8 ... MOVE 2 0 [MOVE 512 WORDS
3K29 ... SBX 4 7
3K3= ... ADX 5 7
3K4? ... BRN XMV1
3K5# ...XMV2 BZE 4 XMV3
3K6* ... SMO 4
3K7B ... MOVE 2 0 [MOVE REMAINING WORDS
3K8C ...XMV3
3K=L LDX 7 0 [NO. OF WDS. STILL REQUIRED.
3KQ= ADX 5 4 [POSITION DOWN BLK.
3L9W BRN XGETA [J. BACK TO READ IN A BIT MORE.
3LPG XPUC
3M96 FJOPCA 1,3
3MNQ STO 1 5 [GET PTR. TO JOB RING.
3N8B LDX 1 FX1
3NN2 RINGTP 3 [RING IN TPPCA DERING PUC'S PCA
3P7L FPCAJO 3,5 [HUNT PCA GIVEN A PTR. TO JOB BLOCK
3PM= BRN XTP
3Q6W XEQA LDX 1 FX2
3QLG DCA AWORK1(1),LDX,7,COUNT
3QRM ... LDX 4 A1+2(3)
3QTB ... SMO FX1
3QX5 ... ANDX 4 XCHARMSK [CHAR POS OF START OF BUFFER
3QYS ... SLC 4 2
3R2H ... ADX 7 4 [ADD EXTRA CHARS TO COUNT
3R66 LDX 4 A1+3(3) [CALCULATE CHARS. STILL TO BE MOVED.
3RKQ SLL 4 2
3S5B SBX 7 4
3SK2 ... ADX 3 A1+3(3)
3T4L ... ADN 3 A1+4
3W8= ... LDN 4 512
3W9* ...XMV4 BXL 7 4,XMV5
3W=D ... MVCH 2 0 [MOVE 512 CHARS
3W?H ... SBX 7 4
3W#L ... BRN XMV4
3W*P ...XMV5 BZE 7 XMV6
3WBS ... SMO 7
3WCX ... MVCH 2 0 [MOVE REMAINING CHARS
3WF2 ...XMV6
3WHG WORDFIN [TIDY-UP AFTER GETWORD.
3X36 BRN PERF6
3XGQ PERF5 ADN 4 2
3Y7H ... BNZ 4 PERF5A [J IF NOT LP
3Y9= ... LDX 4 AWORK1(2)
3Y=^ ... JNHLFDON 4,PERF9 [J IF NOT INCOMPLETE TRANSFER
3Y#N ... BRN XCPLP
3YBC ...PERF5A
3YG2 ADN 4 1
3Y^L BZE 4 PERF9 [J IF TP - NO REPEATS.
3^F= STOZ A1(3) [A1= ZERO IF CR OR TR.
3^YW PERF6
42DG LDX 5 AWORK1(2) [LD. PTR. TO DEVICE LIST.
42KN ...PERF8
4476 ... ENGPER PERF8,5,PERF9D,1 [PLEASE ENGAGE UNIT N FOR ERROR RESTA
4494 ... [PERF9D FOR CANTDO OR TERMINATE
44?2 ... [PERF8 TO IGNORE BREAKIN
44C2 MHUNTW 3,APERI,AFAILBUF [HUNT BUFFER.
44WL LOCKC 3,PERF9A
45B= LOCKC 2,£
45TW CALL 1 PERF9A
46*G LDX 3 2
46T6 LDX 2 FX2
47GJ ... LDX 5 A1+2(3)
47JG ... SMO FX1
47LD ... ANDX 5 XCHARMSK
47NB ... ADN 5 A1+4(3) [LD CHAR ADDRESS OF FAIL BUFFER
47SB DCA AWORK1(2),STO,5,CTSA [ST. IN PERI CONTROL AREA NEW BUFFER
48#2 GPERI AWORK1(2),2 [TRY PERI AGAIN
48RL COOR1
49?= LDCH 4 CPRW1(2) [LD. REPLY WD.
49QW UNLOCK 2
4==G UNLOCK 3
4=Q6 ANDN 4 5
4?9Q BZE 4 PERF10 [J IF FAIL HAS CLEARED
4?BX ... LTYPE AWORK1(2),4 [LOAD DEVICE TYPE
4?DL ... SBN 4 2
4?G* ... BNZ 4 PERF6 [J IF NOT LP
4?J4 ... LDX 4 AWORK1(2)
4?KR ... JNHLFDON 4,PERF9 [J IF TRANSFER NOT INCOMPLETE
4?PB BRN PERF6
4#92 PERF9A
4#NL MHUNTW 2,APERI,AFAILBUF
4*8= EXIT 1 0
4*#Y ...PERF9D
4*BG ... LTYPE AWORK1(2),4
4*D4 ... SBN 4 2
4*FL ... BNZ 4 PERF9 [WJ IF NOT LP
4*H8 ... CLHLFDON 5
4*JQ ... BRN PERF9 [PROCEED FOR UN-ASSISTED
4*MW PERF10
4B7G MHUNTW 3,APERI,AFAILBUF
4BM6 LDX 5 CPRW1(2)
4C6Q LDX 4 A1+1(3) [LD. PTR. TO REPLY WD.
4CLB GETWORD 4,1,WRITE [PTR. TO REPLY WD.
4D62 STO 5 0(1)
4DKL TRACE 1,REPLYWD
4F5= MHUNTW 3,APERI,AFAILBUF [RE-HUNT BLK. DUE TO COOR
4FJW LDX 5 A1+2(3) [LD. ORIGINAL BUFFER
4G4G DCA AWORK1(2),STO,5,CTSA
4GJ6 LDX 0 A1(3)
4H3Q BNG 0 PERF7 [J. IF A CP 1922.
4HHB LDX 4 A1+2(3) [LD. PTR. TO OBJ. BUFFER
4J32 STOZ A1+3(3) [ZEROISE
4JGL LDN 5 0
4K2= SLC 45 2 [X5 CONTAINS CHAR POSN IN LS 2BITS
4KFW SRL 4 2 [X4 CONTAINS WORD ADDRESS
4K^G DCA AWORK1(2),LDX,7,COUNT
4LF6 ADX 7 5
4LYQ ADN 7 3
4MDB SRL 7 2 [CONVERT X7 FROM CHARS. TO WORDS.
4MY2 XGETB GETWORD 4,2,WRITE,1,7
4NCL MHUNTW 3,APERI,AFAILBUF
4NX= LDX 0 2
4PBW LDX 2 FX2
4PWG BXL 1 7,ZC [NOT ALWDS ACCESSIBLE
4QB6 NGN 4 1 [INDICATE ALL REMAINING CHARS
4QTQ LDX 7 A1+3(3) [ARE ACCESSIBLE
4R*B SLC 7 2 [NO OF CHARS PREVIOUSLY MOVED
4RT2 DCA AWORK1(2),LDX,1,COUNT
4S#L SBX 1 7
4SS= BZE 5 ZB [J IF NO CHAR POSN
4T?W YB SLL 0 2
4TRG ADX 0 5 [INSERT CHAR POSITION IN
4W?6 SRC 0 2 [ABSOLUTE PROGRAM ADDRESS
4WQQ ZB LDX 5 7
4X=B LDN 7 A1+4(3)
4XQ2 ADX 7 A1+3(3) [ABSOLUTE AFAILBUF POINTER
4Y9L MVCH 7 0(1) [MOVE DATA TO PROGRAM
4YP= SBN 7 A1+4(3)
4^8W STO 7 A1+3(3) [UPDATE RELATIVE AFAILBUF PTR
4^NG LDX 7 5
5286 LDN 5 0
52MQ BPZ 4 XGETB [MORE WORK TO BE DONE
537B BRN PERF7 [ALL BUFFER TRANSFERRED
53M2 ZC ADX 4 1 [UPDATE RELATIVE PROG ADDRESS
546L SBX 7 1 [UPDATE NO OF WORDS REQD
54L= SLL 1 2
555W BZE 5 ZB [J IF NO CHAR POSN
55KG SBX 1 5 [FOR ODD CHAR(S) AT START OF
5656 BRN YB [PROGRAM BUFFER
56JQ PERF7
574B WORDFIN
57J2 PERF7A
583L LDX 7 AWORK3(2)
58H= TRACE 7,NEXPERI
592W BDX 7 NEXT1 [J. BACK TO CONTINUE WITH NEXT PERI
59GG [FAILURE STUCK ON, OR PL IS NOT ASSISTED REPEAT DEVICE.
5=26 PERF9
5=FQ #SKI JNL
5=^B OUTPACK AWORK2(2),1,PERINAME,PERF9
5?F2 #SKI JNL<1$1
5?YL PERTYPNO AWORK2(2)
5#D= STO 6 ACOMMUNE2(2) [SAVE CHAR CT.
5#XW ADN 6 3
5*CG SRL 6 2 [CONVERT TO WDS.
5*X6 MHUNTW 3,APERI,APERFAIL
5BBQ BXL 6 ALOGLEN(3),XENF [J. ENOUGH ROOM IN BLK.
5BWB ADN 6 3
5CB2 ALTLEN 3,6,APERI,APERFAIL [ALTLEN OF BLK. BY 3WDS.
5CTL MHUNTW 3,APERI,APERFAIL
5D*= XENF
5DSW LDX 6 ACOMMUNE2(2)
5F#G SRC 6 2
5FS6 ADX 3 6 [POSITION DOWN BLK.
5G?Q LDN 6 3
5GRB NCH1 LDCH 5 ACOMMUNE9(2)
5H?2 DCH 5 A1(3) [DEPOSIT THE VALUES IN EVENT WD.
5HQL BCHX 2 £
5J== BCHX 3 £
5JPW BCT 6 NCH1
5K9G SMO FX2
5KP6 LDX 6 ACOMMUNE2
5L8Q LDCH 5 ACOMMUNE9(2)
5LNB LDN 0 #20
5M82 SBX 0 5
5MML BZE 0 XCOM [J. A SPACE
5N7= DCH 5 A1(3) [DEPOSIT LAST CHAR.
5NLW ADN 6 1
5P6G BCHX 3 £
5PL6 XCOM LDN 5 #34 [LD. A COMMA
5Q5Q DCH 5 A1(3)
5QKB BCHX 3 £
5R52 LDN 5 #32
5RJL DCH 5 A1(3) [DEPOSIT AN ASTERISK.
5S4= ADN 6 5
5SHW SMO FX2
5T3G LDX 7 AWORK3
5TH6 BDX 7 NEXT1 [J. BACK TO NEXT PRB ENT.
5W2Q TERM MFREEW APERI,AFAILBUF [FREE FAIL BUFFER BLOCK.
5WGB BZE 6 TERM1 [J IF FAILS HAVE ALL CLEARED
5X22 MHUNTW 2,APERI,APERFAIL [GET BLOCK OF TEXT FOR FAIL MSGE.
5XFL SBN 6 2 [FORGET FINAL COMMAR AND ASTERISK.
5X^= OUTPARAM 6,A1,APERI,APERFAIL [SET MESSAGE
5YDW MFREEW APERI,APERFAIL [FREE FAIL BLOCK
5YYG #SKI ILL7<1$1
5^D6 PCACA
5^XQ ILLEGAL PERFAIL [CAUSE FAIL EVENT
62CB TERM1 MFREEW APERI,APERFAIL [FREE UNUSED BLOCK
62X2 TRACE 2,FINFAIL
63BL RUNPROG [LET O/P CONTINUE.
63W= PAUTFA [THIS PART DEALS WITH FAILURES ON
64*W [AUTONOMOUS OFFLINE PERI S
64TG ADS 3 AWORK3(2)
65*6 LDX 3 A1(3)
65SQ STO 3 AWORK2(2) [SAVE A1 FOR MESSAGE
66#B ... EXOFAIL 4,PERF7A
66S2 BRN PERF9
69=6 #
6=9B #END
^^^^ ...23004240000100000000