{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: FAIL5)}}
====== FAIL5 ======
(George Source)
**Macros used:** [[george:macro:ALTLEND|ALTLEND]], [[george:macro:COMBRKIN|COMBRKIN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FPCACA|FPCACA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GEOERR|GEOERR]], [[george:macro:GETWORD|GETWORD]], [[george:macro:HUNT|HUNT]], [[george:macro:HUNT2|HUNT2]], [[george:macro:HUNTW|HUNTW]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MONOUT|MONOUT]], [[george:macro:NAME|NAME]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTMILL|OUTMILL]], [[george:macro:OUTNULL|OUTNULL]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPACKC|OUTPACKC]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:OUTPARN|OUTPARN]], [[george:macro:PHOTO|PHOTO]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SPARANOT|SPARANOT]], [[george:macro:TESTMOVE|TESTMOVE]], [[george:macro:TESTREP2|TESTREP2]], [[george:macro:TRACE|TRACE]], [[george:macro:WORDFIN|WORDFIN]]
22FL #LIS K0FAIL>K0ALLGEO>K0GREATGEO>K0COMMAND
22^= #SEG FAIL5 [R.H.THOMPSON F6
23DW #OPT K6FAIL=0
23YG 8HFAIL
24D6 SEGENTRY K1FAIL,XX1F
24XQ PFCATCH #77777700
25CB WORDSIXMASK #17777777
25X2 WORNINEMSK1 #40077777
26BL WORNINEMSK2 #37700000
26W= ZMEM 12HIN MEMBER
27*W #DEF XBLEN=3 [SO THAT APEDSP1+XBLEN IS A RELATIVE
27TG [POINTER TO MESSAGE IN APED BLOCK
28*6 # 1
28SQ # 1 THE FAIL SEGMENT HANDLES THE COMMAND -FAIL-. ACTION TAKEN DEPENDS
29#B # 1 ON WHETHER THE USER WISHES TO MONITOR HIS OWN ILLEGALS
29S2 # 1 AND, IF SO, WHETHER THE COMMAND WAS ISSUED AT BREAK-IN
2=?L # 1
2=R= # 2
2?=W # 2 INPUT -1.USER WORD 8
2?QG # 2 2.JOB REQUEST SLIP (AOBRES).
2#=6 # 2 3.COMMAND PROCESSING BLOCK (CPB/CALAS).
2#PQ # 2 4.ACTIVITY BLOCK POINTED TO BY X2
2*9B # 2
2*P2 # 3
2B8L # 3 OUTPUT-1.USER WORD 8 SAVED IN PROGRAM WORD 14 IF OWN
2BN= # 3 MONIT.ALSO B1-8 OF WORD 9 WILL BE SAVED IN WORD 15,B22-23
2C7W # 3 OF WHICH WILL BE SET TO THE MEMBER NO.
2CMG # 3 2.USER WORD 8 SET EQUAL TO USER ILLEG. MONIT IF OWN MONIT.
2D76 # 3 3.CATEGORY BITS SET EQUAL TO 6 IF BREAK-IN DURING RUNNING
2DLQ # 3 OF OBJECT PROGRAM AND NOT OWN MONITOR.
2F6B # 3 4.OLD PROGRAM EVENT DESTROYED AND 'FAIL' EVENT CREATED IF
2FL2 # 3 NOT OWN MONIT, OR OWN MONIT AND NOT BREAK-IN
2G5L # 3 DURING OBJECT PROGRAM RUNNING
2GK= # 3 5.MESSAGE TO USER MONITOR FILE PROVIDED BREAK-IN DURING
2H4W # 3 OBJECT PROGRAM CONDITION AND OWN MONIT. CONDITION DO
2HJG # 3 NOT EXIST TOGETHER
2J46 # 3 6.IF USER OWN MONIT WORD IS NOT ZERO,B0,1 ARE SET ZERO
2JHQ # 3 AFTER ORIGINAL CONTENTS MOVED TO WORD 8 OF PROGRAM
2K3B # 3
2KH2 # 4
2L2L # 4 ERROR ACTION - GEOERR (FAILGETW) IF MINI-SWAP-IN FAILS
2LG= # 4 GEOERR (FAILNOIP) IF CPB/CALAS BLOCK NOT FOUND
2L^W # 4
2MFG # 4 THE CONDITION 'ALREADY CATEGORY 6' IS NOT CHECKED
2M^6 # 4
2NDQ # 7
2NYB # 7 FIXED STORE SEGMENTS CALLED - NONE EXCEPT VIA MACROS
2PD2 # 7 BACKING STORE CHAPTERS CALLED - NONE EXCEPT VIA MACROS
2PXL # 7
2QC= XX1F
2QWW #SKI K6FAIL>699-699
2RBG TRACE 1,STRTFAIL
2RW6 LDN 4 8 [OBJECT PROGRAM ADDRESS REQUIRED
2S*Q # [FOR POSSIBLE CHANGE
2STB GETWORD 4,5,READ,,,ZBRK
2T*2 TESTREP2 OK,PFOK
2TSL TESTREP2 LOADERR,PFA11
2W#= BRN PFERR
2WRW PFOK
2X?G FPCACA 2 [GET POINTER TO PCA
2XR6 #SKI G4
2Y=Q (
2YQB HUNT2 3,BSTB,BSCB,2
2^=2 LDX 6 AQUOTA(3) [QUOTA
2^PL ANDN 6 #7777
329= LDX 7 ATSWAPS(3) [PAGETURNS
32NW SMO FX2
338G STO 6 AWORK3
33N6 SMO FX2
347Q STO 7 AWORK4
34MB )
3572 HUNT2 3,AOBRES,0,2 [GET POINTER TO JOB REQUEST SLIP
35LL # [IF FAILURE OCCURS, HUNT2 WILL LOOP
366= LDX 6 ANM(2)
36KW ANDN 6 3
375G SMO FX2
37K6 STO 6 AWORK1
384Q LDN 0 0
38JB LDX 4 A1+6(3)
3942 ANDX 4 WORDSIXMASK(1)
39HL TXU 0 4 [WILL USER MONITOR OWN ILLEGALS?
3=3= BCC PFA08 [NO, SO END MINISWAP PROCEDURES
3=GW #SKI GENIE<1$1
3?2G (
3?G6 LDX 6 APROCESSOR(2)
3?^Q ANDN 6 4
3#FB BZE 6 PFA08 [NOT OWN MONIT UNLESS B21 SET
3#^2 )
3*DL #SKI GENIE
3*Y= (
3BCW LDCT 6 #200
3BXG ANDX 6 AMON(2)
3CC6 BNZ 6 PFA08 [NOT OWN MONITORING IF B1 SET
3CWQ )
3DBB #SKI K6FAIL>699-699
3DW2 TRACE 1,FAILOWNM
3F*L ADN 0 1 [MARK MONITOR OWN ILLEGALS
3FT= LDX 6 A1+6(3) [GET USER MONITOR ADDRESS
3G#W STO 4 A1+6(3) [SAVE OWN MONIT ADDR. WITH B0,1 CLEAR
3GSG SMO 5
3H#6 LDX 4 0 [GET USER LAST POSITION
3HRQ SMO 5
3J?B STO 4 6 [STORE OLD ONR IN USER 14
3JR2 SMO 5
3K=L STO 6 0 [USER WILL NOW 'RESUME' AT THE
3KQ= # [START OF HIS MONITORING ROUTINE
3L9W SMO 5
3LPG LDX 4 1
3M96 ANDX 4 WORNINEMSK2(1)
3MNQ LDX 6 WORNINEMSK1(1)
3N8B SMO 5
3NN2 ANDS 6 1
3P7L LDX 2 FX2
3PM= ADX 4 AWORK1(2)
3Q6W LDN 3 ACOMMUNE4(2)
3QLG LDN 2 ZMEM(1)
3R66 MOVE 2 3
3RKQ SMO 5
3S5B STO 4 7 [B22,23 HOLD MEMBER NO.
3SK2 LDX 4 0 [SAVE OWN/NOT OWN CONDITION
3T4L PFA08
3TJ= LDX 6 4 [SAVE OWN/NOT OWN CONDITION
3W3W WORDFIN [DON'T NEED OBJECT PROGRAM ANY MORE
3WHG #SKI K6FAIL>699-699
3X36 TRACE 6,PFSTATE1
3XGQ LDX 4 CONTEXT(2) [CHECK IF BREAK-IN
3Y2B SLL 4 9 [ALIGN RIGHT FLAG BIT
3YG2 BPZ 4 PFA4 [NOT BREAK-IN
3Y^L PFA1
3^F= #SKI K6FAIL>699-699
3^YW TRACE 1,PFA1
42DG LDEX 7 EXT+10(2)
42Y6 LDX 3 FX2
43CQ PFA2 HUNT2 3,CPB,CALAS [FIND THE CALAS
43XB LDEX 4 CPBCPLEV(3) [BLOCK AT FIRST
44C2 TXU 4 7 [BRK-IN LEVEL
44WL BCS PFA2
45B= LDX 4 CPBFSD(3) [FETCH CATEGORY
45TW #SKI K6FAIL>699-699
46*G TRACE 4,CATEGIN
46T6 LDX 5 4 [SAVE IT
47#Q ANDN 4 #77 [ONLY BITS 18-23 WANTED
47SB SBN 4 5 [WE WANT CATEGORY 5
48#2 BNZ 4 PFA4 [IF NOT ZERO WE DO NOT CHANGE
48RL SBN 6 1 [OWN/NOT OWN MONITOR
49?= BZE 6 PFA11 [OWN MONIT. SO THAT'S ALL
49QW ANDX 5 PFCATCH(1) [MASK OUT LAST 6 BITS
4==G ORN 5 #6 [MAKE IT 6
4=Q6 STO 5 CPBFSD(3) [STORE NEW CATEGORY
4?9Q PFA4 [START OF MAIN PROCESSING
4?PB #SKI K6FAIL>699-699
4#92 TRACE 1,PFA4
4#NL HUNTW 3,APED,ANEVENT
4*8= BNG 3 PFA42 [NONE FOUND
4*MW FREECORE 3 [BLOCK FOUND SO FREE IT
4B7G BRN PFA44 [ONE OR THE OTHER NOT BOTH
4BM6 PFA42 HUNTW 3,APED,ADELETE
4C6Q BNG 3 PFA44 [NONE FOUND
4CLB FREECORE 3 [BLOCK FOUND SO FREE IT
4D62 PFA44
4DKL SPARANOT 1 [GET USER MESSAGE, IF ANY
4F5= HUNT 3,CPB,CUNI [FIND BLOCK FORMED BY PARA- MACRO
4FJW LDX 6 ANUM(3) [TEST FOR NO PARAMETERS
4G4G BNG 6 PFA5 [IF NEGATIVE
4GJ6 BNZ 6 PFA6 [PARAMETER EXISTS
4H3Q PFA5 [WHAT TO DO WHEN NONE
4HHB #SKI K6FAIL>699-699
4J32 TRACE 1,PFA5
4JGL NAME 3,APED,ANEVENT [FROM CPB/CUNI TO APED/ANEVENT
4K2= PHOTO 5 [TRY NO HUNT LATER
4KFW ALTLEND 3,XBLEN,APED,ANEVENT [JUST PREFACE LENGTH
4K^G TESTMOVE 5,PFA55
4LF6 PFA53
4LYQ #SKI K6FAIL>699-699
4MDB TRACE 1,PFA53
4MY2 HUNTW 3,APED,ANEVENT
4NCL PFA55 [HUNT OR NO HUNT
4NX= #SKI K6FAIL>699-699
4PBW TRACE 1,PFA55
4PWG STOZ APEDSP1+2(3) [ZERO FOR CHARACTER COUNT
4QB6 LDX 7 AWORK1(2)
4QTQ STO 7 APEDSP1(3) [PUT MEMBER NO. IN APED/ANEVENT BLOCK
4R*B LDN 5 APEDFAIL [CONTROL VALUE FOR IF COMMAND
4RT2 STO 5 APEDSP1+1(3)
4S#L #SKI G4
4SS= LDN 5 7 [NO. OF WDS. FOR PARAMS. +1 WORD EACH
4T?W #SKI G3
4TRG LDN 5 3 [2-WORD TIME + 1 WORD EACH PARAM.
4W?6 BZE 7 PFA57
4WQQ ADN 5 4 [3-WORD PARAM FOR MEMBER NO. + 1 WORD
4X=B PFA57 OUTBLOCK 5 [GET THE MONITORING FILE BLOCK
4XQ2 OUTMILL [TAG WITH THE TIME
4Y9L #SKI G4
4YP= (
4^8W #SKI JNLPACK
4^NG (
5286 LDX 4 AWORK3(2)
52MQ LDX 5 AWORK4(2)
537B OUTPACKC 4,1,QUOTA [OUTPUT QUOTA
53M2 OUTPACKC 5,1,PAGETURN [OUTPUT PAGETURNS
546L )
54L= #SKI JNLPACK<1$1
555W (
55KG OUTNUM AWORK3(2),0 [OUTPUT QUOTA
5656 OUTNUM AWORK4(2),0 [OUTPUT PAGETURNS
56JQ )
574B )
57J2 BZE 7 PFA10
583L LDX 3 GSIGN
58H= ADX 3 2
592W DCH 7 ACOMMUNE6(3) [APPEND MEMBER NO. TO CHAR. STRING
59GG OUTPARN 11,ACOMMUNE4 [PREPARE PARAM FOR MEMBER NO.
5=26 # NO MESSAGE
5=FQ BRN PFA10 [CARRY ON SERGEANT
5=^B PFA6 [CARRY ON SMILING
5?F2 #SKI K6FAIL>699-699
5?YL TRACE 1,PFA6
5#D= LDEX 5 ANUM(3) [GET CHARACTER COUNT
5#XW SBN 5 41 [MAX. TO BE PASSED ON ANYWAY (+1)
5*CG BNG 5 PFA7 [40 OR LESS CHARACTERS.
5*X6 PFA65
5BBQ #SKI K6FAIL>699-699
5BWB TRACE 1,PFA65
5CB2 LDN 5 40 [TRUNCATE TO 40
5CTL BRN PFA8 [SKIP ROUND TO GET CORE
5D*= PFA7 [USE ACTUAL SIZE
5DSW #SKI K6FAIL>699-699
5F#G TRACE 1,PFA7
5FS6 ADN 5 41 [BACK TO NORMAL
5G?Q PFA8 [CONFLUENCE OF CODE STREAMS
5GRB #SKI K6FAIL>699-699
5H?2 TRACE 1,PFA8
5HQL LDX 6 5 [SAVE COUNT FOR GETTING CORE
5J== LDX 7 6 [AND AGAIN TO MOVE MESSAGE
5JPW ADN 5 XBLEN*4+3 [ROUND AND INCLUDE APED/ANEVENT
5K9G SRL 5 2 [REDUCE TO WORDS
5KP6 SETUPCORE 5,5,APED,ANEVENT [GET SPACE FOR AND NAME NEW BLOCK
5L8Q HUNT 3,CPB,CUNI [GET MESSAGE BLOCK BACK
5LNB LDX 4 5 [SAVE BLOCK START ADDRESS
5M82 ADN 7 3 [ROUND FOR WORD MOVE
5MML SRL 7 2 [REDUCE TO WORDS
5N7= ADN 3 APARA [MOVE UP TO MESSAGE -FROM-
5NLW ADN 4 APEDSP1+XBLEN [MOVE UP TO MESSAGE -TO-
5P6G SMO 7 [PURE PROCEDURE MODIFY
5PL6 MOVE 3 0 [MOVE THE MESSAGE
5Q5Q LDX 3 5 [SWITCH FOR GOOD MODIFIER
5QKB PFA9 [OTHER INITIALIZATION
5R52 #SKI K6FAIL>699-699
5RJL TRACE 1,PFA9
5S4= STO 6 APEDSP1+2(3) [CHARACTER COUNT
5SHW LDX 5 7 [SAVE MESSAGE WORD COUNT
5T3G LDX 7 AWORK1(2)
5TH6 STO 7 APEDSP1(3) [MEMBER NO.
5W2Q LDN 4 APEDFAIL [CONTROL VALUE FOR IF COMMAND
5WGB STO 4 APEDSP1+1(3)
5X22 #SKI G4
5XFL ADN 5 9 [NO. OF WDS. FOR PARAMS. +1 WORD EACH
5X^= #SKI G3
5YDW ADN 5 5 [TWO WORD TIME + ONE WORD EACH PARAM
5YYG BZE 7 PFA91
5^D6 ADN 5 3 [THREE WORD PARAM FOR MEMBER NO.
5^XQ PFA91 OUTBLOCK 5 [GET THE MONITORING FILE BLOCK
62CB OUTMILL [TIME TAG
62X2 #SKI G4
63BL (
63W= #SKI JNLPACK
64*W (
64TG LDX 4 AWORK3(2)
65*6 LDX 5 AWORK4(2)
65SQ OUTPACKC 4,1,QUOTA [OUTPUT QUOTA
66#B OUTPACKC 5,1,PAGETURN [OUTPUT PAGETURNS
66S2 )
67?L #SKI JNLPACK<1$1
67R= (
68=W OUTNUM AWORK3(2),0 [OUTPUT QUOTA
68QG OUTNUM AWORK4(2),0 [OUTPUT PAGETURNS
69=6 )
69PQ )
6=9B BZE 7 PFA92
6=P2 LDX 3 GSIGN
6?8L ADX 3 2
6?N= DCH 7 ACOMMUNE6(3) [APPEND MEMBER NO. TO CHAR. STRING
6#7W OUTPARN 11,ACOMMUNE4 [PREPARE PARAM FOR MEMBER NO.
6#MG BRN PFA93
6*76 PFA92 OUTNULL [MEMBER NO. NOT APPLICABLE
6*LQ PFA93 OUTPARAM 6,APEDSP1+XBLEN,APED,ANEVENT [PREPARE MON. OUT BLOCK
6B6B PFA10
6BL2 #SKI K6FAIL>699-699
6C5L TRACE 1,PFA10
6CK= #SKI G4
6D4W MONOUT JZFAILEDG4
6DJG #SKI G3
6F46 MONOUT JZFAILED [SHOOT IT AWAY
6FHQ # PRODUCES - TIME FAILED IN MEMBER N:MESSAGE (N>0)
6G3B # OR - TIME FAILED :MESSAGE (N=0)
6GH2 PFA11
6H2L #SKI K6FAIL>699-699
6HG= TRACE 1,PFA11
6H^W ENDCOM RETURN TO COMMAND PROCESSOR
6JFG PFERR [BADSWAP-IN
6J^6 GEOERR 1,FAILGETW
6KDQ ZBRK COMBRKIN
6KYB MENDAREA 20,K100FAIL
6LD2 #END
^^^^ ...26246436000100000000