Article 842 of rec.games.corewar: From: ScottNelson@cup.portal.com (Scott - Nelson) Newsgroups: rec.games.corewar Subject: Re: Smallest jumper ? Message-ID: <58593@cup.portal.com> Date: Wed, 6 May 92 01:43:44 PDT Organization: The Portal System (TM) References: <1992May5.183233.250@vlsi.polymtl.ca> Lines: 38 >5/5/92 11:32 30/1006 dak@vlsi.polymtl.ca (Pierre Baillargeon (Hiv91)) > I believe I achieved the smallest possible jumper. I don't know how >original this is, but I thought it was pretty neat. I call the technique >'temporal loop unrolling' which consist of replacing loop by multiple tasks >all executing the same code at the same time. I think it's only useful for >small program since it execute ALL instruction multiple time. I called it 'symbiosis'. It is a VERY useful concept, Molerat (and Note Paper) used it as the core of their copy routines. A minor variant can also be useful in other programs consider 'symbiotic dwarf': spl 0 mov bomb, @bomb add #28, bomb jmp -2 At first glance one might say "so what?", but consider four of these in core at once. (or how about a routine that hurls them out?) Normally having more than one copy is a bad idea, since one SPL 0 hit in any copy slows down all the copies. But the symbiots might not even notice it! By the way, it isn't really the smallest jumper (that title belongs to IMP), and it could be argued (although I wouldn't) that it isn't a jumper since it doesn't move forward a constant amount, or copy the SPL instructions. Also depending on what you mean by 'size' this warrior might be smaller (though personally I feel they are both the same size) ;name Lichen 1988 start spl 1 ; make 3 tasks mov -1, 0 ; the real code source mov #3, 0 ; init. mov >>