A list of terms used in Core War along with a brief explanation. References to an X-like program mean that the term X is derived from the specific program X and has become a generic term.
example add #10, scan
scan jmz example, 10
JMP/ADD launch and vector
launch.
impsize equ 2667
example spl 4 ; extend by adding spl 8, spl 16, etc.
spl 2
jmp imp+(0*impsize) ; jmp's execute in order
jmp imp+(1*impsize)
spl 2
jmp imp+(2*impsize)
jmp imp+(3*impsize)
imp mov 0, impsize ; in '94 use -> mov.i #0, impsize
SPL carpet
from the scan loop.DAT
bombs, SPL bombs,
stun bombs and
incendiary bombs.
example stp #0, #0
djn example, example
CMP-ScannerCMP
instruction to look for opponents.
example add step, scan
scan cmp 10, 30
jmp attack
jmp example
step dat #20, #20
example dat #100
DAT instructions;
usually the last part of a program.DAT bombs and decrementing core.
example ...
spl 0
clear mov bomb, >example
djn.f clear, >example
bomb dat 10
DATs with non-zero
b-fields.Creates a decoy at 3c to slow down scanners and quick scans.
decoy equ 4000
example mov {decoy+0, <decoy+2
mov {decoy+3, <decoy+5
mov {decoy+6, <decoy+8
mov {decoy+9, <decoy+11
mov {decoy+12, <decoy+14
mov {decoy+15, <decoy+17
DJN-stream.DJN-Stream
(also DJN-Train)DJN command to rapidly
decrement core locations.
example ...
djn example, <4000
example add #10, scan
scan jmz.f example, 10
MOV 0, 2668) with a standard one
to overrun imp-gates.MOV instruction. Imp was one of the
example programs in A. K. Dewdney's first
Computer Recreations column.
example mov 0, 1
or
example mov 0, 2
mov 0, 2
example ...
spl 0, <example
dat <example, #0
impsize equ 2667 ; (CORESIZE+1)/3
a mov 0, impsize ; copy self to b
b mov 0, impsize ; copy self to c
c mov 0, impsize ; copy self to a+1
One method of launching an imp-ring:
impsize equ 2667
example spl impsize+1
mov example, impsize
imp mov 0, impsize
impsize equ 2667 ; (CORESIZE+1)/3
a mov 0, impsize ; copy self to b
b mov 0, impsize ; copy self to c
c mov 0, impsize ; copy self to a+1
a+1 mov 0, impsize ; copy self to b+1
b+1 mov 0, impsize ; copy self to c+1
c+1 mov 0, impsize ; copy self to a+2
See binary launch,
JMP/ADD launch
and vector launch for examples of launching imp-spirals.
SPL
0 carpet.
example spl 0, 8
mov example, <example
Modern incendiary bombs use separate SPL /
MOV bombs:
sp spl 0, sm+1 ; spl half of the incendiary
...
sm mov sp, >sp ; mov half of the incendiary
JMP/ADD Launch
impsize equ 2667
example spl 1 ; extend by adding more spl 1's
spl 1
spl 2
jmp @0, imp
add #impsize, -1 ; bump address by impsize after each jmp
dat #0, #0 ; excess processes must die!
imp mov 0, impsize ; in '94 use -> mov.i #0,IMPSIZE
CMP-scanner.JMPs to a SPL 0 pit with an optional core-clear
routine.
example ...
spl 0 ; self-splitting
clear mov bomb, >example
djn.f clear, >example
bomb dat 10
spl 2
mov 1
spl 1 ; generate 6 consecutive processes
example spl 3620, 0 ; split to new copy
mov >example, }example ; copy self to new location
mov bomb, >2000 ; linear bombing
mov bomb, }2042 ; a-indirect bombing for anti-vamp
jmp example, <example ; reset source pointer, make new copy
bomb dat >2667, >5334 ; anti-imp bomb
SPL-JMP bomb.
example spl 0
jmp example
SPL/DAT Core-Clear)
SPL instructions, then with
DATs. This is very effective in killing paper and certain
imp-spiral variations.JMP/ADD launch and
binary launch. This example is one form
of a vector launch:
impsize equ 2667
spl 1
spl 1
jmp @vect, }0
vect dat imp+(0*impsize) ; start of vector table
dat imp+(1*impsize)
dat imp+(2*impsize)
dat imp+(3*impsize) ; end of vector table
imp mov.i #0, impsize
Copyright © 1991–2022 the Core War FAQ Contributors. Content of the glossary is available under the GNU Free Documentation License, version 1.3.