diff options
Diffstat (limited to 'warriors/epson.red')
-rw-r--r-- | warriors/epson.red | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/warriors/epson.red b/warriors/epson.red new file mode 100644 index 0000000..b0409f0 --- /dev/null +++ b/warriors/epson.red @@ -0,0 +1,42 @@ +;author Benji Dial +;name Epson + +period equ 10 + +scan_init equ end - (end - scan) % period + period + +scan: + seq.i 0 - period, scan_init + jmp found + +found_ret: + add.ab #period, scan + seq.ab scan, scan + jmp scan + + add.f scan_add, scan + jmn.a scan, scan + +clear: + mov end, 0 - 1 + sub.ab #2, clear + + seq.ab #end - clear - (end - clear) % 2 + 3, clear + jmp clear + + mov.ab #0 - 1, clear + jmp clear + +scan_add: + dat 2, period + scan_init + 2 + +found: + mov bomb, >scan + mov bomb + 1, @scan + jmp found_ret, <scan + +bomb: + spl 1 + jmp bomb + +end: |