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
|