Warrior: diet
Hill: Beginner Standard 94
Author: physsio
Redcode
;redcode-94b
;name diet
;author physsio
;assert CORESIZE == 8000
;strategy Find phatpaper and put it on a diet
step equ 4437
ORG search
p0 mov.ab #100, #0
p1 add.ab #-3561, #-3561
p2 mov.i <-2, <-1
p3 jmn.b $-1, $-3
p4 spl.b @-3, $0
p5 jmp.b $-5, $0
p6 dat $1, $1
search add.ab #step, #100
jmz.f search, @search
sne.i p2, @search
jmp kill
sne.i p3, @search
jmp kill
sne.i p6, @search
jmp findhead
jmp search
bomb spl 0, 0
findhead mov.b search, searchhead
add.ab #search-searchhead, searchhead ;adjust for relative pointer
searchhead add.ab #-2, #0
sne.i p2, @searchhead
jmp killhead
sne.i p3, @searchhead
jmp killhead
sne.i p0-1, @searchhead
jmp search
jmp searchhead
killhead mov.b searchhead, search
add.ab #searchhead-search, search ;adjust for relative pointer
jmp kill
kill mov.i bomb, @search
mov.b search, }saved
djn search, #2
clear mov.i saved, bomb ;change bomb
mov.b {saved, search ;pop stack of saved fork bombs
mov.i bomb, @search
add.ab #1, search
mov.i bomb, @search
sub.ab #1, search
jmn.a clear, saved
jmp search
;sweep add.ab #2, #saved
; mov.i bomb, @sweep
; djn sweep, #4000
; jmp 0 ;wait and hide until everything dies
saved dat #0, #0