From news-rocq.inria.fr!univ-lyon1.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!usenet.eel.ufl.edu!news-feed-1.peachnet.edu!news-read-1.peachnet.edu!root Thu Jan 4 11:50:55 1996 Article: 3463 of rec.games.corewar Path: news-rocq.inria.fr!univ-lyon1.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!usenet.eel.ufl.edu!news-feed-1.peachnet.edu!news-read-1.peachnet.edu!root From: wsheppar@st6000.sct.edu (Wayne Sheppard) Newsgroups: rec.games.corewar Subject: Qwiksand Date: 3 Jan 1996 11:19:06 -0500 Organization: Southern College of Technology, Atlanta Lines: 99 Message-ID: <4cea9q$jsg@st6000.sct.edu> NNTP-Posting-Host: st6000.sct.edu Let me tell you about my latest code. I had in mind a quick scanner. I was trying to think of the fastest and best way to cover the enemy once found. Since I didn't want to do a vamp, I decided I needed some kind of SPL/JMP bomb. My first idea was to drop a couple of bombs like this: mov s,}loc mov j,*loc mov s,>loc loc mov dist1,dist2 add offset,loc djn -5,#count Two S/J pairs every 6 cycles. But then I noticed that I could get one more indirection in the bombing loop. mov j,*loc mov s,{loc mov j,@loc mov s,loc mov j,@loc mov vamp,*loc loc mov dist1,@dist2 add offset,loc djn -5,#count The bomb output would look like: SPL 0 JMP -1,vdist-1 (spacing) JMP -vdist ;this jumps to SPL/JMP (spacing) JMP -vdist ;this jumps to previous JMP So in six cycles, I have bombed three different locations. I was so excited when I first got the bombing loop to work, I had to test it out. I didn't have the quickscan ready so I changed the constants and made it into a bomber. A S/S/D coreclear was glued on. And I rearranged the bombing loop so that it bombed itself with one of the minivamps just before it puts down the S/J bomb. This allows it to jump to the coreclear. Since it just got knocked off after age 99, I'll be making some improvements soon. I need to make the bombing loop self-splitting so I can add an imp-spiral. Any suggestions for a better coreclear are greatly appreciated. One day I may even add in a quickscan. ;redcode-94 ;name Qwiksand ;author Wayne Sheppard ;strategy SPL/JMP/JMP/JMP bomber ;strategy SPL/JMP trap and two jmps to the trap every 6 cycles ;strategy SPL/SPL/DAT.... coreclear dist equ 76 ;Tornato style SPL/JMP -1 bomber mov s,>x ;spl 0 mov j,@x ;jmp -1 x mov dist*5,@dist*3 ;jmp dist add s,-1 mov i,*x ;jmp dist jmp -5 for dist - 8 mov 0,0 rof ;SPL/SPL/DAT Coreclear i jmp dist,c1 c1 spl #10,#c2-i c2 spl #10,#c3-i c3 dat <2667,<-2666 s spl #dist*3,#dist*3-1 mov @i,}i j jmp -1,dist-1 -- Wayne Sheppard wsheppar@st6000.sct.edu