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.