Path: ibmpcug!wendy.ibmpcug.co.uk!pipex!howland.reston.ans.net!cs.utexas.edu!not-for-mail From: ting@teloquent.com (T. Hsu) Newsgroups: rec.games.corewar Subject: How do you do a vector-launch imp? Date: 25 Apr 1995 12:37:10 -0500 Organization: UTexas Mail-to-News Gateway Lines: 63 Sender: nobody@cs.utexas.edu Message-ID: <199504251736.NAA00623@kei.teloquent.com> NNTP-Posting-Host: news.cs.utexas.edu From: carmstro@chs.cusd.claremont.edu (Chris Armstrong) > Hi, I haven't been keeping up much with new techniques and stuff, and don't > understand this vestor-launching code for imps. How do you vector-launch > an imp? djn.a @vector,#0 jmp @vector,{0 jmp @vector,}0 If you can work through any one of the above statements, you'll be able to comprehend how vector launching works. I wrote a more detailed explaination in an old issue of The '94 Warrior by B.Thompson which can be found on ftp.csua.berkeley.edu somewhere (probably in an aug94 or sep94 archive). Below are the vector launching templates that I use for my own warriors. They are working templates, so I question their use as learning aids. ting@teloquent.com ;----------------------------------------------------------------------------- ;redcode-94 ;name Vector (3 point, 8 process spiral) ;author T.Hsu ;assert CORESIZE == 8000 imp_size equ 2667 ; 3 point, 8 process imp spiral imp_prc equ 8 imp_A_fld equ imp+(imp_prc+1-2*cnt)*imp_size imp_B_fld equ imp+(imp_prc+0-2*cnt)*imp_size cnt for imp_prc/2 jmp imp_A_fld,imp_B_fld rof imp_vector spl 1 ,#0 spl 1 ,#0 spl <0 ,#imp_vector djn.a @(imp_vector-1),#0 imp mov.i #0,imp_size end imp_vector ;----------------------------------------------------------------------------- ;redcode-94x ;name Vector (13 point, 2 layer spiral) ;author T.Hsu ;assert CORESIZE == 55440 && VERSION >= 60 imp_size equ 34117 ; 13 point, 2 layer imp spiral imp_point equ 26 A_fld equ imp+(imp_point+1-2*cnt)*imp_size B_fld equ imp+(imp_point+0-2*cnt)*imp_size cnt for (imp_point)/2 jmp A_fld,B_fld rof imp_vector spl 1 ,#0 spl 1 ,#0 mov.i -1 ,#0 mov.i -1 ,#0 spl <0 ,#imp_vector djn.a @(imp_vector-1),#0 imp mov.i #0,imp_size end imp_vector