Corewars
red player code:
blue player code:

final state:
                    
                    
                    
                    
                    
// vm init. ramsize=100, maxiter=100
// loading process 'redPlay ' at address 0000
// loading process 'bluePlay' at address 0050
// dumping RAM at offset 0000

Process redPlay  | 0000: mov $9,$3
Process redPlay  | 0001: add.d $-1,#1
Process redPlay  | 0002: jmp #-2
Process free     | 0003: db #0		; 47 times
Process bluePlay | 0050: mov $10,$0
Process bluePlay | 0051: sub.d $-1,#1
Process bluePlay | 0052: jmp #-2
Process free     | 0053: db #0		; 47 times

// 2 process ready to fight
// simulation begins...

tracing redPlay | 0000: mov $9,$3 ; Moving @3 contents [db #0] -> @9 tracing bluePlay | 0050: mov $10,$0 ; Moving @50 contents [mov $10,$0] -> @60 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $10,$3 ; Moving @3 contents [db #0] -> @10 tracing bluePlay | 0050: mov $9,$0 ; Moving @50 contents [mov $9,$0] -> @59 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $11,$3 ; Moving @3 contents [db #0] -> @11 tracing bluePlay | 0050: mov $8,$0 ; Moving @50 contents [mov $8,$0] -> @58 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $12,$3 ; Moving @3 contents [db #0] -> @12 tracing bluePlay | 0050: mov $7,$0 ; Moving @50 contents [mov $7,$0] -> @57 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $13,$3 ; Moving @3 contents [db #0] -> @13 tracing bluePlay | 0050: mov $6,$0 ; Moving @50 contents [mov $6,$0] -> @56 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $14,$3 ; Moving @3 contents [db #0] -> @14 tracing bluePlay | 0050: mov $5,$0 ; Moving @50 contents [mov $5,$0] -> @55 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $15,$3 ; Moving @3 contents [db #0] -> @15 tracing bluePlay | 0050: mov $4,$0 ; Moving @50 contents [mov $4,$0] -> @54 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $16,$3 ; Moving @3 contents [db #0] -> @16 tracing bluePlay | 0050: mov $3,$0 ; Moving @50 contents [mov $3,$0] -> @53 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: jmp #-2 ; Jumping to @50 tracing redPlay | 0000: mov $17,$3 ; Moving @3 contents [db #0] -> @17 tracing bluePlay | 0050: mov $2,$0 ; Moving @50 contents [mov $2,$0] -> @52 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0051: sub.d $-1,#1 ; Substracting 1 to @50 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0052: mov $2,$0 ; Moving @52 contents [mov $2,$0] -> @54 tracing redPlay | 0000: mov $18,$3 ; Moving @3 contents [db #0] -> @18 tracing bluePlay | 0053: mov $3,$0 ; Moving @53 contents [mov $3,$0] -> @56 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0054: mov $2,$0 ; Moving @54 contents [mov $2,$0] -> @56 tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0055: mov $5,$0 ; Moving @55 contents [mov $5,$0] -> @60 tracing redPlay | 0000: mov $19,$3 ; Moving @3 contents [db #0] -> @19 tracing bluePlay | 0056: mov $2,$0 ; Moving @56 contents [mov $2,$0] -> @58 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0057: mov $7,$0 ; Moving @57 contents [mov $7,$0] -> @64 tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0058: mov $2,$0 ; Moving @58 contents [mov $2,$0] -> @60 tracing redPlay | 0000: mov $20,$3 ; Moving @3 contents [db #0] -> @20 tracing bluePlay | 0059: mov $9,$0 ; Moving @59 contents [mov $9,$0] -> @68 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing bluePlay | 0060: mov $2,$0 ; Moving @60 contents [mov $2,$0] -> @62 tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing bluePlay | 0061: db #0 ; die: invalid opcode reached tracing redPlay | 0000: mov $21,$3 ; Moving @3 contents [db #0] -> @21 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing redPlay | 0000: mov $22,$3 ; Moving @3 contents [db #0] -> @22 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing redPlay | 0000: mov $23,$3 ; Moving @3 contents [db #0] -> @23 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing redPlay | 0000: mov $24,$3 ; Moving @3 contents [db #0] -> @24 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0) tracing redPlay | 0002: jmp #-2 ; Jumping to @0 tracing redPlay | 0000: mov $25,$3 ; Moving @3 contents [db #0] -> @25 tracing redPlay | 0001: add.d $-1,#1 ; Adding 1 to @0 destination (z0)
// exit after 100 instructions executed // dumping RAM at offset 0000 Process redPlay | 0000: mov $26,$3 Process redPlay | 0001: add.d $-1,#1 Process redPlay | 0002: jmp #-2 Process free | 0003: db #0 ; 47 times Process bluePlay | 0050: mov $1,$0 Process bluePlay | 0051: sub.d $-1,#1 Process bluePlay | 0052: mov $2,$0 Process bluePlay | 0053: mov $3,$0 Process bluePlay | 0054: mov $2,$0 Process bluePlay | 0055: mov $5,$0 Process bluePlay | 0056: mov $2,$0 Process bluePlay | 0057: mov $7,$0 Process bluePlay | 0058: mov $2,$0 Process bluePlay | 0059: mov $9,$0 Process bluePlay | 0060: mov $2,$0 Process free | 0061: db #0 Process bluePlay | 0062: mov $2,$0 Process free | 0063: db #0 Process bluePlay | 0064: mov $7,$0 Process free | 0065: db #0 ; 3 times Process bluePlay | 0068: mov $9,$0 Process free | 0069: db #0 ; 31 times // Process redPlay : Memory in use: 20 of 100 bytes, 20.00% usage, grown factor 17.00%) // Process bluePlay: Memory in use: 14 of 100 bytes, 14.00% usage, grown factor 11.00%) // redPlay wons the battle