HOME
ACADEMY
LAB
RESOURCES
COREWAR
EN
/
JA
โ๏ธ
โฐ
MISSIONS
๐
VIEW GUIDE
ADD - Add
MISSIONS (30 STEPS)
CH.1: UI & MEMORY BASICS (1-6)
BASIC
โ โโ
Step 1: The "STEP" Button That Advances Time
๐
BASIC
โ โโ
Step 2: Process Termination and Restoring with "RESET"
๐
BASIC
โ โโ
Step 3: "Edit Mode" vs. "Running Mode"
EDIT
๐
BASIC
โ โโ
Step 4: The Three Rooms of a Memory Box (Changing B)
EDIT
๐
BASIC
โ โโ
Step 5: Modifying Both the Left Room (A) and Right Room (B)
EDIT
๐
BASIC
โ โโ
Step 6: Literal Numbers (#) vs. Relative Addresses ($)
EDIT
CH.2: CORE INSTRUCTIONS (7-13)
๐
ARITHMETIC
โ โโ
Step 7: Observing the "ADD" Instruction
๐
ARITHMETIC
โ โโ
Step 8: Changing the Number to Add (A-Field)
EDIT
๐
ARITHMETIC
โ โโ
Step 9: Changing the Target Address (B-Field)
EDIT
๐
ARITHMETIC
โ โโ
Step 10: Using the Subtraction Instruction "SUB"
EDIT
๐
BASIC
โ โโ
Step 11: Copying an Entire Box with "MOV"
EDIT
๐
CONTROL
โ โโ
Step 12: Looping Back in Time with "JMP"
EDIT
๐
CONTROL
โ โโ
Step 13: Build Your First Program (Automatic Counter)
EDIT
CH.3: VON NEUMANN & DIGITAL LIFE (14-18)
๐
BASIC
โ โโ
Step 14: Why Does "DAT" Become a Bomb?
EDIT
๐
BASIC
โ โโ
Step 15: Copying Your Own Instruction (Code = Data)
EDIT
๐
BASIC
โ โโ
Step 16: Observation: Stepping Through "Imp", the Oldest Digital Organism
๐
BASIC
โ โโ
Step 17: Modifying the Imp (Copy Destination Experiment)
EDIT
๐
ARITHMETIC
โ โ โ
Step 18: Understanding Indirect Addressing (@ Pointers)
EDIT
CH.4: CLASSIC ARCHETYPES (19-24)
๐
STRATEGY
โ โ โ
Step 19: Observation: Dissecting the "Dwarf" Bomber Step-by-Step
๐
STRATEGY
โ โ โ
Step 20: Modifying Dwarf (Changing the Bombing Interval)
EDIT
๐
STRATEGY
โ โ โ
Step 21: First Combat: Tune Your Bomb Interval to Destroy the Target
EDIT
๐
CONTROL
โ โ โ
Step 22: Observation: The "SPL" Split Instruction and Mitosis
๐
CONTROL
โ โ โ
Step 23: Finding Enemies with Conditional Skip "SEQ / CMP"
EDIT
๐
STRATEGY
โ โ โ
Step 24: Stopping an Imp with a Pre-Decrement "Imp-Gate"
EDIT
CH.5: BATTLE EVOLUTION (25-30)
๐
STRATEGY
โ โ โ
Step 25: [Stone] High-Speed Bomber and Step Size Tuning
EDIT
๐
STRATEGY
โ โ โ
Step 26: [Paper] Observing the Self-Replicating Swarm "Mice"
๐
STRATEGY
โ โ โ
Step 27: [Modifying Paper] Tune Clone Dispersal Distance to Overwhelm Stone
EDIT
๐
STRATEGY
โ โ โ
Step 28: [Scissors] Tuning Scanner Stride to Shred Paper
EDIT
๐
STRATEGY
โ โ โ
Step 29: [Trap] Abducting Enemy Processes with "Vampire"
EDIT
๐
STRATEGY
โ โ โ
Step 30: Graduation Exam: Tune Your Warrior and Win the Final Battle
EDIT
RESET PROGRESS
๐งฌ Unified Memory
๐ Split View
๐ Raw Redcode
๐๏ธ OBSERVATION MODE (Press [STEP])
[Addr]
[Opcode]
[A (Left)]
[B (Right)]
๐ฆ DATA / BOMB (DAT)
0000
โผ
MOV
โ DAT - Data / Terminate Process
โผ MOV - Copy (Move A to B)
๏ผ ADD - Add (B + A)
๏ผ SUB - Subtract (B - A)
๏ผ MUL - Multiply (B ร A)
๏ผ DIV - Divide (B รท A)
๏ผ MOD - Modulo (B % A)
โบ JMP - Jump to A
โบ JMZ - Jump to A if B == 0
โบ JMN - Jump to A if B != 0
โบ DJN - Decrement B & Jump if != 0
โ SPL - Split (Spawn process at A)
โ CMP - Compare (Skip next if A == B)
โ SEQ - Skip next if A == B
โ SNE - Skip next if A != B
โ SLT - Skip next if A < B
โข NOP - No Operation
#
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
$
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
0001
โผ
MOV
โ DAT - Data / Terminate Process
โผ MOV - Copy (Move A to B)
๏ผ ADD - Add (B + A)
๏ผ SUB - Subtract (B - A)
๏ผ MUL - Multiply (B ร A)
๏ผ DIV - Divide (B รท A)
๏ผ MOD - Modulo (B % A)
โบ JMP - Jump to A
โบ JMZ - Jump to A if B == 0
โบ JMN - Jump to A if B != 0
โบ DJN - Decrement B & Jump if != 0
โ SPL - Split (Spawn process at A)
โ CMP - Compare (Skip next if A == B)
โ SEQ - Skip next if A == B
โ SNE - Skip next if A != B
โ SLT - Skip next if A < B
โข NOP - No Operation
<
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
<
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
0002
โบ
JMN
โ DAT - Data / Terminate Process
โผ MOV - Copy (Move A to B)
๏ผ ADD - Add (B + A)
๏ผ SUB - Subtract (B - A)
๏ผ MUL - Multiply (B ร A)
๏ผ DIV - Divide (B รท A)
๏ผ MOD - Modulo (B % A)
โบ JMP - Jump to A
โบ JMZ - Jump to A if B == 0
โบ JMN - Jump to A if B != 0
โบ DJN - Decrement B & Jump if != 0
โ SPL - Split (Spawn process at A)
โ CMP - Compare (Skip next if A == B)
โ SEQ - Skip next if A == B
โ SNE - Skip next if A != B
โ SLT - Skip next if A < B
โข NOP - No Operation
$
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
$
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
0003
โ
SPL
โ DAT - Data / Terminate Process
โผ MOV - Copy (Move A to B)
๏ผ ADD - Add (B + A)
๏ผ SUB - Subtract (B - A)
๏ผ MUL - Multiply (B ร A)
๏ผ DIV - Divide (B รท A)
๏ผ MOD - Modulo (B % A)
โบ JMP - Jump to A
โบ JMZ - Jump to A if B == 0
โบ JMN - Jump to A if B != 0
โบ DJN - Decrement B & Jump if != 0
โ SPL - Split (Spawn process at A)
โ CMP - Compare (Skip next if A == B)
โ SEQ - Skip next if A == B
โ SNE - Skip next if A != B
โ SLT - Skip next if A < B
โข NOP - No Operation
@
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
#
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
0004
๏ผ
ADD
โ DAT - Data / Terminate Process
โผ MOV - Copy (Move A to B)
๏ผ ADD - Add (B + A)
๏ผ SUB - Subtract (B - A)
๏ผ MUL - Multiply (B ร A)
๏ผ DIV - Divide (B รท A)
๏ผ MOD - Modulo (B % A)
โบ JMP - Jump to A
โบ JMZ - Jump to A if B == 0
โบ JMN - Jump to A if B != 0
โบ DJN - Decrement B & Jump if != 0
โ SPL - Split (Spawn process at A)
โ CMP - Compare (Skip next if A == B)
โ SEQ - Skip next if A == B
โ SNE - Skip next if A != B
โ SLT - Skip next if A < B
โข NOP - No Operation
#
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
$
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
0005
โบ
JMP
โ DAT - Data / Terminate Process
โผ MOV - Copy (Move A to B)
๏ผ ADD - Add (B + A)
๏ผ SUB - Subtract (B - A)
๏ผ MUL - Multiply (B ร A)
๏ผ DIV - Divide (B รท A)
๏ผ MOD - Modulo (B % A)
โบ JMP - Jump to A
โบ JMZ - Jump to A if B == 0
โบ JMN - Jump to A if B != 0
โบ DJN - Decrement B & Jump if != 0
โ SPL - Split (Spawn process at A)
โ CMP - Compare (Skip next if A == B)
โ SEQ - Skip next if A == B
โ SNE - Skip next if A != B
โ SLT - Skip next if A < B
โข NOP - No Operation
$
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
$
# - Immediate (Literal value)
$ - Direct (Relative address)
@ - B-Indirect (Pointer via B)
< - B-Pre-decrement Indirect
> - B-Post-increment Indirect
* - A-Indirect (Pointer via A)
{ - A-Pre-decrement Indirect
} - A-Post-increment Indirect
0006
โ
DAT
$
0
$
0
0007
โ
DAT
$
0
$
0
0008
โ
DAT
$
0
$
0
0009
โ
DAT
$
0
$
0
0010
โ
DAT
$
0
$
0
0011
โ
DAT
$
0
$
0
0012
โ
DAT
$
0
$
0
0013
โ
DAT
$
0
$
0
0014
โ
DAT
$
0
$
0
0015
โ
DAT
$
0
$
0
0016
โ
DAT
$
0
$
0
0017
โ
DAT
$
0
$
0
0018
โ
DAT
$
0
$
0
0019
โ
DAT
$
0
$
0
0020
โ
DAT
$
0
$
0
0021
โ
DAT
$
0
$
0
0022
โ
DAT
$
0
$
0
0023
โ
DAT
$
0
$
0
0024
โ
DAT
$
0
$
0
0025
โ
DAT
$
0
$
0
0026
โ
DAT
$
0
$
0
0027
โ
DAT
$
0
$
0
๐๏ธ
ARENA (20 ROWS)
SCOPE: 0000 - 0019
[CORE MEMORY 800 CELLS (20 ROWS ร 40 COLS)]
1:1 Row Synced with Editor
โบ RESET
<<
<
PLAY
STEP >
>>
P1:
0
P2:
0
CYC:
0