;redcode-94 ;name Agony II ;author Stefan Strack ;strategy Small-interval CMP scanner that bombs with a SPL 0 carpet. ;strategy This is the good old '88 Agony with some '94 enhancements: ;strategy - boots off decoy to delay (quick)scanners; erases boot pointer ;strategy - optimized decoy to avoid self-triggering for more than 6000 cycles ;strategy Submitted: Sun Jul 31 14:11:05 CDT 1994 ;pushed off at age 912 more than 14 months later ;assert CORESIZE == 8000 ;$Id: agony_2.red,v 1.4 1995/07/12 07:03:46 stst Exp stst $ ;optimax scn ORG START START MOV.I $ 53, $ 2878 MOV.I { -1, < -1 MOV.I { -2, < -2 MOV.I { -3, < -3 MOV.I { -4, < -4 MOV.I { -5, < -5 MOV.I { -6, < -6 MOV.I { -7, < -7 MOV.I { -8, < -8 MOV.I { -9, < -9 MOV.I { -10, < -10 MOV.I { -11, < -11 JMP.B @ -12, < -12 MOV.I { -1, < -1 DAT.F * 1, { 1 MOV.I { -3, < -3 DAT.F > 1, * 1 MOV.I { -5, < -5 DAT.F @ 1, } 1 MOV.I { -7, < -7 DAT.F < 1, > 1 MOV.I { -9, < -9 DAT.F { 1, } 1 DAT.F } 1, } 1 DAT.F @ 1, $ 1 DAT.F $ 1, @ 1 DAT.F $ 1, $ 1 DAT.F * 1, # 1 DAT.F > 1, > 1 DAT.F # 1, * 1 DAT.F { 1, > 1 DAT.F # 1, # 1 DAT.F { 1, { 1 MOV.I { -9, < -9 DAT.F } 1, < 1 DAT.F } 1, } 1 DAT.F @ 1, @ 1 DAT.F $ 1, @ 1 DAT.F # 1, $ 1 DAT.F * 1, # 1 DAT.F $ 1, * 1 DAT.F # 1, * 1 SUB.F $ 11, $ 1 CMP.I $ 71, $ 83 SLT.AB # 26, $ -1 DJN.F $ -3, < -350 MOV.B $ -3, # 0 MOV.AB # 16, $ 2 MOV.I $ 3, < -2 DJN.B $ -1, # 0 JMN.A $ -8, * 0 SPL.B # 0, > -41 MOV.I $ 1, < -2 DAT.F > -42, > -42 DAT.F $ 1, > 1 CMP.I $ 71, $ 83 DAT.F @ 1, # 1 DJN.F $ -3, < -350 DAT.F } 1, } 1 MOV.AB # 16, $ 2 DAT.F { 1, { 1 DJN.B $ -1, # 0 DAT.F < 1, > 1 SPL.B # 0, > -41 DAT.F { 1, } 1 DAT.F } 1, } 1 DAT.F @ 1, $ 1 DAT.F $ 1, @ 1 DAT.F $ 1, $ 1 DAT.F * 1, # 1 DAT.F > 1, > 1 DAT.F # 1, * 1 DAT.F { 1, > 1 DAT.F # 1, # 1 DAT.F { 1, { 1 SPL.B # 0, > -41 DAT.F } 1, < 1 DAT.F } 1, } 1 DAT.F @ 1, @ 1 DAT.F $ 1, @ 1 DAT.F # 1, $ 1 DAT.F * 1, # 1 DAT.F $ 1, * 1 DAT.F # 1, * 1 DAT.F # 1, $ 1 DAT.F # 1, # 1 DAT.F @ 1, # 1 DAT.F $ 0, $ 0 DAT.F * 1, * 1 DAT.F $ 0, $ 0 DAT.F > 1, { 1 DAT.F $ 0, $ 0 DAT.F } 1, < 1 DAT.F $ 0, $ 0 DAT.F @ 1, $ 1 DAT.F # 1, # 1 DAT.F $ 1, < 1 DAT.F # 1, # 1 DAT.F @ 1, * 1