Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

94nop Paper/Imp: Silkworm

38 views
Skip to first unread message

John Metcalf

unread,
Dec 30, 2016, 6:16:55 PM12/30/16
to
One of my paper/imps just got pushed off 94nop by Fizmo! Silkworm pairs regular imps with silk-imps and a wimp.

;redcode-94nop
;name Silkworm
;author John Metcalf
;strategy qscan -> paper/imps
;url http://corewar.co.uk/silkworm.htm
;assert CORESIZE==8000

qfac equ 5829
qdec equ 270

qa equ (qfac*(qtab0-1-qptr)+1)
qb equ (qfac*(qtab0-qptr)+1)
qc equ (qfac*(qtab1-1-qptr)+1)
qd equ (qfac*(qtab1-qptr)+1)
qe equ (qfac*(qtab1+1-qptr)+1)
qf equ (qfac*(qtab2-qptr)+1)

qtime equ 18
qstep equ -7
qgap equ 87

qscan sne qptr+qdec*qe, qptr+qdec*qe+qe
seq <qtab1+1, qptr+qdec*(qe-1)+qe-1
jmp qdecode, }q1
sne qptr+qdec*qb, qptr+qdec*qb+qd
seq <qtab0, qptr+qdec*(qb-1)+qd
jmp qdecode, {qdecode
sne qptr+qdec*qa, qptr+qdec*qa+qd
seq <qtab0-1, qptr+qdec*(qa-1)+qd
djn.a qdecode, {qdecode
sne qptr+qdec*qf, qptr+qdec*qf+qd
seq <qtab2, qptr+qdec*(qf-1)+qd
jmp qdecode, }qdecode
sne qptr+qdec*qc, qptr+qdec*qc+qc
seq <qtab1-1, qptr+qdec*(qc-1)+qc-1
jmp qdecode, {q1
sne qptr+qdec*qd, qptr+qdec*qd+qd
seq <qtab1, qptr+qdec*(qd-1)+qd-1
jmp qdecode, qa
qtab0 jmp warr, {qb
qtab2 dat qgap, qf

qdecode mul.b *q1, qptr
q0 sne <qtab0, @qptr
q1 add.b qtab1, qptr
q2 mov qtab2, @qptr
qptr mov qtab2, *qdec
add #qstep, qptr
djn q2, #qtime
jmp warr, {6300

for 55
dat 0,0
rof

wimp jmp #0

step1 equ 3205
step2 equ 1805
istep equ 2667

warr mov wimp, 4377
spl @warr, {1400

spl 2, {qc ; 6 parallel processes
qtab1 spl 1, {qd
spl 1, {qe
spl boot, {1800

mov {papera, {boot0
boot0 djn.f papera-istep+6,{200

boot mov *papera, {boot2
boot2 spl papera+istep+6,{2000

papera spl @0+6, }step1
mov }papera, >papera
paperb spl step2, {papera
mov }papera, }paperb
mov.i #step1*2-step2+4,}istep
imp mov.i #1, istep

0 new messages