Warrior: sandpaper

Hill: Lights
Author: physsio
Redcode

;redcode-lights
;name sandpaper
;author physsio
;assert CORESIZE == 410
;strategy Scanner + Paper
; Searches for any nonzero segment and copies itself over that location
step   equ 4439

paper   mov.ab  #fin+1,         #0     ;paper contains the length of the program in A
scan    add.ab  #step,          #step  ;scan is the ptr to area being scanned
        jmz.f   scan,           @scan
        slt     paper,          scan   ;do not overwrite yourself, it may overwrite other copies
        jmp     scan
        add.ab  paper,          scan   ;copy back to front ending where we found data
copy    mov.i   <paper,         <scan
        jmn     copy,           paper
        spl     @scan                  ;spawn child
fin     jmp     paper                  ;repeat
end