From corewar-l@stormking.com Tue Mar 19 01:29:51 1996 Received: by couchey.inria.fr (5.57/Ultrix3.0-C) id AA21701; Tue, 19 Mar 96 01:29:51 +0100 Received: from uu3.psi.com (uu3.psi.com [38.145.250.2]) by nez-perce.inria.fr (8.7.1/8.7.1) with SMTP id BAA05978 for ; Tue, 19 Mar 1996 01:29:36 +0100 (MET) Received: by uu3.psi.com (5.65b/4.0.940727-PSI/PSINet) via UUCP; id AA00778 for ; Mon, 18 Mar 96 18:06:32 -0500 Received: from (server@localhost [127.0.0.1]) by valhalla.stormking.com (8.6.12/8.6.12) with SMTP id RAA18687; Mon, 18 Mar 1996 17:29:53 -0500 Date: Mon, 18 Mar 1996 17:29:53 -0500 Message-Id: <314DAB48.7CA12A4A@rice.edu> Errors-To: tuc@stormking.com Reply-To: kfranke@rice.edu Originator: corewar-l@stormking.com Sender: corewar-l@stormking.com Precedence: bulk From: Kurt Franke To: Multiple recipients of list Subject: Imp Hunter (source) X-Listprocessor-Version: 6.0b -- ListProcessor by Anastasios Kotsikonas X-Comment: Usenet News "rec.games.corewar" X-Mailer: Mozilla 2.0 (X11; I; Linux 1.2.1 i486) Here is a program to kill those really hard-to-kill imp-paper programs: Imp Hunter It is too lengthy to really be effective, so I'm publishing it as sort of a 'curiosity'. The idea is to clear the whole core with spl and then search for anything that is not a spl. When something is found, it must be an imp so I decode the step size and use that for a short bombing run and then go back to scanning again. I have a much better version where I use part of Mirage 1.5 as a preliminary stunner, but I'm publishing this since all the code is mine. - Kurt --------------------------------- ;redcode-94 ;assert CORESIZE == 8000 ;author Kurt Franke ;name Imp Hunter ;strategy spl clear -> find and stun remaining imps -> dat clear NLOOP equ 6 istep dat 0,0 dat 0,0 dat 0,0 dat 0,0 find sub.a #20, $ptr ;; one-shot scan jmz.f -1, *ptr add.a #10, $ptr clear mov $sbomb, {ptr ;; clear the core mov $sbomb, {ptr mov $sbomb, {ptr mov $sbomb, {ptr djn clear, #0 mov.a #istep-ptr-1, $ptr locate sne.i $sbomb, {ptr ;; look for survivors of core clear jbomb jmp locate,